Hi, Tim:




Tim Truax <truax@usaor.net> on 10/09/97 01:37:48 AM
To: midrange-L <midrange-L@midrange.com> @ INTERNET
cc:  
Subject: PGM assist?

> MAIN QUESTION AREA:
> 
> In order to get this program to compile I had to CRTDUPOBJ DUPDATA(*NO)
> the USSRCHM file into my library as UXSRCHM, then place an OVRDBF for
> UXSRCHM to point to actual USSRCHM file.  Is creating an empty file
> object considered proper to getting the program to compile?

Another way, is to:
 o 'program describe' the UXSRCHM, with a really big record size, and
   define some extra information for processing USSRCHM, as follows:
      FUSSRCHM IP  E                    DISK         KINFDS FILEDS
      FUXSRCHM UF  F    9999            DISK 
      F                                              KRECNO GETRRN
       (you won't need input specs for this file, and I'll discuss the
        RECNO line shortly and the INFDS shortly)
 o Put an externally-described data structure into your program, such as:
      IRECDS     E DSUSSRCHM
 o Define the file data structure that you promised RPG, like:
      IFILEDS      DS                                      
      I                                    B 397 4000$REC#    
 o Define GETRRN (or some field name, matching the RECNO line from above)
   (numeric, 8,0)
 o When you find a record that you want to update, $REC# will contain the
   Relative Record Number within the physical file.  We can use that to
   retrieve the record for update, as follows:
      C                     Z-ADD$REC#     GETRRN
      C           GETRRN    CHAINUXSRCHM   RECDS      60    (or whatever indic 
you want)
   (This will retrieve the record for update, and put its data into your
    data structure RECDS.  After populating/changing the fields you want
    to effect, simply do the following:
      C                     UPDATUXSRCHM   RECDS

No extra files needed, no extra compile wrappers needed.  The only two
ill effects of this approach are:
  o If your filesize ever actually exceeds 9999 bytes, (God forbid!),
    this approach will not work
  o You will get a "Buffer size longer than record size" message in the
    joblog when the file is opened (severity 10, no big deal).

I hope this helps.

  (The following signature looks right only with a fixed-pitch font)
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*
*      _                                                      _       *
*     / )                                                    ( \      *
*  _ / /                  Dennis Lovelady                     \ \ _   *
* ( ( ()    _      Unix / AIX System Administrator       _    () ) )  *
*( \ \ \)  / )             Oracle D.B.A.                ( \  (/ / / ) *
( \ \ \ \_/ /                                            \ \_/ / / / )*
*\         /            Dennis@Lovelady.com               \         / *
* \       /          Dennis.Lovelady@KEMET.com             \       /  *
/~~\     /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\     /~/\* 
   [[[|]]]               Simpsonville, SC.                  [[[|]]](  *
\__[[[|]]]__________________________________________________[[[|]]]_\/


+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to "MIDRANGE-L@midrange.com".
| To unsubscribe from this list send email to MAJORDOMO@midrange.com
|    and specify 'unsubscribe MIDRANGE-L' in the body of your message.
| Questions should be directed to the list owner/operator: david@midrange.com
+---


This thread ...

Follow-Ups:

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

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