Can you help explain abend 0C3 in module OPSQL at offset 155E ?
OPS3092J XXXSTATS sd is 2020-03-25
OPS3092J XXXSTATS st is
OPS3092J XXXSTATS reqstatus is Ready
OPS3092J XXXSTATS lpar.p is LPAR01
OPS3092J XXXSTATS operstatus is NOT_ACTIVATED
IEA995I SYMPTOM DUMP OUTPUT
SYSTEM COMPLETION CODE=0C3 REASON CODE=00000003
TIME=11.49.12 SEQ=01481 CPU=0000 ASID=0034
PSW AT TIME OF ERROR 078D1000 9E37055E ILC 4 INTC 03
ACTIVE MODULE ADDRESS=00000000_1E36F000 OFFSET=0000155E
NAME=OPSQL
DATA AT PSW 1E370558 - 00044400 C1D2A7F4 00299280
GR 0: 00000000_00000000 1: 00000000_1E6434E0
2: 00000026_1E643454 3: 00000000_1E6434E0
4: 00000000_1E64E13C 5: 00000000_1E64E130
6: 00000000_00000009 7: 00000000_1E643488
8: 00000000_1E643454 9: 00000000_1E6434C0
A: 00000000_1E5D7000 B: 00000000_1E643108
C: 00000000_1E370388 D: 00000000_1E643198
E: 00000000_9E370430 F: 00000000_0000000A
END OF SYMPTOM DUMP
OPS3092J Error in OPS SQL call:
OPS3724O TSO CMDOSF Sent CMD=OI ALERTXXX 1318493
OPS3092J OI ALERTXXX 1318493
EOCSP0001I Rule=RULESET.OPS3092J Started Proc=ALERTXXX
OPS3092J UPDATE XXX_BCPII SET LPARSTAT=:operstatus, REQDATE=:
OPS3092J SQLCODE is SQLCODE
OPS3092J ESTAE LEVEL 1 INTERNAL SYSTEM CODE=0C3 TIME= SEQ=0 CP
OPS3092J PSW AT TIME OF ERROR 078D1000 9E37055E ILC 4 INTC 03 RSCD 000
OPS3092J CURRENT ROUTINE NAME=OPSQCP ADDRESS=1E36F0E0 OFFSET=0000147A
OPS3092J GPR 0-3 00000000 1E6434E0 1E643454 1E6434E0
OPS3092J GPR 4-7 1E64E13C 1E64E130 00000009 1E643488
OPS3092J GPR 8-11 1E643454 1E6434C0 1E5D7000 1E643108
OPS3092J GPR 12-15 1E370388 1E643198 9E370430 0000000A
OPS3092J AR 0-3 00000000 00000000 00000000 00000000
OPS3092J AR 4-7 00000000 00000000 00000000 00000000
OPS3092J AR 8-11 00000000 00000000 00000000 00000000
OPS3092J AR 12-15 00000000 00000000 00000000 00000000
OPS3092J ABENDING LOCATION OPSQCP+X'147E'
OPS3092J UNKNOWN CALLED BY OPSQCP+UNKNOWN
OPS3092J OPSQCP CALLED BY OPSAMD+X'998'
OPS3092J OPSQCP CALLED BY SYSTEM+UNKNOWN
OPS3092J TSO SERVICE ERROR - ABEND CODE X'840C3000' - REASON CODE X'0000000A'
OPS3092J READY
This occurs in an OPS rexx proc that tries to update a table on another system.
The code around the sql statement looks like this:
sd = '20' || translate(date('O'),'-','/')
st = time()
reqstatus = 'Ready'
say thisrexx 'operstatus is' operstatus
say thisrexx 'sd is' sd
say thisrexx 'st is' st
say thisrexx 'reqstatus is' reqstatus
say thisrexx 'lpar.p is' lpar.p
say thisrexx 'operstatus is' operstatus
sqlcmd = "UPDATE XXX_BCPII SET LPARXXX=:operstatus,",
"REQXXX=:sd,REQXXX=:st,REQXXXX=:reqstatus ",
"WHERE LPAR='"lpar.p"'",
"SYSTEM(SYSA)"
address 'TSO' 'OPSQL' sqlcmd
if (rc <> 0) | (sqlcode <> 0) then signal sqlerror
Abend 0C3 is an EXecute instruction trying to execute another EXecute.
Could you please clarify, what's wrong and how to fix it?
OPS/MVS