Running Convert3 in Interactive Mode [ Micro Focus COBOL Compatibility Guide ] MPE/iX 5.0 Documentation
Micro Focus COBOL Compatibility Guide
Running Convert3 in Interactive Mode
The Convert3 utility is entirely menu-driven when run in the interactive
mode. It has an on-line help facility on each menu, which you can access
by pressing the key configured as the help key on your machine. This
displays a screen of information on the facilities available on each
menu.
To invoke Convert3 enter the command:
convert3
Once you have invoked Convert3 the main menu is displayed. From this
menu you can select any of the following functions:
* Help
* File Details
* Printfile Name
* Record Type Specification
* Generate Program
* Escape.
To select the function of your choice, press the associated function or
character key, as indicated in the menu.
The following sections describe these functions.
Help
This function is available to you when the main menu is displayed, and
when you select either the File Details function, the Printfile Name
function or the Record Type Specification function.
When you select this function, a help screen is displayed for either the
main menu or the function you have selected.
File Details
Selecting this function on the main menu displays a screen which prompts
you to identify which data files produced by the RM/COBOL source program
are to be converted.
Enter the following information on the screen:
1. The FD name of the file to be converted, as it appears in the
RM/COBOL source program.
2. The name of the RM/COBOL source program which created the original
data file.
3. The name of the file conversion program which Convert3 is to
generate. This name cannot be the same as that of the RM/COBOL
source program.
4. The setting of the RM directive. This can be either R for
RM/COBOL, or A for RM/COBOL with the ANSI switch set.
5. The conversion of COMP-6 items to VS-COMP. This can be either Y,
in which case behavior is as described in the section COMP-6/
COMPUTATIONAL-6 Data in the chapter Converting RM/COBOL Data
Files, or N, in which case COMP-6 items are not converted to
VS-COMP. The default setting is Y.
Press Enter to enter the data on this screen and return to the main menu.
If you specify an invalid parameter, the screen is redisplayed for you to
re-enter a valid one.
Press Esc ape to return to the main menu without saving your entries.
Printfile Name
Selecting this function on the main menu displays a screen which prompts
you to enter the name of a file to which Convert3 will write all status
or error messages. If you choose not to enter this parameter, all
messages are output to the screen.
Record Type Specification
Selecting this function on the main menu displays a screen which allows
you to specify the information needed by Convert3 to process data files
that contain more than one record type. That is, you can provide the
information Convert3 requires for data files that have more than one 01
level entry in their File Descriptions. You can uniquely determine the
type of each record in such multiple-record type files by entering one of
the following parameters:
* the name of a subprogram you have written which determines the
type of the records. Convert3 will call this subprogram when it
generates a file conversion program. See the section Identifying
Record Types By Subroutine later in this chapter
* the name of an item in the data file record whose value determines
the type of the records.
You cannot enter both of these parameters.
Press Enter to enter the data on this screen and return to the main menu.
If you specify an invalid parameter, the screen is redisplayed for you to
re-enter a valid one.
Press Esc ape to return to the main menu without saving your entries.
Identifying Record Types by Subroutine.
You can use a subroutine to determine each record type in a data file
with multiple types of records. The file conversion program calls this
subroutine each time it reads a record from the RM/COBOL data file. The
program passes the contents of the record to the subroutine which must
use some method to determine the type of record. The subroutine then
returns a value to the file conversion program indicating the record
type. This value is an index to the 01 level entries in the file's FD
entry. For example, if a record corresponds to the first 01 level entry
in the FD, the subroutine should return the value 1. If a record
corresponds to the third 01 level entry in the FD, the subroutine should
return the value 3.
The format of the CALL statement in the file conversion program is:
call "name" using record-name, record-number, record-length
where:
name is the subroutine-name that you have supplied on
this screen.
record-name is an alphanumeric data item referring to the
record that has just been read from the RM/COBOL
data file.
record-number is a PIC 99 field into which your subroutine will
return the number identifying the record type.
record-length is a PIC 9(6) COMP item containing the length of
the record. This is supplied only if you are
converting a binary sequential file.
Example.
Below is an example of a subroutine that you could write to identify a
type of record.
linkage section.
01 record-name.
03 filler pic x(6).
03 rec-id-field pic 9(6).
01 record-type pic 99.
01 record-length pic 9(6) COMP.
procedure division using record-name,record-type,record-length.
main-para.
if rec-id-field < 10
move 1 to record-type
else
if rec-id-field > 9 and < 80
move 2 to record-type
else
move 3 to record-type
end-if
end-if
exit program.
Identifying Record Types by Unique Record Item.
The file conversion program may be able to determine a type of record in
a file with multiple types of records by examining the value of a
particular data item. However, it can do this only if this value
uniquely determines the record type.
If this is true, enter the name of the record item on this screen as it
appears in the FD entry in the RM/COBOL source program. Now you must
enter a list of level 88 conditions and the record numbers that each of
these conditions identify. The record number, as with the value returned
by a subroutine, indexes the appropriate 01 level entry in the FD.
For example, you might make the following entries on this screen:
Identifying Data Item OR User Subprogram Name
[REC-TYPE-ITEM ]
record value(s)
number
[1] [1 thru 15 ]
[2] [16 ]
[3] [17 19 21 24 thru 30 ]
[4] [18 20 ]
[5] [22 23 ]
[6] [OTHERWISE ]
[ ] [ ]
[ ] [ ]
[ ] [ ]
[ ] [ ]
The sequence in which these entries appear is significant. See the
section Example Parameter File later in this chapter.
If the identifying data item is nonnumeric, you must ensure that each
value you enter is in quotation marks. For example, if REC-TYPE-ITEM in
the above screen display is declared as PIC XX, you must make the
following entries on the screen:
record value(s)
number
[1] ["1" thru "15" ]
[2] ["16" ]
[3] ["17" "19" "21" "24" thru "30" ]
[4] ["18" "20" ]
[5] ["22" "23" ]
[6] [OTHERWISE ]
[ ] [ ]
[ ] [ ]
[ ] [ ]
[ ] [ ]
Binary Sequential Files.
In a binary sequential file with multiple record types, the file
conversion program can identify a record type by its length as long as no
two record types have the same length. However, if they do, you will
have to use either the subroutine or unique identifier method to identify
the record type.
Generate Program
Selecting this function from the main menu generates the file conversion
program. You must have previously supplied Convert3 with all of the
necessary parameters to enable it to generate this program.
The message:
Creating Source
is displayed while Convert3 generates the file conversion program.
If any errors occur during generation, relevant error messages are
displayed on the screen. If you have specified the name of a printfile
these messages are also written to that file.
When a file conversion program has been successfully generated you are
returned to the main menu.
Escape
Leaves the Convert3 utility and returns you to your main system prompt.
You are asked to confirm that this is what you want to do.
MPE/iX 5.0 Documentation