ABAP 형변환
형변환이 대한 것입니다. abap help 에 나와 있는 내용을 정리해 봤습니다.
generic type 이외에 predefined type (사전정의된유형) 에 대하여만 참고 바랍니다.
generic type 은 Assign 되는 source field 의 타입속성을 따르게 때문에 따로 정리할 수가 없을 것 같습니다.
Predefined type 에 대하여는 다음과 같습니다.
( 자세한 설명은 도움말을 참고하여 주시기 바랍니다.)
source field Type C => target field type C, D, F, I, B, S, N, P, STRING, T, X, XSTRING
source field Type D => target field type C, D, F, I, B, S, P, STRING, T, X, XSTRING
source field Type F => target field type C, D, F, I, B, S, N, P, STRING, T, X, XSTRING
source field Type I, B OR S => target field type C, D, F, I, B, S, N, P, STRING, T, X, XSTRING
source field Type N => target field type C, D, F, I, B, S, N, P, STRING, T, X, XSTRING
source field Type P => target field type C, D, F, I, B, S, N, P, STRING, T, X, XSTRING
source field Type STRING => target field type C, D, F, I, B, S, N, P, STRING, T, X, XSTRING
source field Type T => target field type C, D, F, I, B, S, N, P, STRING, T, X, XSTRING
source field Type X => target field type C, D, F, I, B, S, N, P, STRING, T, X, XSTRING
source field Type XSTRING => target field type C, D, F, I, B, S, N, P, STRING, T, X, XSTRING
보시면 아시겠지만 형변환이 별 차이가 없습니다.
[첫번째 질문]
DATA L_CHAR TYPE CHAR 10 VALUE ' 0 '.
DATA L_INT TYPE I.
* L_CHAR 의 문자가 숫자뿐이라면
IF L_CHAR CO '0123456789'.
L_INT = L_CHAR.
ELSE.
* 숫자이외의 문자가 있으므로 변환불가입니다.
ENDIF.
이렇게만 해주시면 됩니다.
[두번째 질문]
아밥에서 NULL은 거의 사용을 하지 않습니다.
사전정의된 데이터 타입은 기본적으로 정의될때 기본값을 가지므로
NULL 에 대한 점검이 거의 없다고 보시면 됩니다.
궂이 NULL 을 갖는 값을 원하신다면
CLEAR field WITH NULL.
로 CLEAR 하셔야 합니다.
질문은 문자열 치환방법이나 공백제거 방법에 대하여 물어보신것으로 하고 답변드립니다.
(사용방법은 개인별로 방법이 다 달라서 제가 가끔 사용하는 방법위주로 말씀드리겠습니다)
문자열 치환 :
단일문자 치환
DATA L_STRING TYPE CHAR10 VALUE 'ABCDEFGHIJ'.
* L_STRING 을 모두 소문자로 변환한다면
TRANSLATE L_STRING TO LOWER CASE.
* 또는
TRANSLATE L_STRING USING 'AaBbCcDdEeFfGgHhIiJj'.
공백제거( 문자열에 대하여 )
DATA L_STRING TYPE CHAR10 VALUE ' BAS '.
SHIFT L_STRING RIGHT DELETING TRAILING SPACE.
등등...
문자열에서 특정한 문자(공백같은) 에 대하여 NULL 값으로 주는 것은 힘들 것 같습니다.
수고하세요.
'IT 개발 > SAP-ABAP' 카테고리의 다른 글
ABAP에서 WATCHPOINT 걸기 (0) | 2011.11.21 |
---|---|
ABAP 프로그램에서 다른 프로그램 호출하기 (0) | 2011.11.10 |
ASP에서 RFC호출하기 (0) | 2011.08.19 |
SAP ERP에서 Function Module(펑션모듈) 을 WebService(웹서비스)로 만들기 (0) | 2011.06.15 |
[정리] CTS에 관한 것들 (1) | 2011.06.15 |