> Which piece of documentation covers things like > > VARIABLEONE = VARIABLE"L(#33)" > > and > > VARIABLETWO = VARIABLE"R(%9)" > > ... I'd like to know what exactly it is that I'm > doing when I use them rather than just blindly > following examples that I've seen to produce results I want.
That syntax is traditionally called Masking. The codes you use in ICONV/OCONV are also traditionally called Processor Codes or Conversions (even though you can use Correlatives there). Not all masks are conversions and vice versa. As others said, FMT/FORMAT performs the same operation as a Mask, but using Function syntax. FWIW, using the mask syntax we can also do this: MASK = "L#33" TEXT = INFO MASK Developers are sometimes surprised when output looks weird, and it's because they wanted to say something like this: PRINT INFO1:INFO2 or PRINT INFO1:" ":INFO2 but they accidentally do this: PRINT INFO1 INFO2 or PRINT INFO1 " " : INFO2 In the first case, INFO2 is used as an invalid MASK on INFO1. That doesn't result in a compiler or runtime error. The system just does its best to apply the text you provided as a mask. In the second case, with the colon for concatenation missing, the space in quotes is applied as a mask to INFO1, which can destroy the data, and INFO2 is then concatenated. The thing to remember is that the system will do exactly what we tell it to, even if that's not what we want. HTH Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com remove.pleaseNebula-RnD.com/blog Visit PickWiki.com! Contribute! http://Twitter.com/TonyGravagno _______________________________________________ U2-Users mailing list [email protected] http://listserver.u2ug.org/mailman/listinfo/u2-users
