/****************************************************************/ /* */ /* NAME: R2COB7 */ /* TITLE: PROGRAM 'R2COB7', A PART OF 'COB2SAS, RELEASE 2' */ /* PRODUCT: SAS */ /* SYSTEM: CMS MVS VSE VMS */ /* DATA: COB2SAS, RELEASE 2 */ /* */ /* AUTHOR: TOM ZACK */ /* SUPPORT: TOM ZACK UPDATE: 22JUL90 */ /* REF: COB2SAS, RELEASE 2 DOCUMENTATION */ /* MISC: WHEN USING, INVOKE SAS WITH THE SYSTEM OPTIONS: */ /* 'DQUOTE MACRO' */ /* */ /****************************************************************/ /* THE CHARCODE OPTION IS SET SO THAT THE STRINGS, '?/?/', */ /* '?(', AND '?)' ARE PROPERLY INTERPRETED. */ OPTIONS CHARCODE; /* */ /* PRODUCE SAS LANGUAGE LABEL STATEMENTS. */ /* */ DATA _NULL_; /* */ /* THE CHARCODE OPTION IS SET SO THAT THE STRINGS, '?/?/', */ /* '?(', AND '?)' ARE PROPERLY INTERPRETED. */ /* */ IF _N_ = 1 THEN DO; SET SWITCHES; IF MAKE_LBL NE 'Y' THEN STOP; END; /* IF _N_ = 1 */ RETAIN PTR -1; RETAIN FIRSTIME 1; SET DICTNRY END=EOF; &FILE; IF (LEVEL = '01') OR (_N_ = 1) THEN DO; /* BEGIN A NEW SAS LABEL STATEMENT. */ IF FIRSTIME THEN DO; FIRSTIME = 0; PUT; PUT; END; /* FIRST TIME */ ELSE DO; /* NOT FIRST TIME */ PUT @6 ';'; PUT; END; /* NOT FIRST TIME */ PUT @3 '/* INFILE ' FILENAME ' */'; PUT @3 'LABEL'; END; /* AT LEVEL 01 */ ELSE DO; /* NOT AT LEVEL 01 */ /* STILL BUILDING THE CURRENT SAS LABEL STATEMENT. */ END; /* NOT AT LEVEL 01 */ /* IGNORE ENTRIES WITH USAGE EQUAL TO GROUP. */ IF (USAGE = 'GROUP') THEN DO; IF EOF THEN PUT @6 ';'; RETURN; END; /* IF (USAGE = 'GROUP') */ /* IF DEL_FLLR = 'Y', THEN IGNORE ENTRIES WITH 'FILLER'. */ IF (DEL_FLLR = 'Y') AND (DATANAME = 'FILLER') THEN DO; IF EOF THEN PUT @6 ';'; RETURN; END; /* IF (DEL_FLLR = 'Y') ETC. */ PUT @6 NEWNAME @15 '= ''' @18 DATANAME +PTR ''''; IF EOF THEN PUT @6 ';'; RUN; /* DATA _NULL_ */ /* THE NOCHARCODE OPTION IS SET SO THAT STRINGS LIKE, '?)', ARE */ /* NOT MISINTERPRETED. */ OPTIONS NOCHARCODE; RUN; /* PROGRAM R2COB7 */