|
Joe,
FWIW, I agree with you. If the INDICATORS phrase is not
specified then they are NOT used/accessible when using
the INDARA keyword. Although I did NOT find it specified
exactly in the Programmers Guide or Reference manual it
seems to imply this in the notes to the example programs.
Check the V5R1 ILE/Cobol Programmers Guide around page
477 in the PDF version (note 7):
<Quote>
The INDICATORS phrase is required to receive indicator values from the
--------
workstation display. If you have pressed F5, IN51 is set on.
</Quite>
I must admit that I've never experimented to determine
if this is true. Maybe if I have time tommorrow.....
Terry
> -----Original Message-----
> From: Joe Pluta [mailto:joepluta@PlutaBrothers.com]
> Sent: Wednesday, December 11, 2002 12:52 PM
> To: cobol400-l@midrange.com
> Subject: INDARA, SI, and INDIC keyword
>
>
> I'm still trying to understand the relationship between these
> three things.
>
> I'm pretty comfortable with the idea that having INDARA in
> your DDS requires
> you to specify -SI in the ASSIGN TO clause of your display file SELECT
> statement:
>
> SELECT WRKSTN ASSIGN TO WORKSTATION-MYDISPLAY-SI
> ORGANIZATION TRANSACTION ACCESS DYNAMIC
> RELATIVE KEY IS SCR-KEY.
>
> I can live with this. Now comes the tricky bit, the indicators.
>
> When I do NOT specify INDARA, the indicators are brought in
> as part of the
> record formats. For example, if I do a COPY-DDS-ALL-FORMATS,
> I would see an
> two 05 level declarations for each record format, one for
> input and one for
> output. Under these would be 06 level declarations of the
> fields, as well
> as an 06 level declaration for the indicators, like so:
>
> 05 MYRECORD-I REDEFINES MYDISPLAY-MYRECORD.
> 06 MYRECORD-I-INDIC.
> 07 IN99 PIC 1 INDIC 99.
> 06 CUSTOMER PIC S9(6).
> 06 NAME PIC X(10).
>
> In this case, I assume that the MYRECORD-I-INDIC is the
> "default" indicator
> area now, and is used whenever the MYRECORD format is read:
>
> READ WRKSTN INTO MYRECORD-I
>
> This syntax will automatically set IN99 in MYRECORD-I-INDIC
> based on the
> appropriate DDS keyword. Usually, this would be for an exit
> key, like F3.
> So if F3 is pressed, IN99 is on.
>
> Interestingly, it seems that I can override it by using the
> INDIC clause. I
> haven't actually tried it, but it compiles.
>
> READ WRKSTN INTO MYRECORD-I INDIC SOMEOTHER-INDIC.
>
> I suppose then that IN99 in SOMEOTHER-INDIC would get set on
> instead? Would
> IN99 in MYRECORD-I-INDIC not get updated? Anyway, I assume
> one doesn't
> normally code the INDIC clause when you're not using INDARA.
>
>
> Things change with INDARA defined. For starters, the
> indicators are not
> brought in with COPY-DDS-ALL-FORMATS. Instead, I only get the fields:
>
> 05 MYRECORD-I REDEFINES MYDISPLAY-MYRECORD.
> 06 CUSTOMER PIC S9(6).
> 06 NAME PIC X(10).
>
> If I want to bring the indicators in automagically, I need to use a
> COPY-DDS-ALL-FORMATS-INDIC, and get something like this:
>
> 05 MYRECORD-RECORD.
> 06 MYRECORD-I-INDIC.
> 07 IN99 PIC 1 INDIC 99.
>
> Okay, I'm still hip with this. However, my guess is that if you don't
> specify an INDIC clause on an I/O statement, that no
> indicators will be
> used. Is this true?
>
> READ WRKSTN INTO MYRECORD-I
> (IN99 will not get set anywhere)
>
> READ WRKSTN INTO MYRECORD-I USING MYRECORD-I-INDIC.
> (IN99 will get set in MYRECORD-I-INDIC)
>
> READ WRKSTN INTO MYRECORD-I USING SOMEOTHER-INDIC.
> (IN99 will get set in SOMEOTHER-INDIC)
>
> Yes? No? Comments?
>
>
> Joe
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.