The following lines contain the word 'select', 'insert', 'update' or 'delete':
g_pkg_name CONSTANT VARCHAR2(100) := 'PO_Mass_Update_Req_PVT';
PROCEDURE DO_Update(p_update_person IN VARCHAR2,
p_old_personid IN NUMBER,
p_new_personid IN NUMBER,
p_document_type IN VARCHAR2,
p_document_no_from IN VARCHAR2,
p_document_no_to IN VARCHAR2,
p_date_from IN DATE,
p_date_to IN DATE,
p_commit_interval IN NUMBER,
p_msg_data OUT NOCOPY VARCHAR2,
p_msg_count OUT NOCOPY NUMBER,
p_return_status OUT NOCOPY VARCHAR2) IS
l_progress VARCHAR2(3) := '000';
l_log_head CONSTANT VARCHAR2(1000) := g_log_head||'Do_Update';
PO_DEBUG.debug_var(l_log_head,l_progress,'p_update_person',p_update_person );
SAVEPOINT Do_Update_SP;
IF (p_update_person = 'PREPARER' OR p_update_person = 'ALL') THEN
BEGIN
l_progress := '002';
PO_DEBUG.debug_var(l_log_head,l_progress,'p_update_person',p_update_person );
SAVEPOINT PO_Mass_Update_Preparer_SP;
Update_Preparer(p_update_person,
p_old_personid,
p_new_personid,
p_document_type,
p_document_no_from,
p_document_no_to,
p_date_from,
p_date_to,
p_commit_interval,
p_msg_data,
p_msg_count,
l_return_status);
ROLLBACK TO PO_Mass_Update_Preparer_SP;
ROLLBACK TO PO_Mass_Update_Preparer_SP;
IF (p_update_person = 'APPROVER' OR p_update_person = 'ALL') THEN
BEGIN
l_progress := '003';
PO_DEBUG.debug_var(l_log_head,l_progress,'p_update_person',p_update_person );
SAVEPOINT PO_Mass_Update_Approver_SP;
Update_Approver(p_update_person,
p_old_personid,
p_new_personid,
p_document_type,
p_document_no_from,
p_document_no_to,
p_date_from,
p_date_to,
p_commit_interval,
p_msg_data,
p_msg_count,
l_return_status);
ROLLBACK TO PO_Mass_Update_Approver_SP;
ROLLBACK TO PO_Mass_Update_Approver_SP;
IF (p_update_person = 'REQUESTOR' OR p_update_person = 'ALL') THEN
BEGIN
l_progress := '004';
PO_DEBUG.debug_var(l_log_head,l_progress,'p_update_person',p_update_person );
SAVEPOINT PO_Mass_Update_Requestor_SP;
Update_Requestor(p_update_person,
p_old_personid,
p_new_personid,
p_document_type,
p_document_no_from,
p_document_no_to,
p_date_from,
p_date_to,
p_commit_interval,
p_msg_data,
p_msg_count,
l_return_status);
ROLLBACK TO PO_Mass_Update_Requestor_SP;
ROLLBACK TO PO_Mass_Update_Requestor_SP;
ROLLBACK TO Do_Update_SP;
END DO_Update;
PROCEDURE Update_Preparer (p_update_person IN VARCHAR2,
p_old_personid IN NUMBER,
p_new_personid IN NUMBER,
p_document_type IN VARCHAR2,
p_document_no_from IN VARCHAR2,
p_document_no_to IN VARCHAR2,
p_date_from IN DATE,
p_date_to IN DATE,
p_commit_interval IN NUMBER,
p_msg_data OUT NOCOPY VARCHAR2,
p_msg_count OUT NOCOPY NUMBER,
p_return_status OUT NOCOPY VARCHAR2) IS
c_req g_req;
l_log_head CONSTANT VARCHAR2(1000) := g_log_head||'Update_Preparer';
PO_DEBUG.debug_var(l_log_head,l_progress,'p_update_person',p_update_person );
SAVEPOINT PO_Mass_Update_Preparer_SP;
SAVEPOINT Update_Preparer_SP;
IF (p_update_person = 'PREPARER' OR p_update_person = 'ALL') THEN
Print_Output(p_update_person,
p_old_preparer_name,
p_new_preparer_name,
p_org_name,
p_document_type,
p_document_no_from,
p_document_no_to,
p_date_from,
p_date_to,
p_msg_data,
p_msg_count,
p_return_status);
SELECT manual_req_num_type
INTO req_num_type
FROM po_system_parameters;
ROLLBACK TO Update_Preparer_SP;
stmt_req := 'SELECT por.ROWID,
por.segment1,
pdt.type_name,
por.authorization_status,
por.wf_item_type,
por.wf_item_key
FROM po_requisition_headers por,
po_document_types_vl pdt
WHERE por.preparer_id = PO_MASS_UPDATE_REQ_PVT.get_old_personid
AND pdt.document_type_code IN (''REQUISITION'')
AND pdt.document_subtype = por.type_lookup_code
AND Nvl(por.authorization_status,''INCOMPLETE'') IN (''APPROVED'',''REQUIRES REAPPROVAL'',''INCOMPLETE'',''REJECTED'',''IN PROCESS'',''PRE-APPROVED'',''RETURNED'')
AND Nvl(por.cancel_flag,''N'') = ''N''';
stmt_req := stmt_req || ' AND por.type_lookup_code = PO_MASS_UPDATE_REQ_PVT.get_document_type';
stmt_req := stmt_req || ' AND DECODE ( RTRIM ( POR.SEGMENT1,''0123456789'' ), NULL, To_Number ( POR.SEGMENT1 ) , NULL ) >= to_number(PO_MASS_UPDATE_REQ_PVT.get_document_no_from)';
stmt_req := stmt_req || ' AND DECODE ( RTRIM ( POR.SEGMENT1,''0123456789'' ), NULL, To_Number ( POR.SEGMENT1 ) , NULL ) <= to_number(PO_MASS_UPDATE_REQ_PVT.get_document_no_to)';
BETWEEN to_number(PO_MASS_UPDATE_REQ_PVT.get_document_no_from) AND to_number(PO_MASS_UPDATE_REQ_PVT.get_document_no_to )';
stmt_req := stmt_req || ' AND POR.SEGMENT1 >= PO_MASS_UPDATE_REQ_PVT.get_document_no_from';
stmt_req := stmt_req || ' AND POR.SEGMENT1 <= PO_MASS_UPDATE_REQ_PVT.get_document_no_to';
stmt_req := stmt_req || ' AND POR.SEGMENT1 BETWEEN PO_MASS_UPDATE_REQ_PVT.get_document_no_from AND PO_MASS_UPDATE_REQ_PVT.get_document_no_to';
stmt_req := stmt_req || ' AND POR.creation_date >= Trunc(PO_MASS_UPDATE_REQ_PVT.get_date_from)';
stmt_req := stmt_req || ' AND POR.creation_date <= Trunc(PO_MASS_UPDATE_REQ_PVT.get_date_to)';
stmt_req := stmt_req || ' AND POR.creation_date >= Trunc(PO_MASS_UPDATE_REQ_PVT.get_date_from)
AND POR.creation_date < Trunc(PO_MASS_UPDATE_REQ_PVT.get_date_to)+1';
SAVEPOINT Update_Preparer_RECREQ_SP;
UPDATE po_requisition_headers_all
SET preparer_id = p_new_personid,
last_update_date = sysdate,
last_updated_by = fnd_global.user_id,
last_update_login = fnd_global.login_id
WHERE rowid = l_req_rowid;
ROLLBACK TO Update_Preparer_RECREQ_SP;
ROLLBACK TO PO_Mass_Update_Buyer_SP;
END Update_Preparer;
PROCEDURE Update_Approver(p_update_person IN VARCHAR2,
p_old_personid IN NUMBER,
p_new_personid IN NUMBER,
p_document_type IN VARCHAR2,
p_document_no_from IN VARCHAR2,
p_document_no_to IN VARCHAR2,
p_date_from IN DATE,
p_date_to IN DATE,
p_commit_interval IN NUMBER,
p_msg_data OUT NOCOPY VARCHAR2,
p_msg_count OUT NOCOPY NUMBER,
p_return_status OUT NOCOPY VARCHAR2) IS
c_req_approver g_req_approver;
l_log_head CONSTANT VARCHAR2(1000) := g_log_head||'Update_Approver';
PO_DEBUG.debug_var(l_log_head,l_progress,'p_update_person',p_update_person );
SAVEPOINT PO_Mass_Update_Approver_SP;
SAVEPOINT Update_Approver_SP;
IF (p_update_person = 'APPROVER' ) THEN
Print_Output(p_update_person,
p_old_preparer_name,
p_new_preparer_name,
p_org_name,
p_document_type,
p_document_no_from,
p_document_no_to,
p_date_from,
p_date_to,
p_msg_data,
p_msg_count,
p_return_status);
SELECT manual_req_num_type
INTO req_num_type
FROM po_system_parameters;
ROLLBACK TO Update_Approver_SP;
stmt_req1 := 'SELECT wfn.notification_id,
por.segment1,
pdt.type_name
FROM wf_notifications wfn,
wf_item_activity_statuses wfa,
po_requisition_headers por,
po_document_types_vl pdt,
wf_items wfi
WHERE wfn.notification_id = wfa.notification_id
AND wfi.item_key = wfa.item_key
and wfi.item_type=wfa.item_type
AND por.wf_item_type=wfi.parent_item_type
AND por.wf_item_key=wfi.parent_item_key
and wfi.parent_item_key is not null
AND wfn.status NOT IN (''CLOSED'',''CANCELED'')
AND Nvl(por.authorization_status,''INCOMPLETE'') IN (''IN PROCESS'',''PRE-APPROVED'')
AND wfn.recipient_role = PO_Mass_Update_Req_PVT.get_old_username
AND pdt.document_type_code in (''REQUISITION'')
AND pdt.document_subtype = por.type_lookup_code';
stmt_req2 := 'SELECT wfn.notification_id,
por.segment1,
pdt.type_name
FROM wf_notifications wfn,
wf_item_activity_statuses wfa,
po_requisition_headers por,
po_document_types_vl pdt
WHERE wfn.notification_id = wfa.notification_id
AND wfa.item_type = por.wf_item_type
AND wfa.item_key = por.wf_item_key
AND wfn.status NOT IN (''CLOSED'',''CANCELED'')
AND Nvl(por.authorization_status,''INCOMPLETE'') IN (''IN PROCESS'',''PRE-APPROVED'')
AND wfn.recipient_role = PO_Mass_Update_Req_PVT.get_old_username
AND pdt.document_type_code in (''REQUISITION'')
AND pdt.document_subtype = por.type_lookup_code';
stmt_req1 := stmt_req1 || ' AND por.type_lookup_code = PO_Mass_Update_Req_PVT.get_document_type';
stmt_req2 := stmt_req2 || ' AND por.type_lookup_code = PO_Mass_Update_Req_PVT.get_document_type';
stmt_req1 := stmt_req1 || ' AND DECODE ( RTRIM ( POR.SEGMENT1,''0123456789'' ), NULL, To_Number ( POR.SEGMENT1 ) , NULL ) >= to_number(PO_Mass_Update_Req_PVT.get_document_no_from)';
stmt_req2 := stmt_req2 || ' AND DECODE ( RTRIM ( POR.SEGMENT1,''0123456789'' ), NULL, To_Number ( POR.SEGMENT1 ) , NULL ) >= to_number(PO_Mass_Update_Req_PVT.get_document_no_from)';
stmt_req1 := stmt_req1 || ' AND DECODE ( RTRIM ( POR.SEGMENT1,''0123456789'' ), NULL, To_Number ( POR.SEGMENT1 ) , NULL ) <= to_number(PO_Mass_Update_Req_PVT.get_document_no_to)';
stmt_req2 := stmt_req2 || ' AND DECODE ( RTRIM ( POR.SEGMENT1,''0123456789'' ), NULL, To_Number ( POR.SEGMENT1 ) , NULL ) <= to_number(PO_Mass_Update_Req_PVT.get_document_no_to)';
BETWEEN to_number(PO_Mass_Update_Req_PVT.get_document_no_from) AND to_number(PO_Mass_Update_Req_PVT.get_document_no_to)';--Bug 12652093, removed '||'
BETWEEN to_number(PO_Mass_Update_Req_PVT.get_document_no_from) AND to_number(PO_Mass_Update_Req_PVT.get_document_no_to)';
stmt_req1 := stmt_req1 || ' AND POR.SEGMENT1 >= PO_Mass_Update_Req_PVT.get_document_no_from';
stmt_req2 := stmt_req2 || ' AND POR.SEGMENT1 >= PO_Mass_Update_Req_PVT.get_document_no_from';
stmt_req1 := stmt_req1 || ' AND POR.SEGMENT1 <= PO_Mass_Update_Req_PVT.get_document_no_to';
stmt_req2 := stmt_req2 || ' AND POR.SEGMENT1 <= PO_Mass_Update_Req_PVT.get_document_no_to';
stmt_req1 := stmt_req1 || ' AND POR.SEGMENT1 BETWEEN PO_Mass_Update_Req_PVT.get_document_no_from AND PO_Mass_Update_Req_PVT.get_document_no_to';
stmt_req2 := stmt_req2 || ' AND POR.SEGMENT1 BETWEEN PO_Mass_Update_Req_PVT.get_document_no_from AND PO_Mass_Update_Req_PVT.get_document_no_to';
stmt_req1 := stmt_req1 || ' AND POR.creation_date >= Trunc(PO_Mass_Update_Req_PVT.get_date_from)';
stmt_req2 := stmt_req2 || ' AND POR.creation_date >= Trunc(PO_Mass_Update_Req_PVT.get_date_from)';
stmt_req1 := stmt_req1 || ' AND POR.creation_date <= Trunc(PO_Mass_Update_Req_PVT.get_date_to)';
stmt_req2 := stmt_req2 || ' AND POR.creation_date <= Trunc(PO_Mass_Update_Req_PVT.get_date_to)';
stmt_req1 := stmt_req1 || ' AND POR.creation_date >= Trunc(PO_Mass_Update_Req_PVT.get_date_from)
AND POR.creation_date < Trunc(PO_Mass_Update_Req_PVT.get_date_to)+1';
stmt_req2 := stmt_req2 || ' AND POR.creation_date >= Trunc(PO_Mass_Update_Req_PVT.get_date_from)
AND POR.creation_date < Trunc(PO_Mass_Update_Req_PVT.get_date_to)+1';
SAVEPOINT Update_Req_Forward_SP;
ROLLBACK TO Update_Req_Forward_SP;
ROLLBACK TO PO_Mass_Update_Approver_SP;
END Update_Approver;
PROCEDURE Update_Requestor(p_update_person IN VARCHAR2,
p_old_personid IN NUMBER,
p_new_personid IN NUMBER,
p_document_type IN VARCHAR2,
p_document_no_from IN VARCHAR2,
p_document_no_to IN VARCHAR2,
p_date_from IN DATE,
p_date_to IN DATE,
p_commit_interval IN NUMBER,
p_msg_data OUT NOCOPY VARCHAR2,
p_msg_count OUT NOCOPY NUMBER,
p_return_status OUT NOCOPY VARCHAR2) IS
c_req g_req;
l_log_head CONSTANT VARCHAR2(1000) := g_log_head||'Update_Requestor';
PO_DEBUG.debug_var(l_log_head,l_progress,'p_update_person',p_update_person );
SAVEPOINT PO_Mass_Update_Requestor_SP;
SAVEPOINT Update_Requestor_SP;
IF (p_update_person = 'REQUESTOR' ) THEN
Print_Output(p_update_person,
p_old_preparer_name,
p_new_preparer_name,
p_org_name,
p_document_type,
p_document_no_from,
p_document_no_to,
p_date_from,
p_date_to,
p_msg_data,
p_msg_count,
p_return_status);
SELECT manual_req_num_type
INTO req_num_type
FROM po_system_parameters;
ROLLBACK TO Update_Requestor_SP;
stmt_req := 'SELECT prl.ROWID,
por.segment1,
pdt.type_name
FROM po_requisition_headers por,
po_document_types_vl pdt,
po_requisition_lines_all prl
WHERE prl.to_person_id = PO_MASS_UPDATE_REQ_PVT.get_old_personid
AND por.requisition_header_id = prl.requisition_header_id
AND pdt.document_type_code IN (''REQUISITION'')
AND pdt.document_subtype = por.type_lookup_code
AND Nvl(por.authorization_status,''INCOMPLETE'') IN (''APPROVED'',''REQUIRES REAPPROVAL'',''INCOMPLETE'',''REJECTED'',''IN PROCESS'',''PRE-APPROVED'',''RETURNED'')
AND Nvl(por.cancel_flag,''N'') = ''N''';
stmt_req := stmt_req || ' AND por.type_lookup_code = PO_MASS_UPDATE_REQ_PVT.get_document_type';
stmt_req := stmt_req || ' AND DECODE ( RTRIM ( POR.SEGMENT1,''0123456789'' ), NULL, To_Number ( POR.SEGMENT1 ) , NULL ) >= to_number(PO_MASS_UPDATE_REQ_PVT.get_document_no_from';
stmt_req := stmt_req || ' AND DECODE ( RTRIM ( POR.SEGMENT1,''0123456789'' ), NULL, To_Number ( POR.SEGMENT1 ) , NULL ) <= to_number(PO_MASS_UPDATE_REQ_PVT.get_document_no_to)';
BETWEEN to_number(PO_MASS_UPDATE_REQ_PVT.get_document_no_from) AND to_number(PO_MASS_UPDATE_REQ_PVT.get_document_no_to)';
stmt_req := stmt_req || ' AND POR.SEGMENT1 >= PO_MASS_UPDATE_REQ_PVT.get_document_no_from';
stmt_req := stmt_req || ' AND POR.SEGMENT1 <= PO_MASS_UPDATE_REQ_PVT.get_document_no_to';
stmt_req := stmt_req || ' AND POR.SEGMENT1 BETWEEN PO_MASS_UPDATE_REQ_PVT.get_document_no_from AND PO_MASS_UPDATE_REQ_PVT.get_document_no_to';
stmt_req := stmt_req || ' AND POR.creation_date >= Trunc(PO_MASS_UPDATE_REQ_PVT.get_date_from)';
stmt_req := stmt_req || ' AND POR.creation_date <= Trunc(PO_MASS_UPDATE_REQ_PVT.get_date_to)';
stmt_req := stmt_req || ' AND POR.creation_date >= Trunc(PO_MASS_UPDATE_REQ_PVT.get_date_from)
AND POR.creation_date < Trunc(PO_MASS_UPDATE_REQ_PVT.get_date_to)+1';
SELECT pap.email_address,
hr_general.get_work_phone(pap.person_id),
hr_general.get_phone_number(pap.person_id, 'WF')
INTO l_requester_email, l_requester_phone, l_requester_fax
FROM per_all_people_f pap,
per_all_assignments_f asgn
WHERE pap.person_id = p_new_personid
AND asgn.person_id = pap.person_id
AND asgn.primary_flag = 'Y'
AND asgn.assignment_type IN ('E','C')
AND pap.effective_end_date in
( SELECT min(pap2.effective_end_date)
FROM per_all_people_f pap2
WHERE pap2.person_id = pap.person_id
AND TRUNC(sysdate) <= pap2.effective_end_date )
AND asgn.effective_end_date in
( select min(asgn2.effective_end_date)
from per_all_assignments_f asgn2
where asgn2.person_id = asgn.person_id
and asgn2.primary_flag = 'Y'
and asgn2.assignment_type IN ('E','C')
and TRUNC(sysdate) <= asgn2.effective_end_date);
SAVEPOINT Update_Requestor_RECREQ_SP;
UPDATE po_requisition_lines_all
SET to_person_id = p_new_personid,
requester_email = l_requester_email,-- Bug 14153104
requester_phone = l_requester_phone,
requester_fax = l_requester_fax,
last_update_date = sysdate,
last_updated_by = fnd_global.user_id,
last_update_login = fnd_global.login_id
WHERE rowid = l_req_rowid;
ROLLBACK TO Update_Requestor_RECREQ_SP;
ROLLBACK TO PO_Mass_Update_Requestor_SP;
END Update_Requestor;
PROCEDURE Print_Output(p_update_person IN VARCHAR2,
p_old_preparer_name IN VARCHAR2,
p_new_preparer_name IN VARCHAR2,
p_org_name IN VARCHAR2,
p_document_type IN VARCHAR2,
p_document_no_from IN VARCHAR2,
p_document_no_to IN VARCHAR2,
p_date_from IN DATE,
p_date_to IN DATE,
p_msg_data OUT NOCOPY VARCHAR2,
p_msg_count OUT NOCOPY NUMBER,
p_return_status OUT NOCOPY VARCHAR2) IS
l_msg1 VARCHAR2(240);
PO_DEBUG.debug_var(l_log_head,l_progress,'p_update_person',p_update_person );
IF (p_update_person = 'PREPARER') THEN
fnd_message.set_name('PO','PO_MUB_MSG_PREPARER_HEADER2');
ELSIF (p_update_person = 'APPROVER') THEN
fnd_message.set_name('PO','PO_MUB_MSG_PREPARER_HEADER3');
ELSIF (p_update_person = 'REQUESTOR') THEN
fnd_message.set_name('PO','PO_MUB_MSG_PREPARER_HEADER4');
ELSIF (p_update_person = 'ALL') THEN
fnd_message.set_name('PO','PO_MUB_MSG_PREPARER_HEADER5');
PO_DEBUG.debug_var(l_log_head,l_progress,'p_update_person',p_update_person );
SELECT org_id
INTO l_org_id
FROM po_system_parameters;
SELECT hou.name
INTO p_org_name
FROM hr_all_organization_units hou,
hr_all_organization_units_tl hout
WHERE hou.organization_id = hout.organization_id
AND hout.LANGUAGE = UserEnv('LANG')
AND hou.organization_id = l_org_id;