DATA:
c TYPE string,
p(4) TYPE c.
c = 'ABAP'.
p = 'P'.
FIND p IN c.
IF sy-subrc EQ 0.
WRITE / 'P found'.
ENDIF.
요즘 버전에서는 FIND문법이 잘 돌아갑니다.
그런데 제가 여러 버젼을 사용하고 잇는데 낮은 버젼에서는 없는 문법이라고 하네요
예전에 if var is not initail 도 안 먹혔는데
알고 보니 구버전이라서 not이 앞으로 와야 한다고 하더군요
IF NOT var IS INITAIL처럼요.
FIND도 구버젼 표현이 없을까요?
<질문 추가입니다>
DATA:
c TYPE string,
p type string.
c = '20 + 10 + 10'.
p = '20'.
replace '10' in c with p.
write : / c.
replace '10' in c with p.
write : / c.
결과:
20 + 20 + 10
20 + 20 + 20
와 같이 한번에 모두 바뀌어 지지가 않네요. 한번에 해당 하는것을 모두 바꿀수는 없는건가요?
댓글 6
-
e-abap
2009.03.18 00:14
-
아밥돌이
2009.03.18 00:51
감사합니다. 구 버젼은 안되는것이 종종 보이네요..
한가지 질문더 추가합니다.ㅋㅋ
-
e-abap
2009.03.18 01:01
다음과 같이 하면 되지 않을까요?
DO.
REPLACE '10' IN c WITH p.
IF sy-subrc NE 0.
EXIT.
ENDIF.
ENDDO. -
아밥돌이
2009.03.18 02:41
감사합니다.
-
불꽃남자
2009.03.18 18:25
구버전에는 search 라는 함수가 있습니다.
문법은 도움말 참조하세요.
그 search 함수가 요새 find 함수로 대체된거구요
-
짱희
2009.03.18 18:37
REPLACE all occurrence ~~ 이렇게 하면 한방에 모두 바꿔주는듯.....
IF c CS p.
ENDIF.
CS는 contain String 입니다.
해당 구문이 작동하는지 테스트 해보셔요