設為首頁收藏本站

艾歐踢論壇

 找回密碼
 立即註冊

QQ登錄

只需一步,快速開始

搜索
熱搜: 活動 交友 discuz
查看: 881|回復: 0
打印 上一主題 下一主題

FND_EVENT 以 ('PURCHASE_ORDER_RELEASED'.'PurchaseOrder') 為例

[複製鏈接]
跳轉到指定樓層
樓主
發表於 2018-8-10 15:46:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
FND_EVENT: PURCHASE_ORDER_RELEASED'.'PurchaseOrder'
FND_EVENT_PARAMETER:
Name
Type
BUYER_CODE
STRING
BUYER_NAME
STRING
EVENT_DATETIME
DATETIME
ORDER_NO
STRING
TOTAL_BASE_PRICE
NUMBER
USER_DESCRIPTION
STRING
USER_IDENTITY
STRING
USER_MAIL_ADDRESS
STRING
USER_MOBILE_PHONE
STRING
VENDOR_MAIL_ADDRESS
STRING
VENDOR_NAME
STRING
VENDOR_NO
STRING
FND_EVENT_ACTION  


  1. PROCEDURE Release__ (
  2.    info_       OUT    VARCHAR2,
  3.    objid_      IN     VARCHAR2,
  4.    objversion_ IN OUT VARCHAR2,
  5.    attr_       IN OUT VARCHAR2,
  6.    action_     IN     VARCHAR2 )
  7. IS
  8.    rec_ PURCHASE_ORDER_TAB%ROWTYPE;
  9. BEGIN
  10.    General_SYS.Init_Method(lu_name_, 'PURCHASE_ORDER_API', 'Release__');
  11.    Client_SYS.Clear_Attr(attr_);
  12.    IF (action_ = 'CHECK') THEN
  13.       NULL;
  14.    ELSIF (action_ = 'DO') THEN
  15.       rec_ := Lock_By_Id___(objid_, objversion_);
  16.       Finite_State_Machine___(rec_, 'Release', attr_);
  17.       objversion_ := to_char(rec_.rowversion, 'YYYYMMDDHH24MISS');
  18.       Finite_State_Add_To_Attr___(rec_, attr_);
  19.       Purch_Order_Event_Creation_API.Purchase_Order_Released(rec_.order_no);
  20.    END IF;
  21.    info_ := Client_SYS.Get_All_Info;
  22. END Release__;
複製代碼


Purch_Order_Event_Creation_API.Purchase_Order_Released(rec_.order_no);

  1. PROCEDURE Purchase_Order_Released (
  2.    order_no_  IN VARCHAR2 )
  3. IS
  4.    msg_             VARCHAR2(2000);
  5.    fnd_user_        VARCHAR2(30);
  6.    vendor_no_       VARCHAR2(10);
  7.    buyer_code_      VARCHAR2(20);
  8.    temp_info_       VARCHAR2(2000);
  9.    ptr_             NUMBER;
  10.    name_            VARCHAR2(2000);
  11.    value_           VARCHAR2(2000);

  12.    CURSOR get_purorder_info IS
  13.       SELECT vendor_no,
  14.              buyer_code
  15.         FROM PURCHASE_ORDER
  16.        WHERE order_no = order_no_;

  17. BEGIN
  18.    General_SYS.Init_Method(lu_name_, 'PURCH_ORDER_EVENT_CREATION_API', 'Purchase_Order_Released');
  19.    IF (Event_SYS.Event_Enabled('PurchaseOrder', 'PURCHASE_ORDER_RELEASED')) THEN
  20.       msg_ := Message_SYS.Construct('PURCHASE_ORDER_RELEASED');
  21.       --
  22.       -- Standard Event Parameters
  23.       --
  24.       fnd_user_ := Fnd_Session_API.Get_Fnd_User;
  25.       Message_SYS.Add_Attribute( msg_, 'EVENT_DATETIME', Site_API.Get_Site_Date(Purchase_Order_API.Get_Contract(order_no_)));
  26.       Message_SYS.Add_Attribute( msg_, 'USER_IDENTITY', fnd_user_);
  27.       Message_SYS.Add_Attribute( msg_, 'USER_DESCRIPTION', Fnd_User_API.Get_Description(fnd_user_));
  28.       Message_SYS.Add_Attribute( msg_, 'USER_MAIL_ADDRESS', Fnd_User_API.Get_Property(fnd_user_, 'SMTP_MAIL_ADDRESS'));
  29.       Message_SYS.Add_Attribute( msg_, 'USER_MOBILE_PHONE', Fnd_User_API.Get_Property(fnd_user_, 'MOBILE_PHONE'));
  30.       --
  31.       -- Primary key for object
  32.       --
  33.       Message_SYS.Add_Attribute( msg_, 'ORDER_NO', order_no_);
  34.       --
  35.       -- Other important information
  36.       --
  37.       OPEN get_purorder_info;
  38.       FETCH get_purorder_info INTO vendor_no_, buyer_code_;
  39.       CLOSE get_purorder_info;

  40.       Message_SYS.Add_Attribute( msg_, 'VENDOR_NO', vendor_no_);
  41.       Message_SYS.Add_Attribute( msg_, 'VENDOR_NAME', Supplier_API.Get_Vendor_Name(vendor_no_));
  42.       Message_SYS.Add_Attribute( msg_, 'VENDOR_MAIL_ADDRESS', Supplier_API.Get_Default_E_Mail(vendor_no_));
  43.       Message_SYS.Add_Attribute( msg_, 'TOTAL_BASE_PRICE', Purchase_Order_API.Calc_Order_Total(order_no_));
  44.       Message_SYS.Add_Attribute( msg_, 'BUYER_CODE', buyer_code_);
  45.       Message_SYS.Add_Attribute( msg_, 'BUYER_NAME', Purchase_Buyer_API.Get_Name(buyer_code_));

  46.       temp_info_ := Client_SYS.Get_All_Info();

  47.       Event_SYS.Event_Execute('PurchaseOrder', 'PURCHASE_ORDER_RELEASED', msg_);

  48.       IF (temp_info_ IS NOT NULL) THEN
  49.          WHILE (Client_SYS.Get_Next_From_Attr(temp_info_, ptr_, name_, value_ )) LOOP
  50.             Client_SYS.Add_Info(lu_name_, value_);
  51.          END LOOP;
  52.       END IF;
  53.    END IF;
  54. END Purchase_Order_Released;
複製代碼


Event_SYS.Event_Execute('PurchaseOrder', 'PURCHASE_ORDER_RELEASED', msg_);



Fnd_Event_Action_API.Activate_Action(event_lu_name_, event_id_, my_rec_.action_number, formatted_data_);

--->fnd_event_action_api.action_mail ---->Command_SYS.Mail

  1. PROCEDURE Action_Mail (
  2.    mail_data_ IN VARCHAR2,
  3.    msg_       IN VARCHAR2 )
  4. IS
  5.    from_name_  VARCHAR2(2000);
  6.    to_name_    VARCHAR2(2000);
  7.    text_       VARCHAR2(32000);
  8.    subject_    VARCHAR2(2000);
  9.    attach_     VARCHAR2(2000);
  10.    error_text_ VARCHAR2(2000);
  11.    cc_         VARCHAR2(2000);
  12.    timer_      VARCHAR2(2000);
  13.    audit_      VARCHAR2(2000);
  14.    from_alias_ VARCHAR2(2000);
  15.    mail_       VARCHAR2(32000);
  16. BEGIN
  17.    General_SYS.Init_Method(lu_name_, 'FND_EVENT_ACTION_API', 'Action_Mail');
  18.    mail_      := Make_Message(mail_data_, msg_);
  19.    -- FROM is not mandatory. Use Appowner if not stated.
  20.    from_name_ := Message_SYS.Find_Attribute(mail_, 'FROM', Fnd_Session_API.Get_App_Owner);
  21.    to_name_   := Set_Parameter(mail_, 'TO');
  22.    text_      := Set_Parameter(mail_, 'MESSAGE');
  23.    subject_   := Set_Parameter(mail_, 'SUBJECT');
  24.    attach_    := Set_Parameter(mail_, 'ATTACH');
  25.    Command_SYS.Mail(from_name_,  to_name_,  text_, error_text_,  attach_,  cc_,
  26.                     subject_,  timer_, audit_,  from_alias_);
  27. END Action_Mail;
複製代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 轉播轉播 分享分享 分享淘帖
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

小黑屋|Archiver|手機版|艾歐踢創新工坊    

GMT+8, 2024-4-29 23:20 , Processed in 0.226568 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表