The *ALLU is a figurative constant of the form *ALLU’XxxxYyyy’. It indicates a literal of the form ’XxxxYyyyXxxxYyyy...’, and has a length determined by the length of the field that is associated with the *ALLU’XxxxYyyy’ constant.
Each double-byte character in the constant is represented by four hexadecimal digits. For example, *ALLU’0041’ represents a string of repeated UCS-2 ’A’s.
Example:
Using System
BegClass starall Access(*Public)
dclfld Chara *char Len(10) inz( *allU'004100420043')
dclfld CharB *char Len(10) inz( *all'ABC')
BegConstructor Access(*Public)
console.WriteLine( CharA + " = ABCABCABCA CharA")
console.WriteLine( CharB + " = ABCABCABCA CharB")
compare charA *allU'004100420043' eq(*in03)
compare charB *all'ABC' eq(*in04)
If *in03
console.WriteLine( Chara + " compare = ABCABCABCA CharA")
else
console.WriteLine( Chara + " compare <> ABCABCABCA CharA")
endif
If *in04
console.WriteLine( CharB + " compare = ABCABCABCA CharB")
else
console.WriteLine( CharB + " compare <> ABCABCABCA CharB")
endif
If CharA = *allU'004100420043'
console.WriteLine( Chara + " If = ABCABCABCA CharA")
else
console.WriteLine( Chara + " If <> ABCABCABCA CharA")
endif
If CharB = *ALL'ABC'
console.WriteLine( CharB + " If = ABCABCABCA CharB")
else
console.WriteLine( CharB + " If <> ABCABCABCA CharB")
endif
move *allU'0030003100320034' CharA
move *all'1234' CharB
console.WriteLine( CharA + " = 1234123412 CharA")
console.WriteLine( CharB + " = 1234123412 CharB")
movel *allU'0080' CharA
movel *all'€' CharB
console.WriteLine( CharA + " = €€€€€€€€€€ CharA")
console.WriteLine( CharB + " = €€€€€€€€€€ CharB")
EndConstructor
begsr Main Access( *Public ) Shared( *Yes )
dclSRParm Args *string Rank( 1 )
*new starAll()
Console.WriteLine ( "Press <enter> to exit." )
Console.ReadLine()
EndSR
EndClass