|
It is better to send such messages peronally, so that it will reduce net traffic. am right? Pls. take it friendly, thanks Chandra >From: "Shen Jianjun" <ipacsjj@public.sta.net.cn> >Reply-To: RPG400-L@midrange.com >To: <RPG400-L@midrange.com> >Subject: Re: ALTSEQ ? >Date: Fri, 2 Apr 1999 18:09:17 +0800 > > >Bruce, Thank you very much. > > > >-----Original Message----- >From: bvining@VNET.IBM.COM <bvining@VNET.IBM.COM> >To: RPG400-L@midrange.com <RPG400-L@midrange.com> >Date: Thursday, April 01, 1999 4:33 AM >Subject: ALTSEQ ? > > >>RPG ALTSEQ (alternate collating sequence) allows you to control how >>character data is sorted and compared. For instance different cultures >>prefer that certain characters sort/compare in different ways; an >>example of this would be the Latin ligature AE (one character) where >>many European nationalities prefer that AE sort/compare between 'a' and >>'b' while Norwegian users may prefer AE sorts/compares after 'z'. As >>another example, a user may prefer that 'a' sort/compare equal with 'A' >>(and not as before/notequal to 'A'). The attached ILE RPG program >>shows simplistically how this can be controlled via the H spec ALTSEQ >>keyword and CRTRPGPGM parameters. This is a SIMPLE example, and in >>real life one would probably use *JOBRUN values, but I didn't want to >>introduce another level of indirection (though one very handy if you >>want one *PGM to support many languages in a culturally correct manner) >>for this example. >> >>Please note that the default behavior is Hex which means no one is >>necessarily "culturally happy", but the program runs the fastest. >>Introducing any collation sequence (other than Hex) will cause more >>work (sometimes substantially more work) "under the covers" (though as >>the sample shows, with the same source code). >> >>Bruce >> >> >> H* To test Hex collation comment out the following H spec >> H ALTSEQ(*EXT) >> H* To test Common Latin-1 collation leave the previous H spec and >> H* compile with CRTBNDRPG XXX SRTSEQ(*LANGIDUNQ) LANGID(ENU) >> H* >> H* To test Common Latin-1 collation leave the previous H spec and >> H* compile with CRTBNDRPG XXX SRTSEQ(*LANGIDUNQ) LANGID(NON) >> H* >> H* To test Common Latin-1 shared collation use previous H spec and >> H* compile with CRTBNDRPG XXX SRTSEQ(*LANGIDSHR) LANGID(ENU) >> D* >> D* Define some constants to check where codepoints collate >> DLatin_AE s 1 inz(x'9E') >> DLatin_a s 1 inz('a') >> DLatin_b s 1 inz('b') >> DLatin_r s 1 inz('r') >> DLatin_s s 1 inz('s') >> DLatin_z s 1 inz('z') >> C* check if between 'a' and 'b'; if so it's Common Latin-1 sequence >> C Latin_AE ifgt Latin_a >> C Latin_AE andlt Latin_b >> C 'Common' dsply >> C endif >> C* check if between 'r' and 's'; if so it's CCSID 37 Hex sequence >> C Latin_AE ifgt Latin_r >> C Latin_AE andlt Latin_s >> C 'Hex ' dsply >> C endif >> C* check if after 'z'; if so it's Norwegian Bokmal sequence >> C Latin_AE ifgt Latin_z >> C 'Bokmal' dsply >> C endif >> C* check if equal 'a'; if so it's Shared weight >> C Latin_AE ifeq Latin_a >> C 'Shared' dsply >> C endif >> C move '1' *inlr >> C return >> >> >> >>> >>>What does it means of the keyword ALTSEQ and the concept >>>about the Collating Sequence? >>> >>>Thanks. >>> >> >>* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * >>* This is the RPG/400 Discussion Mailing List! To submit a new * >>* message, send your mail to "RPG400-L@midrange.com". To unsubscribe * >>* from this list send email to MAJORDOMO@midrange.com and specify * >>* 'unsubscribe RPG400-L' in the body of your message. Questions should * >>* be directed to the list owner / operator: david@midrange.com * >>* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * >> > >* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * >* This is the RPG/400 Discussion Mailing List! To submit a new * >* message, send your mail to "RPG400-L@midrange.com". To unsubscribe * >* from this list send email to MAJORDOMO@midrange.com and specify * >* 'unsubscribe RPG400-L' in the body of your message. Questions should * >* be directed to the list owner / operator: david@midrange.com * >* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ______________________________________________________ Get Your Private, Free Email at http://www.hotmail.com * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * This is the RPG/400 Discussion Mailing List! To submit a new * * message, send your mail to "RPG400-L@midrange.com". To unsubscribe * * from this list send email to MAJORDOMO@midrange.com and specify * * 'unsubscribe RPG400-L' in the body of your message. Questions should * * be directed to the list owner / operator: david@midrange.com * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.