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
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
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.
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
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.
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 Guess not 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
If you really are seeking for a sample I am willing to post one.
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);