The following lines contain the word 'select', 'insert', 'update' or 'delete':
G_VARCHAR_VARRAY('select risk_id from amw_risk_associations where risk_id = :1','Y')
,G_VARCHAR_VARRAY('select object_type from amw_control_associations where ( object_type = ''RISK'' and pk2 =:1 ) or (object_type = ''RISK_ORG'' and pk3 =:1) ','Y')
);
G_VARCHAR_VARRAY('select control_id from amw_control_associations where control_id = :1','Y')
,G_VARCHAR_VARRAY('select object_type from amw_ap_associations where ( object_type = ''CTRL'' and pk1 =:1 ) or (object_type = ''CTRL_ORG'' and pk3 =:1) ','Y')
);
G_VARCHAR_VARRAY( 'SELECT control_id '
||' FROM amw_control_associations WHERE control_id IN ( '
||' SELECT pk1 '
||' FROM amw_ap_associations '
||' WHERE audit_procedure_id = :1 '
||' AND object_type = ''CTRL'' '
||' UNION '
||' SELECT pk2 '
||' FROM amw_ap_associations '
||' WHERE object_type =''ENTITY_AP'' '
||' AND audit_procedure_id = :1 '
||' AND deletion_date IS NULL '
||' UNION '
||' SELECT pk3 '
||' FROM amw_ap_associations '
||' WHERE object_type =''PROJECT'' '
||' AND audit_procedure_id = :1 '
||' AND deletion_date IS NULL '
||' UNION '
||' SELECT pk3 '
||' FROM amw_ap_associations '
||' WHERE object_type in (''CTRL_ORG'',''CTRL_FINCERT'',''BUSIPROC_CERTIFICATION'') '
||' AND audit_procedure_id = :1 ) ','Y')
);
PROCEDURE Delete_Objects(
errbuf OUT NOCOPY VARCHAR2,
retcode OUT NOCOPY VARCHAR2,
p_object_type_and_id1 IN VARCHAR2 := NULL,
p_object_type_and_id2 IN VARCHAR2 := NULL,
p_object_type_and_id3 IN VARCHAR2 := NULL,
p_object_type_and_id4 IN VARCHAR2 := NULL
)
IS
L_API_NAME CONSTANT VARCHAR2(30) := 'Delete_Objects';
Delete_Object(p_object_type => l_object_type1, p_object_id => l_object_id1);
Delete_Object(p_object_type => l_object_type2, p_object_id => l_object_id2);
Delete_Object(p_object_type => l_object_type3, p_object_id => l_object_id3);
Delete_Object(p_object_type => l_object_type4, p_object_id => l_object_id4);
End Delete_Objects;
PROCEDURE Delete_Object(
p_object_type IN VARCHAR2,
p_object_id IN NUMBER
)
IS
l_Is_Object_In_Use VARCHAR2(1);
Delete_Risk(p_risk_id => p_object_id);
FND_FILE.put_line(fnd_file.log, 'Cannot Delete Risk : risk_id = '||p_object_id);
Delete_Ctrl(p_ctrl_id => p_object_id);
FND_FILE.put_line(fnd_file.log, 'Cannot Delete Control : control_id = '||p_object_id);
Delete_Ap(p_ap_id => p_object_id);
FND_FILE.put_line(fnd_file.log, 'Cannot Delete Audit Procedure : audit_procedure_id = '||p_object_id);
END Delete_Object;
PROCEDURE Delete_Risk(
p_risk_id IN NUMBER
)
IS
-- find the list of risk_rev_id by specified risk_id
l_risk_rev_id_list G_NUMBER_TABLE;
SELECT risk_rev_id
BULK COLLECT INTO l_risk_rev_id_list
FROM AMW_RISKS_B
WHERE risk_id = p_risk_id;
DELETE FROM AMW_RISK_TYPE WHERE risk_rev_id = l_risk_rev_id_list(i);
DELETE FROM AMW_RISK_EXT_B WHERE risk_id = p_risk_id;
DELETE FROM AMW_RISK_EXT_TL WHERE risk_id = p_risk_id;
FND_ATTACHED_DOCUMENTS2_PKG.delete_attachments('AMW_RISKS',
p_risk_id,
null,
null,
null,
null,
'N',
null);
DELETE FROM AMW_RISKS_TL WHERE risk_rev_id = l_risk_rev_id_list(i);
DELETE FROM AMW_RISKS_B WHERE risk_id = p_risk_id;
FND_FILE.put_line(fnd_file.log, 'Delete Risk : risk_id = '||p_risk_id);
END Delete_Risk;
PROCEDURE Delete_Ctrl(
p_ctrl_id IN NUMBER
)
IS
-- find the list of control_rev_id by specified control_id
l_ctrl_rev_id_list G_NUMBER_TABLE;
SELECT control_rev_id
BULK COLLECT INTO l_ctrl_rev_id_list
FROM AMW_CONTROLS_B
WHERE control_id = p_ctrl_id;
DELETE FROM AMW_CONTROL_OBJECTIVES WHERE control_rev_id = l_ctrl_rev_id_list(i);
DELETE FROM AMW_CONTROL_ASSERTIONS WHERE control_rev_id = l_ctrl_rev_id_list(i);
DELETE FROM AMW_CONTROL_PURPOSES WHERE control_rev_id = l_ctrl_rev_id_list(i);
DELETE FROM AMW_ASSESSMENT_COMPONENTS WHERE OBJECT_TYPE='CONTROL' AND OBJECT_ID = l_ctrl_rev_id_list(i);
DELETE FROM AMW_CTRL_EXT_B WHERE control_id = p_ctrl_id;
DELETE FROM AMW_CTRL_EXT_TL WHERE control_id = p_ctrl_id;
FND_ATTACHED_DOCUMENTS2_PKG.delete_attachments('AMW_CONTROLS',
p_ctrl_id,
null,
null,
null,
null,
'N',
null);
DELETE FROM AMW_CONTROLS_TL WHERE control_rev_id = l_ctrl_rev_id_list(i);
DELETE FROM AMW_CONTROLS_B WHERE control_id = p_ctrl_id;
FND_FILE.put_line(fnd_file.log, 'Delete Control : control_id = '||p_ctrl_id);
END Delete_Ctrl;
PROCEDURE Delete_Ap(
p_ap_id IN NUMBER
)
IS
-- find the list of audit_procedure_rev_id by specified audit_procedure_id
l_ap_rev_id_list G_NUMBER_TABLE;
SELECT audit_procedure_rev_id
BULK COLLECT INTO l_ap_rev_id_list
FROM AMW_AUDIT_PROCEDURES_B
WHERE audit_procedure_id = p_ap_id;
DELETE FROM AMW_AP_STEPS_TL WHERE ap_step_id in (SELECT ap_step_id FROM amw_ap_steps_b WHERE audit_procedure_id = p_ap_id);
DELETE FROM AMW_AP_STEPS_B WHERE audit_procedure_id = p_ap_id;
DELETE FROM AMW_AP_TASKS WHERE audit_procedure_id = p_ap_id;
DELETE FROM AMW_AP_EXT_B WHERE audit_procedure_id = p_ap_id;
DELETE FROM AMW_AP_EXT_TL WHERE audit_procedure_id = p_ap_id;
FND_ATTACHED_DOCUMENTS2_PKG.delete_attachments('AMW_AUDIT_PRCD',
p_ap_id,
null,
null,
null,
null,
'N',
null);
DELETE FROM AMW_AUDIT_PROCEDURES_TL WHERE audit_procedure_rev_id = l_ap_rev_id_list(i);
DELETE FROM AMW_AUDIT_PROCEDURES_B WHERE audit_procedure_id = p_ap_id;
DELETE FROM AMW_AP_ASSOCIATIONS WHERE audit_procedure_id = p_ap_id;
FND_FILE.put_line(fnd_file.log, 'Delete Audit Procedure : audit_procedure_id = '||p_ap_id);
END Delete_Ap;