Skip to main content

Posts

How to Upload Multi-Sheet Excel Files into Oracle APEX

Oracle APEX · Step-by-Step Guide Importing one Excel sheet is easy with the built-in wizard. Importing a workbook with related parent and child sheets — and keeping the keys straight — takes a bit more care. Here's the full pattern. Excel is still the undisputed king of business data. As Oracle APEX developers, we're frequently asked to build import utilities. While importing a single-sheet Excel file in APEX is straightforward using the built-in wizard or APEX_DATA_PARSER , things get trickier when a single workbook contains multiple worksheets with relational data — like a parent header and child lines. In this post, we'll parse a multi-sheet Excel file, assign separate database sequences for primary keys, maintain the parent-child relationship, and stage everything into APEX Collections for reporting. The Scenario A user uploads a single workbook containing two worksheets: Parent_Department — a single row defining the main departm...
Recent posts

Dynamic Report - Part 2

Dynamic Report Introduction In many Oracle APEX applications, different reports require different SQL queries. Instead of hard-coding these queries into the application, users can store multiple SQL queries in a database table. These queries may contain bind variables (for example, :P_DEPTNO or :P_EMPNO ). When a user selects a report, the application automatically: Identifies the bind variables used in the selected SQL query. Dynamically generates input fields for those parameters. Prompts the user to enter the required values. Executes the query using the provided inputs. Refreshes the report with the filtered results. This approach allows a single report region to execute multiple dynamic queries without requiring any code changes. Step-by-Step Implementation Step 1 Create the QUERY_MASTER Table This table acts as our repository for SQL queries. We will...

Oracle APEX - Dynamic Reporting

Oracle APEX • PL/SQL • Dynamic Reporting Have you ever needed to build a dashboard where users select a report from a dropdown list, and the page dynamically renders the query results? A common design pattern is to centralize your report queries in a database table: REPORTS_TABLE ( QUERY_ID , REPORT_NAME , QUERIES , CREATE_BY , CREATE_DATE ) However, if you've tried implementing this with an Interactive Report or Interactive Grid , you likely ran into database metadata conflicts or compilation errors when switching between reports. In this post, we will explore why standard reports struggle with dynamic structures and provide a step-by-step guide to building a fully dynamic report viewer using Classic Reports and Generic Columns in Oracle APEX. The Challenge: Fixed Metadata vs. Dynamic Columns Oracle APEX Intera...

Google Sign-In (SSO) with Oracle APEX: Full Step-by-Step Integration

Google Sign-In (SSO) with Oracle APEX: Full Step-by-Step Integration This guide walks through every single step of wiring up Google Sign-In for an Oracle APEX app on apex.oracle.com — starting from creating the Google Cloud project, all the way through configuring the APEX Authentication Scheme. No steps are combined or skipped. 🏗️ Architecture Overview User Browser Clicks "Sign in with Google" → APEX App Redirects to Google OAuth2 → Google Consent Screen User authenticates → APEX Callback URL apex_authentication.callback → APEX Session Created User logged into app Part 1 — Google Cloud Console PROJECT SETUP 1 Sign in to Google Cloud Console Go to console.cloud.google.com and sign in with the Google account that will own this OAuth integration. 2 Create a new project Click the project dropdown (top bar) → New Project → give it a name (e.g. apex-google-sso ) → Create. Wait for the project to finish provisionin...

LinkedIn from Oracle APEX

Posting to LinkedIn from Oracle APEX: A Complete Beginner's Guide Free oracleapex.com tier · personal LinkedIn profile posting · step-by-step with every real error included If you've ever wanted a button in your Oracle APEX app that posts directly to your personal LinkedIn feed — no Zapier, no third-party middleman, just your own APEX app talking straight to LinkedIn's API — this guide walks through the whole thing, start to finish, including every mistake made along the way so you don't have to repeat them. By the end, you'll have: A LinkedIn Developer App configured for personal posting Two APEX pages: one to connect/authorize, one that handles LinkedIn's callback and does the posting A working "Post to LinkedIn" button that publishes text posts to your own profile This is written for a free oracleapex.com workspace, but the same steps work on any hosted or on-premises APEX instance — just adjust the domain. The Big Picture ...

Oracle APEX Integration with Gmail Notifications using Google Apps Script

APEX Integration with Gmail Notifications Introduction In many Oracle APEX applications, users want to see Gmail notifications directly within the application without opening Gmail. In this article, we will build a Gmail notification badge that displays the number of unread emails in the APEX Navigation Bar. Final Output Notification bell in the Navigation Bar Displays unread Gmail count Automatically refreshes every 60 seconds Works across the entire APEX application using the Global Page (Page 0) Architecture Gmail ↓ Google Apps Script ↓ REST Web App ↓ Oracle APEX (Page 0) ↓ Navigation Bar Badge Prerequisites Oracle APEX (Works on apex.oracle.com) Personal Gmail account Google Apps Script Internet access 1 Create a Google Apps Script Project Open https://script.google.com/ Click New Project. Rename the project. Ex: APEX Gmail Notification 2 Write the Google Apps Script Replace the default code with the following: ...