MACRO BLK BOOL

Aus phenixxenia.org
Version vom 5. März 2014, 21:13 Uhr von Wolf-Dieter Batz (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Zurück

Übersicht

Vorwärts

Type

User module from Phase-III Macro System based on Fractal System Architecture.

Source

%MACRO BLK_BOOL(dsn=,row=,col=,total=T,indent=0,prefix=,use=,stat=Y,blktitle=,num=,space=2,condense=) / store des="see documentation for a detailed description" ; 
%LOCAL n_lst v_lst n row_n m name;
%LET name=BLK_BOOL;
%IF %LENGTH(&BLKTITLE) ne 0 %THEN %DO;
  data blktit#
    length class $&CW_C;
    class="&BLKTITLE";
    output;
  run;
%END;
%CHK_LIST(list=&ROW);
%DO n=1 %TO &N_LST;
  %IF &N gt 1 %THEN %LET total=n; ;
  %LET row_n=%SCAN(&V_LST,&N,|);
  %TOP_FILT(dsn=&DSN,grp=&PREFIX&ROW_N,by=&COL,grplvl=&N,var=,condense=&CONDENSE);
  %TOP_FREQ(dsn=top_filt,grp=&PREFIX&ROW_N,by=&COL);
  %TOP_OUTC(dsn=top_freq,head=n,total=&TOTAL,stat=&STAT,indent=&INDENT,grp=&PREFIX&ROW_N,rev=n,use=&USE,by=&COL);
%END;
%IF &TAB_NAME ne %THEN %DO;
  data %SUBSTR(&TAB_NAME,1,3)&NUM%SUBSTR(&TAB_NAME,5,4);
   set
     %IF %LENGTH(&BLKTITLE) ne 0 %THEN blktit#
     %IF &SPACE eq 1 %THEN dummy;
  %DO n=1 %TO &N_LST;
     %IF &SPACE eq 2 %THEN dummy;
     row&N._0
  %END;
     %IF &SPACE eq 1 %THEN dummy;
     %IF &SPACE eq 2 %THEN dummy;
     %IF &SPACE eq 3 %THEN dummy;
   ;
  run;
%END;
data &PREFIX;
 set
 %DO m=1 %TO &N_LST;
   row&M._0
 %END;
 dummy
 ;
run;
%GEN_MAIL(name=&NAME);
%MEND BLK_BOOL;