> From: Mark Allen
> 
> I have a "rules" file whichcontains the following fields:
> 
> MFD - master field name (a field name in file MMST)
> MFV - value for field name above
> EFL - environment file name (could be 1 of 7 for example INVMST)
> EFD - environment field name (field name from file named above i.e.
DEPT)
> EFV - environment field value (value for field name above)
> 
> the user selects a record in the MMST file (ie. SKU: 12345) and it
shoudl
> then populate based on the rules each fo the fields/values in the
> appropriate environment file:
> 
> Example:
> 
> Rules file:
> 
> MFD=CORG
> MFV=US
> EFL=INVMST
> EFD=BUYR
> EFV=123
>  So if the CORG field='US' in the SKU record selected from the MMST
file I
> want the BUYR field in INVMST to be set to 123
> 
> What I have "tentatively" done (and I don't like it) is shown as a
"small
> snippet" below, FYI In the MMST file I have 20+ fields and I have (as
of
> right now) 7 environment files which have multiple (5-50 approx.
fields)
> 
> IF MFD='CORG' and CORG (a fld in MMST) = MFV and EFD='BUYR'
> eval BUYR=EFV
> endif
> 
> My "befuddled" mind right now sees that I would ahve to this the above
for
> EVERY field in in every file??
> 
> Gotta be an easier way???????????//

Use RPG, break it into two pieces of logic: the first checks to see if
there is a match, the second updates the appropriate file.

/free

 // See if data matches
 match = (MFD = 'CORG' and CORG = MFV)
      or (MFD = 'FLD2' and FLD2 = MFV)
      (...)
      or (MFD = 'FLDN' and FLDN = MFV);

 // If a match, update a field
 if match;
   // File select 
   select;

     // Update INVMST
     when EFL = 'INVMST';
       getINVMST();
       // Field select
       select;
         // BUYR field
         when EFD = 'BUYR';
           BUYR = EFV;
         // Additional fields
         (...);
       endsl;
       putINVMST();

     // Additional files
     (...);

   endsl;
 endif;

/end-free

Very readable, very fast.  Yes, you have to maintain it to add fields,
but the tradeoff is simplicity and debuggability.

Joe




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