× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I've used this technique when working with non-contiguous indicators. Or
even if you need to use/reuse Lots of indicators on different screens.
It will allow you to actually reuse the same indicators in the subfile
and the control.

// overlay screen indicators.
D PTR_INDICATOR S * INZ(%ADDR(*IN))
D InOverlay DS 99 BASED(ptr_indicator)
D In 1N DIM(99) OVERLAY(InOverlay)

// All indicators for SCNCTL/SCNFTR

D InSCNCTL DS 99 QUALIFIED

D SFLDSP 1N OVERLAY(InSCNCTL:41)

D SFLCLR 1N OVERLAY(InSCNCTL:40)

D SFLEND 1N OVERLAY(InSCNCTL:42)

D POSITION 1N OVERLAY(InSCNCTL:75)

D All 1N OVERLAY(InSCNCTL) DIM(99)
INZ(*OFF)

* This structure is not positional. Used with EVAL-CORR to process
subfields.
D ErrScnCtl DS 99 QUALIFIED

D S1SORTBY 1N

D S1VIEW 1N

D S1STN 1N

D* The array can't be "ALL" because we don't want the EVAL-CORR to pick
it up.
D A 1N OVERLAY(ErrScnCtl) DIM(99)
INZ(*OFF)

// Group Specific indicators in a Map
D InSCNSFL DS 99 QUALIFIED
D S0TGM 1N OVERLAY(InSCNSFL:51)
D S0ATP 1N OVERLAY(InSCNSFL:52)
D S0IPPRICE 1N OVERLAY(InSCNSFL:53)
D S0IPPT 1N OVERLAY(InSCNSFL:64)
D All 1N OVERLAY(InSCNSFL) DIM(99)
INZ(*OFF)

// This Map holds all the named indicators

// so that they can be all cleared at once

// regardless of what numbers are actually used inside InSCNSFL.

D SflErrMap DS 99 QUALIFIED
D S0TGM 1N
D S0ATP 1N
D S0IPPRICE 1N
D S0IPPT 1N
D* The array can't be "ALL" because we don't want the EVAL-CORR to pick
it up.
D A 1N OVERLAY(SflErrMap) DIM(99)
INZ(*OFF)

// Load each subfile record and use the InSCNSFL map.

// reset all error fields at once.
Clear sflErrMap;

// do error checking
sflErrMap.S0IPPT = *ON;

// Set the error indicators in our Group.
EVAL-CORR InSCNSFL = SflErrMap;
// set value of screen indicators
InOverlay = InSCNSFL;
WRITE SCNSFL;


// Load error indicators into SCNCTL map.
EVAL-CORR InSCNCTL = ErrScnCtl;
// Set SCNCTL/SCNFTR Indicators from the indicator Map InSCNCTL.
InOverlay = InSCNCTL;
WRITE SCNFTR;
WRITE MSGCTL;
EXFMT SCNCTL;

Chris Hiebert
Programmer/Analyst
Disclaimer: Any views or opinions presented are solely those of the
author and do not necessarily represent those of the company.


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Alan Shore
Sent: Tuesday, January 15, 2013 11:42 AM
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: RE: Indicators in Free

Hmm ... interesting.
I know and use named indicators, but didn't realize that you could
initialize a contiguous group of indicators in this manner.
/ Free
DCInd = *Off; //setoff all display control indicators In50
thru In58
/End-Free

If you learn something new, then that day is a good day Todays a good
day

Alan Shore
Programmer/Analyst, Direct Response
E:AShore@xxxxxxxx
P:(631) 200-5019
C:(631) 880-8640
"If you're going through Hell, keep going" - Winston Churchill

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of gevans@xxxxxxxxx
Sent: Tuesday, January 15, 2013 1:16 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: Indicators in Free

Make your code meaningful - Give the numbers names.

Try the following:
Create a pointer to the Indicator array
D INDS S * Inz(%ADDR(*IN))
D DSPIND DS Based(INDS)
// Display Functions
D Pf_Exit 03 03
D Pf_Prompt 04 04
D Pf_Updte 06 06
// Display Type Control Indicators
D DTCInd 44 47
D Scn_Claim 44 44
D Scn_Submiss 45 45
D Scn_Customer 46 46
D Scn_Policy 47 47
// Display Control Indicators
D DCInd 50 58
D Fold_Err 50 50
D Fldrs_Err 51 51
D DocTyp_Err 52 52
D Clm_Err 53 53
D Sub_Err 54 54
D Cust_Err 55 55
D Pol_Err 56 56
D Clmnt_Err 57 57
D Title_Err 58 58
// Control Indicators
D Fldrs_Pmpt 71 71
// Subfile Control Indicators
D Sfl_Inz 95 95
D Sfl_Clear 96 96
D Sfl_Empty 97 97
D Sfl_More 98 98

/ Free
DCInd = *Off; //setoff all displat control indicators In50
thru
In58
Clm_Err = *On; // turn on the Claim error indicator
/End-Free
With just a bit of careful planing and grouping indicators of like
usage together Bulk ons and offs are no problem at all.
Gary B Evans
Computer Programmer
National American Insurance Company
Ph #: 405-258-4509
Fax #: 405-240-5545
gevans@xxxxxxxxx
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To
subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.


Disclaimer: This message contains confidential information and is
intended only for the individual named. If you are not the named
addressee you should not disseminate, distribute or copy this e-mail.
Please notify the sender immediately by e-mail if you have received this
e-mail by mistake and delete this e-mail from your system. E-mail
transmission cannot be guaranteed to be secure or error-free as
information could be intercepted, corrupted, lost, destroyed, arrive
late or incomplete, or contain viruses. The sender therefore does not
accept liability for any errors or omissions in the contents of this
message, which arise as a result of e-mail transmission. If verification
is required please request a hard-copy version. Any views or opinions
presented are solely those of the author and do not necessarily
represent those of the company.
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To
subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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.