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

DFHBMPRO not working for variables using subscript


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

New User


Joined: 13 Mar 2009
Posts: 5
Location: Hyderabad

PostPosted: Sat Apr 04, 2009 6:00 pm
Reply with quote

Hi,

I wrote code for F8 and F7 functionality. The MAP contains 15 occurences and has all fields as editable.

I have 20 records. So initially when i perform F8 the next page has 5 records all editable as expected but the lines from 6 to 15 are still EDITABLE even after handling the code for the same.

I have handled the part of that code in my program by moving DFHBMPRO in to the fields using the subscript (calculated using the PAGE COUNT and LAST ITEM).
ex: In this scenario it would be from ABC(6) to ABC(15)

Actually i have verified the specific para by mentioning the TRACEID, my code is entering the para but the fields are not becoming protected.

Appreciate your help
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Sat Apr 04, 2009 10:39 pm
Reply with quote

From what you say, either you are not actually setting protect on or CICS's BMS is broken.
Have you CEDFed the transaction and hex looked at the map fields when you SEND it to confirm the attribute is what you think it should be?
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Sat Apr 04, 2009 10:46 pm
Reply with quote

are you moving spaces to the unused map lines?
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2501
Location: Atlanta, Georgia, USA

PostPosted: Sat Apr 04, 2009 10:56 pm
Reply with quote

Is there a genuine business need to use DFHBMPRO? I would think that DFHBMASK would be a better alternative as it employs AUTOSKIP, whereas, DFHBMPRO does not.

However, DFHBMPRO can be defined for the LAST non-keyable map-field attribute-byte (such as a right parenthesis or act as the last map-field stopper-byte), so that users (who only let their fingers do the walking) will hit this and prevent them from erroneously looping back to the first keyable (TOP) map-field in a wraparound fashion.

Regards,
Back to top
View user's profile Send private message
Sreeya

New User


Joined: 13 Mar 2009
Posts: 5
Location: Hyderabad

PostPosted: Sun Apr 05, 2009 9:01 pm
Reply with quote

Yes I have done CEDF and its the correct attribute fields.

No I am not moving any spaces.

Yes Bill, I tried moving DFHBMPRF and DFHBMASK also but still its not working. I am wondering whether its issue with array?... coz in my program for individual variables i have used DFHBMPRF and it worked

Thanks for your response

-
Sreeya
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2501
Location: Atlanta, Georgia, USA

PostPosted: Sun Apr 05, 2009 11:14 pm
Reply with quote

I'm assuming that your BMS-Generated COBOL Map Layout is redefined in the program or are you using the generated OCCURS?

Are you positive that each OCCURS entry specifies the following (and in this order) -

01) Data-Length (Binary-Halfword) PIC S9(04) COMP
02) Attribute-Byte
03) Keyable Map-Data

Because it seems like there's a misalignment of data between the redefined map and the BMS map.

Look at the address-offsets in the program's data-map and ensure the redefined map fields match the generated map fields.

Regards,
Back to top
View user's profile Send private message
Sreeya

New User


Joined: 13 Mar 2009
Posts: 5
Location: Hyderabad

PostPosted: Mon Apr 06, 2009 10:35 am
Reply with quote

Hi Bill,

Yes I have redefined the MAP i.e symbolic map to 15 occurences.
This is how the map occurs looks.

Code:
02  LIST-MAPI OCCURS 15 TIMES.       
  03  ABC1L    COMP  PIC  S9(4).   
  03  ABC1F    PICTURE X.           
  03  FILLER REDEFINES ABC1F.       
    05 ABC1A    PICTURE X.         
  03  FILLER   PICTURE X(4).         
  03  ABC1I  PIC X(6).             
..
..

02  LIST-MAPO OCCURS 15 TIMES. 
  03  FILLER PICTURE X(3).     
  03  ABC1C    PICTURE X.     
  03  ABC1P    PICTURE X.     
  03  ABC1H    PICTURE X.     
  03  ABC1V    PICTURE X.     
  03  ABC1O  PIC X(6).       
...
..


Also as mentioned i have verified the field names in program and they are correct.

The F8 and F7 functionality i built is working perfectly with this map occurs.

Regards,
Back to top
View user's profile Send private message
Earl Haigh

Active User


Joined: 25 Jul 2006
Posts: 475

PostPosted: Tue Apr 07, 2009 12:29 am
Reply with quote

Your Redefines does not look correct.

Please post a some of the BMS map copybook that you are
trying to use your own occurs definition with ?
Back to top
View user's profile Send private message
Sreeya

New User


Joined: 13 Mar 2009
Posts: 5
Location: Hyderabad

PostPosted: Tue Apr 07, 2009 2:31 pm
Reply with quote

Earl,
Please find the BMSMAP, Actual Symbolic map and modified symbolic map for the fields LSTID and LSTNM

MAP:

Code:
LISTMAP  DFHMDI SIZE=(24,80),LINE=1,COLUMN=1,JUSTIFY=LEFT 

LSTID1  DFHMDF POS=(06,01),LENGTH=6,                                    X
               COLOR=GREEN,                                                           X
               ATTRB=(PROT,FSET)                                       
LSTNM1  DFHMDF POS=(06,08),LENGTH=30,                                  X
               COLOR=GREEN,                                                           X
               ATTRB=(UNPROT,FSET)                                     

...
...
given 15 fields i.e till LSTID15, LSTNM15
----------------------------------------------------------------------------------
The ACTUAL SYMBOLIC Map for LISTMAP:

Code:
01  LISTMAPI.                         
    02  LSTID1L    COMP  PIC  S9(4).             
    02  LSTID1F    PICTURE X.                   
    02  FILLER REDEFINES LSTID1F.               
        03 LSTID1A    PICTURE X.                   
    02  FILLER   PICTURE X(4).                   
    02  LSTID1I  PIC X(6).                       
    02  LSTNM1L    COMP  PIC  S9(4).             
    02  LSTNM1F    PICTURE X.                     
    02  FILLER REDEFINES LSTNM1F.               
       03 LSTNM1A    PICTURE X.                   
    02  FILLER   PICTURE X(4).                   
    02  LSTNM1I  PIC X(30).                     

...
...
...
till 15 occurrences
---------------------------------------------------------------------------------

This i have redefined as below:
Code:
01  LISTMAPI. 
   02  LIST-MAPI OCCURS 15 TIMES.               
      03  LSTID1L    COMP  PIC  S9(4).           
      03  LSTID1F    PICTURE X.                 
      03  FILLER REDEFINES LSTID1F.             
         05 LSTID1A    PICTURE X.                 
      03  FILLER   PICTURE X(4).                 
      03  LSTID1I  PIC X(6).                     
      03  LSTNM1L    COMP  PIC  S9(4).           
      03  LSTNM1F    PICTURE X.                 
      03  FILLER REDEFINES LSTNM1F.             
         05 LSTNM1A    PICTURE X.                 
      03  FILLER   PICTURE X(4).                 
      03  LSTNM1I  PIC X(30).                   
01  LISTMAPO REDEFINES LISTMAPI.   
   02  LIST-MAPO OCCURS 15 TIMES.         
      03  FILLER PICTURE X(3).             
      03  LSTID1C    PICTURE X.             
      03  LSTID1P    PICTURE X.             
      03  LSTID1H    PICTURE X.             
      03  LSTID1V    PICTURE X.             
      03  LSTID1O  PIC X(6).               
      03  FILLER PICTURE X(3).             
      03  LSTNM1C    PICTURE X.             
      03  LSTNM1P    PICTURE X.             
      03  LSTNM1H    PICTURE X.             
      03  LSTNM1V    PICTURE X.             
      03  LSTNM1O  PIC X(30).               


Regards,
Back to top
View user's profile Send private message
Sreeya

New User


Joined: 13 Mar 2009
Posts: 5
Location: Hyderabad

PostPosted: Tue Apr 07, 2009 9:14 pm
Reply with quote

Earl,

You were right... actually there is issue with the symbolic map only.
I recompiled the MAP and again redifined the same for occurs and now its working.

I was not sure how the F7 and F8 was working for the same map earlier.



Regards,
Back to top
View user's profile Send private message
Earl Haigh

Active User


Joined: 25 Jul 2006
Posts: 475

PostPosted: Wed Apr 08, 2009 6:44 am
Reply with quote

Sreeya,

Quote:
I was not sure how the F7 and F8 was working for the same map earlier


does'nt matter now. Glad you got it working.

Earl icon_cool.gif
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 PD not working for unsigned packed JO... DFSORT/ICETOOL 5
No new posts Def PD not working for unsigned packe... JCL & VSAM 3
No new posts Finding faulty logic Subscript out of... COBOL Programming 5
No new posts JCL with variables JCL & VSAM 1
No new posts ICETOOL with JOINKEY for Big record l... DFSORT/ICETOOL 12
Search our Forums:

Back to Top