À l'aide de PL / I programmes avec COM Transaction Integrator

IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.

La version anglaise de cet article est la suivante: 183179
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Résumé
PL / I n'is pas pris en charge par le Générateur de composants. Néanmoins, vous pouvez utiliser COM Transaction Integrator pour CICS et IMS (COMTI) PL / I des programmes fonctionnant en CICS ou IMS. Pour ce faire, le code les programmes avec les déclarations de données qui définissent mémoire la même manière que les déclarations équivalentes de COBOL.

Par exemple, un programme CICS peut effectuer un LINK CICS EXEC pour soit PL / I du programme ou un programme COBOL si la structure définissant DFHCOMMAREA dans les deux programmes est équivalente. De même, un composant COMTI pourrait être utilisé aussi bien avec un de ces programmes à l'aide d'un CICS LINK distant environnement (RE). Les mêmes mécanismes valable par extrapolation pour CICS et IMS REs.

Tout ce dont vous avez besoin de connaître est comment atteindre le même mappage de mémoire dans PL / I et COBOL. Cet article présente des comparaisons de type de données pour les deux langages.
Plus d'informations
Notez que le développeur qui est responsable de la création de composants pour PL / I programmes de transaction (TP) doivent être familiers avec les deux langues.

Alignement des données est un problème important. PL / I structures sont ALIGNED par défaut ; par exemple, un entier de fullword (4 octets) dans une structure ALIGNED sur une limite de fullword mainframe. Cela peut provoquer une incohérence avec des instructions similaires de COBOL et le PL / I structure doivent probablement être déclarés comme UNALIGNED. Ceci est particulièrement important pour la déclaration DFHCOMMAREA. Cette structure de données doit être non alignée. Vous devez, par conséquent, spécifier le mot clé non aligné sur la déclaration de structure.

Vous devez utiliser des soins lors de la gestion de la clause COBOL «Se produit en fonction ON». Les exemples suivants montrent une comparaison entre une construction COBOL avec un PL similaire / I construction.

Exemple de COBOL

   01   STRUCT1.   02   X   PIC S9(4) COMP.   02   Y OCCURS 1 TO 100 TIMES DEPENDING ON X PIC X(10).				

PL / I, exemple

   DCL   1   STRUCT1,         2   X   FIXED BIN(15),         2   Y (1:100 REFER(X)) CHAR(10);				

Listes de mappage COMTI Data Conversion de langage

      VB type          COBOL type                      PL/I type      -------     --------------------              ---------------      Integer        PIC S9(n) COMP                   FIXED BIN(15)                     (n <= 4)                     (see NOTE)                     PIC S9(n) COMP-3                 FIXED DEC(n)                     (n <= 4)                         (n <= 4)                     PIC S9(n)                        PIC '9(n-1)T'                     (n <= 4)                         (n <= 4)                     PIC S9(n) LEADING                PIC 'T9(n-1)'                     (n <= 4)                         (n <= 4)                     PIC S9(n) SIGN SEPARATE           PIC '9(n)S'                     (n <= 4)                          (n <= 4)                     PIC S9(n)                         PIC 'S9(n)'                     SIGN SEPARATE LEADING             (n <= 4)                     (n <= 4)      Long           PIC S9(n) COMP (n <= 9)           FIXED BIN(31)                     PIC S9(n) COMP-3                  FIXED DEC(n)                     (n <= 9)                          (n <= 9)                     PIC S9(n)                         PIC '9(n-1)T'                     (n <= 9)                          (n <= 9)                     PIC S9(n) LEADING                 PIC 'T9(n-1)'                     (n <= 9)                          (n <= 9)                     PIC S9(n) SIGN SEPARATE           PIC '9(n)S'                     (n <= 9)                          (n <= 9)                     PIC S9(n)                         PIC 'S9(n)'                     SIGN SEPARATE LEADING             (n <= 9)                     (n <= 9)      Single         COMP-1                            FLOAT BIN(21)                     PIC S9(m)V9(n) COMP-3             FIXED DEC(m+n,n)                     PIC S9(m)V9(n) COMP               FIXED BIN(15,n)                     (m+n <= 4) (See NOTE)                     PIC S9(m)V9(n) COMP               FIXED BIN(31,n)                     (m+n <= 9)                     PIC S9(m)V9(n)                    PIC '9(m)V9(n-1)T'                     PIC S9(m)V9(n) LEADING            PIC 'T9(m-1)V9(n)'                     PIC S9(m)V9(n)                    PIC '9(m)V9(n)S'                     SIGN SEPARATE                     PIC S9(m)V9(n)                    PIC 'S9(m)V9(n)'                     SIGN SEPARATE LEADING      Double         COMP-2                            FLOAT BIN(53)                     PIC S9(m)V9(n) COMP-3             FIXED DEC(m+n,n)                     PIC S9(m)V9(n) COMP               FIXED BIN(15,n)                     (m+n <= 4) (Footnote.)                     PIC S9(m)V9(n) COMP               FIXED BIN(31,n)                     (m+n <= 9)                     PIC S9(m)V9(n)                    PIC '9(m)V9(n-1)T'                     PIC S9(m)V9(n) LEADING            PIC 'T9(m-1)V9(n)'                     PIC S9(m)V9(n)                    PIC '9(m)V9(n)S'                     SIGN SEPARATE                     PIC S9(m)V9(n)                    PIC 'S9(m)V9(n)'                     SIGN SEPARATE LEADING      Currency       PIC S9(13)V99 COMP-3              FIXED DEC(15,2)                     PIC S9(m)V9(n) COMP-3             FIXED DEC(m+n,n)                     (n <= 4)                          (m+n < 16)                     PIC S9(m)V9(n) COMP               FIXED BIN(15,n)                     (m+n <= 4 and n <= 4)                     (See NOTE)                     PIC S9(m)V9(n) COMP               FIXED BIN(31,n)                     (m+n <= 9, n <= 4)                     PIC S9(m)V9(n)                    PIC '9(m)V9(n-1)T'                     (n <= 4)                     PIC S9(m)V9(n) LEADING            PIC 'T9(m-1)V9(n)'                     (n <= 4)                     PIC S9(m)V9(n)                    PIC '9(m)V9(n)S'                     SIGN SEPARATE                     (n <= 4)                     PIC S9(m)V9(n)                    PIC 'S9(m)V9(n)'                     SIGN SEPARATE LEADING                     (n <= 4)      Decimal        PIC S9(m)V9(n) COMP-3             FIXED DEC(m+n,n)                                                       (m+n < 16)                     PIC S9(m)V9(n) COMP               FIXED BIN(15,n)                     (m+n <= 5)                     (See NOTE)                     PIC S9(m)V9(n) COMP               FIXED BIN(31,n)                     (m+n <= 9)                     PIC S9(m)V9(n) COMP               Not Supported                     (m+n <= 18)                     PIC S9(m)V9(n)                    PIC '9(m)V9(n-1)T'                     PIC S9(m)V9(n) LEADING            PIC 'T9(m-1)V9(n)'                     PIC S9(m)V9(n)                    PIC '9(m)V9(n)S'                     SIGN SEPARATE                     PIC S9(m)V9(n)                    PIC 'S9(m)V9(n)'                     SIGN SEPARATE LEADING      Date           PIC S9(7) COMP-3                  FIXED DEC(7)                     date in YYYYDDD format                     PIC S9(7) COMP-3                  FIXED DEC(7)                     time in HHMMSST format                     PIC S9(7) COMP-3                  FIXED DEC(7)                     date in YYYYDDD format                     PIC S9(7) COMP-3                  FIXED DEC(7)                     time in HHMMSST format      String         PIC X(n)                          CHAR(n)                     padded with spaces to n bytes                     PIC X(n)                          CHAR(n)                     padded with LOW-VALUE to n bytes      Boolean        PIC S9(4) COMP                    FIXED BIN(15)                     (1 = true, 0 = false)                     PIC S9(9) COMP                    FIXED BIN(31)                     (1 = true, 0 = false)                     PIC  S9(n) COMP-3                 FIXED DEC(n)                     (1 = true, 0 = false)      Byte           PIC X                             CHAR(1)                     (no translation performed)                     PIC 999 COMP                      FIXED BIN(15)                     (value between 0 and 255)                     PIC 999 COMP-3                    FIXED DEC(3)                     (value between 0 and 255)				
Remarque : L'option du compilateur COBOL appropriée doit être définie de permettre des nombres entre 9 999 et 32 768 tenir dans un certain nombre PIC 9, paragraphe 4, COMP.
COBOL PL/1 PL / I PL1 PLI

Propriétés

ID d'article : 183179 - Dernière mise à jour : 12/05/2015 08:30:57 - Révision : 3.1

Microsoft COM Transaction Integrator for CICS and IMS 1.0

  • kbnosurvey kbarchive kbmt kbinfo KB183179 KbMtfr
Commentaires