The following lines contain the word 'select', 'insert', 'update' or 'delete':
' AND EXISTS (SELECT NULL FROM ' ||
' ibe_dsp_lgl_phys_map m WHERE ' ||
' a.attachment_id = m.attachment_id) ';
sql_stmt := 'SELECT COUNT(*) ' || sql_cond;
|| 'SELECT attachment_id, attachment_used_by_id, file_name, file_id, file_extension, display_width, display_height, '
|| 'object_version_number '
|| 'BULK COLLECT INTO :id_tbl, :dlv_id_tbl, :file_tbl, :file_id_tbl, :file_ext_tbl, :dsp_width_tbl, :dsp_height_tbl, :version_tbl '
|| 'FROM (SELECT a.attachment_id, a.attachment_used_by_id, a.file_name, a.file_id, a.file_extension, a.display_width, a.display_height, a.object_version_number '
|| sql_cond
|| 'ORDER BY a.file_name ) '
|| 'WHERE ROWNUM <= :row_num '
|| '; END;';
l_operation_type VARCHAR2(10) := 'INSERT';
l_act_attachment_rec.LAST_UPDATE_DATE := NULL;
l_act_attachment_rec.LAST_UPDATED_BY := NULL;
l_act_attachment_rec.LAST_UPDATE_LOGIN := NULL;
l_operation_type := 'UPDATE';
IF (l_operation_type = 'INSERT') THEN
l_act_attachment_rec.attachment_used_by_id := p_attachment_rec.deliverable_id;
JTF_AMV_ATTACHMENT_PUB.update_act_attachment(
p_api_version => g_amv_api_version,
x_return_status => l_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
p_act_attachment_rec => l_act_attachment_rec
);
PROCEDURE delete_attachment (
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2 := FND_API.g_false,
p_commit IN VARCHAR2 := FND_API.g_false,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
p_ath_id_ver_tbl IN OUT NOCOPY ATH_ID_VER_TBL_TYPE ) IS
l_api_name CONSTANT VARCHAR2(30) := 'delete_attachment';
SAVEPOINT delete_one_attachment_grp;
IBE_PhysicalMap_GRP.delete_attachment(
p_ath_id_ver_tbl(l_index).attachment_id
);
select file_id into l_file_id
from jtf_amv_attachments
where attachment_id = p_ath_id_ver_tbl(l_index).attachment_id;
JTF_AMV_ATTACHMENT_PUB.delete_act_attachment(
p_api_version => g_amv_api_version,
x_return_status => l_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
p_act_attachment_id => p_ath_id_ver_tbl(l_index).attachment_id,
p_object_version => p_ath_id_ver_tbl(l_index).object_version_number
);
select count(1) into l_count
from jtf_amv_attachments
where file_id = l_file_id;
fnd_gfm.delete_lob(l_file_id );
ROLLBACK TO delete_one_attachment_grp;
ROLLBACK TO delete_one_attachment_grp;
ROLLBACK TO delete_one_attachment_grp;
ROLLBACK TO delete_attachment_grp;
ROLLBACK TO delete_attachment_grp;
ROLLBACK TO delete_attachment_grp;
END delete_attachment;