Page 1 of 1

REGARDING VERTICAL ARRAYS IN CICS

PostPosted: Wed Feb 03, 2010 3:19 pm
by pradeepgowda
how to creAte a vertical array using bms macros..


COLUMN NAMES ARE SSNO, PAYEENAME, TYPE AND UPDATED DATE UNDER WHICH I HAVE TOP DISPLAY 15 ROWS.
HOW TO DESIGN FOLLOWING MAP USING BMS MACROS TO DISPLAY THE 15 ROW DATA
ie
------------------------------------------------------------------------
|     SSNO  |  PAYEENAME  |       TYPE  |     UPDATED DATE  |
------------------------------------------------------------------------
|002-1245 | XXXXXXXXXXXX|  W2         |   DATE                   |
------------------------------------------------------------------------
|               |                      |               |                              |
------------------------------------------------------------------------
|               |                      |               |                              |
------------------------------------------------------------------------
|               |                      |               |                              |
------------------------------------------------------------------------
|               |                      |               |                              |
------------------------------------------------------------------------


If I give seperate name for each field then it wont be an array.
I want to use it in my cobol pgm like INPUT-FIELDI(0) FOR ROW1, INPUT-FIELDI(1) FOR ROW2 , INPUT-FIELDI(2) FOR ROW3 ......

I hope my requirement is clear now...

WILL BE HELPFUL IF CODE IS PROVIDED FOR SYMBOLIC MAP IF ANY CHANGES ARE TO BE DONE IN IT..

Re: REGARDING VERTICAL ARRAYS IN CICS

PostPosted: Thu Feb 04, 2010 12:45 am
by dick scherrer
Hello,

TURN OFF THE CAPS.

Practice with the "Code" tag for alignment and readability. Use Preview to see your post as the forum will see it and then Submit when it appears the way you want.

Organizations typically have a standard for scrolling applications. You should look at an existing map that scrolls and the code that is used for that map.

Re: REGARDING VERTICAL ARRAYS IN CICS

PostPosted: Wed Mar 03, 2010 8:15 pm
by billmarlow
I have never found a way to successfully create a vertical array directly in the BMS itself. Here's
the way we get around that problem.

In the BMS create a field with a generic name, length 79, occurs however many records you are going to
display at once (so for you 15). Sample follows:
*
LINE DFHMDF POS=(5,1),LENGTH=79,OCCURS=15,ATTRB=(ASKIP,FSET)
*
Attributes of your choice, of course, it depends on whether you need to return the values to the program for
other processing.

Then, in the associated program create an 01 level containing what is to be displayed. So, in your case you
would have:

01  OUTPUT-RECORD.
    05 FILLER    PIC X(  ) VALUES SPACES.
    05 SSNO
    05 FILLER
    05 PAYEENAME
etc etc


Remember value spaces on the fillers, in this context CICS / BMS doesn't like low-values or anything else funny. On some
systems it also seems to be a requirement that the sum of the size of the fields in OUTPUT-RECORD be 79 to match the
map field.

As you READNEXT through the file move the record contents to the various fields in OUTPUT-RECORD, then OUTPUT-RECORD to LINEO(subscript).

Hope this helps.

Re: REGARDING VERTICAL ARRAYS IN CICS

PostPosted: Thu Mar 04, 2010 1:50 am
by dick scherrer
Hi Bill, and welcome to the forum,

Good to have you :)

d