Invokes an operation in the application server impersonating a user.
PROCEDURE Invoke_Record_Impersonate (
interface_ IN Plsqlap_Server_API.type_interface_,
method_ IN Plsqlap_Server_API.type_method_,
record_ IN OUT Plsqlap_Record_API.type_record_, run_as_identity_ IN VARCHAR2 DEFAULT NULL, connection_string_ IN Plsqlap_Server_API.type_connection_string_ DEFAULT NULL );
interface_
Name of interface containing the requested operation.
method_
Name of requested operation.
record_
Input/Output record.
run_as_identity_
A Foundation1 user directory id. If no user is supplied
the session user is used.
connection_string_
Optional connection string to an application server. If
no connection string is supplied the call will be to the application server set
in the configuration (Set_Plsqlap_Environment).
DECLARE
AM Plsqlap_Record_API.type_record_;
AL1 Plsqlap_Record_API.type_record_;
AL2 Plsqlap_Record_API.type_record_;
TB Plsqlap_Record_API.type_record_; BEGIN
AM := Plsqlap_Record_API.New_record('APPLICATION_MESSAGE');
AL1 := Plsqlap_Record_API.New_record('ADDRESS_LABEL');
AL2 := Plsqlap_Record_API.New_record('ADDRESS_LABEL');
TB := Plsqlap_Record_API.New_record('TEXT_BODY');
Plsqlap_Record_API.Set_Value(AM,'APPLICATION_MESSAGE_ID','100',Plsqlap_Record_API.dt_Text_Key);
Plsqlap_Record_API.Set_Value(AM,'SENDER','Ti22',Plsqlap_Record_API.dt_Text);
Plsqlap_Record_API.Set_Value(AM,'MESSAGE_TYPE,'Mail',Plsqlap_Record_API.dt_Text);
Plsqlap_Record_API.Set_Value(AL1,'TRANSPORT_CONNECTOR','Mail',Plsqlap_Record_API.dt_Text);
Plsqlap_Record_API.Set_Value(AL1,'ADDRESS_DATA','jan.h.malmberg@ifsab.se',Plsqlap_Record_API.dt_Text);
Plsqlap_Record_API.Set_Value(AL1,'SENT',SYSDATE);
Plsqlap_Record_API.Set_Value(AL2,'TRANSPORT_CONNECTOR','Mail',Plsqlap_Record_API.dt_Text);
Plsqlap_Record_API.Set_Value(AL2,'ADDRESS_DATA','ranko.narancic@ifsab.se',Plsqlap_Record_API.dt_Text);
Plsqlap_Record_API.Set_Value(AL2,'SENT',SYSDATE);
Plsqlap_Record_API.Set_Value(TB,'TEXT_VALUE','This is the message body',Plsqlap_Record_API.dt_Long_Text);
Plsqlap_Record_API.Add_Array(AM,'ADDRESS_LABEL_LIST',AL1);
Plsqlap_Record_API.Add_Array(AM,'ADDRESS_LABEL_LIST',AL2);
Plsqlap_Record_API.Add_Aggregate(AM,'TEXT_BODY',TB);
Plsqlap_Server_API.Invoke_Record_Impersonate('Utility_Application_Messaging','Route_Message',AM,'CORPNET\JHMASE'); END;