> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flexagon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# csvImport

> This operation unzips artifact from csvExport, start import process for all Setup Task CSV Packages to target environment, and waits for completion. T

This operation unzips artifact from csvExport, start import process for all Setup Task CSV Packages to target environment, and waits for completion. The csvImport operation can only be used with a FlexDeploy package-based project of type Oracle SaaS FSM.

Artifact contains zero or more zipped Setup Task CSV packages.

As of versions 6.5.0.20, 7.0.0.11, 8.0.0.6, and 9.0.0.0, this operation imports some files as JSON (Lookups, ValueSet) and others as CSV. Both formats can be successfully uploaded by the import operation.

> [!NOTE]
>
> ## Setup Data Update Rules During Import
>
> When you import a configuration package to the target environment, setup data in the target is modified as follows:
>
> * If a record exists in the configuration package but doesn't exist in the target, then import creates the record.
>
> * If a record doesn't exist in the configuration package but exists in the target, then import doesn't modify the record in the target.
>
>   **Note:**
>
>   Import doesn't delete the records in the target that don't exist in the configuration package. You must delete these records or make them obsolete manually, if necessary.
>
> * If a record exists both in the configuration package and in the target, then:
>
>   * If all attribute values are the same, import doesn't modify the record in the target.
>
>   * If values of any attributes of the record are different, then import updates the record in the target with the values in the configuration package.

# Target Properties

<table><colgroup><col /><col /><col /><col /></colgroup><tbody><tr><th>**Property Name**</th><th>**Property Code**</th><th>**Required**</th><th>**Description**</th></tr><tr><td>Oracle SaaS FSM Account</td><td>`FDFSM_CLOUD_ACCOUNT_CODE`</td><td>No\*</td><td>Oracle SaaS cloud 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.You can manage the Oracle SaaS cloud account via the **Integrations > Cloud** page.See [Configuring Oracle SaaS Cloud Account](https://docs.flexagon.com/flexdeploy-11-1-documentation/flexdeploy-plugin-guides/flexdeploy-oracle-saas-fsm-plugin-guide/configuring-oracle-saas-cloud-account.md) for additional details.</td></tr><tr><td>Oracle SaaS FSM ChromeDriver Path</td><td>`FDFSM_CHROME_DRIVER_PATH`</td><td>No\*</td><td>Location of the chromedriver executable. I.E. /usr/local/bin/chromedriver or C:/Users/user/Documents/chromedriver.exe.** **This is only used if** **`FDFSM_INP_COMPILE_FORMULAS` is enabled and the api call to compile the fast formula returns a 403.See Special Considerations below for instructions on how to download install google chrome and download chromedriver.</td></tr></tbody></table>

# Project Properties

<table><colgroup><col /><col /><col /><col /></colgroup><tbody><tr><th>**Property Name**</th><th>**Property Code**</th><th>**Required**</th><th>**Description**</th></tr><tr><td>Stop on Deployment Error</td><td>`FDFSM_STOP_ON_ERROR`</td><td>No</td><td>Stop deploying package files if any error occurs. If unchecked all files will be deployed even if one or more files fails. Defaults to true.</td></tr></tbody></table>

# Inputs

<table><colgroup><col /><col /><col /><col /></colgroup><tbody><tr><th>**Input Name**</th><th>**Input Code**</th><th>**Required**</th><th>**Description**</th></tr><tr><td>Oracle SaaS FSM Account</td><td>`FDFSM_INP_CLOUD_ACCOUNT_CODE`</td><td>No\*</td><td>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.</td></tr><tr><td>API Timeout</td><td>`FDFSM_INP_TIMEOUT`</td><td>No</td><td>Maximum amount of time (seconds) to wait for import process to complete after it is started. Defaults to 900 seconds (15 minutes).</td></tr><tr><td>Compile Fast Formulas</td><td>`FDFSM_INP_COMPILE_FORMULAS`</td><td>No</td><td>Enable compile fast formula after successful import. Applicable to packages containing one more fast formulas. Defaults to true. See special considerations section for additional Chrome browser dependency.</td></tr><tr><td>Compile Formula UI Timeout</td><td>`FDFSM_INP_COMPILE_FORMULAS_UI_TIMEOUT`</td><td>No</td><td>Maximum amount of time (seconds) to wait for Compile Formula payroll flow to complete. Defaults to 300 seconds (5 minutes).</td></tr><tr><td>Remote Allow Origins</td><td>`FDFSM_INP_REMOTE_ALLOW_ORIGINS`</td><td>No</td><td>The value of remote-allow-origins on the Selenium ChromeDriver. Set the value to "\*" or specific URL if there are ConnectionFailedException errors during compilation of a Fast Formula.Using Google-Chrome version v111+ you may be experiencing an error like the below when compiling a fast formula through Selenium Chrome driver:<pre>org.openqa.selenium.remote.http.ConnectionFailedException: Unable to establish websocket connection to [http://localhost:49877/devtools/browser/3a3af47d-732a-4337-a91c-18c8ced545cd](http://localhost:49877/devtools/browser/3a3af47d-732a-4337-a91c-18c8ced545cd)</pre></td></tr><tr><td>Save Import Result File</td><td>`FDFSM_INP_SAVE_IMPORT_RESULT_FILE`</td><td>No</td><td>Saves a comparison result file to the reports directory as a JSON file. The JSON file provides a summary of the comparison process and represents the table shown in the Comparison Details section of the user interface.</td></tr><tr><td>Save Import Report File</td><td>`FDFSM_INP_SAVE_IMPORT_REPORT_FILE`</td><td>No</td><td>Saves a comparison report file to the report's directory as a HTML file. The HTML file provides comparison reports for each of the business objects that were processed. For each business object, a report each for Only in Configuration 1, In Both with Mismatch, and Only in Configuration 2, as applicable is provided.</td></tr><tr><td>Save Import Summary Report File</td><td>`FDFSM_INP_SAVE_IMPORT_SUMMARY_REPORT_FILE`</td><td>No</td><td>Saves a comparison report file to the report's directory as a HTML file. The HTML file provides a summary of the process results, which displays a list of all the processed business objects, and whether their processing completed successfully, or with errors.</td></tr></tbody></table>

# Artifacts

This operation consumes artifacts from the artifacts repository.

# 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

## Compile Fast Formulas - Compilation Methods used and optional Chrome Browser Dependency

If `FDFSM_INP_COMPILE_FORMULAS` is enabled, then compile is attempted for each Fast Formula object in the package. First, SOAP compilation is attempted. if that fails, the Oracle APIs to compile are used. If that fails with a 403, the plugin can optionally make a second attempt using a headless Chrome browser run through Selenium to compile from the Oracle SaaS UI. In the last case, Google Chrome and the chromedriver must be installed on the endpoint. If the endpoint is localhost then, Chrome and chromedriver should be installed on the FlexDeploy server. See the below for detailed instructions to install Google Chrome in an Unix environment. Windows install is not covered in the following.

### Google Chrome Install

```
// (Option 1) With yum for RedHat-based Linux Distributions i.e. AlmaLinux, CentOS, Fedora, RedHat, Rocky Linux
yum -y install google-chrome-stable_current_x86_64.rpm

// If you get cannot open rpm error (Can not load RPM file: google-chrome-stable_current_x86_64.rpm) you can instead just download the rpm itself and then install with the file
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
yum install ./google-chrome-stable_current_*.rpm

// If you run into errors you may need to clear the yum cache or update yum
yum clean all
rm -r /var/cache/yum
yum -y update

// If you get error like 'Invalid configuration value: failovermethod=priority in /etc/yum.repos.d/nodesource-el8.repo; Configuration: OptionBinding with id "failovermethod" does not exist'
// Go to /etc/yum.repos.d/nodesource-el8.repo and comment out the 'failovermethod' entries
cat /etc/yum.repos.d/nodesource-el8.repo
[nodesource]
name=Node.js Packages for Enterprise Linux 8 - $basearch
baseurl=https://rpm.nodesource.com/pub_14.x/el/8/$basearch
#failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/NODESOURCE-GPG-SIGNING-KEY-EL

[nodesource-source]
name=Node.js for Enterprise Linux 8 - $basearch - Source
baseurl=https://rpm.nodesource.com/pub_14.x/el/8/SRPMS
#failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/NODESOURCE-GPG-SIGNING-KEY-EL
gpgcheck=1

// (Option 2) With dpkg
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
```

Test Google Chrome installation

```
google-chrome &
```

### Chromedriver Install

Download the chromedriver from [https://chromedriver.chromium.org/downloads](https://chromedriver.chromium.org/downloads) which is supported for the google chrome version installed on your endpoint. Linux, mac, and windows binaries are available. Where you store the chromedriver executable should set on target property **Oracle SaaS FSM ChromeDriver Path**.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12596417654.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=cae9694f47d6efbee22129f62caa9a27)

```
wget https://chromedriver.storage.googleapis.com/107.0.5304.62/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
// Suggest moving the chromedriver somewhere like /usr/local/bin
// mv chromedriver /usr/local/bin
```

## FSM Setup Task Import Reports

CSVImport can generate additional reports and log files which are viewable and downloadable from workflow execution → reports tab. The .log file will always be a generated report. Keep in mind, the contents of the .log file will also be outputted to the plugin log file. Additional reports that can be generated include:

* \<TASK\_CODE>\_ProcessResultsSummaryReport\_\<EXPORT\_DATE\_TIME>.html - A high level overview of the number of objects exported and the execution time

* \<TASK\_CODE>\_ProcessResultsReport\_\<EXPORT\_DATE\_TIME>.html - A high level overview of the objects imported by business object and the execution time for each

* \<TASK\_CODE>\_ProcessResult \_\<EXPORT\_DATE\_TIME>.json - The response body from the Import API after export has completed. This is generally not used but provided regardless.

To include any of the additional reports, you must enable those in the csvImport workflow operation.

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12596417612.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=35acddd377a852d3900cb2f2f1c39a21)

Example reports:

AP\_MANAGE\_TAX\_CODES\_ProcessLog\_20231211\_153950\_0415.log

```
The import process was initiated calling the import API as indicated below. Import operation: submitTaskCSVImport.Request ID: 7,185,711. Status: In progress. Submitted By: CURTIS.FEITTY. Process Date: 12/11/23 9:37 PM.

Business object: Business Unit GCO Tax Subscription. Status: Completed successfully. Status details: 
	Detail Object: TaxRegime. Status: Completed successfully. Status Details: A total of 1 rows were processed. 0 rows of them failed and 0 rows completed with warnings.. Started: 12/11/23 9:38 PM. Ended: 12/11/23 9:38 PM.
	Detail Object: BusinessUnitTaxProfile. Status: Completed successfully. Status Details: A total of 80 rows were processed. 0 rows of them failed and 0 rows completed with warnings.. Started: 12/11/23 9:38 PM. Ended: 12/11/23 9:38 PM.

Business object: Business Unit Regime Subscription Detail. Status: Completed successfully. Status details: This object was already processed. The import or export details were listed under the Business Unit GCO Tax Subscription business object.

Business object: Business Unit Tax Regime Profile. Status: Completed successfully. Status details: This object was already processed. The import or export details were listed under the Business Unit GCO Tax Subscription business object.

Business object: Business Unit Regime Usage. Status: Completed successfully. Status details: This object was already processed. The import or export details were listed under the Business Unit GCO Tax Subscription business object.

Business object: Tax Regime Subscription Exclusion. Status: Completed successfully. Status details: This object was already processed. The import or export details were listed under the Business Unit GCO Tax Subscription business object.

Business object: Transaction Tax Threshold Schedule Control. Status: In progress. Status details: 
	Detail Object: TransactionTax. Status: Completed successfully. Status Details: A total of 1 rows were processed. 0 rows of them failed and 0 rows completed with warnings.. Started: 12/11/23 9:38 PM. Ended: 12/11/23 9:38 PM.

Business object: Transaction Tax Threshold Schedule Control. Status: In progress. Status details: 
	Detail Object: TaxJurisdiction. Status: Completed successfully. Status Details: A total of 0 rows were processed. 0 rows of them failed and 0 rows completed with warnings.. Started: 12/11/23 9:39 PM. Ended: 12/11/23 9:39 PM.
	Detail Object: TransactionTax. Status: Completed successfully. Status Details: A total of 1 rows were processed. 0 rows of them failed and 0 rows completed with warnings.. Started: 12/11/23 9:38 PM. Ended: 12/11/23 9:38 PM.

Business object: Transaction Tax Threshold Schedule Control. Status: Completed successfully. Status details: 
	Detail Object: TaxSettlementAuthorityVO. Status: Completed successfully. Status Details: A total of 1 rows were processed. 0 rows of them failed and 0 rows completed with warnings.. Started: 12/11/23 9:39 PM. Ended: 12/11/23 9:39 PM.
	Detail Object: TaxJurisdiction. Status: Completed successfully. Status Details: A total of 0 rows were processed. 0 rows of them failed and 0 rows completed with warnings.. Started: 12/11/23 9:39 PM. Ended: 12/11/23 9:39 PM.
	Detail Object: TransactionTax. Status: Completed successfully. Status Details: A total of 1 rows were processed. 0 rows of them failed and 0 rows completed with warnings.. Started: 12/11/23 9:38 PM. Ended: 12/11/23 9:38 PM.

Business object: Transaction Default Tax Account. Status: Completed successfully. Status details: This object was already processed. The import or export details were listed under the Transaction Tax Threshold Schedule Control business object.

Business object: Transaction Jurisdiction Default Tax Account. Status: Completed successfully. Status details: This object was already processed. The import or export details were listed under the Transaction Tax Threshold Schedule Control business object.

Business object: Transaction Tax Jurisdiction. Status: Completed successfully. Status details: This object was already processed. The import or export details were listed under the Transaction Tax Threshold Schedule Control business object.

Business object: Transaction Tax Threshold Schedule. Status: Completed successfully. Status details: This object was already processed. The import or export details were listed under the Transaction Tax Threshold Schedule Control business object.

Business object: Transaction Tax. Status: Completed successfully. Status details: This object was already processed. The import or export details were listed under the Transaction Tax Threshold Schedule Control business object.

Business object: Tax Regime. Status: Completed successfully. Status details: This object was already processed. The import or export details were listed under the Business Unit GCO Tax Subscription business object.

Total Objects Processed: 12

Total Objects Succeeded: 12

Total Objects Failed: 0

Total Objects with Warnings: 0

Total Objects for External Loading: 0

Request ID: 7,185,711. Status: Completed successfully. Submitted By: CURTIS.FEITTY. Process Date: 12/11/23 9:39 PM.
```

AP\_MANAGE\_TAX\_CODES\_ProcessResultsSummaryReport\_20231211\_153950\_0415.html

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12596417648.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=a2fd31f139a7b691ec58876c27f6988b)

AP\_MANAGE\_TAX\_CODES\_ProcessResultsReport\_20231211\_153950\_0415.html

![Image](https://mintcdn.com/flexagon-llc-ce77a95c/NkeZh5D-Nf8j_WaD/images/fd111/12596417645.png?fit=max\&auto=format\&n=NkeZh5D-Nf8j_WaD\&q=85\&s=cd2f358a6d3d2637ffdefd7daf085a37)
