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