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
 

 

getting USER COMPLETION CODE=0260 in MPP program

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> IMS DB/DC
View previous topic :: :: View next topic  
Author Message
krishna_mf

New User


Joined: 31 Jan 2007
Posts: 56
Location: banglore

PostPosted: Wed Feb 14, 2007 11:51 am    Post subject: getting USER COMPLETION CODE=0260 in MPP program
Reply with quote

Hi,
i am getting the a USER COMPLETION CODE=0260
while i ma running the below MPP program. can any one help me
I am using the following PSB
PCB TYPE=TP,ALTRESP=YES,MODIFY=YES
PSBGEN LANG=PLI,PSBNAME=SN0200
END

Application program
SN0200: PROC($LTM,$PCB1) OPTIONS (MAIN NOEXECOPS);
DCL ADDR BUILTIN;
DCL PLITDLI ENTRY;
DCL $PCB1 PTR;
DCL $LTM PTR;
PUT SKIP LIST('BEFORE CCCCC');
DCL 1 PCBTERM BASED($LTM),
2 QLTNAM CHAR(8),
2 QLTRES CHAR(2),
2 QLTSTC CHAR(2),
2 QLTDAT,
3 QLTJDT FIXED DEC (7),
3 QLTTIM FIXED DEC (7),
3 QLTSEQ FIXED BIN (31),
3 QLTFMT CHAR (8);

DCL SIOAREA CHAR(8) INIT('KRIS') ;
DCL $SIOAREA PTR;
$SIOAREA=ADDR(SIOAREA);
CALL PLITDLI(3,'CHNG',$PCB1,'SN020');
CALL PLITDLI(3,'ISRT',$PCB1,$SIOAREA);
END SN0200;
Back to top
View user's profile Send private message

Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1105
Location: The Netherlands at Hole 19

PostPosted: Wed Feb 14, 2007 3:43 pm    Post subject:
Reply with quote

I have to investigate the 0260 but if you execute a DLI-call in an MPP you should start the application with a GU on the message queue. Did your first put skip appear now? And where is your alternate-io-pcb? The io-pcb is generated automatically for an MPP and is not defined in the psb, just the db-pcb's; modify=yes in the tp-psb means also an alternate-io-pcb is needed; you'll have to code it in the pcb-list of your mainproc. You used my example but extended it with a DLI-call: program-to-program switch :roll:but I told to start with the simple thing and afterwards extend it.

Code:
TPQAVER: PROC (IOTRM,ALTERN) OPTIONS(MAIN);             


Code:
        PCB   TYPE=TP,MODIFY=YES 
Back to top
View user's profile Send private message
krishna_mf

New User


Joined: 31 Jan 2007
Posts: 56
Location: banglore

PostPosted: Wed Feb 14, 2007 4:38 pm    Post subject:
Reply with quote

thanks Bitneuker

i want to just test a simple IMS MPP program
can you please tell what call PLITDLI call can i do in the program
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1105
Location: The Netherlands at Hole 19

PostPosted: Wed Feb 14, 2007 7:23 pm    Post subject:
Reply with quote

The error code explains the functionscode (CHNG) is corrupt. Replace the count (3) by a fixed bin (31) field. Follow the second link in my signature and at LookAt search for 0206. In fact use this option whenever you've got an error. Then your message look like a mess. An IMS message has a certain structure. Below you find the code of one of our applications performing a program-to-program swich via a CHNG-call. The only fields you fill are length, transaction code to swich to and the data you want to transfer to the other application.
Code:
DCL 1 IOAREA CHAR(1924);                             
DCL 1 MID_E0 UNAL BASED(ADDR(IOAREA)),               
      3 LL          BIN FIXED(31),                   
      3 ZZ          BIT(16),                         
      3 TC          CHAR(09),                         
      3 DATA        CHAR(1725);                       
                                                     
MID_E0 = '';                                         
                                                     
LL       = 294;                                       
TC       = 'NPBE22';                                 
                                                     
DCL ALT_TRX CHAR(8);                                 
                                                     
ALT_TRX = 'NPBE22';                                   
PARMCT  = 3;                                         
CALL  PLITDLI (PARMCT,'CHNG',PALTERN,ALT_TRX);       
CALL  PLITDLI (PARMCT,'ISRT',PALTERN,IOAREA);         


I notice in you code that that application is the same as the initial one. Do you want to make a change-call to the initial program itself icon_question.gif Guess not icon_exclaim.gif The CHNG-call transfers control to another MPP.

Your simple MPP, like any other, should:

    read the message queue using a GU;
    process the message received;
    read optional additional messages using a GN;
    insert the message to the screen using ISRT with a MODNAME so IMS knows which screen to build.


But I definitely advise you to first read some manuals in order to comprehend the methodoloy icon_wink.gif

If you really are seeking for a sample I am willing to post one.
Back to top
View user's profile Send private message
krishna_mf

New User


Joined: 31 Jan 2007
Posts: 56
Location: banglore

PostPosted: Wed Feb 14, 2007 8:00 pm    Post subject:
Reply with quote

hi,
when i am running the below MPP program .
For GU call i am getting return code AH .
for INSRT call i am getting QH.
can you please help me

$LTM is the logical terminal PCB

DCL 1 PCBTERM BASED($LTM),
2 QLTNAM CHAR(8),
2 QLTRES CHAR(2),
2 QLTSTC CHAR(2),
2 QLTDAT,
3 QLTJDT FIXED DEC (7),
3 QLTTIM FIXED DEC (7),
3 QLTSEQ FIXED BIN (31),
3 QLTFMT CHAR (8);

DCL 1 IOAREA,
3 LL BIN FIXED(31),
3 ZZ CHAR(2) INIT('00'X),
3 TC CHAR(09) ;

CALL PLITDLI(N3,GUC,$LTM,SIOAREA);
PUT SKIP LIST('STATUS CODE FOR GU',$LTM->QLTSTC);
CALL PLITDLI (N3,ISRTC,$LTM,IOAREA);
PUT SKIP LIST('STATUS CODE FOR LTM ISRT',$LTM->QLTSTC);
Back to top
View user's profile Send private message
Bitneuker

CICS Moderator


Joined: 07 Nov 2005
Posts: 1105
Location: The Netherlands at Hole 19

PostPosted: Wed Feb 14, 2007 8:17 pm    Post subject:
Reply with quote

Please don't post in different topics about the same item. I answered you there. Investigate your calls.
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 -> IMS DB/DC All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts MAX-RC 88 and Return code 606 in DFH0... lind sh CICS 0 Tue Jan 24, 2017 1:23 pm
No new posts How to Capture the Max return code of... anilkumar922 All Other Mainframe Topics 0 Thu Jan 12, 2017 12:02 pm
No new posts Executing OO COBOL program invoking J... Virendra Shambharkar COBOL Programming 2 Tue Jan 10, 2017 6:37 pm
No new posts Need Suggestion on COBOL program vickey_dw COBOL Programming 5 Thu Jan 05, 2017 10:55 pm
This topic is locked: you cannot edit posts or make replies. Calling REXX code from ISPF panel sanchita dey TSO/ISPF 4 Mon Jan 02, 2017 5:13 pm


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