OPS rexx abend 0C3 in module OPSQL at offset 155E RC=00000003
search cancel

OPS rexx abend 0C3 in module OPSQL at offset 155E RC=00000003

book

Article ID: 188973

calendar_today

Updated On:

Products

OPS/MVS Event Management & Automation

Issue/Introduction

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?

 

Environment

OPS/MVS

Resolution

The error was resolved by using the ADDRESS SQL environment to issue the SQL statement rather than the OPSQL command processor.




Additional Information

If this does not resolve at your site, then a support case should be opened and a copy of the archived OPSLOG, and dump should be provided.