프로그래밍/SAP ABAP

[SAP/ABAP] 문자열 길이/찾기

2021. 11. 4. 12:18

문자열 길이  lv_len = strlen( lv_string ) 

 

 

문자열 찾기 

 

1. 숫자만 포함된 것을 체크할때
data :  lv_str type string value '1234.12'. 
 co는 contain only  즉 아래는 숫자만 허락한다는 뜻.
if lv_str co '0123456789'.
 write : 'ok'.
else.
 write : 'error'. 
endif.

 


2. 적어도 1개의 알파벳 or  숫자를 포함한 것을 체크할 때 CA  활용
if lv_str ca sy-abcde. "abcde... 등의 문자가 1개라도 포함되면!!!
 write : ok.
else.
 write: 'error'
endif.

 


3. ABAP 문장에서 특정 문자열 찾기

DATA :  STR1(255)  VALUE 'Cancel BOM Withdrawal'.


SEARCH STR1 FOR 'BOM'.
WRITE : / SY-SUBRC UNDER 'SY-SUBRC', SY-FDPOS UNDER 'SY-FDPOS'.

SY-SUBRC : 문자열 존재 여부 SY-FDPOS : 문자열 위치

 

 

4. CS / CP 이용하기 

DATA: text(15) VALUE 'ABCAEFGHA'.
DO.
  IF text CS 'A'. " 또는 IF text CP '*A*'.
    text+sy-fdpos(1) = ' '.
  ELSE.
    EXIT.
  ENDIF.
ENDDO.

 

 

5. SEARCH 이용 

SEARCH c1 FOR c2.
- c1에서 c2라는 string을 찾는다.
- c1의 단어사이는 blanck로 구분한다.
- c2에는 '_' , '*'를 포함하여 사용할 수 있다.
- SY-SUBRC = 0 일 때 SY-FDPOS에 찾은 단어의 위치정보가 들어 있다.