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 :
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.
----+----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
Des erreurs apparaissent à la génération.
Pour corriger, vous devez supprimer les doubles non significatifs.
Exemple :
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2----+-
BMSECRBC0000 EC5DOT NOT GENERATED ON THE PREVIOUS LINE 45DE800 AYERRP
Des différences de génération apparaissent car Pacbase ne génère pas de point sur la ligne 780, 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.
Exemple :
----+----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
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
Exemple :
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----
BMSECRBCHF01 EC8INVALID FIRST LINE FOR THE FUNCTION 01BB000
Des différences de génération apparaissent
Pour corriger, vous devez ajouter un opérateur N, SUP ou COA en fonction du contexte.
Exemple :
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2----+---
HF0ECRCG000B ECAWRONG CONDITION FOR *B ASDD HF0 CGMACO 25*BZZZZ
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
Exemple :
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1
BMSECRCG9002 ECBP LINE WITH ONLY SPACE AABB111
BMSECRCG9002 ECBP LINE WITH ONLY SPACE AAFB100 CG999A
Des différences de génération apparaissent, notamment dans la génération de point
Pour corriger, vous devez supprimer la ligne blanche dans Pacbase.
Exemple :
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----
BMSETANPO ET1REPORT WITH DUPLICATE LABEL 15
Des avertissements apparaissent dans Rational Programming Patterns.
Vous devez corriger dans Pacbase en supprimant l'appel du libellé d'une des lignes en double.
Exemple :
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----
BMSETAMBO ET4NON EXISTING LABEL CALLED IN CATEGORY DD100 08
Des différences de génération apparaissent.
Vous devez corriger dans Pacbase en supprimant l'appel du libellé sur la ligne.
Exemple :
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----
APRETAPBA ET5NON EXISTING STRUCTURE CALLED IN CATEG CB130 03
Des différences de génération apparaissent.
Vous devez corriger dans Pacbase en supprimant l'appel du libellé sur la ligne.
Exemple :
----+----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
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.
Exemple :
----+----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
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.
Exemple :
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+-
BMSPGMAEBDIN NV1FUNC.LEVEL NOT COMPATIBLE WITH OPERATOR 99RB100 EXQ 10
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.
Exemple :
----+----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
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.
Exemple :
Dans cet exemple, les niveaux conditions 10DW et 10EL des fonctions FF10 et FF14 ne sont pas compatibles.
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8---
HFYECRCG0003 MP4CO DU DW FOLLOWED BY ELSE NOT COMPATIBLEFF14
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'.
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.
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+---
BMSPGMCGNDVP SG1SEGMENT RENAME IN -CD OR -W DC00 MB00 MB01
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.
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+
HF0PGMCGPRGA SG1SEGMENT RENAME IN -CD OR -W HH00 AC00 AC01 AA110
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.
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----
BMSPGMCGPRGA SG1SEGMENT RENAME IN -CD OR -W BC10 MB10 BC10 ZZ100 XX100
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.
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+
HF0PGMCGPRGA SG1SEGMENT RENAME IN -CD OR -W HH00 AC00 AC01 AA110
Exemple :
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9--
T0VPGME23543 SG4NON EXISTING SEGMENT CALL IN -CD OR -W LE10 BC10
Des différences de génération apparaissent.
Pour corriger, vous devez indiquer un Segment existant ou supprimer l'appel.
Exemple :
Dans cet exemple, la sélection d'argument devrait être sur la première ligne du -CD du Segment
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1--
BMSPGMCGPRGN SG5WRONG SELECTION ON SUITE LINE IN -CD D0AA 25*BZZZZ
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
Exemple 1 : Bloc Base de Données
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8--
BMSDBDARHF00 VAKTYPE CODE TO GENERATE NOT DEFINED IN KEY AR
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
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8--
T0FPGMTRTMSG VAKTYPE CODE TO GENERATE NOT DEFINED IN KEY Q
Le Programme n'est pas généré.
Pour corriger, vous devez indiquer une valeur définie dans la cible de la clé.
Exemple :
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----
BMSPGMCGMAQ1 WK1PRESENCE $ IN TABLE AREA OF WSS MACRO AA110 $3CCC
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.