> 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

Reply via email to