I have a problem with BTS (Batch Terminal Simulator) and
the product COOL:gen. (I have asked at the IMS-L list and got answers
but no solution.)
Prolog: I'm running BTS in "batch mode" (DLI) under TSO.
(Using IBM:s Debug Tool I have two VTAM-windows open through PCOM.)
I'm essentially trying to get a working (in production)
transaction/program
to run under BTS.
The program in question is a COOL:gen(tm) generated program and the code
is
rather convoluted with the IMS calls hidden in COOL's (static) runtime
modules.
Problem: The problem is that it "dies" after initial screen/MFS display,
probably as BTS thinks it has finished directly after the initial GU
IOPCB
although the program *still runs* !
A working example that I am running in the same test setup (and same TSO
session etc.):
BTS0007I BTS V3R1 SIMULATION STARTED. TIME=15:42:49, DATE=2007.253,
IMS=V9R1.
./D LTERM=IOPCB TYPE=3270-A02 SIZE=(24,80) FORMBUF=16000 TPBUF=16000
./E SSID=DB2T
./O DB=Y TSODB=Y MSG=Y TSOMSG=P SQL=Y TSOSQL=Y
X
SQLHX=Y TSOSQLHX=Y MQI=A TSOMQI=Y IFI=Y TSOIFI=Y
./T TC=XXX300 MBR=XXXG300 PSB=XXXG300 PLC=99
X
LANG=CBL TYPE=MSG PLAN=UUU
./T TC=YYYTTX1 MBR=YYYGTX1 PSB=YYYGTX1 PLC=99
X
LANG=CBL TYPE=MSG PLAN=UUU
ENTER BTS COMMAND OR /FORMAT OR /*
YYYTTX1
BTS0100I ATTACHING DFSRRC00, PARM=DLI,BTSPC000,YYYGTX1
,12,01Y
BTS0006I TRANSACTION STARTED: YYYTTX1 .
MBR=YYYGTX1 PSB=YYYGTX1 EDIT= YYY=0 PLC=99LANG=CBL
TYPE=MSG
MSG CALL- FUNC=GU , PCB=IOPCB , STATUS= , MESSAGE
NUMBER=01
LENGTH=75, PCBN=001 -MSG-GU
ENTER COMMAND : 'L CALL', 'L IOAR', 'END' OR NULL LINE -
<<<=== NOTE no "ENTER BTS COMMAND OR /FORMAT OR /*" etc.!
** DB CALL- FUNC=GU , PCB=YYYFABC , STATUS= , LEVEL=02,
SEGMENT=YYYCTRX
IOLENGTH=000765, PCBN=003-DB-GU
** DB CALL- FUNC=GHU , PCB=YYYFABC , STATUS= , LEVEL=02,
SEGMENT=YYYCTRX
IOLENGTH=000765, PCBN=003-DB-GHU
** DB CALL- FUNC=REPL, PCB=YYYFABC , STATUS= , LEVEL=02,
SEGMENT=YYYCTRX
IOLENGTH=000765, PCBN=003-DB-REPL
BTS0031I MODNAME: OYYYJTX1
MSG CALL- FUNC=ISRT, PCB=IOPCB , STATUS= , MESSAGE
NUMBER=01
LENGTH=000231, PCBN=001 -MSG-ISRT
ENTER COMMAND : 'L CALL', 'L IOAR', 'END' OR NULL LINE -
BTS0101A ENTER NULL LINE TO OBTAIN IMS-SCREEN FOR PCB(IOPCB )
===
=== Here the MFS is displayed OK, after that the transaction continues
as
it should (GU etc.)
===
The problem transaction:
BTS0007I BTS V3R1 SIMULATION STARTED. TIME=15:45:25, DATE=2007.253,
IMS=V9R1.
./D LTERM=IOPCB TYPE=3270-A02 SIZE=(24,80) FORMBUF=16000 TPBUF=16000
./E SSID=DB2T
./O DB=Y TSODB=Y MSG=Y TSOMSG=P SQL=Y TSOSQL=Y
X
SQLHX=Y TSOSQLHX=Y MQI=A TSOMQI=Y IFI=Y TSOIFI=Y
./T TC=XXX300 MBR=XXXG300 PSB=XXXG300 PLC=99
X
LANG=CBL TYPE=MSG PLAN=UUU
./T TC=YYYTTX1 MBR=YYYGTX1 PSB=YYYGTX1 PLC=99
X
LANG=CBL TYPE=MSG PLAN=UUU
ENTER BTS COMMAND OR /FORMAT OR /*
XXX300
BTS0100I ATTACHING DFSRRC00, PARM=DLI,BTSPC000,XXXG300
,12,01Y
BTS0006I TRANSACTION STARTED: XXX300 .
MBR=XXXG300 PSB=XXXG300 EDIT= YYY=0 PLC=99LANG=CBL
TYPE=MSG
IGZ0014W IGZEOPT is no longer supported. Its content was ignored.
MSG CALL- FUNC=GU , PCB=IOPCB , STATUS= , MESSAGE
NUMBER=01
LENGTH=75, PCBN=001 -MSG-GU
ENTER COMMAND : 'L CALL', 'L IOAR', 'END' OR NULL LINE -
ENTER BTS COMMAND OR /FORMAT OR /*
<<<=== NOTE!
/*
BTS0008I END OF INPUT DATA SET ENCOUNTERED.
MSG CALL- FUNC=GN , PCB=IOPCB , STATUS=QD, MESSAGE
NUMBER=01
PCBN=001 -MSG-GN QD
ENTER COMMAND : 'L CALL', 'L IOAR', 'END' OR NULL LINE -
SQL CALL- TYPE=DELETE, PROGRAM=TIRPROFD, PLAN=UUU
,
STATEMENT=0768, SECTION=0006 -SQL-RC=
BTS0031I MODNAME: OXXXJ300
MSG CALL- FUNC=ISRT, PCB=IOPCB , STATUS= , MESSAGE
NUMBER=01
LENGTH=000347, PCBN=001 -MSG-ISRT
ENTER COMMAND : 'L CALL', 'L IOAR', 'END' OR NULL LINE -
SQL CALL- TYPE=INSERT, PROGRAM=TIRPROFD, PLAN=UUU
,
STATEMENT=0714, SECTION=0004 -SQL-RC=
MSG CALL- FUNC=GU , PCB=IOPCB , STATUS=QC, MESSAGE
NUMBER=01
PCBN=001 -MSG-GU QC
ENTER COMMAND : 'L CALL', 'L IOAR', 'END' OR NULL LINE -
BTS0020I STATISTICS REPORT FOR TRANSACTION:XXX300 .
PCBNAMEGU GN GNP GHU GHN GHNP ISRT PURG REPL DLET DEQ CHKP
LOG STAT
XRST CHNG ROLB OPEN CLSE OTHR
IOPCB 211
BTS0096I DB2=V8R1, SQL CALLS = 2
OPEN CLOSE SELECT FETCH INSERT DELETE UPDATE PREPARE DESCRIBE
EXECUTE
EXECUTE-IMMEDIATE OTHER