RECEIVE / LOCAL Statements
Overview
RECEIVE statements should follow the same rules as defined for a SET statement.
LOCAL statements should follow the same rules as defined for a RESTORE (DEFAULT VALUE) statement.
Test Plan
- For each of the types (Date, Format, Logic, Numeric, Text, Token), perform 4 tests: PASS from type into Unicode, PASS from type into National, PASS from Unicode into type, PASS from National into type.
- Test Raw to National and back (with/without transcode error)
- Test Raw to Unicode and back (with/without transcode error)
- Test Unicode to Unicode
- Test National to National
- Test Unicode to National and back (with/without transcode error)
- Test Truncation & padding
- Test all encoding to see if they act as a RESTORE (DEFAULT VALUE). * They do not, but they don't under previous versions either *
Bugs
- Assign a value like 10. to --- X, and PASS that into a subroutine (shared). RECEIVE it as a National or Unicode field type, and append a one to the string, then exit. After the subroutine returns, --- X will contain 101.000000000000. Note all the trailing zeros, this doesn't happen under 5.0.3, or if you use a Raw type field. If you PASS --- X again into a National or Unicode field, it will receive all the trailing zeroes and the string will contain 101.000000000000 instead of just 101. * FIXED* July 4 engine
- Transcode errors are reported as 'Overflow Error' at run time. Should probably use the 'Transcode Error' message so the designer has a better idea of the problem. Example: Pass Raw field to a subroutine (shared), receive as Unicode or National, then append a non Raw character to it & return. Runtime error occurs after the return. * FIXED* July 4 engine
- Same as above, but on a RECEIVE. Example, pass a Unicode field containing a unicode value, receive a RAW, runtime error is 'Overflow error', probably s/b 'Transcode Error' * FIXED* July 4 engine
- Same as 2), but on a RECEIVE with National fields. Example, pass a National field containing a national value, receive a RAW, runtime error is 'Overflow error', probably s/b 'Transcode Error' * FIXED* July 4 engine
- Does not report transcode errors when a non national character is passed into a national field (ie, pass unicode, receive national). ** Not a bug FAD**
--
PeteBrower - 2011-03-17