Oracle
Use the Oracle database connector to connect to your Oracle database
Add connector
Select Connectors in Hub menu and select Add Connector.
Select Oracle Connector.
Enter the name and optionally a description.
Enter the configuration values for different environments.
Select Save.
Configuration values
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
Hover over the connector card and the context menu will appear, select Edit.
You can now change or the configuration values for different environments name, description.
Delete connector
Hover over the connector card and the context menu will appear, select Delete.
Confirm and the connector will be deleted.
Deleting a connector can not be undone.
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.
For this mechanism to work correctly, the :userId(Flow Classic user) must exactly match the DIRECTORY_ID
of the IFS user being impersonated. Additionally, the schema owner cannot be specified using an environment variable—for example, you cannot use {AppOwner}
syntax in place of IFSAPP
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.
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;
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;
It’s important to note that if you perform user impersonation in the Initialization Command, you should also reset the session in the Cleanup Command to ensure the session context is cleared properly.
BEGIN
IFSAPP.Fnd_Session_Util_API.Reset_Fnd_User_
END;
Last updated
Was this helpful?