Default Values

The RPG program to get & set saved default values for display screen
      * ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      * : PROGRAM PROPERTY OF, AND COPYRIGHTED BY:                   :
      * : Booth Martin                                               :
      * : PURPOSE OF PROGRAM:                                        :
      * :                                                            :
      * : DATE:  PROGRAMMER ACTION:                                  :
      * :                   PROGRAM WRITTEN.                         :    
      * :  2/98    Booth    set/get UTL default values for screens.  :
      * :............................................................:
      *
     FUTLDFLT   UF A E           K DISK
     d dateISO         s               d   DATFMT(*ISO)
     d PutGet          S              3a
     d Screen          S             30a
     d                sds
      *              "sds"   is the whole System Data Structure
     d user                  254    263
      *  ..  ..  ..  ..  ..  ..  ..  ..  ..
     c     *entry        plist
     c                   parm                    Screen
     c                   parm                    PutGet
     C                   PARM                    UTL1            256
     C                   PARM                    UTL2            256
     c     PutGet        ifeq      'PUT'
     c                   exsr      putsr
     c                   else
     c                   exsr      getsr
     c                   end
     c                   move      '---'         PutGet
     c                   move      *on           *inLR
      *  ..  ..  ..  ..  ..  ..  ..  ..  ..
      *  ..  Sub Routines                ..
      *  ..  ..  ..  ..  ..  ..  ..  ..  ..
      * First Record time:
     C     *inzsr        begSR
     C                   EndSR
      *  ..  ..  ..  ..  ..  ..  ..  ..  ..
      * PUT sub routine:
     C     PutSR         begsr
     C     KEY01         CHAIN     RUTLDFLT                           54      
     C                   MOVE      UTL1          UTLA
     C                   MOVE      UTL2          UTLB
     C                   TIME                    UTLLD
     C                   TIME                    UTLLT
     C     *In54         Ifeq      *off
     C                   UPDATE    RUTLDFLT
     c                   else
     C                   MOVE      SCREEN        UTLK1
     C                   MOVE      USER          UTLK2
     C                   WRITE     RUTLDFLT
     c                   end
     C                   ENDsr
      *  ..  ..  ..  ..  ..  ..  ..  ..  ..
      * GET sub routine:
     C     GetSR         begsr
     c     Key01         klist
     c                   kfld                    screen
     c                   kfld                    user
     C     KEY01         CHAIN     RUTLDFLT                           54
     c     *In54         Ifeq      *off
     C                   MOVE      UTLA          UTL1
     C                   MOVE      UTLB          UTL2
     c                   else
     C                   MOVE      *BLANKS       UTL1
     C                   MOVE      *BLANKS       UTL2
     c                   end
     C                   ENDsr








The RPG data structure and Sub Routines to use within programs to call Default Utility program file


     D                 DS                  INZ
     D  UTL1                   1    256
     D   TYPEAD                            OVERLAY(UTL1)
     D   ZEROBAL                           OVERLAY(UTL1:3)
     D   BEGDATE                           OVERLAY(UTL1:4)
     D   ENDDATE                           OVERLAY(UTL1:10)

     D                 DS                  INZ
     D  UTL2                   1    256
     D   INSTRU1                           OVERLAY(UTL2)
     D   INSTRU2                           OVERLAY(UTL2:66)
     D   INSTRU3                           OVERLAY(UTL2:131)

     C****************************************************************
     C*   GET DEFAULT VALUES
     C     $UTLIN        BEGSR
     C                   CALL      'UTLDFLT'
     C                   PARM                    SCREEN
     C                   PARM      'GET'         PUTGET
     C                   PARM                    UTLA            256
     C                   PARM                    UTLB            256
     C                   IF        UTLA <> *BLANKS
     C                   MOVE      UTLA          UTL1
     C                   Else
     C                   CLEAR                   UTL1
     C                   End
     C                   IF        UTLB <> *BLANKS
     C                   MOVE      UTLB          UTL2
     C                   Else
     C                   CLEAR                   UTL2
     C                   End
     C                   ENDSR
     C*******************************************************************       
     C*** PUT DEFAULT VALUES
     C     $UTLEX        BEGSR
     C                   MOVE      UTL1          UTLA
     C                   MOVE      UTL2          UTLB
     C                   CALL      'UTLDFLT'
     C                   PARM                    SCREEN
     C                   PARM      'PUT'         PUTGET
     C                   PARM                    UTLA
     C                   PARM                    UTLB
     C                   ENDSR
     C******************************************************************








The DDS for the Utilty file that holds the individual user's default values for display screen

      A*****************************************************************
      A*                                                               *
      A*   STORAGE AREA FOR DEFAULTS FOR SCREEN PROMPTS     .          *
      A*                                                               *
      A*   EXTERNALLY DESCRIBED                                        *        
      A*   BOOTH MARTIN     6/97                                       *
      A*                                                               *
      A*****************************************************************
      A          R RUTLDFLT
      A* THE FIELDS FOR THE DATA AREA:
      A                                      TEXT('DATA AREA:')
      A            UTLA         256A         TEXT('UTL AREA 1')
      A            UTLB         256A         TEXT('UTL AREA 2')
      A            UTLLD           L         TEXT('LAST USED DATE')
      A            UTLLT           T         TEXT('LAST USED TIME')
      A            UTLK1         30A         TEXT('IDENT.,PARM')
      A            UTLK2         10A         TEXT('USER, PARM')
      A          K UTLK1
      A          K UTLK2