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_req := '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_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_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';
SAVEPOINT Update_Requestor_RECREQ_SP;
UPDATE po_requisition_lines_all
SET to_person_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_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;