Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

Oncode 8091 in PL/I

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> PL/I & Assembler
View previous topic :: :: View next topic  
Author Message
arivazhagan_k

New User


Joined: 05 Dec 2007
Posts: 57
Location: chennai

PostPosted: Thu Sep 08, 2011 5:22 pm    Post subject: Oncode 8091 in PL/I
Reply with quote

Hi everyone,

One of our job went down with following error msg.


Code:
 ***** ERROR CONDITION RAISED, ONCODE(8091) IN PROCEDURE WITH ENTRY(MABCD)     
 ERROR CONDITION IN P1111 ON  POLICY# xxxxxxx                           
 PLEASE CONTACT DP - PROGRAMMING SERVICES 


After analyzing the module MABCD , have added put skip in few places.

INSIDE MABCD:
/* other logic */

PUT SKIP LIST('INPUT_PARA1',INPUT_PARA1);
PUT SKIP LIST('INPUT_PARA2',INPUT_PARA2);
PUT SKIP LIST('OUTPUT_PARA1',OUTPUT_PARA1);
PUT SKIP LIST('OUTPUT_PARA2',OUTPUT_PARA2);

CALL M1XYZ(INPUT_PARA1,INPUT_PARA2,OUTPUT_PARA1,OUTPUT_PARA2)

PUT SKIP LIST('OUTPUT_PARA1',OUTPUT_PARA1);
PUT SKIP LIST('OUTPUT_PARA2',OUTPUT_PARA2);


/* other logic */

INSIDE M1XYZ:
DCL
IN_PARA1 CHAR(4);
DCL
IN_PARA2 CHAR(4);
DCL
OUT_PARA1 CHAR(4);
DCL
OUT_PARA2 CHAR(2);

PUT SKIP LIST('IN_PARA1',IN_PARA1);
PUT SKIP LIST('IN_PARA2',IN_PARA2);
PUT SKIP LIST('OUT_PARA1',OUT_PARA1);
PUT SKIP LIST('OUT_PARA2',OUT_PARA2);


/*-------------------------------------------------------------------*/
/* MODULE LOGIC */
/*-------------------------------------------------------------------*/


SELECT(IN_PARA1');
WHEN('ABCD')
OUT_PARA1= '0001';
WHEN('XYZB')
OUT_PARA1= '0003';


SELECT(IN_PARA2');
WHEN('VOL')
OUT_PARA2= '01';
WHEN('BDC')
OUT_PARA2= '03';



SYSPRINT;
Code:
INPUT_PARA1              ABCD                     
INPUT_PARA2              VOL                     
OUTPUT_PARA1                                 
OUTPUT_PARA2                 
IN_PARA1       ABCD
IN_PARA2       VOL
OUT_PARA1                               
OUT_PARA2
OUTPUT_PARA1             0001                   
OUTPUT_PARA2             01   

INPUT_PARA1              ABCD                     
INPUT_PARA2              VOL                     
OUTPUT_PARA1             0001                     
OUTPUT_PARA2             01   
IN_PARA1       ABCD
IN_PARA2       VOL
OUT_PARA1                0001               
OUT_PARA2                01
OUTPUT_PARA1             0001                   
OUTPUT_PARA2             01

INPUT_PARA1              ABCD                     
INPUT_PARA2              BDC                     
OUTPUT_PARA1             0001                     
OUTPUT_PARA2             01   
IN_PARA1       ABCD
IN_PARA2       BDC
OUT_PARA1                0001               
OUT_PARA2                01
OUTPUT_PARA1             0001                   
OUTPUT_PARA2             03
         
INPUT_PARA1              ABCD                     
INPUT_PARA2              BDC                     
OUTPUT_PARA1             0001                     
OUTPUT_PARA2             01                                                       
       


MABCD calling M1XYZ to get some value , at some point of time it is getting abend. I guess there is some memory problem and trying to find out the root cause . I appreciate your help. Thanks.
Back to top
View user's profile Send private message

arivazhagan_k

New User


Joined: 05 Dec 2007
Posts: 57
Location: chennai

PostPosted: Thu Sep 08, 2011 5:34 pm    Post subject:
Reply with quote

All parameter are part of the structure and based stroage

CALL M1XYZ(INPUT_PARA1,INPUT_PARA2,OUTPUT_PARA1,OUTPUT_PARA2)

Inputparameter

Code:
DCL                           
   1 IN_STRUC BASED(INPUT_PTR),
     2 INPUT_SIZE FIXED BIN(15),
     2 INPUT_PARA1 CHAR(4),
     2 INPUT_PARA2 CHAR(4),
DCL                                         
  INPUT_AREA            CHAR(4256) VARYING;
  INPUT_PTR              = ADDR(INPUT_AREA)


output parameter
Code:
DCL                                     
  1 PARMS    BASED(ERV_PTR), 
    2  MISCELLANEOUS,                                     
     3 OUTPUT_PARA1        CHAR(4),       
     3 OUTPUT_PARA2        CHAR(2),   
DCL                                         
  ERV_AREA     CHAR(500) INIT(''); 
  ERV_PTR                        = ADDR(ERV_AREA)
Back to top
View user's profile Send private message
Akatsukami

Global Moderator


Joined: 03 Oct 2009
Posts: 1746
Location: Bloomington, IL

PostPosted: Thu Sep 08, 2011 7:34 pm    Post subject:
Reply with quote

And what is INPUT_SIZE?
Back to top
View user's profile Send private message
arivazhagan_k

New User


Joined: 05 Dec 2007
Posts: 57
Location: chennai

PostPosted: Fri Sep 09, 2011 2:52 pm    Post subject:
Reply with quote

Hi Akatsukami,

Code:
DCL  INPUT_AREA          CHAR(4256)  VARYING INIT('');
DCL  COMMON_AREA            CHAR(4256) VARYING;               
DCL INPUT        FILE RECORD INPUT ENV(VB,RECSIZE(4256),TOTAL);
                                   
  DCL                           
  1 IN_STRUC BASED(INPUT_PTR),   
    2 INPUT_SIZE FIXED BIN(15),
 % INCLUDE SYSLIB  (M1111PAH);

INPUT_PTR                    = ADDR(INPUT_AREA)
 
READ FILE(INPUT) INTO(COMMON_AREA)

IF SUBSTR(COMMON_AREA) = 'FGDJK'
INPUT_AREA = COMMON_AREA;

 

1. Input file is the multilayout structure and Variable record length
2. So Input_size will hold the size of the record. but here in our program we never used the variable. To accommodate the values with corresponding fields from the record , need to be mention that input size

Is anything else you want from me...
Back to top
View user's profile Send private message
k_vikram07

New User


Joined: 23 Nov 2005
Posts: 35

PostPosted: Fri Sep 16, 2011 1:25 am    Post subject:
Reply with quote

8091 = S0C1.
Check if M1XYZ is external entry that is not linked in to load.
Check if the parameters that u sent were really available on the record it abended. If INPUT_SIZE < 4 you should not call by passing INPUT_AREA2.
Back to top
View user's profile Send private message
arivazhagan_k

New User


Joined: 05 Dec 2007
Posts: 57
Location: chennai

PostPosted: Thu Sep 22, 2011 5:11 pm    Post subject: Reply to: Oncode 8091
Reply with quote

My Job abended with a weird error after job GXXXX abended 5 times. Looks like a new generation of Dataset was created each time GXXXX tried to complete but went down with a CC of 1016. It is created the GDG versions even though job went down. Because of this the job is shutting down.

This problem has been resolved and This is an isolated and unusual incident and caused by a bad record.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> PL/I & Assembler All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts ONCODE=8094 from IRXLOAD iqbal.mallick CLIST & REXX 8 Mon Apr 07, 2014 3:43 pm
No new posts Undocumented ONCODE 8843? Akatsukami PL/I & Assembler 2 Tue Nov 12, 2013 1:02 am
No new posts PLI RUN MESSAGE:ONCODE=8097 Liang Gao ABENDS & Debugging 5 Wed Apr 18, 2012 2:05 pm
No new posts Pl/1 oncode 310 CICS fan PL/I & Assembler 12 Tue Oct 18, 2011 8:52 pm
No new posts ONCODE 310 FIXED DECIMAL OVERFLOW swathykrishnan PL/I & Assembler 11 Mon Sep 12, 2011 10:33 am


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us