× 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: program/file data structure
  • From: "Carl Pitcher" <cpitcher@xxxxxxxxxxxxxxxxx>
  • Date: Fri, 1 Oct 1999 08:05:31 -0230
  • Importance: Normal

I like it.  Here's to more tips and less philosophy.

-----Original Message-----
From: owner-rpg400-l@midrange.com [mailto:owner-rpg400-l@midrange.com]On
Behalf Of John P Carr
Sent: Friday, October 01, 1999 12:46 AM
To: RPG400-L
Subject: RE: program/file data structure



I keyed this DDS in around 1985  while on the Sys/38   After I looked up
what position the User ID was in (for the last time in 15 years)

I put an externally defined DS for the SDS
in EVERY program I write using this file

I use the P1PGM as my error message subfile Message Queue name.
It's right automatically.   I use P1USER, P1JOB, and P1PGM
on EVERY screen heading.

I use it as part of a "Global RPG Error Logging File utility"
That logs all program errors to this same file.
(Same info as on first page of dump)

If it gets pushed around because of formating,   Change font to
courier,  and paste it into a DDS member.

NEVER look up a field again.   I use the field names below
instead of *STATUS, *PARMS, etc.


Enjoy.   Maybe post it to the web as a code snippet. (please
Reference me, if possible.  Thanks)

John Carr
EdgeTech
Classes at www.400school.com


        R       ETRFP1          TEXT('Program Status Information')

                P1PGM           10              TEXT('Program Name
*PROGRAM')
                P1STAT   5 S 0  TEXT('Status Code *STATUS')
                P1PRVS   5 S 0  TEXT('Previous Status Code')
                P1STMT   8              TEXT('Source Statement Number')
                P1RTNE   8              TEXT('Routine Where Error Occurred +
                                        Same as *ROUTINE')
                P1PARM   3 S 0  TEXT('Number of Parms *PARMS')
                P1EMSG   7              TEXT('Exception Error Message ID  ')
                P1ODT           4               TEXT('MI/ODT Number')
                P1MSGW  30              TEXT('Message Work Area')
                P1OLIB  10              TEXT('Program Object Library')
                P1REXD  80              TEXT('Retrieved Exception Data')
                P1IDEN   4              TEXT('ID of the Exception That  +
                                        Caused RPG9001')
                P1XXXX  26              TEXT('Unused -  By IBM')
                P1FILE   8              TEXT('File Name Last Used')
                P1FSTS  35              TEXT('Status Info. on the Last +
                                        File used')
                P1JOB           10              TEXT('Job Name - CRT of
Interactive +
                                        Job')
                P1USER  10              TEXT('Current User ID')
                P1JOBN   6 S 0  TEXT('Job Number')
                P1DTEN   6 S 0  TEXT('Date Job Entered System')
                P1DTEX   6 S 0  TEXT('Date of Program Execution')
                P1TMEX   6 S 0  TEXT('Time of Program Execution')
                P1DTPC   6 S 0  TEXT('Date Program Was Compiled')
                P1TMPC   6 S 0  TEXT('Time Program Was Compiled')
                P1CLVL   4              TEXT('Level of Compiler')
                P1SFIL  10              TEXT('SRC File Name')
                P1SLIB  10              TEXT('SRC Library Name')
                P1SMBR  10              TEXT('SRC Member Name')
                PPROC           10              TEXT('Procedure Name')
                P1ZZZZ  86              TEXT('Unused -  By IBM')



Externally Defined DS example(RPGIII version.  I personally use RPGIV
exclusely.)

        IP1DS           ESDS ETPFP1




+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator:
david@midrange.com
+---

+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---


As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.