Partager via


Guide pratique pour utiliser REDÉFINIS dans COBOL

Le processus d’importation COBOL dans le projet Transaction Integrator (TI) reconnaît la clause REDEFINES dans une entrée de description de données et associe correctement les entrées de redéfinition à l’entrée redéfinie. Vous devez sélectionner l’une des clauses redéfinies ou redéfinies comme entrée qui représente les données qui seront transmises.

Les entrées de redéfinition peuvent utiliser moins d’espace que l’entrée redéfinie. Si vous sélectionnez une entrée de redéfinition qui est plus petite que l’entrée redéfinie, PROJET TI ajoute automatiquement un remplissage afin que les données superposent correctement la description des données lorsqu’elles sont envoyées à l’hôte. Si l’entrée de redéfinition représente une table avec plusieurs champs, le dernier champ contient le remplissage.

L’exemple COBOL suivant montre une clause REDEFINES. La clause de redéfinition a été sélectionnée lors de l’importation :

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

La méthode résultante importée est la suivante :

CreateCustomerID(strLocation As String, strNameAbrev As String)  
  

Le COBOL généré pour cette méthode est le suivant :

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

L’élément FILLER est ajouté à la zone redéfinie CUSTOMER-ID. Lorsque ce FILLER se produit à la fin des mémoires tampons d’envoi ou de réception, pour des raisons de performances, il n’est pas envoyé.

Voici un exemple de code Visual Basic qui appelle cette méthode :

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  

Voir aussi

Caractère de remplissage