The following lines contain the word 'select', 'insert', 'update' or 'delete':
PROCEDURE get_select_list (
p_target_type IN VARCHAR2,
x_select_list OUT NOCOPY VARCHAR2
);
p_select_list IN VARCHAR2,
p_from_clause IN VARCHAR2,
p_where_clause IN VARCHAR2
);
p_select_list IN VARCHAR2,
p_from_clause IN VARCHAR2,
p_where_clause IN VARCHAR2
);
PROCEDURE get_select_fields (
p_data_source_id IN NUMBER,
p_target_id IN NUMBER,
p_is_b2bcustprof IN BOOLEAN,
x_select_fields OUT NOCOPY VARCHAR2,
x_return_status OUT NOCOPY VARCHAR2
);
SELECT SOURCE_ID
FROM ams_dm_source
WHERE SOURCE_ID = p_SOURCE_ID
AND object_version_number = p_object_version
FOR UPDATE NOWAIT;
SELECT AMS_dm_source_s.NEXTVAL
FROM dual;
SELECT 1 FROM dual
WHERE EXISTS (SELECT 1 FROM ams_dm_source
WHERE SOURCE_ID = l_id);
ams_dm_source_PKG.Insert_Row(
px_SOURCE_ID => l_SOURCE_ID,
p_LAST_UPDATE_DATE => SYSDATE,
p_LAST_UPDATED_BY => FND_GLOBAL.user_id,
p_CREATION_DATE => SYSDATE,
p_CREATED_BY => FND_GLOBAL.user_id,
p_LAST_UPDATE_LOGIN => FND_GLOBAL.CONC_LOGIN_ID,
px_OBJECT_VERSION_NUMBER => l_object_version_number,
p_MODEL_TYPE => p_source_rec.model_type,
p_ARC_USED_FOR_OBJECT => p_source_rec.arc_used_for_object,
p_USED_FOR_OBJECT_ID => p_source_rec.used_for_object_id,
p_PARTY_ID => p_source_rec.party_id,
p_SCORE_RESULT => p_source_rec.score_result,
p_TARGET_VALUE => p_source_rec.target_value,
p_CONFIDENCE => p_source_rec.confidence,
p_CONTINUOUS_SCORE => p_source_rec.continuous_score,
p_decile => p_source_rec.decile,
p_percentile => p_source_rec.percentile);
AMS_Utility_PVT.error_message ('AMS_API_NO_INSERT');
PROCEDURE Update_Source(
p_api_version IN NUMBER,
P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
P_Commit IN VARCHAR2 := FND_API.G_FALSE,
p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
X_Return_Status OUT NOCOPY VARCHAR2,
X_Msg_Count OUT NOCOPY NUMBER,
X_Msg_Data OUT NOCOPY VARCHAR2,
P_source_rec IN Source_Rec_Type,
X_Object_Version_Number OUT NOCOPY NUMBER
)
IS
l_api_name CONSTANT VARCHAR2(30) := 'Update_Source';
SELECT *
FROM ams_dm_source
WHERE source_id = p_source_id;
SAVEPOINT UPDATE_source_PVT;
AMS_UTILITY_PVT.debug_message('Private API: - Open Cursor to Select');
FND_MESSAGE.Set_Name('AMS', 'API_MISSING_UPDATE_TARGET');
p_validation_mode => JTF_PLSQL_API.g_update,
P_source_rec => P_source_rec,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data);
AMS_UTILITY_PVT.debug_message('Private API: Calling update table handler', FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
ams_dm_source_PKG.Update_Row(
p_source_id => p_source_rec.source_id,
p_last_update_date => SYSDATE,
p_last_updated_by => FND_GLOBAL.user_id,
p_last_update_login => FND_GLOBAL.CONC_LOGIN_ID,
p_object_version_number => p_source_rec.object_version_number + 1,
p_model_type => p_source_rec.model_type,
p_arc_used_for_object => p_source_rec.arc_used_for_object,
p_used_for_object_id => p_source_rec.used_for_object_id,
p_party_id => p_source_rec.party_id,
p_score_result => p_source_rec.score_result,
p_target_value => p_source_rec.target_value,
p_confidence => p_source_rec.confidence,
p_continuous_score => p_source_rec.continuous_score,
p_decile => p_source_rec.decile,
p_percentile => p_source_rec.percentile);
ROLLBACK TO UPDATE_source_PVT;
ROLLBACK TO UPDATE_source_PVT;
ROLLBACK TO UPDATE_source_PVT;
End Update_Source;
PROCEDURE Delete_Source(
p_api_version IN NUMBER,
P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
P_Commit IN VARCHAR2 := FND_API.G_FALSE,
p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
X_Return_Status OUT NOCOPY VARCHAR2,
X_Msg_Count OUT NOCOPY NUMBER,
X_Msg_Data OUT NOCOPY VARCHAR2,
P_SOURCE_ID IN NUMBER,
P_Object_Version_Number IN NUMBER
)
IS
CURSOR c_obj_version(c_id NUMBER) IS
SELECT object_version_number
FROM ams_dm_source
WHERE source_id = c_id;
l_api_name CONSTANT VARCHAR2(30) := 'Delete_Source';
SAVEPOINT DELETE_source_PVT;
AMS_UTILITY_PVT.debug_message('Private API: - Open Cursor to Select');
AMS_UTILITY_PVT.debug_message( 'Private API: Calling delete table handler');
ams_dm_source_pkg.Delete_Row(
p_source_id => p_source_id);
ROLLBACK TO DELETE_source_PVT;
ROLLBACK TO DELETE_source_PVT;
ROLLBACK TO DELETE_source_PVT;
End Delete_Source;
ELSE -- update mode
IF p_source_rec.SOURCE_ID IS NULL THEN
IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
FND_MESSAGE.set_name('AMS', 'AMS_DM_SOURCE_NO_SOURCE_ID');
UPDATE ams_dm_source
SET decile = (10 - FLOOR (LEAST (99, continuous_score)/10))
WHERE arc_used_for_object = 'SCOR'
AND used_for_object_id = p_score_id
AND continuous_score IS NOT NULL;
UPDATE ams_dm_source
SET percentile = (100 - FLOOR (LEAST (99, continuous_score)))
WHERE arc_used_for_object = 'SCOR'
AND used_for_object_id = p_score_id
AND continuous_score IS NOT NULL;
SELECT name
FROM V$DATABASE;
SELECT m.target_positive_value
FROM ams_dm_scores_all_b s, ams_dm_models_all_b m
WHERE s.model_id = m.model_id
AND s.score_id = p_score_id;
l_sql := 'INSERT INTO ams_dm_apply_stg_gt (SELECT idkey, score, probability FROM ' || l_source_object || ')';
UPDATE ams_dm_source s
SET (score_result, confidence, continuous_score) = (SELECT score, probability * 100, DECODE (score, l_target_positive_value, probability, 1 - probability) * 100
-- FROM ams_dm_apply_stg stg
FROM ams_dm_apply_stg_gt stg
WHERE stg.source_id = s.source_id)
-- WHERE s.source_id IN (SELECT source_id from ams_dm_apply_stg);
WHERE s.source_id IN (SELECT source_id from ams_dm_apply_stg_gt);
DELETE FROM ams_dm_apply_stg_gt;
l_select_list VARCHAR2(32000);
SELECT model.target_id
FROM ams_dm_models_all_b model
WHERE model.model_id = p_model_id
;
SELECT model.target_id,model.model_id
FROM ams_dm_scores_all_b score, ams_dm_models_all_b model
WHERE model.model_id = score.model_id
AND score.score_id = p_score_id
;
SELECT SOURCE_OBJECT_NAME || '.' || SOURCE_OBJECT_PK_FIELD
FROM AMS_LIST_SRC_TYPES
WHERE LIST_SOURCE_TYPE_ID = p_data_source_id
;
SELECT model_type
FROM ams_dm_models_vl
WHERE model_id=p_model_id
;
AMS_DMSelection_PVT.is_b2b_data_source(
p_model_id => l_model_id,
x_is_b2b => l_is_b2b
);
get_select_fields (
p_data_source_id => p_data_source_id,
p_target_id => l_target_id,
p_is_b2bcustprof => l_is_b2b_cust,
x_select_fields => l_select_list,
x_return_status => l_return_status
);
p_msg_data => SUBSTR ('SQL: ' || l_select_list || l_from_clause || l_where_clause, 1, 4000),
p_msg_type => 'DEBUG'
);
l_check_sql := 'SELECT 1 FROM DUAL WHERE EXISTS (';
l_check_sql := l_check_sql || 'SELECT ' || l_ds_pk_field || ', COUNT(*) ' || l_from_clause || l_where_clause_sel;
l_select_list,
l_from_clause,
l_where_clause
);
l_select_list,
l_from_clause,
l_where_clause
);
SELECT COUNT(*) FROM ams_dm_source
WHERE training_data_flag = data_flag
AND arc_used_for_object = p_object_type
AND used_for_object_id = p_object_id
AND TARGET_VALUE = '1';
UPDATE ams_dm_source
SET training_data_flag = DECODE (MOD (ABS (DBMS_RANDOM.random), 10), 0, 'N', 1, 'N', 2, 'N', 'Y')
WHERE arc_used_for_object = p_object_type
AND used_for_object_id = p_object_id
AND TARGET_VALUE = '0';
UPDATE ams_dm_source
SET training_data_flag = DECODE (MOD (ABS (DBMS_RANDOM.random), 10), 0, 'N', 1, 'N', 2, 'N', 'Y')
WHERE arc_used_for_object = p_object_type
AND used_for_object_id = p_object_id
AND TARGET_VALUE = '1';
PROCEDURE get_select_list (
p_target_type IN VARCHAR2,
x_select_list OUT NOCOPY VARCHAR2
)
IS
BEGIN
x_select_list := '';
END get_select_list;
p_select_list IN VARCHAR2,
p_from_clause IN VARCHAR2,
p_where_clause IN VARCHAR2
)
IS
l_return_status VARCHAR2(1);
l_sql_str := 'SELECT ' || p_select_list;
EXECUTE IMMEDIATE 'GRANT SELECT on ' || l_training_view || ' to ' || l_odm_schema;
EXECUTE IMMEDIATE 'GRANT SELECT on ' || l_test_view || ' to ' || l_odm_schema;
p_select_list IN VARCHAR2,
p_from_clause IN VARCHAR2,
p_where_clause IN VARCHAR2
)
IS
l_result BOOLEAN;
l_sql_str := 'SELECT ' || p_select_list;
EXECUTE IMMEDIATE 'GRANT SELECT on ' || l_apply_view || ' to ' || l_odm_schema;
PROCEDURE get_select_fields (
p_data_source_id IN NUMBER,
p_target_id IN NUMBER,
p_is_b2bcustprof IN BOOLEAN,
x_select_fields OUT NOCOPY VARCHAR2,
x_return_status OUT NOCOPY VARCHAR2
)
IS
CURSOR c_dup_fields (p_data_source_id IN NUMBER, p_target_field IN NUMBER, p_target_id IN NUMBER) IS
SELECT lsf.source_column_name
FROM ams_list_src_fields lsf , ams_list_src_types lst
WHERE (lst.list_source_type_id = p_data_source_id
OR lst.list_source_type_id IN
(SELECT dts.data_source_id
FROM ams_dm_target_sources dts , ams_list_src_type_assocs lsa
WHERE dts.target_id = p_target_id
AND lsa.sub_source_type_id = dts.data_source_id
AND lsa.master_source_type_id = p_data_source_id
AND lsa.enabled_flag = 'Y')
)
AND lst.enabled_flag = 'Y'
AND lsf.list_source_type_id = lst.list_source_type_id
AND lsf.analytics_flag = 'Y'
AND lsf.field_data_type in ('NUMBER' , 'VARCHAR2')
AND lsf.list_source_field_id <> p_target_field
AND lsf.enabled_flag = 'Y'
GROUP BY lsf.source_column_name
HAVING COUNT(*) > 1
;
SELECT lst.source_object_name || '.' || lsf.source_column_name
FROM ams_list_src_fields lsf , ams_list_src_types lst
WHERE (lst.list_source_type_id = p_data_source_id
OR lst.list_source_type_id IN
(SELECT dts.data_source_id
FROM ams_dm_target_sources dts , ams_list_src_type_assocs lsa
WHERE dts.target_id = p_target_id
AND lsa.sub_source_type_id = dts.data_source_id
AND lsa.master_source_type_id = p_data_source_id
AND lsa.enabled_flag = 'Y')
)
AND lst.enabled_flag = 'Y'
AND lsf.list_source_type_id = lst.list_source_type_id
AND lsf.analytics_flag = 'Y'
AND lsf.field_data_type in ('NUMBER' , 'VARCHAR2')
AND lsf.list_source_field_id <> p_target_field
AND lsf.enabled_flag = 'Y'
AND lsf.source_column_name not in ('SOURCE_ID', 'TARGET_VALUE')
-- Fix for bug # 4027150, added a filter not to select source_id and target_value
;
SELECT lsf.source_column_name
FROM ams_list_src_fields lsf , ams_list_src_types lst
WHERE lst.list_source_type_id IN
(SELECT dts.data_source_id
FROM ams_dm_target_sources dts , ams_list_src_type_assocs lsa
WHERE dts.target_id = p_target_id
AND lsa.sub_source_type_id = dts.data_source_id
AND lsa.master_source_type_id = p_data_source_id
AND lsa.enabled_flag = 'Y')
AND lst.enabled_flag = 'Y'
AND lsf.list_source_type_id = lst.list_source_type_id
AND lsf.analytics_flag = 'Y'
AND lsf.field_data_type in ('NUMBER' , 'VARCHAR2')
AND lsf.list_source_field_id <> p_target_field
AND lsf.enabled_flag = 'Y'
GROUP BY lsf.source_column_name
HAVING COUNT(*) > 1
;
SELECT lst.source_object_name || '.' || lsf.source_column_name
FROM ams_list_src_fields lsf , ams_list_src_types lst
WHERE lst.list_source_type_id IN
(SELECT dts.data_source_id
FROM ams_dm_target_sources dts , ams_list_src_type_assocs lsa
WHERE dts.target_id = p_target_id
AND lsa.sub_source_type_id = dts.data_source_id
AND lsa.master_source_type_id = p_data_source_id
AND lsa.enabled_flag = 'Y')
AND lst.enabled_flag = 'Y'
AND lsf.list_source_type_id = lst.list_source_type_id
AND lsf.analytics_flag = 'Y'
AND lsf.field_data_type in ('NUMBER' , 'VARCHAR2')
AND lsf.list_source_field_id <> p_target_field
AND lsf.enabled_flag = 'Y'
;
SELECT target.source_field_id
FROM ams_dm_targets_b target
WHERE target.target_id = p_target_id
;
x_select_fields := 'distinct s.source_id'; -- mandatory identifier for ODM results
x_select_fields := x_select_fields || ', ' || l_field;
x_select_fields := x_select_fields || ', ' || l_field;
x_select_fields := x_select_fields || ', ' || l_field;
x_select_fields := x_select_fields || ', ' || l_field;
x_select_fields := x_select_fields || ', s.target_value'; -- mandatory target field
END get_select_fields;
SELECT source_object_name
, source_object_name||decode(UPPER(remote_flag),'Y','@'||database_link,'')
, source_object_pk_field
FROM ams_list_src_types
WHERE list_source_type_id = p_data_source_id
;
SELECT target_id
FROM ams_dm_models_v
WHERE model_id = p_model_id
;
SELECT model.target_id,model.model_id
FROM ams_dm_models_v model , ams_dm_scores_v score
WHERE model.model_id = score.model_id
AND score.score_id = p_score_id
;
SELECT a.source_object_name , a.source_object_name||decode(UPPER(a.remote_flag),'Y','@'||a.database_link,''), a.list_source_type_id
FROM ams_list_src_types a, ams_dm_target_sources b
WHERE a.list_source_type_id = b.data_source_id
AND a.enabled_flag = 'Y'
AND b.target_id = p_target_id
AND EXISTS (SELECT 1 FROM ams_list_src_type_assocs c,ams_dm_targets_b d
WHERE d.target_id = p_target_id
AND c.MASTER_SOURCE_TYPE_ID = d.data_source_id
AND c.SUB_SOURCE_TYPE_ID = b.data_source_id
AND c.enabled_flag = 'Y')
;
SELECT model_type
FROM ams_dm_models_vl
WHERE model_id=p_model_id
;
AMS_DMSelection_PVT.is_b2b_data_source(
p_model_id => l_model_id,
x_is_b2b => l_is_b2b
);
AMS_DMSelection_PVT.get_related_ds_condition ( p_master_ds_id => p_data_source_id,
p_child_ds_id => l_child_ds_id,
x_sql_stmt => l_relation_cond);