다음을 통해 공유


바인딩된 final 필드

메서드의 마지막 입력 또는 마지막 출력 매개 변수가 배열 또는 레코드 집합인 경우 해당 매개 변수를 바인딩할 수 있습니다. 크기는 0에서 지정된 요소 또는 행의 최대 수에 따라 달라질 수 있습니다. 배열 또는 레코드 집합은 마지막으로 바인딩되어야 합니다. 그렇지 않으면 바인딩된 배열 또는 레코드 집합의 끝과 버퍼에서 다음 필드의 시작을 확인할 수 있는 신뢰할 수 있는 방법이 없습니다. 호스트 애플리케이션은 잘린 테이블 보내기를 처리해야 합니다.

Automation 클라이언트는 이 옵션을 자동으로 처리합니다. TI(트랜잭션 통합자) 런타임 환경은 자동화 범위에 따라 잘린 양의 데이터를 보내고 잘린 데이터를 검색하고 데이터를 받을 때 적절한 Automation 형식을 만듭니다.

COBOL 가져오기 마법사는 배열 또는 레코드 집합에 대해 제한된 옵션을 설정하지 않습니다. 메서드의 최종 매개 변수에 대해 수동으로 설정하려면 Designer 사용하여 최대 발생 속성에 값을 할당합니다. 이 필드는 레코드 집합에 포함될 수 있는 최대 행 수를 정의합니다. 레코드 집합을 포함하는 메서드에서 변수 크기 최종 필드 속성을 방향별로 true로 설정하여 레코드 집합을 경계로 만듭니다.

메서드에 바인딩되지 않은 레코드 집합이 포함된 경우 해당 방향에 대해 바인딩되거나 가변 크기가 지정된 최종 필드를 지정할 수도 없습니다. 예를 들어 Parameter1이 출력 매개 변수이고 바인딩되지 않은 레코드 집합인 경우 최종 출력 매개 변수는 바인딩된 배열 또는 레코드 집합 또는 고정 크기 문자열이 될 수 없습니다. 반환 값이 다른 모든 출력 매개 변수 다음에 배치되면 반환 값은 바인딩된 최종 출력 필드가 될 수 있습니다.

다음 COBOL 예제에서는 레코드 집합의 일부 행만 보냅니다.

01  INVOICE-COUNT                        PIC S9(4) COMP.  
01  CUSTOMER-DATA.  
    05  CUSTOMER-NUMBER                  PIC 9(9).  
    05  LAST-NAME                        PIC X(20).  
    05 INVOICES OCCURS 50 TIMES.  
               10  INVOICE-NUMBER               PIC 9(10).  
               10  INVOICE-DATE                 PIC 9(7) COMP-3.  
               10  INVOICE-AMOUNT               PIC S9(13)V9(2) COMP-3.  
.  
.  
.  
            MOVE SIZE OF CUSTOMER-DATA TO SEND-LENGTH.  
            SUBTRACT LENGTH OF INVOICES FROM SEND-LENGTH.  
            EXEC-CICS SEND FROM(CUSTOMER-DATA)  
                           LENGTH(SEND-LENGTH)  
                           END-EXEC.  
            PERFORM VARYING I FROM 1 BY 1 UNTIL I = INVOICE-COUNT  
                COMPUTE SEND-LENGTH = LENGTH OF INVOICE-NUMBER +  
                                      LENGTH OF INVOICE-DATE +  
                                      LENGTH OF INVOICE-AMOUNT  
                EXEC-CICS SEND FROM(INVOICES(I))  
                               LENGTH(SEND-LENGTH)  
                               END-EXEC.  
            END-PERFORM.