/****************************************************************/ /* */ /* NAME: R2COB3 */ /* TITLE: PROGRAM 'R2COB3', 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' */ /* */ /****************************************************************/ OPTIONS CHARCODE; /* DEBUG: BEGIN */ %LET CMT = *; &CMT OPTIONS NOTES SOURCE SOURCE2; &CMT PROC PRINT DATA=DICTNRY NOOBS; &CMT BY FILENAME NOTSORTED; &CMT VAR D_GRPID LEVEL NST_DPTH DATANAME USAGE PICTURE INFMT &CMT OCR_BASE ITM_DISP ATBYTE BYTES OCR_VAL RDF_NAME; &CMT RUN; &CMT PROC PRINT DATA=GROUP; &CMT VAR G_GRPID G_LVL G_NST G_NAM G_TYP G_AT G_LEN &CMT G_OCR G_RDF; &CMT RUN; /* DEBUG: END */ /***************************************************************/ /* UPDATE DICTIONARY WITH INFORMATION IN THE GROUP DATA SET. */ /***************************************************************/ PROC SORT DATA=GROUP; BY G_GRPID; DATA DICTNRY (KEEP=FILENAME LEVEL NST_DPTH DATANAME USAGE PICTURE INFMT OCR_BASE ITM_DISP ATBYTE BYTES OCR_VAL RDF_NAME); RETAIN DNOBS 1 GNOBS 1; GPTR = 1; DO DPTR = 1 TO DNOBS; SET DICTNRY POINT=DPTR NOBS=DNOBS; SET GROUP POINT=GPTR NOBS=GNOBS; IF D_GRPID = G_GRPID THEN DO; BYTES = G_LEN; GPTR + 1; END; /* IF D_GRPID = G_GRPID */ IF DATANAME NE '__##DUMMY_LEVEL_01__##DUMMY___' THEN OUTPUT; IF GPTR GT GNOBS THEN GPTR = GPTR - 1; END; /* DO I = 1 TO DNOBS */ STOP; /* DEBUG: BEGIN */ &CMT PROC PRINT DATA=DICTNRY; &CMT BY FILENAME NOTSORTED; &CMT ID LEVEL; &CMT VAR LEVEL NST_DPTH DATANAME USAGE PICTURE INFMT OCR_BASE &CMT ITM_DISP ATBYTE BYTES OCR_VAL RDF_NAME; &CMT RUN; &CMT OPTIONS NONOTES NOSOURCE NOSOURCE2; /* DEBUG: END */ OPTIONS NOCHARCODE; RUN; /* PROGRAM R2COB3 */