MACRO TWO BOCA: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
K |
K |
||
Zeile 18: | Zeile 18: | ||
== Source == | == Source == | ||
+ | |||
+ | ;Start Definition with Parameters and Defaults | ||
%MACRO TWO_BOCA(dsn=,use=,row=,row2=,col=,indent=0,num=,total=T,stat=Y,weight=Y,space=3,condense=,struct=,struct2=,head=Y,head2=Y,misslin2=,indinc=2) / store; | %MACRO TWO_BOCA(dsn=,use=,row=,row2=,col=,indent=0,num=,total=T,stat=Y,weight=Y,space=3,condense=,struct=,struct2=,head=Y,head2=Y,misslin2=,indinc=2) / store; | ||
+ | |||
+ | ;Declares and Upper Level Processing | ||
%LOCAL n_grp v_grp n name; | %LOCAL n_grp v_grp n name; | ||
Zeile 32: | Zeile 36: | ||
%GRP_DESC(dsn=&DSN,grp=&ROW,miss=n); | %GRP_DESC(dsn=&DSN,grp=&ROW,miss=n); | ||
%IF &STRUCT2 eq %THEN %LET struct2=top_filt; | %IF &STRUCT2 eq %THEN %LET struct2=top_filt; | ||
+ | |||
+ | ;Loop for Lower Level Processing | ||
+ | |||
%DO n=1 %TO &N_GRP; | %DO n=1 %TO &N_GRP; | ||
%IF %SCAN(&V_GRP,&N) eq &USE %THEN %DO; | %IF %SCAN(&V_GRP,&N) eq &USE %THEN %DO; | ||
Zeile 39: | Zeile 46: | ||
%END; | %END; | ||
%END; | %END; | ||
+ | |||
+ | ;Care for Naming and Send Completion Mail | ||
+ | |||
%IF &TAB_NAME ne %THEN %DO; | %IF &TAB_NAME ne %THEN %DO; | ||
data &TAB_DEF&NUM%SUBSTR(&TAB_NAME,5,4); | data &TAB_DEF&NUM%SUBSTR(&TAB_NAME,5,4); | ||
Zeile 52: | Zeile 62: | ||
%END; | %END; | ||
%GEN_MAIL(name=&NAME); | %GEN_MAIL(name=&NAME); | ||
+ | |||
+ | ;Close Definition | ||
%MEND TWO_BOCA; | %MEND TWO_BOCA; |
Version vom 24. Oktober 2014, 10:08 Uhr
Workflow Graph | Module Type |
---|---|
User module from Phase-III Macro System based on Fractal System Architecture. |
Source
- Start Definition with Parameters and Defaults
%MACRO TWO_BOCA(dsn=,use=,row=,row2=,col=,indent=0,num=,total=T,stat=Y,weight=Y,space=3,condense=,struct=,struct2=,head=Y,head2=Y,misslin2=,indinc=2) / store;
- Declares and Upper Level Processing
%LOCAL n_grp v_grp n name; %LET name=TWO_BOCA; %IF &STRUCT eq %THEN %LET struct =&DSN; %IF &STRUCT2 eq %THEN %TOP_FILT(dsn=&DSN,grp=&ROW,grp2=&ROW2,by=&COL,grplvl=&NUM,var=,condense=&CONDENSE); %ELSE %TOP_FILT(dsn=&DSN,grp=&ROW,grp2=,by=&COL,grplvl=&NUM,var=,condense=&CONDENSE); %TOP_FREQ(dsn=top_filt,struct=&STRUCT,grp=&ROW,by=&COL); %TOP_OUTC(dsn=top_freq,head=&HEAD,total=&TOTAL,stat=&STAT,indent=&INDENT,grp=&ROW,rev=n,use=&USE,by=&COL); %GRP_DESC(dsn=&DSN,grp=&ROW,miss=n); %IF &STRUCT2 eq %THEN %LET struct2=top_filt;
- Loop for Lower Level Processing
%DO n=1 %TO &N_GRP; %IF %SCAN(&V_GRP,&N) eq &USE %THEN %DO; %ROW_FILT(dsn=&DSN,context=&ROW,subgrp=&N,grp=&ROW2,by=&COL,var=,miss=n); %ROW_FREQ(dsn=row_filt,sum=top_freq,struct=&STRUCT2,context=&ROW,grp=&ROW2,by=&COL,weight=&WEIGHT); %ROW_OUTC(dsn=row_freq,sum=,head=&HEAD2,stat=&STAT,indent=%EVAL(&INDENT+&INDINC),context=&ROW,grp=&ROW2,by=&COL,missline=&MISSLIN2); %END; %END;
- Care for Naming and Send Completion Mail
%IF &TAB_NAME ne %THEN %DO; data &TAB_DEF&NUM%SUBSTR(&TAB_NAME,5,4); set %IF &SPACE eq 1 %THEN dummy ; row&NUM._0 %IF &SPACE eq 2 %THEN dummy ; row&NUM._&CURSUB %IF &SPACE eq 2 %THEN dummy ; %IF &SPACE eq 3 %THEN dummy ; ; run; %END; %GEN_MAIL(name=&NAME);
- Close Definition
%MEND TWO_BOCA;