%macro cpmac; /* Macro écrite par Patrick BROSSIER (GIP RECLUS) Cette macro génère les chaînes de caractères à utiliser dans la fonction translate pour passer d'un codage CP437 (DOSLatinUS) en caractères Mac. Version du 4/03/01 */ %global cfr cto; data _null_; length cto cfr $200 c0-c15 $32; array c(i) $ c0-c15; c0='000102030405060708090A0B0C0D0E0F'; c1='1011121314A4161718191A1B1C1D1E1F'; c2='202122232425262728292A2B2C2D2E2F'; c3='303132333435363738393A3B3C3D3E3F'; c4='404142434445464748494A4B4C4D4E4F'; c5='505152535455565758595A5B5C5D5E5F'; c6='606162636465666768696A6B6C6D6E6F'; c7='707172737475767778797A7B7C7D7E7F'; c8='829F8E898A888C8D90918F9594938081'; c9='83BEAE999A989E9DD88586A2A3B45FC4'; c10='8792979C9684BBBCC05FC25F5FC1C7C8'; c11='5F5F5F7C2B2B2B2B2B2B7C2B2B2B2B2B'; c12='2B2B2B2BD12B2B2B2B2B2B2B2B3D2B2B'; c13='2B2B2B2B2B2B2B2B2B2B2B5F5F5F5F5F'; c14='5FA75FB9B75FB55F5F5FBD5FB0BF5F5F'; c15='5FB1B3B25F5FD6C5A1A5A55F5F5FA5CA'; n=0; do i=1 to 16; j1=0; do j=1 to 32 by 2; k=(i-1)*16+j1;j1=j1+1; l=input(substr(c,j,2),hex2.); if l^=k then do; n=n+1; substr(cfr,n,1)=put(k,pib1.); substr(cto,n,1)=put(l,pib1.); end; end; end; call symput('cto',substr(cto,1,n)); call symput('cfr',substr(cfr,1,n)); run; %mend;