close

1.建立客制預設稅則function ex:XXOM_TAXASSIGN_PKG.OE_ORDER_LINE_DEF_TAX
/*預設客製參數
  FUNCTION OE_ORDER_LINE_DEF_TAX (
      p_database_object_name   IN   VARCHAR2,
      p_attribute_code         IN   VARCHAR2
   )
主要使用的ont package record
--package record value
--header
ont_header_def_hdlr.g_record
--line
ont_line_def_hdlr.g_record

*/
   /*2015/10/07 Nolem : 標準訂單tax_code : default dule 呼叫用,抓取預設tax code*/
   FUNCTION OE_ORDER_LINE_DEF_TAX (p_database_object_name IN VARCHAR2, p_attribute_code IN VARCHAR2)
      RETURN VARCHAR2
   AS
      l_get                    VARCHAR2 (1) := 'Y';
      l_tax_code               VARCHAR2 (50);
      l_error_msg              VARCHAR2 (2000);
      l_debug_level CONSTANT   NUMBER := oe_debug_pub.g_debug_level;
      L_ERR_TXNTYPE_MSG        VARCHAR2 (2000);
      L_SUBJECT                VARCHAR2 (200) := 'Oracle Alert - 訂單客戶無法取得稅率通知!';
      L_BODY                   VARCHAR2 (2000);
      L_MAIL                   VARCHAR2 (2000) := 'nolem@mail.yens.com.tw';
   BEGIN
      IF ont_header_def_hdlr.g_record.ORDER_CATEGORY_CODE = 'RETURN' AND (INTERNAL_CHECK_RMA_REF (l_tax_code)) THEN
         l_get := 'N';    --不可重抓,退貨型態參考 , l_tax_code 回填原出貨訂單tax_code
      ELSE
         l_get := 'Y';    --無參考或參考訂單不是一般訂單,可重抓
      END IF;
            L_BODY :=
                  '開發人員:Nolem 2015/10/28 Modified'
               || CHR (10)
               || '程式代碼:XXOM_TAXASSIGN_PKG.OE_ORDER_LINE_DEF_TAX'
               || CHR (10)
               || 'Header ATTRIBUTE20:'
               || ont_header_def_hdlr.g_record.ATTRIBUTE20      
               || CHR (10)                        
               || 'Header ORDER_NUMBER:'
               || ont_header_def_hdlr.g_record.ORDER_NUMBER      
               || CHR (10)               
               || 'Header HEADER_ID:'
               || ont_header_def_hdlr.g_record.HEADER_ID                       
               || CHR (10)               
               || 'Header SOLD_TO_ORG_ID:'
               || ont_header_def_hdlr.g_record.SOLD_TO_ORG_ID
               || CHR (10)                     
               || 'Line LINE_NUMBER:'
               || ont_line_def_hdlr.g_record.LINE_NUMBER
               || CHR (10)  
               || 'Line LINE_ID:'
               || ont_line_def_hdlr.g_record.LINE_ID
               || CHR (10)                 
               || 'Line LINE_CATEGORY_CODE:'
               || ont_line_def_hdlr.g_record.LINE_CATEGORY_CODE
               || CHR (10)                  
               || 'Line SCHEDULE_SHIP_DATE:'
               || to_char(ont_line_def_hdlr.g_record.SCHEDULE_SHIP_DATE,'YYYY/MM/DD HH24:MI:SS')  ;   
      IF ont_line_def_hdlr.g_record.INVENTORY_ITEM_ID IS NOT NULL AND l_get = 'Y' THEN
         GET_CUXID_TAX_CODE (ont_header_def_hdlr.g_record.SOLD_TO_ORG_ID, l_tax_code, l_error_msg);
         IF l_tax_code IS NULL THEN                                                               
            --modify by Nolem 20151018
                  L_BODY := L_BODY || chr(10) || '!!!!!錯誤!!!!!!:此訂單客戶無法取得稅則!' || chr(10) || '觸發時間:' || to_char(sysdate,'yyyy/mm/dd hh24:mis:ss') ;
                  XXFND_MAIL_PKG.EMAIL (P_ALERT_NAME   => 'XXOM_TAXASSIGN_PKG.OE_ORDER_LINE_DEF_TAX',
                                        P_ALERT_DESC   => L_SUBJECT,
                                        P_SUBJECT      => L_SUBJECT,
                                        P_TO           => L_MAIL,
                                        P_MESSAGE      => L_BODY);
         END IF;
      END IF;

      RETURN l_tax_code;
   EXCEPTION
      WHEN OTHERS THEN
         IF l_debug_level > 0 THEN
            oe_debug_pub.ADD ('Error in ORDER_LINE_DEF_TAX_CODE');
            oe_debug_pub.ADD ('Error :' || SUBSTR (SQLERRM, 1, 200));                    
         END IF;
         L_BODY := L_BODY || chr(10) || '!!!!!發生未知錯誤!!!!!!:' || SQLERRM ;
         XXFND_MAIL_PKG.EMAIL (P_ALERT_NAME   => 'XXOM_TAXASSIGN_PKG.OE_ORDER_LINE_DEF_TAX',
                               P_ALERT_DESC   => L_SUBJECT || SQLERRM ,
                                        P_SUBJECT      => L_SUBJECT|| SQLERRM ,
                                        P_TO           => L_MAIL,
                                        P_MESSAGE      => L_BODY);
         RETURN NULL;
   END OE_ORDER_LINE_DEF_TAX;
5.jpg

2.關閉系統預設稅則及相關連動解決客製稅則帶入被覆蓋問題
a.        關閉稅則預設
1.jpg
2.jpg
b.        建立客製預設稅則
3.jpg


3.OM 預設欄位連動相依   關閉稅則與需求日/定價日 , 稅則與倉儲 相依關閉  , 新增料號與稅則相依連動啟用
ONT_TOP/patch/115/sql/OEXEDEPB.pls 及 DB Package : OE_Dependencies_Extn
進入修改OEXEDEPB.pls 和OE_Dependencies_Extn  package  並變更增加版本號
版本變更
Spec
/* $Header: OEXEDEPS.pls 120.1001  2015/10/09 11:33:12 Nolem noship $ */
Body
/* $Header: OEXEDEPB.pls 120.1001  2015/10/09 11:33:12 Nolem noship $ */

在Body
   -- ELSIF p_entity_code = OE_GLOBALS.G_ENTITY_LINE THEN  明細行區段 增加連結關閉定義   
        --nolem add for tax_code by request_date connect with schedule_ship_date change .2015/10/02  
        x_extn_dep_tbl(l_index).source_attribute := OE_LINE_UTIL.G_REQUEST_DATE;
        x_extn_dep_tbl(l_index).dependent_attribute := OE_LINE_UTIL.G_TAX;
        x_extn_dep_tbl(l_index).enabled_flag := 'N';   
        l_index := l_index + 1;         

        --nolem add for tax_code by ship_from_org change . 2015/10/02  
        x_extn_dep_tbl(l_index).source_attribute := OE_LINE_UTIL.G_SHIP_FROM_ORG;
        x_extn_dep_tbl(l_index).dependent_attribute := OE_LINE_UTIL.G_TAX;
        x_extn_dep_tbl(l_index).enabled_flag := 'N';   
        l_index := l_index + 1;      

       --nolem add for tax_code by G_PRICING_DATE change . 2015/10/09
       x_extn_dep_tbl(l_index).source_attribute := OE_LINE_UTIL.G_PRICING_DATE;
       x_extn_dep_tbl(l_index).dependent_attribute := OE_LINE_UTIL.G_TAX;
       x_extn_dep_tbl(l_index).enabled_flag := 'N';
       l_index := l_index + 1;

     --nolem add for enabled tax_code default value by item changed . 2015/10/09
       x_extn_dep_tbl(l_index).source_attribute := OE_LINE_UTIL.G_INVENTORY_ITEM;
       x_extn_dep_tbl(l_index).dependent_attribute := OE_LINE_UTIL.G_TAX;
       x_extn_dep_tbl(l_index).enabled_flag := 'Y';
       l_index := l_index + 1;
4.jpg

arrow
arrow
    全站熱搜

    Nolem 發表在 痞客邦 留言(0) 人氣()