Exports CSV File Package(s) from an Oracle SaaS FSM server to the file system. This operation can be used from a utility workflow, which can also be augmented to sync the files to a source control management system (such as Git or Subversion). This allows the Oracle SaaS FSM project which is used for build and deployment to source from a source code repository rather than directly from a development SaaS instance.
Endpoint Tip
This operation uses HTTPS to communicate remotely to the Oracle SaaS FSM server, and therefore, can be executed on any endpoint (including LOCALHOST).
Target Properties
Property Name | Property Code | Required | Description |
---|---|---|---|
Oracle SaaS FSM Account |
| No* | Oracle SaaS FSM Account will be required on either the plugin input or Target. If a value is set on both then, the plugin input will take precedence. See Special Considerations below for instructions on how to create Oracle SaaS FSM account. |
Inputs
Input Name | Input Code | Required | Description |
---|---|---|---|
Oracle SaaS FSM Account |
| No* | Oracle SaaS FSM Account will be required on either the plugin input or Target. If a value is set on both then, the plugin input will take precedence. See Special Considerations below for instructions on how to create Oracle SaaS FSM account. |
API Timeout |
| No | Maximum amount of time (seconds) to wait for export process to complete after it is started. Defaults to 900 seconds (15 minutes). |
Download Folder |
| No | Absolute or relative target folder path. Relative path will be assumed in FD_TEMP_DIR. |
Stop on Error |
| No | Stop exporting CSV File Package, if any error occurs. If false or not specified, exporting of other CSV File Packages will continue. |
JSON File Path |
| Yes | A list of tasks for export expressed as a JSON object. The JSON must contain a json array called “tasks”. See special considerations for details. @since 7.0.0.3 The value can directly be a JSON array or an absolute/relative path to a JSON file. If the first line begins with '@' then it assumed to be path to a file and try to load that. For example, @DEV_CSV_File_Packages.conf. @before 7.0.0.3 Only the path to a JSON file is supported and '@' is not required. Relative paths will be assumed in FD_TEMP_DIR. The JSON file can either be
See special considerations for more information about format and contents of JSON File Path. |
Extract CSV File Package |
| Yes | @since 7.0.0.3 Optionally expand (unzip) the exported zip file. Default to true. This is useful for developers or reviewers to view the content of the CSV file package (zip) in a SCM without needing to unarchive the file first. |
Artifacts
This operation does not produce any artifacts.
Endpoint Selection
This operation will select all available endpoints associated to the Target.
Endpoint Execution
This operation will execute on any one of the selected endpoints and will be random in the determination of which one.
Special Considerations
Oracle SaaS FSM Account*
Before using this plugin operation, navigate to Topology → Integrations → Cloud, then create an account with provider OracleFSM for each one of your SaaS environments. This account will store the URL and credentials to make HTTPS requests to your SaaS environment. The account will be reusable by all Oracle SaaS FSM Plugin operations. All fields shown are required.
JSON File Path
csvDownloadAdvanced is expecting a file containing a json object with an array of data, which we call tasks. Recommendation is to name this file something along the lines of "FSMSetupTasks-Development" and give it an extension of .json. The "Development" postfix on the file name is to denote that these tasks will get exported from your Development Oracle SaaS FSM environment. Typically user will maintain one json file containing the below content because syncing to SCM process happens against one SaaS environment (Development in this case).
FSMSetupTasks-OLD.json
@before 7.0.0.3 This JSON format is preceded by FSMSetupTasks-NEW.json as using this format will only allow for one export criteria to be configured. We suggest using the keys ExportCriteria
and FilterCriteria
instead. However, keep in mind using this format will add an additional part in the path. More on this later.
{ "tasks" : [ { "TaskCode" : "PAY_MANAGE_FAST_FORMULA", "BusinessObjectCode" : "", "AttributeName" : "", "AttributeValue" : "" }, { "TaskCode" : "PAY_MANAGE_FAST_FORMULA", "BusinessObjectCode" : "FF_FORMULA", "AttributeName" : "FormulaName1", "AttributeValue" : "EXT_ASSIGNMENTS_RECORD300000189455050_300000189455050" }, { "TaskCode" : "PAY_MANAGE_FAST_FORMULA", "BusinessObjectCode" : "FF_FORMULA", "AttributeName" : "BaseFormulaName", "AttributeValue" : "EXT_BENEFITS_RECORD300000189455103_300000189455103##EXT_PERFORMANCES_RECORD300000189455100_300000189455100" }, { "TaskCode" : "FUN_MANAGE_BUSINESS_UNIT", "BusinessObjectCode" : "FUN_BUSINESS_UNIT", "AttributeName" : "Name", "AttributeValue" : "AU Council Business Unit" }, { "TaskCode" : "GL_MANAGE_CHART_OF_ACCOUNTS_VALUE_SETS", "BusinessObjectCode" : "", "AttributeName" : "", "AttributeValue" : "FlexDeploy Value Set Accounts##FlexDeploy Value Set Currencies" } ] }
Referencing the above list of "tasks" one by one:
Downloads the entire Fast Formula task
Notice only TaskCode is set
Downloads the Fast Formula task scoped by Formula Name of EXT_ASSIGNMENTS_RECORD300000189455050_300000189455050
Notice all values are set and AttributeValue has only single value
Downloads the Fast Formula task scoped twice. Once scoped by base formula name of EXT_BENEFITS_RECORD300000189455103_300000189455103 and a second time scoped by base formula name of EXT_PERFORMANCES_RECORD300000189455100_300000189455100
When 2 more values are set (delimited by ##), then an individual CSV File package is downloaded for each value with respective scope applied.
Downloads the Manage Business Unit task scoped by Name of AU Council Business Unit
Downloads the Manage Chart of Accounts Value Set task twice. Once filtered by value set code of FlexDeploy Value Set Accounts and a second time filtered by value set code of FlexDeploy Value Set Currencies.
FSMSetupTasks-NEW.json
@since 7.0.0.3 ExportCriteria and FilterCriteria are supported in the json file. The previous format is still supported, but the new format will allow for multiple export or filter criteria to be configured. If both formats exists, then the new format will take precedence.
{ "tasks": [ { "TaskCode" : "XLE_MANAGE_LEGAL_ENTITY", "ExportCriteria": [ { "BusinessObjectCode" : "XLE_ENTITY_PROFILE", "AttributeName" : "LegalEntityIdentifier", "AttributeValue" : "LE_AU_01", } ] }, { "TaskCode" : "PAY_MANAGE_FAST_FORMULA", "FilterCriteria": [ { "BusinessObjectCode" : "FF_FORMULA", "Operator" : "Equals", "AttributeName" : "FormulaName", "AttributeValue" : "MANAGER RANGE OF SCHEDULED HOURS", } ] } ] }
The JSON objects within the "tasks" array can contain these 7 keys.
Key | Required | Description |
---|---|---|
TaskCode | Yes | Code of the Setup Task. |
BusinessObjectCode | No* | @since 7.0.0.3 deprecated Code of the business object whose attribute is used as the scope. Leave value empty to export entire Setup Task. *Required to apply scope to Setup Task object type. |
AttributeName | No* | @since 7.0.0.3 deprecated Name of the attribute of the business object used as the scope. Leave value empty to export entire Setup Task. *Required to apply scope to Setup Task object type. |
AttributeValue | No* | @since 7.0.0.3 deprecated Value of the named attribute that defines the filter criteria. Provide multiple values using ## I.E. VALUE1##VALUE2. Leave value empty to export entire Setup Task. If you provide more than one value using ## separator, individual file for each value is downloaded. *Required to apply scope to Setup Task object type. Otherwise, all supported non-Setup Task object type (I.E. Value Set, Lookups, or Flexfields), only Attribute Value and TaskCode are required. BusinessObjectCode and AttributeName can be left empty. See JSON object 5 example in FSMSetupTasks-Development.json |
FileName | No* | @since 7.0.0.3 not supported Name of zip file. If no provided attribute value is used as zip file name. Spaces in name are replaced with _. If multiple values are provided for AttributeValue using ## separator, you can provide same number of elements for FileName as well for individual file. |
ExportCriteria | No* | @since 7.0.0.3 List of criteria objects applied at export time. This is configured in the same fashion as the export criteria on a packaged-based FSM project, see https://flexagon.atlassian.net/wiki/spaces/FD80/pages/10340171796/Oracle+SaaS+FSM+Object+Type+-+Setup+Task#Export-Criteria for more details. Each export criteria object requires the following key-value pairs:
If any of the keys or values are missing csvDownloadAdvanced will throw a validation error. |
FilterCriteria | No* | @since 7.0.0.3 List of criteria object applied post export for additional filtering. This is configured in the same fashion as the filter criteria configured on a packaged-based FSM project, see https://flexagon.atlassian.net/wiki/spaces/FD80/pages/10340171796/Oracle+SaaS+FSM+Object+Type+-+Setup+Task#Filter-Criteria for more details. Each filter criteria object requires the following key-value pairs:
|
Download Folder Structure
csvDownloadAdvanced maintains the following folder structure convention when saving the CSV File packages to the file system:
If the new JSON format is used ExportCriteria
and FilterCriteria
, then the ValueSets, Lookups, Flexfields, and FastFormulas part will not be added to the path. This is both for simplicity and only the listed object types do not support filter criteria on a FSM project.
Inputs Provided | Output File |
---|---|
Only FDFSM_INP_TASK_CODE is provided | <FDFSM_INP_DOWNLOAD_FOLDER>/SetupTasks/<FDFSM_INP_TASK_CODE>.zip |
If FDFSM_INP_TASK_CODE and FDFSM_INP_ATTRIBUTE_VALUE is provided | <FDFSM_INP_DOWNLOAD_FOLDER>/SetupTasks/<FDFSM_INP_TASK_CODE>/<FDFSM_INP_ATTRIBUTE_VALUE>.zip |
If FDFSM_INP_TASK_CODE and FDFSM_INP_ATTRIBUTE_VALUE is provided, and task is ValueSet related | <FDFSM_INP_DOWNLOAD_FOLDER>/SetupTasks/ValueSets/<FDFSM_INP_TASK_CODE>/<FDFSM_INP_ATTRIBUTE_VALUE>.zip |
If FDFSM_INP_TASK_CODE and FDFSM_INP_ATTRIBUTE_VALUE is provided, and task is Lookup related | <FDFSM_INP_DOWNLOAD_FOLDER>/SetupTasks/Lookups/<FDFSM_INP_TASK_CODE>/<FDFSM_INP_ATTRIBUTE_VALUE>.zip |
If FDFSM_INP_TASK_CODE and FDFSM_INP_ATTRIBUTE_VALUE is provided, and task is FlexField related | <FDFSM_INP_DOWNLOAD_FOLDER>/SetupTasks/Flexfields/<FDFSM_INP_TASK_CODE>/<FDFSM_INP_ATTRIBUTE_VALUE>.zip |
If FDFSM_INP_TASK_CODE and FDFSM_INP_ATTRIBUTE_VALUE is provided, and task is Fast Formula related | <FDFSM_INP_DOWNLOAD_FOLDER>/SetupTasks/FastFormulas/<FDFSM_INP_TASK_CODE>/<FDFSM_INP_ATTRIBUTE_VALUE>.zip |
Notes
All spaces in file path / name will be replaced with underscore and : will be replaced with %3a.