Friday, November 11, 2016

How to Migrate/Transfer Workflow/Custom business events




WFXLoad

The Workflow XML Loader is a command line utility that lets you upload and download XML definitions for Business Event System objects between a database and a flat file.
When you download Business Event System object definitions from a database, Oracle Workflow saves the definitions as an XML file. ( .wfx extension)
When you upload object definitions to a database, Oracle Workflow loads the definitions from the source XML file into the Business Event System tables in the database, creating new definitions or updating existing definitions as necessary.

You can download Business Event System object definitions in either normal download mode or exact download mode.


  • Normal download mode: save a generic copy of object definitions from one system that you can use to create similar definitions in other systems. (ex. Dev instance to Prod instance)
  • Exact download mode: save object definitions exactly as they are specified in the database. (Ex. Prod instance to prod instance)


You can upload Business Event System object definitions in either normal upload mode or force upload mode.


  • In normal upload mode, the Workflow XML Loader loads the object definitions from the source XML file into the Business Event System tables in the database, but does not update any event or subscription definition with a customization level of User. Oracle Workflow uses this mode to preserve your customizations during upgrades.
  • In force upload mode, the Workflow XML Loader loads the object definitions from the source XML file into the Business Event System tables in the database and overwrites any existing definitions, even for events or subscriptions with a customization level of User. Use this mode when you want to update the definitions for your own custom events and subscriptions.


To Download Business Event System XML Definitions from a Database


  • To download Business Event System object definitions from a database to a flat XML file, you can either run the Workflow XML Loader manually, 
  • Or, if you are using the standalone version of Oracle Workflow, you can use sample scripts called wfxload for UNIX. These scripts are located on your server in the Oracle Workflow admin subdirectory. For example, on UNIX, use the following command:

wfxload -d[e] <user> <password> <connect_string> <protocol> <lang> <output_file> <object> <key> OWNER_TAG <owner_tag>

When running the Workflow XML Loader, use either the -d option or the -de option to specify the download mode that you want.


  • -d --Normal download mode. The loader converts system-specific data within the object definitions to tokens prefixed with #, where appropriate.
  • -de --Exact download mode. The loader copies the object definitions exactly and does not convert any data to tokens.


Additionally, replace the variables in the download command with your parameters as follows:


  • <user> -- DB user name
  • <password> -- DB password
  • <connect_string> -- The connect string for the database. The format of the connect string depends on the JDBC driver type.
    • For a JDBC OCI8 driver, the connect string should be the database name as specified in its TNSNAMES entry, in the following format: <database_name>
    • For a JDBC THIN driver, you can use two different types of connect string. For the first type, the connect string should include the host name, port number, and database system identifier (SID) in the following format: <host_name>:<port_number>:<database_SID>
    • For the second type, the connect string should include an Oracle Net name-value pair with the host name, protocol, port number, and SID in the following format: (description=(address=(host=<host_name>)(protocol= <protocol>)(port=<port_number>))(connect_data=(sid= <database_SID>)))
  • <protocol> -- The JDBC driver type you want to use to connect to the database. The JDBC driver type can be either oci8 or thin.
  • <lang> -- Standard language abbreviations for the Oracle Database, such as US for American or JA for Japanese. 
  • <output_file> -- The name and full path of the output file to which you want to save the definitions. The output file should have the extension .wfx.
  • <object> -- The type of object definitions you want to download.
    • EVENTS -- Event and event group member definitions
    • SUBSCRIPTIONS -- Event subscription definitions
    • AGENTS -- Agent and system definitions
  • <key> -- An optional key to restrict the definitions that are downloaded. If you specify a key, the loader retrieves definitions only for those objects whose internal names include that key.
  • OWNER_TAG <owner_tag> -- An optional program ID code for the program or application that owns the object definitions you want to download.


Providing few example below.
Can choose based on system configuration:


$ADJVAPRG oracle.apps.fnd.wf.WFXLoad -d apps_user apps_password "(description = (load_balance = on) (failover = on) (address_list = (address = (protocol=tcp)(host = xxxx.yyyy.zzz.com)(port = 1521))) (connect_data = (failover_mode = (type = select)(method = basic)(retries = 20)(delay = 15)) (service_name = db_service_name)))" thin US xxg_wf_ev.wfx EVENTS wf.apps.xxg.ce.custom.event

$ADJVAPRG oracle.apps.fnd.wf.WFXLoad -d apps_user apps_password "(description = (load_balance = on) (failover = on) (address_list = (address = (protocol=tcp)(host = xxxx.yyyy.zzz.com)(port = 1521))) (connect_data = (failover_mode = (type = select)(method = basic)(retries = 20)(delay = 15)) (service_name = db_service_name)))" thin US xxg_wf_ev.wfx SUBSCRIPTIONS wf.apps.xxg.ce.custom.event


adjava oracle.apps.fnd.wf.WFXLoad -d apps_user apps_password db_host:port:sid thin US ./xxg_wf_ev.wfx EVENTS wf.apps.xxg.ce.custom.event

adjava oracle.apps.fnd.wf.WFXLoad -d apps_user apps_password db_host:port:sid thin US ./xxg_wf_ev.wfx SUBSCRIPTIONS wf.apps.xxg.ce.custom.event


java oracle.apps.fnd.wf.WFXLoad -d apps_user apps_password db_host:port:sid thin US ./xxg_wf_ev.wfx EVENTS wf.apps.xxg.ce.custom.event

java oracle.apps.fnd.wf.WFXLoad -d apps_user apps_password db_host:port:sid thin US ./xxg_wf_ev.wfx SUBSCRIPTIONS wf.apps.xxg.ce.custom.event

No comments:

Post a Comment

How to improve blog performance

Improving the performance of a blog can involve a variety of strategies, including optimizing the website's technical infrastructure, im...