MACRO TAB CATV: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „Kategorie:zazy 200px|thumb == Type == '''User module''' from Phase-III Macro System based on '''''[[Frakta…“) |
K |
||
Zeile 10: | Zeile 10: | ||
[[Datei:MACRO_TAB_CATV.png]] | [[Datei:MACRO_TAB_CATV.png]] | ||
+ | |||
+ | == Source == | ||
+ | |||
+ | %MACRO TAB_CATV(dsn=,row=,col=,total=T,head=Y,indent=0,num=,stat=Y,space=2,rev=N,condense=,missline=) / store des="see documentation for a detailed description" ; | ||
+ | |||
+ | %LOCAL n_lst v_lst n row_n name; | ||
+ | %LET name=TAB_CATV; | ||
+ | proc datasets nolist lib=work; delete %SUBSTR(&TAB_NAME,1,3)&NUM%SUBSTR(&TAB_NAME,5,4); run; quit; | ||
+ | %CHK_LIST(list=&ROW); | ||
+ | %DO n=1 %TO &N_LST; | ||
+ | %LET row_n=%SCAN(&ROW,&N); | ||
+ | %IF &TAB_NAME eq %THEN %DO; | ||
+ | %BLK_CATV(dsn=&DSN,row=&ROW_N,rev=&REV,col=&COL,total=&TOTAL,head=&HEAD,indent=&INDENT,num=%EVAL(&NUM+&N-1),stat=&STAT,space=&SPACE,condense=&CONDENSE,missline=&MISSLINE); | ||
+ | %END; | ||
+ | %IF &TAB_NAME ne %THEN %DO; | ||
+ | %IF &N gt 1 and %UPCASE(&TOTAL) eq T %THEN %LET total=n; | ||
+ | %BLK_CATV(dsn=&DSN,row=&ROW_N,rev=&REV,col=&COL,total=&TOTAL,head=&HEAD,indent=&INDENT,num=0,stat=&STAT,space=&SPACE,condense=&CONDENSE,missline=&MISSLINE); | ||
+ | proc append base=%SUBSTR(&TAB_NAME,1,3)&NUM%SUBSTR(&TAB_NAME,5,4) data=%SUBSTR(&TAB_NAME,1,3)0%SUBSTR(&TAB_NAME,5,4); run; | ||
+ | proc datasets nolist lib=work; delete %SUBSTR(&TAB_NAME,1,3)0%SUBSTR(&TAB_NAME,5,4); run; quit; | ||
+ | %END; | ||
+ | %END; | ||
+ | %GEN_MAIL(name=&NAME); | ||
+ | |||
+ | %MEND TAB_CATV; |
Version vom 11. Juli 2013, 17:19 Uhr
Type
User module from Phase-III Macro System based on Fractal System Architecture.
Workflow
Source
%MACRO TAB_CATV(dsn=,row=,col=,total=T,head=Y,indent=0,num=,stat=Y,space=2,rev=N,condense=,missline=) / store des="see documentation for a detailed description" ;
%LOCAL n_lst v_lst n row_n name; %LET name=TAB_CATV; proc datasets nolist lib=work; delete %SUBSTR(&TAB_NAME,1,3)&NUM%SUBSTR(&TAB_NAME,5,4); run; quit; %CHK_LIST(list=&ROW); %DO n=1 %TO &N_LST; %LET row_n=%SCAN(&ROW,&N); %IF &TAB_NAME eq %THEN %DO; %BLK_CATV(dsn=&DSN,row=&ROW_N,rev=&REV,col=&COL,total=&TOTAL,head=&HEAD,indent=&INDENT,num=%EVAL(&NUM+&N-1),stat=&STAT,space=&SPACE,condense=&CONDENSE,missline=&MISSLINE); %END; %IF &TAB_NAME ne %THEN %DO; %IF &N gt 1 and %UPCASE(&TOTAL) eq T %THEN %LET total=n; %BLK_CATV(dsn=&DSN,row=&ROW_N,rev=&REV,col=&COL,total=&TOTAL,head=&HEAD,indent=&INDENT,num=0,stat=&STAT,space=&SPACE,condense=&CONDENSE,missline=&MISSLINE); proc append base=%SUBSTR(&TAB_NAME,1,3)&NUM%SUBSTR(&TAB_NAME,5,4) data=%SUBSTR(&TAB_NAME,1,3)0%SUBSTR(&TAB_NAME,5,4); run; proc datasets nolist lib=work; delete %SUBSTR(&TAB_NAME,1,3)0%SUBSTR(&TAB_NAME,5,4); run; quit; %END; %END; %GEN_MAIL(name=&NAME);
%MEND TAB_CATV;