code

Name
Astradyne (UK) Ltd
Scriptlanguage
Plain Text
Tabwidth
4
Date
Sun, 12 May 2013 14:59:33 +0000
IP
192.168.0.1

Each display file and printer file can have it's own set of indicators assigned by specifying the INDARA keyword within the DDS. This can help to get around the 99 indicator limitation imposed by the RPG language. The sample code below shows an example display file and associated RPG IV program that demonstrate the use of the INDARA indicators and how they differ to the standard RPG conditioning indicators.

  1. Display File: INDARA
  2. ====================
  3.  
  4.     A                                      INDARA
  5.     A          R DISPLAY
  6.     A                                  5  2'Condition1 (IndAra 31) is'
  7.     A  31                              5 28'*ON '
  8.     A N31                              5 28'*OFF'
  9.     A                                  6  2'Condition2 (IndAra 31) is'
  10.     A  32                              6 28'*ON '
  11.     A N32                              6 28'*OFF'
  12.     A                                  7  2'Condition2 (IndAra 33) is'
  13.     A  33                              7 28'*ON '
  14.     A N33                              7 28'*OFF'
  15.     A*         
  16.  
  17. RPG IV Program: INDARA
  18. ======================
  19.  
  20.     FIndAra    CF  E            WorkStn IndDs(DspfIndDs)
  21.  
  22.     D DspfIndDs      ds
  23.     D  Condition1            31    31n
  24.     D  Condition2            32    32n
  25.     D  Condition3            33    33n
  26.  
  27.     C* First, see that all INDARA indicators are switched off...
  28.     C                  ExFmt    Display
  29.  
  30.     C* Set Condition 1 (Display file indicator 31) and redisplay the screen...
  31.     C                  Eval      Condition1 = *On
  32.     C                  ExFmt    Display
  33.  
  34.     C* Set Condition 2 and switch off indicator 31 using *IN31...
  35.     C                  Eval      *In31 = *Off
  36.     C                  Eval      Condition2 = *On
  37.     C                  Eval      Condition3 = Condition1
  38.     C                  ExFmt    Display
  39.  
  40.     C* Exit the program...
  41.     C                  Eval      *InLr = *On         
  42.