Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Abapteur Note

문자열 다루기(SHIFT) 본문

SAP/ABAP

문자열 다루기(SHIFT)

아밥추어 2024. 6. 18. 17:55

프로젝트에서 평가사의 신용등급을 변환해야하는 작업이 필요했다.

Ex) 'AA0'라는 신용등급을 'AA'로 바꿔야 하는 작업..

 

때문에 하기와 같은 코드로 이를 해결했는데..

IF P_CODE2(1) EQ '0'.
	P_CODE = P_CODE(2)
ENDIF.

 

다른 신용등급은 고려하지 않고 짠 코드였기에 'A0'의 신용등급 데이터가 들어올 때 문제가 발생했다. 

'A0'가 들어오면 그 값이 그대로 들어오게 되고 결국 맵핑된 코드가 없어 결과적으로 SPACE 값이 들어오는 참사

 

때문에 다른 로직이 필요했고, 하기와 같은 방법으로 해결법을 찾을 수 있었다.  

SHIFT P_CODE RIGHT DELETING TRAILING '0'.
CONDENSE P_CODE NO-GAPS.

 

SHIFT... RIGHT DELETING TRAILING '0'을 통해 P_CODE의 값을 오른쪽으로 이동시키면서 '0'을 찾고 '0'을 삭제한다.

이후 혹시 공백이 생기는 경우를 고려하여 CONDENSE로 마무리.

 

이러면 'AA0'이든 'A0'이든 0만 없애고 'AA' 와 'A' 값을 저장할 수 있다.   

'SAP > ABAP' 카테고리의 다른 글

DATA_CHANGED METHOD  (1) 2024.10.15
필드 카탈로그 자동 생성(REUSE_ALV_FIELDCATALOG_MERGE)  (1) 2024.06.23
리스트 박스  (0) 2024.06.07
셀렉트 스크린 제어(SCREEN)  (0) 2024.06.07
ALV EDIT 모드 전환  (0) 2024.03.10