Codes erreurs signalant de possibles différences de génération
Certains codes erreurs signalent des cas susceptibles d'entraîner des différences entre la génération Pacbase et la génération Rational Programming Patterns. L'analyse de ces codes permet d'anticiper les problèmes avant de migrer.
Ces codes erreurs sont les suivants :
- EC3 : Dans les -CS d'un Ecran, utilisation multiple d'un même Segment en affichage ou en réception au sein d'une même catégorie
-
Exemple :
Le Segment WQ00 est appelé deux fois en affichage avec le code A. Le Segment BM00 est appelé deux fois en catégorie répétitive avec les codes T et L.
Message dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+- BMSECRCG0003 EC3MULTIPLE CALL OF SEGMENT IN CATEGORY WQ00 HF0ECRCG0003 EC3MULTIPLE CALL OF SEGMENT IN CATEGORY BM00 R
Contenu des colonnes :- 89-92 : Segment du -CS
- 95 : Catégorie
Des erreurs apparaissent à la génération.
Pour corriger, vous devez supprimer les doubles non significatifs.
- EC5 : Ligne P avec 99BL, 99IT, 99DV, 99DI, 99DC, précédée d'une ligne commentaire de type OR ou AN
-
Exemple :
Message dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2----+- BMSECRBC0000 EC5DOT NOT GENERATED ON THE PREVIOUS LINE 45DE800 AYERRP
Contenu des colonnes :- 80-86 : Fonction, sous-fonction et numéro de ligne
- 121-126 : Code Macro
Des différences de génération apparaissent car Pacbase ne génère pas de point devant la ligne 800, contrairement à Rational Programming Patterns.
Pour corriger, vous pouvez modifier les lignes dans Pacbase mais avec précaution. L'absence de point peut avoir généré, dans Pacbase, des IF imbriqués qui peuvent avoir une importance.
- EC6 : Ligne P de type *A, *P ou *R avec une condition erronée dans fonctions 20, 25, 30, 35, 60 ou 65
-
Exemple :
Message dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2----+- BMSECRBCTEMA EC6WRONG CONDITION FOR FUNCTION *A *P *R 25DI APR CGPRGM 10*R Z
Contenu des colonnes :- 80-83 : Fonction et sous-fonction
- 95-96 : Bibliothèque de la ligne de Macro le cas échéant
- 101-106 : Code de la Macro le cas échéant
- 121-124 : Niveau et type de fonction
- 125-150 : Condition
Des différences de génération apparaissent.
Vous devez corriger dans Pacbase, conformément à la documentation du chapitre Emploi du Langage Structuré du manuel Dialogue, disponible à l'adresse suivante :
http://www-1.ibm.com/support/docview.wss?rs=37&context=SSEP67&uid=swg27005478
- EC8 : Sous-fonction d'Ecran dont la première ligne valide est de niveau 00 avec un opérateur différent de SUP et COA
-
Exemple :
Message dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9---- BMSECRBCHF01 EC8INVALID FIRST LINE FOR THE FUNCTION 01BB000
Contenu des colonnes :- 80-86 : Fonction, sous-fonction et numéro de ligne
Des différences de génération apparaissent.
Pour corriger, vous devez ajouter un opérateur N, SUP ou COA en fonction du contexte.
- ECA : Ligne P de type *B avec une condition erronée
-
Exemple :
Message dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2----+--- HF0ECRCG000B ECAWRONG CONDITION FOR *B ASDD HF0 CGMACO 25*BZZZZ
Contenu des colonnes :- 80-83 : Fonction et sous-fonction
- 95-96 : Bibliothèque de la ligne de Macro le cas échéant
- 101-106 : Code de la Macro le cas échéant
- 121-124 : Niveau et type de fonction
- 125-150 : Condition
Des différences de génération apparaissent.
Vous devez corriger dans Pacbase conformément à la documentation du sous-chapitre Insertion et remplacement de sous-fonctions du manuel Services Applicatifs & Clients TUI, disponible à l'adresse suivante :
http://www-1.ibm.com/support/docview.wss?rs=37&context=SSEP67&uid=swg27005478
- ECD : Risque d’écrasement des sous-fonctions standard générées
Exemple :
Message dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2----+ BMSECRGVMIAM ECDRISQUE ECRASEMENT DES SS-FONCT STANDARDS20B2000 AAGVSF
Contenu des colonnes :- 80-86 : Fonction, sous-fonction et numéro de ligne
- 121-126 : Macro concernée
Des problèmes lors de l'utilisation peuvent être provoqués par les fonctions qui existent en double.
Vous devez corriger dans Pacbase. En règle générale, il est préférable de n'utiliser que des codes sous-fonctions alphabétiques afin de ne pas interférer avec les sous-fonctions standard dans les fonctions F20, F25, F35, F60 et F80. Par exemple, il vaut mieux utiliser F20BB plutôt que F20B2.
- ET1 : Etat avec libellé en double
-
Exemple :
Message dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9---- BMSETANPO ET1REPORT WITH DUPLICATE LABEL 15
Contenu des colonnes :- 93-95 : Numéro de libellé
Des avertissements apparaissent dans Rational Programming Patterns.
Vous devez corriger dans Pacbase en supprimant l'appel du libellé d'une des lignes en double.
- ET4 : Libellé inexistant appelé dans une catégorie de l'Etat
-
Exemple :
Message dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9---- BMSETAMBO ET4NON EXISTING LABEL CALLED IN CATEGORY DD100 08
Contenu des colonnes :- 93-95 : Numéro de libellé
- 84-86 : Numéro de ligne
- 93-94 : Numéro du libellé inexistant
Des différences de génération apparaissent.
Vous devez corriger dans Pacbase en supprimant l'appel du libellé sur la ligne.
- ET5 : Structure inexistante appelée dans une catégorie de l'Etat
-
Exemple :
Message dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9---- APRETAPBA ET5NON EXISTING STRUCTURE CALLED IN CATEG CB130 03
Contenu des colonnes :- 82-83 : Code de la catégorie
- 84-86 : Numéro de ligne
- 93-94 : Numéro de la structure inexistante
Des différences de génération apparaissent.
Vous devez corriger dans Pacbase en supprimant l'appel du libellé sur la ligne.
- ET6 : Structure appelant plusieurs Rubriques avec le même positionnement
-
Exemple :
Message dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2----+----3-- BMSETACG2 ET6STRUCT CALLING DATA ELEM ON SAME POS. 01111 X01 0 CSSSSSSSSSSXXX YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY HFYETACG2 ET6STRUCT CALLING DATA ELEM ON SAME POS. 01111 X03 0 CSSSSSSSSSSXXX YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
Contenu des colonnes :- 82-83 : Code de la catégorie
- 84-86 : Numéro de ligne
- 88-93 : Code Rubrique
- 95 : Numéro de ligne de la Rubrique
- 97 : Type de zone de travail (-W)
- 98-110 : Code de la source (FFNNRUBRIQIND)
- 121-150 : Condition
Des différences de génération apparaissent.
Vous devez corriger dans Pacbase en supprimant les doubles, en conservant l'appel de la Rubrique la plus significative et en tenant compte des fonctions et conditions.
- ET7 : Libellé manquant dans la séquence des libellés de l'Etat
-
Exemple :
Messages dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9---- HF0ETAANC ET7MISSING LABEL IN SEQUENCE 01 HF0ETAANC ET7MISSING LABEL IN SEQUENCE 02 HF0ETAANC ET7MISSING LABEL IN SEQUENCE 03 HF0ETAANC ET7MISSING LABEL IN SEQUENCE 04
Contenu des colonnes :- 93-94: Numéro de libellé manquant
Des erreurs de génération se produisent.
Vous devez corriger dans Pacbase. Renumérotez les libellés pour supprimer la rupture de séquence et adaptez les appels de libellés dans les catégories.
- MP4 : Fonction de type EL précédée d'une fonction de type CO, DU ou DW de niveau incompatible
-
Exemple :
Dans cet exemple, les niveaux conditions 10DW et 10EL des fonctions FF10 et FF14 ne sont pas compatibles.
Message dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8--- HFYECRCG0003 MP4CO DU DW FOLLOWED BY ELSE NOT COMPATIBLEFF14
Contenu des colonnes :- 80-83 : Fonction et sous-fonction
Des différences de génération apparaissent.
Pour corriger, vous devez modifier dans Pacbase. Vous pouvez par exemple remplacer le 10EL de FF14 en 10IT COND01 NOT = 'A'.
- NV1 : Niveau de fonction incompatible avec l'opérateur
Exemple :
Message dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+- BMSPGMAEBDIN NV1FUNC.LEVEL NOT COMPATIBLE WITH OPERATOR 99RB100 EXQ 10
Contenu des colonnes :- 80-86 : Fonction, sous-fonction et numéro de ligne
- 89-91 : Opérateur
- 95-96 : Niveau
Des problèmes de génération peuvent apparaître.
Pour corriger, vous devez modifier l'opérateur ou le niveau, ou les deux, dans Pacbase.
- PG1 : Ligne P de Type N en double
Exemple :
Messages dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+ APRPGMCGNDVP PG1DUPLICATE P LINE WITH N TYPE 05BB000 APRPGMCGNDVP PG1DUPLICATE P LINE WITH N TYPE 05BB010 CGMAC0
Contenu des colonnes :- 80-86 : Fonction, sous-fonction et numéro de ligne
- 100-105 : Macro concernée
Des problèmes de génération peuvent apparaître.
Vous devez corriger dans Pacbase. Modifiez l'opérateur ou le niveau, ou les deux, ou supprimez la ligne en double.
- SG1 : Conflit de nommage de Segment dans les -CD ou les -W
- Si un Segment est renommé dans les -CD ou les -W et si le
Segment issu du renommage existe, la génération n'est pas identique dans Pacbase et Rational Programming Patterns. En effet, Pacbase trie les Rubriques sur le numéro de ligne dans le Segment
alors que Rational Programming Patterns classe en fonction du code
Segment. Des différences de génération peuvent se produire. Pour les éviter, ne faites pas pointer
des Segments différents sur un même Segment cible. En cas de renommage en 00,
faites en sorte que les numéros de ligne du Segment 00 soient tous inférieurs aux
numéros de ligne du Segment renommé en 00. Les quatre exemples suivants illustrent
les divers cas possibles.
Exemple 1 : Seule une ligne -CD est concernée.
Cet exemple présente l'appel en -CD, avec le code Programme DC, de la Structure de Données MB, avec une sélection *01=00. Comme le Segment MB00 existe, il y aura conflit avec MB01.
Message dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+--- BMSPGMCGNDVP SG1SEGMENT RENAME IN -CD OR -W DC00 MB00 MB01
Contenu des colonnes :- 80-83 : Code Segment dans le Programme
- 89-92 : Code Segment appelé renommé
- 95-98 : Code Segment appelé
Exemple 2 : Une seule ligne -W est concernée.
Cet exemple présente l'appel en -W, avec le code Programme HH, de la Structure de Données AC avec une sélection *01=00. Comme le Segment AC00 existe, il y aura conflit avec AC01.
Message dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+ HF0PGMCGPRGA SG1SEGMENT RENAME IN -CD OR -W HH00 AC00 AC01 AA110
Contenu des colonnes :- 80-83 : Code Segment dans le Programme
- 89-92 : Code Segment appelé renommé
- 95-98 : Code Segment appelé
- 101-105 : Numéro de ligne de zones de travail
Exemple 3: Deux lignes -W sont concernées.
Cet exemple présente tout d'abord l'appel en ligne de zone de travail XX100, avec le code Programme BC, de la Structure de Données BC avec une sélection 10. Il présente ensuite l'appel en ligne de zone de travail ZZ100, avec le code Programme BC, de la Structure de Données MB avec une sélection 1020. Le même code Programme BC est utilisé pour appeler deux Structures de Données différentes pointant sur une même sélection 10.
Message dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1---- BMSPGMCGPRGA SG1SEGMENT RENAME IN -CD OR -W BC10 MB10 BC10 ZZ100 XX100
Contenu des colonnes :- 80-83 : Code Segment dans le Programme
- 89-92 : Code Segment appelé renommé
- 95-98 : Code Segment appelé
- 101-105 : Numéro de ligne de la zone de travail
- 110-114: Numéro de la deuxième ligne de la zone de travail
Exemple 4 : Une ligne -CD et une ligne -W sont concernées.
Cet exemple présente tout d'abord l'appel en -CD, avec le code Programme HH, de la Structure de Données MB avec une sélection *20=00. Il présente ensuite l'appel en ligne de zone de travail AA110, avec le code Programme HH, de la Structure de Données MB avec une sélection 01=00. Le même code Programme HH appelle deux Structures de Données différentes pointant sur une même sélection 00.
Message dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+ HF0PGMCGPRGA SG1SEGMENT RENAME IN -CD OR -W HH00 AC00 AC01 AA110
Contenu des colonnes :- 80-83 : Code Segment dans le Programme
- 89-92 : Code Segment appelé renommé
- 95-98 : Code Segment appelé
- 101-105 : Numéro de ligne de la zone de travail
- SG4 : Segment inexistant appelé dans les -CD ou -W
-
Exemple :
Message dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9-- T0VPGME23543 SG4NON EXISTING SEGMENT CALL IN -CD OR -W LE10 BC10
Contenu des colonnes :- 80-83 : Code Segment dans le Programme
- 89-92 : Code Segment appelé inexistant
Des différences de génération apparaissent.
Pour corriger, vous devez indiquer un Segment existant ou supprimer l'appel.
- SG5 : Sélection erronée sur ligne suite de -CD
-
Exemple :
Dans cet exemple, la sélection d'argument devrait être sur la première ligne du -CD du Segment
Message dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1-- BMSPGMCGPRGN SG5WRONG SELECTION ON SUITE LINE IN -CD D0AA 25*BZZZZ
Contenu des colonnes :- 87-90 : Indicatif de la ligne de -CD
Des erreurs de génération se produisent.
Vous devez corriger dans Pacbase conformément à la documentation du sous-chapitre Appel de Structure de Données du manuel Applications batch, disponible à l'adresse suivante :
http://www-1.ibm.com/support/docview.wss?rs=37&context=SSEP67&uid=swg27005478
- VAK : Variante de génération ou type de Bloc non défini dans la cible de la clé Pacbase
-
Exemple 1 : Bloc Base de Données
Message dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8-- BMSDBDARHF00 VAKTYPE CODE TO GENERATE NOT DEFINED IN KEY AR
Contenu des colonnes :- 81 : Type de Bloc Base de Données
Le Bloc Base de Données n'est pas généré.
Pour corriger, vous devez indiquer une valeur définie dans la cible de la clé.
Exemple 2: Programme batch
Message dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8-- T0FPGMTRTMSG VAKTYPE CODE TO GENERATE NOT DEFINED IN KEY Q
Contenu des colonnes :- 81 : Variante de génération
Le Programme n'est pas généré.
Pour corriger, vous devez indiquer une valeur définie dans la cible de la clé.
- WK1 : Ligne de zone de travail de Macro déclarant une table dont le nom contient un $
-
Exemple :
Message dans le fichier RQ :----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9---- BMSPGMCGMAQ1 WK1PRESENCE $ IN TABLE AREA OF WSS MACRO AA110 $3CCC
Contenu des colonnes :- 82-86 : Numéro de ligne dans les zones de travail
- 90-94 : Code de la table en anomalie
Des erreurs de génération se produisent (indice de la table erroné).
Vous devez corriger les Macros concernées dans Rational Programming Patterns ou en amont dans les entrées de la migration.