%let pgmn=bd_03_001_wb_data_split [[redacted]]; /* (ai) */ %let pgm=&pgmn..sas ; /* No Date Change Required ** ** Inputs: ** [[ao]]_&yyyymm [ao] ** [[au]]_&yyyymm [au] ** ** Outputs: ** [[a]]_&yyyymm. [a] ** [[as]]_&yyyymm. [as] ** [[at]]_&yyyymm. [at] */ **********************************************************; %inc "[[r1]]" /source2; **********************************************************; %BDLIBS(ACCESS=WRITE ,MOUNT=WBTMP); %BDLIBS(ACCESS=WRITE ,MOUNT=BDFDR1); **********************************************************; %let eom_b = 20091130; %let eom_e = &mEOMYYYYMMDD; /* <<<<<<<<<<<< */ **********************************************************; %let where1=%str(/*exclude test accounts - use with caution*/ chd_spouse_name like '%TEST' or chd_spouse_name like '%TEST-%WELLS%' or chd_spouse_name like '%WELLS%FARGO%' or chd_spouse_name like '%WELLS FINANCIAL%' ); %macro common1; /*remove all sub-accounts records*/ if chd_sub_acct_cd in("I","C"); /*remove all individual billing records with a master control account*/ if ctl_cnt > 0 and chd_sub_acct_cd in("I") then delete; /*remove old lost/stolen records already transferred*/ if ( 0 < ind_reissue_cnt < ind_cnt ) and ( chd_acct_transfer_date >= '01-jan-1990'd ) then delete; /*exclude old converted accounts*/ if chd_upc_14 in(87,88,89,90) then delete; %mend; %macro pkg1; %let yyyymm=&maskyyyymm; data [[a]]_&yyyymm.(read=[[r3]]); merge [[ao]]_&yyyymm (READ=%STR([[r3]]) in=a) [[au]]_&yyyymm (READ=%STR([[r6]]) in=b) end = last; by [[r5]]; if a; abt201010 = (tape_date >= '08-oct-2010'd and chd_system_no= '5921' and chd_prin_bank in ('7350', '6550', '6520', '7380', '1380') and chd_agent_bank = '0000'); if CHD_UD_RPT1 in (%LWB_CHD_UD_RPT1_RSB) or abt201010; if abt201010 then do; [[r2]]16_b = [[r2]]16; end; %common1; run; data [[as]]_&yyyymm.(read=[[r3]]); merge [[ao]]_&yyyymm (READ=%STR([[r3]]) in=a) [[au]]_&yyyymm (READ=%STR([[r6]]) in=b) end = last; by [[r5]]; if a; if CHD_UD_RPT1 in (%LWB_CHD_UD_RPT1_CARD); %common1; run; data [[r4]]_&yyyymm.(read=[[r3]]); merge [[ao]]_&yyyymm (READ=%STR([[r3]]) in=a) [[au]]_&yyyymm (READ=%STR([[r6]]) in=b) end = last; by [[r5]]; if a; if CHD_UD_RPT1 in (%LWB_CHD_UD_RPT1_ICR); %common1; run; proc sql; delete from [[a]]_&yyyymm.(read=[[r3]]) where (&where1); quit; proc sql; delete from [[as]]_&yyyymm.(read=[[r3]]) where (&where1); quit; proc sql; delete from [[r4]]_&yyyymm.(read=[[r3]]) where (&where1); quit; %mend; ******************; * > start here < *; ******************; %mcDATEDIM(SELMASK=MASKYYYYMM,DSP=%STR(),DSS=%STR(), FROM=&eom_b,TO=&eom_e,MCALL=pkg1,LOOPOPTION=ENDOFMONTH);