csvDownloadAdvanced

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

Property Name

Property Code

Required

Description

Oracle SaaS FSM Account

FDFSM_CLOUD_ACCOUNT_CODE

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

Input Name

Input Code

Required

Description

Oracle SaaS FSM Account

FDFSM_INP_CLOUD_ACCOUNT_CODE

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

FDFSM_INP_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

FDFSM_INP_DOWNLOAD_FOLDER

No

Absolute or relative target folder path. Relative path will be assumed in FD_TEMP_DIR.

Stop on Error

FDFSM_INP_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

FDFSM_INP_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

  1. Extract JSON File from SCM

  2. Use absolute path to location on server. (Not recommended as it requires manual setup on server)

See special considerations for more information about format and contents of JSON File Path.

Extract CSV File Package

FDFSM_INP_EXTRACT_CSV

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:

  1. Downloads the entire Fast Formula task

    • Notice only TaskCode is set

  2. 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

  3. 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.

  4. Downloads the Manage Business Unit task scoped by Name of AU Council Business Unit

  5. 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

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/FD70/pages/10340171796/Oracle+SaaS+FSM+Object+Type+-+Setup+Task#Export-Criteria for more details.

Each export criteria object requires the following key-value pairs:

  • BusinessObjectCode

  • AttributeName

  • AttributeValue

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/FD70/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

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.

The following macros are not currently supported in the footer:
  • style