Search This Blog

Showing posts with label Tools. Show all posts
Showing posts with label Tools. Show all posts

Sunday, July 6, 2025

AI Enhances Oracle Cloud HCM Support: Elevating Insight with the Oracle HCM Intel CLI

🤖 Oracle Gen AI + Public HCM Metadata = Limitless Insight

The Oracle HCM Intel CLI Tool is a professional-grade command-line assistant that uses your extracted HCM metadata and combines it with the capabilities of Oracle’s OCI Generative AI service (powered by Cohere) or OpenAI, or the LLM of your choice, giving you intelligent insights relative to HCM data structures. And it's all done securely and locally—no sensitive data leaves your environment.

By referencing public HCM data definitions, this project demonstrates just how powerfully Oracle Gen AI, and other AI offerings, can be applied in the enterprise to support analysts, developers, and architects with tasks such as:

  • Generating SQL queries based on natural language
  • Suggesting joins between key Oracle HCM tables
  • Explaining and optimizing existing SQL
  • Creating BI Publisher-ready templates
  • Performing semantic metadata searches

Project GitHuboracle_hcm_intel_cli
DemoWatch Demo

Built With Practical Enterprise Needs in Mind

The tool includes features that any real-world implementation would benefit from:

  • Encrypted .env handling using runtime secrets
  • Markdown output for reporting or Copilot/Teams usage
  • Audit mode for logging what metadata was passed to the LLM
  • Modular provider support for OpenAI or Oracle Gen AI
  • Interactive prompt chaining for analysts and non-developers

It’s optimized for real users working in real environments—offering flexibility without sacrificing security or precision.


Powered by Oracle Technology, Honoring Oracle’s Vision

This CLI tool is powered by Oracle’s own public documentation and showcases the capabilities of Oracle Cloud Infrastructure’s Generative AI platform. It's a clear example of how AI and metadata can be responsibly applied in the enterprise, especially when building tooling around Oracle’s HCM ecosystem.

Oracle’s Gen AI service is the star of the show here—it brings context, comprehension, and creative query generation to the hands of business users and technical professionals alike.

Earlier this month, I introduced a Metadata Extractor CLI Tool built to programmatically parse Oracle Cloud HCM’s public documentation and extract table and view metadata into JSON format. That foundational tool—available on GitHub at oracle_hcm_metadata_extractor—has enabled this powerful second act: the Oracle HCM Intel CLI.


Get Started

  1. Extract metadata using: oracle_hcm_metadata_extractor

  2. Query and explore with: oracle_hcm_intel_cli

Whether you’re working in HCM data architecture, reporting, or support—this is your AI-powered sidekick.


I hope this project inspires others to build upon Oracle’s cloud platform and apply Generative AI responsibly. The future of enterprise tooling is intelligent, secure, and deeply integrated—and with Oracle Gen AI, that future is now.


Julio @ OracleSpot.net

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

Tuesday, October 1, 2024

UML Diagrams For Productivity and Clarity

Following up on the last two entries regarding using Python to interact with Oracle MySQL and Oracle Linux, I want to introduce a tool called PlantUML, which is a fantastic tool for creating visual aids to help your development journey, and we will create a simple UML diagram for the Python UI that we discussed in the last entry, for monitoring various services. We will also take a look at a couple of Class Diagrams for a couple of Kafka Consumer and Producer services.

Before getting to the diagram and the UML code, let's talk about how to run PlantUML locally on your machine using VS Code.

VS Code

Install VS code, it’s free.

https://code.visualstudio.com/download

Plant UML Extension


In VS code, go to the extensions marketplace, and install the PlantUML Extension.

You also need to have Java JRE on your machine, install that as well from: https://www.java.com/en/download/manual.jsp


Diagram Previews

To use it, create a new text file in VS Code, and then select PlantUml as the language. Then paste the UML code, and hit “alt + d”, to open the preview screen. You can then copy images.




Now, let's look at some examples, including one following up on our Python Monitoring UI referenced in the last blog entry.

UI Diagram


@startuml

!define RECTANGLE_SIZE_SIZE_RECTANGLE 12
skinparam componentStyle rectangle
skinparam rectangle {
  BackgroundColor<<main>> LightGray
  BackgroundColor<<option>> White
  BorderColor<<main>> Black
  BorderColor<<option>> Gray
}

rectangle "Python UI - Homepage" <<main>> {
    rectangle "Kafka Status" <<option>> 
    rectangle "Zookeeper Status" <<option>> 
    rectangle "MySQL Status" <<option>> 
    rectangle "Map View" <<option>> 
}

@enduml



Class Diagram - Consumer

Diagram depicting a consumer service in a Kafka architecture for a vehicle telemetry system.

@startuml

class KafkaConsumer {

    +consumeMessage()

    +parseJSON(String message)

    +processData(SchoolBusData busData)

}

class SchoolBusData {

    +happenedAtTime: String

    +assetId: String

    +latitude: float

    +longitude: float

    +headingDegrees: int

    +accuracyMeters: float

    +gpsSpeedMetersPerSecond: float

    +ecuSpeedMetersPerSecond: float

}

class DatabaseConnector {

    +insertSchoolBusData(SchoolBusData busData)

}

KafkaConsumer --> SchoolBusData : Parses

KafkaConsumer --> DatabaseConnector : Inserts into

DatabaseConnector --> MySQLDatabase : Stores

 

class MySQLDatabase {

    +save()

}

@enduml


Class Diagram - Producer

@startuml

class KafkaProducer {

    +produceMessage()

    +serializeToJSON(SchoolBusData busData)

    +sendToKafka(String jsonMessage)

}

class SchoolBusData {

    +happenedAtTime: String

    +assetId: String

    +latitude: float

    +longitude: float

    +headingDegrees: int

    +accuracyMeters: float

    +gpsSpeedMetersPerSecond: float

    +ecuSpeedMetersPerSecond: float

    +generateSampleData(): SchoolBusData

}

KafkaProducer --> SchoolBusData : Generates

KafkaProducer --> KafkaTopic : Sends message

class KafkaTopic {

    +receiveMessage(String jsonMessage)

}

@enduml


These are a couple of types of diagrams that you can create using PlantUML in VS Code, in another entry we will be covering a couple of different diagrams, including a sequence diagram, regarding a proposed architecture for getting data out of Oracle Fusion Cloud.

Monday, May 25, 2020

Oracle Cloud Development for Free!


Let's explore some Oracle Cloud Development capabilities! Some of which are free! I will cover the OCI Marketplace and Free Offerings there in a separate post, but there's an introduction to it at the end of this article. hashtag#oci hashtag#oracle hashtag#clouddevelopment hashtag#oraclecloud hashtag#backendwebdevelopment




I wrote this blog post in LinkedIn, so go to the link below to read it:

https://www.linkedin.com/pulse/oracle-cloud-development-free-julio-lois/

Sunday, May 24, 2020

EBS Integration Repository and eTRM


As a lot of companies and users shift their focus towards the Cloud Products, sometimes it's easy to forget that an enormous number of customer still utilize EBS and will continue to do so for years to come. As such, those customers will continue to integrate their EBS environments with other systems, like early payment engines, OCR engines, tax engines, third party SCM systems, other ERP's and more. The following two resources are extremely powerful when planning integration work for EBS, and I have leveraged them countless times.

First, I wanted to remind everyone that the Integration Repository responsibility in EBS is a great resource to see whether there is already an Oracle API to accomplish a specific task. Please make use of it when building solutions to address customer needs or if you have doubts in regards to whether the vendor you are working with for your project, or your own development team, is building a custom function for an existing standard function or procedure, as you always want to leverage seeded functionality that will be supported by Oracle and doesn't break when upgrades happen.

For those that are not familiar with the Integration Repository, you simply need to add it as a responsibility under your user and browse the different modules to drill down to the specific service interface you want to look at. Once you drill into a specific API, you will see a list of the details including function names, parameters, rules, and much more.

Browsing the repository:



  • I am showing Projects related API's in the screenshot.

Additionally, remember the Oracle eBusiness Suite Electronic Technical Reference Manual (eTRM), is also available to us with our Oracle Support accounts.

This one is especially useful to see EBS database design and dependency information, you can also browse the FND model and the Data Dictionary with it! This is an extremely powerful tool to see what happens to those database objects that you rely on when upgrades occur, as those changes will likely impact your custom concurrent programs, reports, alerts, and other extensions.


EBS Seeded Comparison Reports

Hello everyone, I haven’t written about EBS in a while since I’ve been focused on the Cloud products, but I wanted to bring to your attention the below seeded reports provided by Oracle which can be used to compare environments with different patch sets, to better assess the impact of applying those patches/upgrades and see differences at a low level. This is as relevant as ever since EBS patching hasn’t slowed down, and many new features continue to come in.

Below are descriptions of each report with the respective Oracle notes with all the relevant information. Most of the content and report description come straight from Oracle Support, the idea is to consolidate them here for your awareness.

They are all very useful, and one of them specially is of interest to me and I have used it extensively in order to compare different ATG versions to assess impact and help build a test plan. The ATG patch family is important because EBS continues to enhance through different avenues like enhanced Mobile support and the Enterprise Command Centers, and these rely heavily on your ATG readiness.

The EBS File Comparison Report provides a comprehensive comparison of file system artifacts between different Oracle E-Business Suite releases for important file types. As part of Oracle E-Business Suite upgrade planning, this report can assist customers to get a clear idea of "what is different in a new release" (additions, removals and modifications for Oracle E-Business Suite delivered files).

The report also covers some special artifacts that span the file system and database (for example, Oracle E-Business Suite delivered Oracle Application Framework (OAF) personalizations, Oracle Application Framework (OAF) based pages, Oracle Business Intelligence Publisher reports and so on).The EBS File Comparison Report is intended to complement other already available reports such as EBS Data Model Comparison report and EBS ATG Seed Data Comparison report.

The EBS data model comparison report provides the static database object definition changes between two EBS releases to help users to preview the database object definition changes before upgrading their instances from one release to another and understand the impact of the database object changes that may affect the customization or business flows. Users can select a product and navigate the database object definition differences for each supported database object type.

The EBS ATG Seed Data Comparison Report provides a static delta between different EBS releases by documenting the seed data changes delivered by the product data loader files (.ldt extension) based on EBS ATG loader control (.lct extension) files.

The below Oracle Notes cover how to install and navigate the reports. All of these Oracle docs continue to get updated as releases occur and support up to 12.2.9 has been delivered for each of the below:

o EBS Data Model Comparison Report Overview (Doc ID 1290886.1)
o EBS File Comparison Report [VIDEO] (Doc ID 1446430.1)
o EBS ATG Seed Data Comparison Report (Doc ID 1327399.1)

Tuesday, January 8, 2019

E-Business Suite Support Analyzer Bundle Menu Tool and Automatically Updating Analyzers

If you support Oracle EBS R12 then you are familiar with the Oracle Analyzers. They are essentially reports that were designed by Oracle Support to assist with diagnosing issues by providing detailed analysis and even some potential solutions, like applying a relevant generic data fix or suggesting a patch. These analyzers can also speed up your response time when creating an SR by providing the outputs for the relevant analyzers in a product family when you initiate the SR.

The issue with the Analyzers is that there are a lot of them, and maintaining them can become difficult. This is because Analyzers are basically scripts that can be ran manually by your DBA or can be setup to run as a concurrent program (not all Analyzers allow for this). What this means is that it's time consuming to install analyzers and configure them to be ran as concurrent programs and then keeping them up to date, as Oracle releases new versions of the packages behind said Analyzers rather often.

Here is where the Bundle Analyzer tool comes into play. It makes it easy to install all the available Analyzers from a menu that can be easily navigated and utilized by a System Administrator or DBA. You can also quickly load and register analyzers as concurrent programs and also have the ability to uninstall them. Basically, the tool provides a simple interface that makes it really easy to perform these tasks.

You also don't need to worry about data integrity, per Oracle, "Application data is not altered in any way when the Analyzer Bundle Menu is installed or when any Support Analyzer is run."

What this allows you to do, as a support team, is quickly spinning up the analyzers you want to use and update them on a regular basis, maybe when you do your releases, or anytime you wish and as time allows. One of the features of the tool is that you can bulk load all analyzers in a given EBS product family or even all analyzers in all families, as well as individual analyzers, if you don't want to complicate matters by having unnecessary capabilities.

The installation steps are very simple for any DBA or System Administrator, and all the steps are outlined in the below note provided by Oracle:

E-Business Suite Support Analyzer Bundle Menu Tool (Doc ID 1939637.1)

Now, while the Bundle tool greatly simplifies this effort of obtaining analyzers and updating them, there’s still manual work involved, and many of us have asked whether there's some way to automate this further.

In response, Oracle has now released a new feature allowing concurrent programs to be scheduled to address updating analyzers using the bundle tool. This can allow you to automate updating your existing analyzers on a regular basis without human intervention.

All the details in regards to this valuable enhancement to the Analyzer Bundle tool can be seen in the below note provided by Oracle. The note contains all the details around the two concurrent programs involved in the Auto Update feature and how it works.

E-Business Suite Support Analyzer Bundle AutoUpdate Concurrent Program (Doc ID 2377353.1)

This is an extremely powerful tool that can truly enhance your capabilities to support your customers proactively and I urge everyone to explore it.

Regards,

Julio