This document describes the COBOL Parameter Selection User Interface, its toolbars, context menus and panes. It also describes briefly the purpose of the COBOL Parameter Selection. It also provides background information on parameter selection. It contains the following sections:
The purpose of the COBOL parameter selection page is to select the COBOL data items that match the COBOL server interface. This allows you to perform the following tasks:
Extract from a COBOL CICS server. The interface definition
DFHCOMMAREA
or channel container in many cases has to be selected manually because of
various different programming styles and techniques for accessing the CICS
interfaces.
Extract from COBOL IMS MPP message interface (IMS Connect) server
where the interface definition is within the working storage section and not
given by the parameters provided in the PROCEDURE DIVISION
header.
Manually check and correct the COBOL server parameter suggestion
given by the extractor wizard. Take an extra look at REDEFINE
data
items as parameters (top-level) for the following reasons:
Because the wizard always suggests the first REDFINE
path. In many cases this will not be the REDEFINE
path you want,
so you can manually select a different one.
If your COBOL server implements multiple business functions and you
want to map them to Web service operations or methods using a wrapper with a
class/method concept, such as the Java Wrapper or
.NET Wrapper, the complete REDEFINE
data item including
all REDEFINE
paths can be selected. Later in the COBOL Mapping
Editor, use the feature described under
Mapping COBOL Functions to Multiple IDL Programs to design your IDL.
This page is used in Step 5: Select the COBOL Parameters of Scenario I: Create New IDL and SVM.
The following page is provided for selecting the COBOL data items as parameters of your COBOL server:
The page consists of the following main panes:
In the COBOL Data Items pane, all COBOL data
items contained in the LINKAGE
and WORKING-STORAGE
SECTION
are offered in a tree view. Redefine units (all redefine paths
addressing the same storage location) are marked with special icons
(). By default, the
LINKAGE SECTION
is expanded and the WORKING-STORAGE
SECTION
is not.
A context menu is available on the node items of the COBOL Data Items tree for selecting parameters. See toolbar description below for explanation.
The toolbar in the COBOL Data Items pane provides the following actions:
Action | Description |
---|---|
Select one or more unselected items and move them to the right section. The same action is provided from the context menu and with a drag-and-drop operation. | |
Expand the full tree. | |
Collapse the full tree. |
In the COBOL INOUT
Parameters pane, the currently
selected parameters are presented in a tree view, representing the interface of
your COBOL program.
A context menu is available on the node items of the COBOL
INOUT
Parameters tree for deselecting parameters. See toolbar
description below for explanation.
The toolbar in the COBOL INOUT
Parameters pane
provides the following actions:
Action | Description | Restrictions |
---|---|---|
Deselect one or more items and remove them from the right section. The same action is provided from the context menu and by a drag-and-drop operation. | Deselection is only allowed on the first
level, except of interface type CICS, where items on the level following the
DFHCOMMAREA level can be selected.
|
|
Change the parameter order: move the selected item up. | Only for Interface types BATCH and IMS BMP. | |
Change the parameter order: move the selected item down. | Only for Interface types BATCH and IMS BMP. | |
Deselect all items and clear the section. | ||
Restore the default selection. | Only on the INOUT or IN parameter selection
page.
|
|
Expand the full tree. | ||
Collapse the full tree. |
The OUT same as IN parameters check box is
available for interface types CICS with DFHCOMMAREA
Calling Convention and
CICS with DFHCOMMAREA
Large Buffer Interface, and allows you to extract
from a COBOL server with the same COBOL data structures on input and output, or
with different data structures on input and output (i.e. the output overlays
the input). See DFHCOMMAREA
examples
1,
2,
3 and the
DFHCOMMAREA
Example 2 for CICS COBOL server
with different data structures on input and output.
With the Find in Source feature you can search in the COBOL source and locate text. This is useful if there is a large linking or working storage section and if you know the name of the COBOL data item you are looking for at least in parts.
The COBOL source pane in the lower part of the
page is headed by a list of (selectable) tabs. If
is selected, the source code you extracted is displayed. Additional tabs are
related to the copybooks, CA Librarian (-INC
control statement) or CA Panvalet
(++INCLUDE
control statement) members that are referenced in your sources. This
way, you can easily switch between the source, the copybooks and members.
Notes:
-INC
control statement) or CA Panvalet (++INCLUDE
control statement) members.
It is possible to resize the page and also to change the size of all these panes within the lines between the sections to handle large COBOL sources. Selections in the tree will reflect selections in the opposite tree and always in the COBOL source where you find all references to the selected parameter.
Selecting the COBOL parameters differs depending on the interface type:
Interface Type | Proceed with ... |
---|---|
CICS with DFHCOMMAREA calling convention
|
CICS DFHCOMMAREA |
CICS with channel container calling convention | CICS Channel Container |
CICS with DFHCOMMAREA large buffer interface
|
CICS DFHCOMMAREA Large Buffer |
Batch with standard linkage calling convention | Standard Linkage |
Micro Focus with standard linkage calling convention | Standard Linkage |
IMS MPP message interface (IMS Connect) | IMS MPP Message Interface (IMS Connect) |
IMS BMP with standard linkage calling convention | IMS BMP Standard Linkage |
Depending on the programming style used in the CICS program and the
various different techniques for accessing the CICS DFHCOMMAREA
interface,
finding the relevant COBOL data structures can be a complex and time-consuming
task that may require CICS COBOL programming knowledge. Please note also the
following:
A CICS program does not require a PROCEDURE DIVISION
header, where parameters are normally defined. See PROCEDURE DIVISION
Mapping.
The DFHCOMMAEA
can be omitted in the linkage
section.
If there is no DFHCOMMAREA
in the linkage section or no
PROCEDURE DIVISION
header present in the PROCEDURE
DIVISION
, the CICS preprocessor completes the interface of the COBOL
server and adds a DFHCOMMAREA
and a PROCEDURE DIVISON
header to the CICS program before compilation.
To extract from a CICS DFHCOMMAREA
program
Clarify whether the OUT
and IN
parameters
of your COBOL servers are the same or different.
Different OUT
and IN
parameters mean that
parameter formats (usage clauses) for the input differ from those of the output.
The following picture illustrates this:
There are various possibilities for programming/coding such a COBOL server with
different OUT
and IN
parameters,
for example:
REDEFINES
The output data is described with a REDEFINE
that
overlays the input data as in the following example:
DFHCOMMAREA
Example 1
LINKAGE SECTION. 01 DFHCOMMAREA. 02 IN-BUFFER. 03 OPERATION PIC X(1). 03 OPERAND-1 PIC S9(9) BINARY. 03 OPERAND-2 PIC S9(9) BINARY. 02 OUT-BUFFER REDEFINES IN-BUFFER. 03 FUNCTION-RESULT PIC S9(9) BINARY. . . . PROCEDURE DIVISION USING DFHCOMMAREA. * process the IN-BUFFER and provide result in OUT-BUFFER EXEC CICS RETURN.
a buffer technique:
On entry, the server moves linkage section field(s) - often an
entire buffer - into the working storage and processes the input data inside
the working storage field(s). Before return, it moves the working storage
field(s) - often an entire buffer - back to the linkage section. In this case,
the relevant COBOL parameters are described within the working storage
section.
DFHCOMMAREA
Example 2
LINKAGE SECTION. 01 DFHCOMMAREA. 02 IO-BUFFER PIC X(9). 01 IN-BUFFER. 02 OPERATION PIC X(1). 02 OPERAND-1 PIC S9(9) BINARY. 02 OPERAND-2 PIC S9(9) BINARY. 01 OUT-BUFFER. 02 FUNCTION-RESULT PIC S9(9) BINARY. . . . PROCEDURE DIVISION USING DFHCOMMAREA. MOVE IO-BUFFER TO IN-BUFFER. * process the IN-BUFFER and provide result in OUT-BUFFER MOVE OUT-BUFFER TO IO-BUFFER. EXEC CICS RETURN.
COBOL SET ADDRESS statements
COBOL SET ADDRESS
statements are used to manipulate the
interface of the CICS server. On entry, the server addresses the input data
with a (dummy) structure IN-BUFFER
defined in the linkage section.
Upon return, the server addresses the output data again with a different
(dummy) structure OUT-BUFFER
defined in the linkage section.
DFHCOMMAREA
Example 3
LINKAGE SECTION. 01 IN-BUFFER. 02 OPERATION PIC X(1). 02 OPERAND-1 PIC S9(9) BINARY. 02 OPERAND-2 PIC S9(9) BINARY. 01 OUT-BUFFER. 02 FUNCTION-RESULT PIC S9(9) BINARY. . . . PROCEDURE DIVISION. SET ADDRESS OF IN-BUFFER TO DFHCOMMAREA. * process the IN-BUFFER and provide result in OUT-BUFFER SET ADDRESS OF OUT-BUFFER TO DFHCOMMAREA. EXEC CICS RETURN.
If your COBOL server has the
same OUT and IN parameters
check "OUT same as IN" (if not already
checked). In this case, IDL directions are defined later in the mapping editor
and not here. See Providing IDL Directions (IN
OUT
INOUT
).
different OUT and IN parameters
that is, the DFHCOMMAREA
on output is overlayed with
a data structure as illustrated in the examples above. Clear "OUT
same as IN" (if not already cleared). As a result, the screen
title INOUT Parameters is changed to IN
Parameters and the button becomes
enabled. In this case, IDL directions are implicitly defined here, and it is
not possible to set them in the mapping editor. Proceed with step 4 below.
Select the INOUT
parameters (of your COBOL server) by
using the context menu or toolbars available in COBOL Data
Items and COBOL INOUT
Parameters. Even if the
data structure remains the same for input and output, the techniques explained
for the DFHCOMMAREA
examples
1,
2,
3
above and others can be used to address
an in-out structure. See the notes below.
Choose Finish and continue with Step 6: Map the COBOL Interface to IDL with the Mapping Editor.
Select the IN
parameters in correct sequence
and number by using the context menu or toolbars available in COBOL
Data Items and COBOL IN Parameter. Consider the techniques explained
for the DFHCOMMAREA
examples
1,
2,
3
above and others to address the input
structure. See also the notes below.
Choose
.Select the OUT
parameters of your COBOL
server by using the context menu and toolbars available in the COBOL
Data Items and COBOL OUT Parameter pane. Consider the techniques
explained for the DFHCOMMAREA
examples
1,
2,
3
above to address the output
structure. See also the notes below.
Choose Finish and continue with Step 6: Map the COBOL Interface to IDL with the Mapping Editor.
Your DFHCOMMAREA
COBOL server must be DPL-enabled to be directly supported by EntireX.
Technically, a COBOL server is DPL-enabled if
CICS is able to call the COBOL server remotely
the DFHCOMMAREA
layout does not contain pointers
If your program is not DPL-enabled, see What to do with other Interface Types? in Introduction to the IDL Extractor for COBOL.
Only level-one parameters can be selected, or if a
DFHCOMMAREA
is present, the parameters directly below the
DFHCOMMAREA
.
It is very important to select the right COBOL data items describing the interface of the COBOL server correctly. This means the COBOL data items used as parameters must match in
number
sequence of formats (COBOL usage clause).
If your COBOL server contains REDEFINE
s as top-level
parameters (redefines on lower levels are mapped in the mapping editor, see Step 6: Map the COBOL Interface to IDL with the Mapping Editor), the first REDEFINE
path is
offered by default. Check manually whether this is the one you want. If not,
correct it. You can select here:
any other REDEFINE
path
the complete REDEFINE
data item, consisting of all
REDEFINE
paths. This is useful if your COBOL server implements
multiple business functions and you want to map them to Web service operations
or methods using a wrapper with a class/method concept, such as the
Java Wrapper or .NET Wrapper. For this purpose, select the
complete REDEFINE
data item including all REDEFINE
paths. Later in the COBOL Mapping Editor, use the feature described
under Mapping COBOL Functions to Multiple IDL Programs to design your IDL.
Modern CICS program may use the CICS channels and containers model.
During extraction, containers are mapped to IDL structures. See structure-parameter-definition
(IDL).
The page for selecting the COBOL data items that describe the container layouts contains a table on the right that provides an overview of the selected containers and their names.
To extract from a CICS Channel Container program
Define the CICS Input Container by selecting the Source tab and entering "EXEC CICS
" in Find in Source to look for a GET
call containing "EXEC CICS GET"
, function "CONTAINER"
and the "CHANNEL"
, example:
EXEC CICS GET CONTAINER(<container name constant>) CHANNEL (<channel>) INTO (<container>) NOHANDLE END-EXEC
See Find in Source.
Select the corresponding <container>
in COBOL Data Items.
Enter the container name, found in the value of <container name constant>
.
You can select multiple CICS input containers.
Choose
.Define the CICS Output Container using the steps as above, but look for "EXEC CICS PUT"
. Example:
EXEC CICS PUT CONTAINER(<container name constant>) CHANNEL (<channel>) FROM (<container>) FLENGTH (LENGTH OF <container>) NOHANDLE END-EXEC
Select the corresponding <container>
in COBOL Data Items.
Enter the container name, found in the value of <container name constant>
.
The EXEC CICS PUT
statement can be executed multiple times
(for example in a loop) for the same container definition,
creating an array of container.
If this is true, set the column Array in the wizard to
"Yes" and enter the maximum number of occurrences for
the container in the Max column.
Choose Finish and continue with Step 6: Map the COBOL Interface to IDL with the Mapping Editor.
Notes:
OUT
) will enlarge the container name, because the number of occurrence will be added to the name (max. 16 characters), for example
MYCONTAINER00001.
A DFHCOMMAREA
Large Buffer Interface has the structure
given below in the linkage section.
The field subordinated under DFHCOMMAREA
prefixed with WM-LCB
describe this structure. The field names themselves can be different, but the
COBOL data types (usage clauses) must match exactly.
LINKAGE SECTION. 01 DFHCOMMAREA. 10 WM-LCB-MARKER PIC X(4). 10 WM-LCB-INPUT-BUFFER POINTER. 10 WM-LCB-INPUT-BUFFER-SIZE PIC S9(8) BINARY. 10 WM-LCB-OUTPUT-BUFFER POINTER. 10 WM-LCB-OUTPUT-BUFFER-SIZE PIC S9(8) BINARY. 10 WM-LCB-FLAGS PIC X(1). 88 WM-LCB-FREE-OUTPUT-BUFFER VALUE 'F'. 10 WM-LCB-RESERVED PIC X(3). 01 INOUT-BUFFER. 02 OPERATION PIC X(1). 02 OPERAND-1 PIC S9(9) BINARY. 02 OPERAND-2 PIC S9(9) BINARY. 02 FUNCTION-RESULT PIC S9(9) BINARY. . . . PROCEDURE DIVISION USING DFHCOMMAREA. . . . SET ADDRESS OF INOUT-BUFFER TO WM-LCB-INPUT-BUFFER. SET ADDRESS OF INOUT-BUFFER TO WM-LCB-OUTPUT-BUFFER. * process the INOUT-BUFFER and provide result EXEC CICS RETURN.
To extract from a CICS DFHCOMMAREA
Large Buffer
program
Clarify whether the OUT
and
IN
parameters of your COBOL server are the same or
different. Different OUT
and IN
parameters mean
that parameter formats (usage clauses) for the input
differ from those of the output. The following picture illustrates this:
There are various possibilities for programming/coding such a COBOL server with different
OUT
and IN
parameters.
Example 2 below illustrates one of the possibilities:
LINKAGE SECTION. 01 DFHCOMMAREA. 10 WM-LCB-MARKER PIC X(4). 10 WM-LCB-INPUT-BUFFER POINTER. 10 WM-LCB-INPUT-BUFFER-SIZE PIC S9(8) BINARY. 10 WM-LCB-OUTPUT-BUFFER POINTER. 10 WM-LCB-OUTPUT-BUFFER-SIZE PIC S9(8) BINARY. 10 WM-LCB-FLAGS PIC X(1). 88 WM-LCB-FREE-OUTPUT-BUFFER VALUE 'F'. 10 WM-LCB-RESERVED PIC X(3). 01 IN-BUFFER. 02 OPERATION PIC X(1). 02 OPERAND-1 PIC S9(9) BINARY. 02 OPERAND-2 PIC S9(9) BINARY. 01 OUT-BUFFER. 02 FUNCTION-RESULT PIC S9(9) BINARY. . . . PROCEDURE DIVISION USING DFHCOMMAREA. . . . SET ADDRESS OF IN-BUFFER TO WM-LCB-INPUT-BUFFER. SET ADDRESS OF OUT-BUFFER TO WM-LCB-OUTPUT-BUFFER. * process the IN-BUFFER and provide result in OUT-BUFFER EXEC CICS RETURN.
If your COBOL server has
the same OUT and
IN parameters
that is, WM-LCB-OUTPUT-BUFFER
is set to the same
address as WM-LCB-INPUT-BUFFER
(as in the DFHCOMMAREA
large buffer example 1
above):
Check OUT same as IN (if not already
checked). In this case, IDL directories are defined later in the mapping editor
and not here. See Providing IDL Directions (IN
OUT
INOUT
).
Proceed with step 2 below.
different OUT and
IN parameters
that is, the WM-LCB-OUTPUT-BUFFER
(as in the large
buffer example 2 above) is set to
a different address from WM-LCB-INPUT-BUFFER
:
Clear OUT same as IN (if not already cleared). As a result, the screen title INOUT Parameters is changed to IN Parameters and the button becomes enabled. In this case, IDL directions are defined implicitly here and it is not possible to set them in the mapping editor. Proceed with step 4 below.
Select the INOUT
parameters (of your COBOL
server) by using the context menu or toolbars available in the COBOL
Data Items and COBOL INOUT
Parameters pane. To do this, locate in
the PROCEDURE DIVISION
the SET ADDRESS OF <x> TO
<y>
statements, where <y>
is
WM-LCB-INPUT-BUFFER
and WM-LCB-OUTPUT-BUFFER
. Both
statements should point to the same <x>
as in the example
above. The COBOL data item <x>
- INOUT-BUFFER
in our example - is the INOUT
parameter you are looking
for. Consider the notes below.
Choose Step 6: Map the COBOL Interface to IDL with the Mapping Editor.
and continue withSelect the IN
parameters (of your COBOL
server) by using the context menu or toolbars available in COBOL Data
Items and COBOL IN Parameter. To do this, locate in the
PROCEDURE DIVISION
the SET ADDRESS OF <x> TO
<y>
statement, where <y>
is
WM-LCB-INPUT-BUFFER
. The COBOL data item <x>
is
the IN
parameter you are looking for. Consider the notes
below.
Choose
.Select the OUT
parameters (of your COBOL server) by
using the context menu and toolbars available in the COBOL Data Items
and COBOL OUT Parameter pane. To do this, locate in the
PROCEDURE DIVISION
the SET ADDRESS OF <x> TO
<y>
statement, where <y>
is
WM-LCB-OUTPUT-BUFFER
. The COBOL data item <x>
is the OUT
parameter you are looking for. Consider the notes
below.
Choose Finish and continue with Step 6: Map the COBOL Interface to IDL with the Mapping Editor.
Only level-one parameters can be selected.
Do not select the pointers in the DFHCOMMAREA
pointing
to the large buffers, in the example above, WM-LCB-INPUT-BUFFER
and WM-LCB-OUTPUT-BUFFER
.
It is very important to select the right COBOL data items describing the interface of the COBOL server correctly. This means the COBOL data items used as parameters must match in
number
sequence of formats (COBOL usage clause)
If your COBOL server contain REDEFINE
s as top-level
parameters (redefines on lower levels are mapped in the mapping editor, see Step 6: Map the COBOL Interface to IDL with the Mapping Editor), the first REDEFINE
path is
offered by default. Check manually whether this is the one you want. If not,
correct it. You can select here:
any other REDEFINE
path
the complete REDEFINE
data item, consisting of all
REDEFINE
paths. This is useful if your COBOL server implements
multiple business functions, and you want to map them to Web service operations
or methods using a wrapper with a class/method concept, such as the
Java Wrapper or .NET Wrapper For this purpose, select the
complete REDEFINE
data item including all REDEFINE
paths. Later in the COBOL Mapping Editor, use the feature described
under Mapping COBOL Functions to Multiple IDL Programs to design your IDL.
Because COBOL servers with standard linkage always contain a
PROCEDURE DIVISION
header (see PROCEDURE DIVISION
Mapping) with all parameters,
the COBOL parameters can be evaluated by the IDL Extractor for COBOL and are
already offered by the wizard. In most cases the offered COBOL parameters will
be correct, but you should always check them manually.
To extract from a Standard Linkage program
Select the INOUT
parameters (of your COBOL server) by using the
Context Menu or
Toolbar available in the
COBOL Data Items and COBOL INOUT
Parameters pane.
Consider the following:
Only level-one parameters can be selected.
It is very important to select the right COBOL data items describing the interface of the COBOL server correctly. This means the COBOL data items used as parameters must match in
number (if the number of parameters does not match the number
of INOUT
parameters defined in the list of
PROCEDURE DIVISION USING
, an error message will be displayed
without giving the chance to finish the dialog)
sequence of formats (COBOL usage clause)
If your COBOL server contain REDEFINE
s as top-level
parameters (redefines on lower levels are mapped in the mapping editor, see Step 6: Map the COBOL Interface to IDL with the Mapping Editor), the first REDEFINE
path is
offered by default. Check manually whether this is the one you want. If not,
correct it. You can select here:
any other REDEFINE
path
the complete REDEFINE
data item, consisting of all
REDEFINE
paths.This is useful if your COBOL server implements multiple business
functions and you want to map them to Web service operations or methods using a
wrapper with a class/method concept, such as the Java Wrapper or
.NET Wrapper. For this purpose, select the complete
REDEFINE
data item including all REDEFINE
paths.
Later in the COBOL Mapping Editor, use the feature described under
Mapping COBOL Functions to Multiple IDL Programs to design your IDL.
Choose Step 6: Map the COBOL Interface to IDL with the Mapping Editor.
and continue withDepending on the programming style used in the IMS processing program (MPP) and the various techniques for accessing the IMS input and output messages, finding the relevant COBOL data structures can be a complex and time-consuming task that may require IMS programming knowledge.
IMS Message Processing Programs (MPPs) work as follows:
IMS message processing programs (MPP) are invoked using an IMS transaction code. Transaction codes are linked to programs by the IMS system definition.
An IMS message processing program (MPP) gets its parameters through an IMS message and returns the result by sending an output message to IMS. The structure of both messages is defined in the COBOL source program during the application design phase. Sender and receiver of the message must use the same data structure to interpret the message content.
The server program accesses input and output messages using the IMS
system call CALL 'CBLTDLI' USING <function> IOPCB
<message>
. The parameters are as follows:
Parameter | Description |
---|---|
GU |
Flag indicating that an input message is to
be read. In this case <message> describes the input message.
|
ISRT |
Flag indicating that an output message is to
be written. In this case <message> describes the output message.
|
IOPCB |
The IO PCB pointer. An IMS-specific section defined in the linkage section of the program to access the IMS input and output message queue. |
<message> |
The layout of the message. For GU it is the
structure of the input message, for ISRT it is the structure of the output
message. The first two fields in every message (input as well as output), LL
and ZZ , are technical fields, each two bytes long. LL contains the length of
the message. The third field in an input message contains the transaction code
and has a variable length (commonly 8 or 9 bytes). IMS can link one
program to various different transaction codes. For each transaction, the
program can apply a separate logic, or even accept a separate message
layout.
|
Instead of the IOPCB pointer, CALL 'CBLTDLI'
statements are also used with database PCB pointers to access IMS
databases.
IOPCB
, GU
and ISRT
are defined in the COBOL source (often in a
copybook) using COBOL data items. Names can differ in your program. The value
of the COBOL VALUE
clauses with 'GU
' and 'ISRT
' is fixed. In the example
below, the IMS system call would be CALL 'CBLTDLI' USING FCT-GU IO-PCB
<message>
to read the input message:
WORKING-STORAGE SECTION. . . . * DLI Function Codes 77 FCT-GU PIC X(4) VALUE 'GU '. 77 FCT-ISRT PIC X(4) VALUE 'ISRT'. . . . LINKAGE SECTION. . . . 1 IO-PCB. 3 LTERM-NAME PIC X(8). 3 FILLER PIC X(2). 3 IO-STATUS PIC X(2). . . .
To extract from an IMS MPP message interface (IMS Connect) program
In Find in Source, enter
"CBLTDLI" to look for an IMS system call containing
'CBLTDLI'
, function GU
and the IOPCB
pointer, example:
CALL 'CBLTDLI' USING GU IOPCB <input-message>
See Find in Source.
Select the corresponding <input-message> in COBOL Data Items. See also IMS MPP Message Interface (IMS Connect).
In COBOL Data Items, select the
IN
parameters (of your COBOL server) by using the
Context Menu or
Toolbar available. They
are contained in fields after the technical fields LL
(length of message), ZZ
and the COBOL data item containing the transaction code which is mostly the
third physical field starting from offset 5 (bytes) in the input message. Do
not select the fields LL
, ZZ
and the transaction code. See the notes below.
Choose Next.
Similar to step 1, enter "CBLTDLI" in
Find in Source to look for an IMS system call containing
"CBLTDLI
", function ISRT
and the
IOPCB
pointer, example:
CALL 'CBLTDLI' USING ISRT IOPCB <output-message>
Select the corresponding
<output-message>
in COBOL Data
Items.
Select the OUT
parameters of your COBOL server by
using the Context Menu and
Toolbar available in the
COBOL Data Items and COBOL OUT
Parameter pane. These are the fields after the technical fields LL
(length of message) and ZZ
. Also do not select LL
and ZZ
here.
Choose Step 6: Map the COBOL Interface to IDL with the Mapping Editor.
and continue withIt is very important to select the right COBOL data items describing the interface of the COBOL server correctly. COBOL data items used as parameters must match in
number
sequence of formats (COBOL usage clause)
REDEFINE
paths on lower levels are mapped in the
COBOL Mapping Editor, see Step 6: Map the COBOL Interface to IDL with the Mapping Editor.
If your COBOL server contains REDEFINE
paths as
top-level parameters, the first REDEFINE
path is offered by default. Check
manually if this is the one you want. If not, correct it. You can select
any other REDEFINE
path
the complete REDEFINE
data item consisting of all
REDEFINE
paths. This is useful if your COBOL server implements
multiple business functions and if you want to map them to Web service
operations or methods using a wrapper with a class/method concept such as the
Java Wrapper or .NET Wrapper. For this purpose, select the
complete REDEFINE
data item.
See Mapping COBOL Functions to Multiple IDL Programs when you design your IDL file in
the COBOL Mapping Editor later.
If your IMS BMP program contains PCB pointers, you have assigned the IMS PSB list in the previous step Step 4: Define the Extraction Settings and Start Extraction. If a required IMS PSB list is not assigned, the PCB pointers are not detected; go back to Step 4: Define the Extraction Settings and Start Extraction and assign the IMS PSB list first.
If the IMS PSB list is correctly assigned, the COBOL parameters
(including the PCB pointers) can be evaluated by the extractor because this
type of COBOL server contains a PROCEDURE DIVISION
header
(see PROCEDURE DIVISION
Mapping) with all parameters.
In most cases the offered COBOL parameters will be correct, but you should
always check them manually.
To extract from a IMS BMP Standard Linkage program
Select the INOUT
parameters (of your COBOL server) by using the
Context Menu or
Toolbar available in the
COBOL Data Items and COBOL INOUT
Parameters pane. Choose and continue
with Step 6: Map the COBOL Interface to IDL with the Mapping Editor.
Consider the following:
Only level-one parameters can be selected.
It is very important to select the right COBOL data items describing the interface of the COBOL server correctly. This means the COBOL data items used as parameters must match in
number (if the number of parameters does not match the number
of INOUT
parameters defined in the list of
PROCEDURE DIVISION USING
, an error message will be displayed
without giving the chance to finish the dialog)
sequence of formats (COBOL usage clause)
If your COBOL server contains REDEFINE
s as top-level
parameters (redefines on lower levels are mapped in the mapping editor,
see Step 6: Map the COBOL Interface to IDL with the Mapping Editor), the first REDEFINE
path is
offered by default. Check manually whether this is the one you want. If not,
correct it. You can select here:
any other REDEFINE
path
the complete REDEFINE
data item, consisting of all
REDEFINE
paths.This is useful if your COBOL server implements multiple business
functions and you want to map them to Web service operations or methods using a
wrapper with a class/method concept, such as the Java Wrapper or
.NET Wrapper. For this purpose, select the complete
REDEFINE
data item including all REDEFINE
paths.
Later in the COBOL Mapping Editor, use the feature described under
Mapping COBOL Functions to Multiple IDL Programs to design your IDL.
Make sure the PCB pointers are also selected at the correct position.