Search This Blog

Sunday, April 21, 2024

Keeping Track of Redwood Enabled Pages

As we continue to make progress in our HCM Redwood journey, and we have done exploratory work in a lower environment and are working on a timeline and milestones, we ran into an issue that although it seems simple, it can cause a problem.

Something that was slowing us down was not knowing exactly what pages are Redwood enabled. This is from the perspective of basically us losing track of what profile options have been enabled, as we do our testing and exploration, because with Redwood it isn't an all or nothing setup, you have to choose which profile options to enable for which pages, and although this gives you a granular level of control, it can cause you to lose track.

We received the below code from our Oracle partners that can be used to check the status of enabled Redwood profiles in a given environment, this is a very helpful piece of code that can save you time and energy.

This SQL can be used to check current status in environments for redwood profile 

SELECT
           po.profile_option_name ,
           user_profile_option_name ,
           level_value ,
           profile_option_value ,
           (
           CASE
               val.last_update_login
                                                       WHEN '-1'
                                                       THEN 'No'
               ELSE 'Yes'
           END ) Overridden ,
           po.start_date_active ,
           po.end_date_active ,
           potl.source_lang ,
           potl.language
       FROM
           fusion.fnd_profile_option_values val ,
           fusion.fnd_profile_options_tl potl ,
           fusion.fnd_profile_options_b po
       WHERE
           val.profile_option_id = po.profile_option_id
           AND po.profile_option_name = potl.profile_option_name
           AND potl.language = 'US'
           AND level_value='SITE'
           AND ( po.profile_option_name like '%VBCS%' or po.profile_option_name like '%REDWOOD%' )
            AND po.seed_data_source like 'hcm/%'

This is important because there's multiple people working on an environment, and also as you progress with your Redwood changes to higher environments, you can compare what has been enabled as another safety measure. For example, this SQL can be used to compare Production and UA, to ensure that both environments are in sync, and that mistakes weren't made by enabling functionality that was not tested. Also note that the seed_data_source value in the example above is 'hcm', but the same SQL can be used for other subject areas.

Saturday, April 20, 2024

Oracle AI Documentation and Information

Everyone knows that AI and ML are the trending topics, and Oracle is certainly investing heavily relative to their own AI strategy.

The below links to information are great resources relative to AI documentation and information that Oracle has made available, and should definitely be explored for anyone interested in seeing what Oracle has to offer in this space!

1.      AI Overview - OCI Generative AI service provides customizable large language models (LLMs) that cover a wide range of use cases for text generation.

https://docs.oracle.com/en-us/iaas/Content/generative-ai/overview.htm#overview

2.      Concepts for Generative AI - concepts and terms related to the OCI Generative AI service

https://docs.oracle.com/en-us/iaas/Content/generative-ai/concepts.htm

3.      PII Data with AI – How to safeguard the corporate jewels and sensitive customer data when using AI

https://orasites-prodapp.cec.ocp.oraclecloud.com/site/ai-and-datascience/post/rotect-pii-customer-data-ads-pii-operators

4.      Oracle AI GitHub Repository -   Great examples of LLM’s and AI services with step by step code examples with OCI AI services

https://github.com/oracle-samples/oci-data-science-ai-samples/

5.      Live Labs – 40 Hands on Labs for AI services and related services. This is a great source for any Oracle Technology or product https://apexapps.oracle.com/pls/apex/dbpm/r/livelabs/livelabs-workshop-cards?session=108343633199478

6.      Oracle AI and Data Science YouTube Channel – 

https://www.youtube.com/playlist?list=PLKCk3OyNwIzv6CWMhvqSB_8MLJIZdO80L

7.      OCI Data Science Landing Pad – starting point for setting up a OCI tenancy using the Data Science Service.  Step by Step for setting up service, creating models, and submitting jobs

https://docs.oracle.com/en-us/iaas/data-science/using/home.htm

8.      Embedded AI and ML capabilities in Oracle Analytics -

https://orasites-prodapp.cec.ocp.oraclecloud.com/site/ai-and-datascience/post/discover-the-power-of-oracle-analytics-with-ai

9.      Oracle Analytics Cloud and AI for Business Users

https://www.oracle.com/business-analytics/analytics-platform/capabilities/ai-ml/

10. Intro to Select AI in Autonomous DB

https://blogs.oracle.com/machinelearning/post/introducing-natural-language-to-sql-generation-on-autonomous-database

11. Select AI -  Use Select AI to Generate SQL from Natural Language Prompts

https://docs.oracle.com/en-us/iaas/autonomous-database-serverless/doc/sql-generation-ai-autonomous.html#GUID-9CE75F94-7455-4C09-A3F3-118C08E82B7E

12. Machine Learning Blog Page – This Blog Homepage is focused on AutoML generating code for SQL, Python, and R

https://blogs.oracle.com/machinelearning/

13. Machine Learning Documentation for SQL, Pyton, R, Spark

https://docs.oracle.com/en/database/oracle/machine-learning/index.html

14. Machine Learning Technical Replays and Office Hours

https://asktom.oracle.com/ords/r/tech/catalog/series-landing-page?p5_oh_id=6801#sessions

15. LiveLabs Hands on training for Machine learning

https://apexapps.oracle.com/pls/apex/f?p=133:100:8251167255223::::SEARCH:machine%20learning

Oracle Rest Dataservices (ORDS) - An Introduction, Use Cases and Examples

Oracle Rest Dataservices (ORDS) is truly an underrated feature of the Oracle Database, and now with it being an embedded feature in the Cloud Autonomous Databases, it's truly a feature that is a MUST!

Click on the images to zoom in!


So what? How is it useful? Well, here is a use case where Oracle Integration Cloud is interfacing with Visual Builder to push and pull data from the VBCS Business Objects (BO's) using the REST API layer on the BO's. This is a real use case that many Oracle clients have, specially those that implemented OIC and VBCS back in the Gen 1 days, and using the REST support at the BO layer was the best approach to integrate with VBCS.


In the above we can see that the individual calls to update BO attributes can take a long time, because OIC is iterating through a lot of data, making decisions and making updates. There's also plenty of opportunities for disruption during the API chains, and retriggering is far too complex.

Let us know observe the same scenario, but utilizing ORDS instead:


As noted above, this is far simpler, performs better, less failure points, easier to maintain and support, this is the power of ORDS!

It is a perfect match for VBCS because visual builder wants to speak REST, and ORDS provides an excellent opportunity for that to happen while also taking advantage of the power of the stored procedures to manipulate the BO's at the database level without hitting the VBCS middle tier and relying on complex API interactions.

Below are some additional use cases:


To expand further on the above:

VBCS calls a logging/audit stored procedure exposed as REST via ORDS, to log exceptions being raised in the action chains in VBCS (blocks of code), because right now we have to have user sessions and capture the problem real time via dev tools, unless the message is being handled and shown to the user on the screen, and a lot of them are not, so this is a great way to be proactive and see trends of errors and warnings from user activity.

Many are in the process of replacing BIP reports being used as custom API’s and called from VBCS (which is a common pattern that many have used), by instead utilizing ERP/HCM API’s where feasible, but there's always cases where we will still need to use BIP in this manner, because API support doesn't have the columns or filters required, or the API may just not exist, as an example.

My recommendation here is to instead schedule the BIP extracts and load the data to the VBCS ATP (if you have your own tenant database for VBCS, which you should), then create stored procedures to retrieve it from VBCS via REST, and that way you do not hammer ERP/HCM via the BIP layer, and just hit it once when the scheduled job runs instead. If you don't use VBCS but extract data out of ERP/HCM into your own downstream database, you can do the same rather than allowing direct API traffic into ERP/HCM, and this isn't limited to BIP extracts. Meaning, you can extract data from Fusion using BICC, and other means better than BIP, into a warehouse or data lake and then use ORDS to create an API layer for systems, if the frequency of data needs align.

Lastly, the below talks about the simplicity of deploying ORDS assets, which is very important due to stringent requirements from TO Security around code quality scanning and vulnerabilities with tools like SonarQube. Since ORDS and APEX when exported are just SQL and PLSQL files, there's not much to be concerned about, unlike with high code frameworks with extensive projects with hundreds of files in the build artifacts).


ORDS is an excellent tool on it's own right, and when paired with APEX it can do wonders, but that's a topic for another day!

Thursday, April 11, 2024

Oracle LiveLabs - Hands On Education


Hello everyone!

I wanted to bring to your awareness this capability offered by Oracle LiveLabs Home (oracle.com)

Oracle LiveLabs gives you access to Oracle's tools and technologies to run a wide variety of labs and workshops using an Oracle tenancy. There’s extremely good content for Developers, DevOps, Data Engineers, Architects and Data Scientists (including content around data lakes, data warehouses, analytics, ML, AI, etc.), particularly in, but not limited to, the OCI space.

Checkout the full blog on LinkedIn at https://www.linkedin.com/pulse/oracle-livelabs-hands-education-julio-lois-flwze