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

Populating dash ('-') in between 2 fields in CICS screen


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

Active User


Joined: 19 Mar 2009
Posts: 206
Location: Globe, India

PostPosted: Thu Mar 21, 2013 9:29 pm
Reply with quote

I am in a challenging requirement where i have to populate '-' i.e. dash in between 2 editable fields in CICS MAP without any space.

This is due to SDF/BMS skipping problem.
e.g.
Code:

____-____
____-____
____-____



Existing screen has space limitations and showing as below i.e with a space in between 2 fields :
Code:

____ ____
____ ____
____ ____


I dont see any solution here except a very big code change but writing here with some hopes to get any easy option if any.

Actual screen has some 100 fields like this with array/occurs of editable fields .... so solution needs to be tricky !!!
Back to top
View user's profile Send private message
prino

Senior Member


Joined: 07 Feb 2009
Posts: 1306
Location: Vilnius, Lithuania

PostPosted: Thu Mar 21, 2013 9:35 pm
Reply with quote

Three words: Impossible!
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: Thu Mar 21, 2013 9:43 pm
Reply with quote

As Prino said, this cannot be done. Each BMS field is preceded by an attribute-byte. In this case, it's probably ASKIP,NORM, which is a X'F0'. So, each hyphen will look like 'b-b' with a 'b' visually representing a blank, but it's really the attribute-byte.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Thu Mar 21, 2013 9:47 pm
Reply with quote

To add to prino's comment, from the CICS Application Programming Reference manual appendix on the BMS macros, with emphasis added by me:
Quote:
POS
specifies the location of a field. This operand specifies the individually addressable character location in a map at which the attribute byte that precedes the field is positioned.

number
specifies the displacement (relative to zero) from the beginning of the map being defined.

(line,column)
specify lines and columns (relative to one) within the map being defined.

The location of data on the output medium is also dependent on DFHMDI operands.

The first position of a field is reserved for an attribute byte. When supplying data for input mapping from non-3270 devices, the input data must allow space for this attribute byte. Input data must not start in column 1 but may start in column 2.

The POS operand always contains the location of the first position in a field, which is normally the attribute byte when communicating with the 3270. For the second and subsequent fields of a group, the POS operand points to an assumed attribute-byte position, ahead of the start of the data, even though no actual attribute byte is necessary. If the fields follow on immediately from one another, the POS operand should point to the last character position in the previous field in the group.

When a position number is specified that represents the last character position in the 3270, two special rules apply:

ATTRIB=IC should not be coded. The cursor can be set to location zero by using the CURSOR option of a SEND MAP, SEND CONTROL, or SEND TEXT command.

If the field is to be used in an output mapping operation with MAP=DATAONLY on the SEND MAP command, an attribute byte for that field must be supplied in the symbolic map data structure by the application program.
In other words, there is no space around the dash -- those are attribute bytes for the dash and then the second field; getting rid of the bytes is NOT an option. You could combine the two fields into one and use editing masks, but for 100 fields that could get quite tedious, and if the application users are already used to having two fields instead of 1 that could be a significant change for them.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Fri Mar 22, 2013 4:29 am
Reply with quote

Perhaps you can describe your "skipping problem" rather than how to implement the "solution" you have so far?
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 Using API Gateway from CICS program CICS 0
No new posts Calling an Open C library function in... CICS 1
No new posts How to 'Ping' a CICS region in JCL CICS 2
No new posts Parallelization in CICS to reduce res... CICS 4
No new posts How to avoid duplicating a CICS Web S... CICS 0
Search our Forums:

Back to Top