|
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-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.