2012년 5월 15일 화요일

[SAP] 함수들

- HRCM_AMOUNT_TO_STRING_CONVERT : ,와 .을 바꾸기



- BUX_DECIMAL_START : 문자 필드의 숫자에 콤마 찍기














● 자주 사용하는 String 조작 명령어
    ▶  문자열 길이(STRLEN)
       - LV_LEN에  문자열 LV_STRING 길이를 돌려준다.
          LV_LEN = STRLEN(LV_STRING). 






    ▶  문자열 갯수
          FIND ALL OCCURRENCES OF 'A' IN LV_STRING MATCH COUNT LV_CNT.

    ▶  문자열 내 특정 문자의 최초위치 값
          FIND 'A' IN LV_STRING MATCH OFFSET LV_OFF.
     ▶ 문자열 연결 (CONCATENATE)
       CONCATENATE F1 F2 F3 INTO G.
      
       어떤 구분자(Space, Comma ...)로 문자열을 연결하고 문자열 사이를 SPACE를 추가
       CONCATENATE F1 F2 F3 INTO G SEPARATED BY SPACE.


       문자열을 각 변수 고유성질 그대로 붙여준다.
       CONCATENATE F1 F2 F3 INTO RESULT RESPECTING BLANKS.

    ▶좌우 빈 공백 제거(CONDENSE)
       CONDENSE LV_STRING.
       
    ▶ 좌측 문자를 취한다.
        MOVE RESULT+0(10) TO LV_STRING.    <- LEFT
        MOVE RESULT+10(10) TO LV_STRING    <- MID

        LV_OFF =10.                                         <- RIGHT
        LV_CNT = STRLEN)RESULT).
        LV_INT = LV_CNT - LV_OFF.
        MOVE RESULT+LV_INT(LV_OFF) TO LV_STRING.

    ▶ 문자열 나눔 (SPLIT)       - AT 뒤의 문자열을 기준으로 String을 나눔.
       SPLIT G AT SPACE INTO F1 F2 F3.
       SPLIT f AT g INTO TABLE <Internal Table>.
    ▶ 문자열 치환 (REPLACE)      
       STRING = 'ABCDEFGHIJ'.
       STR1 = 'CDEF'.
       STR2 = 'KLMN'
       LEN  = 2

       전체 문자열 치환
       REPLACE <STR1> WITH <STR2> INTO STRING.
       STRING : ABCDEFGHIJ  --> ABKLMNGHIJ

       원하는 길이만큼 치환
       REPLACE <STR1> WITH <STR2> INTO STRING LENGTH LEN.
       STRING : ABCDEFGHIJ  --> ABKLMNEFGH

       
       문자열 내 특정 문자 전체 치환하고 치환횟수 알려줌

       REPLACE ALL COOURRENCES OF 'A' IN LV_STRING WITH 'B'
       REPLACEMENT COUNT LV_CNT.   


       문자열중 첫번째 문자만 치환
        REPLACE 'A' IN LV_STRING WITH 'B'.

    ▶ 대소문자 변환 (TRANSLATE)
       TRANSLATE <C> TO UPPER CASE. (대문자)
       TRANSLATE <C> TO LOWER CASE. (소문자)

    ▶ 문자열 이동 (SHIFT)
       SHIFT <C> LEFT DELETING LEADING <STR>. (왼쪽 <STR>을 지우고 이동)
       SHIFT <C> LEFT DELETING LEADING SAPCE. (왼쪽 Space를 지우고 이동)
       SHIFT <C> CIRCULAR / RIGHT / LEFT . 

       마이너스 부호를 앞자리로 이동하는 예제. ( NUM = '     1000-' )
       SHIFT <NUM> RIGHT CIRCULAR. ( NUM = '-     1000' )
       SHIFT <NUM>+1 LEFT DELETING LEADING SPACE. ( NUM = '-1000     ' )
       SHIFT <NUM> RIGHT DELETING TRAILING SPACE ( NUM = '     -1000' )












댓글 없음:

댓글 쓰기