SlideShare une entreprise Scribd logo
1  sur  40
Developing a Real-World Logistic Application with Oracle Application Express Roel Hartman Software Architect / NL Lead Technical Architect Oracle
Agenda UKOUG 2008 04-12-2008 Introduction The Case Conclusions & Tips Q&A
Introduction 04-12-2008 UKOUG 2008 www.BloggingAboutOracle.org roelhartman.blogspot.com
Introduction Logica  (a word from our sponsors) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],No.  04-12-2008 UKOUG 2008
Introduction Logica  (another word from our sponsors) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],No.  04-12-2008 UKOUG 2008
The Client ,[object Object],[object Object],[object Object],No.  04-12-2008 UKOUG 2008
The Architecture No.  04-12-2008 UKOUG 2008 Accounts Payable/ Accounts Receivable  administration Internet Board computer software TMS Planning software Supply  C hain  Ma n a g emen t Traffic information Order acceptance  and  processing Communication manager Onboard computer E Supply chain m anagement Mob ile  internet Navigati on   system
The Application ,[object Object],[object Object],[object Object],No.  04-12-2008 UKOUG 2008
The Technical Environment No.  04-12-2008 UKOUG 2008 Oracle DB Definition  Files ,[object Object],[object Object],[object Object],[object Object],[object Object],Application  Processor Cache Application  Designer
So…what does the application look like? No.  04-12-2008 UKOUG 2008
No.  04-12-2008 UKOUG 2008
No.  04-12-2008 UKOUG 2008
No.  04-12-2008 UKOUG 2008
No.  04-12-2008 UKOUG 2008
Alternatives  No.  04-12-2008 UKOUG 2008 ++ +? ++ ++ UI ++ ++ ++ - Future ++ -/+ + + Knowledge -/+ ++ + + Productivity -/+ ++ -/+ - Costs + ++ + + Performance -/+ + + + Migration .Net APEX JDeveloper Oracle Forms
Proof of Concept ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],No.  04-12-2008 UKOUG 2008
Enhancement 1 : Direct Validation ,[object Object],[object Object],[object Object],No.  04-12-2008 UKOUG 2008 onchange=“javascript:check_value(this,'Check_Legal_Entity');” <script type=&quot;text/javascript&quot;> function check_value(object, pProcess) {  var get = new htmldb_Get(null,$v('pFlowId'),'APPLICATION_PROCESS='+pProcess,$v('pFlowStepId')); get.addParam('x01',$v(object)); gReturn = get.get(); if(gReturn){ alert(gReturn); } } </script> <script type=&quot;text/javascript&quot;> function checkValue(object, pProcess){ var lRequest = new apex.ajax.ondemand( pProcess, function(){ var l_s = p.readyState; if(l_s == 1||l_s == 2||l_s == 3){ } else if(l_s == 4){ gReturn = p.responseText; (gReturn)?myAlert(gReturn, object):null; }else{return false;} } ); lRequest.ajax.addParam('x01',$v(object)); lRequest._get();  } </script>
Enhancement 1 : Direct Validation ,[object Object],[object Object],[object Object],No.  04-12-2008 UKOUG 2008 declare dummy varchar2(1); l_ley_code legal_entity.legal_entity_code%type; begin l_ley_code := upper(wwv_flow.g_x01); if l_ley_code is null then htp.p('Legal Entity is required'); else select '1' into dummy from legal_entity where legal_entity_code = l_ley_code; end if; exception  when no_data_found  then htp.p('Legal Entity '||l_ley_code||' does not exists'); end begin ley_pck.check_value(upper(wwv_flow.g_x01)); end get.addParam('x01',$v(object)); gReturn = get.get();
Enhancement 2 : Calendar ,[object Object],[object Object],[object Object],[object Object],No.  04-12-2008 UKOUG 2008 $(function(){ // Attach a DatePicker icon and function to class=&quot;datefield&quot;  $(&quot;.datefield&quot;).datepicker( { dateFormat  : 'dd/mm/yy' , closeText  : 'X' , clearText  : '' , showAnim  : 'scale' , showOptions  : { origin: ['top', 'left'] } , showOn  : 'button' , buttonImage  : '#APP_IMAGES#calendar.gif' , buttonImageOnly : true }); });
Enhancement 3 : Show description when a code is entered ,[object Object],[object Object],No.  04-12-2008 UKOUG 2008 get_company_address(this,'LOAD');&quot; <script type=&quot;text/javascript&quot;> function get_company_address(object, pType){  var getter = new htmldb_Get(null,$v('pFlowId').value,'APPLICATION_PROCESS=Get_Company_Address',0); getter.addParam('x01',$v(object)); gReturn = getter.get(); var colArray = gReturn.split(&quot;~sep~&quot;,5); if (colArray[4]==undefined) {  alert(gReturn); } else { html_GetElement('P3_'+pType+'_NAME').value = colArray[0]; html_GetElement('P3_'+pType+'_ADRESS').value = colArray[1]; html_GetElement('P3_'+pType+'_COUNTRY_CODE').value = colArray[2]; html_GetElement('P3_'+pType+'_CITY_CODE').value = colArray[3]; html_GetElement('P3_'+pType+'_POSTCODE').value = colArray[4]; } } </script>
Enhancement 3 : Show description when a code is entered No.  04-12-2008 UKOUG 2008 4. Create an On Demand Application Process ‘Get_Company_Address’ Or even better: declare l_address varchar2(32000); l_sep  varchar2(10) := '~sep~'; l_code  address.adress_code%type; Begin l_code := upper(wwv_flow.g_x01); select name||l_sep||adress||l_sep||country_code||l_sep||city_name||l_sep||postcode into  l_address from  address where  adress_code = l_code; htp.p( l_address ); exception when no_data_found then htp.p('Address Code '||upper(v('ADDRESS_CODE'))||' does not exists'); when others then htp.p(sqlerrm); end begin ads_pck.get_address(upper(wwv_flow.g_x01)); end
Enhancement 3 : Show description when a code is entered (JSON) No.  04-12-2008 UKOUG 2008 declare l_value  varchar2(4000); l_ret_array  wwv_flow_global.vc_arr2; begin l_value := upper(wwv_flow.g_x01); -- Address Code if l_value is not null then for a in  ( select name||':'||adress||':'||country_code||':'||city_name||':'||postcode retval from address where adress_code = l_value  )  loop -- wwv_flow.g_f01(1..5) contains the return fields -- The selected string must be in the same order as the return fields l_ret_array := apex_util.string_to_table(a.retval); for i in 1..wwv_flow.g_f01.count loop apex_util.set_session_state(wwv_flow.g_f01(i), l_ret_array(i) ); end loop; apex_util.json_from_items(apex_util.table_to_string(wwv_flow.g_f01)); end loop; end if; end <script type=&quot;text/javascript&quot;> function getCompanyAddressJSON(object, pType){ if ($v(object)){ var lRequest = new apex.ajax.ondemand( 'getCompanyAddressJSON', function(){ var l_s = p.readyState; if(l_s == 1||l_s == 2||l_s == 3){ } else if(l_s == 4){ gReturn = p.responseText; if(gReturn){ json_SetItems(gReturn); } else{  myAlert('Adresscode '+$v(object)+' does not exist', object); } }else{return false;}  } ); lRequest.ajax.AddArray(['P3_UNLOAD_NAME','P3_UNLOAD_ADRESS','P3_UNLOAD_COUNTRY_CODE‘ ,'P3_UNLOAD_CITY_CODE','P3_UNLOAD_POSTCODE']); lRequest.ajax.addParam('x01',$v(object)); lRequest._get();  } } </script>
Enhancement 4 : LOV ,[object Object],[object Object],[object Object],[object Object],[object Object],No.  04-12-2008 UKOUG 2008 &nbsp;<a href=&quot;javascript:ShowLOV('#CURRENT_ITEM_NAME#', 'LOV_CUSTOMERS');&quot;> <img height=&quot;16&quot; width=&quot;16&quot; alt=&quot;Popup Lov&quot; src=&quot;/i/lov_16x16.gif&quot;/></a> return get_lov_query(v('LOV_NAME')); create or replace FUNCTION GET_LOV_QUERY ( p_lov_name IN lov_definitions.lov_name%type ) RETURN lov_definitions.lov_query%type AS l_query lov_definitions.lov_query%type; BEGIN select lov_query into  l_query from  lov_definitions where  lov_name = upper(p_lov_name); RETURN l_query; END GET_LOV_QUERY;
Enhancement 4 : LOV ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],create or replace FUNCTION GET_LOV_QUERY ( p_lov_item IN lov_items.lov_item%type ) RETURN lov_definitions.lov_query%type AS l_query lov_definitions.lov_query%type; BEGIN select lov_query into  l_query from  lov_definitions d, lov_items i where  i.lov_item = upper( p_lov_item ) and  i.lov_name = d.lov_name; RETURN l_query; END GET_LOV_QUERY; select legal_entity_code code, description, company_code company, le_language language, htf.anchor('javascript:passBack('''||legal_entity_code||''')', 'select') choose from  legal_entity  where  legal_entity_code like upper('%'||:P30_LOV_SEARCH||'%') or  description  like upper('%'||:P30_LOV_SEARCH||'%') or  company_code  like upper('%'||:P30_LOV_SEARCH||'%') or  le_language  like upper('%'||:P30_LOV_SEARCH||'%') // Attach a LOV icon and function to class=&quot;LOVfield&quot; $(&quot;.LOVfield&quot;).after('&nbsp;<img class=&quot;LOV-Image&quot; src=&quot;#APP_IMAGES#Search.png&quot; onclick=&quot;javascript:ShowLOV($(this));&quot; />'); No.  04-12-2008 UKOUG 2008 return get_lov_query(v('LOV_ITEM'));
Enhancement 4 : LOV ,[object Object],No.  04-12-2008 UKOUG 2008 javascript:ShowLOV($(this)); return get_lov_query(v('LOV_NAME')); jQuery : Add DIV containing LOV to page
No.  04-12-2008 UKOUG 2008 Enhancement 4 : LOV 7. Now you can easily define other draggable multi column LOV’s!
The Reaction No.  04-12-2008 UKOUG 2008 Can you do that in APEX too? BTW,  we also have a Java written graphical application,  tightly connected with the screens. Hey guys, this is really great! .
No.  04-12-2008 UKOUG 2008
Planboard in APEX : The Demo No.  04-12-2008 UKOUG 2008
Planboard in APEX : The Flow No.  04-12-2008 UKOUG 2008 Database APEX Planboard Flow Orders Trucks Planboard   View Reports Region 1 2
Planboard in APEX : The Reports Region No.  04-12-2008 UKOUG 2008 Normal Report Region Report Region with Containers div_id :  cont_<day>_<truck>
Planboard in APEX : The Reports Region No.  04-12-2008 UKOUG 2008 Normal Report Region Report Region with Containers div_id :  cont_<day>_<truck>  Report Region with Containers and Items div_id :  item_<day>_<order>
Planboard in APEX : The Reports Region No.  04-12-2008 UKOUG 2008 HTML Expression of every (day) column: <div id=&quot;#EQUIPMENT_NO#&quot; class=&quot;dndcontainer&quot; ><div id=&quot;#MON#&quot;>#MON#</div></div> <SCRIPT type=text/javascript> if ('#MON#' != ''){ $('##MON#').addClass('dndobject');  } </SCRIPT> Normal Report Region Report Region with Containers div_id :  #equipment_no# Report Region with Containers and Items div_id :  #MON#
Planboard in APEX : The Flow No.  04-12-2008 UKOUG 2008 Database APEX Planboard Flow Orders Trucks Planboard   View Reports Region Application Process Drag  &  Drop 1 2 3 4
Planboard in APEX : The Drag & Drop ,[object Object],[object Object],[object Object],No.  04-12-2008 UKOUG 2008
Planboard in APEX : The Flow No.  04-12-2008 UKOUG 2008 Database APEX Planboard Flow Orders Trucks Planboard   View Reports Region Application Process Drag  &  Drop 1 2 3 4
Planboard in APEX : Context Sensitive Right Mouse Menu No.  04-12-2008 UKOUG 2008 ,[object Object],[object Object],//Add mousedown function to Drag object $(&quot;.dndobject&quot;).rightClick( function(el) { setOrderMenuEntry($(el).attr(&quot;id&quot;)); }) ; lLink = &quot;f?p=&APP_ID.:3:&APP_SESSION.::::P3_ORDER_NO:&quot;+pNo; mainMenu.items.link.actionOnClick=&quot;code:html_PopUp('&quot;+lLink+&quot;','Orders‘,1000,800)&quot;; mainMenu.items.link.setDisplayText( &quot;Go to order &quot;+pNo);
Conclusions & Tips ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],No.  04-12-2008 UKOUG 2008
Question Time No.  04-12-2008 UKOUG 2008
Contact address:  [email_address] No.  04-12-2008 UKOUG 2008

Contenu connexe

Tendances

JavaScript Web Development
JavaScript Web DevelopmentJavaScript Web Development
JavaScript Web Developmentvito jeng
 
Testowanie JavaScript
Testowanie JavaScriptTestowanie JavaScript
Testowanie JavaScriptTomasz Bak
 
Integrating React.js with PHP projects
Integrating React.js with PHP projectsIntegrating React.js with PHP projects
Integrating React.js with PHP projectsIgnacio Martín
 
Min-Maxing Software Costs - Laracon EU 2015
Min-Maxing Software Costs - Laracon EU 2015Min-Maxing Software Costs - Laracon EU 2015
Min-Maxing Software Costs - Laracon EU 2015Konstantin Kudryashov
 
Reactive, component 그리고 angular2
Reactive, component 그리고  angular2Reactive, component 그리고  angular2
Reactive, component 그리고 angular2Jeado Ko
 
Reactive Programming - ReactFoo 2020 - Aziz Khambati
Reactive Programming - ReactFoo 2020 - Aziz KhambatiReactive Programming - ReactFoo 2020 - Aziz Khambati
Reactive Programming - ReactFoo 2020 - Aziz KhambatiAziz Khambati
 
Monads in javascript
Monads in javascriptMonads in javascript
Monads in javascriptJana Karceska
 
exportDisabledUsersRemoveMailbox
exportDisabledUsersRemoveMailboxexportDisabledUsersRemoveMailbox
exportDisabledUsersRemoveMailboxDaniel Gilhousen
 
Presentation of the new OpenERP API. Raphael Collet, OpenERP
Presentation of the new OpenERP API. Raphael Collet, OpenERPPresentation of the new OpenERP API. Raphael Collet, OpenERP
Presentation of the new OpenERP API. Raphael Collet, OpenERPOdoo
 
Introduction to CQRS and Event Sourcing
Introduction to CQRS and Event SourcingIntroduction to CQRS and Event Sourcing
Introduction to CQRS and Event SourcingSamuel ROZE
 
Template syntax in Angular 2.0
Template syntax in Angular 2.0Template syntax in Angular 2.0
Template syntax in Angular 2.0Eyal Vardi
 
Component lifecycle hooks in Angular 2.0
Component lifecycle hooks in Angular 2.0Component lifecycle hooks in Angular 2.0
Component lifecycle hooks in Angular 2.0Eyal Vardi
 
RESTful API using scalaz (3)
RESTful API using scalaz (3)RESTful API using scalaz (3)
RESTful API using scalaz (3)Yeshwanth Kumar
 
Higher-Order Components — Ilya Gelman
Higher-Order Components — Ilya GelmanHigher-Order Components — Ilya Gelman
Higher-Order Components — Ilya Gelman500Tech
 
When cqrs meets event sourcing
When cqrs meets event sourcingWhen cqrs meets event sourcing
When cqrs meets event sourcingManel Sellés
 
Intro to GraphQL on Android with Apollo DroidconNYC 2017
Intro to GraphQL on Android with Apollo DroidconNYC 2017Intro to GraphQL on Android with Apollo DroidconNYC 2017
Intro to GraphQL on Android with Apollo DroidconNYC 2017Mike Nakhimovich
 
SF Scala meet up, lighting talk: SPA -- Scala JDBC wrapper
SF Scala meet up, lighting talk: SPA -- Scala JDBC wrapperSF Scala meet up, lighting talk: SPA -- Scala JDBC wrapper
SF Scala meet up, lighting talk: SPA -- Scala JDBC wrapperChester Chen
 

Tendances (20)

JavaScript Web Development
JavaScript Web DevelopmentJavaScript Web Development
JavaScript Web Development
 
Testowanie JavaScript
Testowanie JavaScriptTestowanie JavaScript
Testowanie JavaScript
 
Integrating React.js with PHP projects
Integrating React.js with PHP projectsIntegrating React.js with PHP projects
Integrating React.js with PHP projects
 
Min-Maxing Software Costs - Laracon EU 2015
Min-Maxing Software Costs - Laracon EU 2015Min-Maxing Software Costs - Laracon EU 2015
Min-Maxing Software Costs - Laracon EU 2015
 
Reactive, component 그리고 angular2
Reactive, component 그리고  angular2Reactive, component 그리고  angular2
Reactive, component 그리고 angular2
 
Min-Maxing Software Costs
Min-Maxing Software CostsMin-Maxing Software Costs
Min-Maxing Software Costs
 
Reactive Programming - ReactFoo 2020 - Aziz Khambati
Reactive Programming - ReactFoo 2020 - Aziz KhambatiReactive Programming - ReactFoo 2020 - Aziz Khambati
Reactive Programming - ReactFoo 2020 - Aziz Khambati
 
Monads in javascript
Monads in javascriptMonads in javascript
Monads in javascript
 
exportDisabledUsersRemoveMailbox
exportDisabledUsersRemoveMailboxexportDisabledUsersRemoveMailbox
exportDisabledUsersRemoveMailbox
 
Presentation of the new OpenERP API. Raphael Collet, OpenERP
Presentation of the new OpenERP API. Raphael Collet, OpenERPPresentation of the new OpenERP API. Raphael Collet, OpenERP
Presentation of the new OpenERP API. Raphael Collet, OpenERP
 
Zend framework service
Zend framework serviceZend framework service
Zend framework service
 
Introduction to CQRS and Event Sourcing
Introduction to CQRS and Event SourcingIntroduction to CQRS and Event Sourcing
Introduction to CQRS and Event Sourcing
 
Template syntax in Angular 2.0
Template syntax in Angular 2.0Template syntax in Angular 2.0
Template syntax in Angular 2.0
 
Component lifecycle hooks in Angular 2.0
Component lifecycle hooks in Angular 2.0Component lifecycle hooks in Angular 2.0
Component lifecycle hooks in Angular 2.0
 
Nativescript angular
Nativescript angularNativescript angular
Nativescript angular
 
RESTful API using scalaz (3)
RESTful API using scalaz (3)RESTful API using scalaz (3)
RESTful API using scalaz (3)
 
Higher-Order Components — Ilya Gelman
Higher-Order Components — Ilya GelmanHigher-Order Components — Ilya Gelman
Higher-Order Components — Ilya Gelman
 
When cqrs meets event sourcing
When cqrs meets event sourcingWhen cqrs meets event sourcing
When cqrs meets event sourcing
 
Intro to GraphQL on Android with Apollo DroidconNYC 2017
Intro to GraphQL on Android with Apollo DroidconNYC 2017Intro to GraphQL on Android with Apollo DroidconNYC 2017
Intro to GraphQL on Android with Apollo DroidconNYC 2017
 
SF Scala meet up, lighting talk: SPA -- Scala JDBC wrapper
SF Scala meet up, lighting talk: SPA -- Scala JDBC wrapperSF Scala meet up, lighting talk: SPA -- Scala JDBC wrapper
SF Scala meet up, lighting talk: SPA -- Scala JDBC wrapper
 

En vedette

WebXpress 3PL Management
WebXpress 3PL ManagementWebXpress 3PL Management
WebXpress 3PL ManagementWebXpress.IN
 
Ten Tiny Things To Try Today - Hidden APEX5 Gems Revealed
Ten Tiny Things To Try Today - Hidden APEX5 Gems RevealedTen Tiny Things To Try Today - Hidden APEX5 Gems Revealed
Ten Tiny Things To Try Today - Hidden APEX5 Gems RevealedRoel Hartman
 
Best of both worlds: Create hybrid mobile applications with Oracle Applicatio...
Best of both worlds: Create hybrid mobile applications with Oracle Applicatio...Best of both worlds: Create hybrid mobile applications with Oracle Applicatio...
Best of both worlds: Create hybrid mobile applications with Oracle Applicatio...Roel Hartman
 
APEX printing with BI Publisher
APEX printing with BI PublisherAPEX printing with BI Publisher
APEX printing with BI PublisherRoel Hartman
 
Oracle Forms to APEX conversion tool
Oracle Forms to APEX conversion toolOracle Forms to APEX conversion tool
Oracle Forms to APEX conversion toolScott Wesley
 
G Log Transportation Mgmt V5.7
G Log Transportation Mgmt V5.7G Log Transportation Mgmt V5.7
G Log Transportation Mgmt V5.7K P Siva Prasad
 
Integration of APEX and Oracle Forms
Integration of APEX and Oracle FormsIntegration of APEX and Oracle Forms
Integration of APEX and Oracle FormsRoel Hartman
 
APEX Developers : Do More With LESS !
APEX Developers : Do More With LESS !APEX Developers : Do More With LESS !
APEX Developers : Do More With LESS !Roel Hartman
 
Troubleshooting APEX Performance Issues
Troubleshooting APEX Performance IssuesTroubleshooting APEX Performance Issues
Troubleshooting APEX Performance IssuesRoel Hartman
 
Automated testing APEX Applications
Automated testing APEX ApplicationsAutomated testing APEX Applications
Automated testing APEX ApplicationsRoel Hartman
 
Webinar: Oracle R12 Warehouse Management System (WMS) Overview
Webinar: Oracle R12 Warehouse Management System (WMS) OverviewWebinar: Oracle R12 Warehouse Management System (WMS) Overview
Webinar: Oracle R12 Warehouse Management System (WMS) OverviewiWare Logic Technologies Pvt. Ltd.
 
Logistics and Distribution Project - DTDC
Logistics and Distribution Project - DTDCLogistics and Distribution Project - DTDC
Logistics and Distribution Project - DTDCAvinash Heston
 
Third party logistics
Third party logisticsThird party logistics
Third party logisticsKuldeep Uttam
 
Mastering universal theme
Mastering universal themeMastering universal theme
Mastering universal themeRoel Hartman
 

En vedette (15)

WebXpress 3PL Management
WebXpress 3PL ManagementWebXpress 3PL Management
WebXpress 3PL Management
 
Ten Tiny Things To Try Today - Hidden APEX5 Gems Revealed
Ten Tiny Things To Try Today - Hidden APEX5 Gems RevealedTen Tiny Things To Try Today - Hidden APEX5 Gems Revealed
Ten Tiny Things To Try Today - Hidden APEX5 Gems Revealed
 
Finding a 3PL Partner
Finding a 3PL PartnerFinding a 3PL Partner
Finding a 3PL Partner
 
Best of both worlds: Create hybrid mobile applications with Oracle Applicatio...
Best of both worlds: Create hybrid mobile applications with Oracle Applicatio...Best of both worlds: Create hybrid mobile applications with Oracle Applicatio...
Best of both worlds: Create hybrid mobile applications with Oracle Applicatio...
 
APEX printing with BI Publisher
APEX printing with BI PublisherAPEX printing with BI Publisher
APEX printing with BI Publisher
 
Oracle Forms to APEX conversion tool
Oracle Forms to APEX conversion toolOracle Forms to APEX conversion tool
Oracle Forms to APEX conversion tool
 
G Log Transportation Mgmt V5.7
G Log Transportation Mgmt V5.7G Log Transportation Mgmt V5.7
G Log Transportation Mgmt V5.7
 
Integration of APEX and Oracle Forms
Integration of APEX and Oracle FormsIntegration of APEX and Oracle Forms
Integration of APEX and Oracle Forms
 
APEX Developers : Do More With LESS !
APEX Developers : Do More With LESS !APEX Developers : Do More With LESS !
APEX Developers : Do More With LESS !
 
Troubleshooting APEX Performance Issues
Troubleshooting APEX Performance IssuesTroubleshooting APEX Performance Issues
Troubleshooting APEX Performance Issues
 
Automated testing APEX Applications
Automated testing APEX ApplicationsAutomated testing APEX Applications
Automated testing APEX Applications
 
Webinar: Oracle R12 Warehouse Management System (WMS) Overview
Webinar: Oracle R12 Warehouse Management System (WMS) OverviewWebinar: Oracle R12 Warehouse Management System (WMS) Overview
Webinar: Oracle R12 Warehouse Management System (WMS) Overview
 
Logistics and Distribution Project - DTDC
Logistics and Distribution Project - DTDCLogistics and Distribution Project - DTDC
Logistics and Distribution Project - DTDC
 
Third party logistics
Third party logisticsThird party logistics
Third party logistics
 
Mastering universal theme
Mastering universal themeMastering universal theme
Mastering universal theme
 

Similaire à Developing A Real World Logistic Application With Oracle Application - UKOUG 2008

CiklumJavaSat_15112011:Alex Kruk VMForce
CiklumJavaSat_15112011:Alex Kruk VMForceCiklumJavaSat_15112011:Alex Kruk VMForce
CiklumJavaSat_15112011:Alex Kruk VMForceCiklum Ukraine
 
Yahoo Query Language: Select * from Internet
Yahoo Query Language: Select * from InternetYahoo Query Language: Select * from Internet
Yahoo Query Language: Select * from Internetdrgath
 
Interoperable Web Services with JAX-WS
Interoperable Web Services with JAX-WSInteroperable Web Services with JAX-WS
Interoperable Web Services with JAX-WSCarol McDonald
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)Carles Farré
 
Itemscript, a specification for RESTful JSON integration
Itemscript, a specification for RESTful JSON integrationItemscript, a specification for RESTful JSON integration
Itemscript, a specification for RESTful JSON integration{item:foo}
 
Html and i_phone_mobile-2
Html and i_phone_mobile-2Html and i_phone_mobile-2
Html and i_phone_mobile-2tonvanbart
 
Intro Open Social and Dashboards
Intro Open Social and DashboardsIntro Open Social and Dashboards
Intro Open Social and DashboardsAtlassian
 
Open Source Ajax Solution @OSDC.tw 2009
Open Source Ajax  Solution @OSDC.tw 2009Open Source Ajax  Solution @OSDC.tw 2009
Open Source Ajax Solution @OSDC.tw 2009Robbie Cheng
 
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)Michael Wales
 
Struts2
Struts2Struts2
Struts2yuvalb
 
Advisor Jumpstart: JavaScript
Advisor Jumpstart: JavaScriptAdvisor Jumpstart: JavaScript
Advisor Jumpstart: JavaScriptdominion
 
AJAX Workshop Notes
AJAX Workshop NotesAJAX Workshop Notes
AJAX Workshop NotesPamela Fox
 
Aug Xml Net Forum Dynamics Integration
Aug Xml Net Forum Dynamics IntegrationAug Xml Net Forum Dynamics Integration
Aug Xml Net Forum Dynamics IntegrationMariAnne Woehrle
 
Working effectively with legacy code
Working effectively with legacy codeWorking effectively with legacy code
Working effectively with legacy codeShriKant Vashishtha
 
Supersize me
Supersize meSupersize me
Supersize medominion
 
Tech_Implementation of Complex ITIM Workflows
Tech_Implementation of Complex ITIM WorkflowsTech_Implementation of Complex ITIM Workflows
Tech_Implementation of Complex ITIM Workflows51 lecture
 

Similaire à Developing A Real World Logistic Application With Oracle Application - UKOUG 2008 (20)

CiklumJavaSat_15112011:Alex Kruk VMForce
CiklumJavaSat_15112011:Alex Kruk VMForceCiklumJavaSat_15112011:Alex Kruk VMForce
CiklumJavaSat_15112011:Alex Kruk VMForce
 
Yahoo Query Language: Select * from Internet
Yahoo Query Language: Select * from InternetYahoo Query Language: Select * from Internet
Yahoo Query Language: Select * from Internet
 
Interoperable Web Services with JAX-WS
Interoperable Web Services with JAX-WSInteroperable Web Services with JAX-WS
Interoperable Web Services with JAX-WS
 
GWT
GWTGWT
GWT
 
Gooogle Web Toolkit
Gooogle Web ToolkitGooogle Web Toolkit
Gooogle Web Toolkit
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
 
YAP / Open Mail Overview
YAP / Open Mail OverviewYAP / Open Mail Overview
YAP / Open Mail Overview
 
Itemscript, a specification for RESTful JSON integration
Itemscript, a specification for RESTful JSON integrationItemscript, a specification for RESTful JSON integration
Itemscript, a specification for RESTful JSON integration
 
Html and i_phone_mobile-2
Html and i_phone_mobile-2Html and i_phone_mobile-2
Html and i_phone_mobile-2
 
Intro Open Social and Dashboards
Intro Open Social and DashboardsIntro Open Social and Dashboards
Intro Open Social and Dashboards
 
Open Source Ajax Solution @OSDC.tw 2009
Open Source Ajax  Solution @OSDC.tw 2009Open Source Ajax  Solution @OSDC.tw 2009
Open Source Ajax Solution @OSDC.tw 2009
 
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
 
Struts2
Struts2Struts2
Struts2
 
Advisor Jumpstart: JavaScript
Advisor Jumpstart: JavaScriptAdvisor Jumpstart: JavaScript
Advisor Jumpstart: JavaScript
 
AJAX Workshop Notes
AJAX Workshop NotesAJAX Workshop Notes
AJAX Workshop Notes
 
Aug Xml Net Forum Dynamics Integration
Aug Xml Net Forum Dynamics IntegrationAug Xml Net Forum Dynamics Integration
Aug Xml Net Forum Dynamics Integration
 
Working effectively with legacy code
Working effectively with legacy codeWorking effectively with legacy code
Working effectively with legacy code
 
Supersize me
Supersize meSupersize me
Supersize me
 
Web Scraping with PHP
Web Scraping with PHPWeb Scraping with PHP
Web Scraping with PHP
 
Tech_Implementation of Complex ITIM Workflows
Tech_Implementation of Complex ITIM WorkflowsTech_Implementation of Complex ITIM Workflows
Tech_Implementation of Complex ITIM Workflows
 

Plus de Roel Hartman

APEX Bad Practices
APEX Bad PracticesAPEX Bad Practices
APEX Bad PracticesRoel Hartman
 
Docker for Dummies
Docker for DummiesDocker for Dummies
Docker for DummiesRoel Hartman
 
A deep dive into APEX JET charts
A deep dive into APEX JET chartsA deep dive into APEX JET charts
A deep dive into APEX JET chartsRoel Hartman
 
5 Cool Things you can do with HTML5 and APEX
5 Cool Things you can do with HTML5 and APEX5 Cool Things you can do with HTML5 and APEX
5 Cool Things you can do with HTML5 and APEXRoel Hartman
 
Striving for Perfection: The Ultimate APEX Application Architecture
Striving for Perfection: The Ultimate APEX Application ArchitectureStriving for Perfection: The Ultimate APEX Application Architecture
Striving for Perfection: The Ultimate APEX Application ArchitectureRoel Hartman
 
XFILES, the APEX 4 version - The truth is in there
XFILES, the APEX 4 version - The truth is in thereXFILES, the APEX 4 version - The truth is in there
XFILES, the APEX 4 version - The truth is in thereRoel Hartman
 
Done in 60 seconds - Creating Web 2.0 applications made easy
Done in 60 seconds - Creating Web 2.0 applications made easyDone in 60 seconds - Creating Web 2.0 applications made easy
Done in 60 seconds - Creating Web 2.0 applications made easyRoel Hartman
 
Tales from a Parallel Universe: Using Oracle 11gR2's Edition Based Redefiniti...
Tales from a Parallel Universe: Using Oracle 11gR2's Edition Based Redefiniti...Tales from a Parallel Universe: Using Oracle 11gR2's Edition Based Redefiniti...
Tales from a Parallel Universe: Using Oracle 11gR2's Edition Based Redefiniti...Roel Hartman
 

Plus de Roel Hartman (9)

Wizard of ORDS
Wizard of ORDSWizard of ORDS
Wizard of ORDS
 
APEX Bad Practices
APEX Bad PracticesAPEX Bad Practices
APEX Bad Practices
 
Docker for Dummies
Docker for DummiesDocker for Dummies
Docker for Dummies
 
A deep dive into APEX JET charts
A deep dive into APEX JET chartsA deep dive into APEX JET charts
A deep dive into APEX JET charts
 
5 Cool Things you can do with HTML5 and APEX
5 Cool Things you can do with HTML5 and APEX5 Cool Things you can do with HTML5 and APEX
5 Cool Things you can do with HTML5 and APEX
 
Striving for Perfection: The Ultimate APEX Application Architecture
Striving for Perfection: The Ultimate APEX Application ArchitectureStriving for Perfection: The Ultimate APEX Application Architecture
Striving for Perfection: The Ultimate APEX Application Architecture
 
XFILES, the APEX 4 version - The truth is in there
XFILES, the APEX 4 version - The truth is in thereXFILES, the APEX 4 version - The truth is in there
XFILES, the APEX 4 version - The truth is in there
 
Done in 60 seconds - Creating Web 2.0 applications made easy
Done in 60 seconds - Creating Web 2.0 applications made easyDone in 60 seconds - Creating Web 2.0 applications made easy
Done in 60 seconds - Creating Web 2.0 applications made easy
 
Tales from a Parallel Universe: Using Oracle 11gR2's Edition Based Redefiniti...
Tales from a Parallel Universe: Using Oracle 11gR2's Edition Based Redefiniti...Tales from a Parallel Universe: Using Oracle 11gR2's Edition Based Redefiniti...
Tales from a Parallel Universe: Using Oracle 11gR2's Edition Based Redefiniti...
 

Dernier

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dashnarutouzumaki53779
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Dernier (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dash
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 

Developing A Real World Logistic Application With Oracle Application - UKOUG 2008

  • 1. Developing a Real-World Logistic Application with Oracle Application Express Roel Hartman Software Architect / NL Lead Technical Architect Oracle
  • 2. Agenda UKOUG 2008 04-12-2008 Introduction The Case Conclusions & Tips Q&A
  • 3. Introduction 04-12-2008 UKOUG 2008 www.BloggingAboutOracle.org roelhartman.blogspot.com
  • 4.
  • 5.
  • 6.
  • 7. The Architecture No. 04-12-2008 UKOUG 2008 Accounts Payable/ Accounts Receivable administration Internet Board computer software TMS Planning software Supply C hain Ma n a g emen t Traffic information Order acceptance and processing Communication manager Onboard computer E Supply chain m anagement Mob ile internet Navigati on system
  • 8.
  • 9.
  • 10. So…what does the application look like? No. 04-12-2008 UKOUG 2008
  • 11. No. 04-12-2008 UKOUG 2008
  • 12. No. 04-12-2008 UKOUG 2008
  • 13. No. 04-12-2008 UKOUG 2008
  • 14. No. 04-12-2008 UKOUG 2008
  • 15. Alternatives No. 04-12-2008 UKOUG 2008 ++ +? ++ ++ UI ++ ++ ++ - Future ++ -/+ + + Knowledge -/+ ++ + + Productivity -/+ ++ -/+ - Costs + ++ + + Performance -/+ + + + Migration .Net APEX JDeveloper Oracle Forms
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. Enhancement 3 : Show description when a code is entered No. 04-12-2008 UKOUG 2008 4. Create an On Demand Application Process ‘Get_Company_Address’ Or even better: declare l_address varchar2(32000); l_sep varchar2(10) := '~sep~'; l_code address.adress_code%type; Begin l_code := upper(wwv_flow.g_x01); select name||l_sep||adress||l_sep||country_code||l_sep||city_name||l_sep||postcode into l_address from address where adress_code = l_code; htp.p( l_address ); exception when no_data_found then htp.p('Address Code '||upper(v('ADDRESS_CODE'))||' does not exists'); when others then htp.p(sqlerrm); end begin ads_pck.get_address(upper(wwv_flow.g_x01)); end
  • 22. Enhancement 3 : Show description when a code is entered (JSON) No. 04-12-2008 UKOUG 2008 declare l_value varchar2(4000); l_ret_array wwv_flow_global.vc_arr2; begin l_value := upper(wwv_flow.g_x01); -- Address Code if l_value is not null then for a in ( select name||':'||adress||':'||country_code||':'||city_name||':'||postcode retval from address where adress_code = l_value ) loop -- wwv_flow.g_f01(1..5) contains the return fields -- The selected string must be in the same order as the return fields l_ret_array := apex_util.string_to_table(a.retval); for i in 1..wwv_flow.g_f01.count loop apex_util.set_session_state(wwv_flow.g_f01(i), l_ret_array(i) ); end loop; apex_util.json_from_items(apex_util.table_to_string(wwv_flow.g_f01)); end loop; end if; end <script type=&quot;text/javascript&quot;> function getCompanyAddressJSON(object, pType){ if ($v(object)){ var lRequest = new apex.ajax.ondemand( 'getCompanyAddressJSON', function(){ var l_s = p.readyState; if(l_s == 1||l_s == 2||l_s == 3){ } else if(l_s == 4){ gReturn = p.responseText; if(gReturn){ json_SetItems(gReturn); } else{ myAlert('Adresscode '+$v(object)+' does not exist', object); } }else{return false;} } ); lRequest.ajax.AddArray(['P3_UNLOAD_NAME','P3_UNLOAD_ADRESS','P3_UNLOAD_COUNTRY_CODE‘ ,'P3_UNLOAD_CITY_CODE','P3_UNLOAD_POSTCODE']); lRequest.ajax.addParam('x01',$v(object)); lRequest._get(); } } </script>
  • 23.
  • 24.
  • 25.
  • 26. No. 04-12-2008 UKOUG 2008 Enhancement 4 : LOV 7. Now you can easily define other draggable multi column LOV’s!
  • 27. The Reaction No. 04-12-2008 UKOUG 2008 Can you do that in APEX too? BTW, we also have a Java written graphical application, tightly connected with the screens. Hey guys, this is really great! .
  • 28. No. 04-12-2008 UKOUG 2008
  • 29. Planboard in APEX : The Demo No. 04-12-2008 UKOUG 2008
  • 30. Planboard in APEX : The Flow No. 04-12-2008 UKOUG 2008 Database APEX Planboard Flow Orders Trucks Planboard View Reports Region 1 2
  • 31. Planboard in APEX : The Reports Region No. 04-12-2008 UKOUG 2008 Normal Report Region Report Region with Containers div_id : cont_<day>_<truck>
  • 32. Planboard in APEX : The Reports Region No. 04-12-2008 UKOUG 2008 Normal Report Region Report Region with Containers div_id : cont_<day>_<truck> Report Region with Containers and Items div_id : item_<day>_<order>
  • 33. Planboard in APEX : The Reports Region No. 04-12-2008 UKOUG 2008 HTML Expression of every (day) column: <div id=&quot;#EQUIPMENT_NO#&quot; class=&quot;dndcontainer&quot; ><div id=&quot;#MON#&quot;>#MON#</div></div> <SCRIPT type=text/javascript> if ('#MON#' != ''){ $('##MON#').addClass('dndobject'); } </SCRIPT> Normal Report Region Report Region with Containers div_id : #equipment_no# Report Region with Containers and Items div_id : #MON#
  • 34. Planboard in APEX : The Flow No. 04-12-2008 UKOUG 2008 Database APEX Planboard Flow Orders Trucks Planboard View Reports Region Application Process Drag & Drop 1 2 3 4
  • 35.
  • 36. Planboard in APEX : The Flow No. 04-12-2008 UKOUG 2008 Database APEX Planboard Flow Orders Trucks Planboard View Reports Region Application Process Drag & Drop 1 2 3 4
  • 37.
  • 38.
  • 39. Question Time No. 04-12-2008 UKOUG 2008
  • 40. Contact address: [email_address] No. 04-12-2008 UKOUG 2008

Notes de l'éditeur

  1. 6. Juni 2009 | Title of Presentation 0:01 / 0:01 Set expectations: What is it NOT about? NOT about Logistics NOT about APEX Architecture NOT about Interactive Reports or Charts What is this presentation about? Possibilities of building real Rich Internet Applications with APEX From ‘standard’ APEX behaviour to ‘Forms like’ APEX behaviour For Whom? Developers Technical (management) staff Who’s in the room? Experience with APEX? Experience with Forms?