FTP Automation

Overview

FTP (File Transfer Protocol) Automation allows uploads (similar to Bulk Uploads functionality) to an FTP server. Scheduled uploads can be automatically imported into an Oracle CPQ site. Automated uploads can include:

FTP Automation is useful for Oracle CPQ sites that require stored data to be refreshed regularly. For example, your configuration might require updates to pricing tables from an ERP system. These updates are especially important if Oracle CPQ is the Parts Master (for Salesforce Parts Integration or integration with another CRM) and the Parts data is pushed from an ERP system to the Oracle CPQ site.

Beginning in Update 20B and later, Oracle CPQ provides for the upload of multiple XML controller files using FTP Automation. The controller XML files can reference multiple ZIP files. Each controller filename must include the prefix "upload_list" (e.g. upload_list1.xml, upload_list2.xml, upload_listA.xml). The XML controller files are processed one at a time in sequential order with the latest date/time controller XML file processed first. Once uploaded the file is deleted from the FTP folder. Bulk upload status is provided on an individual XML file basis as well as for completion of all the files in the FTP folder.

ClosedMultiple Controller File Example

If there are two controller files:

  • upload_list1.xml with last modified date of 3/26/2020
  • upload_list2.xml with last modified date of 3/20/2020

If both these files are uploaded to the FTP folder, CPQ picks up both files and start processing upload_list1.xml file with 3/26/2020 date first and then upload_list2.xml with date 3/20/2020 next.

If in the interim upload_list3.xml with last modified date of 3/30/2020 is uploaded to the FTP folder, this file is picked up by the scheduler in the next processing cycle once the scheduling interval/wait time is completed.

If a controller upload_list.xml files contains references to multiple ZIP files, the ZIP files are processed in the order of their reference within the controller file. In the example below, parts.zip is processed first followed by datatables.zip.

<?xml version="1.0" encoding="UTF-8"?>
<files>
  <file>
    <name>parts.zip</name>
    <type>REGULAR</type>   </file>   <file>     <name>datatables.zip</name>
    <type>REGULAR</type>   </file>
</files>

Administration

ClosedSetting up FTP Automation

  1. Contact My Oracle Support for the creation of an FTP profile and its corresponding "automated" folder on the FTP server.
  2. Prepare the files that will be uploaded.
    1. Determine the format of the CSV files that will be uploaded.

      Usually, the CSV format can be obtained by downloading the relevant CSV file from Bulk Data Services.

      The Data Table CSV format used with FTP Automation differs from the file format used when Data Tables are uploaded through the UI.

      The Data Table CSV file does not have to include header rows when using FTP Automation. However, if there are no headers, the system will not recognize the natural keys special _update_action column, and the uploaded data will look incorrect.
      If you are using natural keys, and want to use the _update_action column, include headers in your Data Table CSV file.
    2. After exporting a Data Table via the UI, delete the first 5 rows (_start meta data, column headings, data types, descriptions, and _end meta data) before uploading the table using FTP Automation.
    3. Place each file that will be uploaded into a separate .ZIP file.
  3. Prepare the Upload List (upload_list.xml).

    The upload_list.xml file lists the uploaded files in the order they will be processed. Example Upload List file:

    <?xml version="1.0" encoding="UTF-8"?>
    <files>
      <file>
        <name>Filename.zip</name>
        <type>REGULAR</type>
      </file>
    </files>
    For Data Table CSV uploads, the type is DATA_TABLES_CSV. For all other uploads, the type is REGULAR.
  4. Upload the files to the automated folder on the FTP server. Oracle recommends you use your preferred FTP client to copy the ZIP files and upload_list.xml file to the automated folder on the FTP server.
    1. Upload the ZIP files followed by the upload_list.xml file.
    2. Test the uploads manually.
    3. Test the automated process.

    Files are not deleted from the temporary folder if the scheduled upload time passes and no upload_list.xml file is uploaded.

    However, if a new upload_list.xml file is uploaded (for example, for a new set of files in the next scheduled upload), it will overwrite the previous upload_list.xml file, and the corresponding ZIP files will not be uploaded to CPQ.

    If an upload_list.xml file lists ZIP files that have not been uploaded, any ZIP files that were uploaded will still be processed correctly.
    Testing the manual & automated process ensures that the schedule allows sufficient time to process one upload before the next upload is sent.

ClosedUploading Multiple Controller Files

  1. If you haven't done so already, contact My Oracle Support for the creation of an FTP profile and its corresponding "automated" folder on the FTP server.
  2. Prepare the files that will be uploaded.
    1. Determine the format of the CSV files that will be uploaded.

      Usually, the CSV format can be obtained by downloading the relevant CSV file from Bulk Data Services.

      The Data Table CSV format used with FTP Automation differs from the file format used when Data Tables are uploaded through the UI.

      The Data Table CSV file does not have to include header rows when using FTP Automation. However, if there are no headers, the system will not recognize the natural keys special _update_action column, and the uploaded data will look incorrect.
      If you are using natural keys, and want to use the _update_action column, include headers in your Data Table CSV file.
    2. After exporting a Data Table via the UI, delete the first 5 rows (_start meta data, column headings, data types, descriptions, and _end meta data) before uploading the table using FTP Automation.
    3. Place each file that will be uploaded into a separate .ZIP file.
  3. Prepare an XML controller file. Each controller filename must include the prefix upload_list. For example: upload_list1.xml, upload_list2.xml, upload_listA.xml, etc.

    The upload_list.xml file lists the migration ZIP files in the order to be processed. The following shows the XML format for the upload_list.xml file.

    <?xml version="1.0" encoding="UTF-8"?>
    <files>
      <file>
        <name>filename_1.zip</name>
        <type>REGULAR</type>   </file>
      <file>
        <name>filename_2.zip</name>
        <type>REGULAR</type>
      </file>
    </files>
  4. Upload the ZIP files referenced in the upload_list.xml controller file.
  5. Upload the upload_list.xml controller file which contains the reference(s) to the ZIP file(s) from step 1.
  6. Repeat steps 2 through 4 for each XML controller file. Note that the XML controller files are processed one at a time in sequential order with the latest date/time controller XML file processed first.

    When the import is complete, an email notification is sent to the SuperUser for the site.


ClosedImporting a Migration Package using FTP Automation

Migration packages are administrator-defined packages of components that can easily be moved from site to site without the administrator having to reselect components before each migration. Migration packages and individual components of a migration package can be imported into Oracle CPQ using the Migration Center or, beginning in Update 20B, using FTP Automation data transfer.

To import a migration package using FTP, perform the following steps:

  1. If you haven't done so already, contact My Oracle Support for the creation an FTP profile and its corresponding "automated" folder on the FTP server.
  2. Prepare an XML controller file for the migration package ZIP file. The controller filename must include the prefix upload_list.

    The upload_list.xml file lists the migration ZIP file. The following shows the XML format for the migration package upload_list.xml file.

    <?xml version="1.0" encoding="UTF-8
    <files>
      <file>
        <name>migrationpackagefilename.zip</name>
        <type>REGULAR</type>
      </file>
    </files>
  3. Upload the migration package ZIP file referenced in the migration package upload_list.xml controller file.
  4. Upload the migration package upload_list.xml controller file.
  5. Navigate to the Bulk Data Upload Status page to view the migration package status.
    Admin Home > Utilities > Bulk Data Services -Upload(Status)
When uploading a migration package via FTP Automation, the following default values are set (and not able to be changed by an administator) for the migration:
  • The migration package Description is set to Automatic Bulk Upload of migration package
  • The Send Notification is not set to send email notifications
  • The Include Snapshot is not set to take a snapshot of the target site immediately before performing the migration
  • The Target Process is set to Default Migration where a standard package migration is performed
  • Cross Process Migration is not supported when uploading a migration package via FTP Automation.
  • Forward Version Migration is not supported when uploading a migration package via FTP Automation.
  • FTP Automation support full package migration only and doesn't allow granular selection for migration.

  • Unlike other FTP Automation features, which are manually operated via the Bulk Upload administration page, Import Migration Package continues to be accessible for manual operation via the Migration Center administration area.

ClosedAdditional Data Table Functionality

When uploading Data Tables, records in the upload are appended to the existing table in CPQ.

In addition to uploading Data Tables, actions such as Delete and Deploy can be triggered using the automated upload.

Action Files to Upload
Delete
  • upload_list.xml (this will specify Delete.ZIP with type "REGULAR")
  • Delete.ZIP (this will contain a delete.xml file)
Upload
  • upload_list.xml (this will specify Table.ZIP with type "DATA_TABLES_CSV")
  • Table.ZIP (this will contain a table.CSV file)
Deploy
  • upload_list.xml (this will specify Deploy.ZIP with type "REGULAR")
  • Deploy.ZIP (this will contain a deploy.xml file)
These processes must run in the correct sequence, either by uploading the Delete, Upload, and Deploy files during consecutive scheduled upload events, or by loading the files at the same time listed in the correct order in the upload_list.xml file.

<?xml version="1.0" encoding="UTF-8"?>
<record_list>
  <site_version><![CDATA[12.2.0]]></site_version>
  <each_record>
    <category>bm_script_data</category>
    <action>delete_all</action>
    <table_name>pricing</table_name>
  </each_record>
</record_list>

<?xml version="1.0" encoding="UTF-8"?>
<record_list>
  <site_version><![CDATA[12.2.0]]></site_version>
  <each_record>
    <category>bm_script_data</category>
    <action>deploy</action>
    <table_name>pricing</table_name>
  </each_record>
</record_list>

For more information on Data Tables, see the topic Data Table Overview.

Notes

Contact Oracle CPQ Ops before setting up FTP Automation.
When an administrator uploads data to their Oracle CPQ Site using FTP, upon completion an e-mail notification is sent to the SuperUser of that site. The e-mail includes a success or failure status, as well as details regarding the upload. The FTP upload can be either scheduled or manual.

Related Topics

Related Topics Link IconSee Also