DBCS “open data type” problem – time-critical situation

100 pts.
Data conversion
Logical Files
BACKGROUND: We use a case tool to create simple file maintenance and inquiry programs over our core software's database. The new release of our core software has added DBCS support, and has changed a lot of long fields which were formerly data type "A" to data type "O". Our case tool is recognizing these as numeric and not processing correctly; the vendor says they have no plans to address the issue. QUESTION: Is there some way we can code a logical file such that we can redefine one of these "O" fields into an "A" field so our case tool could still work? I'm thinking of something simiilar to the way you can create "new" fields that are substrings of existing fields. I see mention of a "use code" parameter "N" that allows redefining the attributes of the original field, which might help. However, I cannot find enough documentation on any of this to figure out how to use it. Thank you.

Answer Wiki

Thanks. We'll let you know when a new response is added.

This chart┬ádocuments the valid mappings across data types. O to A is not shown as a valid mapping (which I don’t find too surprising as O is mixed SBCS and DBCS). The table does however show O to UTF8 as being valid. UTF8 is treated as character data so that might work in terms of tricking the case tool. I don’t have the time to try it this morning though.

I would suggest though that you examine alternative case tools given the response by the vendor. I can see someone saying they don’t support DBCS — in which case you’re in an unsupported environment and you’re just out of luck. But to treat O as numeric is clearly a bug, and to respond that they’ll just let the bug continue to exist strikes me as being an indicator that the tool is no longer being maintained/invested in. A product, to my way of thinking, should recognize unsupported data characteristics and simply not process it. To default to a bogus data type (numeric) sounds like an ELSE or OTHERWISE leg being run without thinking it through…

Choyle, I’m not sure if you are using Infinium which is converting to DBCS yes, but some of my customers are having issues where Infinium changed many text fields (names, addresses, etc) to Type O in the Reference files, causing problems when copying spool files (as with laser checks). During Printer files compilation, if the compiler sees any Open data type fields, it will compile the Printfile as DBCS-Yes and some laser software processes will detect and stop.

Resolution: Override the DDS to “A” if the referenced field is Type O, and add the keyword:IGCALTTYP. Do a DSPF and insure that the file created DBCS Capable =No. This may apply to LFs as well, don’t know.


George, I’m intrigued by your insight… Yes, we are talking about the recent Infinium upgrades. Our case tool recognized the changes to the PF object, and prompted us to go through a process to flow them into the programs… However, the result of that was that they now recognize the “O” fields as numeric. They have come back to me and are attempting to resolve the situation on their end. In the meantime, your resolution may be my best answer if it will work for LF’s as well as DSPF’s and PRTF’s. Thanks!


Discuss This Question: 5  Replies

There was an error processing your information. Please try again later.
Thanks. We'll let you know when a new response is added.
Send me notifications when members answer or reply to this question.
  • mcarpntr
    http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=/dbp/rbafodescdrv.htm This link will allow you to create a logical with different fields. Would this be useful.
    135 pointsBadges:
  • Choyle
    Thank you, this was the information I was actually looking for, and this will be helpful in other situations as well!
    100 pointsBadges:
  • Jdr
    We were able to fix a problem with convertion of the "O' type in a LF.
    40 pointsBadges:
  • mhallnh
    I have a issue with using the SST function within the DDS for a join logical file when the data type for the physical file field being substringed is data type O

    I get a CPD7964 The filed named is not valid for the SST keyword

    Here is the substring entry in the DDS:
    A            XIPROD             I      SST(IPROD 1 15) 
                                   CPD7616-*   .           

    The IPROD field is data type O (DBCS-Open)

    How can I use a SST on a data type O field? 
    Can a DDS entry be used to convert the Data Type O field to type A (character)

    Thanks in advance 
    Please reply to :   mhall@polarbev.com 

    10 pointsBadges:
  • TheRealRaven
    @mhallnh : Substrings of 'O'pen fields would need to be dynamic for the DBMS to make sense of them. The lengths of the substrings can change depending whether SBCS or DBCS characters are in different portions of the string. The first five characters might take five bytes while the next five characters might take 10 bytes (or vice versa). And the SBCS/DBCS mix can be different positions in different rows.

    If you need substrings, convert to a different data type, e.g., use UTF8 or similar and avoid mixed SBCS/DBCS. All characters in a string should be a single type (if you want to substring).
    36,370 pointsBadges:

Forgot Password

No problem! Submit your e-mail address below. We'll send you an e-mail containing your password.

Your password has been sent to:

To follow this tag...

There was an error processing your information. Please try again later.

Thanks! We'll email you when relevant content is added and updated.


Share this item with your network: