Author: Joel Cochran Written: 2003-11-10 Indicator Naming and Usage -------------------------- *IN() Indicators are not to be used for any non-display reasons. Always use named indicators or BIFs such as %eof() and %found() to indicate file status. For displays, all *IN() indicators should be named like so: d indPtr s * inz( %addr(*in) ) d indicators ds 99 based( indPtr ) d dspF6 n overlay( indicators : 6 ) d dspF9 n overlay( indicators : 9 ) d dspOpt2 n overlay( indicators : 32 ) d dspOpt3 n overlay( indicators : 33 ) d dspOpt4 n overlay( indicators : 34 ) d dspOpt5 n overlay( indicators : 35 ) d status1on n overlay( indicators : 40 ) d status2on n overlay( indicators : 41 ) d status3on n overlay( indicators : 42 ) d posCursor n overlay( indicators : 50 ) Never use *INKx indicators for funciton keys. The function key hex map should be copied in like so: /copy masisuite/qrpglesrc,funckeys This contains mappings for all the function keys as well as Enter, Rollup, Rolldown, etc., as well as the correct definition for the "functionKey" variable. To use these hex codes you must include "infds(wsds)" on the display file spec: floc001fm cf e workstn infds(wsds) Now a simple test is all that is required: /free if functionKey = F3 ; ... /end-free The following standard should be employed whenever possible for application development consistency: - Function Key display indicators numbers 1-24 - Cursor Position indicators numbers 25-30 - Option display indicators numbers 31-50 - Miscellaneous display indicators 51-75 - Field value change indicators numbers 76-84 - Subfile indicators numbers 85-95 with the following standards: 85 - SFLEND N85 - ROLLUP 90 - SFLDSPCTL N90 - SFLCLR 95 - SFLDSP - Reserved for future use: 96-99 A complete *IN() datastructure example: d indPtr s * inz( %addr(*in) ) d indicators ds 99 based( indPtr ) d dspF1 n overlay( indicators : 1 ) d dspF2 n overlay( indicators : 2 ) d dspF3 n overlay( indicators : 3 ) d dspF4 n overlay( indicators : 4 ) d dspF5 n overlay( indicators : 5 ) d dspF6 n overlay( indicators : 6 ) d dspF7 n overlay( indicators : 7 ) d dspF8 n overlay( indicators : 8 ) d dspF9 n overlay( indicators : 9 ) d dspF10 n overlay( indicators : 10 ) d dspF11 n overlay( indicators : 11 ) d dspF12 n overlay( indicators : 12 ) d dspF13 n overlay( indicators : 13 ) d dspF14 n overlay( indicators : 14 ) d dspF15 n overlay( indicators : 15 ) d dspF16 n overlay( indicators : 16 ) d dspF17 n overlay( indicators : 17 ) d dspF18 n overlay( indicators : 18 ) d dspF19 n overlay( indicators : 19 ) d dspF20 n overlay( indicators : 20 ) d dspF21 n overlay( indicators : 21 ) d dspF22 n overlay( indicators : 22 ) d dspF23 n overlay( indicators : 23 ) d dspF24 n overlay( indicators : 24 ) d posField1 n overlay( indicators : 25 ) d posField2 n overlay( indicators : 26 ) d posField3 n overlay( indicators : 27 ) d posField4 n overlay( indicators : 28 ) d posField5 n overlay( indicators : 29 ) d posField6 n overlay( indicators : 30 ) d dspOpt1 n overlay( indicators : 31 ) d dspOpt2 n overlay( indicators : 32 ) d dspOpt3 n overlay( indicators : 33 ) d dspOpt4 n overlay( indicators : 34 ) d dspOpt5 n overlay( indicators : 35 ) d dspOpt6 n overlay( indicators : 36 ) d dspOpt7 n overlay( indicators : 37 ) d dspOpt8 n overlay( indicators : 38 ) d dspOpt9 n overlay( indicators : 39 ) d dspOpt10 n overlay( indicators : 40 ) d dspOpt11 n overlay( indicators : 41 ) d dspOpt12 n overlay( indicators : 42 ) d dspOpt13 n overlay( indicators : 43 ) d dspOpt14 n overlay( indicators : 44 ) d dspOpt15 n overlay( indicators : 45 ) d dspOpt16 n overlay( indicators : 46 ) d dspOpt17 n overlay( indicators : 47 ) d dspOpt18 n overlay( indicators : 48 ) d dspOpt19 n overlay( indicators : 49 ) d dspOpt20 n overlay( indicators : 50 ) d misc1 n overlay( indicators : 51 ) d misc2 n overlay( indicators : 52 ) d misc3 n overlay( indicators : 53 ) d misc4 n overlay( indicators : 54 ) d misc5 n overlay( indicators : 55 ) d misc6 n overlay( indicators : 56 ) d misc7 n overlay( indicators : 57 ) d misc8 n overlay( indicators : 58 ) d misc9 n overlay( indicators : 59 ) d misc10 n overlay( indicators : 60 ) d misc11 n overlay( indicators : 61 ) d misc12 n overlay( indicators : 62 ) d misc13 n overlay( indicators : 63 ) d misc14 n overlay( indicators : 64 ) d misc15 n overlay( indicators : 65 ) d misc16 n overlay( indicators : 66 ) d misc17 n overlay( indicators : 67 ) d misc18 n overlay( indicators : 68 ) d misc19 n overlay( indicators : 69 ) d misc20 n overlay( indicators : 70 ) d misc21 n overlay( indicators : 71 ) d misc22 n overlay( indicators : 72 ) d misc23 n overlay( indicators : 73 ) d misc24 n overlay( indicators : 74 ) d misc25 n overlay( indicators : 75 ) d change1 n overlay( indicators : 76 ) d change2 n overlay( indicators : 77 ) d change3 n overlay( indicators : 78 ) d change4 n overlay( indicators : 79 ) d change5 n overlay( indicators : 80 ) d change6 n overlay( indicators : 81 ) d change7 n overlay( indicators : 82 ) d change8 n overlay( indicators : 83 ) d change9 n overlay( indicators : 84 ) d subEndMore n overlay( indicators : 85 ) d subDsp1 n overlay( indicators : 86 ) d subDsp2 n overlay( indicators : 87 ) d subDsp3 n overlay( indicators : 88 ) d subDsp4 n overlay( indicators : 89 ) d sflDisplayCtl n overlay( indicators : 90 ) d subDsp5 n overlay( indicators : 91 ) d subDsp6 n overlay( indicators : 92 ) d subDsp7 n overlay( indicators : 93 ) d subDsp8 n overlay( indicators : 94 ) d sflDisplay n overlay( indicators : 95 ) d reserved1 n overlay( indicators : 96 ) d reserved2 n overlay( indicators : 97 ) d reserved3 n overlay( indicators : 98 ) d reserved4 n overlay( indicators : 99 )