Presentation is loading. Please wait.

Presentation is loading. Please wait.

Inter-company Documents Module Extension Module Webinar 29 th of October 2009.

Similar presentations


Presentation on theme: "Inter-company Documents Module Extension Module Webinar 29 th of October 2009."— Presentation transcript:

1 Inter-company Documents Module Extension Module Webinar 29 th of October 2009

2 Page 2 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team Agenda Functionality and Demo10 min. Process and Tools10 min. Development Technique10 min. Q & A 30 min.

3 Page 3 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team Agenda Functionality and Demo Process and Tools Development Technique Q & A

4 Page 4 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team Goal: Automate the creation of matching documents for transactions between organizations of the same business group. Functional Highlights Functional Concepts: Different Inter-company documents (orders, invoices, new once) Bi-directional flows (sales documents could trigger purchase once and vice versa) and drill down Inter-company documents rules Solution Approach: Deliver as a Module Extension Points Feature Intercompany Documents

5 Page 5 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team DEMO Functional Highlights Intercompany Documents

6 Page 6 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team Agenda Functionality and Demo Process and Tools Development Technique Q & A

7 Page 7 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team Functional Design MODULE Process and Tools: from requirements to code Technial Design Test Plan User Manual

8 Page 8 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team DEMO Process and Tools: from requirements to code

9 Page 9 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team DEMO Process and Tools: from requirements to code

10 Page 10 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team Functionality and Demo Process and Tools Development Technique Q & A Agenda

11 Page 11 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team Development Technique: What is Extension Point? In general terms: A way to extend OB (core) procedures (without modifying them)

12 Page 12 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team Development Technique: What is Extension Point? A bit more technical: Trigger that can be set up in any PL Procedure and that can be activated from the extension module to call PL Procedures included in it Core Module Module N Module M

13 Page 13 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team Development Technique: Declaration of Extension Point Extension Points window in Application Dictionary Application Dictionary || Setup || Extension Points || Extension Point Description should include the list of parameters that will be available to the external procedures

14 Page 14 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team Development Technique: How to use Extension Point? Code external PL procedure following these rules: The procedure only has one input parameter Has to retrieve needed parameters that are available from “exchange” table It has to update the output parameters in the “exchange” table Possible exceptions are just raised Subscribe Module PL procedure to the Extension Point Declare the name of the Module procedure in AD AD || Setup || Extension Points || Extension Point | Procedures

15 Page 15 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team Development Approach --1 Only one input paramater with the instance of the extension point execution create or replace PROCEDURE INTERCO_CREATE_ORDER(p_ep_instance IN VARCHAR2)‏... BEGIN --2 Retrieve the parameters using Cur_Params cursor FOR Cur_Params IN ( SELECT * FROM ad_ep_instance_para WHERE ad_ep_instance_id = p_ep_instance) LOOP IF (cur_params.parametername LIKE 'DocAction') THEN p_docaction := Cur_Params.p_string;... END LOOP; p_message:='@INTERCO_ordCreated@' || v_DocumentNo; --3 Update the message output parameter to show the document number of the generated order. UPDATE ad_ep_instance_para SET p_text = (CASE WHEN p_text IS NULL OR p_text='' THEN p_message ELSE TO_CHAR(p_text) || ' '|| p_message END)‏ WHERE ad_ep_instance_id = p_ep_instance AND parametername LIKE 'Message'; --4 All exceptions all just raised EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('INTERCO_CREATE_ORDER exception') ; RAISE; END INTERCO_CREATE_ORDER; Inter-company example of a procedure called by an Extension Point

16 Page 16 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team Development Approach --1 Only one input paramater with the instance of the extension point execution create or replace PROCEDURE INTERCO_CREATE_ORDER(p_ep_instance IN VARCHAR2)‏... BEGIN --2 Retrieve the parameters using Cur_Params cursor FOR Cur_Params IN ( SELECT * FROM ad_ep_instance_para WHERE ad_ep_instance_id = p_ep_instance) LOOP IF (cur_params.parametername LIKE 'DocAction') THEN p_docaction := Cur_Params.p_string;... END LOOP; p_message:='@INTERCO_ordCreated@' || v_DocumentNo; --3 Update the message output parameter to show the document number of the generated order. UPDATE ad_ep_instance_para SET p_text = (CASE WHEN p_text IS NULL OR p_text='' THEN p_message ELSE TO_CHAR(p_text) || ' '|| p_message END)‏ WHERE ad_ep_instance_id = p_ep_instance AND parametername LIKE 'Message'; --4 All exceptions all just raised EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('INTERCO_CREATE_ORDER exception') ; RAISE; END INTERCO_CREATE_ORDER; Inter-company example of a procedure called by an Extension Point

17 Page 17 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team Development Approach --1 Only one input paramater with theinstance of the extension point execution create or replace PROCEDURE INTERCO_CREATE_ORDER(p_ep_instance IN VARCHAR2)‏... BEGIN --2 Retrieve the parameters using Cur_Params cursor FOR Cur_Params IN ( SELECT * FROM ad_ep_instance_para WHERE ad_ep_instance_id = p_ep_instance) LOOP IF (cur_params.parametername LIKE 'DocAction') THEN p_docaction := Cur_Params.p_string;... END LOOP; p_message:='@INTERCO_ordCreated@' || v_DocumentNo; --3 Update the message output parameter to show the document number of the generated order. UPDATE ad_ep_instance_para SET p_text = (CASE WHEN p_text IS NULL OR p_text='' THEN p_message ELSE TO_CHAR(p_text) || ' '|| p_message END)‏ WHERE ad_ep_instance_id = p_ep_instance AND parametername LIKE 'Message'; --4 All exceptions all just raised EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('INTERCO_CREATE_ORDER exception') ; RAISE; END INTERCO_CREATE_ORDER; Inter-company example of a procedure called by an Extension Point

18 Page 18 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team Development Approach --1 Only one input paramater with the instance of the extension point execution create or replace PROCEDURE INTERCO_CREATE_ORDER(p_ep_instance IN VARCHAR2)‏... BEGIN --2 Retrieve the parameters using Cur_Params cursor FOR Cur_Params IN ( SELECT * FROM ad_ep_instance_para WHERE ad_ep_instance_id = p_ep_instance) LOOP IF (cur_params.parametername LIKE 'DocAction') THEN p_docaction := Cur_Params.p_string;... END LOOP; p_message:='@INTERCO_ordCreated@' || v_DocumentNo; --3 Update the message output parameter to show the document number of the generated order. UPDATE ad_ep_instance_para SET p_text = (CASE WHEN p_text IS NULL OR p_text='' THEN p_message ELSE TO_CHAR(p_text) || ' '|| p_message END)‏ WHERE ad_ep_instance_id = p_ep_instance AND parametername LIKE 'Message'; --4 All exceptions all just raised EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('INTERCO_CREATE_ORDER exception') ; RAISE; END INTERCO_CREATE_ORDER; Inter-company example of a procedure called by an Extension Point

19 Page 19 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team Development Approach --1 Only one input paramater with the instance of the extension point execution create or replace PROCEDURE INTERCO_CREATE_ORDER(p_ep_instance IN VARCHAR2)‏... BEGIN --2 Retrieve the parameters using Cur_Params cursor FOR Cur_Params IN ( SELECT * FROM ad_ep_instance_para WHERE ad_ep_instance_id = p_ep_instance) LOOP IF (cur_params.parametername LIKE 'DocAction') THEN p_docaction := Cur_Params.p_string;... END LOOP; p_message:='@INTERCO_ordCreated@' || v_DocumentNo; --3 Update the message output parameter to show the document number of the generated order. UPDATE ad_ep_instance_para SET p_text = (CASE WHEN p_text IS NULL OR p_text='' THEN p_message ELSE TO_CHAR(p_text) || ' '|| p_message END)‏ WHERE ad_ep_instance_id = p_ep_instance AND parametername LIKE 'Message'; --4 All exceptions all just raised EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('INTERCO_CREATE_ORDER exception') ; RAISE; END INTERCO_CREATE_ORDER; Inter-company example of a procedure called by an Extension Point

20 Page 20 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team Development Technique: Extension Point Summary This new functionality bring us an improved flexibility on Processes, Orders and Invoice completion that have been hard to customize in previous versions of Openbravo ERP. Now available: Post process for Orders /C_Order_Post – Finish Process/ Post process for Invoices /C_Invoice_Post – Finish Process./

21 Page 21 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team Development Technique: Spread Extension Point Read our blog at: http://obdeving.wordpress.com/2009/10/27/extending-existing- procedures-at-openbravo/ Ideas wanted. Developers forums, Openbravo developers mailing list Issue tracker

22 Page 22 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team Functionality and Demo Wrap-Up Process and Tools Development Technique

23 Page 23 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team http://forge.openbravo.com/projects/intercompanyinvoicing http://wiki.openbravo.com/wiki/Functional_Specification_Style_Guide http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide Next webinar: Advanced Payments Module November 12 th 4-5 PM (CET) gorka.mauleon@openbravo.com gorkaion.damian@openbravo.com Q&A dmitry.mezentsev@openbravo.com

24 Page 24 Intercompany Documents Module Webinar-Openbravo, ERP Engineering Development Team


Download ppt "Inter-company Documents Module Extension Module Webinar 29 th of October 2009."

Similar presentations


Ads by Google