Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist 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: 1059
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: 2504
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: 8165
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 Identifying Interfaces in CICS/mainframe Ashishpanpaliya CICS 5 Fri Oct 13, 2017 3:21 pm
No new posts Subtract the ZD fields to provide neg... Balaryan DFSORT/ICETOOL 4 Wed Oct 11, 2017 10:51 pm
This topic is locked: you cannot edit posts or make replies. 00D3003B - time outs in DB2 when invo... chavinash2004 DB2 2 Mon Oct 09, 2017 4:39 pm
No new posts Accessing CICS tran with map from JCL... navdeepaggarwal CICS 5 Tue Oct 03, 2017 6:15 pm
No new posts Addition of two records on 2 fields amar143 SYNCSORT 8 Tue Oct 03, 2017 11:14 am

Facebook
Back to Top
 
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us