아래 구문에서 출력값의 X가 어떻게 저리 출력되는지 궁금합니다.
DATA: NAME(12) VALUE 'JACKJOHNCARL',
X(10) VALUE 'XXXXXXXXXX'.
FIELD-SYMBOLS <F> TYPE ANY.
ASSIGN NAME+4 TO <F>.
WRITE <F>.
ASSIGN NAME+4(*) TO <F>.
WRITE <F>.
Output: JOHNCARLXXXX JOHNCARL
아래 구문에서 출력값의 X가 어떻게 저리 출력되는지 궁금합니다.
DATA: NAME(12) VALUE 'JACKJOHNCARL',
X(10) VALUE 'XXXXXXXXXX'.
FIELD-SYMBOLS <F> TYPE ANY.
ASSIGN NAME+4 TO <F>.
WRITE <F>.
ASSIGN NAME+4(*) TO <F>.
WRITE <F>.
Output: JOHNCARLXXXX JOHNCARL
예제와 결과가 다르군요.
다시한번 테스트 해보세요.
xxx로 시작하는 변수는 x 인데, X가 ASSIGN 된 구문이 없네요.
우선 필드 심볼을 사용하는 구문의 설명은 다음과 같습니다.
ASSIGN NAME+4 TO <F>. 구문을 수행하게 되면, <f>에는 5자리부터 마지막자리까지 할당됩니다.
write <f> 하게 되면 'JOHNCARL' 이 출력되지요.
ASSIGN NAME+4(*) TO <F>. 이 구문도 마찬기지로 <f>에 5자리부터 마지막짜리까지 출력됩니다.
* 기호는 필드 심볼이 오브젝트의 길이를 넘어서는 것을 방지하게 해줍니다.