Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Oracle APEX for Beginners

378 views

Published on

Mathias started to learn Oracle Application Express, and while learning we took notes what difficulties he had. This presentation goes over some concepts that were not clear for somebody coming from school with a specific background.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Oracle APEX for Beginners

  1. 1. Dimitri Gielis APEX for Beginners www.apexRnD.be dgielis.blogspot.com @dgielis dgielis@apexRnD.be
  2. 2. Dimitri Gielis ❖ Founder & CEO of APEX R&D ❖ 19+ years of Oracle Experience (OCP & APEX Certified) ❖ Oracle ACE Director ❖ “APEX Developer of the year 2009” by Oracle Magazine ❖ “Oracle Developer Choice award (ORDS)” in 2015 ❖ Author Expert Oracle APEX ❖ Presenter at Conferences
  3. 3. www.apexofficeprint.comwww.apexRnD.be
  4. 4. http://dgielis.blogspot.com @dgielis
  5. 5. How to Start
  6. 6. PersonaThis is Mathias Vanhove ❖ MSc. Applied Computer Science ❖ Skillset: ✓ Specialization: Usability ✓ Great: HTML 5, Css3 ✓ Ok: Javascript, C#/.NET, MySQL ✓ None: APEX, Oracle DB, PL/SQL ❖ Ambitious ❖ Eager to learn
  7. 7. The things Mathias Loves ❖ Usability and User Centered Design ❖ Structure ❖ Consistency ❖ Reusability ❖ Customizations
  8. 8. Mathias’ Learning Goal Develop an APEX application and learn all the necessary elements to do so.
  9. 9. Necessary elements? ❖ APEX ❖ SQL ❖ PL/SQL ❖ Oracle DB ❖ HTML 5 ❖ CSS3 ❖ Javascript ✓ ✓ ± ± x x x
  10. 10. How Mathias started 1. Two introduction sessions 2. APEX R&D’s Guide 3. Book by Steven Feuerstein 4. Online Guide 5. Expert Oracle APEX
  11. 11. Structure of APEX ❖ APEX Page — App Builder ❖ SQL Workshop ❖ Shared Components
  12. 12. Structure of APEX
  13. 13. APEX Page: Elements you should understand ❖ Regions: ➡ Possible types ➡ Template options ❖ Dynamic Actions ❖ Bind variables ❖ Process vs. Computation ❖ Define vs. Declare
  14. 14. SQL Workshop ❖ Use the Wizard to build tables ❖ Get a good understanding of: ➡ Sequences ➡ Triggers
  15. 15. Shared Components ❖ List Of Values ❖ Navigation: ➡ Navigation Menu ➡ Breadcrumbs ➡ Navigation Bar List ❖ Templates ❖ etc.
  16. 16. Mathias’ APP An easy to manage Information Security Document/ Guideline to be compliant for the European GDPR legislation.
  17. 17. ❖ Subjects ❖ Sub-subjects ❖ Content items for each sub-subject ❖ Auditing/Evaluation system ❖ Todo system ❖ Maintainable Information Security
  18. 18. Mathias’ problems Ways to add help text Page Items Define vs. Declare List Of Values Customizations using PL/SQL Select list: Dynamic Actions Working dynamically with cards Custom dynamic linking to pages Table id-sequence + triggers Changing templates to a custom one Views vs inline SQL-join Auto fill date Concatenate two values in a select list Building custom templates Refresh page dynamic action Add PL/SQL to template Clear cache Oracle Advisor Utility Add HTML fields to Classic Report Escape HTML characters Debugging Charts Configure SQL Developer PL/SQL package with a function Subsitution Strings
  19. 19. Mathias’ problem
  20. 20. Mathias’ problems Ways to add help text Page Items Define vs. Declare List Of Values Customizations using PL/SQL Select list: Dynamic Actions Working dynamically with cards Custom dynamic linking to pages Table id-sequence + triggers Changing templates to a custom one Views vs inline SQL-join Auto fill date Concatenate two values in a select list Building custom templates Refresh page dynamic action Add PL/SQL to template Clear cache Oracle Advisor Utility Add HTML fields to Classic Report Escape HTML characters Debugging Charts Configure SQL Developer PL/SQL package with a function List Of Values Select list: Dynamic Actions Concatenate two values in a select list Subsitution Strings
  21. 21. Mathias’ problems
  22. 22. Mathias’ problems Ways to add help text Page Items Define vs. Declare List Of Values Customizations using PL/SQL Select list: Dynamic Actions Custom dynamic linking to pages Table id-sequence + triggers Changing templates to a custom one Views vs inline SQL-join Auto fill date Concatenate two values in a select list Refresh page dynamic action Add PL/SQL to template Clear cache Oracle Advisor Utility Add HTML fields to Classic Report Escape HTML characters Debugging Charts Configure SQL Developer PL/SQL package with a function Building Custom Templates Working dynamically with cards Subsitution Strings
  23. 23. Problem #1: Select List ❖ List Of Values ❖ Concatenate two values ❖ Dynamic Action ❖ Dynamic content change
  24. 24. First step: build LoV query
  25. 25. First step: build LoV query
  26. 26. First step: build LoV query
  27. 27. First step: build LoV query
  28. 28. First step: build LoV queryFirst step: build LoV query
  29. 29. First step: build LoV query
  30. 30. Second step: Concatenate ❖ Google is your friend! ❖ Difficulties to google ➡ Oracle APEX ❖ Easy to do
  31. 31. Second step: Concatenate
  32. 32. Third step: Dynamic Action ❖ Not so hard when you followed the APEX R&D Course ❖ Add a Dynamic Action ❖ Use Change event
  33. 33. Third step: Dynamic Action
  34. 34. Third step: Dynamic Action
  35. 35. Third step: Dynamic Action
  36. 36. Third step: Dynamic Action
  37. 37. Third step: Dynamic Action
  38. 38. Fourth Step: Dynamic content ❖ Change content of Sub-subject based on selection of subject ❖ More advanced step ❖ Substitution strings vs Bind variables
  39. 39. Fourth Step: Dynamic content
  40. 40. Fourth Step: Dynamic content
  41. 41. Fourth Step: Dynamic content
  42. 42. Some useful advice Mathias found when exploring the coding conventions of APEX R&D
  43. 43. Some useful advice Mathias found when exploring the Oracle Builder User Guideline https://docs.oracle.com/database/121/HTMDB/concept_sub.htm#HTMDB03022
  44. 44. Problem #2: Templates ❖ Working dynamically with Cards ➡ Where can I find the templates? ➡ Template substitution ❖ Making an own template ➡ Another problem ➡ PL/SQL?
  45. 45. Working with Cards
  46. 46. Working with Cards
  47. 47. Working with Cards
  48. 48. Working with Cards
  49. 49. Working with Cards
  50. 50. Making your own template ❖ Goal: Show each sub-subject as a collapsible and show all content items for each sub-subject in that collapsible region. ➡ Tried customization using PL/SQL ➡ Failed —> Difficult when no knowledge of PL/SQL ➡ Templates instead
  51. 51. The PL/SQL Way ❖ Bind to Page Item —> Error ❖ Cursor loop ❖ Collapsible region
  52. 52. Bind data to Page Item ❖ Create Page Items ❖ Created a Process ❖ Put data in the Page Items
  53. 53. ❖ Logical error ❖ Can’t bind more than one value to a Page Item ❖ Better solution? ❖ Cursor Loops? ❖ No Page Items, but inline html. Bind data to Page Item
  54. 54. Cursor loops ❖ No output ❖ "dbms_output.put_line();
  55. 55. ❖ "sys.htp.p();" ❖ Collapsible fail ❖ Needed help! Cursor loops
  56. 56. Mathias’ thoughts at this point ❖ Roeland’s advice ❖ Customizations ❖ Keep it simple ❖ Use templates
  57. 57. Watch Jorge’s video’s on templates http://rimblas.com/blog/author/admin/
  58. 58. How to create a template? ❖ Create a new "report" template ❖ Insert your HTML template with Substitution strings ❖ Use the Row Templates for loops ❖ Use PL/SQL Conditions to keep track
  59. 59. How create a template?
  60. 60. Call it from your page
  61. 61. Result Different Sub-Subjects Different Content Items Different Content Items for a Sub-Subject
  62. 62. Make it Collapsible
  63. 63. Building your own template ❖ Template Type ❖ Right syntax: #BINDVARIABLE# instead of #bindvariable# ❖ PL/SQL conditions? ❖ Loops on specific section?
  64. 64. Why these problems?
  65. 65. Why these problems? ❖ Structure/overview was missing ❖ Lack of knowledge of all the existing APEX elements ❖ Poor understanding of the meaning of specific APEX terms ❖ Customize to fast ❖ No perfect way
  66. 66. How Mathias started 1. Two introduction sessions 2. APEX R&D’s Guide 3. Book by Steven Feuerstein 4. Online Guide 5. Expert Oracle APEX
  67. 67. How you should start?! ❖ Introduction training of APEX - Overview ❖ Analyze an existing APEX page ❖ Understand the Core Structure ❖ APEX R&D introduction course / APEX Education Course (free) ❖ Learn to master the key elements of the Core Structure ❖ Read Oracle PL/SQL Programming (only part 1 and 2) by Steven Feuerstein ❖ QuickSQL and Blueprint ❖ Start developing something easy using the key elements of APEX. Avoid customizations!
  68. 68. Still a long road until reaching the top. But Mathias’ first steps are made. Now it’s your turn!
  69. 69. Q&A www.apexRnD.be dgielis.blogspot.com @dgielis dgielis@apexRnD.be
  70. 70. ❖ Looking for consulting, training and development in Oracle Application Express (APEX)? ❖ Contact : www.apexRnD.be ❖ Mail : info@apexRnD.be Consulting, Development, Training

×