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



Thanks Jim you have a lot of code that haven't try although you have a lot
of comments I don't think it would be any trouble.

 

Let me ask you something to see if I understand correctly, in your
definition you define an array of indicators 99 occurrences (why 99? Just to
illustrate?), and I'm figuring in each field you define you are assigning
them a number, like in the example you have 70 on the date field, is that
correct? If this is correct all I have to do is turn on the indicator on the
field that a need attention, right? 

 

Thanks again !!

 

 

-----Original Message-----
From: Jim Essinger [mailto:esinger@xxxxxxxx] 
Sent: Friday, July 09, 2004 11:40 AM
To: COBOL Programming on the iSeries/AS400
Subject: RE: [COBOL400-L] Working with SDA screens

 

   Best viewed with a fixed pitch font.

 

   To code my display files, I use Code designer, but for the examples, I

   have shown the DDS that is created.  SDA can also be used to code the

   screen files, but there might be some things like date data types that
are

   not supported by SDA.

 

   DDS for the display file, File level keywords I use:

 

        A                                      DSPSIZ(24 80 *DS3)

        A                                      REF(LibName/FileName FmtName)


   <---- Used with a field reference file

        A                                      PRINT

        A                                      INDARA

        A                                      CF03(03 'End of program')

 

   The INDARA keyword sets the display file to use a separate indicator area

   for the entire file.

   CF03 will turn on indicator 03 in the array of indicators if that key
gets

   pressed.

   By coding the Print and CF03 function keys at file level, they are always

   available.  They can be coded on a screen by screen basis.

 

   DDS for a date field:

 

        A            DBSTARTDTER    8Y 0B 15 17REFFLD(FmtName/FieldName +

        A                                      LibName/FileName)

        A N70                                  COLOR(TRQ)

        A  70                                  COLOR(RED)

        A                                      EDTWRD('  /  /    ')

        A                                      EDTMSK('  &  &    ')

        A                                      CHECK(FE)

        A  70                                  DSPATR(PC)

 

   In the above code, if indicator 70 is on, the color will be red, and the

   cursor will be positioned to the field {DSPATR(PC)}.

   If Indicator 70 is off, the color will be turquoise, and the cursor will

   most likely be someplace else.

 

   COBOL Program:

 

          INPUT-OUTPUT SECTION.

          FILE-CONTROL.

 

         * ----------------------------------------------------------------

         *    This is the Display file

         * Note: the SI after the file name tells COBOL that

         *           this files uses a Separate Indicator area

         * ----------------------------------------------------------------

              SELECT Display-File

                     Assign to workstation-FileName-SI

                     Organization is TRANSACTION

                     Access is Dynamic

                     Relative Key is Ws-Rrn

                     File status is Display-Status.

 

          DATA DIVISION.

          FILE SECTION.

 

         * ----------------------------------------------------------------

          FD  Display-File

         * ----------------------------------------------------------------

         * Generic space reserved for the display file records

         * ----------------------------------------------------------------

          01  Display-Rec  Pic X(1024).

 

          Working Storage.

 

         * Note: Indic-Array is used to control indicators on the display

   file.

          01  ARRAYS-AND-TABLES.

             05  Indic-Array occurs 99 times Pic 1     Indicator 1.

                 88 Ind-Off                            value B"0".

                 88 Ind-On                             value B"1".

 

          * Note: 1 copy per format in the display file.  Gives me the

   feeling of control

          * The 'Prefix by' gives me unique field names if there are same

   names in the format

          *  the DDR gives me the alias name if available (and I usually
code

   alias names) and fixes underscore to dash, etc.

 

          01  Display-Record.

              COPY   DDR-SflCtl1-I    IN FileName Prefix by "Ctl1-".

              COPY   DDR-SflCtl1-O    IN FileName Prefix by "Ctl1-".

              COPY   DDR-SflSubF1-I   IN FileName Prefix by "Sfl1-".

              COPY   DDR-SflSubF1-O   IN FileName Prefix by "Sfl1-".

              COPY   DDR-Win02-I      IN FileName Prefix by "Win2-".

              COPY   DDR-Win02-O      IN FileName Prefix by "Win2-".

              COPY   DDR-Scn03-I      IN FileName Prefix by "Scn3-".

              COPY   DDR-Scn03-O      IN FileName Prefix by "Scn3-".

              COPY   DDR-Win04-I      IN FileName Prefix by "Win4-".

              COPY   DDR-Win04-O      IN FileName Prefix by "Win4-".

 

          PROCEDURE DIVISION.

 

         * Check the date field.  If it needs attention (error?) set on the

   indicator 70, then display the screen

 

         * Error checking

              Set Ind-on(70) to true.

 

         * Display the screen and get input

              Write Display-rec

                    From Scn03-O

                    format "SFLCTL1"

                    indicators are indic-array

 

              Read  Display-File

                    Into Scn03-I

                    format "SFLCTL1"

                    indicators are indic-array

 

          * Check to see if F3 was pressed on the screen

              If Ind-On(03)

          *      End the program some how.

 

   Writing from and reading into working storage areas gives me protection

   from one screen wiping out anothers screen worth of data.

 

   Hope this helps!

 

   Jim

 

   At 10:01 AM 7/9/2004, you wrote:

 

     Thanks Jim, got any examples to share??  Would be very appreciated. 

     Thanks

     again

_______________________________________________

This is the COBOL Programming on the iSeries/AS400 (COBOL400-L) mailing list

To post a message email: COBOL400-L@xxxxxxxxxxxx

To subscribe, unsubscribe, or change list options,

visit: http://lists.midrange.com/mailman/listinfo/cobol400-l

or email: COBOL400-L-request@xxxxxxxxxxxx

Before posting, please take a moment to review the archives

at http://archive.midrange.com/cobol400-l.


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.