home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
a4cinf.zip
/
ADUAS400.DOC
next >
Wrap
Text File
|
1994-05-24
|
68KB
|
1,949 lines
ADU AS/400 Conversion Utilities
(ADU4CU)
Release 0.9
Alpha Data Utility, Inc.
269 Hanover St.
P.O. Box 2164
Hanover MA 02339
Voice
617-829-9411
Fax
617-829-9416
INTRODUCTION
The ADU AS/400 conversion utilities (ADU4CU) were designed to
ease the burden of migration from an MVS platform to the AS/400.
An additional design goal was to provide tools that will allow a
single source image to be maintained for multiple operating
platforms.
The tools do not provide 100 percent transparent migration but
will SIGNIFICANTLY reduce migration time, and once successfully
migrated will provide for the "single source" maintenance. If
you use basic function BMS many CICS programs will port without
user intervention. In our conversion, 60% of the programs required
no changes, 35% required an average of less than 2 hours each of
coding changes, and the other 5% required various amounts of
changes. Most of the batch programs ported directly, although
the ones that did not required more extensive tailoring than the
CICS programs. The JCL migration tool will provide a fairly
complete skeleton that can be completed quite easily. A tool is
also provided for file migration.
Other available products are prohibitively expensive or provide
a one shot conversion. The ADU4CU tools currently will migrate
BMS macros, Batch VS/COBOL, CICS Command level VS/COBOL, MVS JCL,
COBOL COPYBOOKS, and Files. The tools are PC based and run under
either OS/2 or DOS. The batch files supplied provide for
migration from a PC attached to an AS/400 via PC/Support. This
product is a "90 percent of the work for cheap bucks" competitor
to the high end offerings.
The following are used throughout this guide and are trademarks of IBM,
(CICS, CICS/400, COBOL/400, AS/400, S/370, OS/2, IBM ).
The following is a trademark of Merlyn Data Systems (QUICKDOC).
The following is property of CA/Realia (RCOPY). See their License.
All other material is copyright 1994 by Alpha Data Utility, Inc.
BMS MIGRATION
CICS on the AS/400 only supports minimum function BMS. The BMS
migrations tool is very basic. It will not modify full or
standard function BMS to run on CICS/400. It will scan the BMS
source and remove keywords that are not supported in CICS/400
BMS. Listed below are the extent of the changes.
Removed from MSD macro
data=field
Suffix=
Removed from MDI macro
DATA=FIELD
TIOAPFX=YES
JUSTIFY=????
These changes should make most minimum function BMS maps fully
portable without further change.
JCL MIGRATION.
The JCL translation utility will generate a skeleton CL program
from the MVS proc. The CL will support generation data groups,
restarts, abnormal ends, and error handling. Sorts and IEBGENER
copies will be converted as will most user programs. Other
utilities (IDCAMS) will have to be hand coded.
FILE MIGRATION
The FILE migration utility (s) will take a file and expand any
"occurs depending on". It will convert the sign on any numeric
"key" fields from a 'C' to an 'F'. Files that contain multiple
"occurs depending on" will need to have a control file coded that
provides information about each occurrence.
COBOL COPYBOOK MIGRATION
The migration of copybooks is a subset of the COBOL migration
explained below. Copy books should migrate without change.
COBOL MIGRATION
The COBOL translation utility is split into two pieces. The
first part of the translation converts files containing multiple
"occurs depending on" clauses into fixed format occurs. The
second piece translates the code. All known incompatibilities (as
of v2r2) are either fixed or flagged. Some basic coding rules
need to be implemented to make the COBOL translation more
automatic.
Coding Rules:
- Any file definition that contains multiple "occurs
depending on " clauses must be in a copy book.
- Any print file that uses the "positioning" option must
have a comment before the SELECT statement that identifies
it as a printer file. format *PRINTER=[select name ...]
- All CICS commands that relate to a specific file should
have the length specified by a variable that is unique for
that file. In other words file-a and file-b should not
both use the variable file-length in the length option.
- For CICS programs the translator will take an input file that
specifies maximum file lengths for each file. The file storage
area will be checked to ensure that the storage area is large
enough for the maximum record length.
- For CICS programs the length variables for temporary storage
should (but aren't required) to follow the same rules as file
length variables.
COBOL CONVERSION INFORMATION
- ONLINE LENGTH CONVERSIONS.
The AS/400 translator will automatically put the correct maximum
length for each file read and write. The maximum lrecl is
determined from the file (dataset) keyword value of read and
write exec CICS commands. This presents two basic problems.
Firstly, file names that are variables must be correctly matched
to a table name (filelen.tab) which contains the maximum lrecl
(see above). However, if the file name is changed in the programs
procedure division (via runtime execution), the translator cannot
know what the correct dataset name is and consequently will not put
the correct length. Secondly, but similarly if one read/write
command services two different files the same will be true.
The solution to this is to have each file read/write of the same
dataset to use unique variable names. DO NOT USE THE SAME FILE NAME
VARIABLE FOR DIFFERENT FILES. Programs that don't conform to this
must be changed manually.
(cont.)
COBOL CONVERSION INFORMATION (cont.)
Reads/Writes where the filename is explicitly specified will
be handled properly in all cases. The length will be specified
correctly whether its a variable or constant.
The bottom line to all of this is that both the file name and
length parameters should be unique for each separate file.
In other words for all instances in a program, file "X" should
use the same variable to specify dataset name and this variable
should be unique to file "X". Also the length parameter for
file "X" should be unique to file "X" and not used for other
files. This will allow the translator to properly identify and
fix or flag the changes required.
- The following items must be recoded.
- Examine change to inspect
- Transform change to inspect
- Alter remove this code
- Note remove this code
- usage is comp-1 not allowed
- usage is comp-2 not allowed
- usage is display-1 not allowed
- usage is pointer not used in vs COBOL but allowed
in COBOL/400L, however it works
different than might be expected.
The above will be flagged.
- READs into working storage will be checked to verify that
the area is large enough to hold the record. It should be
noted that slack bytes between 01 levels are not necessarily
addressable and any overflow will cause a machine check.
This condition will be flagged.
- COBOL CALL statement in CICS
COBOL calls in CICS works a little different from MVS.
A new copy of working storage is not used
with each call. Therefore working storage should
be initialized to the proper values in the
procedure division upon invocation.
The call will be flagged.
- EXEC CICS ADDRESS
Exec CICS Address will not be the same..
Chaining to addressed areas will be different
this will require a manual workaround.
This will be flagged.
- EXEC CICS DUMP
Exec CICS DUMP is not be the same..
The only option supported is dumpcode.
This command will be fully translated to
The proper format.
(cont.)
- EXEC CICS SEND SET()
Exec CICS SEND with the set option is not
supported. This will require a manual fix.
This will be flagged.
- EIBTASKNO
Eibtaskno is not guaranteed to be unique.
This should not be used to generate any type of reference
number or ID. This will be flagged.
** The following differences will be handled automatically:
- comp/comp-3 on the AS/400 comp is packed decimal
and comp-3 is binary. Comp will be
converted to binary, and comp-3 will
be converted to comp.
- bll cells (1) COBOL/400 treats bll cell usage
the same as COBOLII. BLLCELLS and
exec CICS SET commands will be converted
in most cases. This may not be 100% for
all programs. Programs which don't convert
correctly should be modified so the will
convert correct in the future.
- bll cells (2) BLL cells in the linkage section will be
made comments. All references to these in
the source will also be commented.
- Service Reload All service reload statements will be made
comments.
- COMPUTE EQUAL is not valid, it will be changed to \
compute =
avoid use of compute equal in the future.
- Section Names Section names must be followed by a paragraph
name, a dummy name will be inserted.
- Label records The Label Records clause on SD statement is
not valid, it will be commented.
- SELECT/ASSIGN The UT-S on assign statements will be replaced
by database.
- REMARKS The remarks clause is not valid. It will be
commented out. It no longer should be used.
- DSIDERR On handle condition statements dsiderr is not
valid, it will be replaced with FILENOTFOUND.
- COPY The words "in copylib" will be added to all
copy statements.
except for specifically specified system
copybooks. (like dfhaid, etc.).
(cont.)
- POSITIONING The write with positioning option will be
translated to advancing if the "*PRINTER="
comment is used.
- Alternated indices
Are not supported the same as MVS COBOL.
If portability is desired a control
mechanism is provided to selectively
include or omit code for various platforms.
See the control file documentation.
The following conditions will cause the AS/400 translator to
work incorrectly.
- Data Division entries not properly terminated with a period.
- BLLCELLS without a DFHCOMMAREA entry in the linkage section.
- set in exec CICS command without a following service reload.
this should cause a program error but in some cases may be
acceptable in VS/COBOL. The translator will not be able to
figure the new variable for the set option. Conversely a
service reload without a set is acceptable but it is flagged
for informational purposes.
There are two sets of parameter options for controlling
program translation to the AS/400. One set directly controls
the translator programs. The other is imbedded into the
source program to provide program specific source changes.
The batch translation jobs access a file called AS400cvt.ini
to control translator options.
See appendix B for the format and description of this file
The second type of parameters are imbedded into the source
program. These cause selective inclusion or exclusion of
source code. This allows target specific code to be selective
included or omitted. This will accommodate dialect specific
differences that cannot be readily translated. ex. alternated
indices.
See appendix B for the additional information on the format of
these processing commands.
RUNNING MIGRATION JOBS
NOTE ********************************************************
run any of the migration jobs with out parameters to see
the command syntax.
COPY BOOK MIGRATION
"AS400CPB.BAT" will be used to migrate copybooks to the
AS/400.
Run this job in subdirectory where the copybook (s) exists.
**** Run this from a temporary directory *****
This job will translate the copy book and move the translated
copy to drive "I" subdirectory "MIG". Therefore pc support
must be started and drive "I" must exist.
The copybook will be moved with a suffix
of ".400". It will be delete from the AS400cp subdirectory
at the end of the batch job.
The bat job will also create a file of commands that can be
used to migrate the copybooks to the AS/400 automatically.
The file will be called COPYNAME.mov.
The command can be executed in the PC SUPPORT menu.
COMMAND PCSMENU from an OS2 command prompt to start pc support
menu option.
SELECT option "SUBMIT host system command" from PCSMENU then
enter [ /I I:\MIG\COPYNAME.MOV ] (brackets are shown to outline
the command do not enter them)
PROGRAM MIGRATION
"AS400CVT.BAT" will be used to Translate COBOL programs
for the AS/400.
The batch job will
translate the program and then move it to drive I: subdirectory
"MIG".
The bat job will also create a command file that can be
used to migrate the program to the AS/400 automatically.
The file will be called PGM.mov where PGM is the program
name you entered, "mov" is a constant.
The command file PGM.mov is also moved to drive I subdirectory
MIG
(cont.)
PROGRAM MIGRATION (cont.)
The command can be executed in the PC SUPPORT menu.
Use command PCSMENU from an OS2 command prompt to start the pc
support menu option.
SELECT option "SUBMIT host system command" from PCSMENU then
enter [ /I I:\MIG\PGM.mov ] (brackets are shown to outline
the command do not enter them)
AFTER MOVING FILES USING PCSMENU COMMANDS THEY SHOULD BE
DELETED FROM THE "I:\MIG" SUBDIRECTORY.
FILE MIGRATION
Variable File Expansion.
perform this step for files that contain multiple occurs
depending on. SEE APPENDIX A:
"AS400FSD.BAT" will be used to migrate files from the PC
to the AS/400, both fixed and variable length.
The file to be moved must be in the CA/Realia variable format
with an lrecl of 32000 ==> filename.xxx[v32000]
This applies to both fixed and variable files.
For files downloaded from the mainframe (see downloading
instructions using addllbb)
RCOPY /l file1[Bmmmmm] file2[v32000]
where mmmmm is the max lrecl
per download instructions
After the file is in the [v32000] format run AS400fsd
AS400fsd filenm (maxlrecl + 3) (keyoffset keylength)
Note: add three to the maxlrecl for variable files only.
Keyoffset and length should be combine into a
multi-byte string. 10 bytes for each key pair.
up to 5 key pairs can be strung together.
This causes the sign on the key to be converted
and should ONLY be used on packed data. Do not
specify a key area that is binary or text data.
(cont.)
FILE MIGRATION (cont.)
Fixed length files use the exact same procedure
EXCEPT where you specify the lrecl on the AS400fsd command
DO NOT ADD 3 FOR FIXED FILES
example: Authfile has max lrecl of 857
the key starts in byte 6 for a length of 10
AS400fsd Authfl 00860 0000600010
this will create authfl.snd in the current directory
The file will also be moved to drive I:\MIG where the
proper AS/400 command will be generated. Use the same
procedure with PCSMENU as for transmitting programs.
The file DDS and actual file to hold the data must be created
before the migration
JCL MIGRATION
"AS400MCL.BAT" will be used to translate JCL from the MVS
format to AS/400 CL program.
The program will output the CL statements and a "semi" graphic
flowchart that symbolizes the MVS JCL logic. The output of this
job will not be migrated automatically because customization
will be required. See appendix B for control information
for the first step (quickdoc).
APPENDIX A:
Moving MAINFRAME files to the PC
** FIXED Length Files.
Just transmit using FT or receive command (assumes ind$file)
use no options (no ASCII or CRLF, no translation to ascii)
go to CREATE PROGRAM usable FILE below
** VARIABLE Length Files.
run job on mainframe to prefix each record with the LLBB
see below:
vsam files must be unloaded.
transmit the file made with this job.
Just transmit using FT or receive command (assume ind$file)
use no options (no ASCII or CRLF, no translation to ascii)
go to CREATE PROGRAM usable FILE below
*************************************************************************
CREATE PROGRAM USABLE FILE: ********** see NOTE
PC programs whether PC-CICS or Batch use the CA/Realia file formats.
It is very easy to create these formats.
for FIXED length files use the following example:
Rcopy file1[Bnnn] file2[Fnnn]
file1 is the file downloaded
file2 is the output file
nnn is the lrecl (must be correct)
B and F are constants
for VARIABLE length files use the following example:
Rcopy /L file1[B32000] file2[Vmmm]
file1 is the file downloaded
file2 is the output file
mmm is the max lrecl (must be correct)
B32000 and V are constants
To make an INDEXED FILE (usable to CICS )
Rcopy filex file2[Xmmm]
filex is the CA/Realia format file created above
file2 is the output file
mmm is the max lrecl (must be correct)
X constants
(cont.)
(cont.)
you are prompted for index offset and length
for both primary and alternate indices.
use same as vsam file definitions
example keylength 10 starts in 3rd byte of program (like authfile)
enter 2/10
**************************************************************
NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE MOTE NOTE
=> for files with multiple occurs depending on
=> use a different procedure
**************************************************************
MULTIPLE (more than 1) OCCURS DEPENDING ON files.
- create and transmit file as stated above.
- run 1st real copy step as stated above.
- then run expfile like this.
SET SYSIN=AUTHFILE.INF <= control file
SET SYSUT1=AUTHFILE.DAT[V00782] <= input file (output of RCOPY)
SET SYSUT2V=AUTHFILE.NEW[V] <= modified file (input to load)
EXPFILE 00782
00782 is the max lrecl, substitute
proper value.
***** CONTROL FILE
*****************************************************************
* FIRST CARD MUST BE HEADER
1-8 FILEID <= use any value
9 TRANS TYPE/ A=TO ASCII E=TO EBCDIC <= use an E
10 - 14 MAX LRECL <= correct lrecl for file
15 - 19 zeros <= zeros
AUTHFL06A0033500000
* COMMENTS MAY FOLLOW HEADER, FORMAT IS "*" IN CC1
*
*****************************************************************
* ***** format offset,length,value,fmt ******
* FORMAT CARD (OPTIONAL, 1 FOR EACH RECORD TYPE...MAX 25)
1- 6 FORMAT
THEN FREEFORM MAX LENGTH 5 FOR OFFSET,LENGTH, VALUE, FMT
value max length is 15
offset and length always number, value in numeric or character
fmt (1 byte) c=char, p=packed, x=hex, z=zoned
EX VALUE 5 , FMT P...VALUE A, FMT C ...VALUE 3FC, FMT BIN
FORMAT 7,1,A,C
special format for records without a format test, just use
the keyword FORMAT with no parameters, only one allowed
per run and it must be first format card
*****************************************************************
** occurs offset,length,occurs-entry-size,base-size,format[,MO]*
*
* OCCURS CARD (OPTION, ONE FOR EACH VARIABLE OCCURS...MAX 25)
*
* 1- 6 OCCURS
* THEN FREEFORM MAX LENGTH 5 EACH OFFSET,LENGTH, SIZE, BASE,FMT
*
* OFFSET, LENGTH, SIZE BASE ARE ALWAY NUMERIC
*
* offset is the offset into the record of the depending
* on variable
*
* length is the number of bytes of the depending
* on variable
*
* occurs-entry-size is the size of one table element
*
* base is the length of the
* fixed portion of the record
*
* FMT (1 BYTE) P=PACKED, B=BIN, Z=ZONED (B LENGTH ALWAYS 2 OR 4)
* FMT (1 BYTE) f=fixed length occurs (no depending on)
* length must be zero on fixed length occurs
*
* OCCURS cards MUST BE IN SEQUENCE OF TABLE OFFSET.
* not of the depending on variable
*
* there must be one OCCURS card for each depending on table
*
(cont.)
(cont.)
***** CONTROL FILE
*
* IF [MO] IS PRESENT IT REPRESENTS THE MAXIMUM NUMBER OF OCCURS
* AND WILL ADJUST THE OUTPUT RECORD TO THE MAXIMUM OF SIZE OF THE
* OCCURS PADDING THE LAST VALID DATA WITH SPACES
* ** YOU must alway use this
*
* example of authfile control cards
*
AUTHFILEE0078200000
FORMAT
OCCURS 355,2,14,374,P,12
OCCURS 357,2,6,374,P,12
OCCURS 354,1,24,374,P,7
***********************************************************************
* SPECIAL NOTE the control file must be an EBCDIC file with **
* NUM ON STD otherwise it won't work. **
* create on the mainframe and xmit to pc if you don't have a pc
* ebcdic editor
***********************************************************************
Job on mainframe to put file in correct format
//ZTEST00T JOB (ADUTEST),TEST,
// CLASS=T,MSGCLASS=X,NOTIFY=WTEST
//* CLASS=C,MSGCLASS=X,NOTIFY=WCOMPILE
//*
/*JOBPARM P=PROC01
//*
//*
//XX1458P EXEC PGM=ADDLLBB,
// REGION=4096K,
// PARM=00200 <====MAX LRECL
//*
//STEPLIB DD DSN=TEST.LOADLIB,DISP=SHR
//SYSOUT DD SYSOUT=*
//SYSDBOUT DD SYSOUT=*
//SYSOUD DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSUT1 DD DSN=TEST.AUTHFL31,DISP=SHR,DCB=BLKSIZE=32008 <=NO CHANGE
// DD DSN=TEST.AUTHFL32,DISP=SHR
//SYSUT2 DD DSN=TEST.AUTHFLX,DISP=(NEW,CATLG,DELETE),
// UNIT=CREDTEST,SPACE=(TRK,(15,30),RLSE),
// DCB=(RECFM=VB,BLKSIZE=32700,LRECL=32000) <= DO NOT CHANGE
APPENDIX B:
AS400CVT.ini
This ini file contains controlling parameters for
AS400rln, AS400trn and AS400mcl programs.
each program can use a separate ini file or all of the
command can be place in a common ini file.
the format for records in this file is: 1-3 rem = remarks
all = input to both pgms
rln = input to AS400rln
trn = input to AS400trn
jcl = input to AS400jcl
4-8 keyword (as described)
9 = constant of = (where needed)
10+ = control value
input can be either upper or lower case or mixed.
The following are included in the COBOL source program
to control translator special handling of the source.
general format: cc7 (all upper case)
*T$CP XXXXy FFFFFFFFF...
where *T$CP is a constant
XXXX is one of the following functions:
SCMT - make all following statements comments
ECMT - end making statements comments
SUNC - "UN" comment all following statements
EUNC - end "UN" commenting of statements
INCF - copy the file (FFFFFFF...) into the source
y is any character that is matched to the
trnsrcpc character
The file FFFFFF.. format follows the same rules
as copy books. No pseudo text is allowed.
The file is included into the source on the second
pass of the translator. The program follows the rules
for finding copybooks to find this file. The extension
should not be enter here but it should be on the file
as it exists on the pc. This file is not required on
the AS/400.
The following are input to this file (AS400cvt.ini)
error: controls the level of error message display
valid values are 0,1,2
value 2 displays all program messages
value 1 displays all error messages related to code
conversion and program internal errors (default)
value 0 displays only program internal errors (like table
size errors etc.)
comment: value of 2 is good for debugging and full display
however value of 1 is sufficient to determine any
program code errors that might affect translation
or that would need manual modification.
a special value of 3 for AS400rln will show the
ws data names and their calculated lengths.
ex: rlnerror=1
allerror=2
copye: controls the copy book expansion level
valid values are 0,1,2
value 3 expands the copybooks for both pass 1 and 2
value 2 expands the copybooks for pass 2 only
value 1 expands the copybooks for pass 1 only (default)
value 0 does not expand copybooks
comment: value of 1 is recommended it provides the best balance
between speed and conversion thoroughness. Most programs
will probably translate correctly without expanding
copybooks, however sometimes the copybook detail will
help the translation process be more accurate.
In general I haven't found any programs that benefit
in AS400trn with level 2
NOTE:
If you using AS400rln and want to check file size
against size in working storage and file defs are in
a copy book then you must set rnlcopye=2
ex. rlncopye=2
trncopye=1
recommend settings: rnlcopye=2 trncopye=1
rlncopye=2
syslx: controls the copybook extension after the "dot" in
the file name. The default is COB.
comment: This would typically be COB or CBL etc.
The copybooks must have the format of xxxxxxxx.xxx
ex. trnsyslx=CBL
trnsyslx=cob
syslv: Controls the environment variable to search for the
copy books. The default is syslib. This environment
variable would specify the directory search order like
a "PATH" statement. Maximum size is 8 characters.
ex. trnsyslv=copybook
from your command prompt type > set copybook=.\;c:\copylib...
syslv=2
rlnsyslv=syslx
cobii: Controls the conversion of COMP/COMP-3 items.
valid values are 1,2. Value of 1 converts the
items suitable for AS/400 use. Value of 2 leaves
items suitable for use on S-370 COBOL II.
Not valid for AS400rln.
ex: trncobii=2
trncobii=2
prcdv: Forces AS400trn to convert procedure division
code segment, or code segments with the data
division. This is useful if you have procedure
division code in copybooks. Only valid value is 1.
Not valid for AS400rln.
ex. trnprcdv=1
trnprcdv=2
trntb: Convert a single unique character to a different
character. In other words translate one character
to another. Up to 255 of these control statements
may be entered.
ex. rlntrntb=%X replace all "%" by "X"
rlntrntb=^+
bypgm: Add a list of program names that may be called in
a CICS pgm that have been verified to be reentrant.
This will bypass error message display for programs
in this table. Up to 30 cards may be entered.
Not valid for AS400rln. Program name may be upto
8 characters.
ex. trnbypgm=testpgm1
trnbypgm=testpgm2
queue: Add checking of TS and TD queue storage lengths.
This will compare the length specified length in
the exec CICS command length option to the calculated
size of the area in working storage. If the area
in WS is not large enough an error will be generated.
Not valid for AS400trn.
ex. rlnqueue
rlnqueue
sectn: Make dummy inserted paragraph after procedure division
a section rather than a paragraph. Default is no.
Only valid as trnsectn
ex. trnsectn=yes
trnsectn=yes
sync?: Remove "SYNC" clause from all statements.
Default is no.
Only valid as trnsync?
ex. trnsync?=yes
trnsync?=yes
srcpc: Set the source process character
This can be any character. It is used to selectively
include/omit certain source code based on the translator
source processing parameter (*T$CP)
This character is matched
to the last character (XXXy) of the TSP function to
determine which functions to execute for this run. This
allows multiple sets of code to exist in the source and
be selected by target platform.
Default is 4
Only valid as trnsrcpc
ex. trnsrcpc=a
trnsrcpc=4
spcrg: include code to handle IBM special register language
extensions.
This will cause the translator to create code for
handling of special registers such as CURRENT-DATE
SORT-RETURN, that are not part of COBOL/400
Default is Y for batch programs and N for CICS
Only valid as trnspcrg
ex. trnsrcpc=
trnspcrg=y
** The following are input to program AS400jcl
There are 3 types of control cards that control generation of
of the CL.
In order to understand the control card you need to know a
little about how the CL is generated. The CL job is segregated
into distinct sections each of which has a function. Two types
of control cards relate to including code into a specific
section. The third type of control card acts on what the program
is doing, as opposed to being output CL.
The third type of control cards are
Global replace GLOBL
format JCLGLOBL=oldvalue ,newvalue
old and new value must be same length
comma must be coded where shown and spaces
trailing spaces don't count
valid jclglobl=old1234567,new7654321
jclglobl=old1 567,new7654 1
jclglobl=old1 ,new7
invalid jclglobl=old123456,new765432
invalid jclglobl=old ,new765432
invalid jclglobl=old ,new7
example jclglobl=prod ,test
would replace every instance of 'prod'
with 'test'.
up to 99 globl command may be entered.
replacement is done to the output CL.
IEBGENER COPY command FMTCP
CL command that points to FMTDTA source library
The existing default replacement for an IEBGENER file
copy will probably be invalid if you specify sysin dd dummy.
You can include a hard coded override by entering
JCLFMTCP=FMTDTA SRCFILE(YOURLIB/YOURFILE) SRCMBR(YOURCODE) +
you can replace the file, library, and member with whatever
you wish (don't forget the + at the end).
The first two type of control info modify the output CL commands
by either replacing the default generated code or adding code
along with the default code. The program uses the default code
to support the code generated from the MVS JCL.
The generated CL Job is divided into the following
categories, from the top to the bottom.
Category area
--------- ------------------------
1 DECLARE VARIABLES
2 JOB MONITOR MESSAGES
3 JOB PREPROCESSING
4 STEP PREPROCESSING
5 STEP RETURN CODES
6 STEP POST PROCESSING
7 JOB RETURN CODE
8 ENDOF JOB PROCESS
The program contains default code that can be replaced and
allows for user code to be included along with the default
code.
To REPLACE the default code (all default code must be specified)
the category needs to be specified followed by the cl statements.
The control card is place infont on the control information.
A maximum of 256 entries is supported.
Replace Default REPDF
format JCLREPDF
followed by new default info.
example. assume start in cc1.
note number in cc1 that represents cl category
numbers must be sequential
JCLREPDF
1/* ++++++ generated DCL follows +++++++++++*/
1DECLARE: DCL &JOBID *char 10
2/* ++++++ job monitor message code follows */
To ADD code to the generated code the particular area must be
specified by a control card. The code to include in the output
follows the control card (like above).
A maximum of 256 entries is supported for each control card
type (listed below).
Control Category area
--------- --------- ------------------------
DCLVB 1 DECLARE VARIABLES
placed after default code but before
dcl generated from MVS JCL
JOBMM 3 JOB MONITOR MESSAGES
placed after monitor messages from
default code and before first step
setup code
JOBPP 3 JOB PREPROCESSING
placed after default job setup code
and before first step setup code.
STPPP 4 STEP PREPROCESSING
placed after default step startup
code and before code generated from
the MVS JCL. This code is included
for each step.
* STPRC 5 STEP RETURN CODES
* not implemented placed after default step return code
* at this time code and before default code for
* step post processing.
*
STPPX 6 STEP POST PROCESSING
placed after default step return code
extraction and before generated post
process code.
JOBRT 7 JOB RETURN CODE
placed after default job abend process
code and before final post process code.
JOBPX 8 JOB POST PROCESSING COPY INTO END
all code following this is place after
all generated code. The is no limit to
the number of cards that can follow.
ENDIT delineates end of input for one of
the above categories. It is not required
but it should be placed before any
remarks (REM) between categories.
Include CL CODE DCLVB,JOBMM ...
format JCLDCLVB
followed by include CL
example. assume start in cc1.
note category number not used here.
JCLDCLVB
/* ++++++ User DCL follows +++++++++++*/
DCL &JOBTST *CHAR 10
DCL &STPTST *CHAR 10
<== note blanks are allowed
JCLSTPPP
/* ++++++ User step preprocess code++++*/
CALL USERSTEP PARM(&STPTST)
JCLENDIT <== if this card were not included all of the
<== following rem stmts would be place in the
<== output area of each step.
The first step of the AS400mcl batch job parses the jcl and
generates the flow chart. This program has its own control
card formats. This program was licensed from MERLYN DATA
SYSTEMS, INC. and remains their property. It is included
with no restrictions other than it may not be sold or
sub licensed.
These control cards should be keyed and included in a
separate file that is specified for the "SET" statement
SYSIN.
THE CONTROL CARDS:
CONTROL CARDS COME IN TWO TYPES: TYPE "H" CONTROL CARDS
ARE USED TO PASS HEADING INFORMATION TO THE OUTPUT ROUTINE.
THE "KEYWORD" CONTROL CARDS ARE USED FOR FLOW CHART
GENERATION CONTROL, (IE controlling formatting OF FLOW CHART)
"H" TYPE CONTROL CARDS MUST START IN CARD COLUMN 1 BUT
"KEYWORD" CONTROL CARDS MAY START IN COLUMNS 1 THRU 16. THE
INFORMATION PASSED ON THE "H" TYPE CONTROL CARDS IS AUTO-
MATICALLY CENTERED ON THE OUTPUT SO ALIGNMENT ON CONTROL
CARDS IS NOT NECESSARY.
YOU MAY ENTER MULTIPLE "KEYWORD" CONTROL CARDS ON ONE
LINE separated BY COMMAS, BUT YOU MUST NOT SPLIT THEM
OR EXCEED COLUMN 71.
YOU MAY NOT ENTER MULTIPLE "H" CONTROL CARDS ON A
LINE. "H" CONTROL CARDS AND KEYWORD CONTROL CARDS
MUST NOT BE MIXED ON A CARD. THE CONTROL CARDS MAY
APPEAR IN ANY ORDER.
AT INITIAL INSTALLATION DEFAULT VALUES WERE
ESTABLISHED FOR MOST OF THE RUN PARAMETERS. THESE DEFAULTS
MAY BE overridden BY USING THE CONTROL CARDS LISTED, TO
OBTAIN A LIST OF SYSTEM DEFAULTS USE THE "PRINTOPT"
CONTROL CARD. YOUR SYSTEMS PROGRAMMER WHO INSTALLED
QUICKDOC HAS THE ability TO MODIFY THE DEFAULT PARA-
METERS IF NECESSARY.
---------- QUICKDOC ---------
COPYRIGHT 1979,1989,91,93,94 MERLYN DATA SYSTEMS
---------- QUICKDOC ---------
"H" TYPE CONTROL CARDS (START IN COL 1)
H-PROCMEM THIS IS THE PROCLIB MEMBER NAME. THIS INFORMATION WILL
BE GENERATED FROM THE PROC NAME THAT IS ON THE PROC
STATEMENT IF THIS CARD OMITTED. OTHERWISE THE INFORMATION
ON THIS CARD WILL APPEAR UNDER THE HEADING
"PROCLIB MEMBER"
THE MAXIMUM DATA LENGTH IS 8 CHARACTERS.
EXAMPLE H-PROCMEM=ABCDEFGH
H-MGRNAME THIS IS THE PROJECT MANAGER NAME. THIS INFORMATION
WILL APPEAR UNDER THE HEADING "PROJECT MANAGER"
THE MAXIMUM DATA LENGTH IS 35 CHARACTERS.
EXAMPLE H-MGRNAME=JOHN DOE JR
H-JOBNUMB THIS IS THE JOB NUMBER. THIS INFORMATION WILL APPEAR
UNDER THE HEADING "JOB NUMBER".
THE MAXIMUM DATA LENGTH IS 14 CHARACTERS.
EXAMPLE H-JOBNUMB=ABCDEFGH1243GG
H-SYSNUMB THIS IS THE SYSTEM NUMBER. THIS INFORMATION WILL APPEAR
UNDER THE HEADING "SYSTEM NUMBER".
THE MAXIMUM DATA LENGTH IS 14 CHARACTERS.
EXAMPLE H-SYSNUMB=QQQ-QQ123-44AB
H-INSTALL THIS IS THE INSTALLATION DESIGNATION. THIS INFORMATION
WILL APPEAR UNDER THE HEADING "LOCATION".
THE MAXIMUM DATA LENGTH IS 8 CHARACTERS.
EXAMPLE H-INSTALL=YOURNAME
NOTE THIS CARD IF omitted WILL DEFAULT TO YOUR
INSTALLATION STANDARD.
H-SYSNAME THIS IS THE SYSTEM NAME. THIS INFORMATION WILL APPEAR
UNDER THE HEADING "SYSTEM NAME".
THE MAXIMUM DATA LENGTH IS 42 CHARACTERS.
EXAMPLE H-SYSNAME= GENERATE FLOW CHARTS
NOTES: IF NO CARD IS FOUND FOR A HEADING TYPE BLANKS IS THE
DEFAULT (EXCEPT ON H-PROCMEM WHERE THE DEFAULT IS THE
NAME ON THE PROC statement AND H-INSTALL WHICH IS
SET UP AT SYSGEN TIME)
IMBEDDED SPACES ARE PERMITTED
---------- QUICKDOC ---------
COPYRIGHT 1979,1989,91,93,94 MERLYN DATA SYSTEMS
---------- QUICKDOC ---------
"KEYWORD" CONTROL CARDS
UNIT THIS CARD ASSIGNS FLOW CHART KEYWORDS TO VARIOUS UNIT
PARAMETER IN THE JCL. UP TO 25 UNIT CARDS MAY BE INPUT.
COMPARISON IS MADE TO ONLY 4 BYTES IN THE JCL THERE FOR
ONLY THE FIRST FOUR BYTES IN THE JCL ARE SIGNIFICANT.
UP TO FORTY MAY BE ASSIGNED AS STANDARD AT SYSGEN TIME.
FORMAT UNIT=(JCLX,FLOW)
WHERE JCLX IS CHARACTERS ON UNIT PARAMETER IN JCL AND
FLOW IS THE QUICKDOC KEYWORDS ASSOCIATED WITH THIS,
VALID VALUES FOR FLOW ARE (TAPE,CARD,PRNT,DISK)
EXAMPLE UNIT=(2400,TAPE)
UNIT=(3330,DISK)
UNIT=(1403,TAPE)
UNIT=(28C ,TAPE)
UNIT=(151 ,DISK)
UNIT=(TAPE,DISK)
DEFAULT THIS CARD ASSIGNS FLOW CHART KEYWORDS TO DD"S WHEN
THE QUICKDOC PROGRAM CANNOT DETERMINE WHAT THE UNIT
SHOULD BE. A UNIT TYPE CAN NORMALLY BE DETERMINED IF
THE FILE HAS A DISP OF OLD OR SHR AND IT IS CATALOGUED,
OR IF THE UNIT IS PREVIOUSLY SPECIFIED FOR THAT DSNAME,
OR IF THE UNIT IS EXPLICITLY DEFINED FOR THAT FILE.
THE INTERNAL DEFAULT FOR THIS CARD IS TAPE
FORMAT DEFAULT=FLOW
WHERE FLOW IS A VALID QUICKDOC KEYWORD (SEE UNIT LIST)
EXAMPLE DEFAULT=TAPE
DEFAULT=CARD
DEFAULT=DISK
---------- QUICKDOC ---------
COPYRIGHT 1979,1989,91,93,94 MERLYN DATA SYSTEMS
---------- QUICKDOC ---------
DDNAME THIS CARD ASSIGNS FLOW CHART KEYWORDS TO JCL STATEMENTS
THAT USE A DDNAME.
FORMAT DDNAME=FLOW
WHERE FLOW IS A VALID QUICKDOC KEYWORD (SEE UNIT LIST)
EXAMPLE DDNAME=TAPE
DDNAME=DISK
PUNCH THIS CARD CAUSES THE REALIGNED PROC DATA TO BE PUNCHED
TO THE SYSPUNCH OUTPUT FILE.
NOPUN THIS CARD CAUSES THE REALIGNED PROC DATA NOT TO BE PUNCHED
TO THE SYSPUNCH OUTPUT FILE.
NOVERLAY THIS CARD ELIMINATES THE "+" BORDER AROUND THE OUTPUT
SYNTAX THIS CARD CAUSES LIMITED SYNTAX CHECKING TO BE PERFORMED
ON THE INPUT PROC. UNLIKE THE OS SYNTAX CHECKER THE SCAN
DOES NOT TERMINATE AT THE FIRST SPACE ENCOUNTERED SO ANY
CHARACTERS AFTER A BLANK WILL BE INTERPERTED AS A SYNTAX
ERROR.
NOSYNTX THIS CARD DISABLES THE SYNTAX CHECKING OF THE PROC.
CONFLICT THIS CARD CAUSES UNIT CONFLICTS TO BE DISPLAYED
A UNIT CONFLICT IS WHEN A DATA SET NAME HAS TWO DIFFERENT
UNITS IN THE SAME PROC.
THE INTERNAL DEFAULT IS FOR CONFLICTS TO BE DISPLAYED
NOCONFLT THIS CARD CAUSES UNIT CONFLICT TO BE DISPLAYS TO BE
SUPPRESSED.
---------- QUICKDOC ---------
COPYRIGHT 1979,1989,91,93,94 MERLYN DATA SYSTEMS
---------- QUICKDOC ---------
XREFLIST THIS CARD CAUSES THE SYMBOLIC PROC LISTING TO BE
GENERATED AND PRINTED.
NOXREF THIS CARD CAUSES THE SYMBOLIC PROC LISTING TO BE
SUPPRESSED
SORTWK
SORTLIB
STEPCAT
STEPLIB
SYSPRINT
THESE CARDS WILL CAUSE A UNIT TO BE GENERATED WHEN A
DD statement WITH A MATCHING NAME IS ENCOUNTERED.
THE UNIT WILL BE PRINTED ON THE OUTPUT FLOWCHART. THE
SORTWK CARD WILL ONLY SHOW ONE SORTWORK SYMBOL
REGARDLESS OF THE NUMBER OF SORTWK statements IN THE
STEP. THE SYSPRINT CARD WILL ALLOW ANY DDNAMES
BEGINNING WITH "SYS" TO BE PRINTED.
NOSORTWK
NOSORTLB
NOSTEPLB
NOSTEPCT
NOSYSPR
THESE CARDS WILL SUPPRESS THE PRINTING OF SYMBOLS WITH A
MATCHING DDNAME.
---------- QUICKDOC ---------
COPYRIGHT 1979,1989,91,93,94 MERLYN DATA SYSTEMS
---------- QUICKDOC ---------
SYMBOLIC THIS CARD ALLOWS SYMBOLIC VARIABLES TO BE REPLACED
ON THE OUTPUT FLOW CHART.
FORMAT SYMBOLIC=(PGM,UNIT,DSN,SYSOUT,DISP)
WHERE PARAMETERS INSIDE PARENTHESES ARE FIELD TYPES
THAT WILL BE REPLACED WITH VALUES ON PROC STATMENT
IE. IF PGM IS SPECIFIED AND JCL IS PGM=&PGM1
AND PROC statement IS PGM1=QUICKDOC
OUTPUT ON FLOWCHART WILL NOW SHOW PGM=QUICKDOC
THE VALID PARAMETER FOR SYMBOLIC ARE:
PGM UNIT DISP SYSOUT DSN
NOPGM NOUNIT NODISP NOSYSOUT NODSN
PARAMETERS BEGINNING WITH "NO" suppress SUBSTITION OF THE
INDICATED TYPE.
EXAMPLE SYMBOLIC=(PGM,UNIT,DSN,SYSOUT,DISP)
SYMBOLIC=(PGM,NOSYSOUT)
SYMBOLIC=(DSN)
SYMBOLIC=(DISP,SYSOUT)
THE PARAMETER AND ITS NEGATIVE IN THE SAME RUN WILL CAUSE
THE LAST ONE ENCOUNTERED TO BE USED. THEY MAY BE CODED
IN ANY ORDER.
---------- QUICKDOC ---------
COPYRIGHT 1979,1989,91,93,94 MERLYN DATA SYSTEMS
---------- QUICKDOC ---------
FILELEN.TAB
file format
This file is input to the record length test and convert
routines. It is used for CICS programs only.
The format is:
cc 1-8 file name (can have trailing ? for
generic equivalency test
ex. authfl01 and authfl??
work both select file authfl01)
cc 9-13 if the maximum lrecl for the file.
cc 14 indicates whether to fix input (I),
output (O), or both (B). Generally choose
B unless it causes a problem.
APPENDIX C:
Errors That may result
GENDOC4:
ERROR HANDLING AND CODES
"QUICKDOC" WAS DESIGNED TO HANDLE MOST USER ERRORS, BUT, IN
SOME CASES THE OUTPUT PRODUCED MAY BE UNDESIRABLE. IN THOSE
INSTANCES THE ERROR SHOULD BE CORRECTED AND THE JOB RERUN.
ERROR MESSAGES
*** QD0100 SYMBOLIC XREF TABLE LIMIT REACHED
CAUSE: MORE THAN 75 SYMBOLIC NAMES ON PROC STATEMENT
COMMENT: IF SYMBOLIC SUBSTITUTION ON FLOW CHART WAS REQUESTED
VARIABLES WILL NOT BE REPLACED AFTER THE SEVENTY FIFTH
NAME. NO ERRORS WILL RESULT IN THE FORMATTED PROC OUTPU
THE CARD DISPLAYED FOLLOWING THE MESSAGE WAS THE ONE IN
ERROR.
*** QD0101 EXPECTED CONTINUATION NOT RECEIVED
CAUSE: MISSING COMMA OR OTHER ERROR ON PROC STATEMENT
COMMENT: LOADING OF SYMBOLIC CROSS REFERENCE TABLE IS TERMINATED
AND SYMBOLIC REPLACEMENT ERRORS MAY RESULT. THE CARD
DISPLAYED FOLLOWING THE MESSAGE IS IN ERROR.
*** QD0102 UNDETERMINED JCL ERROR
CAUSE: QUICKDOC COULD NOT DETERMINE LOGICAL BREAK ON JCL SCAN
COMMENT: THIS ERROR COULD BE CAUSED BY A COMMENT AFTER THE JCL
INFORMATION. "QUICKDOC" DOES NOT TERMINATE THE JCL SCAN
ON AN ENCOUNTERED BLANK AND THIS ERROR COULD BE ERRONEO
THE CARD IN ERROR IS DISPLAYED ON THE SAME LINE AS MESS
*** QD0103 KEYWORD SYNTAX ERROR
CAUSE: QUICKDOC ENCOUNTERED AN INVALID JCL KEYWORD
COMMENT: THIS ERROR COULD BE CAUSED BY A COMMENT AFTER THE JCL
INFORMATION. "QUICKDOC" DOES NOT TERMINATE THE JCL SCAN
ON AN ENCOUNTERED BLANK AND THIS ERROR COULD BE ERRONEO
THE CARD IN ERROR IS DISPLAYED ON THE SAME LINE AS MESS
*** QD0104 UNBALANCED QUOTES ON LINE
CAUSE: THE LINE CONTAINS AN ODD NUMBER OF QUOTES
COMMENT: THIS MAY NOT BE AN ERROR IF A FIELD IS CONTINUE ON THE
NEXT LINE. THE CARD IN ERROR IS DISPLAYED ON THE SAME
LINE AS THE MESSAGE.
*** QD0105 UNBALANCED PARENS ON LINE
CAUSE: THE LINE CONTAINS AN ODD NUMBER OF PARENTHESIS
COMMENT: THIS MAY NOT BE AN ERROR IF A FIELD IS CONTINUE ON THE
NEXT LINE. THE CARD IN ERROR IS DISPLAYED ON THE SAME
LINE AS THE MESSAGE.
*** QD0106 INFORMATION SHOULD START BEFORE CC 17
CAUSE: CONTROL CARD INPUT (KEYWORD FORMAT) SHOULD START IN
COLUMNS 1 THRU 16
COMMENT: CONSULT DOCUMENTATION FOR PROPER FORMAT. THE CARD THAT
IMMEDIATELY PRECEDES THE MESSAGE IS IN ERROR.
*** QD0107 ERROR IN KEYWORD CARD BYPASSED
CAUSE: QUICKDOC COULD NOT IDENTIFY INPUT
COMMENT: CONSULT DOCUMENTATION FOR PROPER FORMAT. THE CARD THAT
IMMEDIATELY PRECEDES THE MESSAGE IS IN ERROR.
*** QD0108 TOO MANY UNIT EQUATES ALL DROPPED AFTER THIS CARD
CAUSE: MORE THE 25 UNIT EQUATE STATEMENTS SUBMITTED
COMMENT: ALL UNIT EQUATE STATEMENTS AFTER MESSAGE WILL BE IGNORE
*** QD0109 ** SYMBOL NOT DEFINED IN PROCEDURE
CAUSE: DURING SYMBOLIC SUBSTITUTION ROUTINE A SYMBOLIC NAME
WAS ENCOUNTERED THAT WAS NOT ON THE PROC STATEMENT.
COMMENT: VALUE IN QUESTION IS DISPLAYED AFTER MESSAGE
*** QD0110 ERROR ON THIS PARM
CAUSE: SUBPARAMETER NAME IN SYMBOLIC CONTROL CARD INVALID
COMMENT: CONSULT DOCUMENTATION FOR PROPER NAME. THE SUBPARAMETER
IN ERROR IS DISPLAYED WITH MESSAGE.
*** QD0111 permanent UNIT TABLE EXCEEDED
CAUSE: THE UNIT TABLE ALLOWS ONLY 40 ENTRIES THIS CARD
WOULD CAUSE THE TABLE LIMIT TO BE EXCEEDED.
COMMENT: GET PRINT OF OPTION LIST AND CONTACT SYSTEM PROGRAMMER
*** QD0200 ** UNIT CONFLICT **
CAUSE: UNIT ON DATASET NAME WAS PREVIOUSLY DEFINED AS A
DIFFERENT TYPE.
COMMENT: THE SECOND UNIT WILL BE REPLACED BY THE FIRST UNIT
UNLESS "CONFLICT=NO" WAS SPECIFIED, THEN NO ACTION OCCU
*** QD0300 ABNORMAL SORT RETURN
CAUSE: RETURN CODE FROM SORT WAS NOT ZERO
COMMENT: SEE SYSOUT DATASET FOR MORE INFORMATION
*** QD0301 INVALID HEADER DESCRIPTION
CAUSE: AN "H" TYPE CONTROL CARD WAS INVALID
COMMENT: SEE DOCUMENTATION FOR PROPER FORMAT
*** QD0302 INVALID UNIT DESCRIPTION CARD
CAUSE: A UNIT WAS NOT PROPERLY DEFINED FOR THE FLOWCHART ROUTI
COMMENT: THIS ERROR IS GENERALLY CAUSED BY EITHER NOT HAVING A
UNIT EQUATE STATEMENT FOR A UNIT TYPE OR, NOT REPLACING
A SYMBOLIC UNIT VARIABLE.
*** QD0304 INTERNAL DESCRIPTION TABLE OVERFLOW
CAUSE: TABLE LIMITS EXCEEDED
COMMENT: THIS ERROR IS SERIOUS CONTACT MERLYN DATA SYSTEMS
COBOL/400 PROGRAM TRANSLATOR ERRORS:
The AS/400 translator has different severity error messages.
The levels are ( I=information, E=error, S=severe). The
"E" level message generally indicates a problem with the
generated output. The "S" level will indicate a problem
with the processing logic or internal error in the translator
program. The "I" level provides status information and
debugging information. The display level can be modified by
the "error" control card. The 1st character of the display
message shows the severity of the message, the next two
characters indicate the processing module. The message
number has no significance other than to uniquely identify
the error. Example (Irl 001). The informational messages
are not listed here as they generally just information or
used for debugging and are self explanatory.
ERL 008B
TEXT:
Into name table matches to renames level 66...
CAUSE:
The translator does not handle "renames" clauses for file length
determination.
ERL 010
TEXT:
Unable to assimilate.
CAUSE:
The file name could not be found in the file name lookup
table. The length for the file will not be correct.
ERL 011
TEXT:
This file not matched ....
CAUSE:
The file name was found in the file name lookup table, however
the corresponding length could not be found in the length
table. The length will be incorrect.
ERL 011A
TEXT:
Area not large enough to hold record...
CAUSE:
The storage area indicated for the file is not large enough
to hold the maximum record size. Or the length variable for a
file has been used by another file with a different length.
This will most likely cause a storage violation or overlay the
storage following the area.
ERL 026A
TEXT:
Probable length conversion error will exist.
CAUSE:
The length variable is not unique for this file or the length
for this file is specified differently in multiple places.
SRL 001
TEXT:
Possible dataset length logic error:
CAUSE:
The dataset target of a "read" into cannot be found in a
lookup table. This would indicate the the "into" storage area
cannot be found in the code. There is either a spelling or
syntax error in the code or a logic bug in the translator.
SRL 002
TEXT:
Run aborted more than 255 file names:
CAUSE:
The table that holds the distinct file names has exceed the
255 file name limit. Reduce the number of files in the program.
SRL 004
TEXT:
Run aborted more than 500 commands with "length"
CAUSE:
The table that holds resource lengths has exceed 500 entries.
Reduce the number of CICS commands that have the length option.
SRL 004A
TEXT:
Run aborted more than 255 commands with "into"
CAUSE:
The table that holds resource storage area names has exceeded
255 distinct entries.
Reduce the number of unique "into" storage areas.
SRL 005A
TEXT:
Potential missing period...
CAUSE:
The translator could not parse the indicated statement at the
line number displayed. There is probably a missing period on
the statement before or on this statement. There could be a
logic error in the translator.
SRL 014
TEXT:
More than 500 depending on variables...
CAUSE:
There were more than 500 "occurs depending on" clauses in the
program. The translator can only handle 500.
SRL 016
TEXT:
CX2 exceeds 4223.
CAUSE:
Internal logic error created parsing table overflow.
SRL 055A
TEXT:
Only 255 translate table entries:
CAUSE:
The character translate table (TRNTB) has exceed 255 entries.
Reduce the number of TRNTB control cards.
STR 055
TEXT:
Only 30 programs allowed to bypas
CAUSE:
Only 30 called programs can be input to override the call check
bypass (bypgm ctl statement). Reduce the number to 30 or less.
STR 055A
TEXT:
Only 255 translate table entries:
CAUSE:
The character translate table (TRNTB) has exceed 255 entries.
Reduce the number of TRNTB control cards.
ETR 003
TEXT:
Two sets (address) without a service reload.
CAUSE:
The program has 'SET (address) ' without a service reload
command. This may cause the translator to replace the
address incorrectly.
ETR 005
TEXT:
Two reloads without a set (address)...
CAUSE:
The translator has encounter a service reload without a "SET"
address. This may cause the translator to replace the
address incorrectly on a prior or subsequent set(address).
ETR 008 /STR 004/STR 014
TEXT:
Run aborted more than 255 BLL cells.
CAUSE:
The program contains more than 255 BLL cells.
Reduce the number to 255 or less.
ETR 010
TEXT:
Missing set for this sevice reload ...
CAUSE:
The translator has encounter a service reload without a "SET"
address. This may cause the translator to replace the
address incorrectly on a prior or subsequent set(address).
ETR 011
TEXT:
Missing service reload for this set...
CAUSE:
The program has 'SET (address) ' without a service reload
command. This may cause the translator to replace the
address incorrectly.
ETR 015A
TEXT:
Missing service reload for ...
CAUSE:
The program has 'SET (address) ' without a service reload
command, and there was no prior service reload for it.
This WILL cause the translator to replace the
address incorrectly.
ETR 019A
TEXT:
More than 98 select statements
CAUSE:
The program has exceeded the AS/400 limit of 98 select statements
and must be manually reworked.
ETR 020
TEXT:
This online program does not have a commarea
CAUSE:
The translator needs a DFHCOMMAREA in the linkage area
to properly translate CICS programs. Add the DFHCOMMAREA
statement and retranslate.
ETR 025A
TEXT:
Write with positioning and end of page ...
CAUSE:
The translator cannot translate the combination of positioning
and end of page, it must be manually handled.
ETR 025B
TEXT:
The following statement contains a reference to and alternate key
CAUSE:
The translator does not translate alternate keys automatically.
Alternate keys are not supported in the same manner. Use the
translator comment include/exclude feature (*T$CPxxxx)
to manually code the workaround
ETR 031/ ETR 032
TEXT:
BLL variable not found
CAUSE:
The translator could not find the BLL associated with this command.
The resulting message will display the pertinent info. The output
translated program will be incorrect.
ETR 033
TEXT:
The following statement contains an unsupport usage type.
CAUSE:
COBOL/400 will not support the "usage" type indicated. This
must be manually corrected.
ETR 034
TEXT:
The following statement contains a pointer...
CAUSE:
COBOL/400 pointers are not the same as MVS see text of message.
ETR 035
TEXT:
The following statement contains a reference to
CAUSE:
The program being referenced may not exist on the AS/400 it
will probably need a manual work around.
ETR 037
TEXT:
The following statement contains the variable EIBTASKNO
CAUSE:
The program use EIBTASKNO which may not be unique on CICS/400.
It may need a manual work around if you need a unique number.
ETR 038
TEXT:
The following statement contains an invalid verb...
CAUSE:
The translator encounter an unsupported verb (see display).
It will need a manual work around.
ETR 039
TEXT:
The following statement contains an "CALL" verb...
CAUSE:
See display.
ETR 040
TEXT:
This command contains ans address command...
CAUSE:
CICS/400 does not support addressing of certain CICS storage
area, also the SIGNON/SIGNOFF command is not supported. This
will need to be manually corrected.
ETR 041
TEXT:
This command has a send with a set ...
CAUSE:
CICS/400 does not the SEND/SET combination.
This will need to be manually corrected.
ETR 042
TEXT:
This command has a send with ASIS ...
CAUSE:
CICS/400 does not the SEND/ASIS combination.
This will need to be manually corrected.
ETR 043
TEXT:
This command has a SEND/TEXT/NOEDIT ...
CAUSE:
CICS/400 does not the SEND/TEXT/NOEDIT combination.
This will need to be manually corrected.
ETR 044
TEXT:
This following statmnt contains a reference to a program...
CAUSE:
CICS/400 may not support calling of program "DFHEMPT"
This may need to be manually corrected.
ETR 046
TEXT:
Invalid xxxxxx option ....
CAUSE:
CICS/400 does not support the specified option for the listed
command. The option may be commented out, or the command may
not run correctly without it, examine each.
This may need to be manually corrected.
ETR 047
TEXT:
Invalid xxxxxx option ....
CAUSE:
CICS/400 does not support the specified option for the listed
command. The option may be commented out, or the command may
not run correctly without it, examine each. This is less
severe the ETR 046.
This may need to be manually corrected.
ETR 050
TEXT:
Unresolved BLL name...
CAUSE:
The translator could not match the BLL cell to the set
address variable. There are probably other errors that
relate to the BLL cell.
ETR 051 / ETR 052
TEXT:
This command contains a BLL CELL ...
CAUSE:
The translator detected the use of a BLL variable name
in a COBOL statement. Since the BLL cell will be commented
out the statement will cause a diagnostic. If the COBOL
statement can be automatically comment out it will be,
however if the BLL cell variable is used in an if statement
this would cause a problem. A manual work around is required.
STR 004A
TEXT:
Run aborted more than 99 printer definitions.
CAUSE:
The translator can only support 'PRINTER=' for 99 different
select statements. Reduce the number to 99 or less.
STR 054
TEXT:
CX2 exceeds 4223.
CAUSE:
Internal logic error created parsing table overflow.
ETJ 010
TEXT:
More than 1500 GDG's
CAUSE:
The translator program can only handle a max of 1500 datasets
with GDG's. Reduce the number and rerun.
ETJ 010A
TEXT:
More than 28 files concatenated in a sort
CAUSE:
The translator program can only handle a max of 28 files
concatenated under a sortin/sysut1 statement.