1: PACKAGE BODY UMX_REG_REQUESTS_PVT AS
2: /* $Header: UMXVRRSB.pls 120.6.12010000.2 2008/12/03 13:01:55 jstyles ship $ */
3:
4: -- procedure
5: --
51:
52: if ( p_reg_request.requested_for_user_id is null) then
53: fnd_message.set_name('FND','UMX_COMMON_MISS_PARAM_MSG');
54: fnd_message.set_token('PARAM', 'p_reg_request.requested_for_user_id');
55: fnd_message.set_token('API', 'UMX_REG_REQUESTS_PVT.populateRegRecord');
56: raise_application_error ('-20000', fnd_message.get);
57:
58: else
59:
63: if (getPersonPartyId%notfound) then
64: close getPersonPartyId;
65: fnd_message.set_name('FND','UMX_COMMON_MISS_PARAM_MSG');
66: fnd_message.set_token('PARAM', 'getPersonPartyId');
67: fnd_message.set_token('API', 'UMX_REG_REQUESTS_PVT.populateRegRecord');
68: raise_application_error ('-20000', fnd_message.get);
69: end if;
70:
71: close getPersonPartyId;
94: elsif (p_reg_request.wf_role_name is null) then
95: -- this is a smart request and role name should be passed
96: fnd_message.set_name('FND','UMX_COMMON_MISS_PARAM_MSG');
97: fnd_message.set_token('PARAM', 'p_reg_request.wf_role_name');
98: fnd_message.set_token('API', 'UMX_REG_REQUESTS_PVT.populateRegRecord');
99: raise_application_error ('-20000', fnd_message.get);
100: end if;
101:
102: if (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_PROCEDURE) then
188: -- Procedure : update_reg_request
189: -- Type : Private
190: -- Pre_reqs : None
191: -- Description : This API will create a registration request
192: -- into the UMX_REG_REQUESTS table.
193: -- Before registration request can be inserted into
194: -- UMX_REG_REQUESTS table, this API will check to see
195: -- if the requester already have a valid association to
196: -- this access role in wf_local_user_role. This API will
190: -- Pre_reqs : None
191: -- Description : This API will create a registration request
192: -- into the UMX_REG_REQUESTS table.
193: -- Before registration request can be inserted into
194: -- UMX_REG_REQUESTS table, this API will check to see
195: -- if the requester already have a valid association to
196: -- this access role in wf_local_user_role. This API will
197: -- return null if there is a valid access role.
198: -- Input Parameters (Mandatory):
216: FND_LOG.STRING (FND_LOG.LEVEL_PROCEDURE,
217: 'fnd.plsql.UMXVRRSB.update_reg_request.begin', 'Begin');
218: end if;
219:
220: UMX_REG_REQUESTS_PKG.update_row (
221: X_REG_REQUEST_ID => p_reg_request.reg_request_id,
222: X_STATUS_CODE => p_reg_request.status_code,
223: X_REQUESTED_BY_USER_ID => fnd_global.user_id,
224: X_REQUESTED_FOR_USER_ID => p_reg_request.requested_for_user_id,
243: -- Procedure : delete_reg_request
244: -- Type : Private
245: -- Pre_reqs : None
246: -- Description : This API will delete a registration request
247: -- into the UMX_REG_REQUESTS table.
248: -- Before registration request can be inserted into
249: -- UMX_REG_REQUESTS table, this API will check to see
250: -- if the requester already have a valid association to
251: -- this access role in wf_local_user_role. This API will
245: -- Pre_reqs : None
246: -- Description : This API will delete a registration request
247: -- into the UMX_REG_REQUESTS table.
248: -- Before registration request can be inserted into
249: -- UMX_REG_REQUESTS table, this API will check to see
250: -- if the requester already have a valid association to
251: -- this access role in wf_local_user_role. This API will
252: -- return null if there is a valid access role.
253: -- Input Parameters (Mandatory):
265: -- Output Parameters:
266: -- x_reg_request_id: Registration Request ID
267: --
268: procedure delete_reg_request (
269: p_reg_request_id in UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE
270: ) is
271: BEGIN
272: if (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_PROCEDURE) then
273: FND_LOG.STRING (FND_LOG.LEVEL_PROCEDURE,
274: 'fnd.plsql.UMXVRRSB.delete_reg_request.begin',
275: 'regRequestId: ' || p_reg_request_id);
276: end if;
277:
278: UMX_REG_REQUESTS_PKG.DELETE_ROW (X_REG_REQUEST_ID => p_reg_request_id);
279:
280: if (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_PROCEDURE) then
281: FND_LOG.STRING (FND_LOG.LEVEL_PROCEDURE,
282: 'fnd.plsql.UMXVRRSB.delete_reg_request.end', 'End');
322: if (p_username is null) or (l_username is null) then
323: -- Username is a required input parameter.
324: fnd_message.set_name('FND','UMX_COMMON_MISS_PARAM_MSG');
325: fnd_message.set_token('PARAM', 'p_username');
326: fnd_message.set_token('API', 'UMX_REG_REQUESTS_PVT.is_username_available');
327: raise_application_error ('-20000', fnd_message.get);
328: end if;
329:
330: open getUserFromFNDUSER (l_username);
364: -- Pre_reqs : None
365: -- Description : This API will ...
366: -- 1) Call fnd_user_pkg.reserve_username API to reserve
367: -- the requested username.
368: -- 2) Update the UMX_REG_REQUESTS table with the
369: -- requested for username and requested by username
370: -- (if requested by is null).
371: --
372: -- This API should be called when user requests a user
382: -- Description : It will either return the user ID if the username is
383: -- successfully reserved or null if otherwise.
384: --
385: function reserve_username (
386: p_reg_request_id in UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE,
387: p_username in FND_USER.USER_NAME%TYPE,
388: p_owner in varchar2 default null,
389: p_unencrypted_password in varchar2,
390: p_session_number in number default 0,
399: p_person_party_id in FND_USER.PERSON_PARTY_ID%TYPE default null
400: ) return fnd_user.user_id%type is
401:
402: l_user_id fnd_user.user_id%type;
403: l_requested_by_user_id UMX_reg_requests.requested_by_user_id%type;
404:
405: cursor getRequestedByUserId (p_reg_request_id in UMX_reg_requests.reg_request_id%type) is
406: select requested_by_user_id
407: from umx_reg_requests
401:
402: l_user_id fnd_user.user_id%type;
403: l_requested_by_user_id UMX_reg_requests.requested_by_user_id%type;
404:
405: cursor getRequestedByUserId (p_reg_request_id in UMX_reg_requests.reg_request_id%type) is
406: select requested_by_user_id
407: from umx_reg_requests
408: where reg_request_id = p_reg_request_id;
409:
403: l_requested_by_user_id UMX_reg_requests.requested_by_user_id%type;
404:
405: cursor getRequestedByUserId (p_reg_request_id in UMX_reg_requests.reg_request_id%type) is
406: select requested_by_user_id
407: from umx_reg_requests
408: where reg_request_id = p_reg_request_id;
409:
410: begin
411:
460: open getRequestedByUserId (p_reg_request_id);
461: fetch getRequestedByUserId into l_requested_by_user_id;
462: if (getRequestedByUserId%notfound) then
463: close getRequestedByUserId;
464: raise_application_error ('-20000', '<
466: close getRequestedByUserId;
467:
468: if (l_requested_by_user_id is null) then
470: l_requested_by_user_id := l_user_id;
471: end if;
472:
473: -- Update the Reg Requests table
474: UMX_REG_REQUESTS_PKG.update_row (
475: X_REG_REQUEST_ID => p_reg_request_id,
476: X_REQUESTED_BY_USER_ID => l_requested_by_user_id,
477: X_REQUESTED_FOR_USER_ID => l_USER_ID,
478: X_REQUESTED_USERNAME => p_username,
495: -- Description : This API will ...
496: -- 1) Activiate the user account by calling
497: -- fnd_user_pkg.activate_user_account.
498: -- 2) Set the status code to "APPROVED" in
499: -- UMX_REG_REQUESTS table.
500: --
501: -- This API should be called from Self-Service Registration or
502: -- Admin Creation.
503: -- Input Parameters :
521: -- None
522: -- Description :
523: --
524: Procedure approve_username_reg_request (
525: p_reg_request_id in UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE,
526: p_username in FND_USER.USER_NAME%TYPE,
527: p_person_party_id in FND_USER.PERSON_PARTY_ID%TYPE,
528: p_start_date in FND_USER.START_DATE%TYPE default sysdate,
529: p_end_date in FND_USER.END_DATE%TYPE default null) is
554: x_owner => NULL,
555: x_person_party_id => p_person_party_id);
556:
557: -- Update the record in the Reg Requests table with status and party id
558: UMX_REG_REQUESTS_PKG.update_row (
559: X_REG_REQUEST_ID => p_reg_request_id,
560: X_STATUS_CODE => 'APPROVED',
561: X_REQUESTED_FOR_PARTY_ID => p_person_party_id);
562:
574: -- Description : This API will ...
575: -- 1) Release the username by calling
576: -- fnd_user_pkg.release_username API.
577: -- 2) Set the status code to "REJECT" or "CANCELLED" in
578: -- UMX_REG_REQUESTS table.
579: -- 3) Remove the REQUESTED_FOR_USER_ID
580: -- 4) If the REQUESTED_BY_USER_ID is the same as the
581: -- REQUESTED_FOR_USER_ID, remove the
582: -- REQUESTED_BY_USER_ID
598: -- None
599: -- Description :
600: --
601: Procedure reject_cancel_username_reg_req (
602: p_reg_request_id in UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE,
603: p_username in FND_USER.USER_NAME%TYPE,
604: p_user_id in FND_USER.USER_ID%TYPE,
605: p_status_code in UMX_REG_REQUESTS.STATUS_CODE%TYPE) is
606:
601: Procedure reject_cancel_username_reg_req (
602: p_reg_request_id in UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE,
603: p_username in FND_USER.USER_NAME%TYPE,
604: p_user_id in FND_USER.USER_ID%TYPE,
605: p_status_code in UMX_REG_REQUESTS.STATUS_CODE%TYPE) is
606:
607: l_requested_by_user_id umx_reg_requests.requested_by_user_id%type;
608:
609: cursor getRequestedByUserID (p_reg_request_id in UMX_reg_requests.reg_request_id%type) is
603: p_username in FND_USER.USER_NAME%TYPE,
604: p_user_id in FND_USER.USER_ID%TYPE,
605: p_status_code in UMX_REG_REQUESTS.STATUS_CODE%TYPE) is
606:
607: l_requested_by_user_id umx_reg_requests.requested_by_user_id%type;
608:
609: cursor getRequestedByUserID (p_reg_request_id in UMX_reg_requests.reg_request_id%type) is
610: select requested_by_user_id
611: from umx_reg_requests
605: p_status_code in UMX_REG_REQUESTS.STATUS_CODE%TYPE) is
606:
607: l_requested_by_user_id umx_reg_requests.requested_by_user_id%type;
608:
609: cursor getRequestedByUserID (p_reg_request_id in UMX_reg_requests.reg_request_id%type) is
610: select requested_by_user_id
611: from umx_reg_requests
612: where reg_request_id = p_reg_request_id;
613:
607: l_requested_by_user_id umx_reg_requests.requested_by_user_id%type;
608:
609: cursor getRequestedByUserID (p_reg_request_id in UMX_reg_requests.reg_request_id%type) is
610: select requested_by_user_id
611: from umx_reg_requests
612: where reg_request_id = p_reg_request_id;
613:
614: begin
615:
633: 'fnd.plsql.UMXVRRSB.reject_cancel_username_reg_req.begin',
634: 'After calling fnd_user_pkg.RemovePendingUser');
635: end if;
636:
637: -- Query the requested_by_user_id from UMX_reg_requests table
638: -- If the requested_by_user_id is equal to the requested_for_user_id,
639: -- make requested_by_user_id null to avoid dangling foreign key.
640: open getRequestedByUserID (p_reg_request_id);
641: fetch getRequestedByUserID into l_requested_by_user_id;
650: -- requested_by_user_id to null.
651: l_requested_by_user_id := fnd_api.g_miss_num;
652: end if;
653:
654: UMX_REG_REQUESTS_PKG.update_row (
655: X_REG_REQUEST_ID => p_reg_request_id,
656: X_STATUS_CODE => p_status_code,
657: X_REQUESTED_FOR_USER_ID => fnd_api.g_miss_num,
658: X_REQUESTED_BY_USER_ID => l_requested_by_user_id);
687: -- None
688: -- Description :
689: --
690: Procedure reject_username_reg_request (
691: p_reg_request_id in UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE,
692: p_user_id in FND_USER.USER_ID%TYPE,
693: p_username in FND_USER.USER_NAME%TYPE) is
694:
695: begin
739: -- None
740: -- Description :
741: --
742: Procedure cancel_username_reg_request (
743: p_reg_request_id in UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE,
744: p_user_id in FND_USER.USER_ID%TYPE,
745: p_username in FND_USER.USER_NAME%TYPE) is
746:
747: begin
772: -- Procedure : approve_reject_reg_request
773: -- Type : Private
774: -- Pre_reqs : None
775: -- Description : This API will set the status code of a record in
776: -- UMX_REG_REQUESTS table.
777: --
778: -- Input Parameters :
779: -- @param p_reg_request_id
780: -- Description : ID for the registration request
779: -- @param p_reg_request_id
780: -- Description : ID for the registration request
781: -- Required : Yes
782: -- @param p_status_code
783: -- Description : Status code of the record in UMX_REG_REQUESTS table
784: -- Required : Yes
785: -- Output :
786: -- None
787: -- Description :
786: -- None
787: -- Description :
788: --
789: Procedure approve_reject_reg_request (
790: p_reg_request_id in UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE,
791: p_status_code in UMX_REG_REQUESTS.STATUS_CODE%type) is
792:
793: begin
794:
787: -- Description :
788: --
789: Procedure approve_reject_reg_request (
790: p_reg_request_id in UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE,
791: p_status_code in UMX_REG_REQUESTS.STATUS_CODE%type) is
792:
793: begin
794:
795: if (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_PROCEDURE) then
799: ' | statusCode: ' || p_status_code);
800: end if;
801:
802: -- update the record in the Reg Requests table with status to status_code
803: UMX_REG_REQUESTS_PKG.update_row (X_REG_REQUEST_ID => p_reg_request_id,
804: X_STATUS_CODE => p_status_code);
805:
806: if (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_PROCEDURE) then
807: FND_LOG.STRING (FND_LOG.LEVEL_PROCEDURE,
814: -- Procedure : approve_reg_request
815: -- Type : Private
816: -- Pre_reqs : None
817: -- Description : This API will approve_reject_reg_request to approve
818: -- the Reg Request in UMX_REG_REQUESTS table.
819: --
820: -- This API should be called from ART or SMART.
821: -- Input Parameters :
822: -- @param p_reg_request_id
825: -- Output :
826: -- None
827: -- Description :
828: --
829: Procedure approve_reg_request (p_reg_request_id in UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE) is
830: begin
831:
832: if (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_PROCEDURE) then
833: FND_LOG.STRING (FND_LOG.LEVEL_PROCEDURE,
835: 'regRequestId: ' || p_reg_request_id);
836: end if;
837:
838: -- Call approve_reject_reg_request to update the record in
839: -- UMX_REG_REQUESTS table.
840: approve_reject_reg_request (p_reg_request_id => p_reg_request_id,
841: p_status_code => 'APPROVED');
842:
843: if (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_PROCEDURE) then
851: -- Procedure : reject_reg_request
852: -- Type : Private
853: -- Pre_reqs : None
854: -- Description : This API will approve_reject_reg_request to reject
855: -- the Reg Request in UMX_REG_REQUESTS table.
856: --
857: -- This API should be called from ART or SMART.
858: -- Input Parameters :
859: -- @param p_reg_request_id
862: -- Output :
863: -- None
864: -- Description :
865: --
866: Procedure reject_reg_request (p_reg_request_id in UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE) is
867: begin
868:
869: if (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_PROCEDURE) then
870: FND_LOG.STRING (FND_LOG.LEVEL_PROCEDURE,
872: 'regRequestId: ' || p_reg_request_id);
873: end if;
874:
875: -- Call approve_reject_reg_request to update the record in
876: -- UMX_REG_REQUESTS table.
877: approve_reject_reg_request (p_reg_request_id => p_reg_request_id,
878: p_status_code => 'REJECTED');
879:
880: if (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_PROCEDURE) then
974: p_transaction_type_id in varchar2 default null,
975: x_approver_name out nocopy varchar2,
976: x_approver_email out nocopy varchar2) is
977:
978: cursor get_req_request_info (p_reg_request_id in umx_reg_requests.reg_request_id%type) is
979: select ame_application_id, ame_transaction_type_id
980: from umx_reg_requests
981: where reg_request_id = p_reg_request_id;
982:
976: x_approver_email out nocopy varchar2) is
977:
978: cursor get_req_request_info (p_reg_request_id in umx_reg_requests.reg_request_id%type) is
979: select ame_application_id, ame_transaction_type_id
980: from umx_reg_requests
981: where reg_request_id = p_reg_request_id;
982:
983: l_current_approver ame_util.approverRecord2;
984: l_application_id UMX_REG_REQUESTS.ame_application_id%type;
980: from umx_reg_requests
981: where reg_request_id = p_reg_request_id;
982:
983: l_current_approver ame_util.approverRecord2;
984: l_application_id UMX_REG_REQUESTS.ame_application_id%type;
985: l_transaction_type_id UMX_REG_REQUESTS.ame_transaction_type_id%type;
986:
987: l_role_info_tbl wf_directory.wf_local_roles_tbl_type;
988:
981: where reg_request_id = p_reg_request_id;
982:
983: l_current_approver ame_util.approverRecord2;
984: l_application_id UMX_REG_REQUESTS.ame_application_id%type;
985: l_transaction_type_id UMX_REG_REQUESTS.ame_transaction_type_id%type;
986:
987: l_role_info_tbl wf_directory.wf_local_roles_tbl_type;
988:
989: Begin
1001:
1002: -- Try to get the required parameters if they are not being passed when calling this API.
1003: if (l_application_id is null or
1004: l_transaction_type_id is null) then
1005: -- If any of these required variable is NULL, then we will query from UMX_REG_REQUESTS table
1006: if (p_reg_request_id is not null) then
1007: -- OK, we can query and get the required info.
1008: open get_req_request_info (p_reg_request_id);
1009: fetch get_req_request_info into l_application_id, l_transaction_type_id;
1094: -- Description: Justification
1095: --
1096: Procedure get_pend_acct_info (
1097: p_requester_user_id in FND_USER.USER_ID%TYPE default null,
1098: x_reg_request_id in out NOCOPY UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE,
1099: x_requested_for_username out NOCOPY FND_USER.USER_NAME%TYPE,
1100: x_approver_name out NOCOPY varchar2,
1101: x_approver_email_address out NOCOPY FND_USER.EMAIL_ADDRESS%TYPE,
1102: x_status_code out NOCOPY UMX_REG_REQUESTS.STATUS_CODE%TYPE,
1098: x_reg_request_id in out NOCOPY UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE,
1099: x_requested_for_username out NOCOPY FND_USER.USER_NAME%TYPE,
1100: x_approver_name out NOCOPY varchar2,
1101: x_approver_email_address out NOCOPY FND_USER.EMAIL_ADDRESS%TYPE,
1102: x_status_code out NOCOPY UMX_REG_REQUESTS.STATUS_CODE%TYPE,
1103: x_active_from out NOCOPY varchar2,
1104: x_active_to out NOCOPY varchar2,
1105: x_justification out NOCOPY UMX_REG_REQUESTS.JUSTIFICATION%TYPE) is
1106:
1101: x_approver_email_address out NOCOPY FND_USER.EMAIL_ADDRESS%TYPE,
1102: x_status_code out NOCOPY UMX_REG_REQUESTS.STATUS_CODE%TYPE,
1103: x_active_from out NOCOPY varchar2,
1104: x_active_to out NOCOPY varchar2,
1105: x_justification out NOCOPY UMX_REG_REQUESTS.JUSTIFICATION%TYPE) is
1106:
1107: l_application_id AME_CALLING_APPS.FND_APPLICATION_ID%TYPE;
1108: l_transaction_type_id AME_CALLING_APPS.TRANSACTION_TYPE_ID%TYPE;
1109:
1109:
1110: cursor get_reg_req_info_from_userid (p_user_id in FND_USER.USER_ID%TYPE) is
1111: select reg_request_id, status_code, ame_application_id,
1112: ame_transaction_type_id, requested_username, justification
1113: from umx_reg_requests
1114: where requested_for_user_id = p_user_id
1115: and requested_username is not null;
1116:
1117: cursor get_reg_req_info_from_regid (p_reg_req_id in UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE) is
1113: from umx_reg_requests
1114: where requested_for_user_id = p_user_id
1115: and requested_username is not null;
1116:
1117: cursor get_reg_req_info_from_regid (p_reg_req_id in UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE) is
1118: select status_code, ame_application_id, ame_transaction_type_id, justification
1119: from umx_reg_requests
1120: where reg_request_id = p_reg_req_id;
1121:
1115: and requested_username is not null;
1116:
1117: cursor get_reg_req_info_from_regid (p_reg_req_id in UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE) is
1118: select status_code, ame_application_id, ame_transaction_type_id, justification
1119: from umx_reg_requests
1120: where reg_request_id = p_reg_req_id;
1121:
1122: cursor getUserName (l_user_id in fnd_user.user_id%type) is
1123: select user_name
1133: ' | regRequestId: ' || x_reg_request_id);
1134: end if;
1135:
1136: -- The first thing we have to do is to get the pending information from the
1137: -- UMX_REG_REQUESTS table.
1138: if (p_requester_user_id is not null) then
1139:
1140: -- Since the requester_user_id is not null, which means the request is a
1141: -- user account, query the reg req table base on the requester_user_id
1179: else
1180:
1181: -- There is an error while calling this API:
1182: -- All required input parameters are null
1183: raise_application_error ('-20000', 'Both p_requester_user_id and x_reg_request_id is null while calling UMX_REG_REQUESTS_PVT.get_pend_acct_info API.');
1184:
1185: end if;
1186:
1187: if (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_PROCEDURE) then
1192:
1193: -- Get Current Approver name and email address
1194: if (x_status_code = 'PENDING') then
1195: -- Status code could be 'VERIFYING', in that case, don't get the next approver.
1196: UMX_REG_REQUESTS_PVT.get_current_approver_info (p_reg_request_id => x_reg_request_id,
1197: p_application_id => l_application_id,
1198: p_transaction_type_id => l_transaction_type_id,
1199: x_approver_name => x_approver_name,
1200: x_approver_email => x_approver_email_address);
1278: -- Description: Justification
1279: --
1280: Procedure get_pend_acct_info_with_userid (
1281: p_requester_user_id in FND_USER.USER_ID%TYPE,
1282: x_reg_request_id out NOCOPY UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE,
1283: x_requested_for_username out NOCOPY FND_USER.USER_NAME%TYPE,
1284: x_approver_name out NOCOPY varchar2,
1285: x_approver_email_address out NOCOPY FND_USER.EMAIL_ADDRESS%TYPE,
1286: x_status_code out NOCOPY UMX_REG_REQUESTS.STATUS_CODE%TYPE,
1282: x_reg_request_id out NOCOPY UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE,
1283: x_requested_for_username out NOCOPY FND_USER.USER_NAME%TYPE,
1284: x_approver_name out NOCOPY varchar2,
1285: x_approver_email_address out NOCOPY FND_USER.EMAIL_ADDRESS%TYPE,
1286: x_status_code out NOCOPY UMX_REG_REQUESTS.STATUS_CODE%TYPE,
1287: x_active_from out NOCOPY varchar2,
1288: x_active_to out NOCOPY varchar2,
1289: x_justification out NOCOPY UMX_REG_REQUESTS.JUSTIFICATION%TYPE) is
1290:
1285: x_approver_email_address out NOCOPY FND_USER.EMAIL_ADDRESS%TYPE,
1286: x_status_code out NOCOPY UMX_REG_REQUESTS.STATUS_CODE%TYPE,
1287: x_active_from out NOCOPY varchar2,
1288: x_active_to out NOCOPY varchar2,
1289: x_justification out NOCOPY UMX_REG_REQUESTS.JUSTIFICATION%TYPE) is
1290:
1291: l_reg_request_id UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE;
1292:
1293: begin
1287: x_active_from out NOCOPY varchar2,
1288: x_active_to out NOCOPY varchar2,
1289: x_justification out NOCOPY UMX_REG_REQUESTS.JUSTIFICATION%TYPE) is
1290:
1291: l_reg_request_id UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE;
1292:
1293: begin
1294:
1295: if (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_PROCEDURE) then
1297: 'fnd.plsql.UMXVRRSB.get_pend_acct_info_with_userid.begin',
1298: 'p_requester_user_id: ' || p_requester_user_id);
1299: end if;
1300:
1301: UMX_REG_REQUESTS_PVT.get_pend_acct_info (
1302: p_requester_user_id => p_requester_user_id,
1303: x_reg_request_id => x_reg_request_id,
1304: x_requested_for_username => x_requested_for_username,
1305: x_approver_name => x_approver_name,
1352: -- x_justification
1353: -- Description: Justification
1354: --
1355: Procedure get_pend_acct_info_with_reqid (
1356: p_reg_request_id in UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE,
1357: x_approver_name out NOCOPY varchar2,
1358: x_approver_email_address out NOCOPY FND_USER.EMAIL_ADDRESS%TYPE,
1359: x_status_code out NOCOPY UMX_REG_REQUESTS.STATUS_CODE%TYPE,
1360: x_active_from out NOCOPY varchar2,
1355: Procedure get_pend_acct_info_with_reqid (
1356: p_reg_request_id in UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE,
1357: x_approver_name out NOCOPY varchar2,
1358: x_approver_email_address out NOCOPY FND_USER.EMAIL_ADDRESS%TYPE,
1359: x_status_code out NOCOPY UMX_REG_REQUESTS.STATUS_CODE%TYPE,
1360: x_active_from out NOCOPY varchar2,
1361: x_active_to out NOCOPY varchar2,
1362: x_justification out NOCOPY UMX_REG_REQUESTS.JUSTIFICATION%TYPE) is
1363:
1358: x_approver_email_address out NOCOPY FND_USER.EMAIL_ADDRESS%TYPE,
1359: x_status_code out NOCOPY UMX_REG_REQUESTS.STATUS_CODE%TYPE,
1360: x_active_from out NOCOPY varchar2,
1361: x_active_to out NOCOPY varchar2,
1362: x_justification out NOCOPY UMX_REG_REQUESTS.JUSTIFICATION%TYPE) is
1363:
1364: l_reg_request_id UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE;
1365: l_requested_for_username FND_USER.USER_NAME%TYPE;
1366:
1360: x_active_from out NOCOPY varchar2,
1361: x_active_to out NOCOPY varchar2,
1362: x_justification out NOCOPY UMX_REG_REQUESTS.JUSTIFICATION%TYPE) is
1363:
1364: l_reg_request_id UMX_REG_REQUESTS.REG_REQUEST_ID%TYPE;
1365: l_requested_for_username FND_USER.USER_NAME%TYPE;
1366:
1367: begin
1368:
1373: end if;
1374:
1375: l_reg_request_id := p_reg_request_id;
1376:
1377: UMX_REG_REQUESTS_PVT.get_pend_acct_info (
1378: x_reg_request_id => l_reg_request_id,
1379: x_requested_for_username => l_requested_for_username,
1380: x_approver_name => x_approver_name,
1381: x_approver_email_address => x_approver_email_address,
1523: x_errstack out nocopy varchar2) IS
1524:
1525: cursor get_reg_req_id_with_user_id (l_user_id in fnd_user.user_id%type) is
1526: select reg_request_id
1527: from umx_reg_requests
1528: where requested_for_user_id = l_user_id;
1529:
1530: l_reg_req_id umx_reg_requests.reg_request_id%type;
1531:
1526: select reg_request_id
1527: from umx_reg_requests
1528: where requested_for_user_id = l_user_id;
1529:
1530: l_reg_req_id umx_reg_requests.reg_request_id%type;
1531:
1532: BEGIN
1533:
1534: if (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_PROCEDURE) then
1592: --
1593: -- Output Parameter:
1594: -- It will return 'Y' if pending account has error and 'N' if otherwise.
1595: --
1596: function is_pend_request_error (p_reg_request_id in umx_reg_requests.reg_request_id%type) return varchar2 is
1597:
1598: l_itemtype wf_items.item_type%type;
1599: l_itemkey wf_items.item_key%type;
1600: l_status varchar2(8);
1691: end if;
1692:
1693: END is_pend_account_error;
1694:
1695: END UMX_REG_REQUESTS_PVT;