/****************************************************************/
 /*                                                              */
 /*    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 */