Cómo usar REDEFINES en COBOL
El proceso de importación de COBOL en el proyecto integrador de transacciones (TI) reconoce la cláusula REDEFINES en una entrada de descripción de datos y asocia correctamente las entradas redefinidas con la entrada redefinida. Debe seleccionar una de las cláusulas redefinidas o redefinidas como la entrada que representa los datos que se transmitirán.
Las entradas redefinidas pueden usar menos espacio que la entrada redefinida. Si selecciona una entrada redefinida que es menor que la entrada redefinida, TI Project agrega automáticamente el relleno para que los datos superpongan correctamente la descripción de los datos cuando se envíen al host. Si la entrada redefinida representa una tabla con varios campos, el último campo contiene el relleno.
En el siguiente ejemplo de COBOL se muestra una cláusula REDEFINES. La cláusula redefining se seleccionó durante la importación:
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).
El método resultante que se importa es:
CreateCustomerID(strLocation As String, strNameAbrev As String)
El COBOL generado para este método es:
01 CREATECUSTOMERID-INPUT-AREA.
05 LOCATION PIC X(3). INPUT
05 NAME-ABREV PIC X(5). INPUT
05 FILLER PIC X(2). INPUT
FillER se agrega al área redefinida CUSTOMER-ID. Cuando este FILLER se produce al final de los búferes de envío o recepción, por motivos de rendimiento no se envía.
A continuación se muestra un ejemplo de código de Visual Basic que llama a este método:
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