For details on a different variation of IMS access, see “Calling a remote IMS program from EGL-generated Java code or the debugger."
inRec InputRecord;
outRec OutputRecord;
inRec.TRANSCODE = "TXN1";
call "TXN1"(inRec, outRec);
record InputRecord type BasicRecord
10 LL smallInt; // IMS LL field
10 ZZ smallInt; // IMS ZZ field
10 TRANSCODE char(8); // IMS transaction code
10 data; // user data
15 f1 char(10);
15 f2 char(20);
end
record OutputRecord type BasicRecord
10 LL smallInt; // IMS LL field
10 ZZ smallInt; // IMS ZZ field
10 data; // user data
15 f2 char(20);
15 f3 char(20);
15 f4 char(20);
end
As shown, the call statement and the input record each include the transaction code, and the input and output records each include the IMS LL and ZZ fields.
record InputRecord type BasicRecord
10 LL smallInt; // IMS LL field
10 ZZ smallInt; // IMS ZZ field
10 MID-TRANSCODE char(8); // IMS transaction code
10 ... // Other MFS MOD header data
10 data; // user data
15 field1Attribute char(8);
15 field1Data...
end
record OutputRecord type BasicRecord
10 LL smallInt; // IMS LL field
10 ZZ smallInt; // IMS ZZ field
10 ... // other MFS MOD header data
10 data; // user data
15 field1Attribute char(8); // account for MFS attribute bytes
15 field1Data...
end
As shown, the records include the data required by MFS.
For further details on how IMS Connect interacts with Java code and with the IMS transaction, see the IMS Connect documentation.
The EGL-generated Java invocation requires no changes to an existing IMS PSB or to the APPLCTN and TRANSACT macros in the IMS stage 1 generation.