?>Array ( [lang] => de [id] => 96 )
Scénario de test & Cas d'usage
Erstellt eine einfache Tabelle 'PRODUKTE' mit numerischen Produktcodes, die international verwendet werden.
| 1 | DATA casuser.PRODUKTE; |
| 2 | INPUT ProduktCode; |
| 3 | DATALINES; |
| 4 | 1 |
| 5 | 2 |
| 6 | 3 |
| 7 | ; |
| 8 | RUN; |
| 1 | PROC CAS; |
| 2 | sessionprop.addFmtLib / fmtLibName='RETAIL_FMTLIB'; |
| 3 | RUN; |
| 1 | PROC CAS; |
| 2 | sessionprop.addFormat / |
| 3 | fmtLibName='RETAIL_FMTLIB' |
| 4 | fmtName='$PRODUKTNAME' |
| 5 | locale='de_DE' |
| 6 | ranges={ {1, 'Apfel'}, {2, 'Milch'}, {3, 'Brot'} }; |
| 7 | RUN; |
| 1 | PROC CAS; |
| 2 | sessionprop.addFormat / |
| 3 | fmtLibName='RETAIL_FMTLIB' |
| 4 | fmtName='$PRODUKTNAME' |
| 5 | locale='fr_FR' |
| 6 | ranges={ {1, 'Pomme'}, {2, 'Lait'}, {3, 'Pain'} }; |
| 7 | RUN; |
| 1 | PROC CAS; |
| 2 | sessionprop.addFormat / |
| 3 | fmtLibName='RETAIL_FMTLIB' |
| 4 | fmtName='$PRODUKTNAME' |
| 5 | locale='de_DE' |
| 6 | replace=true |
| 7 | ranges={ {1, 'Bio-Apfel'}, {2, 'Milch'}, {3, 'Brot'} }; |
| 8 | RUN; |
| 1 | PROC CAS; |
| 2 | SESSION.setSessOpt / locale='de_DE'; |
| 3 | fedsql.execDirect / query='select ProduktCode, put(ProduktCode, $PRODUKTNAME.) as Produkt_DE from casuser.PRODUKTE'; |
| 4 | RUN; |
| 5 | |
| 6 | SESSION.setSessOpt / locale='fr_FR'; |
| 7 | fedsql.execDirect / query='select ProduktCode, put(ProduktCode, $PRODUKTNAME.) as Produkt_FR from casuser.PRODUKTE'; |
| 8 | RUN; |
Die erste Abfrage (Locale 'de_DE') sollte 'Bio-Apfel' für ProduktCode 1 zurückgeben, was die erfolgreiche Ersetzung bestätigt. Die zweite Abfrage (Locale 'fr_FR') sollte 'Pomme' für ProduktCode 1 zurückgeben. Dies zeigt, dass CAS erfolgreich mehrere länderspezifische Versionen desselben Formatnamens verwalten und je nach Sitzungskontext die richtige anwenden kann.