如何在 COBOL 中使用 REDEFINES
交易整合器中的 COBOL 匯入程式 (TI) Project 會辨識資料描述專案中的 REDEFINES 子句,並正確地將重新定義專案與重新定義的專案產生關聯。 您必須選取其中一個重新定義或重新定義子句作為表示要傳輸之資料的專案。
重新定義專案可以使用比重新定義的專案較少的空間。 如果您選取小於重新定義的專案,TI Project 會自動新增填入,以便資料在傳送至主機時正確重迭資料描述。 如果重新定義專案代表具有多個欄位的資料表,則最後一個欄位包含填滿。
下列 COBOL 範例顯示 REDEFINES 子句。 匯入期間已選取重新定義子句:
01 CUSTOMER-DATA.
05 CUSTOMER-ID PIC X(10).
05 CUSTOMER-ID-PARTS REDEFINES CUSTOMER-ID.
10 LOCATION PIC X(3).
10 NAME-ABREV PIC X(5).
匯入的結果方法是:
CreateCustomerID(strLocation As String, strNameAbrev As String)
針對這個方法產生的 COBOL 為:
01 CREATECUSTOMERID-INPUT-AREA.
05 LOCATION PIC X(3). INPUT
05 NAME-ABREV PIC X(5). INPUT
05 FILLER PIC X(2). INPUT
FILLER 會新增至客戶識別碼重新定義的區域。 當這個 FILLER 發生在傳送或接收緩衝區結束時,因為效能原因不會傳送。
以下是呼叫此方法的 Visual Basic 程式碼範例:
Dim objCustomer As Object
Dim strLocation As String
Dim strNameAbrev As String
strLocation = "101"
strNameAbrev = "SPORT"
'create an instance of the invoicing object
On Error GoTo ErrorHandler1
Set objCustomer = CreateObject("Customer.Invoicing.1")
'invoke the CreateCustomerID method
On Error GoTo ErrorHandler2
objCustomer.CreateCustomerID strLocation, strNameAbrev