The following lines contain the word 'select', 'insert', 'update' or 'delete':
sELECT o.attribute_code, akoa.column_name, aka.data_type
FROM oe_ak_obj_attr_ext o
, ak_object_attributes akoa
, ak_attributes aka
WHERE o.database_object_name = l_database_object_name
AND o.attachments_enabled_flag = 'Y'
AND o.database_object_name = akoa.database_object_name
AND o.attribute_code = akoa.attribute_code
AND o.attribute_application_id = akoa.attribute_application_id
AND aka.attribute_code = akoa.attribute_code
AND aka.attribute_application_id = akoa.attribute_application_id;
SELECT table_name, pk1_column, pk2_column
, pk3_column, pk4_column, pk5_column
INTO l_entity_table, l_pk1_column, l_pk2_column
, l_pk3_column, l_pk4_column, l_pk5_column
FROM FND_DOCUMENT_ENTITIES
WHERE data_object_code = p_entity_name;
l_attribute_tbl.delete;
oe_debug_pub.add( 'BUILDING SQL TO SELECT COLUMNS FROM ENTITY' , 1 ) ;
l_entity_sql := 'SELECT ';
l_rule_sql := 'select distinct r.document_id'||l_newline||
'from oe_attachment_rules r'||l_newline||
' , oe_attachment_rule_elements e1'||l_newline||
' , fnd_documents d'||l_newline||
'where r.database_object_name = :p_database_object_name'||l_newline||
' and e1.rule_id = r.rule_id'||l_newline||
' and r.document_id = d.document_id'||l_newline||
' AND sysdate between NVL(d.start_date_active, sysdate)'||l_newline||
' and NVL(d.end_date_active, sysdate )'||l_newline||
' and ('
;
' and not exists ( select null'||l_newline||
' from oe_attachment_rule_elements e2'||l_newline||
' where e2.rule_id = r.rule_id'||l_newline||
' and e2.group_number = e1.group_number'||l_newline||
' and e2.rowid <> e1.rowid'||l_newline||
' and (';
l_need_delete_insert BOOLEAN :=TRUE;
SELECT database_object_name
INTO l_database_object_name
FROM oe_ak_objects_ext
WHERE data_object_code = p_entity_name;
select 1
into l_attachment_exist
from fnd_attached_documents
where entity_name = p_entity_name
and pk1_value = p_pk1_value
and nvl(pk2_value,'NULL') = nvl(p_pk2_value,'NULL')
and nvl(pk3_value,'NULL') = nvl(p_pk3_value,'NULL')
and nvl(pk4_value,'NULL') = nvl(p_pk4_value,'NULL')
and nvl(pk5_value,'NULL') = nvl(p_pk5_value,'NULL') ;
l_need_delete_insert := FALSE;
oe_debug_pub.add( 'ATTACHMENTS EXIST DO NOT DELETE IT' ) ;
l_need_delete_insert := TRUE;
oe_debug_pub.add( 'ATTACHMENTS DO NOT EXIST DELETE IF THERE IS
ANY' ) ;
IF l_need_delete_insert THEN
6896311*/
FND_ATTACHED_DOCUMENTS2_PKG.DELETE_ATTACHMENTS
(x_entity_name => p_entity_name
,x_pk1_value => p_pk1_value
,x_pk2_value => p_pk2_value
,x_pk3_value => p_pk3_value
,x_pk4_value => p_pk4_value
,x_pk5_value => p_pk5_value
,x_automatically_added_flag => 'Y'
);
SELECT 'Y'
FROM FND_DOCUMENTS
WHERE document_id = p_document_id;
select data_object_code
into l_data_object
from oe_ak_obj_attr_ext
where database_object_name = p_database_object_name
and data_object_code is not null;
select (nvl(max(seq_num),0) + 10)
into l_seq_num
from fnd_attached_documents
where entity_name = p_entity_name
and pk1_value = p_pk1_value;
select fnd_attached_documents_s.nextval
into l_attached_document_id
from dual;
select usage_type
into l_usage_type
from fnd_documents
where document_id = p_document_id ;
select datatype_id,category_id,security_type,
publish_flag,media_id,file_name,description , title
into l_datatype_id,l_category_id,l_security_type,
l_publish_flag,l_media_id,l_file_name,l_description ,l_title ---bug 12402550
from fnd_documents_vl where document_id = p_document_id;
FND_ATTACHED_DOCUMENTS_PKG.INSERT_ROW
(x_rowid => l_rowid
, x_attached_document_id => l_attached_document_id
, x_document_id => l_document_id
, x_seq_num => l_seq_num
, x_entity_name => p_entity_name
, x_pk1_value => p_pk1_value
, x_pk2_value => p_pk2_value
, x_pk3_value => p_pk3_value
, x_pk4_value => p_pk4_value
, x_pk5_value => p_pk5_value
, x_automatically_added_flag => p_automatic_flag
, x_creation_date => sysdate
, x_created_by => l_user_id
, x_last_update_date => sysdate
, x_last_updated_by => l_user_id
, x_last_update_login => l_login_id
-- following parameters are required for the API but we do not
-- use so send in as null
, x_column1 => null
, x_datatype_id => l_datatype_id
, x_category_id => l_category_id
, x_security_type => l_security_type
, X_security_id => null
, X_publish_flag => l_publish_flag
, X_image_type => null
, X_storage_type => null
, X_usage_type => l_usage_type
, X_language => null
, X_description => l_description
, X_file_name => l_file_name
, X_media_id => l_media_id
, X_doc_attribute_Category => null
, X_doc_attribute1 => null
, X_doc_attribute2 => null
, X_doc_attribute3 => null
, X_doc_attribute4 => null
, X_doc_attribute5 => null
, X_doc_attribute6 => null
, X_doc_attribute7 => null
, X_doc_attribute8 => null
, X_doc_attribute9 => null
, X_doc_attribute10 => null
, X_doc_attribute11 => null
, X_doc_attribute12 => null
, X_doc_attribute13 => null
, X_doc_attribute14 => null
, X_doc_attribute15 => null
, X_create_doc => l_create_doc
,X_title => l_title ---bug 12402550
);
PROCEDURE Delete_Attachments
--------------------------------------------------------------------
(
p_api_version in number,
p_entity_name in varchar2,
p_pk1_value in varchar2,
p_pk2_value in varchar2 default null,
p_pk3_value in varchar2 default null,
p_pk4_value in varchar2 default null,
p_pk5_value in varchar2 default null,
p_automatic_atchmts_only in varchar2 default 'N',
x_return_status out nocopy varchar2
)
IS
--
l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
FND_ATTACHED_DOCUMENTS2_PKG.Delete_Attachments
(x_entity_name => p_entity_name
,x_pk1_value => p_pk1_value
,x_pk2_value => p_pk2_value
,x_pk3_value => p_pk3_value
,x_pk4_value => p_pk4_value
,x_pk5_value => p_pk5_value
);
, 'Delete_Attachments'
);
END Delete_Attachments;