📄 prc_bs_fact_serv_fee_int.prc
字号:
prompt
prompt Creating procedure PRC_BS_FACT_SERV_FEE_INT
prompt ===========================================
prompt
create or replace procedure Prc_BS_FACT_SERV_FEE_INT
is
/*@COMMENT
|++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++|
|---创建-----------------------------------------------------------------|
| 创建时间: 2003 年 6 月 17 日
| 文件名 :
| 作者 :
| 地点 :
| 版本号 :
| 前序过程:
| 功能说明:生成业务费用异动基础事实表
| 参数说明:
|
| 功能标示列表:
|
| 功能调用顺序:
|
|
|--修改纪录--------------------------------------------------------------|
|+ 时间: 年 月 日
|+ 地点:
|+ 修改人:
|+ 修改原因:
|+
|+ 参数变动:
|+
|+ 修改结果:
|+
|+
|+ 修改功能标示列表:
|+
|+ 新增功能标示列表:
|+
|+
|+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++|
*/
lv_ProgramName MNGR.MNGR_AUDIT_TRAIL.PROGRAM_NAME%TYPE := 'Prc_bs_fact_serv_fee_int';
ln_Count NUMBER(5) := 0;
ln_YyyyMm NUMBER(6) ;
lv_begin VARCHAR2(20);
lv_END VARCHAR2(20);
ERR VARCHAR2(200);
ln_FACT_TOTAL_WAVING NUMBER(12,2); -- Y0 总费用峰谷差值
ln_FACT_TOTAL_WAVING_PREC NUMBER(12,2); -- Y0 总费用峰谷变化比例
ln_FACT_LOCAL_WAVING NUMBER(12,2); -- Y0 市话费波动量值
ln_FACT_AREA_WAVING NUMBER(12,2); -- Y0 区间费波动量值
ln_FACT_LONG_WAVING NUMBER(12,2); -- Y0 长话费波动量值
ln_FACT_IP_WAVING NUMBER(12,2); -- Y0 IP电话费用(元)
ln_FACT_NET_WAVING NUMBER(12,2); -- Y0 互联网费波动量值
ln_FACT_RENT_WAVING NUMBER(12,2); -- Y0 固定类费用波动量值
ln_FACT_OTHERS_WAVING NUMBER(12,2); -- Y0 其它费用波动量值
ln_FLUCT_PREC_ID NUMBER(6); --费用异动强度键值
ln_FLUCT_AVG_DATA_ID NUMBER(6); --三月平均费用档次键值
ln_FLUCT_WAVING_DATA_ID NUMBER(6); --三月平均费用档次键值
ln_FLUCT_TREND_ID NUMBER(6); --费用异动趋势键值;
LN_FACT_AVG_TOTAL_FEE NUMBER(12,2); --三月平均费用;
--@CUR_NAME 游标名称
--@CUR_REF 相关表
--@CUR_COM 功能说明
--@CUR_CON 查询条件说明
CURSOR CUR_3MONTH_FEE IS
SELECT
C.LATN_ID , --NUMBER(4) Y 本地网编号
C.SERV_ID , --NUMBER(10) Y 业务维键值
C.AREA_CODE , --VARCHAR2(9) Y 本地网区号
C.ACC_NBR , --VARCHAR2(20) Y 业务号码
C.SERV_STATE , --CHAR(3) Y 业务状态维键值
C.YEAR_MONTHLY_ID , --NUMBER(10) Y 时间维键值
C.EXCHANGE_ID , --NUMBER(4) Y 局向键值
C.SERV_TYPE_ID , --NUMBER(4) Y 设备类型维键值
C.BILLING_TYPE_ID , --NUMBER(4) Y 计费类型维键值
C.VIP_FLAG , --CHAR(1) Y 重要用户标志键值
C.CUST_CREDIT_ID , --NUMBER(4) Y 客户信用度键值
C.CUST_TYPE_ID , --NUMBER(4) Y 客户类型键值
C.CUST_GRADE_ID , --NUMBER(4) Y 客户服务类别键值
C.CUST_VALUE_ID , --NUMBER(4) Y 客户价值级别键值
C.FACT_SERV_NUM C_FACT_SERV_NUM , --NUMBER(10) Y 业务数量
A.FACT_TOTAL_FEE A_FACT_TOTAL_FEE , --NUMBER(12,2) Y0 总费用(元)
A.FACT_LOCAL_FEE A_FACT_LOCAL_FEE , --NUMBER(12,2) Y0 市话费用(元)
A.FACT_AREA_FEE A_FACT_AREA_FEE , --NUMBER(12,2) Y0 区间通话费用(元)
A.FACT_LONG_FEE A_FACT_LONG_FEE , --NUMBER(12,2) Y0 传统长话费用(元)
A.FACT_IP_FEE A_FACT_IP_FEE , --NUMBER(12,2) Y0 IP电话费用(元)
A.FACT_NET_FEE A_FACT_NET_FEE , --NUMBER(12,2) Y0 互联网费用(元)
A.FACT_RENT_FEE A_FACT_RENT_FEE , --NUMBER(12,2) Y0 固定费用(元)
A.FACT_OTHERS_FEE A_FACT_OTHERS_FEE, --NUMBER(12,2) Y0 其它费用(元)
B.FACT_TOTAL_FEE B_FACT_TOTAL_FEE , --NUMBER(12,2) Y0 总费用(元)
B.FACT_LOCAL_FEE B_FACT_LOCAL_FEE , --NUMBER(12,2) Y0 市话费用(元)
B.FACT_AREA_FEE B_FACT_AREA_FEE , --NUMBER(12,2) Y0 区间通话费用(元)
B.FACT_LONG_FEE B_FACT_LONG_FEE , --NUMBER(12,2) Y0 传统长话费用(元)
B.FACT_IP_FEE B_FACT_IP_FEE , --NUMBER(12,2) Y0 IP电话费用(元)
B.FACT_NET_FEE B_FACT_NET_FEE , --NUMBER(12,2) Y0 互联网费用(元)
B.FACT_RENT_FEE B_FACT_RENT_FEE , --NUMBER(12,2) Y0 固定费用(元)
B.FACT_OTHERS_FEE B_FACT_OTHERS_FEE, --NUMBER(12,2) Y0 其它费用(元)
C.FACT_TOTAL_FEE C_FACT_TOTAL_FEE , --NUMBER(12,2) Y0 总费用(元)
C.FACT_LOCAL_FEE C_FACT_LOCAL_FEE , --NUMBER(12,2) Y0 市话费用(元)
C.FACT_AREA_FEE C_FACT_AREA_FEE , --NUMBER(12,2) Y0 区间通话费用(元)
C.FACT_LONG_FEE C_FACT_LONG_FEE , --NUMBER(12,2) Y0 传统长话费用(元)
C.FACT_IP_FEE C_FACT_IP_FEE , --NUMBER(12,2) Y0 IP电话费用(元)
C.FACT_NET_FEE C_FACT_NET_FEE , --NUMBER(12,2) Y0 互联网费用(元)
C.FACT_RENT_FEE C_FACT_RENT_FEE , --NUMBER(12,2) Y0 固定费用(元)
C.FACT_OTHERS_FEE C_FACT_OTHERS_FEE --NUMBER(12,2) Y0 其它费用(元)
FROM BASE.BS_FACT_SERV_FEE_FLUCT1 A,
BASE.BS_FACT_SERV_FEE_FLUCT2 B,
BASE.BS_FACT_SERV_FEE_FLUCT3 C
WHERE A.LATN_ID = B.LATN_ID
AND A.SERV_ID = B.SERV_ID
AND A.ACC_NBR = B.ACC_NBR
AND B.LATN_ID = C.LATN_ID
AND B.SERV_ID = C.SERV_ID
AND B.ACC_NBR = C.ACC_NBR;
--@CUR_ROW 游标行变量
ROW_CUR_3MONTH_FEE CUR_3MONTH_FEE%ROWTYPE;
BEGIN
-- get ETL monthly cycle parameter from MNGR.ETL_CYCLE.YEAR_MONTHLY_ID where MNGR.ETL_CYCLE.STATE = 'A'
SELECT YEAR_MONTHLY_ID,A.BEGIN_DAY, A.END_DAY INTO ln_YyyyMm,lv_begin,LV_END
FROM MNGR.MNGR_ETL_CYCLE A
WHERE STATE = 'A';
-- write Logging in Audit Trail and program_state
Prc_write_log(lv_ProgramName,'S');
--*****************************Begin Code Body**********************************
--清除脏数据
DELETE BASE.BS_FACT_SERV_FEE_FLUCT1 A
WHERE A.LATN_ID=-111 OR A.SERV_ID=-111
OR A.SERV_STATE IN ('F0E','F0H','F0X','F0F');
DELETE BASE.BS_FACT_SERV_FEE_FLUCT2 A
WHERE A.LATN_ID=-111 OR A.SERV_ID=-111
OR A.SERV_STATE IN ('F0E','F0H','F0X','F0F');
DELETE BASE.BS_FACT_SERV_FEE_FLUCT3 A
WHERE A.LATN_ID=-111 OR A.SERV_ID=-111
OR A.SERV_STATE IN ('F0E','F0H','F0X','F0F');
COMMIT;
--索引管理
--drop index
BEGIN
EXECUTE IMMEDIATE'DROP index base.IDX_BS_FACT_SERV_FEE1 ';
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
BEGIN
EXECUTE IMMEDIATE'DROP index base.IDX_BS_FACT_SERV_FEE2 ';
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
BEGIN
EXECUTE IMMEDIATE'DROP index base.IDX_BS_FACT_SERV_FEE3 ';
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
-- Create/Recreate indexes
EXECUTE IMMEDIATE' create index base.IDX_BS_FACT_SERV_FEE1 on BASE.BS_FACT_SERV_FEE_FLUCT1 (LATN_ID,SERV_ID,ACC_NBR) '
||' tablespace TBS_BASE_DEFAULT '
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -