當方法的最後輸入或最後一個輸出參數是陣列或記錄集時,該參數可以被界定。 其大小可從 0 到指定的最大元素數或列數不等。 陣列或記錄集必須是最後一個被限制的。 否則,無法可靠地判斷有界陣列或記錄集的結尾與緩衝區下一個欄位的起始。 主機應用程式必須負責傳送被截斷的資料表。
自動化客戶端會自動處理這個選項。 交易整合器(TI)執行時環境會根據自動化邊界傳送截斷量的資料,並在收到資料時偵測截斷資料並建立適當的自動化類型。
匯入 COBOL 精靈從不設定陣列或記錄集的有界選項。 若要手動設定方法中最後一個參數,請使用設計器為屬性 Maximum Occurrence 指派一個值。 此欄位定義了紀錄集可包含的最大列數。 在包含該記錄集的方法中,將 Variable Sized Final Field 的屬性設為 true by direction,使記錄集有界。
如果方法包含無界的記錄集,你也不能為該方向指定有界或可變大小的最終欄位。 例如,若參數1為輸出參數,且為無界記錄集,最終輸出參數不能是有界陣列、記錄集或可變大小字串。 當返回值置於所有其他輸出參數之後時,返回值可為有界最終輸出欄位。
以下 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.