Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

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

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CICS
View previous topic :: :: View next topic  
Author Message
rohanthengal

Active User


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

PostPosted: Thu Mar 21, 2013 9:29 pm    Post subject: Populating dash ('-') in between 2 fields in CICS screen
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: 1028
Location: Oostende, Belgium

PostPosted: Thu Mar 21, 2013 9:35 pm    Post subject:
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: 2502
Location: Atlanta, Georgia, USA

PostPosted: Thu Mar 21, 2013 9:43 pm    Post subject: Reply to: Populating dash ('-') in between 2 fields in CICS
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: 8121
Location: East Dubuque, Illinois, USA

PostPosted: Thu Mar 21, 2013 9:47 pm    Post subject:
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

DFSORT Moderator


Joined: 09 Mar 2011
Posts: 7315

PostPosted: Fri Mar 22, 2013 4:29 am    Post subject: Reply to: Populating dash ('-') in between 2 fields in CICS
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    IBMMAINFRAMES.com Support Forums -> CICS All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Split file based on comparsion to 2 f... Div Grad DFSORT/ICETOOL 3 Thu Jul 27, 2017 9:16 pm
No new posts How to write Specific Fields from Mul... Padhu SYNCSORT 6 Thu Jul 06, 2017 10:26 am
No new posts How to Clear all TSQs during CICS sta... Hooman24 CICS 10 Mon Jun 26, 2017 9:46 pm
No new posts CICS Transaction attach count of supp... lind sh CICS 1 Wed Jun 21, 2017 1:33 pm
No new posts Validate date and numeric fields and ... Rick Silvers DFSORT/ICETOOL 6 Thu May 11, 2017 6:51 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us