Oracle

Use the Oracle database connector to connect to your Oracle database

Add connector

  1. Select Connectors in Hub menu and select Add Connector.

  2. Select Oracle Connector.

  3. Enter the name and optionally a description.

  4. Enter the configuration values for different environments.

  5. Select Save.

Configuration values

Configuration
Description

Agent Group

Agent group where the connector should be executed

Hostname

IP address or host name

Port

Port number. The standard port is 1521

Username

Username of the Global database user

Password

Password for the Global database user

Service Name Type Selector

Choose which type of name is given.

Service Name: Service name is the TNS alias that you give when you remotely connect to your database and this Service name is recorded in Tnsnames.

SID: Oracle Service ID is the unique name that uniquely identifies your instance/database.

Service Name / SID

Value for service name or the SID

Connection Timeout

Connection timeout, in seconds, to use when executing a script or a query. If not set, the default value of 90 seconds will be used

Schema/AppOwner

Database schema name

Initialization Command

Optional command to execute immediately after successful login. The initialization command is executed before each machine step that uses the specified connector configuration. Note - The user executing the flow app is accessible in the initialization command as :username

Cleanup Command

An optional command to execute on the database after the operation has been completed. Note - The user executing the flow app is accessible in the cleanup command as :username

Command Timeout

Command timeout, in seconds, to use when executing a script or a query. If not set, the default value of 90 seconds will be used

Edit connector

  1. Hover over the connector card and the context menu will appear, select Edit.

  2. You can now change or the configuration values for different environments name, description.

Delete connector

  1. Hover over the connector card and the context menu will appear, select Delete.

  2. Confirm and the connector will be deleted.

User Impersonation in IFS

Flow Classic

In the context of IFS database connections, it is a known pattern in Flow Classic to impersonate users programmatically. The Fnd_Session_Util_API.Impersonate_Fnd_User_ procedure, provided by IFS Applications, allows for impersonation of a user session at the database level. This impersonation is typically achieved using the Initialization Command, which runs before each machine step for the associated connector.

BEGIN 
    IFSAPP.Fnd_Session_Util_API.Reset_Fnd_User_;
    -- :userId - userid of the flow user executing the workflow
    IFSAPP.Fnd_Session_Util_API.Impersonate_Fnd_User_(upper(:userId));
END;

Flow Connect

To achieve similar behavior in Flow Connect, you can use the :username bind variable, which contains the email address of the Flow Connect user.

  1. If :username matches the DIRECTORY_ID of the IFS user being impersonated.

DECLARE  
    userId_ VARCHAR2(10); 
BEGIN
    --Retrieve identity of the IFS user for the given Directory ID
    SELECT IDENTITY INTO userId_ FROM IFSAPP.FND_USER WHERE web_user = UPPER(:username);
      
    IFSAPP.Fnd_Session_Util_API.Reset_Fnd_User_; 
    IFSAPP.Fnd_Session_Util_API.Impersonate_Fnd_User_(upper(userId_));  
END;
  1. If the mapping between Flow users and IFS users is maintained in a custom table, view, or PL/SQL package, you can simply adjust the logic used to retrieve the IFS user accordingly.

DECLARE  
    userId_ VARCHAR2(10); 
BEGIN
    --in this example the Flow user to IFS user mapping is kept on a custom table FLOW_IFS_MAPPING
    SELECT ifs_user INTO userId_ FROM IFSAPP.FLOW_IFS_MAPPING WHERE flow_user = UPPER(:username);
      
    IFSAPP.Fnd_Session_Util_API.Reset_Fnd_User_; 
    IFSAPP.Fnd_Session_Util_API.Impersonate_Fnd_User_(upper(userId_));  
END;

Last updated

Was this helpful?