Search This Blog

Showing posts with label Automation. Show all posts
Showing posts with label Automation. Show all posts

Sunday, July 6, 2025

Supercharging Oracle HCM Research and Support with a CLI Tool to Obtain Structured Documentation Metadata

As an Oracle Cloud HCM customer and practitioner, I frequently rely on the Oracle Cloud Applications Documentation to understand how various tables and views are structured. Whether I’m building BI Publisher queries, supporting Fast Formulas, or troubleshooting integrations, knowing the exact column names and their meanings is essential.

But manually digging through dozens (or hundreds) of HTML pages is time-consuming and repetitive.

So, I decided to automate it in a way that would allow me to have conversations with this data versus clicking through hundreds of pages aimlessly looking for answers.

What I Built

I created a Python-based command-line tool that extracts Oracle's publicly available HCM documentation, regarding tables and views, and outputs structured metadata for tables and views into clean JSON files. This helps streamline research, improve automation, and accelerate troubleshooting for internal support.

Here’s what it does:

  • Parses the toc.js file from Oracle’s documentation site to extract all table/view URLs

  • Visits each documentation page using a headless browser

  • Extracts metadata such as:

    • For Tables: table name, description, details, columns (with data types), primary keys, and indexes

    • For Views: view name, description, details, column names, and SQL query

No more flipping through documentation pages—just clean, structured data ready for analysis or integration into support tools, with many useful use cases including those in the AI landscape.


How It Works

Step 1: Extract Links from toc.js

The Oracle documentation includes a toc.js file which holds all the links to individual table and view pages. The tool first parses that file to build a list of URLs.

python oracle_hcm_cli_tool.py --toc toc.js --csv oracle_links.csv

Step 2: Convert CSV to JSON

For downstream processing, the CSV is converted to a simple JSON array of {name, url} pairs.

python oracle_hcm_cli_tool.py --csv oracle_links.csv --json oracle_links.json

Step 3: Extract Table and View Metadata

The final step launches a headless browser with Playwright and visits each page to extract structured metadata.

python oracle_hcm_cli_tool.py --json oracle_links.json --tables 
oracle_tables.json --views oracle_views.json

Or all three steps in one:

python oracle_hcm_cli_tool.py --toc toc.js --csv oracle_links.csv 
--json oracle_links.json --tables tables.json --views views.json

Output Format

Here’s what the output looks like.

For Tables (tables.json)

{
  "table_name": "PER_ALL_PEOPLE_F",
  "url": "...",
  "description": "This table stores information about...",
  "details": "Schema: FUSION Object owner: PER Object type: TABLE Tablespace: APPS_TS_TX_DATA",
  "columns": [
    {
      "column_name": "PERSON_ID",
      "data_type": "NUMBER",
      "length": "",
      "precision": "18",
      "not_null": true,
      "description": "System generated surrogate key"
    },
    ...
  ],
  "primary_key": {
    "name": "PER_PEOPLE_F_PK",
    "columns": ["PERSON_ID", "EFFECTIVE_START_DATE", "EFFECTIVE_END_DATE"]
  },
  "indexes": [
    {
      "name": "PER_PEOPLE_F_U1",
      "uniqueness": "Unique",
      "columns": ["BUSINESS_GROUP_ID", "PERSON_NUMBER"]
    }
  ]
}

For Views (views.json)

{
  "view_name": "FAI_DEEP_LINKS_VL",
  "url": "...",
  "description": "This view shows deep link metadata...",
  "details": "Schema: FUSION Object owner: FAI Object type: VIEW",
  "columns": [
    { "column_name": "DEEP_LINK_ID" },
    { "column_name": "DEEP_LINK_CODE" },
    ...
  ],
  "sql_query": "SELECT ... FROM FAI_DEEP_LINKS_B b ..."
}

Why This Is Useful

This tool is a game-changer if you:

  • Frequently need to understand Oracle's schema to troubleshoot or write custom reports

  • Work in integrations, BI, or payroll support and need faster insights

  • Want to build dashboards or internal tools that visualize schema metadata

  • Need a starting point for building generative AI agents or search interfaces that utilize documentation in order to drive intelligent insights

  • This same approach can be followed for Oracle ERP, and other use cases, for Oracle customers


⚠️ Disclaimer

Disclaimer: 

This tool and blog post are independently created for research, education, and internal productivity enhancement by an Oracle customer. 

All references to Oracle® products and documentation are made strictly for educational and interoperability purposes. 

Oracle, Java, and MySQL are registered trademarks of Oracle and/or its affiliates. 

This tool is not affiliated with, endorsed by, or sponsored by Oracle Corporation.

Metadata shown (such as table names and column names) are extracted from publicly accessible Oracle documentation. 

No proprietary documentation or licensed software is redistributed or reproduced in full.

Always refer to Oracle Cloud Documentation for official and up-to-date content.


Want to Try It?

You can clone the tool and try it for yourself:

https://github.com/TheOwner-glitch/oracle_hcm_metadata_extractor

Happy automating!

Tuesday, June 24, 2025

Introducing the Oracle HCM Fast Formula Agent – Built with AI to Help You Work Smarter

🚀 Introducing the Oracle HCM Fast Formula Agent – Built with AI to Help You Work Smarter

After months of juggling fast formulas, fielding questions from HR teams, and trying to decode cryptic payroll logic at 2AM, I decided it was time to build something better.

Today, I'm happy to share an open-source project that came from that journey:

👉 Oracle HCM Fast Formula Agent – A smart, simple tool that uses Generative AI to help you generate, validate, explain, and modify Oracle HCM Fast Formulas, and more!

🎥 Check out a quick demo - Watch on Loom

💡 Why I Built It

Working in the Oracle Cloud HCM space, I saw firsthand how challenging it can be to:

  • Interpret legacy Fast Formulas written years ago
  • Validate logic across hundreds of conditional paths
  • Explain formula outcomes to business users
  • Generate new formulas based on complex rules — under tight deadlines

And with the rise of AI, I thought: Why not build an assistant that understands Oracle HCM and speaks "formula"?

⚙️ What It Does

With this Flask-based app, you can:

Generate new Fast Formulas from plain-English descriptions
Explain existing formulas in readable, line-by-line language
Validate and suggest corrections for logic/syntax errors
Modify formulas based on user input
Extend the tool with new advanced actions using a plugin system, like the included Summarize advanced action!

It even has a clean admin panel and a dark mode toggle because... well, late-night debugging deserves a good theme.

📦 Plugin Architecture

Want to add your own action like summarize_formula or compare_logic_blocks? Just drop it in the plugins/ folder. No changes to the main app required. It's built for extensibility.

🐳 Docker Ready

Whether you’re developing locally or deploying in the cloud, the app comes with a Dockerfile that runs the app via Gunicorn for production-grade performance.

🔗 Get Started

Clone it, run it, or fork it for your own use:

👉 GitHub: https://github.com/TheOwner-glitch/hcm-fast-formula-agent
📹 Demo: Watch the video

🙌 A Call to the Oracle Community

I built this for consultants, analysts, and developers who need to move fast and support critical Oracle HCM needs in the Fast Formula space, but more importantly to share an example of how AI Powered application development can be compelling and reduce the need for conditional and hardcoded business logic by instead leveraging the power of generative AI  to interpret natural language. If you try it out and find it helpful — or have ideas for improving it — I’d love to collaborate.

Thanks for reading. Now go automate your fast formula headaches away.

— Julio

Thursday, March 13, 2025

Unlocking the Power of RPA in Oracle Integration Cloud

We know that automation is key to staying competitive. Robotic Process Automation (RPA) has emerged as a powerful tool to streamline operations, reduce manual effort, and enhance efficiency. Oracle Integration Cloud (OIC) has taken a significant step forward by integrating RPA capabilities, offering a seamless and unified experience for users. In this blog post, we'll explore the benefits of OIC's RPA feature and how it compares to non-native options such as Blue Prism.

Seamless Integration with Oracle Ecosystem

One of the standout features of RPA in Oracle Integration Cloud is its native integration within the Oracle ecosystem, particularly the Oracle Fusion applications like ERP Cloud. This integration allows for a unified, drag-and-drop experience to create intelligent business automations. By leveraging other Oracle services like Visual Builder Cloud Service (VBCS) and Process Cloud Service (PCS), OIC's RPA enables businesses to design automations that are part of the overall system architecture rather than "external solutions".

Enhanced Capabilities and Flexibility

OIC's RPA is designed to automate manual repetitive tasks without the need for APIs or data loads, making it a versatile tool for various use cases. Whether it's invoking APIs, manipulating files, or automating cascading changes in projects, OIC's RPA offers the flexibility to adapt to different business needs. This capability fosters collaboration between business and IT stakeholders, ensuring that automations are efficient and effective.

The RPA feature in OIC promotes collaboration between business and IT teams, enabling them to create automations that are integrated into the design process. This approach not only enhances efficiency but also ensures that automations are aligned with business objectives. By reducing the reliance on third-party tools outside of the Oracle ecosystem, OIC's RPA simplifies the automation process and provides a more cohesive strategy.

Comparing OIC's RPA with Blue Prism

While Blue Prism is a popular RPA tool, it requires additional integration efforts when used with Oracle Cloud.

Integration: OIC's RPA is natively integrated within the Oracle ecosystem, reducing the need for third-party tools and simplifying the automation process. In contrast, Blue Prism requires additional setup and may not offer the same level of seamless integration.

Unified Platform: OIC's RPA is part of a unified platform that includes other Oracle services, providing a more cohesive automation strategy. Blue Prism, on the other hand, may require additional integration efforts to achieve the same level of cohesion. Additionally, OIC adapters to ERP cloud, for example, are tested by Oracle in coordination with the ERP team, ensuring better backwards compatibility than when using external tools.

Scalability and Flexibility: OIC's RPA can be easily scaled and adapted to various business needs, offering flexibility in how automations are designed and implemented, where the RPA bots can be invoked in flows during an integration orchestration or user action from VBCS, as examples.

Conclusion

Oracle Integration Cloud's RPA feature offers a powerful and seamless solution for businesses looking to automate their processes. With its native integration within the Oracle ecosystem, enhanced capabilities, and unified platform, OIC's RPA stands out as a superior option compared to non-native tools like Blue Prism. By leveraging OIC's RPA, businesses can streamline operations, reduce manual effort, and enhance efficiency, ultimately driving growth and success.

You can find out more about OIC's RPA capability, which is now generally available, at What's New in Oracle Integration 25.02