Lesson 11, Part 4: Creating Macro Variables Using PROC SQL¶
DICTIONARY.TABLES¶
See more about DICTIONARY.TABLES here in SAS Documentation
- is a read-only object and contains information about known tables (i.e., SAS datasets).
- contains information about datasets ... allocated with the LIBNAME. The Table also includes LIBNAMEs typically allocated during initialization (SASUSER, SASHELP, and maps).
Create a macro variable with a list of SAS dataset names from DICTIONARY.TABLES where LIBNAME = "SASHELP" using PROC SQL¶
In [3]:
ods html close;
options nosource nonumber nodate nonotes nosource;
proc sql noprint;
select memname
INTO :dslist separated by ' '
FROM DICTIONARY.TABLES
where libname = "SASHELP";
%let ds = &sqlobs;
quit;
%put Number of SAS datasets = &ds;
%put ;
%put &=dslist;
%put;
The SAS System
Number of SAS datasets = 226
DSLIST=AACOMP AARFM ADSMSG AFMSG AIR APPLIANC ASSCMGR BASEBALL BEI BIRTHWGT BMIMEN BMT BURROWS BUY BWEIGHT CARS CITIDAY CITIMON
CITIQTR CITIWK CITIYR CLASS CLASSFIT CLNMSG CNTAINER COLUMN COMET COMPANY COUNTSERIES CP951 CSFDEFS CTHEME DEMOGRAPHICS DESKACT
DESKFD DESKOBJ DFTDICT DMCAS DMGMSG DMINE DMTOOLS DMWBTOOL DPLOG DYNATTR EIS EISILCO EISMBRP EISMKCN EISMKIL EISMKMX EISMKNA
EISMKUS EISMSG EISOBJ1 EISOBJ2 EISOBJ3 EISOBJ4 EISOBJ5 EISOBJ6 EISOBJ7 EISOBJ8 EISRG EISTOOLS ELECTRIC EMSASCOD EMTOOL ENSO ETSMSG
FAILURE FEEDDET FEEDER FISH FLAGS FONTDATA FSAUTH FSHEAD FTABLE GAS GCDIRECT GCSTATE GCTYPE GEOEXM GEOEXP GEOEXS GISIMP GNGMSG
GNGSMP1 GNGSMP2 GNP GRIDDED HEART HKSCS01 HOLIDAY HTHEME HTMUTIL HUMID IMAGERW IMGMSG IRIS JAC JUNKMAIL KOC LAKE LEUTEST LEUTRAIN
LIBRARY LOC LSWMSG LTHEME MACRS10 MACRS15 MACRS20 MACRS3 MACRS5 MACRS7 MANAGE MARGARIN MDASSOC MDBMSG MDV METAIMDB METAMSG MILEAGES
MLEIS MLVIEW MON1001 MON111 MONIKER MRRGSTRY NVST1 NVST2 NVST3 NVST4 NVST5 OBJECTS OMAASSC OMAVERB ORSALES PLFIPS PRDSAL2 PRDSAL3
PRDSALE PRICEDATA PROJ4DEF QTR1001 QTR111 QUAKES RENT RETAIL REVHUB2 ROCKPIT SASAPPL SASMBC SASMBI SASMSG SHELL SHOES SLKWXL SMEMSG
SNACKS SPRINGS SR3 STEEL STOCKS SVRTDIST SYR1001 TABLE TGRMAPC TGRMAPS THICK TIMEDATA TOURISM USECON US_DATA VALLOPT VBPLAYRS
VCATALG VCFORMAT VCHKCON VCNCOLU VCNTABU VCOLUMN VDATAIT VDCTNRY VDEST VENGINE VERBMGR VEXTFL VFILTER VFORMAT VFUNC VGOPT VIDMSG
VINDEX VINFOMP VLIBNAM VLOCALE VMACRO VMEMBER VOPTION VOTE1980 VPRMXML VPROMPT VREFCON VREMEMB VSACCES VSCATLG VSLIB VSTABLE
VSTABVW VSTYLE VSVIEW VTABCON VTABLE VTITLE VVIEW VXATTR WEBMSG WORKERS YR1001 YR111 ZHC ZIPCODE ZIPMIL ZTC _CMPIDX_
The SAS System
E3969440A681A2408885998500000005
Create a macro variable containing a horizontal list of countries from a SASHELP SAS dataset¶
In [4]:
ods html close;
options nosource nonumber nodate nonotes nosource;
proc sql noprint;
select distinct trim(name)
INTO :clist separated by ','
FROM SASHELP.demographics;
quit;
%put Number of countries for all world regions combined = &sqlobs;
%put ;
%put &=clist;
%put;
The SAS System
Number of countries for all world regions combined = 197
CLIST=AFGHANISTAN,ALBANIA,ALGERIA,ANDORRA,ANGOLA,ANTIGUA/BARBUDA,ARGENTINA,ARMENIA,ASHMORE/CARTIER,AUSTRALIA,AUSTRIA,AZERBAIJAN,BAHA
MAS,BAHRAIN,BANGLADESH,BARBADOS,BELARUS,BELGIUM,BELIZE,BENIN,BHUTAN,BOLIVIA,BOSNIA/HERZEGOVINA,BOTSWANA,BRAZIL,BRUNEI,BULGARIA,BURKI
NA FASO,BURUNDI,CAMBODIA,CAMEROON,CANADA,CAPE VERDE,CENTRAL AFRICAN REP.,CHAD,CHILE,CHINA,COLOMBIA,COMOROS,CONGO,COOK ISLANDS,CORAL
SEA ISLANDS,COSTA RICA,CROATIA,CUBA,CYPRUS,CZECH REPUBLIC,DENMARK,DJIBOUTI,DOMINICA,DOMINICAN REPUBLIC,EAST TIMOR,ECUADOR,EGYPT,EL
SALVADOR,EQUATORIAL
GUINEA,ERITREA,ESTONIA,ETHIOPIA,FIJI,FINLAND,FRANCE,GABON,GAMBIA,GEORGIA,GERMANY,GHANA,GREECE,GRENADA,GUATEMALA,GUERNSEY,GUINEA,GUIN
EA-BISSAU,GUYANA,HAITI,HONDURAS,HUNGARY,ICELAND,INDIA,INDONESIA,IRAN,IRAQ,IRELAND,ISRAEL,ITALY,IVORY
COAST,JAMAICA,JAPAN,JERSEY,JORDAN,KAZAKHSTAN,KENYA,KIRIBATI,KOREA, NORTH,KOREA,
SOUTH,KUWAIT,KYRGYZSTAN,LAOS,LATVIA,LEBANON,LESOTHO,LIBERIA,LIBYA,LITHUANIA,LUXEMBOURG,MACEDONIA,MADAGASCAR,MALAWI,MALAYSIA,MALDIVES
,MALI,MALTA,MAN,MARSHALL
ISLANDS,MAURITANIA,MAURITIUS,MEXICO,MICRONESIA,MOLDOVA,MONACO,MONGOLIA,MOROCCO,MOZAMBIQUE,MYANMAR,NAMIBIA,NAURU,NEPAL,NETHERLANDS,NE
W ZEALAND,NICARAGUA,NIGER,NIGERIA,NIUE,NORWAY,OMAN,PAKISTAN,PALAU,PANAMA,PAPUA NEW
GUINEA,PARAGUAY,PERU,PHILIPPINES,POLAND,PORTUGAL,QATAR,ROMANIA,RUSSIA,RWANDA,SAINT KITTS/NEVIS,SAINT VINCENT/GRENADINES,SAMOA,SAN
MARINO,SAO TOME/PRINCIPE,SAUDI ARABIA,SENEGAL,SERBIA,SEYCHELLES,SIERRA LEONE,SINGAPORE,SLOVAKIA,SLOVENIA,SOLOMON
ISLANDS,SOMALIA,SOUTH AFRICA,SPAIN,SRI LANKA,ST.
LUCIA,SUDAN,SURINAME,SWAZILAND,SWEDEN,SWITZERLAND,SYRIA,TAJIKISTAN,TANZANIA,THAILAND,TOGO,TONGA,TRINIDAD AND
TOBAGO,TUNISIA,TURKEY,TURKMENISTAN,TUVALU,UGANDA,UKRAINE,UNITED ARAB EMIRATES,UNITED KINGDOM,UNITED
STATES,URUGUAY,UZBEKISTAN,VANUATU,VENEZUELA,VIETNAM,YEMEN,ZAIRE,ZAMBIA,ZIMBABWE
The SAS System
E3969440A681A2408885998500000006
Create a macro variable containing a horizontal list of countries under the region AFR¶
In [6]:
options nosource nonumber nodate nonotes nosource;
ods html close;
proc sql noprint;
select distinct trim(name)
INTO :AFR_clist separated by ','
FROM SASHELP.demographics
where region="AFR";
quit;
%put Number of countries for AFR_clist = &sqlobs;
%put ;
%put &=AFR_clist;
%put;
%put NOTE: End of region AFR processing;
%put ;
The SAS System
Number of countries for AFR_clist = 46
AFR_CLIST=ALGERIA,ANGOLA,BENIN,BOTSWANA,BURKINA FASO,BURUNDI,CAMEROON,CAPE VERDE,CENTRAL AFRICAN REP.,CHAD,COMOROS,CONGO,EQUATORIAL
GUINEA,ERITREA,ETHIOPIA,GABON,GAMBIA,GHANA,GUINEA,GUINEA-BISSAU,IVORY
COAST,KENYA,LESOTHO,LIBERIA,MADAGASCAR,MALAWI,MALI,MAURITANIA,MAURITIUS,MOZAMBIQUE,NAMIBIA,NIGER,NIGERIA,RWANDA,SAO
TOME/PRINCIPE,SENEGAL,SEYCHELLES,SIERRA LEONE,SOUTH AFRICA,SWAZILAND,TANZANIA,TOGO,UGANDA,ZAIRE,ZAMBIA,ZIMBABWE
The SAS System
E3969440A681A2408885998500000008
Macro approach 1 (macro with a positional parameter)¶
Create six macro variables, each containing a horizontal list of countries under each of the six regions.
In [3]:
ods html close;
options nosource nonumber nodate nonotes;
%macro runit(rname);
proc sql noprint;
select distinct trim(name)
INTO :&rname._clist separated by ','
FROM SASHELP.demographics
where region="&rname";
quit;
%put NOTE: Processing region &rname using a macro with positional parameter;
%put &rname._clist = %superq(&rname._clist);
%put Number of countries for &rname._clist = &sqlobs;
%put NOTE: End of region &rname processing;
%put;
%mend runit;
%runit(AFR)
%runit(AMR)
%runit(EMR)
%runit(SEAR)
%runit(WPR)
%runit(EUR)
The SAS System
AFR_clist = ALGERIA,ANGOLA,BENIN,BOTSWANA,BURKINA FASO,BURUNDI,CAMEROON,CAPE VERDE,CENTRAL AFRICAN
REP.,CHAD,COMOROS,CONGO,EQUATORIAL GUINEA,ERITREA,ETHIOPIA,GABON,GAMBIA,GHANA,GUINEA,GUINEA-BISSAU,IVORY
COAST,KENYA,LESOTHO,LIBERIA,MADAGASCAR,MALAWI,MALI,MAURITANIA,MAURITIUS,MOZAMBIQUE,NAMIBIA,NIGER,NIGERIA,RWANDA,SAO
TOME/PRINCIPE,SENEGAL,SEYCHELLES,SIERRA LEONE,SOUTH AFRICA,SWAZILAND,TANZANIA,TOGO,UGANDA,ZAIRE,ZAMBIA,ZIMBABWE
Number of countries for AFR_clist = 46
AMR_clist = ANTIGUA/BARBUDA,ARGENTINA,BAHAMAS,BARBADOS,BELIZE,BOLIVIA,BRAZIL,CANADA,CHILE,COLOMBIA,COSTA
RICA,CUBA,DOMINICA,DOMINICAN REPUBLIC,ECUADOR,EL
SALVADOR,GRENADA,GUATEMALA,GUYANA,HAITI,HONDURAS,JAMAICA,MEXICO,NICARAGUA,PANAMA,PARAGUAY,PERU,SAINT KITTS/NEVIS,SAINT
VINCENT/GRENADINES,ST. LUCIA,SURINAME,TRINIDAD AND TOBAGO,UNITED STATES,URUGUAY,VENEZUELA
Number of countries for AMR_clist = 35
EMR_clist = AFGHANISTAN,BAHRAIN,DJIBOUTI,EGYPT,IRAN,IRAQ,JORDAN,KUWAIT,LEBANON,LIBYA,MOROCCO,OMAN,PAKISTAN,QATAR,SAUDI
ARABIA,SOMALIA,SUDAN,SYRIA,TUNISIA,UNITED ARAB EMIRATES,YEMEN
Number of countries for EMR_clist = 21
SEAR_clist = BANGLADESH,BHUTAN,EAST TIMOR,INDIA,INDONESIA,KOREA, NORTH,MALDIVES,MYANMAR,NEPAL,SRI LANKA,THAILAND
Number of countries for SEAR_clist = 11
WPR_clist = ASHMORE/CARTIER,AUSTRALIA,BRUNEI,CAMBODIA,CHINA,COOK ISLANDS,CORAL SEA ISLANDS,FIJI,JAPAN,KIRIBATI,KOREA,
SOUTH,LAOS,MALAYSIA,MARSHALL ISLANDS,MICRONESIA,MONGOLIA,NAURU,NEW ZEALAND,NIUE,PALAU,PAPUA NEW
GUINEA,PHILIPPINES,SAMOA,SINGAPORE,SOLOMON ISLANDS,TONGA,TUVALU,VANUATU,VIETNAM
Number of countries for WPR_clist = 29
EUR_clist = ALBANIA,ANDORRA,ARMENIA,AUSTRIA,AZERBAIJAN,BELARUS,BELGIUM,BOSNIA/HERZEGOVINA,BULGARIA,CROATIA,CYPRUS,CZECH
REPUBLIC,DENMARK,ESTONIA,FINLAND,FRANCE,GEORGIA,GERMANY,GREECE,GUERNSEY,HUNGARY,ICELAND,IRELAND,ISRAEL,ITALY,JERSEY,KAZAKHSTAN,KYRGY
ZSTAN,LATVIA,LITHUANIA,LUXEMBOURG,MACEDONIA,MALTA,MAN,MOLDOVA,MONACO,NETHERLANDS,NORWAY,POLAND,PORTUGAL,ROMANIA,RUSSIA,SAN
MARINO,SERBIA,SLOVAKIA,SLOVENIA,SPAIN,SWEDEN,SWITZERLAND,TAJIKISTAN,TURKEY,TURKMENISTAN,UKRAINE,UNITED KINGDOM,UZBEKISTAN
Number of countries for EUR_clist = 55
The SAS System
E3969440A681A2408885998500000005
Macro approach 2¶
- The macro dynamically creates a macro variable named AFR_clist, AMR_clist, etc.
- %superq is used to safely display macro variable values without triggering issues with commas or special characters.
- %put prints debug info (macro variable content, SQL observation count) to the SAS log.
In [5]:
options nosource nonumber nodate nonotes;
%macro process_region(rname);
proc sql noprint;
select distinct trim(name)
into :&rname._clist separated by ","
from SASHELP.demographics
where region="&rname";
quit;
%put NOTE: Processing region &rname using a macro Loop;
%put NOTE: SQL Observation count = &sqlobs;
%put &rname._clist = %superq(&rname._clist);
%put NOTE: End of region &rname processing;
%put;
%mend process_region;
%macro run_all;
%let regions = AFR AMR EMR SEAR WPR EUR;
%do i = 1 %to %sysfunc(countw(®ions));
%let region = %scan(®ions, &i);
%process_region(®ion)
%end;
%mend run_all;
%run_all
The SAS System
AFR_clist = ALGERIA,ANGOLA,BENIN,BOTSWANA,BURKINA FASO,BURUNDI,CAMEROON,CAPE VERDE,CENTRAL AFRICAN
REP.,CHAD,COMOROS,CONGO,EQUATORIAL GUINEA,ERITREA,ETHIOPIA,GABON,GAMBIA,GHANA,GUINEA,GUINEA-BISSAU,IVORY
COAST,KENYA,LESOTHO,LIBERIA,MADAGASCAR,MALAWI,MALI,MAURITANIA,MAURITIUS,MOZAMBIQUE,NAMIBIA,NIGER,NIGERIA,RWANDA,SAO
TOME/PRINCIPE,SENEGAL,SEYCHELLES,SIERRA LEONE,SOUTH AFRICA,SWAZILAND,TANZANIA,TOGO,UGANDA,ZAIRE,ZAMBIA,ZIMBABWE
AMR_clist = ANTIGUA/BARBUDA,ARGENTINA,BAHAMAS,BARBADOS,BELIZE,BOLIVIA,BRAZIL,CANADA,CHILE,COLOMBIA,COSTA
RICA,CUBA,DOMINICA,DOMINICAN REPUBLIC,ECUADOR,EL
SALVADOR,GRENADA,GUATEMALA,GUYANA,HAITI,HONDURAS,JAMAICA,MEXICO,NICARAGUA,PANAMA,PARAGUAY,PERU,SAINT KITTS/NEVIS,SAINT
VINCENT/GRENADINES,ST. LUCIA,SURINAME,TRINIDAD AND TOBAGO,UNITED STATES,URUGUAY,VENEZUELA
EMR_clist = AFGHANISTAN,BAHRAIN,DJIBOUTI,EGYPT,IRAN,IRAQ,JORDAN,KUWAIT,LEBANON,LIBYA,MOROCCO,OMAN,PAKISTAN,QATAR,SAUDI
ARABIA,SOMALIA,SUDAN,SYRIA,TUNISIA,UNITED ARAB EMIRATES,YEMEN
SEAR_clist = BANGLADESH,BHUTAN,EAST TIMOR,INDIA,INDONESIA,KOREA, NORTH,MALDIVES,MYANMAR,NEPAL,SRI LANKA,THAILAND
WPR_clist = ASHMORE/CARTIER,AUSTRALIA,BRUNEI,CAMBODIA,CHINA,COOK ISLANDS,CORAL SEA ISLANDS,FIJI,JAPAN,KIRIBATI,KOREA,
SOUTH,LAOS,MALAYSIA,MARSHALL ISLANDS,MICRONESIA,MONGOLIA,NAURU,NEW ZEALAND,NIUE,PALAU,PAPUA NEW
GUINEA,PHILIPPINES,SAMOA,SINGAPORE,SOLOMON ISLANDS,TONGA,TUVALU,VANUATU,VIETNAM
EUR_clist = ALBANIA,ANDORRA,ARMENIA,AUSTRIA,AZERBAIJAN,BELARUS,BELGIUM,BOSNIA/HERZEGOVINA,BULGARIA,CROATIA,CYPRUS,CZECH
REPUBLIC,DENMARK,ESTONIA,FINLAND,FRANCE,GEORGIA,GERMANY,GREECE,GUERNSEY,HUNGARY,ICELAND,IRELAND,ISRAEL,ITALY,JERSEY,KAZAKHSTAN,KYRGY
ZSTAN,LATVIA,LITHUANIA,LUXEMBOURG,MACEDONIA,MALTA,MAN,MOLDOVA,MONACO,NETHERLANDS,NORWAY,POLAND,PORTUGAL,ROMANIA,RUSSIA,SAN
MARINO,SERBIA,SLOVAKIA,SLOVENIA,SPAIN,SWEDEN,SWITZERLAND,TAJIKISTAN,TURKEY,TURKMENISTAN,UKRAINE,UNITED KINGDOM,UZBEKISTAN
The SAS System
E3969440A681A2408885998500000007
Macro to define dynamic macro variable creation and logging¶
In [7]:
options nosource nonumber nodate nonotes;
%macro new_process_region(rname);
proc sql noprint;
select distinct trim(name)
into :&rname._clist separated by ","
from SASHELP.demographics
where region="&rname";
quit;
%put NOTE: Processing region &rname using a macro Loop;
%put NOTE: SQL Observation count = &sqlobs;
%put &rname._clist = %superq(&rname._clist);
%put NOTE: End of region &rname processing;
%put;
%mend new_process_region;
%new_process_region(AFR);
The SAS System
AFR_clist = ALGERIA,ANGOLA,BENIN,BOTSWANA,BURKINA FASO,BURUNDI,CAMEROON,CAPE VERDE,CENTRAL AFRICAN
REP.,CHAD,COMOROS,CONGO,EQUATORIAL GUINEA,ERITREA,ETHIOPIA,GABON,GAMBIA,GHANA,GUINEA,GUINEA-BISSAU,IVORY
COAST,KENYA,LESOTHO,LIBERIA,MADAGASCAR,MALAWI,MALI,MAURITANIA,MAURITIUS,MOZAMBIQUE,NAMIBIA,NIGER,NIGERIA,RWANDA,SAO
TOME/PRINCIPE,SENEGAL,SEYCHELLES,SIERRA LEONE,SOUTH AFRICA,SWAZILAND,TANZANIA,TOGO,UGANDA,ZAIRE,ZAMBIA,ZIMBABWE
The SAS System
E3969440A681A2408885998500000009
In [26]:
The SAS System
AFR_clist = ALGERIA,ANGOLA,BENIN,BOTSWANA,BURKINA FASO,BURUNDI,CAMEROON,CAPE VERDE,CENTRAL AFRICAN
REP.,CHAD,COMOROS,CONGO,EQUATORIAL GUINEA,ERITREA,ETHIOPIA,GABON,GAMBIA,GHANA,GUINEA,GUINEA-BISSAU,IVORY
COAST,KENYA,LESOTHO,LIBERIA,MADAGASCAR,MALAWI,MALI,MAURITANIA,MAURITIUS,MOZAMBIQUE,NAMIBIA,NIGER,NIGERIA,RWANDA,SAO
TOME/PRINCIPE,SENEGAL,SEYCHELLES,SIERRA LEONE,SOUTH AFRICA,SWAZILAND,TANZANIA,TOGO,UGANDA,ZAIRE,ZAMBIA,ZIMBABWE
The SAS System
E3969440A681A2408885998500000028
Macro approach 3 (macro call with CALL EXECUTE)¶
CALL EXECUTE queues macro calls to execute after the DATA step completes.
%nrstr ensures that the macro call is not resolved immediately; it will execute later with region substituted.
Each iteration generates a call like:
%new_process_region(AFR); %new_process_region(AMR); ...
In [13]:
options nosource nonumber nodate nonotes;
data _null_;
length region $4;
array regions[6] $4 ('AFR' 'AMR' 'EMR' 'SEAR' 'WPR' 'EUR');
do i = 1 to dim(regions);
region = regions[i];
call execute('%nrstr(%new_process_region(' || region || '));');
end;
run;
The SAS System
AFR_clist = ALGERIA,ANGOLA,BENIN,BOTSWANA,BURKINA FASO,BURUNDI,CAMEROON,CAPE VERDE,CENTRAL AFRICAN
REP.,CHAD,COMOROS,CONGO,EQUATORIAL GUINEA,ERITREA,ETHIOPIA,GABON,GAMBIA,GHANA,GUINEA,GUINEA-BISSAU,IVORY
COAST,KENYA,LESOTHO,LIBERIA,MADAGASCAR,MALAWI,MALI,MAURITANIA,MAURITIUS,MOZAMBIQUE,NAMIBIA,NIGER,NIGERIA,RWANDA,SAO
TOME/PRINCIPE,SENEGAL,SEYCHELLES,SIERRA LEONE,SOUTH AFRICA,SWAZILAND,TANZANIA,TOGO,UGANDA,ZAIRE,ZAMBIA,ZIMBABWE
AMR_clist = ANTIGUA/BARBUDA,ARGENTINA,BAHAMAS,BARBADOS,BELIZE,BOLIVIA,BRAZIL,CANADA,CHILE,COLOMBIA,COSTA
RICA,CUBA,DOMINICA,DOMINICAN REPUBLIC,ECUADOR,EL
SALVADOR,GRENADA,GUATEMALA,GUYANA,HAITI,HONDURAS,JAMAICA,MEXICO,NICARAGUA,PANAMA,PARAGUAY,PERU,SAINT KITTS/NEVIS,SAINT
VINCENT/GRENADINES,ST. LUCIA,SURINAME,TRINIDAD AND TOBAGO,UNITED STATES,URUGUAY,VENEZUELA
EMR_clist = AFGHANISTAN,BAHRAIN,DJIBOUTI,EGYPT,IRAN,IRAQ,JORDAN,KUWAIT,LEBANON,LIBYA,MOROCCO,OMAN,PAKISTAN,QATAR,SAUDI
ARABIA,SOMALIA,SUDAN,SYRIA,TUNISIA,UNITED ARAB EMIRATES,YEMEN
SEAR_clist = BANGLADESH,BHUTAN,EAST TIMOR,INDIA,INDONESIA,KOREA, NORTH,MALDIVES,MYANMAR,NEPAL,SRI LANKA,THAILAND
WPR_clist = ASHMORE/CARTIER,AUSTRALIA,BRUNEI,CAMBODIA,CHINA,COOK ISLANDS,CORAL SEA ISLANDS,FIJI,JAPAN,KIRIBATI,KOREA,
SOUTH,LAOS,MALAYSIA,MARSHALL ISLANDS,MICRONESIA,MONGOLIA,NAURU,NEW ZEALAND,NIUE,PALAU,PAPUA NEW
GUINEA,PHILIPPINES,SAMOA,SINGAPORE,SOLOMON ISLANDS,TONGA,TUVALU,VANUATU,VIETNAM
EUR_clist = ALBANIA,ANDORRA,ARMENIA,AUSTRIA,AZERBAIJAN,BELARUS,BELGIUM,BOSNIA/HERZEGOVINA,BULGARIA,CROATIA,CYPRUS,CZECH
REPUBLIC,DENMARK,ESTONIA,FINLAND,FRANCE,GEORGIA,GERMANY,GREECE,GUERNSEY,HUNGARY,ICELAND,IRELAND,ISRAEL,ITALY,JERSEY,KAZAKHSTAN,KYRGY
ZSTAN,LATVIA,LITHUANIA,LUXEMBOURG,MACEDONIA,MALTA,MAN,MOLDOVA,MONACO,NETHERLANDS,NORWAY,POLAND,PORTUGAL,ROMANIA,RUSSIA,SAN
MARINO,SERBIA,SLOVAKIA,SLOVENIA,SPAIN,SWEDEN,SWITZERLAND,TAJIKISTAN,TURKEY,TURKMENISTAN,UKRAINE,UNITED KINGDOM,UZBEKISTAN
The SAS System
E3969440A681A2408885998500000015