|
>
> >> Yes, a parameter identification routine exists. I have the program.
>
> I look forward to seeing in Gene - does it identify the size and type of
> the parameter as well ?
We use a simple DSPPARM program which may help. Once in a while we need to
do a switcheroo to see what the parameters are. It certainly is better than
a DMPJOBINT... Here it is....
Steve Glanstein
mic@aloha.com
TITLE 'DSPPARM: Display Parameters - V2.2';
/********************************************************************/
/* */
/* Program permits display of up to nineteen entered parameters. */
/* */
/* Program will run in user state. */
/* */
/* 02/26/95 - Initial release of program */
/* 05/01/95 - Added Character/Hex display of parameters. */
/* 02/16/96 - Changed SNDPGMMSG to call direct via SEPT. */
/* 02/21/96 - Corrected minor bug after 15th parameter. */
/*------------------------------------------------------------------*/
/* (c) Copyright 1996, RPG III, Inc. All rights Reserved. */
/********************************************************************/
DCL DD .COPYRIGHT CHAR(80)
INIT('(C) COPYRIGHT 1996, RPG III, INC. ALL RIGHTS
RESERVED.');
DCL SPCPTR ?PA PARM;
DCL SPCPTR ?PB PARM;
DCL SPCPTR ?PC PARM;
DCL SPCPTR ?PD PARM;
DCL SPCPTR ?PE PARM;
DCL SPCPTR ?PF PARM;
DCL SPCPTR ?PG PARM;
DCL SPCPTR ?PH PARM;
DCL SPCPTR ?PI PARM;
DCL SPCPTR ?PJ PARM;
DCL SPCPTR ?PK PARM;
DCL SPCPTR ?PL PARM;
DCL SPCPTR ?PM PARM;
DCL SPCPTR ?PN PARM;
DCL SPCPTR ?PO PARM;
DCL SPCPTR ?PP PARM;
DCL SPCPTR ?PQ PARM;
DCL SPCPTR ?PR PARM;
DCL SPCPTR ?PS PARM;
DCL DD PA CHAR(80) BAS(?PA);
DCL DD PB CHAR(80) BAS(?PB);
DCL DD PC CHAR(80) BAS(?PC);
DCL DD PD CHAR(80) BAS(?PD);
DCL DD PE CHAR(80) BAS(?PE);
DCL DD PF CHAR(80) BAS(?PF);
DCL DD PG CHAR(80) BAS(?PG);
DCL DD PH CHAR(80) BAS(?PH);
DCL DD PI CHAR(80) BAS(?PI);
DCL DD PJ CHAR(80) BAS(?PJ);
DCL DD PK CHAR(80) BAS(?PK);
DCL DD PL CHAR(80) BAS(?PL);
DCL DD PM CHAR(80) BAS(?PM);
DCL DD PN CHAR(80) BAS(?PN);
DCL DD PO CHAR(80) BAS(?PO);
DCL DD PP CHAR(80) BAS(?PP);
DCL DD PQ CHAR(80) BAS(?PQ);
DCL DD PR CHAR(80) BAS(?PR);
DCL DD PS CHAR(80) BAS(?PS);
DCL DD P_LEN BIN(2) ;
DCL OL P_LIST(?PA,?PB,?PC,?PD,?PE,?PF,?PG,?PH,?PI,?PJ,?PK,?PL,?PM,?PN,?PO,
?PP,?PQ,?PR,?PS) PARM EXT MIN(0) ;
ENTRY *(P_LIST) EXT;
DCL DD A4 CHAR(4);
DCL DD ATTR CHAR(7) INIT(X'02000400000000');
/* 02=ZONED DECIMAL, 4=LENGTH OF A4 */
DCL DD N4 BIN(4);
/********************************************************************/
/* Send Header Message with number of parameters. */
/********************************************************************/
STPLLEN P_LEN;
CVTNC A4,P_LEN,ATTR;
DCL DD MSGDTAH CHAR(120) INIT('There are xxxx parameters. The
lengths ar
e unknown so only the first 80 bytes will be displayed. They are:');
DCL DD MSGDTAN CHAR(120) INIT('There are NO parameters passed to this
pro
gram.');
CMPNV(B) P_LEN,0/NEQ(SKIPA);
CPYBLAP S_MSGDTA,MSGDTAN,' ';
B SKIPB;
SKIPA:
CPYBLA MSGDTAH(11:4),A4;
CPYBLAP S_MSGDTA,MSGDTAH,' ';
SKIPB:
CPYNV N4,S_MSGL;
CPYNV S_MSGL,120;
CALLX SNDPGMMSG,?SNDPGMMSG,*;
CPYNV S_MSGL,N4;
CMPNV(B) P_LEN,0/EQ(RTN);
/********************************************************************/
/* Send a message for each parameter. */
/********************************************************************/
DCL DD MSGDTA1 CHAR(260) INIT('P(xx)=X''');
CPYBLA MSGDTA1(169:9),''' <==> C''';
CPYBLA MSGDTA1(258:1),'''';
/*------------------1------------------*/
CMPNV(B) P_LEN,1/LO(RTN);
CPYBLA MSGDTA1(3:2),'01';
CVTHC MSGDTA1(9:160),PA;
CPYBLA MSGDTA1(178:80),PA;
CPYBLAP S_MSGDTA,MSGDTA1,' ';
CALLX SNDPGMMSG,?SNDPGMMSG,*;
/*------------------2------------------*/
CMPNV(B) P_LEN,2/LO(RTN);
CPYBLA MSGDTA1(3:2),'02';
CVTHC MSGDTA1(9:160),PB;
CPYBLA MSGDTA1(178:80),PB;
CPYBLAP S_MSGDTA,MSGDTA1,' ';
CALLX SNDPGMMSG,?SNDPGMMSG,*;
/*------------------3------------------*/
CMPNV(B) P_LEN,3/LO(RTN);
CPYBLA MSGDTA1(3:2),'03';
CVTHC MSGDTA1(9:160),PC;
CPYBLA MSGDTA1(178:80),PC;
CPYBLAP S_MSGDTA,MSGDTA1,' ';
CALLX SNDPGMMSG,?SNDPGMMSG,*;
/*------------------4------------------*/
CMPNV(B) P_LEN,4/LO(RTN);
CPYBLA MSGDTA1(3:2),'04';
CVTHC MSGDTA1(9:160),PD;
CPYBLA MSGDTA1(178:80),PD;
CPYBLAP S_MSGDTA,MSGDTA1,' ';
CALLX SNDPGMMSG,?SNDPGMMSG,*;
/*------------------5------------------*/
CMPNV(B) P_LEN,5/LO(RTN);
CPYBLA MSGDTA1(3:2),'05';
CVTHC MSGDTA1(9:160),PE;
CPYBLA MSGDTA1(178:80),PE;
CPYBLAP S_MSGDTA,MSGDTA1,' ';
CALLX SNDPGMMSG,?SNDPGMMSG,*;
/*------------------6------------------*/
CMPNV(B) P_LEN,6/LO(RTN);
CPYBLA MSGDTA1(3:2),'06';
CVTHC MSGDTA1(9:160),PF;
CPYBLA MSGDTA1(178:80),PF;
CPYBLAP S_MSGDTA,MSGDTA1,' ';
CALLX SNDPGMMSG,?SNDPGMMSG,*;
/*------------------7------------------*/
CMPNV(B) P_LEN,7/LO(RTN);
CPYBLA MSGDTA1(3:2),'07';
CVTHC MSGDTA1(9:160),PG;
CPYBLA MSGDTA1(178:80),PG;
CPYBLAP S_MSGDTA,MSGDTA1,' ';
CALLX SNDPGMMSG,?SNDPGMMSG,*;
/*------------------8------------------*/
CMPNV(B) P_LEN,8/LO(RTN);
CPYBLA MSGDTA1(3:2),'08';
CVTHC MSGDTA1(9:160),PH;
CPYBLA MSGDTA1(178:80),PH;
CPYBLAP S_MSGDTA,MSGDTA1,' ';
CALLX SNDPGMMSG,?SNDPGMMSG,*;
/*------------------9------------------*/
CMPNV(B) P_LEN,9/LO(RTN);
CPYBLA MSGDTA1(3:2),'09';
CVTHC MSGDTA1(9:160),PI;
CPYBLA MSGDTA1(178:80),PI;
CPYBLAP S_MSGDTA,MSGDTA1,' ';
CALLX SNDPGMMSG,?SNDPGMMSG,*;
/*-----------------10------------------*/
CMPNV(B) P_LEN,10/LO(RTN);
CPYBLA MSGDTA1(3:2),'10';
CVTHC MSGDTA1(9:160),PJ;
CPYBLA MSGDTA1(178:80),PJ;
CPYBLAP S_MSGDTA,MSGDTA1,' ';
CALLX SNDPGMMSG,?SNDPGMMSG,*;
/*-----------------11------------------*/
CMPNV(B) P_LEN,11/LO(RTN);
CPYBLA MSGDTA1(3:2),'11';
CVTHC MSGDTA1(9:160),PK;
CPYBLA MSGDTA1(178:80),PK;
CPYBLAP S_MSGDTA,MSGDTA1,' ';
CALLX SNDPGMMSG,?SNDPGMMSG,*;
/*-----------------12------------------*/
CMPNV(B) P_LEN,12/LO(RTN);
CPYBLA MSGDTA1(3:2),'12';
CVTHC MSGDTA1(9:160),PL;
CPYBLA MSGDTA1(178:80),PL;
CPYBLAP S_MSGDTA,MSGDTA1,' ';
CALLX SNDPGMMSG,?SNDPGMMSG,*;
/*-----------------13------------------*/
CMPNV(B) P_LEN,13/LO(RTN);
CPYBLA MSGDTA1(3:2),'13';
CVTHC MSGDTA1(9:160),PM;
CPYBLA MSGDTA1(178:80),PM;
CPYBLAP S_MSGDTA,MSGDTA1,' ';
CALLX SNDPGMMSG,?SNDPGMMSG,*;
/*-----------------14------------------*/
CMPNV(B) P_LEN,14/LO(RTN);
CPYBLA MSGDTA1(3:2),'14';
CVTHC MSGDTA1(9:160),PN;
CPYBLA MSGDTA1(178:80),PN;
CPYBLAP S_MSGDTA,MSGDTA1,' ';
CALLX SNDPGMMSG,?SNDPGMMSG,*;
/*-----------------15------------------*/
CMPNV(B) P_LEN,15/LO(RTN);
CPYBLA MSGDTA1(3:2),'15';
CVTHC MSGDTA1(9:160),PO;
CPYBLA MSGDTA1(178:80),PO;
CPYBLAP S_MSGDTA,MSGDTA1,' ';
CALLX SNDPGMMSG,?SNDPGMMSG,*;
/*-----------------16------------------*/
CMPNV(B) P_LEN,16/LO(RTN);
CPYBLA MSGDTA1(3:2),'16';
CVTHC MSGDTA1(9:160),PP;
CPYBLA MSGDTA1(178:80),PP;
CPYBLAP S_MSGDTA,MSGDTA1,' ';
CALLX SNDPGMMSG,?SNDPGMMSG,*;
/*-----------------17------------------*/
CMPNV(B) P_LEN,17/LO(RTN);
CPYBLA MSGDTA1(3:2),'17';
CVTHC MSGDTA1(9:160),PQ;
CPYBLA MSGDTA1(178:80),PQ;
CPYBLAP S_MSGDTA,MSGDTA1,' ';
CALLX SNDPGMMSG,?SNDPGMMSG,*;
/*-----------------18------------------*/
CMPNV(B) P_LEN,18/LO(RTN);
CPYBLA MSGDTA1(3:2),'18';
CVTHC MSGDTA1(9:160),PR;
CPYBLA MSGDTA1(178:80),PR;
CPYBLAP S_MSGDTA,MSGDTA1,' ';
CALLX SNDPGMMSG,?SNDPGMMSG,*;
/*-----------------19------------------*/
CMPNV(B) P_LEN,19/LO(RTN);
CPYBLA MSGDTA1(3:2),'19';
CVTHC MSGDTA1(9:160),PS;
CPYBLA MSGDTA1(178:80),PS;
CPYBLAP S_MSGDTA,MSGDTA1,' ';
CALLX SNDPGMMSG,?SNDPGMMSG,*;
/*-----------------END-----------------*/
/********************************************************************/
/* Message information Area */
/********************************************************************/
DCL SPCPTR QINSEPT BASPCO POS(1) ;
DCL SYSPTR SNDPGMMSG BAS(QINSEPT) POS(H'010AC1');
DCL SPCPTR ?S_1 INIT(S_MSGID);
DCL SPCPTR ?S_2 INIT(S_MSGF);
DCL SPCPTR ?S_3 INIT(S_MSGDTA);
DCL SPCPTR ?S_4 INIT(S_MSGL);
DCL SPCPTR ?S_5 INIT(S_MSGTY);
DCL SPCPTR ?S_6 INIT(S_MSGCMQ);
DCL SPCPTR ?S_7 INIT(S_MSGCSC);
DCL SPCPTR ?S_8 INIT(S_MSGKEY);
DCL SPCPTR ?S_9 INIT(S_MSGERR);
DCL DD S_MSGID CHAR(7) INIT(' ');
DCL DD S_MSGF CHAR(20) INIT(' ');
DCL DD S_MSGDTA CHAR(260);
DCL DD S_MSGL BIN(4) INIT(260);
DCL DD S_MSGTY CHAR(10) INIT('*INFO');
DCL DD S_MSGCMQ CHAR(20) INIT('*');
DCL DD S_MSGCSC BIN(4) INIT(1);
DCL DD S_MSGKEY BIN(4) ;
DCL DD S_MSGERR BIN(4) INIT(0);
DCL OL ?SNDPGMMSG(?S_1,?S_2,?S_3,?S_4,?S_5,?S_6,?S_7,?S_8,?S_9) ARG;
RTN: PEND ;
+---
| This is the MI Programmers Mailing List!
| To submit a new message, send your mail to MI400@midrange.com.
| To subscribe to this list send email to MI400-SUB@midrange.com.
| To unsubscribe from this list send email to MI400-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: dr2@cssas400.com
+---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.