|
This is an attempt at modularising my code. At the risk of getting slammed, I ask if it is acceptable and to tell me what the disadvantages may be and how I should have done this.
Had to get an authorization level from a user information table to condition a screen indicator in an existing program. The user table contains lots of other information like name, department and telephone number, etc.
In my pgm :
// *IN49 is already on.
IF GetAutLevel >= '4';
*IN49 = *OFF;
ENDIF;
In a separate module where the user table is already used, I added :
P GetAutLevel B EXPORT
D PI LIKE ( DFN_AUTLV )
D UserId LIKE ( DFN_USRID ) CONST
D Error LIKE ( DFN_ERRMG )
D wAutLv S LIKE ( DFN_AUTLV )
IF NOT SetUserInfo ( UserId : Error );
RETURN *BLANK;
ENDIF;
RETURN UAUTNV; // From user table
P GetAutLevel E
P SetUserInfo B
D PI N
D UserId LIKE ( DFN_USRID ) CONST
D Error LIKE ( DFN_ERRMG )
D wUserId S LIKE ( DFN_USRID )
D STATIC
IF wUsrId <> UserId;
CHAIN UserId USRCFD;
If not %found;
error = ....
RETURN *OFF;
ENDIF;
RETURN *ON;
P SetUserInfo B
As an Amazon Associate we earn from qualifying purchases.
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.