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
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="text/javascript"> 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! .
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="#EQUIPMENT_NO#" class="dndcontainer" ><div id="#MON#">#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
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?