Macro XAMINE (from Fraktal SAS Programming): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
KKeine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
Zeile 9: | Zeile 9: | ||
}} | }} | ||
{| class="wikitable" | |||
! Code executed | |||
! Function performed | |||
|- | |||
| | |||
%MACRO xamine(xpath,etype); | |||
| | |||
|- | |||
| | |||
:%GLOBAL ne ie dir; | |||
| | |||
|- | |||
| | |||
:%LOCAL xpath xentry entry etype; | |||
| | |||
|- | |||
| | |||
;filename entries pipe "dir /b &XPATH." lrecl = 256; | |||
| | |||
|- | |||
| | |||
;filename dirs pipe "dir /b /ad &XPATH." lrecl = 256; | |||
| | |||
|- | |||
| | |||
;data entries; | |||
| | |||
|- | |||
| | |||
:length entry $256; | |||
| | |||
|- | |||
| | |||
:infile entries length = lrecl end = EOF; | |||
| | |||
|- | |||
| | |||
:input entry $varying256. lrecl; | |||
| | |||
|- | |||
| | |||
:if EOF then call symput('ne',trim(left(put(_N_,8.)))); | |||
| | |||
|- | |||
| | |||
;run; | |||
| | |||
|- | |||
| | |||
;data dirs; | |||
| | |||
|- | |||
| | |||
:length dir $256; | |||
| | |||
|- | |||
| | |||
:infile dirs length = lrecl end = EOF; | |||
| | |||
|- | |||
| | |||
:input dir $varying256. lrecl; | |||
| | |||
|- | |||
| | |||
;run; | |||
| | |||
|- | |||
| | |||
;%DO ie = 1 %TO &NE.; | |||
| | |||
|- | |||
| | |||
;data _NULL_; | |||
| | |||
|- | |||
| | |||
:set entries(firstobs = &IE. obs = &IE.); | |||
| | |||
|- | |||
| | |||
:call symput('entry',compress(translate(entry,'_','(-)'))); | |||
| | |||
|- | |||
| | |||
:call symput('xentry',trim(left(entry))); | |||
| | |||
|- | |||
| | |||
;run; | |||
| | |||
|- | |||
| | |||
:%PUT |; | |||
| | |||
|- | |||
| | |||
:%PUT &XPATH.&XENTRY.; | |||
| | |||
|- | |||
| | |||
:%LET dir =; | |||
| | |||
|- | |||
| | |||
;data _NULL_; | |||
| | |||
|- | |||
| | |||
: set dirs(where = (dir = "&XENTRY.")) end = EOF; | |||
| | |||
|- | |||
| | |||
:if EOF then call symput('dir',trim(left(put(_N_,8.)))); | |||
| | |||
|- | |||
| | |||
;run; | |||
| | |||
|- | |||
| | |||
;%IF &DIR. = 1 %THEN %DO; | |||
| | |||
|- | |||
| | |||
:%PUT +----; | |||
| | |||
|- | |||
| | |||
:%XDIR(&XPATH.&XENTRY.); | |||
| | |||
|- | |||
| | |||
:%PUT +----; | |||
| | |||
|- | |||
| | |||
;%END; | |||
| | |||
|- | |||
| | |||
;%ELSE %DO; | |||
| | |||
|- | |||
| | |||
;%IF %LENGTH(&ETYPE.) ne 0 %THEN %DO; | |||
| | |||
|- | |||
| | |||
;%IF %INDEX(%SCAN(&ETYPE.,2,_),%SCAN(&XENTRY,2,.)) != 0 %THEN %DO; | |||
| | |||
|- | |||
| | |||
:%GLOBAL windir; | |||
| | |||
|- | |||
| | |||
:%XSET(windir); | |||
| | |||
|- | |||
| | |||
:%PUT +----; | |||
| | |||
|- | |||
| | |||
:%PUT | File &XENTRY. opened in external editor WordPad.; | |||
| | |||
|- | |||
| | |||
:SYSTASK command "&WINDIR.\write.exe ""&XPATH.\&XENTRY."""; | |||
| | |||
|- | |||
| | |||
:%PUT +----; | |||
| | |||
|- | |||
| | |||
;%END; | |||
| | |||
|- | |||
| | |||
;%IF %INDEX(%SCAN(&ETYPE.,1,_),%SCAN(&XENTRY,2,.)) != 0 %THEN %DO; | |||
| | |||
|- | |||
| | |||
:%PUT +----; | |||
| | |||
|- | |||
| | |||
:%PUT | File &XENTRY. opened in SAS program editor window.; | |||
| | |||
|- | |||
| | |||
:%XEDIT(&XENTRY.,&XPATH.); | |||
| | |||
|- | |||
| | |||
:%PUT +----; | |||
| | |||
|- | |||
| | |||
;%END; | |||
| | |||
|- | |||
| | |||
;%END; | |||
| | |||
|- | |||
| | |||
;%END; | |||
| | |||
|- | |||
| | |||
;%END; | |||
| | |||
|- | |||
| | |||
;proc sql; | |||
| | |||
|- | |||
| | |||
:drop table dirs; | |||
| | |||
|- | |||
| | |||
:drop table entries; | |||
| | |||
|- | |||
| | |||
;quit; | |||
| | |||
|- | |||
| | |||
;filename entries clear; | |||
| | |||
|- | |||
| | |||
;filename dirs clear; | |||
| | |||
|- | |||
| | |||
;%MEND xamine; | |||
| | |||
|} | |||
{{SeitenNavigation1 | {{SeitenNavigation1 |
Version vom 31. Juli 2014, 15:36 Uhr
Code executed | Function performed |
---|---|
%MACRO xamine(xpath,etype); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|