× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: RE: Parm identification routine...
  • From: "Steve Glanstein" <mic@xxxxxxxxx>
  • Date: Fri, 7 Jul 2000 10:50:18 -1000
  • Importance: Normal


>
>  >> 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 thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 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.