home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / a4cinf.zip / ADUAS400.DOC next >
Text File  |  1994-05-24  |  68KB  |  1,949 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.                        ADU AS/400 Conversion Utilities
  26.                                  (ADU4CU)
  27.  
  28.                                 Release 0.9
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.                            Alpha Data Utility, Inc.
  37.                                 269 Hanover St.
  38.                                  P.O. Box 2164
  39.                                Hanover MA  02339
  40.  
  41.                                     Voice
  42.                                  617-829-9411
  43.  
  44.                                      Fax
  45.                                  617-829-9416
  46.  
  47.  
  48.  
  49.                              INTRODUCTION
  50.  
  51.      The ADU AS/400 conversion utilities (ADU4CU) were designed to
  52.      ease the burden of migration from an MVS platform to the AS/400.
  53.      An additional design goal was to provide tools that will allow a
  54.      single source image to be maintained for multiple operating
  55.      platforms.
  56.  
  57.        The tools do not provide 100 percent transparent migration but
  58.      will SIGNIFICANTLY reduce migration time, and once successfully
  59.      migrated will provide for the "single source" maintenance.  If
  60.      you use basic function BMS many CICS programs will port without
  61.      user intervention. In our conversion, 60% of the programs required
  62.      no changes, 35% required an average of less than 2 hours each of
  63.      coding changes, and the other 5% required  various amounts of
  64.      changes.  Most of the batch programs ported directly, although
  65.      the ones that did not required more extensive tailoring than the
  66.      CICS programs.  The JCL migration tool will provide a fairly
  67.      complete skeleton that can be completed quite easily.  A tool is
  68.      also provided for file migration.
  69.  
  70.        Other available products are prohibitively expensive or provide
  71.      a one shot conversion.  The ADU4CU tools currently will migrate
  72.      BMS macros, Batch VS/COBOL, CICS Command level VS/COBOL, MVS JCL,
  73.      COBOL COPYBOOKS, and Files.  The tools are PC based and run under
  74.      either OS/2 or DOS.  The batch files supplied provide for
  75.      migration from a PC attached to an AS/400 via PC/Support.  This
  76.      product is a "90 percent of the work for cheap bucks" competitor
  77.      to  the high end offerings.
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  The following are used throughout this guide and are trademarks of IBM,
  102.      (CICS, CICS/400, COBOL/400, AS/400, S/370, OS/2, IBM ).
  103.  The following is a trademark of Merlyn Data Systems (QUICKDOC).
  104.  The following is property of CA/Realia (RCOPY). See their License.
  105.  All other material is copyright 1994 by Alpha Data Utility, Inc.
  106.  
  107.  
  108.  
  109.  
  110.                            BMS MIGRATION
  111.  
  112.      CICS on the AS/400 only supports minimum function BMS.  The BMS
  113.      migrations tool is very basic.  It will not modify full or
  114.      standard function BMS to run on CICS/400.  It will scan the BMS
  115.      source and remove keywords that are not supported  in CICS/400
  116.      BMS.  Listed below are the extent of the changes.
  117.  
  118.         Removed from MSD macro
  119.                 data=field
  120.  
  121.                 Suffix=
  122.  
  123.         Removed from MDI macro
  124.                 DATA=FIELD
  125.  
  126.                 TIOAPFX=YES
  127.  
  128.  
  129.                 JUSTIFY=????
  130.  
  131.  
  132.     These changes should make most minimum function BMS maps fully
  133.     portable without further change.
  134.  
  135.  
  136.  
  137.  
  138.  
  139.                           JCL MIGRATION.
  140.  
  141.      The JCL  translation utility will generate a skeleton CL program
  142.      from the MVS proc.  The CL will support generation data groups,
  143.      restarts, abnormal ends, and error handling.  Sorts and IEBGENER
  144.      copies will be converted as will most user programs.  Other
  145.      utilities (IDCAMS) will have to be hand coded.
  146.  
  147.  
  148.  
  149.  
  150.                            FILE MIGRATION
  151.  
  152.      The FILE  migration utility (s) will take a file and expand any
  153.      "occurs depending on". It will convert the sign on any numeric
  154.      "key" fields from a 'C' to an 'F'.  Files that contain multiple
  155.      "occurs depending on" will need to have a control file coded that
  156.      provides information about each occurrence.
  157.  
  158.  
  159.  
  160.  
  161.                     COBOL COPYBOOK MIGRATION
  162.  
  163.      The migration of copybooks is a subset of the COBOL migration
  164.      explained below.  Copy books should migrate without change.
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.                          COBOL MIGRATION
  172.  
  173.      The COBOL translation utility is split into two pieces.  The
  174.      first part of the translation converts files containing multiple
  175.      "occurs depending on" clauses into fixed format occurs.  The
  176.      second piece translates the code. All known incompatibilities (as
  177.      of v2r2) are either fixed or flagged.  Some basic coding rules
  178.      need to be implemented to make the COBOL translation more
  179.      automatic.
  180.  
  181.                           Coding Rules:
  182.       -  Any file definition that contains multiple "occurs
  183.          depending on " clauses must be in a copy book.
  184.  
  185.       -  Any print file that uses the "positioning" option must
  186.          have a comment before the SELECT statement that identifies
  187.          it as a printer file. format *PRINTER=[select name ...]
  188.  
  189.       -  All CICS commands that relate to a specific file should
  190.          have the length specified by a variable that is unique for
  191.          that file. In other words file-a and file-b should not
  192.          both use the variable file-length in the length option.
  193.  
  194.       -  For CICS programs the translator will take an input file that
  195.          specifies maximum file lengths for each file.  The file storage
  196.          area will be checked to ensure that the storage area is large
  197.          enough for the maximum record length.
  198.  
  199.       -  For CICS programs the length variables for temporary storage
  200.          should (but aren't required) to follow the same rules as file
  201.          length variables.
  202.  
  203.  
  204.  
  205.                     COBOL CONVERSION INFORMATION
  206.  
  207.       - ONLINE LENGTH CONVERSIONS.
  208.         The AS/400 translator will automatically put the correct maximum
  209.         length for each file read and write. The maximum lrecl is
  210.         determined from the file (dataset) keyword value of read and
  211.         write exec CICS commands.  This presents two basic problems.
  212.         Firstly, file names that are variables must be correctly matched
  213.         to a table name (filelen.tab) which contains the maximum lrecl
  214.         (see above). However, if the file name is changed in the programs
  215.         procedure division (via runtime execution), the translator cannot
  216.         know what the correct dataset name is and consequently will not put
  217.         the correct length. Secondly, but similarly if one read/write
  218.         command services two different files the same will be true.
  219.  
  220.         The solution to this is to have each file read/write of the same
  221.         dataset to use unique variable names. DO NOT USE THE SAME FILE NAME
  222.         VARIABLE FOR DIFFERENT FILES.  Programs that don't conform to this
  223.         must be changed manually.
  224.  
  225.                            (cont.)
  226.  
  227.  
  228.  
  229.  
  230.  
  231.                     COBOL CONVERSION INFORMATION  (cont.)
  232.         Reads/Writes where the filename is explicitly specified will
  233.         be handled properly in all cases. The length will be specified
  234.         correctly whether its a variable or constant.
  235.  
  236.         The bottom line to all of this is that both the file name and
  237.         length parameters should be unique for each separate file.
  238.         In other words for all instances in a program, file "X" should
  239.         use the same variable to specify dataset name and this variable
  240.         should be unique to file "X". Also the length parameter for
  241.         file "X" should be unique to file "X" and not used for other
  242.         files.  This will allow the translator to properly identify and
  243.         fix or flag the changes required.
  244.  
  245.       -  The following items must be recoded.
  246.  
  247.            -  Examine            change to inspect
  248.            -  Transform          change to inspect
  249.            -  Alter              remove this code
  250.            -  Note               remove this code
  251.            -  usage is comp-1    not allowed
  252.            -  usage is comp-2    not allowed
  253.            -  usage is display-1 not allowed
  254.            -  usage is pointer   not used in vs COBOL but allowed
  255.                                  in COBOL/400L, however it works
  256.                                  different than might be expected.
  257.  
  258.                    The above  will be flagged.
  259.  
  260.       -  READs into working storage will be checked to verify that
  261.          the area is large enough to hold the record.  It should be
  262.          noted that slack bytes between 01 levels are not necessarily
  263.          addressable and any overflow will cause a machine check.
  264.          This condition will be flagged.
  265.  
  266.       -  COBOL CALL statement in CICS
  267.             COBOL calls in CICS works a little different from MVS.
  268.             A new copy of working storage is not used
  269.             with each call. Therefore working storage should
  270.             be initialized to the proper values in the
  271.             procedure division upon invocation.
  272.             The call will be flagged.
  273.  
  274.      - EXEC CICS ADDRESS
  275.            Exec CICS Address will not be the same..
  276.            Chaining to addressed areas will be different
  277.            this will require a manual workaround.
  278.            This will be flagged.
  279.  
  280.      - EXEC CICS DUMP
  281.            Exec CICS DUMP is  not be the same..
  282.            The only option supported is dumpcode.
  283.            This command will be fully translated to
  284.            The proper format.
  285.  
  286.                              (cont.)
  287.  
  288.  
  289.  
  290.      - EXEC CICS SEND SET()
  291.             Exec CICS SEND with the set option is not
  292.             supported. This will require a manual fix.
  293.             This will be flagged.
  294.  
  295.      - EIBTASKNO
  296.             Eibtaskno is not guaranteed to be unique.
  297.             This should not be used  to generate any type of reference
  298.             number or ID.  This will be flagged.
  299.  
  300.  
  301.   ** The following differences will be handled automatically:
  302.  
  303.       - comp/comp-3      on the AS/400 comp is packed decimal
  304.                          and comp-3 is binary. Comp will be
  305.                          converted to binary, and comp-3 will
  306.                          be converted to comp.
  307.  
  308.       - bll cells (1)    COBOL/400  treats bll cell usage
  309.                          the same as COBOLII.  BLLCELLS and
  310.                          exec CICS SET commands will be converted
  311.                          in most cases. This may not be 100% for
  312.                          all programs. Programs which don't convert
  313.                          correctly should be modified so the will
  314.                          convert correct in the future.
  315.  
  316.       - bll cells (2)    BLL cells in the linkage section will be
  317.                          made comments. All references to these in
  318.                          the source will also be commented.
  319.  
  320.       - Service Reload   All service reload statements will be made
  321.                          comments.
  322.  
  323.       - COMPUTE EQUAL    is not valid, it will be changed to \
  324.                          compute =
  325.                          avoid use of compute equal in the future.
  326.  
  327.       - Section Names   Section names must be followed by a paragraph
  328.                         name, a dummy name will be inserted.
  329.  
  330.       - Label records   The Label Records clause on SD statement is
  331.                         not valid, it will be commented.
  332.  
  333.       - SELECT/ASSIGN  The UT-S on assign statements will be replaced
  334.                        by database.
  335.  
  336.       - REMARKS        The remarks clause is not valid. It will be
  337.                        commented out. It no longer should be used.
  338.  
  339.       - DSIDERR         On handle condition statements dsiderr is not
  340.                         valid, it will be replaced with FILENOTFOUND.
  341.  
  342.       - COPY            The words "in copylib" will be added to all
  343.                         copy statements.
  344.                         except for specifically specified system
  345.                         copybooks. (like dfhaid, etc.).
  346.                                (cont.)
  347.  
  348.  
  349.  
  350.       - POSITIONING     The write with positioning option will be
  351.                         translated to advancing if the "*PRINTER="
  352.                         comment is used.
  353.  
  354.       - Alternated indices
  355.                         Are not supported the same as MVS COBOL.
  356.                         If portability is desired a control
  357.                         mechanism is provided to selectively
  358.                         include or omit code for various platforms.
  359.                         See the control file documentation.
  360.  
  361.      The following conditions will cause the AS/400 translator to
  362.      work incorrectly.
  363.  
  364.        - Data Division entries not properly terminated with a period.
  365.  
  366.        - BLLCELLS without a DFHCOMMAREA entry in the linkage section.
  367.  
  368.        - set in exec CICS command without a following service reload.
  369.          this should cause a program error but in some cases may be
  370.          acceptable in VS/COBOL. The translator will not be able to
  371.          figure the new variable for the set option. Conversely a
  372.          service reload without a set is acceptable but it is flagged
  373.          for informational purposes.
  374.  
  375.  
  376.     There are two sets of parameter options for controlling
  377.     program translation to the AS/400.  One set directly controls
  378.     the translator programs.  The other is imbedded into the
  379.     source program to provide program specific source changes.
  380.  
  381.     The batch translation jobs access a file called AS400cvt.ini
  382.     to control translator options.
  383.  
  384.     See appendix B for the format and description of this file
  385.  
  386.     The second type of parameters are imbedded into the source
  387.     program. These cause selective inclusion or exclusion of
  388.     source code.  This allows target specific code to be selective
  389.     included or omitted. This will accommodate dialect specific
  390.     differences that cannot be readily translated. ex. alternated
  391.     indices.
  392.  
  393.     See appendix B for the additional information on the format of
  394.     these processing commands.
  395.  
  396.  
  397.  
  398.  
  399.  
  400.                          RUNNING MIGRATION JOBS
  401.  
  402.  
  403.        NOTE ********************************************************
  404.        run any of the migration jobs with out parameters to see
  405.        the command syntax.
  406.  
  407.  
  408.  
  409.  
  410.                          COPY BOOK MIGRATION
  411.  
  412.        "AS400CPB.BAT"  will be used to migrate copybooks to the
  413.        AS/400.
  414.  
  415.        Run this job in subdirectory where the copybook (s) exists.
  416.  
  417.        ****  Run this from a temporary directory  *****
  418.  
  419.        This job will translate the copy book and move the translated
  420.        copy to drive "I" subdirectory "MIG". Therefore pc support
  421.        must be started and drive "I" must exist.
  422.        The copybook will be moved with a suffix
  423.        of ".400".  It will be delete from the AS400cp subdirectory
  424.        at the end of the batch job.
  425.  
  426.        The bat job will also create a file of commands that can be
  427.        used to migrate the copybooks to the AS/400 automatically.
  428.        The file will be called COPYNAME.mov.
  429.  
  430.        The command can be executed in the PC SUPPORT menu.
  431.  
  432.        COMMAND PCSMENU from an OS2 command prompt to start pc support
  433.        menu option.
  434.  
  435.        SELECT option "SUBMIT host system command" from PCSMENU then
  436.        enter [ /I I:\MIG\COPYNAME.MOV ] (brackets are shown to outline
  437.                                         the command do not enter them)
  438.  
  439.  
  440.  
  441.                            PROGRAM MIGRATION
  442.  
  443.        "AS400CVT.BAT"  will be used to Translate COBOL programs
  444.        for the AS/400.
  445.        The batch job will
  446.        translate the program and then move it to drive I: subdirectory
  447.        "MIG".
  448.  
  449.        The bat job will also create a command file that can be
  450.        used to migrate the program  to the AS/400 automatically.
  451.        The file will be called PGM.mov   where PGM is the program
  452.        name you entered, "mov" is a constant.
  453.  
  454.        The command file PGM.mov is also moved to drive I subdirectory
  455.        MIG
  456.                                     (cont.)
  457.  
  458.  
  459.  
  460.                            PROGRAM MIGRATION  (cont.)
  461.        The command can be executed in the PC SUPPORT menu.
  462.  
  463.        Use command PCSMENU from an OS2 command prompt to start the pc
  464.        support menu option.
  465.  
  466.        SELECT option "SUBMIT host system command" from PCSMENU then
  467.        enter [ /I I:\MIG\PGM.mov  ]    (brackets are shown to outline
  468.                                         the command do not enter them)
  469.  
  470.  
  471.  
  472.  
  473.        AFTER MOVING FILES USING PCSMENU COMMANDS THEY SHOULD BE
  474.        DELETED FROM THE "I:\MIG" SUBDIRECTORY.
  475.  
  476.  
  477.                           FILE MIGRATION
  478.  
  479.  
  480.        Variable File Expansion.
  481.        perform this step for files that contain multiple occurs
  482.        depending on. SEE APPENDIX A:
  483.  
  484.  
  485.  
  486.        "AS400FSD.BAT"  will be used to migrate files from the PC
  487.        to  the AS/400, both fixed and variable length.
  488.  
  489.  
  490.        The file to be moved must be in the CA/Realia variable format
  491.        with an lrecl of 32000 ==>  filename.xxx[v32000]
  492.        This applies to both fixed and variable files.
  493.  
  494.  
  495.        For files downloaded from the mainframe (see downloading
  496.        instructions using addllbb)
  497.                      RCOPY /l   file1[Bmmmmm] file2[v32000]
  498.                                       where mmmmm is the max lrecl
  499.                                       per download instructions
  500.  
  501.  
  502.         After the file is in the [v32000] format run AS400fsd
  503.  
  504.         AS400fsd filenm (maxlrecl + 3) (keyoffset keylength)
  505.  
  506.         Note:  add three to the maxlrecl for variable files only.
  507.  
  508.         Keyoffset and length should be combine into a
  509.                multi-byte string.  10 bytes for each key pair.
  510.                up to 5 key pairs can be strung together.
  511.                This causes the sign on the key to be converted
  512.                and should ONLY be used on packed data. Do not
  513.                specify a key area that is binary or text data.
  514.  
  515.                               (cont.)
  516.  
  517.  
  518.  
  519.                           FILE MIGRATION (cont.)
  520.  
  521.        Fixed length files  use the exact same procedure
  522.        EXCEPT where you specify the lrecl on the AS400fsd command
  523.        DO NOT ADD 3 FOR FIXED FILES
  524.  
  525.         example:   Authfile has max lrecl of 857
  526.                    the key starts in byte 6 for a length of 10
  527.  
  528.         AS400fsd Authfl 00860 0000600010
  529.  
  530.             this will create authfl.snd in the current directory
  531.  
  532.         The file will also be moved to drive I:\MIG where the
  533.         proper AS/400 command will be generated.  Use the same
  534.         procedure with PCSMENU as for transmitting programs.
  535.  
  536.         The file DDS and actual file to hold the data must be created
  537.         before the migration
  538.  
  539.  
  540.  
  541.  
  542.                            JCL  MIGRATION
  543.  
  544.        "AS400MCL.BAT"  will be used to translate JCL from the MVS
  545.        format to AS/400 CL program.
  546.        The program will output the CL statements and a "semi" graphic
  547.        flowchart that symbolizes the MVS JCL logic. The output of this
  548.        job will not be migrated automatically  because customization
  549.        will be required.  See appendix B for control information
  550.        for the first step (quickdoc).
  551.  
  552.  
  553.  
  554.  
  555.  APPENDIX A:
  556.  
  557.          Moving MAINFRAME files to the PC
  558.  
  559.  **  FIXED Length Files.
  560.  
  561.    Just transmit using FT or receive command (assumes ind$file)
  562.    use no options  (no ASCII or CRLF, no translation to ascii)
  563.  
  564.    go to CREATE PROGRAM usable FILE below
  565.  
  566.  
  567.  **  VARIABLE Length Files.
  568.  
  569.    run job on mainframe to prefix each record with the LLBB
  570.    see below:
  571.  
  572.    vsam files must be unloaded.
  573.  
  574.    transmit the file made with this job.
  575.  
  576.    Just transmit using FT or receive command  (assume ind$file)
  577.    use no options  (no ASCII or CRLF, no translation to ascii)
  578.  
  579.    go to CREATE PROGRAM usable FILE below
  580.  
  581.  *************************************************************************
  582.   CREATE PROGRAM USABLE FILE:  ********** see NOTE
  583.  
  584.   PC programs whether PC-CICS or Batch use the CA/Realia file formats.
  585.   It is very easy to create these formats.
  586.  
  587.   for FIXED length files use the following example:
  588.      Rcopy file1[Bnnn] file2[Fnnn]
  589.  
  590.       file1 is the file downloaded
  591.       file2 is the output file
  592.       nnn is the lrecl (must be correct)
  593.       B and F are constants
  594.  
  595.  
  596.   for VARIABLE length files use the following example:
  597.      Rcopy /L file1[B32000] file2[Vmmm]
  598.  
  599.       file1 is the file downloaded
  600.       file2 is the output file
  601.       mmm is the max lrecl (must be correct)
  602.       B32000 and V are constants
  603.  
  604.   To make an INDEXED FILE  (usable to CICS )
  605.      Rcopy  filex file2[Xmmm]
  606.  
  607.       filex is the CA/Realia format file created above
  608.       file2 is the output file
  609.       mmm is the max lrecl (must be correct)
  610.       X constants
  611.                           (cont.)
  612.  
  613.  
  614.  
  615.                           (cont.)
  616.  
  617.   you are prompted for index offset and length
  618.   for both primary and alternate indices.
  619.   use same as vsam file definitions
  620.  
  621.   example keylength 10 starts in 3rd byte of program (like authfile)
  622.   enter 2/10
  623.  
  624.  **************************************************************
  625.   NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE MOTE NOTE
  626.   => for files with multiple occurs depending on
  627.   => use a different procedure
  628.  
  629.  **************************************************************
  630.  
  631.  
  632.  MULTIPLE (more than 1) OCCURS DEPENDING ON files.
  633.  
  634.  - create and transmit file as stated above.
  635.  
  636.  - run 1st real copy step as stated above.
  637.  
  638.  - then run expfile like this.
  639.  
  640.  
  641.  SET SYSIN=AUTHFILE.INF               <= control file
  642.  SET SYSUT1=AUTHFILE.DAT[V00782]      <= input file (output of RCOPY)
  643.  SET SYSUT2V=AUTHFILE.NEW[V]          <= modified file (input to load)
  644.  EXPFILE 00782
  645.                                 00782 is the max lrecl, substitute
  646.                                 proper value.
  647.  
  648.  
  649.  
  650.  
  651.  
  652.   ***** CONTROL FILE
  653.  
  654.  *****************************************************************
  655.  * FIRST CARD MUST BE HEADER
  656.    1-8 FILEID                               <= use any value
  657.    9 TRANS TYPE/  A=TO ASCII   E=TO EBCDIC  <= use an E
  658.    10 - 14 MAX LRECL                        <= correct lrecl for file
  659.    15 - 19 zeros                            <= zeros
  660.  
  661.  AUTHFL06A0033500000
  662.  * COMMENTS MAY FOLLOW HEADER,  FORMAT IS "*" IN CC1
  663.  *
  664.  *****************************************************************
  665.  * *****    format offset,length,value,fmt   ******
  666.  * FORMAT CARD (OPTIONAL,  1 FOR EACH RECORD TYPE...MAX 25)
  667.    1- 6 FORMAT
  668.    THEN FREEFORM MAX LENGTH 5 FOR   OFFSET,LENGTH, VALUE, FMT
  669.    value max length is 15
  670.    offset and length always number, value in numeric or character
  671.    fmt (1 byte) c=char, p=packed, x=hex, z=zoned
  672.    EX  VALUE 5 , FMT P...VALUE A, FMT C ...VALUE 3FC, FMT BIN
  673.        FORMAT 7,1,A,C
  674.    special format for records without a format test,   just use
  675.     the keyword FORMAT with no parameters,  only one allowed
  676.     per run and it must be first format card
  677.  *****************************************************************
  678.  **  occurs offset,length,occurs-entry-size,base-size,format[,MO]*
  679.  *
  680.  * OCCURS CARD (OPTION, ONE FOR EACH VARIABLE OCCURS...MAX 25)
  681.  *
  682.  * 1- 6 OCCURS
  683.  * THEN FREEFORM MAX LENGTH 5 EACH  OFFSET,LENGTH, SIZE, BASE,FMT
  684.  *
  685.  * OFFSET, LENGTH, SIZE  BASE ARE ALWAY NUMERIC
  686.  *
  687.  * offset is the offset into the record of the depending
  688.  * on variable
  689.  *
  690.  * length is the number of bytes of the depending
  691.  * on variable
  692.  *
  693.  * occurs-entry-size is the size of one table element
  694.  *
  695.  * base is the length of the
  696.  * fixed portion of the record
  697.  *
  698.  * FMT (1 BYTE)  P=PACKED, B=BIN, Z=ZONED (B LENGTH ALWAYS 2 OR 4)
  699.  * FMT (1 BYTE)  f=fixed length occurs (no depending on)
  700.  *        length must be zero on fixed length occurs
  701.  *
  702.  * OCCURS cards MUST BE IN SEQUENCE OF TABLE OFFSET.
  703.  * not of the depending on variable
  704.  *
  705.  * there must be one OCCURS card for each depending on table
  706.  *
  707.                           (cont.)
  708.  
  709.  
  710.  
  711.                           (cont.)
  712.   ***** CONTROL FILE
  713.  *
  714.  * IF [MO] IS PRESENT IT REPRESENTS THE MAXIMUM NUMBER OF OCCURS
  715.  *  AND WILL ADJUST THE OUTPUT RECORD TO THE MAXIMUM OF SIZE OF THE
  716.  *   OCCURS PADDING THE LAST VALID DATA WITH SPACES
  717.  * ** YOU must alway use this
  718.  *
  719.  * example of authfile control cards
  720.  *
  721.  AUTHFILEE0078200000
  722.  FORMAT
  723.  OCCURS 355,2,14,374,P,12
  724.  OCCURS 357,2,6,374,P,12
  725.  OCCURS 354,1,24,374,P,7
  726.  
  727.  
  728.  ***********************************************************************
  729.  * SPECIAL NOTE the control file must be an EBCDIC file with          **
  730.  * NUM ON STD otherwise it won't work.                                **
  731.  * create on the mainframe and xmit to pc if you don't have a pc
  732.  * ebcdic editor
  733.  ***********************************************************************
  734.  
  735.  
  736.     Job on mainframe to put file in correct format
  737.  
  738.  //ZTEST00T JOB (ADUTEST),TEST,
  739.  //  CLASS=T,MSGCLASS=X,NOTIFY=WTEST
  740.  //* CLASS=C,MSGCLASS=X,NOTIFY=WCOMPILE
  741.  //*
  742.  /*JOBPARM P=PROC01
  743.  //*
  744.  //*
  745.  //XX1458P  EXEC PGM=ADDLLBB,
  746.  //             REGION=4096K,
  747.  //             PARM=00200          <====MAX LRECL
  748.  //*
  749.  //STEPLIB DD  DSN=TEST.LOADLIB,DISP=SHR
  750.  //SYSOUT    DD  SYSOUT=*
  751.  //SYSDBOUT  DD  SYSOUT=*
  752.  //SYSOUD    DD  SYSOUT=*
  753.  //SYSUDUMP  DD  SYSOUT=*
  754.  //SYSUT1  DD  DSN=TEST.AUTHFL31,DISP=SHR,DCB=BLKSIZE=32008  <=NO CHANGE
  755.  //        DD  DSN=TEST.AUTHFL32,DISP=SHR
  756.  //SYSUT2 DD DSN=TEST.AUTHFLX,DISP=(NEW,CATLG,DELETE),
  757.  //  UNIT=CREDTEST,SPACE=(TRK,(15,30),RLSE),
  758.  //  DCB=(RECFM=VB,BLKSIZE=32700,LRECL=32000)     <= DO NOT CHANGE
  759.  
  760.  
  761.  
  762. APPENDIX B:
  763.  
  764.                          AS400CVT.ini
  765.  
  766.        This ini file contains controlling parameters for
  767.        AS400rln, AS400trn and AS400mcl programs.
  768.        each program can use a separate ini file or all of the
  769.        command can be place in a common ini file.
  770.  
  771.  
  772.  
  773.  
  774.     the format for records in this file is: 1-3  rem = remarks
  775.                                                  all = input to both pgms
  776.                                                  rln = input to AS400rln
  777.                                                  trn = input to AS400trn
  778.                                                  jcl = input to AS400jcl
  779.                                             4-8  keyword (as described)
  780.                                               9  =  constant of = (where needed)
  781.                                             10+  =  control value
  782.  
  783.      input can be either upper or lower case or mixed.
  784.  
  785.  
  786.      The following are included in the COBOL source program
  787.      to control translator special handling of the source.
  788.  
  789.      general format: cc7    (all upper case)
  790.                        *T$CP XXXXy FFFFFFFFF...
  791.  
  792.                    where *T$CP is a constant
  793.  
  794.                      XXXX is one of the following functions:
  795.  
  796.                      SCMT - make all following statements comments
  797.                      ECMT - end making statements comments
  798.                      SUNC - "UN" comment all following statements
  799.                      EUNC - end "UN" commenting of statements
  800.                      INCF - copy the file (FFFFFFF...) into the source
  801.  
  802.                      y is any character that is matched to the
  803.                        trnsrcpc character
  804.  
  805.  
  806.  
  807.                  The file FFFFFF.. format follows the same rules
  808.                  as copy books. No pseudo text is allowed.
  809.                  The file is included into the source on the second
  810.                  pass of the translator. The program follows the rules
  811.                  for finding copybooks to find this file. The extension
  812.                  should not be enter here but it should be on the file
  813.                  as it exists on the pc.  This file is not required on
  814.                  the AS/400.
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.      The following are input to this file (AS400cvt.ini)
  823.  
  824.       error: controls the level of error message display
  825.              valid values are 0,1,2
  826.              value 2 displays all program messages
  827.              value 1 displays all error messages   related to code
  828.                      conversion and program internal errors (default)
  829.              value 0 displays only program internal errors (like table
  830.                      size errors etc.)
  831.  
  832.       comment: value of 2 is good for debugging and full display
  833.                however value of 1 is sufficient to determine any
  834.                program code errors that might affect translation
  835.                or that would need manual modification.
  836.                a special value of 3 for AS400rln will show the
  837.                ws data names and their calculated lengths.
  838.  
  839.              ex:  rlnerror=1
  840.  
  841. allerror=2
  842.  
  843.  
  844.       copye: controls the copy book expansion level
  845.              valid values are 0,1,2
  846.              value 3 expands the copybooks for both pass 1 and 2
  847.              value 2 expands the copybooks for pass 2 only
  848.              value 1 expands the copybooks for pass 1 only (default)
  849.              value 0 does not expand copybooks
  850.  
  851.  
  852.       comment: value of 1 is recommended it provides the best balance
  853.                between speed and conversion thoroughness. Most programs
  854.                will probably translate correctly without expanding
  855.                copybooks, however sometimes the copybook detail will
  856.                help the translation process be more accurate.
  857.                In general I haven't found any programs that benefit
  858.                in AS400trn with level 2
  859.                NOTE:
  860.                If you using AS400rln and want to check file size
  861.                against size in working storage and file defs are in
  862.                a copy book then you must set rnlcopye=2
  863.  
  864.           ex. rlncopye=2
  865.               trncopye=1
  866.           recommend settings: rnlcopye=2 trncopye=1
  867.  
  868. rlncopye=2
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.       syslx: controls the copybook extension  after the "dot" in
  877.              the file name. The default is COB.
  878.  
  879.  
  880.       comment: This would typically be COB or CBL etc.
  881.                The copybooks must have the format of xxxxxxxx.xxx
  882.  
  883.             ex.  trnsyslx=CBL
  884. trnsyslx=cob
  885.  
  886.  
  887.  
  888.       syslv: Controls the environment variable to search for the
  889.              copy books.  The default is syslib. This environment
  890.              variable would specify the directory search order like
  891.              a "PATH" statement. Maximum size is 8 characters.
  892.  
  893.       ex. trnsyslv=copybook
  894.           from your command prompt type > set copybook=.\;c:\copylib...
  895.  
  896.    syslv=2
  897. rlnsyslv=syslx
  898.  
  899.  
  900.       cobii: Controls the conversion of COMP/COMP-3 items.
  901.              valid values are 1,2.  Value of 1 converts the
  902.              items suitable for AS/400 use. Value of 2 leaves
  903.              items suitable for use on S-370 COBOL II.
  904.              Not valid for AS400rln.
  905.  
  906.  
  907.  
  908.      ex: trncobii=2
  909. trncobii=2
  910.  
  911.  
  912.  
  913.       prcdv: Forces AS400trn to convert procedure division
  914.              code segment, or code segments with the data
  915.              division.  This is useful if you have procedure
  916.              division code in copybooks. Only valid value is 1.
  917.              Not valid for AS400rln.
  918.  
  919.        ex.  trnprcdv=1
  920.  
  921. trnprcdv=2
  922.  
  923.  
  924.  
  925.  
  926.  
  927.       trntb: Convert a single unique character to a different
  928.              character. In other words translate one character
  929.              to another. Up to 255 of these control statements
  930.              may be entered.
  931.  
  932.        ex.  rlntrntb=%X      replace all "%" by "X"
  933.  
  934. rlntrntb=^+
  935.  
  936.  
  937.       bypgm: Add a list of program names that may be called in
  938.              a CICS pgm that have been verified to be reentrant.
  939.              This will bypass error message display for programs
  940.              in this table. Up to 30 cards may be entered.
  941.              Not valid for AS400rln.  Program name may be upto
  942.              8 characters.
  943.  
  944.        ex.  trnbypgm=testpgm1
  945.  
  946. trnbypgm=testpgm2
  947.  
  948.  
  949.       queue: Add checking of TS and TD queue storage lengths.
  950.              This will compare the length specified length in
  951.              the exec CICS command length option to the calculated
  952.              size of the area in working storage.  If the area
  953.              in WS is not large enough an error will be generated.
  954.              Not valid for AS400trn.
  955.  
  956.        ex.  rlnqueue
  957.  
  958. rlnqueue
  959.  
  960.  
  961.       sectn: Make dummy inserted paragraph after procedure division
  962.              a section rather than a paragraph. Default is no.
  963.              Only valid as trnsectn
  964.        ex.  trnsectn=yes
  965.  
  966. trnsectn=yes
  967.  
  968.  
  969.       sync?: Remove "SYNC" clause from all statements.
  970.              Default is no.
  971.              Only valid as trnsync?
  972.        ex.  trnsync?=yes
  973.  
  974. trnsync?=yes
  975.  
  976.  
  977.  
  978.  
  979.  
  980.       srcpc: Set the source process character
  981.              This can be any character. It is used to selectively
  982.              include/omit certain source code based on the translator
  983.              source processing parameter (*T$CP)
  984.              This character is matched
  985.              to the last character (XXXy) of the TSP function to
  986.              determine which functions to execute for this run.  This
  987.              allows multiple sets of code to exist in the source and
  988.              be selected by target platform.
  989.              Default is 4
  990.              Only valid as trnsrcpc
  991.        ex.  trnsrcpc=a
  992.  
  993. trnsrcpc=4
  994.  
  995.       spcrg: include code to handle IBM special register language
  996.              extensions.
  997.              This will cause the translator to create code for
  998.              handling of special registers such as CURRENT-DATE
  999.              SORT-RETURN, that are not part of COBOL/400
  1000.              Default is Y for batch programs and N for CICS
  1001.              Only valid as trnspcrg
  1002.        ex.  trnsrcpc=
  1003.  
  1004. trnspcrg=y
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  ** The following are input to program AS400jcl
  1010.  
  1011.      There are 3 types of control cards that control generation of
  1012.      of the CL.
  1013.  
  1014.      In order to understand the control card you need to know a
  1015.      little about how the CL is generated.  The CL job is segregated
  1016.      into distinct sections each of which has a function. Two types
  1017.      of control cards relate to including code into a specific
  1018.      section. The third type of control card acts on what the program
  1019.      is doing, as opposed to being output CL.
  1020.  
  1021.      The third type of control cards are
  1022.            Global replace      GLOBL
  1023.                 format  JCLGLOBL=oldvalue ,newvalue
  1024.                 old and new value must be same length
  1025.                 comma must be coded where shown and spaces
  1026.                 trailing spaces don't count
  1027.                 valid    jclglobl=old1234567,new7654321
  1028.                          jclglobl=old1   567,new7654  1
  1029.                          jclglobl=old1      ,new7
  1030.                 invalid  jclglobl=old123456,new765432
  1031.                 invalid  jclglobl=old       ,new765432
  1032.                 invalid  jclglobl=old       ,new7
  1033.                 example  jclglobl=prod      ,test
  1034.                          would replace every instance of 'prod'
  1035.                          with 'test'.
  1036.                 up to 99 globl command may be entered.
  1037.                 replacement is done to the output CL.
  1038.  
  1039.  
  1040.        IEBGENER COPY command   FMTCP
  1041.            CL command that points to FMTDTA source library
  1042.            The existing default replacement for an IEBGENER file
  1043.            copy will probably be invalid if you specify sysin dd dummy.
  1044.            You can include a hard coded override by entering
  1045.            JCLFMTCP=FMTDTA SRCFILE(YOURLIB/YOURFILE) SRCMBR(YOURCODE) +
  1046.            you can replace the file, library, and member with whatever
  1047.            you wish (don't forget the + at the end).
  1048.  
  1049.       The first two type of control info modify the output CL commands
  1050.       by either replacing the default generated code or adding code
  1051.       along with the default code.  The program uses the default code
  1052.       to support the code generated from the MVS JCL.
  1053.       The generated CL Job  is divided into the following
  1054.       categories, from the top to the bottom.
  1055.  
  1056.       Category           area
  1057.       ---------   ------------------------
  1058.       1        DECLARE VARIABLES
  1059.       2        JOB MONITOR MESSAGES
  1060.       3        JOB PREPROCESSING
  1061.       4        STEP PREPROCESSING
  1062.       5        STEP RETURN CODES
  1063.       6        STEP POST PROCESSING
  1064.       7        JOB RETURN CODE
  1065.       8        ENDOF JOB PROCESS
  1066.  
  1067.  
  1068.  
  1069.  
  1070.       The program contains default code that can be replaced and
  1071.       allows for user code to be included along with the default
  1072.       code.
  1073.  
  1074.       To REPLACE the default code  (all default code must be specified)
  1075.       the category needs to be specified followed by the cl statements.
  1076.       The control card is place infont on the control information.
  1077.       A maximum of 256 entries is supported.
  1078.            Replace Default     REPDF
  1079.                 format  JCLREPDF
  1080.                 followed by new default info.
  1081.       example.  assume start in cc1.
  1082.                 note number in cc1 that represents cl category
  1083.                 numbers must be sequential
  1084. JCLREPDF
  1085. 1/* ++++++  generated DCL follows  +++++++++++*/
  1086. 1DECLARE:     DCL  &JOBID    *char 10
  1087. 2/* ++++++   job monitor message code follows */
  1088.  
  1089.  
  1090.       To ADD code to the generated code the particular area must be
  1091.       specified by a control card.  The code to include in the output
  1092.       follows the control card (like above).
  1093.       A maximum of 256 entries is supported for each control card
  1094.       type (listed below).
  1095.  
  1096.  
  1097.        Control    Category           area
  1098.        ---------  ---------   ------------------------
  1099.          DCLVB       1        DECLARE VARIABLES
  1100.                               placed after default code but before
  1101.                               dcl generated from MVS JCL
  1102.  
  1103.          JOBMM       3        JOB MONITOR MESSAGES
  1104.                               placed after monitor messages from
  1105.                               default code and before first step
  1106.                               setup code
  1107.  
  1108.          JOBPP       3        JOB PREPROCESSING
  1109.                               placed after default job setup code
  1110.                               and before first step setup code.
  1111.  
  1112.          STPPP       4        STEP PREPROCESSING
  1113.                               placed after default step startup
  1114.                               code and before code generated from
  1115.                               the MVS JCL.   This code is included
  1116.                               for each step.
  1117.  
  1118.    *     STPRC       5        STEP RETURN CODES
  1119.    *  not implemented         placed after default step return code
  1120.    *  at this time            code and before default code for
  1121.    *                          step post processing.
  1122.    *
  1123.  
  1124.  
  1125.  
  1126.  
  1127.          STPPX       6        STEP POST PROCESSING
  1128.                               placed after default step return code
  1129.                               extraction and before generated post
  1130.                               process code.
  1131.  
  1132.          JOBRT       7        JOB RETURN CODE
  1133.                               placed after default job abend process
  1134.                               code and before final post process code.
  1135.  
  1136.          JOBPX       8        JOB POST PROCESSING COPY INTO END
  1137.                               all code following this is place after
  1138.                               all generated code. The is no limit to
  1139.                               the number of cards that can follow.
  1140.  
  1141.          ENDIT                delineates end of input for one of
  1142.                               the above categories. It is not required
  1143.                               but it should be placed before any
  1144.                               remarks (REM) between categories.
  1145.  
  1146.            Include CL CODE     DCLVB,JOBMM ...
  1147.                 format  JCLDCLVB
  1148.                 followed by include CL
  1149.       example.  assume start in cc1.
  1150.                 note category number not used here.
  1151.  
  1152. JCLDCLVB
  1153. /* ++++++  User  DCL follows  +++++++++++*/
  1154.         DCL  &JOBTST   *CHAR 10
  1155.         DCL  &STPTST   *CHAR 10
  1156.                                    <==  note blanks are allowed
  1157. JCLSTPPP
  1158. /* ++++++  User  step preprocess code++++*/
  1159.            CALL  USERSTEP PARM(&STPTST)
  1160.  
  1161. JCLENDIT          <== if this card were not included all of the
  1162.                   <== following rem stmts would be place in the
  1163.                   <== output area of each step.
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.      The first step of the AS400mcl batch job parses the jcl and
  1171.      generates the flow chart.  This program has its own control
  1172.      card formats. This program was licensed from  MERLYN DATA
  1173.      SYSTEMS, INC. and remains their property.  It is included
  1174.      with no restrictions other than it may not be sold or
  1175.      sub licensed.
  1176.  
  1177.      These control cards should be keyed and included in a
  1178.      separate file that is specified for the "SET" statement
  1179.      SYSIN.
  1180.  
  1181.  
  1182.      THE CONTROL CARDS:
  1183.                CONTROL CARDS COME IN TWO TYPES: TYPE "H" CONTROL CARDS
  1184.             ARE USED TO PASS HEADING INFORMATION TO THE OUTPUT ROUTINE.
  1185.             THE "KEYWORD" CONTROL CARDS ARE USED FOR FLOW CHART
  1186.             GENERATION CONTROL, (IE controlling formatting OF FLOW CHART)
  1187.                "H" TYPE CONTROL CARDS MUST START IN CARD COLUMN 1 BUT
  1188.             "KEYWORD" CONTROL CARDS MAY START IN COLUMNS 1 THRU 16. THE
  1189.             INFORMATION PASSED ON THE "H" TYPE CONTROL CARDS IS AUTO-
  1190.             MATICALLY CENTERED ON THE OUTPUT SO ALIGNMENT ON CONTROL
  1191.             CARDS IS NOT NECESSARY.
  1192.                YOU MAY ENTER MULTIPLE "KEYWORD" CONTROL CARDS ON ONE
  1193.             LINE separated BY COMMAS, BUT YOU MUST NOT SPLIT THEM
  1194.             OR EXCEED COLUMN 71.
  1195.                YOU MAY NOT ENTER MULTIPLE "H" CONTROL CARDS ON A
  1196.             LINE.   "H" CONTROL CARDS AND KEYWORD CONTROL CARDS
  1197.             MUST NOT BE MIXED ON A CARD. THE CONTROL CARDS MAY
  1198.             APPEAR IN ANY ORDER.
  1199.                 AT INITIAL INSTALLATION  DEFAULT VALUES WERE
  1200.             ESTABLISHED FOR MOST OF THE RUN PARAMETERS.  THESE DEFAULTS
  1201.             MAY BE overridden BY USING THE CONTROL CARDS LISTED, TO
  1202.             OBTAIN A LIST OF SYSTEM DEFAULTS USE THE "PRINTOPT"
  1203.             CONTROL CARD. YOUR SYSTEMS PROGRAMMER WHO INSTALLED
  1204.             QUICKDOC HAS THE ability TO MODIFY THE DEFAULT PARA-
  1205.             METERS IF NECESSARY.
  1206.  
  1207.  
  1208.                         ----------  QUICKDOC  ---------
  1209.               COPYRIGHT  1979,1989,91,93,94 MERLYN DATA SYSTEMS
  1210.                         ----------  QUICKDOC  ---------
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.     "H" TYPE CONTROL CARDS (START IN COL 1)
  1217.  
  1218.      H-PROCMEM  THIS IS THE PROCLIB MEMBER NAME. THIS INFORMATION WILL
  1219.                 BE GENERATED FROM THE PROC NAME THAT IS ON THE PROC
  1220.                STATEMENT IF THIS CARD OMITTED. OTHERWISE THE INFORMATION
  1221.                 ON THIS CARD WILL APPEAR UNDER THE HEADING
  1222.                 "PROCLIB MEMBER"
  1223.                 THE MAXIMUM DATA LENGTH IS 8 CHARACTERS.
  1224.                 EXAMPLE  H-PROCMEM=ABCDEFGH
  1225.  
  1226.  
  1227.      H-MGRNAME  THIS IS THE PROJECT MANAGER NAME. THIS INFORMATION
  1228.                 WILL APPEAR UNDER THE HEADING "PROJECT MANAGER"
  1229.                 THE MAXIMUM DATA LENGTH IS 35 CHARACTERS.
  1230.                 EXAMPLE  H-MGRNAME=JOHN DOE JR
  1231.  
  1232.      H-JOBNUMB  THIS IS THE JOB NUMBER. THIS INFORMATION WILL APPEAR
  1233.                 UNDER THE HEADING "JOB NUMBER".
  1234.                 THE MAXIMUM DATA LENGTH IS 14 CHARACTERS.
  1235.                 EXAMPLE  H-JOBNUMB=ABCDEFGH1243GG
  1236.  
  1237.      H-SYSNUMB  THIS IS THE SYSTEM NUMBER. THIS INFORMATION WILL APPEAR
  1238.                 UNDER THE HEADING "SYSTEM NUMBER".
  1239.                 THE MAXIMUM DATA LENGTH IS 14 CHARACTERS.
  1240.                 EXAMPLE  H-SYSNUMB=QQQ-QQ123-44AB
  1241.  
  1242.      H-INSTALL  THIS IS THE INSTALLATION DESIGNATION. THIS INFORMATION
  1243.                 WILL APPEAR UNDER THE HEADING "LOCATION".
  1244.                 THE MAXIMUM DATA LENGTH IS 8 CHARACTERS.
  1245.                 EXAMPLE  H-INSTALL=YOURNAME
  1246.            NOTE THIS CARD IF omitted WILL DEFAULT TO YOUR
  1247.                 INSTALLATION STANDARD.
  1248.  
  1249.      H-SYSNAME  THIS IS THE SYSTEM NAME.  THIS INFORMATION WILL APPEAR
  1250.                 UNDER THE HEADING "SYSTEM NAME".
  1251.                 THE MAXIMUM DATA LENGTH IS 42 CHARACTERS.
  1252.                 EXAMPLE  H-SYSNAME= GENERATE FLOW CHARTS
  1253.  
  1254.  
  1255.      NOTES:     IF NO CARD IS FOUND FOR A HEADING TYPE BLANKS IS THE
  1256.                 DEFAULT (EXCEPT ON H-PROCMEM WHERE THE DEFAULT IS THE
  1257.                 NAME ON THE PROC statement AND H-INSTALL WHICH IS
  1258.                 SET UP AT SYSGEN TIME)
  1259.                 IMBEDDED SPACES ARE PERMITTED
  1260.  
  1261.  
  1262.                         ----------  QUICKDOC  ---------
  1263.               COPYRIGHT  1979,1989,91,93,94 MERLYN DATA SYSTEMS
  1264.                         ----------  QUICKDOC  ---------
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.      "KEYWORD" CONTROL CARDS
  1272.  
  1273.      UNIT  THIS CARD ASSIGNS FLOW CHART KEYWORDS TO VARIOUS UNIT
  1274.            PARAMETER IN THE JCL. UP TO 25 UNIT CARDS MAY BE INPUT.
  1275.            COMPARISON IS MADE TO ONLY 4 BYTES IN THE JCL THERE FOR
  1276.            ONLY THE FIRST FOUR BYTES IN THE JCL ARE SIGNIFICANT.
  1277.            UP TO FORTY MAY BE ASSIGNED AS STANDARD AT SYSGEN TIME.
  1278.  
  1279.            FORMAT  UNIT=(JCLX,FLOW)
  1280.                    WHERE JCLX IS CHARACTERS ON UNIT PARAMETER IN JCL AND
  1281.                    FLOW IS THE QUICKDOC KEYWORDS ASSOCIATED WITH THIS,
  1282.                    VALID VALUES FOR FLOW ARE (TAPE,CARD,PRNT,DISK)
  1283.  
  1284.            EXAMPLE UNIT=(2400,TAPE)
  1285.                    UNIT=(3330,DISK)
  1286.                    UNIT=(1403,TAPE)
  1287.                    UNIT=(28C ,TAPE)
  1288.                    UNIT=(151 ,DISK)
  1289.                    UNIT=(TAPE,DISK)
  1290.  
  1291.  
  1292.      DEFAULT THIS CARD ASSIGNS FLOW CHART KEYWORDS TO DD"S WHEN
  1293.            THE QUICKDOC PROGRAM CANNOT DETERMINE WHAT THE UNIT
  1294.            SHOULD BE. A UNIT TYPE CAN NORMALLY BE DETERMINED IF
  1295.            THE FILE HAS A DISP OF OLD OR SHR AND IT IS CATALOGUED,
  1296.            OR IF THE UNIT IS PREVIOUSLY SPECIFIED FOR THAT DSNAME,
  1297.            OR IF THE UNIT IS EXPLICITLY DEFINED FOR THAT FILE.
  1298.            THE INTERNAL DEFAULT FOR THIS CARD IS TAPE
  1299.  
  1300.            FORMAT DEFAULT=FLOW
  1301.                   WHERE FLOW IS A VALID QUICKDOC KEYWORD (SEE UNIT LIST)
  1302.  
  1303.           EXAMPLE DEFAULT=TAPE
  1304.                   DEFAULT=CARD
  1305.                   DEFAULT=DISK
  1306.  
  1307.                         ----------  QUICKDOC  ---------
  1308.               COPYRIGHT  1979,1989,91,93,94 MERLYN DATA SYSTEMS
  1309.                         ----------  QUICKDOC  ---------
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.      DDNAME  THIS CARD ASSIGNS FLOW CHART KEYWORDS TO JCL STATEMENTS
  1316.              THAT USE A DDNAME.
  1317.  
  1318.              FORMAT DDNAME=FLOW
  1319.                   WHERE FLOW IS A VALID QUICKDOC KEYWORD (SEE UNIT LIST)
  1320.             EXAMPLE DDNAME=TAPE
  1321.                     DDNAME=DISK
  1322.  
  1323.  
  1324.      PUNCH   THIS CARD CAUSES THE REALIGNED PROC DATA TO BE PUNCHED
  1325.              TO THE SYSPUNCH OUTPUT FILE.
  1326.  
  1327.      NOPUN   THIS CARD CAUSES THE REALIGNED PROC DATA NOT TO BE PUNCHED
  1328.              TO THE SYSPUNCH OUTPUT FILE.
  1329.  
  1330.     NOVERLAY THIS CARD ELIMINATES THE "+" BORDER AROUND THE OUTPUT
  1331.  
  1332.  
  1333.      SYNTAX THIS CARD CAUSES LIMITED SYNTAX CHECKING TO BE PERFORMED
  1334.             ON THE INPUT PROC.  UNLIKE THE OS SYNTAX CHECKER THE SCAN
  1335.             DOES NOT TERMINATE AT THE FIRST SPACE ENCOUNTERED SO ANY
  1336.             CHARACTERS AFTER A BLANK WILL BE INTERPERTED AS A SYNTAX
  1337.             ERROR.
  1338.  
  1339.     NOSYNTX THIS CARD DISABLES THE SYNTAX CHECKING OF THE PROC.
  1340.  
  1341.  
  1342.  
  1343.  
  1344.      CONFLICT THIS CARD CAUSES UNIT CONFLICTS  TO BE DISPLAYED
  1345.               A UNIT CONFLICT IS WHEN A DATA SET NAME HAS TWO DIFFERENT
  1346.               UNITS IN THE SAME PROC.
  1347.               THE INTERNAL DEFAULT IS FOR CONFLICTS TO BE DISPLAYED
  1348.  
  1349.      NOCONFLT THIS CARD CAUSES UNIT CONFLICT TO BE DISPLAYS TO BE
  1350.               SUPPRESSED.
  1351.  
  1352.  
  1353.  
  1354.                         ----------  QUICKDOC  ---------
  1355.               COPYRIGHT  1979,1989,91,93,94 MERLYN DATA SYSTEMS
  1356.                         ----------  QUICKDOC  ---------
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.      XREFLIST  THIS CARD CAUSES THE SYMBOLIC PROC LISTING TO BE
  1363.                GENERATED AND PRINTED.
  1364.  
  1365.        NOXREF  THIS CARD CAUSES THE SYMBOLIC PROC LISTING TO BE
  1366.                SUPPRESSED
  1367.  
  1368.  
  1369.      SORTWK
  1370.      SORTLIB
  1371.      STEPCAT
  1372.      STEPLIB
  1373.      SYSPRINT
  1374.              THESE CARDS WILL CAUSE A UNIT TO BE GENERATED WHEN A
  1375.              DD statement WITH A MATCHING NAME IS ENCOUNTERED.
  1376.              THE UNIT WILL BE PRINTED ON THE OUTPUT FLOWCHART. THE
  1377.              SORTWK CARD WILL ONLY SHOW ONE SORTWORK SYMBOL
  1378.              REGARDLESS OF THE NUMBER OF SORTWK statements IN THE
  1379.              STEP.  THE SYSPRINT CARD WILL ALLOW ANY DDNAMES
  1380.              BEGINNING WITH "SYS" TO BE PRINTED.
  1381.  
  1382.     NOSORTWK
  1383.     NOSORTLB
  1384.     NOSTEPLB
  1385.     NOSTEPCT
  1386.     NOSYSPR
  1387.              THESE CARDS WILL SUPPRESS THE PRINTING OF SYMBOLS WITH A
  1388.              MATCHING DDNAME.
  1389.  
  1390.  
  1391.                         ----------  QUICKDOC  ---------
  1392.               COPYRIGHT  1979,1989,91,93,94 MERLYN DATA SYSTEMS
  1393.                         ----------  QUICKDOC  ---------
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.     SYMBOLIC  THIS CARD ALLOWS SYMBOLIC VARIABLES TO BE REPLACED
  1401.               ON THE OUTPUT FLOW CHART.
  1402.  
  1403.            FORMAT  SYMBOLIC=(PGM,UNIT,DSN,SYSOUT,DISP)
  1404.  
  1405.            WHERE PARAMETERS INSIDE PARENTHESES ARE FIELD TYPES
  1406.            THAT WILL BE REPLACED WITH VALUES ON PROC STATMENT
  1407.  
  1408.            IE. IF PGM IS SPECIFIED AND   JCL IS  PGM=&PGM1
  1409.                AND PROC statement IS   PGM1=QUICKDOC
  1410.                OUTPUT ON FLOWCHART WILL NOW SHOW  PGM=QUICKDOC
  1411.  
  1412.            THE VALID PARAMETER FOR SYMBOLIC ARE:
  1413.            PGM       UNIT      DISP     SYSOUT    DSN
  1414.            NOPGM     NOUNIT    NODISP   NOSYSOUT  NODSN
  1415.  
  1416.            PARAMETERS BEGINNING WITH "NO" suppress SUBSTITION OF THE
  1417.            INDICATED TYPE.
  1418.  
  1419.             EXAMPLE  SYMBOLIC=(PGM,UNIT,DSN,SYSOUT,DISP)
  1420.                      SYMBOLIC=(PGM,NOSYSOUT)
  1421.                      SYMBOLIC=(DSN)
  1422.                      SYMBOLIC=(DISP,SYSOUT)
  1423.  
  1424.             THE PARAMETER AND ITS NEGATIVE IN THE SAME RUN WILL CAUSE
  1425.             THE LAST ONE ENCOUNTERED TO BE USED. THEY MAY BE CODED
  1426.             IN ANY ORDER.
  1427.  
  1428.  
  1429.                         ----------  QUICKDOC  ---------
  1430.               COPYRIGHT  1979,1989,91,93,94 MERLYN DATA SYSTEMS
  1431.                         ----------  QUICKDOC  ---------
  1432.  
  1433.  
  1434.  
  1435.                            FILELEN.TAB
  1436.  
  1437.                            file format
  1438.  
  1439.      This file is input to the record length test and convert
  1440.      routines.  It is used for CICS programs only.
  1441.      The format is:
  1442.                   cc 1-8  file name (can have trailing ? for
  1443.                                      generic equivalency test
  1444.                                      ex.  authfl01 and authfl??
  1445.                                      work both select file authfl01)
  1446.  
  1447.                   cc 9-13 if the maximum lrecl for the file.
  1448.  
  1449.                   cc 14   indicates whether to fix input (I),
  1450.                           output (O), or both (B).  Generally choose
  1451.                           B unless it causes a problem.
  1452.  
  1453.  
  1454.  
  1455.  
  1456.   APPENDIX C:
  1457.  
  1458.  
  1459.     Errors That may result
  1460.  
  1461.     GENDOC4:
  1462.     ERROR HANDLING AND CODES
  1463.           "QUICKDOC" WAS DESIGNED TO HANDLE MOST USER ERRORS, BUT, IN
  1464.           SOME CASES THE OUTPUT PRODUCED MAY BE UNDESIRABLE. IN THOSE
  1465.           INSTANCES THE ERROR SHOULD BE CORRECTED AND THE JOB RERUN.
  1466.  
  1467.     ERROR MESSAGES
  1468.  
  1469.     *** QD0100 SYMBOLIC XREF TABLE LIMIT REACHED
  1470.         CAUSE:   MORE THAN 75 SYMBOLIC NAMES ON PROC STATEMENT
  1471.         COMMENT: IF SYMBOLIC SUBSTITUTION ON FLOW CHART WAS REQUESTED
  1472.                  VARIABLES WILL NOT BE REPLACED AFTER THE SEVENTY FIFTH
  1473.                  NAME. NO ERRORS WILL RESULT IN THE FORMATTED PROC OUTPU
  1474.                  THE CARD DISPLAYED FOLLOWING THE MESSAGE WAS THE ONE IN
  1475.                  ERROR.
  1476.  
  1477.     *** QD0101 EXPECTED CONTINUATION NOT RECEIVED
  1478.         CAUSE:   MISSING COMMA OR OTHER ERROR ON PROC STATEMENT
  1479.         COMMENT: LOADING OF SYMBOLIC CROSS REFERENCE TABLE IS TERMINATED
  1480.                  AND SYMBOLIC REPLACEMENT ERRORS MAY RESULT. THE CARD
  1481.                  DISPLAYED FOLLOWING THE MESSAGE IS IN ERROR.
  1482.  
  1483.     *** QD0102 UNDETERMINED JCL ERROR
  1484.         CAUSE:   QUICKDOC COULD NOT DETERMINE LOGICAL BREAK ON JCL SCAN
  1485.         COMMENT: THIS ERROR COULD BE CAUSED BY A COMMENT AFTER THE JCL
  1486.                  INFORMATION. "QUICKDOC" DOES NOT TERMINATE THE JCL SCAN
  1487.                  ON AN ENCOUNTERED BLANK AND THIS ERROR COULD BE ERRONEO
  1488.                  THE CARD IN ERROR IS DISPLAYED ON THE SAME LINE AS MESS
  1489.  
  1490.     *** QD0103 KEYWORD SYNTAX ERROR
  1491.         CAUSE:   QUICKDOC ENCOUNTERED AN INVALID JCL KEYWORD
  1492.         COMMENT: THIS ERROR COULD BE CAUSED BY A COMMENT AFTER THE JCL
  1493.                  INFORMATION. "QUICKDOC" DOES NOT TERMINATE THE JCL SCAN
  1494.                  ON AN ENCOUNTERED BLANK AND THIS ERROR COULD BE ERRONEO
  1495.                  THE CARD IN ERROR IS DISPLAYED ON THE SAME LINE AS MESS
  1496.  
  1497.     *** QD0104 UNBALANCED QUOTES ON LINE
  1498.         CAUSE:   THE LINE CONTAINS AN ODD NUMBER OF QUOTES
  1499.         COMMENT: THIS MAY NOT BE AN ERROR IF A FIELD IS CONTINUE ON THE
  1500.                  NEXT LINE. THE CARD IN ERROR IS DISPLAYED ON THE SAME
  1501.                  LINE AS THE MESSAGE.
  1502.  
  1503.     *** QD0105 UNBALANCED PARENS ON LINE
  1504.         CAUSE:   THE LINE CONTAINS AN ODD NUMBER OF PARENTHESIS
  1505.         COMMENT: THIS MAY NOT BE AN ERROR IF A FIELD IS CONTINUE ON THE
  1506.                  NEXT LINE. THE CARD IN ERROR IS DISPLAYED ON THE SAME
  1507.                  LINE AS THE MESSAGE.
  1508.  
  1509.     *** QD0106 INFORMATION SHOULD START BEFORE CC 17
  1510.         CAUSE:   CONTROL CARD INPUT (KEYWORD FORMAT) SHOULD START IN
  1511.                  COLUMNS 1 THRU 16
  1512.         COMMENT: CONSULT DOCUMENTATION FOR PROPER FORMAT. THE CARD THAT
  1513.                  IMMEDIATELY PRECEDES THE MESSAGE IS IN ERROR.
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.     *** QD0107 ERROR IN KEYWORD  CARD BYPASSED
  1520.         CAUSE:   QUICKDOC COULD NOT IDENTIFY INPUT
  1521.         COMMENT: CONSULT DOCUMENTATION FOR PROPER FORMAT. THE CARD THAT
  1522.                  IMMEDIATELY PRECEDES THE MESSAGE IS IN ERROR.
  1523.  
  1524.     *** QD0108 TOO MANY UNIT EQUATES ALL DROPPED AFTER THIS CARD
  1525.         CAUSE:   MORE THE 25 UNIT EQUATE STATEMENTS SUBMITTED
  1526.         COMMENT: ALL UNIT EQUATE STATEMENTS AFTER MESSAGE WILL BE IGNORE
  1527.  
  1528.     *** QD0109 ** SYMBOL NOT DEFINED IN PROCEDURE
  1529.         CAUSE:   DURING SYMBOLIC SUBSTITUTION ROUTINE A SYMBOLIC NAME
  1530.                  WAS ENCOUNTERED THAT WAS NOT ON THE PROC STATEMENT.
  1531.         COMMENT: VALUE IN QUESTION IS DISPLAYED AFTER MESSAGE
  1532.  
  1533.     *** QD0110  ERROR ON THIS PARM
  1534.         CAUSE:   SUBPARAMETER NAME IN SYMBOLIC CONTROL CARD INVALID
  1535.         COMMENT: CONSULT DOCUMENTATION FOR PROPER NAME. THE SUBPARAMETER
  1536.                  IN ERROR IS DISPLAYED WITH MESSAGE.
  1537.  
  1538.     *** QD0111  permanent UNIT TABLE EXCEEDED
  1539.         CAUSE:   THE UNIT TABLE ALLOWS ONLY 40 ENTRIES THIS CARD
  1540.                  WOULD CAUSE THE TABLE LIMIT TO BE EXCEEDED.
  1541.         COMMENT: GET PRINT OF OPTION LIST AND CONTACT SYSTEM PROGRAMMER
  1542.  
  1543.     *** QD0200  **  UNIT CONFLICT  **
  1544.         CAUSE:   UNIT ON DATASET NAME WAS PREVIOUSLY DEFINED AS A
  1545.                  DIFFERENT TYPE.
  1546.         COMMENT: THE SECOND UNIT WILL BE REPLACED BY THE FIRST UNIT
  1547.                  UNLESS "CONFLICT=NO" WAS SPECIFIED, THEN NO ACTION OCCU
  1548.  
  1549.     *** QD0300  ABNORMAL SORT RETURN
  1550.         CAUSE:   RETURN CODE FROM SORT WAS NOT ZERO
  1551.         COMMENT: SEE SYSOUT DATASET FOR MORE INFORMATION
  1552.  
  1553.     *** QD0301  INVALID HEADER DESCRIPTION
  1554.         CAUSE:   AN "H" TYPE CONTROL CARD WAS INVALID
  1555.         COMMENT: SEE DOCUMENTATION FOR PROPER FORMAT
  1556.  
  1557.     *** QD0302  INVALID UNIT DESCRIPTION CARD
  1558.         CAUSE:   A UNIT WAS NOT PROPERLY DEFINED FOR THE FLOWCHART ROUTI
  1559.         COMMENT: THIS ERROR IS GENERALLY CAUSED BY EITHER NOT HAVING A
  1560.                  UNIT EQUATE STATEMENT FOR A UNIT TYPE OR, NOT REPLACING
  1561.                  A SYMBOLIC UNIT VARIABLE.
  1562.  
  1563.     *** QD0304  INTERNAL DESCRIPTION TABLE OVERFLOW
  1564.         CAUSE:   TABLE LIMITS EXCEEDED
  1565.         COMMENT: THIS ERROR IS SERIOUS CONTACT MERLYN DATA SYSTEMS
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  COBOL/400 PROGRAM TRANSLATOR ERRORS:
  1572.       The AS/400 translator has different severity error messages.
  1573.       The levels are ( I=information,  E=error, S=severe).  The
  1574.       "E" level message generally indicates a problem with the
  1575.       generated output.  The "S" level will indicate a problem
  1576.       with the processing logic or internal error in the translator
  1577.       program.  The "I" level provides status information and
  1578.       debugging information. The display level can be modified by
  1579.       the "error" control card. The 1st character of the display
  1580.       message shows the severity of the message, the next two
  1581.       characters indicate the processing module. The message
  1582.       number has no significance other than to uniquely identify
  1583.       the error.  Example  (Irl 001).  The informational messages
  1584.       are not listed here as they generally just information or
  1585.       used for debugging and are self explanatory.
  1586.  
  1587.    ERL 008B
  1588.      TEXT:
  1589.       Into name table matches to renames level 66...
  1590.      CAUSE:
  1591.       The translator does not handle "renames" clauses for file length
  1592.       determination.
  1593.  
  1594.    ERL 010
  1595.      TEXT:
  1596.       Unable to assimilate.
  1597.      CAUSE:
  1598.       The file name could not be found in the file name lookup
  1599.       table.  The length for the file will not be correct.
  1600.  
  1601.    ERL 011
  1602.      TEXT:
  1603.       This file not matched ....
  1604.      CAUSE:
  1605.       The file name was found in the file name lookup table, however
  1606.       the corresponding length could not be found in the length
  1607.       table.  The length will be incorrect.
  1608.  
  1609.    ERL 011A
  1610.      TEXT:
  1611.       Area not large enough to hold record...
  1612.      CAUSE:
  1613.       The storage area indicated for the file is not large enough
  1614.       to hold the maximum record size. Or the length variable for a
  1615.       file has been used by another file with a different length.
  1616.       This will most likely cause a storage violation or overlay the
  1617.       storage following the area.
  1618.  
  1619.    ERL 026A
  1620.      TEXT:
  1621.       Probable length conversion error will exist.
  1622.      CAUSE:
  1623.       The length variable is not unique for this file or the length
  1624.       for this file is specified differently in multiple places.
  1625.  
  1626.  
  1627.  
  1628.  
  1629.    SRL 001
  1630.      TEXT:
  1631.       Possible dataset length logic error:
  1632.      CAUSE:
  1633.       The dataset target of a "read" into cannot be found in a
  1634.       lookup table. This would indicate the the "into" storage area
  1635.       cannot be found in the code.  There is either a spelling or
  1636.       syntax error in the code or a logic bug in the translator.
  1637.  
  1638.    SRL 002
  1639.      TEXT:
  1640.       Run aborted more than 255 file names:
  1641.      CAUSE:
  1642.       The table that holds the distinct file names has exceed the
  1643.       255 file name limit. Reduce the number of files in the program.
  1644.  
  1645.    SRL 004
  1646.      TEXT:
  1647.       Run aborted more than 500 commands with "length"
  1648.      CAUSE:
  1649.       The table that holds resource lengths has exceed 500 entries.
  1650.       Reduce the number of CICS commands that have the length option.
  1651.  
  1652.    SRL 004A
  1653.      TEXT:
  1654.       Run aborted more than 255 commands with "into"
  1655.      CAUSE:
  1656.       The table that holds resource storage area names has exceeded
  1657.       255 distinct entries.
  1658.       Reduce the number of unique "into" storage areas.
  1659.  
  1660.    SRL 005A
  1661.      TEXT:
  1662.       Potential missing period...
  1663.      CAUSE:
  1664.       The translator could not parse the indicated statement at the
  1665.       line number displayed.  There is probably a missing period on
  1666.       the statement before or on this statement. There could be a
  1667.       logic error in the translator.
  1668.  
  1669.    SRL 014
  1670.      TEXT:
  1671.       More than 500 depending on variables...
  1672.      CAUSE:
  1673.       There were more than 500 "occurs depending on" clauses in the
  1674.       program.  The translator can only handle 500.
  1675.  
  1676.    SRL 016
  1677.      TEXT:
  1678.       CX2 exceeds 4223.
  1679.      CAUSE:
  1680.       Internal logic error created parsing table overflow.
  1681.  
  1682.  
  1683.  
  1684.  
  1685.    SRL 055A
  1686.      TEXT:
  1687.       Only 255 translate table entries:
  1688.      CAUSE:
  1689.       The character translate table (TRNTB) has exceed 255 entries.
  1690.       Reduce the number of TRNTB control cards.
  1691.  
  1692.  
  1693.    STR 055
  1694.      TEXT:
  1695.       Only 30 programs allowed to bypas
  1696.      CAUSE:
  1697.       Only 30 called programs can be input to override the call check
  1698.       bypass (bypgm ctl statement).  Reduce the number to 30 or less.
  1699.  
  1700.    STR 055A
  1701.      TEXT:
  1702.       Only 255 translate table entries:
  1703.      CAUSE:
  1704.       The character translate table (TRNTB) has exceed 255 entries.
  1705.       Reduce the number of TRNTB control cards.
  1706.  
  1707.  
  1708.  
  1709.  
  1710.    ETR 003
  1711.      TEXT:
  1712.       Two sets (address) without a service reload.
  1713.      CAUSE:
  1714.       The program has 'SET (address) ' without a service reload
  1715.       command.  This may cause the translator to replace the
  1716.       address incorrectly.
  1717.  
  1718.    ETR 005
  1719.      TEXT:
  1720.       Two reloads without a set (address)...
  1721.      CAUSE:
  1722.       The translator has encounter a service reload without a "SET"
  1723.       address.  This may cause the translator to replace the
  1724.       address incorrectly on a prior or subsequent set(address).
  1725.  
  1726.    ETR 008 /STR 004/STR 014
  1727.      TEXT:
  1728.       Run aborted more than 255 BLL cells.
  1729.      CAUSE:
  1730.       The program contains more than 255 BLL cells.
  1731.       Reduce the number to 255 or less.
  1732.  
  1733.    ETR 010
  1734.      TEXT:
  1735.       Missing set for this sevice reload ...
  1736.      CAUSE:
  1737.       The translator has encounter a service reload without a "SET"
  1738.       address.  This may cause the translator to replace the
  1739.       address incorrectly on a prior or subsequent set(address).
  1740.  
  1741.    ETR 011
  1742.      TEXT:
  1743.       Missing service reload for this set...
  1744.      CAUSE:
  1745.       The program has 'SET (address) ' without a service reload
  1746.       command.  This may cause the translator to replace the
  1747.       address incorrectly.
  1748.  
  1749.    ETR 015A
  1750.      TEXT:
  1751.       Missing service reload for ...
  1752.      CAUSE:
  1753.       The program has 'SET (address) ' without a service reload
  1754.       command, and there was no prior service reload for it.
  1755.       This WILL cause the translator to replace the
  1756.       address incorrectly.
  1757.  
  1758.    ETR 019A
  1759.      TEXT:
  1760.       More than 98 select statements
  1761.      CAUSE:
  1762.       The program has exceeded the AS/400 limit of 98 select statements
  1763.       and must be manually reworked.
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.    ETR 020
  1770.      TEXT:
  1771.       This online program does not have a commarea
  1772.      CAUSE:
  1773.       The translator needs a DFHCOMMAREA  in the linkage area
  1774.       to properly translate CICS programs.  Add the DFHCOMMAREA
  1775.       statement and retranslate.
  1776.  
  1777.    ETR 025A
  1778.      TEXT:
  1779.       Write with positioning and end of page ...
  1780.      CAUSE:
  1781.       The translator cannot translate the combination of positioning
  1782.       and end of page, it must be manually handled.
  1783.  
  1784.    ETR 025B
  1785.      TEXT:
  1786.       The following statement contains a reference to and alternate key
  1787.      CAUSE:
  1788.       The translator does not translate alternate keys automatically.
  1789.       Alternate keys are not supported in the same manner. Use the
  1790.       translator comment include/exclude feature (*T$CPxxxx)
  1791.       to manually code the workaround
  1792.  
  1793.    ETR 031/ ETR 032
  1794.      TEXT:
  1795.       BLL variable not found
  1796.      CAUSE:
  1797.       The translator could not find the BLL associated with this command.
  1798.       The resulting message will display the pertinent info.  The output
  1799.       translated program will be incorrect.
  1800.  
  1801.    ETR 033
  1802.      TEXT:
  1803.       The following statement contains an unsupport usage type.
  1804.      CAUSE:
  1805.       COBOL/400 will not support the "usage" type indicated. This
  1806.       must be manually corrected.
  1807.  
  1808.    ETR 034
  1809.      TEXT:
  1810.       The following statement contains a pointer...
  1811.      CAUSE:
  1812.       COBOL/400 pointers are not the same as MVS see text of message.
  1813.  
  1814.    ETR 035
  1815.      TEXT:
  1816.       The following statement contains a reference to
  1817.      CAUSE:
  1818.       The program being referenced may not exist on the AS/400 it
  1819.       will probably need a manual work around.
  1820.  
  1821.    ETR 037
  1822.      TEXT:
  1823.       The following statement contains the variable EIBTASKNO
  1824.      CAUSE:
  1825.       The program use EIBTASKNO which may not be unique on CICS/400.
  1826.       It may need a manual work around if you need a unique number.
  1827.  
  1828.  
  1829.    ETR 038
  1830.      TEXT:
  1831.       The following statement contains an invalid verb...
  1832.      CAUSE:
  1833.       The translator encounter an unsupported verb (see display).
  1834.       It will need a manual work around.
  1835.  
  1836.    ETR 039
  1837.      TEXT:
  1838.       The following statement contains an "CALL" verb...
  1839.      CAUSE:
  1840.       See display.
  1841.  
  1842.    ETR 040
  1843.      TEXT:
  1844.       This command contains ans address command...
  1845.      CAUSE:
  1846.       CICS/400 does not support addressing of certain CICS storage
  1847.       area, also the SIGNON/SIGNOFF command is not supported. This
  1848.       will need to be manually corrected.
  1849.  
  1850.    ETR 041
  1851.      TEXT:
  1852.       This command has a send with a set ...
  1853.      CAUSE:
  1854.       CICS/400 does not the SEND/SET combination.
  1855.       This will need to be manually corrected.
  1856.  
  1857.    ETR 042
  1858.      TEXT:
  1859.       This command has a send with ASIS ...
  1860.      CAUSE:
  1861.       CICS/400 does not the SEND/ASIS combination.
  1862.       This will need to be manually corrected.
  1863.  
  1864.    ETR 043
  1865.      TEXT:
  1866.       This command has a SEND/TEXT/NOEDIT ...
  1867.      CAUSE:
  1868.       CICS/400 does not the SEND/TEXT/NOEDIT combination.
  1869.       This will need to be manually corrected.
  1870.  
  1871.    ETR 044
  1872.      TEXT:
  1873.       This following statmnt contains a reference to a program...
  1874.      CAUSE:
  1875.       CICS/400 may not support calling of program "DFHEMPT"
  1876.       This may  need to be manually corrected.
  1877.  
  1878.    ETR 046
  1879.      TEXT:
  1880.       Invalid  xxxxxx   option ....
  1881.      CAUSE:
  1882.       CICS/400 does not support the specified option for the listed
  1883.       command. The option may be commented out, or the command may
  1884.       not run correctly without it, examine each.
  1885.       This may need to be manually corrected.
  1886.  
  1887.  
  1888.  
  1889.    ETR 047
  1890.      TEXT:
  1891.       Invalid  xxxxxx   option ....
  1892.      CAUSE:
  1893.       CICS/400 does not support the specified option for the listed
  1894.       command. The option may be commented out, or the command may
  1895.       not run correctly without it, examine each. This is less
  1896.       severe the ETR 046.
  1897.       This may need to be manually corrected.
  1898.  
  1899.    ETR 050
  1900.      TEXT:
  1901.       Unresolved BLL name...
  1902.      CAUSE:
  1903.       The translator could not match the BLL cell to the set
  1904.       address variable. There are probably other errors that
  1905.       relate to the BLL cell.
  1906.  
  1907.    ETR 051 / ETR 052
  1908.      TEXT:
  1909.       This command contains a BLL CELL ...
  1910.      CAUSE:
  1911.       The translator detected the use of a BLL variable name
  1912.       in a COBOL statement.  Since the BLL cell will be commented
  1913.       out the statement will cause a  diagnostic. If the COBOL
  1914.       statement can be automatically comment out it will be,
  1915.       however if the BLL cell variable is used in an if statement
  1916.       this would cause a problem.  A manual work around is required.
  1917.  
  1918.    STR 004A
  1919.      TEXT:
  1920.       Run aborted more than 99 printer definitions.
  1921.      CAUSE:
  1922.       The translator can only support 'PRINTER=' for 99 different
  1923.       select statements. Reduce the number to 99 or less.
  1924.  
  1925.    STR 054
  1926.      TEXT:
  1927.       CX2 exceeds 4223.
  1928.      CAUSE:
  1929.       Internal logic error created parsing table overflow.
  1930.  
  1931.  
  1932.  
  1933.  
  1934.    ETJ 010
  1935.      TEXT:
  1936.       More than 1500 GDG's
  1937.      CAUSE:
  1938.       The translator program can only handle a max of 1500 datasets
  1939.       with GDG's. Reduce the number and rerun.
  1940.  
  1941.    ETJ 010A
  1942.      TEXT:
  1943.       More than 28 files concatenated in a sort
  1944.      CAUSE:
  1945.       The translator program can only handle a max of 28 files
  1946.       concatenated under a sortin/sysut1 statement.
  1947.  
  1948.  
  1949.