당신은 테이블에 대해 그런 식으로 값을 설정할 수 없습니다. 값을 설정하는 방법 중 하나를 테이블의 REDEFINES 별도의 데이터 영역을 사용하는 것입니다.
05 A-TABLE-X.
10 FILLER PIC X(45)
VALUE '<TEST> </TEST>'.
10 FILLER PIC X(45)
VALUE '<TEST> </TEST>'.
10 FILLER PIC X(45)
VALUE '<TEST> </TEST>'.
10 FILLER PIC X(45)
VALUE '<TEST> </TEST>'.
10 FILLER PIC X(45)
VALUE '<TEST> </TEST>'.
10 FILLER PIC X(45)
VALUE '<TEST> </TEST>'.
10 FILLER PIC X(45)
VALUE '<TEST> </TEST>'.
10 FILLER PIC X(45)
VALUE '<TEST> </TEST>'.
10 FILLER PIC X(45)
VALUE '<TEST> </TEST>'.
10 FILLER PIC X(45)
VALUE '<TEST> </TEST>'.
05 A-TABLE REDEFINES A-TABLE-X.
10 A-TABLE-LIST OCCURS 10 TIMES INDEXED BY A-IDX.
15 FILLER PIC X(7).
15 A-LIST-VALUE PIC X(30).
15 FILLER PIC X(8).
꽤 성가신 즉. Anoth er 메서드는 런타임에 초기화 단락에서 데이터를 이동하는 것입니다.
05 A-TABLE REDEFINES A-TABLE-X.
10 A-TABLE-LIST OCCURS 10 TIMES INDEXED BY A-IDX.
15 A-LIST-A PIC X(7).
15 A-LIST-VALUE PIC X(30).
15 A-LIST-B PIC X(8).
PERFORM VARYING A-IDX FROM 1 BY 1 UNTIL A-IDX > 1
MOVE '<TEST> TO A-LIST-A(A-IDX)
MOVE SPACES TO A-LIST-VALUE(A-IDX)
MOVE '</TEST> TO A-LIST-B(A-IDX)
END-PERFORM
나는 이것들을 컴파일하려고하지 않았다. 이것은 단지 프리 핸드이다.
참고로, Enterprise COBOL 버전 3.2 이상을 사용 중이고 COBOL에서 XML을 작성하려는 경우, XML GENERATE 문이 있습니다.
나는 배열 색인이 설정되는 방식에 문제가 있다고 생각하지 않는다. 움직이는 문제는 ... 그렇게 생각하지 않아? –
나는 배열 색인에 문제가 없다는데 동의한다. 문제는 테이블 엔트리의 VALUE 절에 있다고 생각합니다. 초기화의 일종의 작동하지 않습니다, 그리고 나는 그것이 컴파일 오류를 생성하지 놀랐어요. – cschneid
값이 FILLER에 대해 표시되었으므로 –