Advertisement
liam_dao

5833

Feb 28th, 2021
3,712
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 6.96 KB | None | 0 0
  1. SELECT H.VOUCHER_NO,
  2.              H.VOUCHER_DATE,
  3.              H.CUSTOMER_CODE,
  4.              H.CURRENCY_CODE,
  5.              H.CUSTOMER_NAME,
  6.              H.PROJECT_NO,
  7.             H.SUBJECT,
  8.              H.DIRECTOR_CODE,
  9.              H.TEAM_LEADER_CODE,
  10.              H.DIRECTOR_NAME,
  11.              H.TEAM_LEADER_NAME,
  12.              H.SERVICE_CATEGORY_CODE,
  13.              H.SERVICE_CATEGORY_DESC,
  14.              H.SALES_TAX_CODE,
  15.              CASE WHEN LINE_ITEM_COUNT = 0 THEN H.TOTAL_AFTER_TAX_AMT ELSE H.TOTAL_AFTER_TAX_AMT/ LINE_ITEM_COUNT END AS TOTAL_AFTER_TAX_AMT,
  16.              CASE WHEN LINE_ITEM_COUNT = 0 THEN H.TOTAL_AFTER_TAX_HOME_AMT ELSE H.TOTAL_AFTER_TAX_HOME_AMT/ LINE_ITEM_COUNT END AS TOTAL_AFTER_TAX_HOME_AMT,
  17.              CASE WHEN LINE_ITEM_COUNT = 0 THEN H.TOTAL_SALES_TAX_HOME_AMT ELSE H.TOTAL_SALES_TAX_HOME_AMT/ LINE_ITEM_COUNT END AS TOTAL_SALES_TAX_HOME_AMT,
  18.              CASE WHEN LINE_ITEM_COUNT = 0 THEN H.TOTAL_PRE_TAX_HOME_AMT ELSE H.TOTAL_PRE_TAX_HOME_AMT/ LINE_ITEM_COUNT END AS TOTAL_PRE_TAX_HOME_AMT,
  19.              H.PRE_TAX_EXTENDED_HOME_AMT ,
  20.              H.PROJECT_FEE,
  21.              H.VOUCHER_TYPE
  22. FROM (SELECT H.INVOICE_NO VOUCHER_NO,
  23.              H.INVOICE_DATE VOUCHER_DATE,
  24.              H.BILLING_PARTY_CODE CUSTOMER_CODE,
  25.              H.CURRENCY_CODE,
  26.              MP.PARTY_NAME CUSTOMER_NAME,
  27.              COALESCE(H.PROJECT_NO, PI.PROJECT_NO) PROJECT_NO,
  28.              CASE
  29.                 WHEN COALESCE(PH.SUBJECT, '') = '' OR H.REMARKS IS NULL OR CAST(H.REMARKS AS VARCHAR(2000)) = '' THEN COALESCE(PH.SUBJECT, '') || COALESCE(CAST(H.REMARKS AS VARCHAR(2000)), '')
  30.                 ELSE COALESCE(PH.SUBJECT, '') || ' - ' || COALESCE(CAST(H.REMARKS AS VARCHAR(2000)), '')
  31.                 END AS SUBJECT,
  32.              DTL.DIRECTOR_CODE,
  33.              DTL.TEAM_LEADER_CODE,
  34.              ME.EMPLOYEE_NAME DIRECTOR_NAME,
  35.              ME2.EMPLOYEE_NAME TEAM_LEADER_NAME,
  36.              COALESCE(MBC.GL_ACC_CODE,'~~~~~OTHERS') AS SERVICE_CATEGORY_CODE,
  37.              COALESCE(MBC.GL_ACC_DESC,'Others') AS SERVICE_CATEGORY_DESC,
  38.              COALESCE(PI.SALES_TAX_CODE, H.SALES_TAX_CODE ) SALES_TAX_CODE,
  39.              COALESCE(PI.TOTAL_AFTER_TAX_AFT_RET, H.TOTAL_AFTER_TAX_AMT) TOTAL_AFTER_TAX_AMT,
  40.              COALESCE(PI.TOTAL_AFTER_TAX_HOME_AFT_RET, H.TOTAL_AFTER_TAX_HOME_AMT) TOTAL_AFTER_TAX_HOME_AMT,
  41.              COALESCE(PI.TOTAL_SALES_TAX_HOME_AFT_RET, H.TOTAL_SALES_TAX_HOME_AMT) TOTAL_SALES_TAX_HOME_AMT,
  42.              COALESCE(PI.TOTAL_PRE_TAX_HOME_AFT_RET, H.TOTAL_PRE_TAX_HOME_AMT) TOTAL_PRE_TAX_HOME_AMT,
  43.              D.PRE_TAX_EXTENDED_HOME_AMT,
  44.              PI.TOTAL_PRE_TAX_HOME_AFT_RET PROJECT_FEE,
  45.              1 VOUCHER_TYPE,
  46.              COALESCE((SELECT COUNT (*) FROM AR_INV_HST_DET DET WHERE H.INVOICE_NO = DET.INVOICE_NO), 1) LINE_ITEM_COUNT
  47.       FROM AR_INV_HST_HDR H
  48.         LEFT JOIN AR_INV_HST_DET D ON H.INVOICE_NO = D.INVOICE_NO
  49.         LEFT JOIN PJ_AR_INV_HST_HDR PI ON H.INVOICE_NO = PI.INVOICE_NO
  50.         LEFT OUTER JOIN MT_SALES_TAX ST ON D.SALES_TAX_CODE = ST.SALES_TAX_CODE
  51.         LEFT OUTER JOIN MT_PARTY MP ON H.BILLING_PARTY_CODE = MP.PARTY_CODE
  52.         LEFT OUTER JOIN PJ_EST_OST_HDR PH ON COALESCE(H.PROJECT_NO, PI.PROJECT_NO) = PH.PROJECT_NO
  53.         LEFT OUTER JOIN PJ_EST_OST_DIR_TEAM_LEAD DTL
  54.                      ON (PH.PROJECT_NO = DTL.PROJECT_NO
  55.                     AND H.INVOICE_DATE >= DTL.EFFECTIVE_DATE_FROM
  56.                     AND (H.INVOICE_DATE <= DTL.EFFECTIVE_DATE_TO
  57.                      OR DTL.EFFECTIVE_DATE_TO IS NULL))
  58.         LEFT OUTER JOIN MT_EMPLOYEE ME ON ME.EMPLOYEE_CODE = DTL.DIRECTOR_CODE
  59.         LEFT OUTER JOIN MT_EMPLOYEE ME2 ON ME2.EMPLOYEE_CODE = DTL.TEAM_LEADER_CODE
  60.         LEFT OUTER JOIN MT_SERVICE MS ON D.SERVICE_CODE = MS.SERVICE_CODE
  61.         LEFT OUTER JOIN MT_INVENTORY MI ON D.INVENTORY_CODE = MI.INVENTORY_CODE
  62.         LEFT OUTER JOIN MT_CHART_OF_ACC MBC ON MBC.GL_ACC_CODE = MS.SALES_GLAN
  63.       WHERE (H.YEAR_POSTED_TO*100 + H.PERIOD_POSTED_TO) BETWEEN ($P{FINANCIAL_YEAR_FROM}*100 + $P{FINANCIAL_PERIOD_FROM}) AND ($P{FINANCIAL_YEAR_TO}*100 + $P{FINANCIAL_PERIOD_TO})
  64.       UNION ALL
  65.       SELECT H.CREDIT_NOTE_NO VOUCHER_NO,
  66.              H.CREDIT_NOTE_DATE VOUCHER_DATE,
  67.              H.BILLING_PARTY_CODE CUSTOMER_CODE,
  68.              H.CURRENCY_CODE,
  69.              MP.PARTY_NAME CUSTOMER_NAME,
  70.              COALESCE(PC.PROJECT_NO, H.PROJECT_NO) PROJECT_NO,
  71.              CASE
  72.                 WHEN COALESCE(PH.SUBJECT, '') = '' OR H.REMARKS IS NULL OR CAST(H.REMARKS AS VARCHAR(2000)) = '' THEN COALESCE(PH.SUBJECT, '') || COALESCE(CAST(H.REMARKS AS VARCHAR(2000)), '')
  73.                 ELSE COALESCE(PH.SUBJECT, '') || ' - ' || COALESCE(CAST(H.REMARKS AS VARCHAR(2000)), '')
  74.                 END AS SUBJECT,
  75.              DTL.DIRECTOR_CODE,
  76.              DTL.TEAM_LEADER_CODE,
  77.              ME.EMPLOYEE_NAME DIRECTOR_NAME,
  78.              ME2.EMPLOYEE_NAME TEAM_LEADER_NAME,
  79.              COALESCE(MBC.GL_ACC_CODE,'~~~~~OTHERS') AS SERVICE_CATEGORY_CODE,
  80.              COALESCE(MBC.GL_ACC_DESC,'Others') AS SERVICE_CATEGORY_DESC,
  81.              COALESCE(H.SALES_TAX_CODE, PC.SALES_TAX_CODE ) SALES_TAX_CODE,
  82.              COALESCE(PC.TOTAL_AFTER_TAX_AFT_RET, H.TOTAL_AFTER_TAX_AMT) TOTAL_AFTER_TAX_AMT,
  83.              COALESCE(PC.TOTAL_AFTER_TAX_HOME_AFT_RET, H.TOTAL_AFTER_TAX_HOME_AMT) TOTAL_AFTER_TAX_HOME_AMT,
  84.              COALESCE(PC.TOTAL_SALES_TAX_HOME_AFT_RET, H.TOTAL_SALES_TAX_HOME_AMT) TOTAL_SALES_TAX_HOME_AMT,
  85.              COALESCE(PC.TOTAL_PRE_TAX_HOME_AFT_RET, H.TOTAL_PRE_TAX_HOME_AMT) TOTAL_PRE_TAX_HOME_AMT,
  86.              D.PRE_TAX_EXTENDED_HOME_AMT,
  87.              PC.TOTAL_PRE_TAX_HOME_AFT_RET PROJECT_FEE,
  88.              2 VOUCHER_TYPE,
  89.              COALESCE((SELECT COUNT (*) FROM AR_CRN_HST_DET DET WHERE H.CREDIT_NOTE_NO = DET.CREDIT_NOTE_NO),1) LINE_ITEM_COUNT
  90.       FROM AR_CRN_HST_HDR H
  91.         LEFT JOIN AR_CRN_HST_DET D ON H.CREDIT_NOTE_NO = D.CREDIT_NOTE_NO
  92.         LEFT JOIN PJ_AR_CRN_HST_HDR PC ON H.CREDIT_NOTE_NO = PC.CREDIT_NOTE_NO
  93.         LEFT OUTER JOIN MT_SALES_TAX ST ON D.SALES_TAX_CODE = ST.SALES_TAX_CODE
  94.         LEFT OUTER JOIN MT_PARTY MP ON H.BILLING_PARTY_CODE = MP.PARTY_CODE
  95.         LEFT OUTER JOIN PJ_EST_OST_HDR PH ON COALESCE(H.PROJECT_NO, PC.PROJECT_NO) = PH.PROJECT_NO
  96.         LEFT OUTER JOIN PJ_EST_OST_DIR_TEAM_LEAD DTL
  97.                      ON (PH.PROJECT_NO = DTL.PROJECT_NO
  98.                     AND H.CREDIT_NOTE_DATE >= DTL.EFFECTIVE_DATE_FROM
  99.                     AND (H.CREDIT_NOTE_DATE <= DTL.EFFECTIVE_DATE_TO
  100.                      OR DTL.EFFECTIVE_DATE_TO IS NULL))
  101.         LEFT OUTER JOIN MT_EMPLOYEE ME ON ME.EMPLOYEE_CODE = DTL.DIRECTOR_CODE
  102.         LEFT OUTER JOIN MT_EMPLOYEE ME2 ON ME2.EMPLOYEE_CODE = DTL.TEAM_LEADER_CODE
  103.         LEFT OUTER JOIN MT_SERVICE MS ON D.SERVICE_CODE = MS.SERVICE_CODE
  104.         LEFT OUTER JOIN MT_INVENTORY MI ON D.INVENTORY_CODE = MI.INVENTORY_CODE
  105.         LEFT OUTER JOIN MT_CHART_OF_ACC MBC ON MBC.GL_ACC_CODE = MS.SALES_GLAN
  106.       WHERE (H.YEAR_POSTED_TO*100 + H.PERIOD_POSTED_TO) BETWEEN ($P{FINANCIAL_YEAR_FROM}*100 + $P{FINANCIAL_PERIOD_FROM}) AND ($P{FINANCIAL_YEAR_TO}*100 + $P{FINANCIAL_PERIOD_TO})) H
  107. WHERE 1 = 1 $P!{__RPT__FILTER__PARAM}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement