Seems the earlier reply by the OP and now the updated solution both contradict the original requirement that suggested "any given position" of a "20 byte field" must "only contain the values of A or N".? There was no mention, neither of a varying string nor spaces\blanks being acceptable whether trailing or otherwise.? The %Trim example as given allows the string ' AA' because that builtin defaults to trimming *both* leading and trailing; perhaps %TrimR could be the most appropriate.

Seems I forgot to click send on this earlier... I see Paul has since remarked similarly. But the "%check('AN ': YourField ) <> 0" with the blank as allowed has the same conflict with the original requirement, but unlike the "varying" with either %Trim or %TrimR allows embedded versus only trailing and\or leading blanks.

So maybe the requirements are just not clear enough.

Regards, Chuck

On 09-Nov-2011 11:12 , Khalid Hachi wrote:
You're right:

If YourField = 'AA'
Pos = %CHECK(C_AN :YourField); // Pos = 3

So try:

D C_AN C 'AN'
D YourField S 20
D wkVar S 20 Varying

wkVar = %Trim(YourField);
If %CHECK(C_AN : wkVar)<> 0;
//Error
Endif;

Jeff Young on 8 novembre 2011 16:59 wrote:

That does not work if the field is AA or NN.
Each position of the field can only be A or N.

On Tue, Nov 8, 2011 at 4:09 PM, Khalid Hachi wrote:

D C_AN C 'AN'

Pos = %CHECK(C_AN :YourField);
If Pos<> 0;
//Error
Endif;


Jeff Young on 8 novembre 2011 15:58 wrote:

I have a 20 byte field that should only contain the values of A or
N in any given position.
Without looping through each position, is there any way to test if
the field contains any other value?




This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2026 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.