본문 바로가기
ERP-SAP/ABAP

<ABAP> 데이터 마이그레이션(Migration)이 잘못 되었을 때 사용하는 Mass!

by 행복한워니의 기록 2010. 10. 26.
728x90
반응형

데이터 마이그레이션을 하게 되어 LSMW로 거래처/ 구매처를 열심히 올리고 난 후...


(대략 4800건정도 되었습니다. LSMW 형식 맞추고 필수필드 및 자릿수, 에러사항들 수정하느라
 3일~4일 정도 걸린듯 합니다. -_- 줄때 잘 줘야 되는데.. 현업분들도 바쁘시니.. 대충대충 넘기고..
 대충 받은 저는 피를 토했습니다..)

몇일 뒤....

DA에서 데이터를 확인해보더니... 이상하다며 찾아왔습니다.

아뿔...싸?
현업분들이 넘겨주실때 사업유형/산업유형/ 담당자 를 열심히 섞어서 주셨던 것이었습니다.
사업유형 - 매점판매
산업유형 - 서비스 
담당자 - 홍길동

이게 정상인데 산업-사업이 바뀐것, 셋다 바뀐것. 제대로 들어간 것.
이렇게 3가지 종류로 뒤섞여있었죠.

다행인건.. 마이그레이션 한 뭉태기마다 바뀌어 있어서 올린 횟수만큼만 수정해주면 되었습니다.
(5번 파일을 받아서 올렸으니 당연히 최대 5번 잘못되어 있겠지요.)


처음에는 일일히 FK02, FD02 가서 바꿔줄까 하다가.. 수백건을 그렇게 하는건 미친짓이다 해서.. 선택한 결론.


1. 먼저 DB 에 저장된 거래처(SE11 -> LFA1) 을 다운로드 받는다. 저는 (XML로 다운로드 받습니다)
 
2. EYE CHECKING 한다. (눈빠짐)

3. 틀린부분을 확인하면 어디서부터 어디까지 바뀌었는지 확인후 새창 EXCEL에 범위값을 붙여넣는다. 
  (거래처 번호만)


하지만 문제는 띄엄띄엄일 수도 있어서 그것도 한번 추려내야 합니다.

1. 틀린 부분만 붙여넣은 EXCEL FIELD 옆에 새로운 필드를 만들고 첫자리수와 같은 번호를 복사해 넣고
   아래부터 순차적으로 +1시켜서 늘어나게 드래그 한다.

2. 3번째 필드에는 1번필드와 2번필드가 같은지 비교할수 있는 비교문을 만들고 그것도 드래그 해서 1필드 길이만큼 채운다.
 
 =IF(A1=B1,0,FALSE)
      A2=B2
         .
         .
이런식으로 채워지겠지요.

3. 숫자가 순차적이지 않고 떨어진 부분이 생기면 FALSE라는 글자가 뜨겠지요?
   (2번필드는 숫자가 순차적으로 계속 늘어났으니까요.)

4. 그럼 그 떨어진 부분까지가 한뭉탱이.. MASS에서 거래처 코드 범위잡아줄 때 편하게 뭉텅이를 잡아줄 수 있습니다. 

5. 이렇게 떨어진 부분마다 셀 추가해서 색상필드로 만들어버리고.. 떨어진 부분부터 숫자 다시 복사해서 두번째 필드에 새로 넣고
   드래그해서 또 +1씩 늘려나가면.. 또 뭉탱이지고....그걸로 범위 잡고..


반복...-_-



한 6번만 하면 되게 나오더군요.



그럼 이제 데이터 일괄변경이 가능한  MASS 부분!!!!




     1. /NMASS 로 들어간다. 
     2. 화면 출력, 바꾸고자 하는 데이터 클릭후 들어간다.  
     3. LFA1을 체크하고 EXECUTE 한다.  
     4. 공급업체 번호를 입력하거나 그냥 EXCUTE 한다.(위와 같이 뭉텅이로 떼어놨으니 당연히 번호 범위 입력!)
     5. 바꾸고자 하는 필드를 공급업체 마스터(일반섹션) 박스안에  맨 좌측 버튼을 눌러서 선택한다.
     6. 해당 필드를 불러와서 고치고자 하는 필드부분을 클릭한다. 
     7. 계산식을 입력하여 바꾼다. 바꾸고자 하는 값은 담당자, 산업, 사업유형에 따옴표(") 가 있으면 따옴표를 삭제 할 것이다.
         (편집 -> 계산식 입력)
    8. data : swap type string. 
        swap = segment-j_1kftbus. 
         x = segment-j_1kftind. 
         segment-j_1kftind = swap.
       이 계산식을 사업유형에 입력하여 넣고 일괄변경을 누르면 사업유형 <-> 산업유형으로 서로 바뀐다.
       이걸 응용하면 뭐든지 바꿀 수 있고 새롭게 일괄변경도 가능하다. 



더 자세한 설명이 필요하시면 글 남겨 주세요.^^
이메일로 캡춰화면까지 보내드리겠습니다. 캡춰화면을 못붙여넣은 이유는
회사의 거래처 고객처 코드가 노출될 수 있어서 입니다.^^


728x90
반응형