Joined: 14 Jan 2008 Posts: 2504 Location: Atlanta, Georgia, USA
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.
Joined: 06 Jun 2008 Posts: 8217 Location: Dubuque, Iowa, USA
To add to prino's comment, from the CICS Application Programming Reference manual appendix on the BMS macros, with emphasis added by me:
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.
specifies the displacement (relative to zero) from the beginning of the map being defined.
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.