Untitled
unknown
plain_text
2 months ago
15 kB
9
Indexable
%MACRO DATAPULL(COUNTRY,CTR); /* Premium detaills getting pulled up*/ DATA &COUNTRY._PREMIUM; SET PRODLIB.WE_TPOLPRM_&COUNTRY.(KEEP=POLICY_NO RENL_CERT_NO EFF_DT_SEQ_NO COVERAGE_CD SCALC_PREM_AMT OCC_LIAB_AMT LOCATION_NO SECT_OBJ_NO RISK_OBJ_NO COV_OBJ_NO SECTION_CD RISK_CD); IF SUBSTR(PUT(EFF_DT_SEQ_NO,10.),1,4)>=2019 AND SUBSTR(PUT(EFF_DT_SEQ_NO,10.),1,4)<2026; EFF_DT=INPUT(SUBSTR(PUT(eff_dt_seq_no,10.),1,8),8.); KEY=COMPRESS(POLICY_NO||RENL_CERT_NO||EFF_DT_SEQ_NO); KEYCOV=COMPRESS(POLICY_NO||RENL_CERT_NO||EFF_DT_SEQ_NO||COVERAGE_CD); KEYDED=COMPRESS(POLICY_NO||RENL_CERT_NO||EFF_DT_SEQ_NO||LOCATION_NO||SECT_OBJ_NO||RISK_OBJ_NO); KEYCOMM=COMPRESS(POLICY_NO||RENL_CERT_NO||EFF_DT); KEYMMCP=COMPRESS(POLICY_NO||RENL_CERT_NO||EFF_DT_SEQ_NO||SECT_OBJ_NO||RISK_OBJ_NO||COV_OBJ_NO||SECTION_CD||RISK_CD||COVERAGE_CD); IF COMPRESS(COVERAGE_CD) <> ""; /*IF COMPRESS(POLICY_NO) IN ("HK22000049","0000033864","HK22011677");*/ RUN; /* MMCP details getting pulled up to map Property, Liability & WC*/ DATA MMCP; SET PRODLIB.WE_TCOVGOBJ_&COUNTRY.(KEEP=POLICY_NO RENL_CERT_NO EFF_DT_SEQ_NO MAJOR_LINE_CD MINOR_LINE_CD CLASS_PERIL_CD COVERAGE_CD COVG_OCC_LIAB_AMTRISK_OBJ_NO COV_OBJ_NO SECTION_CD RISK_CD SECT_OBJ_NO); IF SUBSTR(PUT(EFF_DT_SEQ_NO,10.),1,4)>=2019 AND SUBSTR(PUT(EFF_DT_SEQ_NO,10.),1,4)<2026; KEYMMCP=COMPRESS(POLICY_NO||RENL_CERT_NO||EFF_DT_SEQ_NO||SECT_OBJ_NO||RISK_OBJ_NO||COV_OBJ_NO||SECTION_CD||RISK_CD||COVERAGE_CD); /*IF COMPRESS(POLICY_NO) IN ("HK22000049","0000033864","HK22011677");*/ RUN; PROC SORT DATA=MMCP NODUP; BY _ALL_;RUN; PROC SQL; CREATE TABLE &COUNTRY._PREMIUM1 AS SELECT A.*, B.MAJOR_LINE_CD, B.MINOR_LINE_CD, B.CLASS_PERIL_CD, COMPRESS(MAJOR_LINE_CD||MINOR_LINE_CD||CLASS_PERIL_CD) AS MMCP FROM &COUNTRY._PREMIUM A LEFT JOIN MMCP B ON (A.KEYMMCP=B.KEYMMCP); QUIT; PROC SQL; CREATE TABLE &COUNTRY._PREMIUM2 AS SELECT A.*, B.CLASS FROM &COUNTRY._PREMIUM1 A LEFT JOIN LOOK.PACKAGE_MMCP B ON COMPRESS(A.MMCP)=COMPRESS(B.MMCP) ; QUIT; /*Currency, Insured name, share% details getting pulled*/ DATA &COUNTRY._DATE(DROP=POL_INCEPT_DATE POL_EXP_DATE); SET PRODLIB.WE_TPOLICY_&COUNTRY.(KEEP= POLICY_NO RENL_CERT_NO EFF_DT_SEQ_NO POL_INCEPT_DATE POL_EXP_DATE NATURE_OF_BUS CURRENCY_CD INSURED_NAME RENEWAL_FG POL_SIGND_LINE_PCT); IF YEAR(DATEPART(POL_INCEPT_DATE))>=2019 AND YEAR(DATEPART(POL_INCEPT_DATE))<2026; FORMAT REN_EFF_DT MMDDYY10.; FORMAT REN_EXP_DT MMDDYY10.; REN_EFF_DT=DATEPART(POL_INCEPT_DATE); REN_EXP_DT=DATEPART(POL_EXP_DATE); POL_SIGND_LINE_PCT=POL_SIGND_LINE_PCT/100; IF COMPRESS(NATURE_OF_BUS) = "" THEN DELETE; KEY=COMPRESS(POLICY_NO||RENL_CERT_NO||EFF_DT_SEQ_NO); /*IF COMPRESS(POLICY_NO) IN ("HK22000049","0000033864","HK22011677");*/ RUN; PROC SQL; CREATE TABLE &COUNTRY._COMBINED_1 AS SELECT A.*, B.INSURED_NAME, B.RENEWAL_FG, B.POL_SIGND_LINE_PCT, B.CURRENCY_CD, B.REN_EFF_DT, B.REN_EXP_DT, B.NATURE_OF_BUS FROM &COUNTRY._PREMIUM2 A LEFT JOIN &COUNTRY._DATE B ON COMPRESS(A.KEY)=COMPRESS(B.KEY) WHERE REN_EFF_DT <>. AND REN_EFF_DT>=&Data_Scope_Start. AND REN_EFF_DT<=&Data_Scope_End. ; RUN; /* Policy Cancellation details getting pulled*/ DATA &COUNTRY._CANCEL; SET PRODLIB.WE_TPOLKEY_&COUNTRY.; IF SUBSTR(PUT(EFF_DT_SEQ_NO,10.),1,4)>=2019 AND SUBSTR(PUT(EFF_DT_SEQ_NO,10.),1,4)<2026; KEY=COMPRESS(POLICY_NO||RENL_CERT_NO||EFF_DT_SEQ_NO); /*IF COMPRESS(POLICY_NO) IN ("HK22000049","0000033864","HK22011677");*/ RUN; PROC SQL; CREATE TABLE &COUNTRY._CANCEL1 AS SELECT A.POLICY_NO, A.RENL_CERT_NO, A.EFF_DT_SEQ_NO, A.record_type_cd AS RECORD_TYPE_CD, B.REN_EFF_DT, B.REN_EXP_DT FROM &COUNTRY._CANCEL A LEFT JOIN &COUNTRY._DATE B ON COMPRESS(A.KEY)=COMPRESS(B.KEY) ; RUN; PROC SORT DATA=&COUNTRY._CANCEL1 OUT=&COUNTRY._LIVE_CANCEL; BY POLICY_NO REN_EFF_DT EFF_DT_SEQ_NO; RUN; DATA &COUNTRY._LIVE_CANCEL_COMB; SET &COUNTRY._LIVE_CANCEL; BY POLICY_NO EFF_DT_SEQ_NO; IF LAST.EFF_DT_SEQ_NO; RUN; PROC SQL; CREATE TABLE &COUNTRY._COMBINED_2 AS SELECT A.*, B.RECORD_TYPE_CD FROM &COUNTRY._COMBINED_1 A LEFT JOIN &COUNTRY._LIVE_CANCEL_COMB B ON (A.POLICY_NO=B.POLICY_NO AND A.REN_EFF_DT=B.REN_EFF_DT AND A.renl_cert_no=B.renl_cert_no AND A.eff_dt_seq_no=B.eff_dt_seq_no) ; QUIT; /* Currency codewise currency name getting pulled*/ PROC SQL; CREATE TABLE WD_CURRENCY AS SELECT DISTINCT CURR_CODE_CD,CURR_CODE_NM FROM PRODLIB.WD_CURRENCY ; QUIT; PROC SORT DATA=WD_CURRENCY NODUPKEY; BY CURR_CODE_CD; RUN; PROC SQL; CREATE TABLE DATA.&COUNTRY._COMBINED_POL AS SELECT A.*, C.CURR_CODE_NM, B.CLASS FROM &COUNTRY._COMBINED_2 A LEFT JOIN WD_CURRENCY C ON (A.currency_cd)=(C.CURR_CODE_CD) LEFT JOIN LOOK.PACKAGE_MMCP B ON COMPRESS(A.MMCP)=COMPRESS(B.MMCP) ; QUIT; PROC DATASETS LIB=WORK NOLIST; DELETE &COUNTRY._PREMIUM &COUNTRY._DATE &COUNTRY._COMBINED_1 &COUNTRY._LIVE_CANCEL &COUNTRY._LIVE_CANCEL_COMB &COUNTRY._CANCEL1 &COUNTRY._CANCEL &COUNTRY._COMBINED_1 MMCP POL_DEDUCTIBLE &COUNTRY._COMBINED_2 WD_CURRENCY &COUNTRY._PREMIUM &COUNTRY._PREMIUM1 POL_COMMISSION WC_&COUNTRY._WAGES_3 &COUNTRY._PREMIUM2 WC_&COUNTRY._WAGES_11 WC_&COUNTRY._WAGES WC_&COUNTRY._WAGES_1 WC_WAGES_&COUNTRY. ;RUN; DATA &COUNTRY._PROPERTY; SET DATA.&COUNTRY._COMBINED_POL; IF CLASS="Property"; RUN; /* Deductibles details getting pulled*/ DATA POL_DEDUCTIBLE; SET PRODLIB.WE_TPOLDED_&COUNTRY.(KEEP=POLICY_NO RENL_CERT_NO EFF_DT_SEQ_NO DED_VALUE LOCATION_NO SECT_OBJ_NO RISK_OBJ_NO COV_OBJ_NO); IF SUBSTR(PUT(EFF_DT_SEQ_NO,10.),1,4)>=2019 AND SUBSTR(PUT(EFF_DT_SEQ_NO,10.),1,4)<2026; KEY=COMPRESS(POLICY_NO||RENL_CERT_NO||EFF_DT_SEQ_NO); KEYDED=COMPRESS(POLICY_NO||RENL_CERT_NO||EFF_DT_SEQ_NO||LOCATION_NO||SECT_OBJ_NO||RISK_OBJ_NO); /*IF COMPRESS(POLICY_NO) IN ("HK22000049","0000033864","HK22011677");*/ RUN; PROC SQL; CREATE TABLE &COUNTRY._PROPERTY1 AS SELECT A.POLICY_NO, A.REN_EFF_DT, A.REN_EXP_DT, A.INSURED_NAME, A.MAJOR_LINE_CD, A.MINOR_LINE_CD, A.CLASS_PERIL_CD, A.sect_obj_no, A.risk_obj_no, A.cov_obj_no, /*A.product_cd, */ A.section_cd, A.risk_cd, A.coverage_cd, A.MMCP, A.COVERAGE_CD, A.POL_SIGND_LINE_PCT, /*A.PRDR_COMM_VALUE,*/ A.CURR_CODE_NM, A.SCALC_PREM_AMT, A.OCC_LIAB_AMT, A.CLASS, A.RECORD_TYPE_CD, B.DED_VALUE FROM &COUNTRY._PROPERTY A LEFT JOIN POL_DEDUCTIBLE B ON (A.POLICY_NO=B.POLICY_NO AND A.RENL_CERT_NO=B.RENL_CERT_NO AND A.EFF_DT_SEQ_NO=B.EFF_DT_SEQ_NO AND A.LOCATION_NO=B.LOCATION_NO AND A.SECT_OBJ_NO=B.SECT_OBJ_NO AND A.RISK_OBJ_NO=B.RISK_OBJ_NO AND A.COV_OBJ_NO=B.COV_OBJ_NO) ; QUIT; DATA &COUNTRY._PROPERTY2; SET &COUNTRY._PROPERTY1; IF SCALC_PREM_AMT=0 THEN OCC_LIAB_AMT=0; IF SCALC_PREM_AMT<0 THEN OCC_LIAB_AMT=OCC_LIAB_AMT*-1; IF SCALC_PREM_AMT=0 THEN DED_VALUE=0; IF SCALC_PREM_AMT<0 THEN DED_VALUE=DED_VALUE*-1; KEY_GROUP=COMPRESS(POLICY_NO||"-"||Class||"-"||YEAR(REN_EFF_DT)||"-"||MONTH(REN_EFF_DT)||"-"||DAY(REN_EFF_DT)||"-"||risk_cd); RUN; PROC SQL; CREATE TABLE &COUNTRY._PROPERTY3 AS SELECT A.POLICY_NO, A.REN_EFF_DT, A.REN_EXP_DT, A.INSURED_NAME, A.MAJOR_LINE_CD, A.MINOR_LINE_CD, A.CLASS_PERIL_CD, A.MMCP, A.sect_obj_no, A.risk_obj_no, A.cov_obj_no, /*A.product_cd, */ A.section_cd, A.risk_cd, A.coverage_cd, A.COVERAGE_CD, A.POL_SIGND_LINE_PCT, /*A.PRDR_COMM_VALUE,*/ A.CURR_CODE_NM, A.CLASS, A.RECORD_TYPE_CD, A.KEY_GROUP, A.OCC_LIAB_AMT, SUM(A.SCALC_PREM_AMT) AS GWP, SUM(A.DED_VALUE) AS DEDUCTIBLE FROM &COUNTRY._PROPERTY2 A GROUP BY 1,2,3 ORDER BY KEY_GROUP ; QUIT; DATA &COUNTRY._PROPERTY4(DROP=KEY_GROUP); SET &COUNTRY._PROPERTY3; BY KEY_GROUP; IF FIRST.KEY_GROUP; RUN; PROC SQL; CREATE TABLE &COUNTRY._PROPERTY5 AS SELECT A.POLICY_NO, A.REN_EFF_DT, A.REN_EXP_DT, A.INSURED_NAME, A.MAJOR_LINE_CD, A.MINOR_LINE_CD, A.CLASS_PERIL_CD, A.MMCP, A.sect_obj_no, A.risk_obj_no, A.cov_obj_no, /*A.product_cd, */ A.section_cd, A.risk_cd, A.coverage_cd, A.COVERAGE_CD, A.POL_SIGND_LINE_PCT, /*A.PRDR_COMM_VALUE,*/ A.CURR_CODE_NM, A.CLASS, A.RECORD_TYPE_CD, CATX(POLICY_NO,"-",Class,"-",YEAR(REN_EFF_DT),"-",MONTH(REN_EFF_DT),"-",DAY(REN_EFF_DT)) AS KEY_GROUP, SUM(A.OCC_LIAB_AMT) AS LIMIT, A.GWP, A.DEDUCTIBLE FROM &COUNTRY._PROPERTY4 A GROUP BY 1,2,3 ; QUIT; PROC SORT DATA=&COUNTRY._PROPERTY5; BY KEY_GROUP; RUN; DATA &COUNTRY._PROPERTY_FINAL(DROP=KEY_GROUP); SET &COUNTRY._PROPERTY5; BY KEY_GROUP; IF FIRST.KEY_GROUP; RUN; PROC DATASETS LIB=WORK NOLIST; DELETE &COUNTRY._PROPERTY &COUNTRY._PROPERTY1 &COUNTRY._PROPERTY3 &COUNTRY._PROPERTY2 &COUNTRY._PROPERTY3 &COUNTRY._PROPERTY4 &COUNTRY._PROPERTY5 POL_DEDUCTIBLE;RUN; DATA &COUNTRY._LIABILITY; SET DATA.&COUNTRY._COMBINED_POL; IF CLASS="Liabilities"; KEY_LIAB=COMPRESS(sect_obj_no||risk_obj_no); KEY_GROUP=COMPRESS(POLICY_NO||"-"||Class||"-"||YEAR(REN_EFF_DT)||"-"||MONTH(REN_EFF_DT)||"-"||DAY(REN_EFF_DT)); RUN; PROC SQL; CREATE TABLE &COUNTRY._LIABILITY1 AS SELECT POLICY_NO AS POLICY_NO, REN_EFF_DT, REN_EXP_DT, INSURED_NAME, MAJOR_LINE_CD, MINOR_LINE_CD, CLASS_PERIL_CD, MMCP, SECTION_CD, COVERAGE_CD, POL_SIGND_LINE_PCT, /*PRDR_COMM_VALUE,*/ CURR_CODE_NM, SUM(SCALC_PREM_AMT) AS GWP, occ_liab_amt AS OCC_LIAB_AMT, /*DED_VALUE,*/ CLASS, KEY_GROUP, sect_obj_no AS SECT_OBJ_NO, RISK_OBJ_NO AS RISK_OBJ_NO, KEY_LIAB, RECORD_TYPE_CD FROM &COUNTRY._LIABILITY GROUP BY KEY_GROUP ORDER BY KEY_GROUP ; QUIT; PROC SORT DATA=&COUNTRY._LIABILITY1 OUT=&COUNTRY._LIABILITY2; BY POLICY_NO REN_EFF_DT REN_EXP_DT KEY_LIAB OCC_LIAB_AMT; RUN; DATA &COUNTRY._LIABILITY3; SET &COUNTRY._LIABILITY2; BY POLICY_NO REN_EFF_DT REN_EXP_DT KEY_LIAB OCC_LIAB_AMT; IF LAST.KEY_LIAB; RUN; PROC SQL; CREATE TABLE &COUNTRY._LIABILITY4 AS SELECT POLICY_NO, REN_EFF_DT, REN_EXP_DT, INSURED_NAME, MAJOR_LINE_CD, MINOR_LINE_CD, CLASS_PERIL_CD, MMCP, COVERAGE_CD, POL_SIGND_LINE_PCT, /*PRDR_COMM_VALUE,*/ CURR_CODE_NM, GWP, SUM(OCC_LIAB_AMT) AS LIMIT, /*SUM(DED_VALUE) AS DEDUCTIBLE,*/ CLASS, RECORD_TYPE_CD, KEY_GROUP FROM &COUNTRY._LIABILITY3 GROUP BY 1,2,3 ORDER BY 1,2,3 ; QUIT; PROC SORT DATA=&COUNTRY._LIABILITY4; BY POLICY_NO REN_EFF_DT REN_EFF_DT KEY_GROUP; RUN; DATA &COUNTRY._LIABILITY_FINAL; SET &COUNTRY._LIABILITY4; BY POLICY_NO REN_EFF_DT REN_EFF_DT KEY_GROUP; IF FIRST.KEY_GROUP; RUN; PROC DATASETS LIB=WORK NOLIST; DELETE &COUNTRY._LIABILITY &COUNTRY._LIABILITY1 &COUNTRY._LIABILITY2 &COUNTRY._LIABILITY3 &COUNTRY._LIABILITY4 ;RUN; DATA &COUNTRY._WC; SET DATA.&COUNTRY._COMBINED_POL; IF CLASS="Workers Comp"; KEY_GROUP=COMPRESS(POLICY_NO||"-"||Class||"-"||YEAR(REN_EFF_DT)||"-"||MONTH(REN_EFF_DT)||"-"||DAY(REN_EFF_DT)); RUN; /*Wages for WC details getting pulled*/ DATA WC_WAGES_&COUNTRY.; SET PRODLIB.WE_TPCASLTY_&COUNTRY.(KEEP=POLICY_NO RENL_CERT_NO EFF_DT_SEQ_NO LOCATION_NO SECT_OBJ_NO RISK_OBJ_NO EST_WAGES_AMT); IF SUBSTR(PUT(EFF_DT_SEQ_NO,10.),1,4)>=2019 AND SUBSTR(PUT(EFF_DT_SEQ_NO,10.),1,4)<2026; /*IF COMPRESS(POLICY_NO) IN ("HK22000049","0000033864","HK22011677");*/ RUN; PROC SQL; CREATE TABLE WC_&COUNTRY._WAGES_1 AS SELECT A.*, B.REN_EFF_DT, B.REN_EXP_DT, CATX(A.POLICY_NO,YEAR(B.REN_EFF_DT),MONTH(B.REN_EFF_DT),DAY(B.REN_EFF_DT)) AS KEY_WAGES FROM WC_WAGES_&COUNTRY. A LEFT JOIN &COUNTRY._WC B ON (A.POLICY_NO=B.POLICY_NO AND A.RENL_CERT_NO=B.RENL_CERT_NO AND A.EFF_DT_SEQ_NO=B.EFF_DT_SEQ_NO /*AND A.LOCATION_NO=B.LOCATION_NO AND A.SECT_OBJ_NO=B.SECT_OBJ_NO AND A.RISK_OBJ_NO=B.RISK_OBJ_NO*/) ; QUIT; PROC SORT DATA=WC_&COUNTRY._WAGES_1 NODUP; BY _ALL_ ; RUN; PROC SQL; CREATE TABLE WC_&COUNTRY._WAGES_2 AS SELECT POLICY_NO, REN_EFF_DT, REN_EXP_DT, RENL_CERT_NO, EFF_DT_SEQ_NO, LOCATION_NO, SECT_OBJ_NO, RISK_OBJ_NO, KEY_WAGES, SUM(EST_WAGES_AMT) AS WAGEROLL FROM WC_&COUNTRY._WAGES_1 GROUP BY 1,2,3,4,5 ; QUIT; PROC SORT DATA=WC_&COUNTRY._WAGES_2; BY POLICY_NO REN_EFF_DT REN_EXP_DT KEY_WAGES; RUN; DATA WC_&COUNTRY._WAGES_3; SET WC_&COUNTRY._WAGES_2; BY POLICY_NO REN_EFF_DT REN_EXP_DT KEY_WAGES; IF LAST.KEY_WAGES; RUN; PROC SQL; CREATE TABLE &COUNTRY._WC1 AS SELECT A.POLICY_NO, A.REN_EFF_DT, A.REN_EXP_DT, A.INSURED_NAME, A.MAJOR_LINE_CD, A.MINOR_LINE_CD, A.CLASS_PERIL_CD, A.MMCP, A.COVERAGE_CD, A.POL_SIGND_LINE_PCT, /*A.PRDR_COMM_VALUE,*/ A.CURR_CODE_NM, SUM(A.SCALC_PREM_AMT) AS GWP, A.CLASS, A.KEY_GROUP, A.RECORD_TYPE_CD, B.WAGEROLL FROM &COUNTRY._WC A LEFT JOIN WC_&COUNTRY._WAGES_3 B ON (A.POLICY_NO=B.POLICY_NO AND A.REN_EFF_DT=B.REN_EFF_DT AND A.REN_EXP_DT=B.REN_EXP_DT) GROUP BY KEY_GROUP ORDER BY KEY_GROUP ; QUIT; PROC SORT DATA=&COUNTRY._WC1; BY POLICY_NO REN_EFF_DT KEY_GROUP; RUN; DATA &COUNTRY._WC_FINAL(DROP=KEY_GROUP); SET &COUNTRY._WC1; BY POLICY_NO REN_EFF_DT KEY_GROUP; IF FIRST.KEY_GROUP; RUN; PROC DATASETS LIB=WORK NOLIST; DELETE &COUNTRY._WC &COUNTRY._WC1 &COUNTRY._WC2 &COUNTRY._WC3 WC_WAGES_&COUNTRY. WC_&COUNTRY._WAGES_1 WC_&COUNTRY._WAGES_2 WC_&COUNTRY._WAGES_3 ;RUN; DATA &COUNTRY._COMBINED_REN &COUNTRY._COMBINED_EXP; SET &COUNTRY._PROPERTY_FINAL &COUNTRY._LIABILITY_FINAL &COUNTRY._WC_FINAL ; KEY_JOIN_REN=COMPRESS(POLICY_NO||"-"||COVERAGE_CD||"-"||YEAR(REN_EFF_DT)||"-"||MONTH(REN_EFF_DT)||"-"||DAY(REN_EFF_DT)); KEY_JOIN_EXP=COMPRESS(POLICY_NO||"-"||COVERAGE_CD||"-"||YEAR(REN_EXP_DT)||"-"||MONTH(REN_EXP_DT)||"-"||DAY(REN_EXP_DT)); IF REN_EFF_DT>= &mydate. THEN OUTPUT &COUNTRY._COMBINED_REN; IF REN_EFF_DT<&mydate. THEN OUTPUT &COUNTRY._COMBINED_EXP; RUN; PROC SQL; CREATE TABLE &COUNTRY._POLICY_1 AS SELECT A.POLICY_NO AS REN_POLICY_NO, A.REN_EFF_DT, A.REN_EXP_DT, A.INSURED_NAME, A.MAJOR_LINE_CD, A.MINOR_LINE_CD, A.CLASS_PERIL_CD, A.MMCP, A.Class, A.COVERAGE_CD AS REN_COVERAGE_CD, A.POL_SIGND_LINE_PCT AS REN_AIG_SHARE_PC, /*A.PRDR_COMM_VALUE AS REN_COMM_PC,*/ A.CURR_CODE_NM AS REN_CURRENCY_NM, A.GWP AS REN_GWP_LOCAL_AM, A.LIMIT AS REN_AIG_LIMIT_AM, A.DEDUCTIBLE AS REN_DED_ATCH_AM, A.WAGEROLL AS REN_WC_WAGEROLL, B.POLICY_NO AS EXP_POLICY_NO, B.COVERAGE_CD AS EXP_COVERAGE_CD, B.REN_EFF_DT AS EXP_EFF_DT, B.REN_EXP_DT AS EXP_EXP_DT, B.POL_SIGND_LINE_PCT AS EXP_AIG_SHARE_PC, /*B.PRDR_COMM_VALUE AS EXP_COMM_PC,*/ B.CURR_CODE_NM AS EXP_CURRENCY_NM, B.GWP AS EXP_GWP_LOCAL_AM, B.LIMIT AS EXP_AIG_LIMIT_AM, B.DEDUCTIBLE AS EXP_DED_ATCH_AM, B.WAGEROLL AS EXP_WC_WAGEROLL, A.RECORD_TYPE_CD FROM &COUNTRY._COMBINED_REN A LEFT JOIN &COUNTRY._COMBINED_EXP B ON /*(A.POLICY_NO=B.POLICY_NO AND A.COVERAGE_CD=B.COVERAGE_CD AND A.Class=B.Class AND ABS(A.REN_EFF_DT-B.REN_EXP_DT)<=31)*/ (A.POLICY_NO=B.POLICY_NO AND A.Class=B.Class AND ABS(A.REN_EFF_DT-B.REN_EXP_DT)<=31) ; QUIT; DATA DATA.&COUNTRY._POLICY_&MONTH.(DROP=RECORD_TYPE_CD); SET &COUNTRY._POLICY_1; FORMAT NEW_RENEW_IN $CHAR20.; IF EXP_EFF_DT=. THEN NEW_RENEW_IN="New Business"; Else NEW_RENEW_IN="Renewal"; FORMAT BRANCH_NM $CHAR30.; BRANCH_NM=&CTR.; IF COMPRESS(UPCASE(RECORD_TYPE_CD))='X' THEN POL_LIVE_STATUS="Canceled"; ELSE POL_LIVE_STATUS="Live"; RUN; PROC DATASETS LIB=WORK NOLIST; DELETE &COUNTRY._POLICY_1 &COUNTRY._COMBINED_EXP &COUNTRY._COMBINED_REN;RUN; %MEND; %DATAPULL(HK,"Hong Kong"); %DATAPULL(ID,"Indoneshia"); %DATAPULL(ML,"Malaysia"); %DATAPULL(SG,"Singapore"); %DATAPULL(TH,"Thailand");
Editor is loading...
Leave a Comment