如何在 COBOL 中使用重新定義

交易整合器中的 COBOL 匯入程式 (TI) Project 會辨識資料描述專案中的重新定義子句,並正確地將重新定義的專案與重新定義的專案產生關聯。 您必須選取其中一個重新定義或重新定義的子句作為代表將傳輸之資料的專案。

重新定義專案可以使用比重新定義專案更少的空間。 如果您選取的重新定義專案小於重新定義的專案,則 TI Project 會自動加入填充,讓資料在傳送至主機時能夠正確地覆迭資料描述。 如果重新定義專案代表具有多個欄位的資料表,則最後一個欄位會包含該填滿專案。

下列 COBOL 範例顯示重新定義子句。 匯入期間選取了重新定義子句:

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  
  

填滿會新增至客戶識別碼重新定義區域。 當此填滿發生于傳送或接收緩衝區的結尾時,基於效能考慮,不會傳送。

以下是呼叫這個方法的 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  

另請參閱

Filler