• Purpuse: Risk control index by channel to SS
  • Data source: A01M
  • Edit by Brady in May. 2015

CLEAR ALL
CLEAR

SET SAFETY OFF

YR=SPACE(4)
MON=SPACE(2)
VYR=SPACE(6)
WAY=SPACE(1)

@ 13, 07 SAY ” Input Year (EX.2010) : ” FONT “Arial”,14 COLOR BG/W*
@ 13, 42 GET YR FONT “Arial”,12 COLOR B+/W*
@ 15, 07 SAY ” Input Month (EX.08) : ” FONT “Arial”,14 COLOR BG/W*
@ 15, 42 GET MON FONT “Arial”,12 COLOR B+/W*
@ 17, 07 SAY ” Input Valuaton Strat (EX.201501) : ” FONT “Arial”,14 COLOR BG/W*
@ 17, 63 GET VYR FONT “Arial”,12 COLOR B+/W*
@ 19, 07 SAY ” Input way (EX.1) : ” FONT “Arial”,14 COLOR BG/W*
@ 19, 42 GET WAY FONT “Arial”,12 COLOR B+/W* &&way=1; 契徹率,way=2;投資型占率,way=3;全部

READ

CYM=STR((VAL(YR)-1911)*100+VAL(MON),5)
?CYM
OPATH=”D:\企業精算部\01 – AUM and CF information\Risk Control Index\”+YR+MON+”\”

SELECT 0
USE “D:\foxpro data\A01M\A01M_”+CYM+”.DBF” ALIAS A01M
SELECT 0
USE “D:\foxpro data\F1819\F1819_”+CYM+”.DBF” ALIAS F1819

*=========== 計算契徹率 (開始)
IF WAY=”1″ OR WAY=”3″ THEN

SELECT CHDRNUM, CRTABLE, anbccd, LEFT(CRTABLE,3) AS PRODUCT, INT(HISSDATE/100) AS ISSUETIME, STSECT, STFUND, STATCODE, INSTBCHNL, CAMPAIGN, "             " AS LINE, 0 AS CFN FROM A01M WHERE;
    STFUND="M" AND !(CRTABLE="X" OR (CRTABLE="RP" AND RIGHT(CRTABLE,1)="2")) AND INT(HISSDATE/100)>=VAL(VYR) INTO TABLE OPATH+"AA.dbf"

SCAN  && 將各險種給予分類註記
    DO CASE
    CASE CRTABLE="G"
        REPLACE LINE WITH "NA"
    CASE (STSECT="AL" OR STSECT="LL") AND LEFT(CAMPAIGN,2)="KA" 
          REPLACE LINE WITH "FB_ILP"
    CASE (STSECT="AL" OR STSECT="LL") AND INSTBCHNL="BK" AND LEFT(CAMPAIGN,2)<>"KA" 
          REPLACE LINE WITH "OBK_ILP"
    CASE (STSECT="AL" OR STSECT="LL") AND INSTBCHNL="BR" 
          REPLACE LINE WITH "BR_ILP"

    CASE INSTBCHNL="TM" AND !(STSECT="AL" OR STSECT="LL")
        REPLACE LINE WITH "TM"
    CASE INSTBCHNL="IS" AND !(STSECT="AL" OR STSECT="LL")
        REPLACE LINE WITH "IS" 
    CASE LEFT(CAMPAIGN,2)="KA" AND INLIST(PRODUCT, "MT", "TS", "TL", "TE", "TF", "TG", "TH", "TK", "TM", "TN", "TO", "TP", "TQ", "TR", "TU", "TV", "TW", "TX") AND !(STSECT="AL" OR STSECT="LL") AND ! INLIST(PRODUCT, "TLJ") 
        REPLACE LINE WITH "FB_Mortgage"
    CASE LEFT(CAMPAIGN,2)="KA" AND INLIST(PRODUCT, "UL", "IS", "FU" ) AND !(STSECT="AL" OR STSECT="LL")
        REPLACE LINE WITH "NA"
    CASE LEFT(CAMPAIGN,2)="KA" AND !(STSECT="AL" OR STSECT="LL")
        REPLACE LINE WITH "FB_Insurance"
    OTHERWISE
        REPLACE LINE WITH "NA"
    ENDCASE
ENDSCAN
REPLACE CFN WITH 1 ALL FOR STATCODE="CF" &&給予契徹件註記
COPY TO OPATH+"CFRATE_wk"+YR+MON+".xls" XL5

SELECT LINE, SUM(CFN), COUNT(LINE) FROM AA GROUP BY 1 INTO TABLE OPATH+"CFRATE"+CYM
COPY TO OPATH+"CFRATE"+YR+MON+".xls" XL5

ENDIF

*=========== 計算契徹率(結束)

IF WAY=”2″ OR WAY=”3″ THEN

SELECT CHDRNUM, CRTABLE, LEFT(CRTABLE,3) AS PRODUCT, INT(HISSDATE/100) AS ISSUETIME, STSECT, STFUND, STATCODE, INSTBCHNL, CAMPAIGN, CNTCURR, PREMIUMB01, PREMIUMC FROM A01M WHERE;
    (STSECT="AL" OR STSECT="LL") INTO TABLE OPATH+"CC.dbf"

SCAN
    DO CASE
    CASE LEFT(CRTABLE,2)="XV"
        REPLACE CRTABLE WITH "V"+SUBSTR(CRTABLE, 3,1)+"S1"
        REPLACE PRODUCT WITH LEFT(CRTABLE,3)
        REPLACE STFUND WITH "M"
    CASE LEFT(CRTABLE,1)="X" AND (RIGHT(CRTABLE,2)="N1" OR RIGHT(CRTABLE,2)="A1")
        REPLACE CRTABLE WITH "L"+RIGHT(CRTABLE,3)
        REPLACE PRODUCT WITH LEFT(CRTABLE,3)
        REPLACE STFUND WITH "M"
    ENDCASE
ENDSCAN

SELECT CHDRNUM, CRTABLE, PRODUCT, ISSUETIME, STSECT, STFUND, STATCODE, INSTBCHNL, CAMPAIGN, CNTCURR, SUM(PREMIUMB01) AS PREM1, SUM(PREMIUMC) AS PREMC, VAL("                        ") AS AUM, VAL("                        ") AS P1NTD, VAL("                        ") AS PCNTD, VAL("                        ") AS AUMNTD, "      " AS LINE FROM CC ;
    GROUP BY  1,2,3,4,5,6,7,8,9,10,13,14 INTO TABLE OPATH+"DD.dbf"

SCAN  && 將各險種給予分類註記
    DO CASE
    CASE INSTBCHNL="TM"
        REPLACE LINE WITH "TM"
    CASE INSTBCHNL="IS"
        REPLACE LINE WITH "IS"
    CASE INSTBCHNL="BK"
        REPLACE LINE WITH LEFT(CAMPAIGN,2)
    CASE INSTBCHNL="BR"
        REPLACE LINE WITH LEFT(CAMPAIGN,6)
    OTHERWISE
        REPLACE LINE WITH "NA"
    ENDCASE
ENDSCAN

SELECT CHDRNUM, SUM(AV) AS AUM FROM F1819 GROUP BY 1 INTO TABLE OPATH+"EE.dbf"
CLOSE TABLES

SELE A
USE  OPATH+"EE.dbf"
INDEX ON CHDRNUM TAG KKK
SET ORDER TO KKK

SELE C
USE  OPATH+"currencyrate.DBF"
INDEX ON CNTCURR TAG YYY
SET ORDER TO YYY

SELE B
USE  OPATH+"DD.dbf"
SCAN
    STORE CHDRNUM TO KEY1  && 註記原幣帳戶價值
    SELE A
    DO CASE
    CASE SEEK("&key1")
        SELE B
        REPLACE AUM WITH A. AUM
    OTHERWISE
        SELE B
        REPLACE AUM WITH 0
    ENDCASE

    STORE CNTCURR TO KEY2 && 將保費、帳戶價值轉成台幣
    SELE C
    DO CASE
    CASE SEEK("&key2")
        SELE B
        REPLACE AUMNTD WITH AUM * C. RATE
        REPLACE P1NTD WITH PREM1 * C. RATE
        REPLACE PCNTD WITH PREMC * C. RATE
    OTHERWISE
        SELE B
        REPLACE AUMNTD WITH 0
        REPLACE P1NTD WITH 0
        REPLACE PCNTD WITH 0
    ENDCASE
ENDSCAN

SELECT LINE, INT(ISSUETIME/100) AS ISSUEYEAR, SUM(AUMNTD) AS AUM1, SUM(P1NTD+PCNTD) AS YTDP FROM DD GROUP BY 1,2 INTO TABLE OPATH+"AUM_by_effectyear_"+CYM
COPY TO OPATH+"AUM_by_effectyear_"+CYM+".xls" XL5

SELECT LINE, CRTABLE, COUNT(CHDRNUM) AS COUNTA, SUM(AUMNTD) AS AUM1, SUM(P1NTD+PCNTD) AS YTDP FROM DD GROUP BY 1,2 INTO TABLE OPATH+"AUM_by_plannam_"+CYM
COPY TO OPATH+"AUM_by_plannam_"+CYM+".xls" XL5

ENDIF