2018. 5. 9. 15:40ㆍSAP/BW
BW - PSA 데이터 DSO, CUBE 등으로 적재 시 TEXT를 변경해서 넣고 싶을 때
TEXT 내역 중 특정 TEXT는 다른 형태로 적재하고자 할 때가 있음.
이럴 경우 PSA -> DSO, CUBE 등으로 전송되는 변환 부분의 해당 Routine에 ABAP Function 패턴을 사용하여 변경 가능.
사용 루틴
RESULT =. 가 표시되는 영역에서 상단 패턴을 클릭.
팝업창에서 CALL FUNCTION 부분에 'STRING_REPLACE' 입력 후 확인.
로직 입력 용 라인에 해당 Function 문이 추가된 것을 확인 가능
내가 작성한 로직은 다음과 같음...
DATA : T_TEXT(40) TYPE C. " 소스필드의 값을 담을 변수 선언
T_TEXT = SOURCE_FIELDS-TXZ01. " 선언한 변수에 소스필드값 지정.
CALL FUNCTION 'STRING_REPLACE'
EXPORTING
PATTERN = '#' " 바꾸고자 하는 문자 지정.
SUBSTITUTE = ' ' " 바뀌게 될 문자 지정.
* MAX_REPLACES = 0
* IMPORTING
* NUMBER_OF_REPLACES =
CHANGING
TEXT = T_TEXT " 바뀔 문자내역이 담긴 변수 지정.
* EXCEPTIONS
* WRONG_STRING_LENGTH = 1
* OTHERS = 2
.
*IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
RESULT = T_TEXT. " 조건에 따라 변경된 내역을 결과값으로 받음.
이렇게 작성한 후 점검 및 저장을 하고 규칙 테스트 진행
의도한 것은 # 부분을 공백으로 처리하고 싶었으나 테스트 해보니 빈칸없이 들어옴...
이때 위 공백을 일반 SPACE Bar를 눌러 생성한 공백이 아닌
ㄱ + 한자키 > 특수문자 1번 공백을 넣으면 해당 부분을 공백으로 제대로 인식함.
이렇게 TEXT 변환 작업 완료.
원래 작성하려던 BRAIN 290 오류 관련 사항은 TEST 완료 후 재작성하겠음.
'SAP > BW' 카테고리의 다른 글
[BW] PROCESS Chain 에서 이벤트 사용을 위한 사전 작업 (0) | 2018.05.14 |
---|---|
BRAIN 290 오류 해결 방법 (0) | 2018.05.14 |
[BW] Infoobject 계층구조 만들기 (0) | 2018.05.11 |
BW Delta 초기화 및 삭제를 했으나 해당 Request가 남아 있을 때 (0) | 2018.05.08 |
BW관련 기본 개념 초간단 정리 (0) | 2013.08.16 |