|
On Tuesday, October 27, 1998 6:48 PM, Tim Truax [SMTP:truax@usaor.net] wrote: > What is the best way to test a field that is coming from a data > structure (field is described as P 0001 0003 0 XAMT on the data > structure)? When I access this field by doing a Z-ADD XAMT CAMT > 7/0, I am getting the DDE on this statement. > What is the method to use to be sure that my field has numeric integrity > BEFORE I do the Z-ADD to CAMT. > I thought about using TEST, but this is a packed field. Let me answer a different question first. Data structures are initialised to blanks (hex '40'). If the data structure is a re-map of fields from a database file and there are no records read/chained to, then the data structure will still contain blanks. One way to avoid this is to specify "I" on the DS line in column 18 (Option) to initialise the DS subfields according to type (i.e. packed gets init'd to zero.) To return to your first question, you can check for blanks by adding a character definition: 0001 0003 XAMTC and doing a TESTN on that character field. If you have other invalid data it becomes more difficult to check - you need to define the field as character and unpack each nibble yourself and test each one. Clearly, this will be (run)time consuming. If this is a downstream process, you'd be much better off cleaning up the data where it enters the system. A final word: DO NOT use IGNDECERR(*YES) to "avoid" the error. If your code does comething like XAMT IFGT 0, the statement will always evaluate to TRUE! In fact, ANY "IF" comparison will evaluate to true. IBM documents this with the terse statement that "unpredictable results may occur." Buck Calabro Commsoft, Albany, NY mailto:mcalabro@commsoft.net +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.