Error codes for potential generation differences
Some error codes indicate cases that might cause potential differences between the Pacbase generation and the Rational® Programming Patterns generation. If you analyze these codes, you can anticipate problems before migrating.
The following error codes indicate potential generation differences:
- EC3: Screen whose -CS lines contain multiple uses of the same Segment in display or reception in the same category
Example:
Segment WQ00 is called twice in display with the code A. Segment BM00 is called twice in the repetitive category with the codes T and L.
Message in the RQ file:----+----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
Column contents:- 89-92: Segment of the -CS
- 95: Category
Errors occur upon the generation.
To correct, you must delete the irrelevant duplicates.
- EC5: P line with 99BL, 99IT, 99DV, 99DI, 99DC, preceded by a comment line with an OR- or AN-type comment line
Example:
Message in the RQ file:----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2----+- BMSECRBC0000 EC5DOT NOT GENERATED ON THE PREVIOUS LINE 45DE800 AYERRP
Column contents:- 80-86: Function, subfunction, and line number
- 121-126: Macro
Generation differences occur because Pacbase does not generate a period before line 800, contrary to Rational Programming Patterns.
To correct, you can modify the lines in Pacbase, but with caution. The absence of a period might have generated, in Pacbase, nested IF statements that might be relevant.
- EC6: P line with a type *A, *P, or *R, with an erroneous condition in functions 20, 25, 30, 35, 60, or 65
Example:
Message in the RQ file:----+----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
Column contents:- 80-83: Function and subfunction
- 95-96: Library of the Macro line, if any
- 101-106: Macro code, if any
- 121-124: Level and type of function
- 125-150: Condition
Generation differences appear.
You must correct in Pacbase, according to the information of chapter Use of Structure Code in the manual Online System Development, at the following address:
http://www-01.ibm.com/support/docview.wss?rs=37&uid=swg27005477
- EC8: Screen subfunction whose first valid line has a level 00 and whose operator is different from SUP and COA
Example:
Message in the RQ file:----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9---- BMSECRBCHF01 EC8INVALID FIRST LINE FOR THE FUNCTION 01BB000
Column contents:- 80-86: Function, subfunction, and line number
Generation differences appear.
To correct, you must add an operator N, SUP, or COA, depending on the context.
- ECA: *B-type P line with an erroneous condition
Example:
Message in the RQ file:----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2----+--- HF0ECRCG000B ECAWRONG CONDITION FOR *B ASDD HF0 CGMACO 25*BZZZZ
Column contents:- 80-83: Function and subfunction
- 95-96: Library of the Macro line, if any
- 101-106: Macro code, if any
- 121-124: Level and type of function
- 125-150: Condition
Generation differences appear.
You must correct in Pacbase, according to the information of chapter Inserting and replacing automatic subfunctions in the manual Business Logic and TUI Clients, at the following address:
http://www-01.ibm.com/support/docview.wss?rs=37&uid=swg27005477
- ECD: Potential override of standard generated subfunctions
Example :
Message in the RQ file:----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2----+ BMSECRGVMIAM ECDRISK OVERRIDE OF STANDARD SUB-FUNCTIONS 20B2000 AAGVSF
Column contents:- 80-86: Function, subfunction, and line number
- 121-126: Macro
Problems can be caused by duplicate functions.
You must correct in Pacbase. It is better to use only alphabetic subfunction codes to prevent any interference with the standard subfunctions in functions F20, F25, F35, F60, and F80. For example, it is better to use F20BB rather than F20B2.
- ET1: Report with a duplicate label
Example:
Message in the RQ file:----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9---- BMSETANPO ET1REPORT WITH DUPLICATE LABEL 15
Column contents:- 93-95: Label number
Warnings appear in Rational Programming Patterns.
You must correct in Pacbase by removing the label number of one of the duplicate lines.
- ET4: Unknown label called in a category of the Report
Example:
Message in the RQ file:----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9---- BMSETAMBO ET4NON EXISTING LABEL CALLED IN CATEGORY DD100 08
Column contents:- 82-83: Label number
- 84-86: Line number
- 93-94: Number of the unknown label
Generation differences appear.
You must correct in Pacbase by removing the label call on the line.
- ET5: Unknown structure called in a category of the Report
Example:
Message in the RQ file:----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9---- APRETAPBA ET5NON EXISTING STRUCTURE CALLED IN CATEG CB130 03
Column contents:- 83-83: Code of the category
- 84-86: Line number
- 93-94: Number of the unknown structure
Generation differences appear.
You must correct in Pacbase by removing the label call on the line.
- ET6: Structure that calls the same Data Elements in the same position
Example:
Messages in the RQ file:----+----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
Column contents:- 82-83: Code of the category
- 84-86: Line number
- 88-93: Data Element code
- 95: Line number of the Data Element
- 97: Type of working area (-W)
- 98-110: Code of the source (FFNNDELCODIND)
- 121-150: Condition
Generation differences appear.
You must correct in Pacbase by removing the duplicates, by keeping the call of the most relevant Data Element, and by taking the functions and conditions into account.
- ET7: Missing label in the labels sequence of the Report
Example:
Messages in the RQ file:----+----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
Column contents:- 93-94: Number of the missing label
Generation errors occur.
You must correct in Pacbase. Renumber the labels to correct the sequence gap and adapt the labels calls in the categories.
- MP4: EL type function whose level is not compatible with a preceding CO, DU, or DW type function
Example:
In this example, the condition levels 10DW and 10EL of functions FF10 and FF14 are not compatible.
Message in the RQ file:----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8--- HFYECRCG0003 MP4CO DU DW FOLLOWED BY ELSE NOT COMPATIBLEFF14
Column contents:- 80-83: Function and subfunction
Generation differences appear.
To correct, you must modify in Pacbase. For example, you can change the 10EL from FF14 into 10IT COND01 NOT = 'A'.
- NV1: Function level not compatible with the operator
Example:
Message in the RQ file:----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+- BMSPGMAEBDIN NV1FUNC.LEVEL NOT COMPATIBLE WITH OPERATOR 99RB100 EXQ 10
Column contents:- 80-86: Function, subfunction, and line number
- 89-91: Operator
- 95-96: Level
Generation problems can occur.
To correct, you must change the operator or the level, or both, in Pacbase.
- PG1: Duplicate P line with an N type
Example:
Messages in the RQ file:----+----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
Column contents:- 80-86: Function, subfunction, and line number
- 100-105: Macro
Generation problems can occur.
You must correct in Pacbase. You must change the operator or the level, or both, or remove the duplicate line.
- SG1: Conflict of Segment naming in -CD or -W
- If a Segment is renamed in the -CD or -W and if the newly
renamed Segment exists, the generation is not identical in Pacbase and Rational Programming Patterns. Pacbase sorts the Data elements according to the line number in the Segment, whereas Rational Programming Patterns sorts according to the Segment code. Generation
differences can appear. To prevent them, you must not make different Segments point to the same
target Segment. If a Segment is renamed as 00, you must then make sure that the
line numbers of Segment 00 are all lower than the line numbers of the Segment that
is renamed as 00. The following four examples show the possible cases.
Example 1: Only one -CD line is involved.
This example shows a -CD where the MB Data Structure is called with the Program code DC with a selection *01=00. The MB00 Segment exists, so there will be a conflict with MB01.
Message in the RQ file:----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+--- BMSPGMCGNDVP SG1SEGMENT RENAME IN -CD OR -W DC00 MB00 MB01
Column contents:- 80-83: Segment code in the Program
- 89-92: Renamed called Segment code
- 95-98: Called Segment code
Example 2: Only one -W line is involved.
This example shows a -W where the AC Data Structure is called with the Program code HH with a selection *01=00. The AC00 Segment exists, so there will be a conflict with AC01.
Message in the RQ file:----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+ HF0PGMCGPRGA SG1SEGMENT RENAME IN -CD OR -W HH00 AC00 AC01 AA110
Column contents:- 80-83: Segment code in the Program
- 89-92: Renamed called Segment code
- 95-98: Called Segment code
- 101-105: Line number of the work area line
Example 3: Two -W lines are involved.
This example first shows a -W where a BC Data Structure is called in the XX100 work area with the BC Program code and a selection 10. It then shows the call, in the ZZ100 work area, of the MB Data Structure with the BC Program code, with a selection 1020. The same BC Program code is used to call two different Data Structures that point to the same selection (10).
Message in the RQ file:----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1---- BMSPGMCGPRGA SG1SEGMENT RENAME IN -CD OR -W BC10 MB10 BC10 ZZ100 XX100
Column contents:- 80-83: Segment code in the Program
- 89-92: Renamed called Segment code
- 95-98: Called Segment code
- 101-105: Line number of the work area line
- 110-114: Number of the second work area line
Example 4: A -CD and a -W are involved.
This example first shows a -CD where an MB Data Structure is called with the HH Program code and a selection *20=00. It then shows the call, in the AA110 work area, of the MB Data Structure with the HH Program code, with a selection 01=00. The same HH Program code is used to call two different Data Structures that point to the same selection (00).
Message in the RQ file:----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+ HF0PGMCGPRGA SG1SEGMENT RENAME IN -CD OR -W HH00 AC00 AC01 AA110
Column contents:- 80-83: Segment code in the Program
- 89-92: Renamed called Segment code
- 95-98: Called Segment code
- 101-105: Line number of the work area line
- SG4: Unknown Segment called in -CD or -W
Example:
Message in the RQ file:----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9-- T0VPGME23543 SG4NON EXISTING SEGMENT CALL IN -CD OR -W LE10 BC10
Column contents:- 80-83: Segment code in the Program
- 89-92: Unknown Segment code
Generation differences appear.
To correct, you must indicate an existing Segment code and remove the call.
- SG5: Wrong selection on a -CD continuation line
Example:
In this example, the selection of arguments is missing on the first -CD line for the Segment.
Message in the RQ file:----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1-- BMSPGMCGPRGN SG5WRONG SELECTION ON SUITE LINE IN -CD D0AA 25*BZZZZ
Column contents:- 87-90: -CD line identifier
Generation errors occur.
You must correct in Pacbase, according to the information of subchapter Call of Data Structures in the manual Batch Applications, at the following address:
http://www-01.ibm.com/support/docview.wss?rs=37&uid=swg27005477
- VAK: Type of code to generate or Block type that is not defined in the Pacbase access key targets
Example 1: Database Block
Message in the RQ file:----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8-- BMSDBDARHF00 VAKTYPE CODE TO GENERATE NOT DEFINED IN KEY AR
Column contents:- 81: Database Block type
The Database Block is not generated.
To correct, you must indicate a value that is defined in the access key targets.
Example 2: Batch Program
Message in the RQ file:----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8-- T0FPGMTRTMSG VAKTYPE CODE TO GENERATE NOT DEFINED IN KEY Q
Column contents:- 81: Type of code to generate
The Program is not generated.
To correct, you must indicate a value that is defined in the access key targets.
- WK1: Macro work area line that declares a table whose name contains a $ character
Example:
Message in the RQ file:----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9---- BMSPGMCGMAQ1 WK1PRESENCE $ IN TABLE AREA OF WSS MACRO AA110 $3CCC
Column contents:- 82-86: Line number in the work areas
- 90-94: Code of the erroneous table
Generation errors occur. The table index is wrong.
You must correct the relevant Macros in Rational Programming Patterns or in the migration inputs.