IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Oncode 8091 in PL/I


IBM Mainframe Forums -> PL/I & Assembler
Post new topic   Reply to topic
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
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
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: 1788
Location: Bloomington, IL

PostPosted: Thu Sep 08, 2011 7:34 pm
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
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
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
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 View Bookmarks
All times are GMT + 6 Hours
Forum Index -> PL/I & Assembler

 


Similar Topics
Topic Forum Replies
No new posts writing into VSAM indexed tabl in PL1... PL/I & Assembler 8
No new posts IBM0472S ONCODE=290 The INVALIDOP PL/I & Assembler 18
No new posts ONCODE=8094 from IRXLOAD CLIST & REXX 8
No new posts Undocumented ONCODE 8843? PL/I & Assembler 2
No new posts PLI RUN MESSAGE:ONCODE=8097 ABENDS & Debugging 5
Search our Forums:

Back to Top