메뉴 건너뛰기

SAP 한국 커뮤니티

자주 사용하는 String 조작 명령어

    문자열 길이(STRLEN)

      i = STRLEN( string ) 


    문자열 연결 (CONCATENATE)
       CONCATENATE F1 F2 F3 INTO G.
      
       어떤 구분자(Space, Comma ...)로 문자열을 연결하고자 할때 SEPARATED BY 뒤에
       구분자를 붙이면 됨.
       CONCATENATE F1 F2 F3 INTO G SEPARATED BY SEP.
      
    문자열 나눔 (SPLIT)
       SPLIT G AT SPACE INTO F1 F2 F3.
       SPLIT f AT g INTO TABLE <Internal Table>.
      
       AT 뒤의 문자열을 기준으로 String을 나눔.


    문자열 치환 (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


    대소문자 변환 (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' )


    ▶ CONDENSE <string>

     string 내부 단어사이의 blank를 1개씩만 남기고 없앤다. 

      Option : NO-GAPS - 모든 blank를 없앤다. 

      type C를 제외한 다른 field를 포함한 field string을 변환시키지 말 것. 

      이 상한 값이 들어갈 수 있다. 


    ▶ OVERLAY c1 WITH c2. 

        c1의 character 중 blank의 자리에 c2의 character가 있다면 blank의 위치에  

        있는 c2의 character를 넣는다. 

       ex) DATA: WORK(20) VALUE 'BA  B UNG-SU G', 

             HELP(20) VALUE '  E AYY  - NNI'. 

             OVERLAY WORK WITH HELP. 

  

       결과 : WORK = 'BAE BYUNG-SUNG'. 


       - Performance에 좋지 않기 때문에 많이 쓰지 않는 것이 좋다. 


    ▶ REPLACE c1 WITH c2 INTO c3. 

        string c3에 있는 c1이라는 string을 c2로 변환시킨다. 


    SEARCH  

      1. SEARCH c1 FOR c2. 

       - c1에서 c2라는 string을 찾는다. 

       - c1의 단어사이는 blanck로 구분한다. 

       - c2에는 '_' , '*'를 포함하여 사용할 수 있다. 

       - SY-SUBRC = 0 일 때 SY-EDPOS에 찾은 단어의 위치정보가 들어 있다. 


      2. SEARCH itab FOR c2. 

       - itab이라는 internal table에서 c2라는 string을 찾는다. 

       - 나머지는 위와 상동 

       - SY-SYBRC = 0 일 때 SY-TABIX에는 internal table의 line number가 

         SY-EDPOS에는 위치정보가 들어 있다. 

번호 제목 글쓴이 날짜 조회 수
487 ALV 동적 필드 구성 [4] 꿀홍삼 2015.02.06 9537
486 SUBQUERY 사용예 입니다. [1] 노름마치 2007.11.20 9532
485 간단한 계산공식은 Macro를 사용하자 [5] 양키 2011.04.14 9530
484 Open SQL에서 SUM 사용시 유의사항. [11] 나침반친구 2007.06.07 9529
483 Field Catalog 가져오지 못하는문제(REUSE_ALV_FIELDCATALOG_MERGE) [3] 양키 2013.08.16 9467
482 sap 메뉴에서 표준 매뉴 전환 [1] selection장 2013.09.13 9443
481 FIELD-SYMBOL설명 및 예제 프로그램 [17] Delight 2008.04.30 9422
480 <img src=d.gif>Source Activation 시 [READ_REPORT_LINE_TOO_LONG] dump 발생하면?[추천:e-abap] [5] JYG 2011.02.11 9416
479 테이블컨트롤에서 F4 값 변경시 다른 필드 값도 변경하기 F4IF_INT_TABLE_VALUE_REQUEST [1] 한해동안 2008.07.24 9401
478 표준편차구하는 로직 윤사모 2011.03.23 9369
477 BAPI_MATERIAL_SAVEDATA 자재마스터 생성시에 사용하세요. [1] 노름마치 2007.12.10 9237
476 SAP 단순하지만, 모르면 정말 불편 한 기능들 [22] SARA 2007.03.27 9210
475 TYPE-1 프로그램에서 실행버튼 없애기 [1] 아밥뽀 2013.09.23 9108
474 엑셀에서 '-' 부호 앞으로 옮기기 [18] file MasFI 2013.02.08 8981
473 SELECT-OPTIONS 문법 [5] sapjoy 2006.12.28 8969
472 ALV 내용 변경 방법. [8] 초보보초보 2007.02.07 8926
471 SAP GUI 730 ALV Grid 느림 현상(해결방법) [3] Dave 2013.09.27 8882
470 효과적인 ABAP/4 프로그램 작성기법 [24] 열공아밥 2009.12.20 8878
469 유용한 t-code 모음들 [26] 아이디빵 2008.04.24 8794
468 where 조건을 상황에따라 바꿔볼까? [8] 양키 2011.04.14 8738