Presentator : Donald Ferreira Email  : donaldferreira@gmail.com Location  : BuZa Date  : 19th December 2005 Oracle E-Busin...
Agenda <ul><li>Introduction </li></ul><ul><li>Structure  </li></ul><ul><li>Advantages  (BuZa and Team) </li></ul><ul><li>Q...
Introduction What is Custom Library? Allows extensions and enforce business rules to Oracle Application without modifying ...
Donald Structure (Overall picture)- I CC.pll OKC.pll FND.pll COMMON.pll AP.pll AR.pll GL.pll PA.pll HR.pll CUSTOM.pll ( Cu...
Untouchable Library New Module Libraries Structure ( UNIX ) - II
Structure (  Forms 6 i  ) -  III $AU_TOP/resource $XXX_TOP/forms/US
Structure (Custom.pll Logic) -  IV CUSTOM.pll ( Custom Library) <ul><li>Declaration of Global Variables which can be used ...
Declaring all global variables app_short_name  VARCHAR2(2000)  DEFAULT  fnd_global.application_short_name; form_name  VARC...
XXBZ_CONNECTOR_CUSTOM.pll Structure (XXBZ_CONNECTOR_CUSTOM.pll Logic) -  V Calling extended libraries based on Modules   E...
Structure (XXBZ_CONNECTOR_CUSTOM.pll - code example) No PROCEDURE  event(event_name)  RETURN BOOLEAN IS --Declare variable...
CC.pll OKC.pll FND.pll COMMON.pll AP.pll AR.pll GL.pll PA.pll HR.pll Structure (Module Libraries Logic) - VI <ul><li>Basic...
Structure (Extended Libraries - code example) PROCEDURE event(event_name) BEGIN  IF  name_in( 'global.cform_name' ) =  'AR...
The Module Library’s Release Version Number from PVCS could be easily checked at a quick glance  in Oracle Appication by u...
Advantages <ul><li>Min. van Buitenlandse Zaken(BuZa) </li></ul><ul><li>Easy to use ,  based on  existing oracle tool  and ...
Q & A
Upcoming SlideShare
Loading in …5
×

Oracle E-Business Suite Custom Library New Look

3,325
-1

Published on

Oracle E-Business Suite Custom Library New Look

Published in: Business, Technology
2 Comments
5 Likes
Statistics
Notes
  • Custom pll refererence
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • It's best info.on new feature in R12
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
3,325
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
2
Likes
5
Embeds 0
No embeds

No notes for slide

Oracle E-Business Suite Custom Library New Look

  1. 1. Presentator : Donald Ferreira Email : donaldferreira@gmail.com Location : BuZa Date : 19th December 2005 Oracle E-Business Suite 11i Custom Library giving a New Look
  2. 2. Agenda <ul><li>Introduction </li></ul><ul><li>Structure </li></ul><ul><li>Advantages (BuZa and Team) </li></ul><ul><li>Q & A </li></ul><ul><li>Overall Picture </li></ul><ul><li>Unix </li></ul><ul><li>Forms </li></ul><ul><li>Libraries Logic Code example </li></ul><ul><li>Custom   </li></ul><ul><li>Connector   </li></ul><ul><li>Module   </li></ul>
  3. 3. Introduction What is Custom Library? Allows extensions and enforce business rules to Oracle Application without modifying the standard code. This is done using the Oracle development tool Oracle Forms 6i What is this presentation about? Re-engineering and transforming the existing business rules & process opportunities(Custom Library) into more structured and simplified solutions. A part of thi solution is already being implemented in production environment(PIRP) Who are the key players and benefiaries? ECC-Maatwerk Team, will play a key role in Re-engineering/ structuring of the Custom library. All the departments of EC i.e. Maatwerk, Kennisbeheer, Test team, TM, etc will benefit from this simplified solution.
  4. 4. Donald Structure (Overall picture)- I CC.pll OKC.pll FND.pll COMMON.pll AP.pll AR.pll GL.pll PA.pll HR.pll CUSTOM.pll ( Custom Library) CONNECTOR.pll
  5. 5. Untouchable Library New Module Libraries Structure ( UNIX ) - II
  6. 6. Structure ( Forms 6 i ) - III $AU_TOP/resource $XXX_TOP/forms/US
  7. 7. Structure (Custom.pll Logic) - IV CUSTOM.pll ( Custom Library) <ul><li>Declaration of Global Variables which can be used across all libraries </li></ul><ul><ul><li>Application Short Name (ASN) fnd_global.application_short_name </li></ul></ul><ul><ul><li>From Name (FRM) system.curremt_name </li></ul></ul><ul><ul><li>Block Name (BLK) system.cursor_block </li></ul></ul><ul><ul><li>Field Name (FLD) system.cursor_block </li></ul></ul><ul><li>Triggering the call to objects of xxbz_connector_custom.pll </li></ul><ul><ul><li>FUNCTION zoom  xxbz_connector_custom.zoom; </li></ul></ul><ul><ul><li>FUNCTION style  xxbz_connector_custom.style; </li></ul></ul><ul><ul><li>PROCEDURE event  xxbz_connector_custom.event; </li></ul></ul>
  8. 8. Declaring all global variables app_short_name VARCHAR2(2000) DEFAULT fnd_global.application_short_name; form_name VARCHAR2(2000) DEFAULT name_in('SYSTEM.CURRENT_FORM'); block_name VARCHAR2(2000) DEFAULT name_in('SYSTEM.CURSOR_BLOCK'); field_name VARCHAR2(2000) DEFAULT name_in(‘SYSTEM.CURSOR_FIELD’); Structure (Custom.pll – code example) CUSTOM.pll ( Custom Library) FUNCTION style(event_name) xxbz_connector_custom.style(event_name) END event; FUNCTION zoom xxbz_connector_custom.zoom END event; PROCEDURE event(event_name) RETURN BOOLEAN IS vapp_short_name VARCHAR2(2000) DEFAULT fnd_global.application_short_name; BEGIN default_value(‘1’, ‘global.capp_short_name’); default_value(‘1’, ‘global.cform_name’); default_value(‘1’, ‘global.cblock_name’); default_value(‘1’, ‘global.cfield_name’); copy(vapp_short_name, ‘global.capp_short_name’); copy(vform_name , ‘global.cform_name’); copy(vblock_name , ‘global.cblock_name’); copy(vfield_name , ‘global.cfield_name’); xxbz_connector_custom.event(event_name); END event;
  9. 9. XXBZ_CONNECTOR_CUSTOM.pll Structure (XXBZ_CONNECTOR_CUSTOM.pll Logic) - V Calling extended libraries based on Modules Each Oracle Applications Form is linked to an Application(Module). When a form is opened by the user/system/zoom/special menu, the global variable ASN will get it’s application short name that is attached to the form. Based on this value, the related module library will be called : For example: Form Invoked  Application Short Name(ASN)  Extended Library called IGCCENTR IGC xxbz_igc_custom.pll ARXTWMAI AR xxbz_ar_custom.pll PAXBUEBU PAX xxbz_pa_custom.pll <ul><li>Calling extended libraries ONLY when it is needed </li></ul><ul><li>Firing forms and block level triggers </li></ul><ul><li>(eg. When-New-Block-Instance, When-New-Record-Instance, When-New-Item-Instance, WVR, etc…) </li></ul><ul><li>Other standard events like : Special triggers, Zoom, etc.. </li></ul><ul><li>This can either be controlled at CUSTOM library or in the XXBZ_CONNECTOR_CUSTOM library </li></ul>
  10. 10. Structure (XXBZ_CONNECTOR_CUSTOM.pll - code example) No PROCEDURE event(event_name) RETURN BOOLEAN IS --Declare variables BEGIN -- 1. Oracle Receivables IF name_in(‘global.capp_short_name’) = 'AR' THEN xxbz_ar_custom.event(event_name); -- 2. Oracle Payables ELSIF name_in(‘global.capp_short_name’) = 'SQLAP' THEN xxbz_ap_custom.event(event_name); -- 3. General Ledger ELSIF name_in(‘global.capp_short_name’) = ‘GL' THEN xxbz_gl_custom.event(event_name); ELSIF ………… THEN ……… ……… END IF; END event; END IF; IF event_name IN (WNFI, WNBI, WNRI, WVR, SPECIAL n, etc…) THEN Enter BuZa Library, and call the related module library Oracle Forms Is firing trigger a standard Custom library trigger? Yes Exit
  11. 11. CC.pll OKC.pll FND.pll COMMON.pll AP.pll AR.pll GL.pll PA.pll HR.pll Structure (Module Libraries Logic) - VI <ul><li>Basic structure of the module library </li></ul><ul><ul><li>Seperate program unit for every Oracle Apps. FORM </li></ul></ul><ul><ul><li>Each program unit will be further divided into following activities: </li></ul></ul><ul><ul><ul><li>Form level activities </li></ul></ul></ul><ul><ul><ul><li>Event and Block level activities </li></ul></ul></ul><ul><ul><li>Quick and easy creation of new extended libraries by using pre-built templates </li></ul></ul><ul><ul><li>XXBZ_ <modulename> _CUSTOM.pll </li></ul></ul><ul><li>Re-usable library, for all module libraries </li></ul><ul><ul><li>Creation of a common re-usable library called XXBZ_COMMON_CUSTOM.pll </li></ul></ul><ul><ul><li>All re-usable code will be placed in this library which can be called from the extended libraries. </li></ul></ul><ul><ul><li>Some of the few reusable objects are for eg. : </li></ul></ul><ul><ul><ul><li>Setting up LOV’s </li></ul></ul></ul><ul><ul><ul><li>Creation of record groups </li></ul></ul></ul><ul><ul><ul><li>etc…. </li></ul></ul></ul>
  12. 12. Structure (Extended Libraries - code example) PROCEDURE event(event_name) BEGIN IF name_in( 'global.cform_name' ) = 'ARXTWMAI' THEN --Form level activities z_ARXTWMAI.form_level; --Start Block level activities IF name_in( 'global.cblock_name' ) = ‘TGW_HEADER' THEN z_ARXTWMAI.tgw_header; ELSIF name_in('global.cblock_name') = ‘TACC_ACC_ASSGN' THEN z_ARXTWMAI.tacc_acc_assgn; END IF; --End Block level activities ELSIF name_in( 'global.cform_name' ) = 'ARXCWMAI' THEN ……… . ……… . END IF; END event; PROCEDURE form_level BEGIN IF event_name = ‘WHEN-NEW-FORM-INSTANCE' THEN Perform Code for WNFI at form level; ELSIF event_name = ‘WHEN-NEW-BLOCK-INSTANCE' THEN Perform Code WNBI at form level; END IF; END; PROCEDURE TGW_HEADER BEGIN IF event_name = ‘WHEN-NEW-BLOCK-INSTANCE' THEN Perform Code for WNFI for the block; ELSIF event_name = ‘WHEN-NEW-ITEM-INSTANCE' THEN Perform Code WNBI for the block; END IF; END TGW_HEADER;
  13. 13. The Module Library’s Release Version Number from PVCS could be easily checked at a quick glance in Oracle Appication by using Help-About Oracle Applications Adding & Viewing Version history
  14. 14. Advantages <ul><li>Min. van Buitenlandse Zaken(BuZa) </li></ul><ul><li>Easy to use , based on existing oracle tool and technique. </li></ul><ul><li>Use of internal man power/resources . </li></ul><ul><li>To be re-engineered In-house(ECC-Maatwerk). </li></ul><ul><li>Structured and simplified solution . </li></ul><ul><li>Cost effective and Low maintainance . </li></ul><ul><li>Enhance auditable controls on extended module libraries. </li></ul><ul><li>ECC-Maatwerk </li></ul><ul><li>Enforce BuZa coding procedures & standards . </li></ul><ul><li>Knowledge sharing & monitor to improve . </li></ul><ul><li>Circulation of knowledge within maatwerk , easily passed on to new </li></ul><ul><li>team members. </li></ul><ul><li>Increase productivity as problems can be quickly identified & </li></ul><ul><li>resolved </li></ul><ul><li>Re-usable code thru common library (XXBZ_COMMON_CUSTOM.pll) , </li></ul><ul><li>thereby reducing development time . </li></ul><ul><li>Encourage and motivate new ideas within the team. </li></ul><ul><li>Further strenghten up the team. </li></ul>
  15. 15. Q & A

×