BRAIN 290 오류 해결 방법

2018. 5. 14. 18:02SAP/BW

BRAIN 290 오류 해결 방법 사례 정리


이전에 올린 정리 내역은 단순히 특정 문자를 치환하여 DTP를 태우는 로직이지만

이번에 정리할 내용은 특정 오류 상황에 대한 해결 방법이다.


문제 상황 내용은 다음과 같다.

상황

1. 구매관련 실적 데이터를 ERP에서 CBO테이블에 적재하는 방식으로 집계한 다음 BW에서 가져와야 하는 상황

2. 이때 구매 실적에 대한 내역을 가져올 때 MAKT 테이블의 자재내역을 참조하지 않고 EKPO에 있는 자재 내역 필드를 사용함

3. 위와 같은 조건의 값을 가지고 BW에서 가져와 DSO에서 활성화 하려니... BRAIN 290 오류가 발생함.

4. 원인이 되는 데이터를 검색해보니....... 특정 자재TEXT에 HEX00 ~ HEX1F를 벗어나는 값이 포함되어 있어서 활성화 할 수 없다고 메세지 뜸. ( BRAIN 290 )

5. 해당 데이터를 검색하니 실제로 이상한 형태의 특수문자가 포함되어 있었고 조회 시 공백으로 보이기도 하는 점을 발견함

6. SAP Notes에 나온 해결 가이드를 보면.....
   - Raw Data를 수정하기
   - PSA에서 문제가 되는 데이터 수정하기
   - BW상의 Routine을 활용하여 문제 데이터 수정 후 적재되도록 하기
의 방식으로 처리하도록 안내하고 있음.

7. 프로그램 현재 로직 상 수기입력으로 사용자가 처리하기 때문에 Raw Data 수정은 불가하며 PSA 수정역시 임시방편이라 못함.

8. BW상의 Routine을 써도 되지만 CBO 프로그램에서 문제를 잡고 넘겨보기로 함.


해결 사항


1. 먼저 BW용 데이터를 생성해주는 프로그램을 실행하면 조회 및 저장 두 형태로 선택 가능함.

    - 배치로 라디오버튼 선택 후 조건 입력하면 해당 조건에 맞는 데이터가 CBO 테이블에 적재됨



2. HEX00 ~ HEX1F 사이의 코드로 입력된 데이터가 CBO 테이블에 적재된 상태이므로 해당 프로그램의 ABAP로직을 적용해서 문제가 되는 데이터를

공백으로 처리하기로 함.




공백으로 처리하기 위해 사용한 코드는 다음과 같음.

    REPLACE ALL OCCURRENCES OF cl_abap_char_utilities=>newline

        IN lt_zmmt7030-txz01 WITH ` `


위 구문은 해당 프로그램에서 APPEND 직전 라인에 반영되어 처리되었고 BW의 Routine에 적용한다면 상황에 맞게 조금 변경해서 쓰면 될 것 같음.



3. 상기 로직을 저장이 진행되기 직전 단계에 포함하여 실행 후 수정 전,후 CBO 데이터 확인


4. 바뀐 내역을 확인하는 검증이 완료되면 BW의 적재 프로세스 진행


5. 녹색신호등으로 종료되면 문제 해결 완료



6. 이제 해당 CUBE로 Query를 생성하는 단계로 ㄱㄱ


순서가 바뀌긴 했지만 이제 프로세스 체인에서 EVENT ID를 만드는 것에 대해 정리하기...