# String/Expression Manipulation Operators

AMPERSAND
LESS THAN SIGN
LEFT FRENCH BRACE
PARENTHESES

& AMPERSAND

Description:

The & joins two fields, starting the second field at exactly the end of the defined length of the field on the left.

Examples:

Then: aa(10)="Smith" ; bb(10)="Joe" ; cc(20)=bb&aa ; show cc

would yield:

Joe Smith

because the fields are joined (concatenated) at the defined length of the field on the left, regardless of how much of that field is filled.

Then: aa(8,mdy/)=@td ; show aa&4

would yield:

10/04/97ACME (assuming field 4="ACME")

< LESS THAN SIGN

Description:

The < joins two fields by pushing the field on the right towards the left until there is exactly one space between the two fields. This operator is often called the "push left" operator.

Examples:

Then: aa(10)="Smith" ; bb(10)="Joe" ; cc(20)=bb&aa ; show cc

would yield:

Joe Smith

because the fields are joined, leaving 1 space between the data, regardless of how much of each field is filled.

Then: aa(10)="123" ; bb(10)=" XYZ" ; cc(20)=aa<bb ; show cc

would yield:

123 XYZ

Again, 1 and only 1 space is left between the joined fields, because that is the way the push left operator "<" works.

{ FRENCH BRACE

Description:

The { joins and pushes left, leaving no spaces. Because this operator works in the same manner as the "push left" operator but leaves no spaces between the joined fields, it is called the "squeeze left operator".

Examples:

Then: aa(10)="Joe" ; bb(10)="Smith" ; show aa{bb

would yield:

JoeSmith

( ) PARENTHESES

Description:

The set of ( ) groups and orders evaluations for the purpose of clarity and precedence of operation.

Examples:

If: ((3 gt aa) and (4 eq "C")) or (BALDUE gt "0" or 19 co bb)

Then: show "@ Customer has outstanding balance."