The following lines contain the word 'select', 'insert', 'update' or 'delete':
g_pkg_name CONSTANT VARCHAR2(100) := 'PO_Mass_Update_PO_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_supplier_id IN NUMBER,
p_include_close_po IN VARCHAR2,
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 = 'BUYER' 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_Buyer_SP;
SELECT 'Y' INTO x_valid_buyer
FROM po_buyers_val_v
WHERE employee_id = p_new_personid;
Update_Buyer(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_supplier_id,
p_include_close_po,
p_commit_interval,
p_msg_data,
p_msg_count,
l_return_status);
ROLLBACK TO PO_Mass_Update_Buyer_SP;
ROLLBACK TO PO_Mass_Update_Buyer_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_supplier_id,
p_include_close_po,
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 = 'DELIVER TO' 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_Deliver_To_SP;
Update_Deliver_To(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_supplier_id,
p_include_close_po,
p_commit_interval,
p_msg_data,
p_msg_count,
l_return_status);
ROLLBACK TO PO_Mass_Update_Deliver_To_SP;
ROLLBACK TO PO_Mass_Update_Deliver_To_SP;
ROLLBACK TO Do_Update_SP;
END DO_Update;
PROCEDURE Update_Buyer (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_supplier_id IN NUMBER,
p_include_close_po IN VARCHAR2,
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_po g_po;
l_log_head CONSTANT VARCHAR2(1000) := g_log_head||'Update_Buyer';
PO_DEBUG.debug_var(l_log_head,l_progress,'p_update_person',p_update_person );
SAVEPOINT PO_Mass_Update_Buyer_SP;
SAVEPOINT Update_Buyer_REC_SP;
IF (p_update_person = 'BUYER' OR p_update_person = 'ALL') THEN
Print_Output(p_update_person,
p_old_buyer_name,
p_new_buyer_name,
p_org_name,
p_document_type,
p_document_no_from,
p_document_no_to,
p_date_from,
p_date_to,
p_supplier_name,
p_msg_data,
p_msg_count,
p_return_status);
SELECT manual_po_num_type
INTO po_num_type
FROM po_system_parameters;
ROLLBACK TO Update_Buyer_REC_SP;
stmt_po := 'SELECT poh.ROWID,
poh.segment1,
pdt.type_name,
poh.authorization_status,
poh.wf_item_type,
poh.wf_item_key,
poh.po_header_id,
poh.type_lookup_code,
poh.revision_num,
Nvl(poh.conterms_exist_flag, ''N'')
FROM po_headers poh,
po_document_types_vl pdt
WHERE poh.agent_id = PO_MASS_UPDATE_PO_PVT.get_old_personid
AND pdt.document_type_code IN (''PO'',''PA'')
AND pdt.document_subtype = poh.type_lookup_code
AND Nvl(poh.authorization_status,''INCOMPLETE'') IN (''APPROVED'',''REQUIRES REAPPROVAL'',''INCOMPLETE'',''REJECTED'',''IN PROCESS'',''PRE-APPROVED'')
AND Nvl(poh.cancel_flag,''N'') = ''N''
AND Nvl(poh.frozen_flag,''N'') = ''N'' ';
stmt_po := stmt_po || ' AND poh.type_lookup_code = PO_MASS_UPDATE_PO_PVT.get_document_type';
stmt_po := stmt_po || ' AND DECODE ( RTRIM ( POH.SEGMENT1,''0123456789'' ), NULL, To_Number ( POH.SEGMENT1 ) , NULL ) >= to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_from) ';
stmt_po := stmt_po || ' AND DECODE ( RTRIM ( POH.SEGMENT1,''0123456789'' ), NULL, To_Number ( POH.SEGMENT1 ) , NULL ) <= to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_to ||) ';
BETWEEN to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_from) AND to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_to) ';
stmt_po := stmt_po || ' AND POH.SEGMENT1 >= PO_MASS_UPDATE_PO_PVT.get_document_no_from';
stmt_po := stmt_po || ' AND POH.SEGMENT1 <= PO_MASS_UPDATE_PO_PVT.get_document_no_to';
stmt_po := stmt_po || ' AND POH.SEGMENT1 BETWEEN PO_MASS_UPDATE_PO_PVT.get_document_no_from AND PO_MASS_UPDATE_PO_PVT.get_document_no_to';
stmt_po := stmt_po || ' AND POH.creation_date >= Trunc(PO_MASS_UPDATE_PO_PVT.get_date_from)';
stmt_po := stmt_po || ' AND POH.creation_date <= Trunc(PO_MASS_UPDATE_PO_PVT.get_date_to)';
stmt_po := stmt_po || ' AND POH.creation_date >= Trunc(PO_MASS_UPDATE_PO_PVT.get_date_from)
AND POH.creation_date < Trunc(PO_MASS_UPDATE_PO_PVT.get_date_to)+1';
stmt_po := stmt_po || ' AND POH.vendor_id = PO_MASS_UPDATE_PO_PVT.get_supplier_id';
SAVEPOINT Update_Buyer_REC_PO_SP;
UPDATE po_headers_all
SET agent_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_po_rowid;
okc_manage_deliverables_grp.updateIntContactOnDeliverables (
p_api_version => 1.0,
p_init_msg_list => FND_API.G_FALSE,
p_commit => FND_API.G_FALSE,
p_bus_docs_tbl => l_busdocs_tbl,
p_original_internal_contact_id => p_old_personid,
p_new_internal_contact_id => p_new_personid,
x_msg_data => p_msg_data,
x_msg_count => p_msg_count,
x_return_status => p_return_status);
ROLLBACK TO Update_Buyer_REC_PO_SP;
okc_manage_deliverables_grp.updateIntContactOnDeliverables (
p_api_version => 1.0,
p_init_msg_list => FND_API.G_FALSE,
p_commit => FND_API.G_FALSE,
p_bus_docs_tbl => l_busdocs_tbl,
p_original_internal_contact_id => p_old_personid,
p_new_internal_contact_id => p_new_personid,
x_msg_data => p_msg_data,
x_msg_count => p_msg_count,
x_return_status => p_return_status);
stmt_rel := 'SELECT por.ROWID,
poh.segment1,
por.release_num,
pdt.type_name,
por.authorization_status,
por.wf_item_type,
por.wf_item_key
FROM po_headers poh,
po_releases por,
po_document_types_vl pdt
WHERE poh.po_header_id = por.po_header_id
AND por.agent_id = PO_MASS_UPDATE_PO_PVT.get_old_personid
AND pdt.document_type_code = ''RELEASE''
AND pdt.document_subtype = por.release_type
AND Nvl(por.authorization_status,''INCOMPLETE'') IN (''APPROVED'',''REQUIRES REAPPROVAL'',''INCOMPLETE'',''REJECTED'',''IN PROCESS'',''PRE-APPROVED'')
AND Nvl(por.cancel_flag,''N'') = ''N''
AND Nvl(por.frozen_flag,''N'') = ''N''';
stmt_rel := stmt_rel || ' AND ((PO_MASS_UPDATE_PO_PVT.get_document_type = ''PLANNED'' and por.release_type = ''SCHEDULED'')
OR (por.release_type = Nvl(PO_MASS_UPDATE_PO_PVT.get_document_type,por.release_type)))';
stmt_rel := stmt_rel || ' AND DECODE ( RTRIM ( POH.SEGMENT1,''0123456789'' ), NULL, To_Number ( POH.SEGMENT1 ) , NULL ) >= to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_from)';
stmt_rel := stmt_rel || ' AND DECODE ( RTRIM ( POH.SEGMENT1,''0123456789'' ), NULL, To_Number ( POH.SEGMENT1 ) , NULL ) <= to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_to)';
BETWEEN to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_from) AND to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_to)';
stmt_rel := stmt_rel || ' AND POH.SEGMENT1 >= PO_MASS_UPDATE_PO_PVT.get_document_no_from';
stmt_rel := stmt_rel || ' AND POH.SEGMENT1 <= PO_MASS_UPDATE_PO_PVT.get_document_no_to';
stmt_rel := stmt_rel || ' AND POH.SEGMENT1 BETWEEN PO_MASS_UPDATE_PO_PVT.get_document_no_from AND PO_MASS_UPDATE_PO_PVT.get_document_no_to';
stmt_rel := stmt_rel || ' AND POR.creation_date >= Trunc(PO_MASS_UPDATE_PO_PVT.get_date_from)';
stmt_rel := stmt_rel || ' AND POR.creation_date <= Trunc(PO_MASS_UPDATE_PO_PVT.get_date_to)';
stmt_rel := stmt_rel || ' AND POR.creation_date >= Trunc(PO_MASS_UPDATE_PO_PVT.get_date_from)
AND POR.creation_date < Trunc(PO_MASS_UPDATE_PO_PVT.get_date_to)+1';
stmt_rel := stmt_rel || ' AND POH.vendor_id = PO_MASS_UPDATE_PO_PVT.get_supplier_id';
SAVEPOINT Update_Buyer_REC_REL_SP;
UPDATE po_releases_all
SET agent_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_rel_rowid;
ROLLBACK TO Update_Buyer_REC_REL_SP;
ROLLBACK TO PO_Mass_Update_Buyer_SP;
END Update_Buyer;
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_supplier_id IN NUMBER,
p_include_close_po IN VARCHAR2,
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_po_approver g_po_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_REC_SP;
IF (p_update_person = 'APPROVER' ) THEN
Print_Output(p_update_person,
p_old_buyer_name,
p_new_buyer_name,
p_org_name,
p_document_type,
p_document_no_from,
p_document_no_to,
p_date_from,
p_date_to,
p_supplier_name,
p_msg_data,
p_msg_count,
p_return_status);
SELECT manual_po_num_type
INTO po_num_type
FROM po_system_parameters;
ROLLBACK TO Update_Approver_REC_SP;
stmt_po := 'SELECT wfn.notification_id,
poh.segment1,
pdt.type_name
FROM wf_notifications wfn,
wf_item_activity_statuses wfa,
po_headers poh,
po_document_types_vl pdt
WHERE wfn.notification_id = wfa.notification_id
AND wfa.item_type = poh.wf_item_type
AND wfa.item_key = poh.wf_item_key
AND wfn.status NOT IN (''CLOSED'',''CANCELED'')
AND Nvl(poh.authorization_status,''INCOMPLETE'') IN (''IN PROCESS'',''PRE-APPROVED'')
AND wfn.recipient_role = PO_Mass_Update_PO_PVT.get_old_username
AND pdt.document_type_code in (''PO'',''PA'')
AND pdt.document_subtype = poh.type_lookup_code';
stmt_po := stmt_po || ' AND poh.type_lookup_code = PO_MASS_UPDATE_PO_PVT.get_document_type';
stmt_po := stmt_po || ' AND DECODE ( RTRIM ( POH.SEGMENT1,''0123456789'' ), NULL, To_Number ( POH.SEGMENT1 ) , NULL ) >= to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_from)';
stmt_po := stmt_po || ' AND DECODE ( RTRIM ( POH.SEGMENT1,''0123456789'' ), NULL, To_Number ( POH.SEGMENT1 ) , NULL ) <= to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_to)';
BETWEEN to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_from) AND to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_to)';
stmt_po := stmt_po || ' AND POH.SEGMENT1 >= PO_MASS_UPDATE_PO_PVT.get_document_no_from';
stmt_po := stmt_po || ' AND POH.SEGMENT1 <= PO_MASS_UPDATE_PO_PVT.get_document_no_to';
stmt_po := stmt_po || ' AND POH.SEGMENT1 BETWEEN PO_MASS_UPDATE_PO_PVT.get_document_no_from AND PO_MASS_UPDATE_PO_PVT.get_document_no_to';
stmt_po := stmt_po || ' AND POH.creation_date >= Trunc(PO_MASS_UPDATE_PO_PVT.get_date_from)';
stmt_po := stmt_po || ' AND POH.creation_date <= Trunc(PO_MASS_UPDATE_PO_PVT.get_date_to)';
stmt_po := stmt_po || ' AND POH.creation_date >= Trunc(PO_MASS_UPDATE_PO_PVT.get_date_from)
AND POH.creation_date < Trunc(PO_MASS_UPDATE_PO_PVT.get_date_to)+1';
stmt_po := stmt_po || ' AND POH.vendor_id = PO_MASS_UPDATE_PO_PVT.get_supplier_id';
SAVEPOINT Mass_Update_Forward_SP;
ROLLBACK TO Mass_Update_Forward_SP;
stmt_rel := 'SELECT wfn.notification_id,
poh.segment1,
por.release_num,
pdt.type_name
FROM wf_notifications wfn,
wf_item_activity_statuses wfa,
po_headers poh,
po_releases 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 recipient_role = PO_Mass_Update_PO_PVT.get_old_username
AND por.po_header_id = poh.po_header_id
AND pdt.document_type_code = ''RELEASE''
AND pdt.document_subtype = por.release_type';
stmt_rel := stmt_rel || ' AND ((PO_MASS_UPDATE_PO_PVT.get_document_type = ''PLANNED'' and por.release_type = ''SCHEDULED'')
OR (por.release_type = Nvl(PO_MASS_UPDATE_PO_PVT.get_document_type,por.release_type)))';
stmt_rel := stmt_rel || ' AND DECODE ( RTRIM ( POH.SEGMENT1,''0123456789'' ), NULL, To_Number ( POH.SEGMENT1 ) , NULL ) >= to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_from)';
stmt_rel := stmt_rel || ' AND DECODE ( RTRIM ( POH.SEGMENT1,''0123456789'' ), NULL, To_Number ( POH.SEGMENT1 ) , NULL ) <= to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_to)';
BETWEEN to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_from) AND to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_to)';
stmt_rel := stmt_rel || ' AND POH.SEGMENT1 >= PO_MASS_UPDATE_PO_PVT.get_document_no_from';
stmt_rel := stmt_rel || ' AND POH.SEGMENT1 <= PO_MASS_UPDATE_PO_PVT.get_document_no_to';
stmt_rel := stmt_rel || ' AND POH.SEGMENT1 BETWEEN PO_MASS_UPDATE_PO_PVT.get_document_no_from AND PO_MASS_UPDATE_PO_PVT.get_document_no_to';
stmt_rel := stmt_rel || ' AND POR.creation_date >= Trunc(PO_MASS_UPDATE_PO_PVT.get_date_from)';
stmt_rel := stmt_rel || ' AND POR.creation_date <= Trunc(PO_MASS_UPDATE_PO_PVT.get_date_to)';
stmt_rel := stmt_rel || ' AND POR.creation_date >= Trunc(PO_MASS_UPDATE_PO_PVT.get_date_from)
AND POR.creation_date < Trunc(PO_MASS_UPDATE_PO_PVT.get_date_to)+1';
stmt_rel := stmt_rel || ' AND POH.vendor_id = PO_MASS_UPDATE_PO_PVT.get_supplier_id';
SAVEPOINT Mass_Update_Forward_SP;
ROLLBACK TO Mass_Update_Forward_SP;
ROLLBACK TO PO_Mass_Update_Approver_SP;
END Update_Approver;
PROCEDURE Update_Deliver_To(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_supplier_id IN NUMBER,
p_include_close_po IN VARCHAR2,
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_po g_po;
l_log_head CONSTANT VARCHAR2(1000) := g_log_head||'Update_Deliver_To';
PO_DEBUG.debug_var(l_log_head,l_progress,'p_update_person',p_update_person );
SAVEPOINT PO_Mass_Update_DeliverTo_SP;
SAVEPOINT Update_DeliverTo_REC_SP;
IF (p_update_person = 'DELIVER TO' ) THEN
Print_Output(p_update_person,
p_old_buyer_name,
p_new_buyer_name,
p_org_name,
p_document_type,
p_document_no_from,
p_document_no_to,
p_date_from,
p_date_to,
p_supplier_name,
p_msg_data,
p_msg_count,
p_return_status);
SELECT manual_po_num_type
INTO po_num_type
FROM po_system_parameters;
ROLLBACK TO Update_DeliverTo_REC_SP;
stmt_po := 'SELECT pod.ROWID,
poh.segment1,
pdt.type_name,
pod.po_release_id
FROM po_headers poh,
po_document_types_vl pdt,
po_distributions pod
WHERE pod.deliver_to_person_id = PO_MASS_UPDATE_PO_PVT.get_old_personid
AND poh.po_header_id = pod.po_header_id
AND pdt.document_type_code IN (''PO'',''PA'')
AND pdt.document_subtype = poh.type_lookup_code
AND Nvl(poh.authorization_status,''INCOMPLETE'') IN (''APPROVED'',''REQUIRES REAPPROVAL'',''INCOMPLETE'',''REJECTED'',''IN PROCESS'',''PRE-APPROVED'')
AND Nvl(poh.cancel_flag,''N'') = ''N''
AND Nvl(poh.frozen_flag,''N'') = ''N''';
stmt_po := stmt_po || 'AND poh.type_lookup_code = PO_MASS_UPDATE_PO_PVT.get_document_type';
stmt_po := stmt_po || ' AND DECODE ( RTRIM ( POH.SEGMENT1,''0123456789'' ), NULL, To_Number ( POH.SEGMENT1 ) , NULL ) >= to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_from)';
stmt_po := stmt_po || ' AND DECODE ( RTRIM ( POH.SEGMENT1,''0123456789'' ), NULL, To_Number ( POH.SEGMENT1 ) , NULL ) <= to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_to)';
BETWEEN to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_from) AND to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_to)';
stmt_po := stmt_po || ' AND POH.SEGMENT1 >= PO_MASS_UPDATE_PO_PVT.get_document_no_from';
stmt_po := stmt_po || ' AND POH.SEGMENT1 <= PO_MASS_UPDATE_PO_PVT.get_document_no_to';
stmt_po := stmt_po || ' AND POH.SEGMENT1 BETWEEN PO_MASS_UPDATE_PO_PVT.get_document_no_from AND PO_MASS_UPDATE_PO_PVT.get_document_no_to';
stmt_po := stmt_po || ' AND POH.creation_date >= Trunc(PO_MASS_UPDATE_PO_PVT.get_date_from)';
stmt_po := stmt_po || ' AND POH.creation_date <= Trunc(PO_MASS_UPDATE_PO_PVT.get_date_to)';
stmt_po := stmt_po || ' AND POH.creation_date >= Trunc(PO_MASS_UPDATE_PO_PVT.get_date_from)
AND POH.creation_date < Trunc(PO_MASS_UPDATE_PO_PVT.get_date_to)+1';
stmt_po := stmt_po || ' AND POH.vendor_id = PO_MASS_UPDATE_PO_PVT.get_supplier_id';
SAVEPOINT Update_DeliverTo_RECPO_SP;
UPDATE po_distributions_all
SET deliver_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_po_rowid
AND po_release_id IS NULL;
ROLLBACK TO Update_DeliverTo_RECPO_SP;
stmt_rel := 'SELECT pod.ROWID,
poh.segment1,
por.release_num,
pdt.type_name
FROM po_releases por,
po_headers poh,
po_document_types_vl pdt,
po_distributions_all pod
WHERE por.po_header_id = poh.po_header_id
AND poh.po_header_id = pod.po_header_id
AND pod.po_release_id = por.po_release_id /* Bug 6868589 */
AND pod.deliver_to_person_id = PO_MASS_UPDATE_PO_PVT.get_old_personid
AND pdt.document_type_code =''RELEASE''
AND pdt.document_subtype = por.release_type
AND Nvl(por.authorization_status,''INCOMPLETE'') IN (''APPROVED'',''REQUIRES REAPPROVAL'',''INCOMPLETE'',''REJECTED'',''IN PROCESS'',''PRE-APPROVED'')
AND Nvl(por.cancel_flag,''N'') = ''N''
AND Nvl(por.frozen_flag,''N'') = ''N''';
stmt_rel := stmt_rel || ' AND ((PO_MASS_UPDATE_PO_PVT.get_document_type = ''PLANNED'' and por.release_type = ''SCHEDULED'')
OR (por.release_type = Nvl(PO_MASS_UPDATE_PO_PVT.get_document_type,por.release_type)))';
stmt_rel := stmt_rel || ' AND DECODE ( RTRIM ( POH.SEGMENT1,''0123456789'' ), NULL, To_Number ( POH.SEGMENT1 ) , NULL ) >= to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_from)';
stmt_rel := stmt_rel || ' AND DECODE ( RTRIM ( POH.SEGMENT1,''0123456789'' ), NULL, To_Number ( POH.SEGMENT1 ) , NULL ) <= to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_to )';
BETWEEN to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_from) AND to_number(PO_MASS_UPDATE_PO_PVT.get_document_no_to)';
stmt_rel := stmt_rel || ' AND POH.SEGMENT1 >= PO_MASS_UPDATE_PO_PVT.get_document_no_from';
stmt_rel := stmt_rel || ' AND POH.SEGMENT1 <= PO_MASS_UPDATE_PO_PVT.get_document_no_to';
stmt_rel := stmt_rel || ' AND POH.SEGMENT1 BETWEEN PO_MASS_UPDATE_PO_PVT.get_document_no_from AND PO_MASS_UPDATE_PO_PVT.get_document_no_to';
stmt_rel := stmt_rel || ' AND POR.creation_date >= Trunc(PO_MASS_UPDATE_PO_PVT.get_date_from)';
stmt_rel := stmt_rel || ' AND POR.creation_date <= Trunc(PO_MASS_UPDATE_PO_PVT.get_date_to)';
stmt_rel := stmt_rel || ' AND POR.creation_date >= Trunc(PO_MASS_UPDATE_PO_PVT.get_date_from)
AND POR.creation_date < Trunc(PO_MASS_UPDATE_PO_PVT.get_date_to)+1';
stmt_rel := stmt_rel || ' AND POH.vendor_id = PO_MASS_UPDATE_PO_PVT.get_supplier_id';
SAVEPOINT Update_DeliverTo_RECREL_SP;
UPDATE po_distributions_all
SET deliver_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_rel_rowid;
ROLLBACK TO Update_DeliverTo_RECREL_SP;
ROLLBACK TO PO_Mass_Update_DeliverTo_SP;
END Update_Deliver_To;
PROCEDURE Print_Output(p_update_person IN VARCHAR2,
p_old_buyer_name IN VARCHAR2,
p_new_buyer_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_supplier_name IN VARCHAR2,
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 = 'BUYER') THEN
fnd_message.set_name('PO','PO_MUB_MSG_BUYER_HEADER2');
ELSIF (p_update_person = 'APPROVER') THEN
fnd_message.set_name('PO','PO_MUB_MSG_BUYER_HEADER3');
ELSIF (p_update_person = 'DELIVER TO') THEN
fnd_message.set_name('PO','PO_MUB_MSG_BUYER_HEADER4');
ELSIF (p_update_person = 'ALL') THEN
fnd_message.set_name('PO','PO_MUB_MSG_BUYER_HEADER5');
PO_DEBUG.debug_var(l_log_head,l_progress,'p_update_person',p_update_person );
SELECT user_id
INTO p_old_buyer_user_id
FROM fnd_user
WHERE employee_id = p_old_personid
AND user_name = p_old_username;
SELECT user_id
INTO p_new_buyer_user_id
FROM fnd_user
WHERE employee_id = p_new_personid
AND user_name = p_new_username;
SELECT vendor_name
INTO p_supplier_name
FROM po_vendors
WHERE vendor_id = p_supplier_id;
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;