Hi Fred,
As per your suggestion, I have written the below piece of code to accomplish the task.
Thank you for your help.
DATA DCOL;
KEEP DSN VOLSER;
INFILE DCOLLECT;
INPUT @5 RECTYPE $1.
@25 DSN $44.
@79 VOLSER $6. ;
IF RECTYPE = 'D';
********************************************************************
*** CREATE THE INPUT DATASET MISCLST FROM DCOLLECT MISCDSN MEMBER***
********************************************************************;
DATA MISCLST;
KEEP MISCDSN LEN;
INFILE LST;
INPUT @1 MISCDSN $44. ;
LEN = LENGTH(MISCDSN);
********************************************************************
*** JOIN DCOLLECT REPORT AND MISCDSN MEMBER ***
********************************************************************;
PROC SQL;
CREATE TABLE NEW_TABLE AS SELECT * FROM
(SELECT A.DSN, A.VOLSER
FROM DCOL A, MISCLST B
WHERE INDEX(A.DSN,(SUBSTR(B.MISCDSN,1,B.LEN))) > 0)
ORDER BY VOLSER
;
QUIT;
PROC PRINT DATA=NEW_TABLE;
DATA OUT;
SET NEW_TABLE;
FILE OUTDD;
PUT @1 DSN @46 VOLSER;