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.

As of 6.5.0.20, 7.0.0.11, 8.0.0.6, and 9.0.0.0, this operation will source some files as json files, and others as CSV files. Both can be uploaded successfully by the import operation, but the JSON packages will show as different files in SCM, so you may need to manually remove the old files if you use the operation both before and after upgrading between those versions. The types of files that are now downloaded as JSON instead of CSV are a subset of Value Sets and Lookups. The JSON download is much faster and smaller than the CSV one is. The resolves several issues that customers brought up where value sets and look ups were not exported properly due to file size restrictions in the export process.

Value Sets are downloaded as JSON now instead of CSV if the following criteria are met:

  • The TaskCode is set to FND_MANAGE_VALUE_SETS

  • The AttributeName is set to ValueSetCode

  • The AttributeValue is set to the ValueSetCode of the ValueSet that you wish to download.

Lookups are downloaded as JSON now instead of CSV if the following criteria are met:

  • The TaskCode is set to one of FND_MANAGE_SET_ENABLED_LOOKUPS, FND_MANAGE_COMMON_LOOKUPS, or FND_MANAGE_STANDARD_LOOKUPS

  • The AttributeName is set to LookupType

  • The AttributeValue is set to the LookupType of the Lookup that you wish to download.

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" }, { "TaskCode": "FND_MANAGE_COMMON_LOOKUPS", "AttributeName": "LookupType", "AttributeValue": "ORA_PER_UNION_CODE" }, { "TaskCode": "FND_MANAGE_VALUE_SETS", "AttributeName": "ValueSetCode", "AttributeValue": "AHC_CUST_CATEGORY" } ] }

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.

  6. Downloads Lookup ORA_PER_UNION_CODE using the JSON format.

  7. Downloads ValueSet AHC_CUST_CATEGORY using the JSON format.

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" } ] }, { "TaskCode": "FND_MANAGE_COMMON_LOOKUPS", "ExportCriteria": [ { "AttributeName": "LookupType", "AttributeValue": "ORA_PER_UNION_CODE" } ] }, { "TaskCode": "FND_MANAGE_VALUE_SETS", "ExportCriteria": [ { "AttributeName": "ValueSetCode", "AttributeValue": "AHC_CUST_CATEGORY" } ] } ] }

Referencing the above list of "tasks" one by one:

  1. Downloads the Manage Legal Entity task where XLE_ENTITY_PROFILE column LegalEntityIdentifer is equal to LE_AU_01.

    • File path where this file to be downloaded is /SetupTasks/XLE_MANAGE_LEGAL_ENTITY/LE_AU_01.zip

  2. Downloads the Fast Formulas task where FF_FORMULA column FormulaName is equal to MANAGER RANGE OF SCHEDULED HOURS.

    • File path where this file to be downloaded is /SetupTasks/PAY_MANAGE_FAST_FORMULA/MANAGER_RANGE_OF_SCHEDULED_HOURS.zip

  3. Downloads the LookupType ORA_PER_UNION_CODE in JSON format.

  4. Downloads the ValueSet AHC_CUST_CATEGORY is JSON format.

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