Freigeben über


Verwenden von REDEFINES in COBOL

Der COBOL-Importprozess in Transaction Integrator (TI) Project erkennt die REDEFINES-Klausel in einem Datenbeschreibungseintrag und ordnet die neu definierten Einträge dem neu definierten Eintrag korrekt zu. Sie müssen eine der neu definierten oder neu definierenden Klauseln als Eintrag auswählen, der die übertragenen Daten darstellt.

Die neu definierten Einträge können weniger Platz als der neu definierte Eintrag belegen. Wenn Sie einen neu definierten Eintrag auswählen, der kleiner als der neu definierte Eintrag ist, fügt TI Project automatisch einen Füllstoff hinzu, sodass die Datenbeschreibung beim Senden an den Host korrekt überlagert wird. Wenn der neu definierte Eintrag eine Tabelle mit mehreren Feldern darstellt, enthält das letzte Feld den Füllstoff.

Das folgende COBOL-Beispiel zeigt eine REDEFINES-Klausel. Die Neudefinitionsklausel wurde beim Import ausgewählt:

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).  
  

Die resultierende Methode, die importiert wird, lautet:

CreateCustomerID(strLocation As String, strNameAbrev As String)  
  

Das für diese Methode generierte COBOL ist:

01 CREATECUSTOMERID-INPUT-AREA.  
   05 LOCATION              PIC X(3).               INPUT  
   05 NAME-ABREV            PIC X(5).               INPUT  
   05 FILLER                PIC X(2).               INPUT  
  

Der FILLER wird dem Bereich CUSTOMER-ID neu definiert hinzugefügt. Wenn dieser FILLER am Ende der Sende- oder Empfangspuffer auftritt, wird er aus Leistungsgründen nicht gesendet.

Im Folgenden finden Sie ein Beispiel für Visual Basic-Code, der diese Methode aufruft:

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  

Weitere Informationen

Filler