Oracle’s Functional Setup Manager (FSM) UI provides export/import capabilities to move setups and other configurations from one environment to another, however it requires a user to manually invoke the move. While not a challenging task, it can be time consuming to manually submit the export process, monitor, download the artifact file, and do the reverse to import into a subsequent environment. Additionally, some setup tasks can be migrated partially allowing users to move only a subset of a single setup. While it’s helpful to move only needed setup components, this adds more manual work as a user will need to perform migrations by carefully selecting which components or pieces to migrate.
With FlexDeploy’s Oracle SaaS FSM Plugin, users have the ability to automate the export and import of setup tasks as a whole or partially using FlexDeploy’s scope feature. This removes manual intervention and brings this migration into the Enterprise DevOps platform with support for governance and audit.
As a further option, you can choose to categorize your setups in FlexDeploy as generic Setup Tasks or as Fast Formulas. The latter can be ignored if you wish as generic setups will be able to handle all setup configuration. More on these types later.
Let’s get started.
Configuring FlexDeploy for SaaS Setup Tasks
To start automating deployments with FlexDeploy, we will need the following:
- A build and deploy workflow using the csvExport operation and csvImport operations from the OracleSaaSFSM Plugin, respectively.
- Defined topology. In other words, the accounts, properties, and endpoints needed to connect to an Oracle application such as ERP, Oracle HCM Cloud, and SCM in order to execute instructions. This includes:
– An Oracle SaaS FSM cloud account containing credentials for Oracle cloud application.
– Reference the cloud account on an environment instance. - An Oracle SaaS FSM project.
Details on creating all of these components have already been covered in a similar blog.
We’ll keep this blog focused on Setups with scope, see Automate Migration of Oracle SaaS Configurations with FlexDeploy for setup instructions.
The Details
A few things to keep in mind for working with the FlexDeploy Oracle SaaS FSM Plugin.
Object Types
FlexDeploy will internally store attributes for each file you are trying to deploy whether you want to deploy the generic setup task or specifically a fast formula setup task.
- Task Code
- Export Criteria
- Task Code
- Formula Name
The main difference between these two object types is that Setup Task Attributes deploy all setup data related to a given setup task unless export criteria are specified. On the other hand, Fast Formula Attributes deploy setup data for a specific formula for the fast formula setup task. As such, it is reasonable to ignore the Fast Formula type and only use Setup Task type for Fast Formula as well. See the corresponding object type pages for more details.
Example Setup Task Deployment
At this point, we should have the main configuration in FlexDeploy (Workflows, Topology, and a Project) done. We will use the setup Manage Legal Entity as our scoped deployment example.
Click into the Manage Legal Entity task to see a table of existing entities available on your SaaS environment. Let’s use the value AU Council Legal Entity as our scope value. Note that we chose Name as the scope field, however, Legal Entity Identifier and Legal Entity ID are also supported for this specific setup.
Now we can go to FlexDeploy and create a scoped Setup Task for Manage Legal Entity. Note this FlexDeploy configuration is for an environment to environment migration.
Keep in mind all SaaS FSM files can be sourced automatically from Git, eliminating the need to create the file manually. For that functionality, you would need to push the CSV file package to SCM such as Github or GitLab and then click the Populate from GIT button to add files automatically. Populating from Git has a few other points to be aware of so I would recommend taking a look at the object type documentation again for that option.
To create the file manually, go to your project files catalog and follow the below steps:
- Click the Create button.
- Start typing in task name or task code, in our case Manage Legal Entity, and FlexDeploy will give you a list of suggestions to choose from.
- (Optional) If your task is scopable, then Export Criteria will populate a table of scopable attributes for you. Simply select the attribute you want, Name in our case, and type the value.
- File Name (with Path) will automatically generate a default path for you based on the setup and any criteria you define. Feel free to change this to follow some appropriate convention.
- Click the OK button once you’re happy and save your new file.
You will also notice the Exported Files section, which will tell you the names of the CSV files that will be in the CSV file package when build is executed for this setup.
Back on the Project Files screen you will see your new file “/SetupTasks/Manage_Legal_Entity/AU_Council_Legal_Entity.zip” and any Export Criteria you specified during creation of the file. The criteria is represented as a JSON string but you need not worry about the implementation details of that.
We will perform the build from our Development SaaS environment. After it completes, a CSV File package will be generated and saved to the FlexDeploy artifact repository.
If you download the artifact from FlexDeploy, the content will look something like the above image for each setup task. You’ll notice there are the same CSV files we saw previously in Exported Files.
Finally, perform the deploy of this artifact to our Test SaaS environment and we’re done!
Example Fast Formula Deployment
Building and Deploying Fast Formula type will be much the same as Setup Task type with slightly simpler steps while creating the file and formula compilation after successful deployment. As a side note, formula compilation can be disabled with the FDFSM_INP_COMPILE_FORMULAS input on the plugin (by default this is enabled). We also recommend Google Chrome dependencies to be installed to ensure compilation is invoked. This is documented in detail on the FSM plugin page.
Navigating to our Oracle cloud application under the Setup and Maintenance area we can search for the Fast Formulas setup task.
After clicking on the Fast Formulas link, you can see a table of all the formulas available to you. We will use the formula with the base name of PERFORMANCE_FF_EXAMPLE_USING_PARTICIPANT_RATINGS_WITH_MANAGERS_RATINGS for our demo deployment. Keep in mind that only editable formulas can be exported and imported.
Now we can go to FlexDeploy and add this formula as a fast formula object. It is as simple as clicking Create, adding the path of the file, clicking Evaluate, and finally clicking OK. The path of the file is following our recommended structure when sourcing from the CLOUD which is “/SetupTasks/<TASK CODE>/<BASE_FORMULA_NAME>.zip”.
Keep in mind fast formulas files can also be sourced from GIT. For that functionality, you would need to push the CSV file package to SCM such as GitHub or GitLab and then click the Populate from GIT button to add files automatically. Populating from Git has a few other points to be aware of so I would recommend taking a look at the object type documentation again for that option.
We will build Performance_FF_Example_Using_Participant_Ratings_With_Managers_Rating file on our Dev SaaS environment.
Here we can see Build version 1.0.26 is running. Once that completes we will deploy the fast formula to our Test SaaS environment.
Now we can deploy to Test and we’re done!
We can look at completed exports or imports on the Oracle application as well. Here we can see the latest execution we just ran on December 29th was successfully imported by ROBERT.JACKMAN. The CSV File package itself can be downloaded from FlexDeploy artifacts or Oracle FSM UI to confirm the individual formula is imported.
Taking one more validation step, we can also see that the formula has a successful compile status and deployed the Formula Text from the Dev environment. Keep in mind if the formula you have deployed has invalid syntax, then the compile status should be in failed status. If compile formulas was not enabled, users would have to manually execute a bulk compile on the target environment, or worse, search through every fast formula deployed on the target environment and click the “Compile” button on the respective screen.
Conclusion
In this post you have seen how we can automate and manage Oracle Fusion application deployments using FlexDeploy. After an initial setup and file population, FlexDeploy can easily be used to monitor and deploy any number of changes to any number of Oracle applications such as ERP, Oracle HCM Cloud, and SCM. Keep track of your setup task deployments either on the whole file package level and/or on a scopeable level and in the special case of fast formulas, on a formula level.
See the FlexDeploy Oracle SaaS Plugin Guide for the most up to date information.