>>> rbaird@esourceconsulting.com 03/19/02 01:14pm >>>

>> curious back at you:  how do you handle screen display attributes (ri,
pr) and functions (sflctl, sflctldsp, etc)?

Here is how it is done in my shop

 ** Give names to indicators
d IndicatorP      s               *   inz(%Addr(*in))
d Indicators      ds                  based(IndicatorP)
d pc#AllFld               1     20
d  pc#CustNb              1      1
d  pc#CustName            2      2
d  pc#PhoneNum            3      3
d  pc#City                4      4
d ri#AllFld              21     40
d  ri#CustName           21     21
d  ri#CustNb             22     22
d  ri#PhoneNum           23     23
d  ri#City               24     24
d #sfldsp                42     42
d #sflclr                43     43
d #sflend                44     44
d #sflnxtchg             45     45
d pc@reset        s             20    inz(*all'0')
d ri@reset        s             20    inz(*all'0')

In our standard, the # (I know, it ports badly in europe) indicate a field used 
in a DSPF or PRTF. The caracter before the # represent the attribute 
(PC=Position Cursor, RI=Reverse Image ...) in fact we use the actual code that 
we find in the DSPF (ND, BL UL ...).

So if I want to set the field #Street in reverse, I do:

eval    ri#Street = *on

and if I want to reset the attributes for all the fields I do:

eval ri#AllFld = ri@reset  (In our standard, @ means a variable defined in the 
D spec of the program)

As you see, we allow for 20 fields in one screen. We rarely have more than that 
on a single screen.

For other keywords (like sfldsp ...) we rename the indicator using the actual 
keyword prefixed by #.


This is far from perfect but it has given good result for us.

Denis Robitaille
Directeur services techniques
Cascades Inc
819 363 5187




As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.