33 lines
1.4 KiB
Ruby
33 lines
1.4 KiB
Ruby
# initialize Oracle E-Business Suite session with specified user and responsibility
|
|
def init_ebs_user(params={})
|
|
# replace with default user name and responsibility and then it will not be necessary
|
|
# to specify default value as parameter
|
|
params = {
|
|
:user_name => "default user name",
|
|
:responsibility_name => "default responsibility"
|
|
}.merge(params)
|
|
|
|
row = plsql.select(:first, "SELECT usr.user_name, res.responsibility_name, usr.user_id,
|
|
urg.responsibility_id, urg.responsibility_application_id resp_appl_id
|
|
FROM apps.fnd_user_resp_groups urg,
|
|
applsys.fnd_user usr,
|
|
fnd_responsibility_vl res
|
|
WHERE usr.user_name = :user_name
|
|
AND res.responsibility_name = :responsibility_name
|
|
AND urg.user_id = usr.user_id
|
|
AND res.responsibility_id = urg.responsibility_id",
|
|
params[:user_name], params[:responsibility_name])
|
|
|
|
raise ArgumentError, "Wrong user name or responsibility name" unless row
|
|
|
|
plsql.fnd_global.apps_initialize(
|
|
:user_id => row[:user_id],
|
|
:resp_id => row[:responsibility_id],
|
|
:resp_appl_id => row[:resp_appl_id]
|
|
)
|
|
|
|
# uncomment if logging to dbms_output is necessary
|
|
# plsql.dbms_output.put_line("Initialized " + params[:user_name] + " / " + params[:responsibility_name])
|
|
|
|
end
|