안녕하세요..여러분 주말 잘 보내세요..
지금 한가지 문제가 있는데요....
주문번호 타입이 char(10)입니다.
근데 주문번호가 5자리인것도 있구 10자리 인것도 있습니다.
이럴때 5자리 앞에는 0을 5개 붙혀서 같이 맞추고 싶은데요...
인터널테이블 내에 있는 주문컬럼을 다 그렇게 하고 싶은데..방법이 없을까요?
댓글 6
-
SARA
2007.05.12 08:21
-
bd
2007.05.14 17:39
SARA 님이 말씀해주신것에 대한 예시 입니다. 값을 입력후 디버깅한번 해보시면.. 딱 알수있을거에용
* CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
* EXPORTING
* INPUT = L_HKONT
* IMPORTING
* OUTPUT = L_HKONT
* .
-
박정란
2007.05.15 04:20
퍼갑니다... 감사합니다
-
鵬의 날개
2007.05.15 07:13
컨버젼 함수는 필드의 속성에 따라 사용할 수 도 있고 안될 수도 있습니다...
주문번호란 필드의 element 를 더블클릭 하시면 도메인이 보이실 겁니다...
그 도메인을 한번더 더블클릭 하셔서 '정의' 탭에 있는 'Convers.Routine'을 확인하세요...
그 컨버젼 루틴에 해당하는 CALL FUNCTION 'CONVERSION_EXIT_컨버젼루틴_INPUT' 을 사용하시면 됩니다...
님의 경우가 여기에 해당하는지 안하는지 모르겠지만...
아니라면 강제로라도 넣어주는 수 밖에 없을 듯 하네요...
DATA : LEN TYPE I,
TIMES TYPE I.
DATA : CHAR(10),
CONV(10).
CHAR = '1111'.
LEN = STRLEN( CHAR ).
WRITE LEN.
CLEAR TIMES.
TIMES = 10 - LEN.
CONV = CHAR.
DO TIMES TIMES.
CONCATENATE '0' CONV INTO CONV.
ENDDO.
WRITE :/ CONV.
펑션과 동일한 결과가 나옵니다...
-
김대성
2007.05.15 09:57
그렇죠... 각각의 스탠다드 필드마다 다른 변환 루틴을 가지고 있는 경우가 있습니다. 필드 속성을 잘 확인하셔서 정확한 변환루틴을 사용하시는게 좋아요.
자주 빠지는 함정이니... 하루빨리 벗어나시길... ^^
변환루틴을 쓰면 될텐데요..