IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Vertical Array in a Map Using BMS Macro ?


IBM Mainframe Forums -> CICS
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
adarsh.bhalke

New User


Joined: 06 May 2007
Posts: 16
Location: pune

PostPosted: Tue Jul 17, 2007 4:28 pm
Reply with quote

Hello,

Does anyone knows How to Code a Vertical Array in a Map using BMS Macro ?

I need the syntex for that.


Thanks,
Santosh Agrawal
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Tue Jul 17, 2007 9:23 pm
Reply with quote

Hello,

Will your map have multiple columns that should be scrolled from top-to-bottom on column1 and then proceed to the top of column2 and so on?

If so, you will need to handle the vertical processing in your code. The map would be designed horizontal but the code would support vertical processing. It will be somewhat tedious. . . .

Please let me know if i have misunderstood your requirement.
Back to top
View user's profile Send private message
Earl

Active User


Joined: 17 Jun 2007
Posts: 148
Location: oklahoma

PostPosted: Wed Jul 18, 2007 1:24 am
Reply with quote

no silver bullet, unless you have a bms macro generator, you will
need to code individual DFHMDF statements. have fun.
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Wed Jul 18, 2007 3:06 am
Reply with quote

adarsh.bhalke wrote:
Does anyone knows How to Code a Vertical Array in a Map using BMS Macro ?
I think I have an example of what you want, and can post it when I'm at work, if you are still interested....
Awaiting your reply........
Back to top
View user's profile Send private message
adarsh.bhalke

New User


Joined: 06 May 2007
Posts: 16
Location: pune

PostPosted: Wed Jul 18, 2007 10:47 am
Reply with quote

Hello,
I want the vertical scrolling in my BMS map.
I have around 5 columns in the map.Its structure is like below=-

COL1 COL2 COL3 COL4 COL5
d1 d1 d1 d1 d1
d2 d2 d2 d2 d2
d3 d3 d3 d3 d3

I will have so many rows below these columns

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) , INPUT-FIELDI(1) , INPUT-FIELDI(2) ......

I hope my requirement is clear now...
Back to top
View user's profile Send private message
Earl

Active User


Joined: 17 Jun 2007
Posts: 148
Location: oklahoma

PostPosted: Wed Jul 18, 2007 7:25 pm
Reply with quote

you could go with "back in the day" method,

define individually using DFHMDF macros,

generate the COPYBOOK, then write your own redefines of the area
with occurs.
Back to top
View user's profile Send private message
Mickeydusaor

Active User


Joined: 24 May 2006
Posts: 258
Location: Salem, Oregon

PostPosted: Wed Jul 18, 2007 7:40 pm
Reply with quote

In your BMS map the fields need to be defined for each row on the MAP.




Code:
* 'CASENUM'                   ARRAY 01  OCCURRENCE 01 OF 15
F000141  DFHMDF POS=(08,003),LENGTH=012,
               ATTRB=(ASKIP,NORM,FSET),
               COLOR=NEUTRAL,
               INITIAL=' '

* 'OBLNAME'                   ARRAY 01  OCCURRENCE 01 OF 15
F000145  DFHMDF POS=(08,016),LENGTH=025,
               ATTRB=(ASKIP,NORM,FSET),
               COLOR=NEUTRAL,
               INITIAL=' '

* 'ORGBRCH'                   ARRAY 01  OCCURRENCE 01 OF 15
F000149  DFHMDF POS=(08,043),LENGTH=004,
               ATTRB=(ASKIP,NORM,FSET),
               COLOR=NEUTRAL,
               INITIAL=' '

And in your program you need to redefine you MAP.


05 DISPLAY-LINES              OCCURS 15 TIMES.
  10 CASENUM-L                PIC S9(04) COMP.
  10 CASENUM-A                PIC X(01).
  10 CASENUM-C                PIC X(01).
  10 CASENUM-H                PIC X(01).
  10 CASENUM-O                PIC X(12).
  10 OBLNAME-L                PIC S9(04) COMP.
  10 OBLNAME-A                PIC X(01).
  10 OBLNAME-C                PIC X(01).
  10 OBLNAME-H                PIC X(01).
  10 OBLNAME-O                PIC X(25).
  10 ORGBRCH-L                PIC S9(04) COMP.
  10 ORGBRCH-A                PIC X(01).
  10 ORGBRCH-C                PIC X(01).
  10 ORGBRCH-H                PIC X(01).
  10 ORGBRCH-O                PIC X(04).
  10 WRKLOAD-L                PIC S9(04) COMP.
  10 WRKLOAD-A                PIC X(01).

Then in your program you can build your array.

05 CA-XRF-TABLE               OCCURS 0 TO 100 TIMES
                              DEPENDING ON CA-CNT-OF-XREF.

  10 CA-XRF-ENTRY             OCCURS 09 TIMES.
    15 CA-XRF-ACTION          PIC X(01) VALUE SPACES.
    15 CA-XRF-STATUS          PIC X(01) VALUE SPACES.
    15 CA-XRF-CASENO          PIC X(12) VALUE SPACES.
    15 CA-XRF-PERSSN          PIC X(09) VALUE SPACES.
    15 CA-XRF-PERTYP          PIC X(01) VALUE SPACES.
    15 CA-XRF-PERLAS          PIC X(25) VALUE SPACES.
    15 CA-XRF-PER1ST          PIC X(15) VALUE SPACES.
    15 CA-XRF-PERMID          PIC X(01) VALUE SPACES.
    15 CA-XRF-PERSUF          PIC X(03) VALUE SPACES.
    15 CA-XRF-PERDOB          PIC X(10) VALUE SPACES.
    15 CA-XRF-PERCOD          PIC X(03) VALUE SPACES.
    15 CA-XRF-PARTNO          PIC X(07) VALUE SPACES.
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Wed Jul 18, 2007 8:10 pm
Reply with quote

Portion of DSECT:
Code:
         02  BMSGT001                       OCCURS  10 TIMES.         
           03  SEL-CODEL                          COMP PICTURE S9(4).
           03  SEL-CODEF                               PICTURE X.     
           03  SEL-CODEI                               PICTURE X(001).
         02  BMSGT002                       OCCURS  10 TIMES.         
           03  POL-NUML                           COMP PICTURE S9(4).
           03  POL-NUMF                                PICTURE X.     
           03  POL-NUMI                                PICTURE X(008).
         02  BMSGT003                       OCCURS  10 TIMES.         
           03  AMT-DUEL                           COMP PICTURE S9(4).
           03  AMT-DUEF                                PICTURE X.     
           03  AMT-DUEI                                PICTURE X(008).


Portion of CSECT:
Code:
* ACTUAL FIELD NAME: SEL-CODE                                           
* COLUMN OCCURS  010 TIMES                                             
SEL-CODE DFHMDF LENGTH=001,POS=(013,001),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM001  DFHMDF LENGTH=001,POS=(014,001),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM002  DFHMDF LENGTH=001,POS=(015,001),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM003  DFHMDF LENGTH=001,POS=(016,001),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM004  DFHMDF LENGTH=001,POS=(017,001),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM005  DFHMDF LENGTH=001,POS=(018,001),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM006  DFHMDF LENGTH=001,POS=(019,001),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM007  DFHMDF LENGTH=001,POS=(020,001),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM008  DFHMDF LENGTH=001,POS=(021,001),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM009  DFHMDF LENGTH=001,POS=(022,001),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
*                                                                       
* ACTUAL FIELD NAME: POL-NUM                                           
* COLUMN OCCURS  010 TIMES                                             
POL-NUM DFHMDF LENGTH=008,POS=(013,003),                               C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM010  DFHMDF LENGTH=008,POS=(014,003),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM011  DFHMDF LENGTH=008,POS=(015,003),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM012  DFHMDF LENGTH=008,POS=(016,003),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM013  DFHMDF LENGTH=008,POS=(017,003),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM014  DFHMDF LENGTH=008,POS=(018,003),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM015  DFHMDF LENGTH=008,POS=(019,003),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM016  DFHMDF LENGTH=008,POS=(020,003),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM017  DFHMDF LENGTH=008,POS=(021,003),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM018  DFHMDF LENGTH=008,POS=(022,003),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
*                                                                       
* ACTUAL FIELD NAME: AMT-DUE                                           
* COLUMN OCCURS  010 TIMES                                             
AMT-DUE DFHMDF LENGTH=008,POS=(013,012),                               C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM019  DFHMDF LENGTH=008,POS=(014,012),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM020  DFHMDF LENGTH=008,POS=(015,012),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM021  DFHMDF LENGTH=008,POS=(016,012),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM022  DFHMDF LENGTH=008,POS=(017,012),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM023  DFHMDF LENGTH=008,POS=(018,012),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM024  DFHMDF LENGTH=008,POS=(019,012),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM025  DFHMDF LENGTH=008,POS=(020,012),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM026  DFHMDF LENGTH=008,POS=(021,012),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
COLM027  DFHMDF LENGTH=008,POS=(022,012),                              C
               ATTRB=(ASKIP,NORM,FSET)                                 
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CICS

 


Similar Topics
Topic Forum Replies
No new posts PRINTOUT macro PL/I & Assembler 0
No new posts create rexx edit Macro that edits the... CLIST & REXX 3
No new posts COBOL Ascending and descending sort n... COBOL Programming 5
No new posts Issues with executing a REXX MACRO th... TSO/ISPF 4
No new posts To find an array of words (sys-symbol... JCL & VSAM 9
Search our Forums:

Back to Top