VRM_REVISION_LINE_REV_ASSIGN_V
Details
-
Schema: FUSION
-
Object owner: VRM
-
Object type: VIEW
Columns
Name |
---|
SESSION_ID REVENUE_DOCUMENT_LINE_ID REVENUE_DOCUMENT_ID PREV_REVENUE_DOCUMENT_LINE_ID REQUEST_ID QUANTITY ACCOUNTING_DATE AMOUNT ACCOUNT_CLASS PERIOD_SET_NAME |
Query
SQL_Statement |
---|
SELECT /*+ ORDERED USE_NL(ctl,ragt,lgd,gps1,gps2,cma) INDEX RAGT (ar_revenue_assignments_gt_n1) */ RAGT.SESSION_ID , CTL.revenue_document_line_id , CTL.revenue_document_id , CTL.prev_revenue_document_line_id , CTL.REQUEST_ID , /* REQUEST_ID */ NVL(CTL.QUANTITY_CREDITED, CTL.QUANTITY_INVOICED) QUANTITY , /* QUANTITY */ NVL(LGD.ORIGINAL_ACCOUNTING_DATE, NVL(CMA.ACCOUNTING_DATE, NVL(RAGT.RULE_DATE, LEAST( (CTL.RULE_START_DATE - GPS1.START_DATE) + GPS2.START_DATE, GPS2.END_DATE , NVL(CTL.RULE_END_DATE, TO_DATE('31-12-4712','DD-MM-RRRR')) ) ) ) ) ACCOUNTING_DATE , /* GL DATE */ (CASE SUBSTR(RAGT.RULE_TYPE,1,1) WHEN 'A' THEN /* normal fixed or variable duration rule */ TO_NUMBER(NVL(LGD.AMOUNT, NVL(CMA.AMOUNT, CTL.EXTENDED_REVENUE_PRICE_AMOUNT * (RAGT.PERCENT / 100))) * DECODE(RAGT.ACCOUNT_CLASS, 'REV', 1, - 1)) WHEN 'P' THEN /* PPRR rule */ RAGT.PPRR_AMOUNT END) AMOUNT, /* AMOUNT */ RAGT.ACCOUNT_CLASS, /* ACCOUNT CLASS */ GPS1.PERIOD_SET_NAME /* PERIOD_SET NAME */ FROM VRM_REVENUE_DOC_LINES_ALL ctl, vrm_revenue_assignments_gt ragt, VRM_REV_DOC_LINE_SCHEDULES_ALL lgd, vrm_periods gps1, vrm_periods gps2, vrm_revision_line_amounts cma WHERE ctl.revenue_document_line_id = ragt.revenue_document_line_id AND ctl.document_line_id = cma.document_line_id(+) AND DECODE(ctl.autorule_complete_flag, NULL, DECODE(ctl.rule_duration_processed, -1, ctl.revenue_document_line_id, NULL), 'Y', DECODE(ctl.rule_duration_processed, -1, ctl.revenue_document_line_id, NULL), NULL) = lgd.revenue_document_line_id(+) AND 'N' = lgd.account_set_flag(+) AND 'REV' = lgd.account_class(+) AND DECODE(ctl.autorule_complete_flag, NULL, DECODE(ctl.rule_duration_processed, -1, gps1.rowid, gps2.rowid), gps2.rowid) = gps2.rowid AND DECODE(CMA.ACCOUNTING_DATE, NULL, gps2.rowid, gps1.rowid) = gps2.rowid AND gps2.period_set_name = gps1.period_set_name AND ragt.period_type = gps1.period_type AND gps2.period_type = gps1.period_type AND ctl.rule_start_date BETWEEN gps1.start_date AND gps1.end_date AND gps1.end_date BETWEEN ctl.rule_start_date AND ctl.rule_start_date + ragt.max_regular_period_length AND gps2.new_period_num = gps1.new_period_num + (ragt.period_number - 1) |