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
- PROCEDURE Release__ (
- info_ OUT VARCHAR2,
- objid_ IN VARCHAR2,
- objversion_ IN OUT VARCHAR2,
- attr_ IN OUT VARCHAR2,
- action_ IN VARCHAR2 )
- IS
- rec_ PURCHASE_ORDER_TAB%ROWTYPE;
- BEGIN
- General_SYS.Init_Method(lu_name_, 'PURCHASE_ORDER_API', 'Release__');
- Client_SYS.Clear_Attr(attr_);
- IF (action_ = 'CHECK') THEN
- NULL;
- ELSIF (action_ = 'DO') THEN
- rec_ := Lock_By_Id___(objid_, objversion_);
- Finite_State_Machine___(rec_, 'Release', attr_);
- objversion_ := to_char(rec_.rowversion, 'YYYYMMDDHH24MISS');
- Finite_State_Add_To_Attr___(rec_, attr_);
- Purch_Order_Event_Creation_API.Purchase_Order_Released(rec_.order_no);
- END IF;
- info_ := Client_SYS.Get_All_Info;
- END Release__;
複製代碼
Purch_Order_Event_Creation_API.Purchase_Order_Released(rec_.order_no);
- PROCEDURE Purchase_Order_Released (
- order_no_ IN VARCHAR2 )
- IS
- msg_ VARCHAR2(2000);
- fnd_user_ VARCHAR2(30);
- vendor_no_ VARCHAR2(10);
- buyer_code_ VARCHAR2(20);
- temp_info_ VARCHAR2(2000);
- ptr_ NUMBER;
- name_ VARCHAR2(2000);
- value_ VARCHAR2(2000);
- CURSOR get_purorder_info IS
- SELECT vendor_no,
- buyer_code
- FROM PURCHASE_ORDER
- WHERE order_no = order_no_;
- BEGIN
- General_SYS.Init_Method(lu_name_, 'PURCH_ORDER_EVENT_CREATION_API', 'Purchase_Order_Released');
- IF (Event_SYS.Event_Enabled('PurchaseOrder', 'PURCHASE_ORDER_RELEASED')) THEN
- msg_ := Message_SYS.Construct('PURCHASE_ORDER_RELEASED');
- --
- -- Standard Event Parameters
- --
- fnd_user_ := Fnd_Session_API.Get_Fnd_User;
- Message_SYS.Add_Attribute( msg_, 'EVENT_DATETIME', Site_API.Get_Site_Date(Purchase_Order_API.Get_Contract(order_no_)));
- Message_SYS.Add_Attribute( msg_, 'USER_IDENTITY', fnd_user_);
- Message_SYS.Add_Attribute( msg_, 'USER_DESCRIPTION', Fnd_User_API.Get_Description(fnd_user_));
- Message_SYS.Add_Attribute( msg_, 'USER_MAIL_ADDRESS', Fnd_User_API.Get_Property(fnd_user_, 'SMTP_MAIL_ADDRESS'));
- Message_SYS.Add_Attribute( msg_, 'USER_MOBILE_PHONE', Fnd_User_API.Get_Property(fnd_user_, 'MOBILE_PHONE'));
- --
- -- Primary key for object
- --
- Message_SYS.Add_Attribute( msg_, 'ORDER_NO', order_no_);
- --
- -- Other important information
- --
- OPEN get_purorder_info;
- FETCH get_purorder_info INTO vendor_no_, buyer_code_;
- CLOSE get_purorder_info;
- Message_SYS.Add_Attribute( msg_, 'VENDOR_NO', vendor_no_);
- Message_SYS.Add_Attribute( msg_, 'VENDOR_NAME', Supplier_API.Get_Vendor_Name(vendor_no_));
- Message_SYS.Add_Attribute( msg_, 'VENDOR_MAIL_ADDRESS', Supplier_API.Get_Default_E_Mail(vendor_no_));
- Message_SYS.Add_Attribute( msg_, 'TOTAL_BASE_PRICE', Purchase_Order_API.Calc_Order_Total(order_no_));
- Message_SYS.Add_Attribute( msg_, 'BUYER_CODE', buyer_code_);
- Message_SYS.Add_Attribute( msg_, 'BUYER_NAME', Purchase_Buyer_API.Get_Name(buyer_code_));
- temp_info_ := Client_SYS.Get_All_Info();
- Event_SYS.Event_Execute('PurchaseOrder', 'PURCHASE_ORDER_RELEASED', msg_);
- IF (temp_info_ IS NOT NULL) THEN
- WHILE (Client_SYS.Get_Next_From_Attr(temp_info_, ptr_, name_, value_ )) LOOP
- Client_SYS.Add_Info(lu_name_, value_);
- END LOOP;
- END IF;
- END IF;
- 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
- PROCEDURE Action_Mail (
- mail_data_ IN VARCHAR2,
- msg_ IN VARCHAR2 )
- IS
- from_name_ VARCHAR2(2000);
- to_name_ VARCHAR2(2000);
- text_ VARCHAR2(32000);
- subject_ VARCHAR2(2000);
- attach_ VARCHAR2(2000);
- error_text_ VARCHAR2(2000);
- cc_ VARCHAR2(2000);
- timer_ VARCHAR2(2000);
- audit_ VARCHAR2(2000);
- from_alias_ VARCHAR2(2000);
- mail_ VARCHAR2(32000);
- BEGIN
- General_SYS.Init_Method(lu_name_, 'FND_EVENT_ACTION_API', 'Action_Mail');
- mail_ := Make_Message(mail_data_, msg_);
- -- FROM is not mandatory. Use Appowner if not stated.
- from_name_ := Message_SYS.Find_Attribute(mail_, 'FROM', Fnd_Session_API.Get_App_Owner);
- to_name_ := Set_Parameter(mail_, 'TO');
- text_ := Set_Parameter(mail_, 'MESSAGE');
- subject_ := Set_Parameter(mail_, 'SUBJECT');
- attach_ := Set_Parameter(mail_, 'ATTACH');
- Command_SYS.Mail(from_name_, to_name_, text_, error_text_, attach_, cc_,
- subject_, timer_, audit_, from_alias_);
- END Action_Mail;
複製代碼 |