The following lines contain the word 'select', 'insert', 'update' or 'delete':
| 08-AUG-05 ashankar Bug#4517812 Modified the method Delete_WM_Dependency |
| 15-SEP-05 jxyu Modified Set_Weights_Data API for bug#4427932 |
| 11-JAN-07 akoduri Bug# 5594225: Performance issue in Mass Update UI |
+======================================================================================*/
-- Abbreviation Used"
-- WM -> Weighted Measure
-- SN -> Short Name
/************************************************************************************
-- API name : Delete_Bulk_Weights_Scores
-- Type : Private
-- Deletes the scores and weights data for given the parameter combinations
-- Restricts the criteria to one dependent measure if p_dependent_measure_id
-- is non - null value
-- Logic :
-- 1. Fetch the weight ids corresponding to the p_Param_Ids
-- 2. Delete the entries from weights and scores tables using the
-- entries in Step1
************************************************************************************/
PROCEDURE Delete_Bulk_Weights_Scores(
p_commit IN VARCHAR2 --:= FND_API.G_FALSE
,p_Param_Ids IN FND_TABLE_OF_NUMBER
,p_dependent_measure_id IN NUMBER := NULL
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) IS
l_Weight_Ids FND_TABLE_OF_NUMBER;
SAVEPOINT BisDeleteBulkWeightsScores;
SELECT
weights.weight_id
BULK COLLECT INTO
l_Weight_Ids
FROM
bis_weighted_measure_weights weights
WHERE
weights.weighted_parameter_id IN (SELECT column_value FROM TABLE(CAST(p_Param_Ids AS FND_TABLE_OF_NUMBER)));
SELECT
weights.weight_id
BULK COLLECT INTO
l_Weight_Ids
FROM
bis_weighted_measure_weights weights
WHERE
weights.weighted_parameter_id IN (SELECT column_value FROM TABLE(CAST(p_Param_Ids AS FND_TABLE_OF_NUMBER))) AND
dependent_measure_id = p_dependent_measure_id;
DELETE FROM
bis_weighted_measure_scores
WHERE
weight_id = l_Weight_Ids(i);
DELETE FROM
bis_weighted_measure_weights
WHERE
weight_id = l_Weight_Ids(i);
ROLLBACK TO BisDeleteBulkWeightsScores;
ROLLBACK TO BisDeleteBulkWeightsScores;
ROLLBACK TO BisDeleteBulkWeightsScores;
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Delete_Bulk_Weights_Scores ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Delete_Bulk_Weights_Scores ';
END Delete_Bulk_Weights_Scores;
PROCEDURE Delete_Cascade_WM_Parameters(
p_commit IN VARCHAR2 --:= FND_API.G_FALSE
,p_weighted_definition_id IN NUMBER
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) IS
l_Param_Ids FND_TABLE_OF_NUMBER;
SAVEPOINT BisDeleteCascadeWMParameters;
SELECT
params.weighted_parameter_id
BULK COLLECT INTO
l_Param_Ids
FROM
bis_weighted_measure_params params
WHERE
params.weighted_definition_id = p_weighted_definition_id;
SELECT
weights.weight_id
BULK COLLECT INTO
l_Weight_Ids
FROM
bis_weighted_measure_weights weights
WHERE
weights.weighted_parameter_id IN (SELECT column_value FROM TABLE(CAST(l_Param_Ids AS FND_TABLE_OF_NUMBER)));
Delete_Bulk_Weights_Scores (
p_commit => FND_API.G_FALSE
,p_Param_Ids => l_Param_Ids
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
DELETE FROM
bis_weighted_measure_params
WHERE
weighted_parameter_id = l_Param_Ids(i);
ROLLBACK TO BisDeleteCascadeWMParameters;
ROLLBACK TO BisDeleteCascadeWMParameters;
ROLLBACK TO BisDeleteCascadeWMParameters;
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Delete_Cascade_WM_Parameters ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Delete_Cascade_WM_Parameters ';
END Delete_Cascade_WM_Parameters;
l_Bis_WM_Rec.Last_Update_Date := sysdate;
l_Bis_WM_Rec.Last_Updated_By := FND_GLOBAL.USER_ID;
IF l_Bis_WM_Rec.Last_Update_Login IS NULL THEN
l_Bis_WM_Rec.Last_Update_Login := 0;
PROCEDURE Update_WM_Dependency(
p_commit IN VARCHAR2 --:= FND_API.G_FALSE
,p_Bis_WM_Rec IN BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec
,x_Bis_WM_Rec OUT NOCOPY BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) IS
l_Bis_WM_Rec BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec;
SAVEPOINT bis_Update_WM_Dependency_pub;
BIS_WEIGHTED_MEASURE_PVT.Update_WM_Dependency(
p_commit => p_commit
,p_Bis_WM_Rec => l_Bis_WM_Rec
,x_Bis_WM_Rec => x_Bis_WM_Rec
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
ROLLBACK TO bis_Update_WM_Dependency_pub;
ROLLBACK TO bis_Update_WM_Dependency_pub;
ROLLBACK TO bis_Update_WM_Dependency_pub;
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Update_WM_Dependency ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Update_WM_Dependency ';
END Update_WM_Dependency;
PROCEDURE Delete_WM_Dependency(
p_commit IN VARCHAR2 --:= FND_API.G_FALSE
,p_Bis_WM_Rec IN BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec
,x_Bis_WM_Rec OUT NOCOPY BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) IS
l_Bis_WM_Rec BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec;
SELECT V.name
FROM bis_display_measures_v V,
bis_indicators B
WHERE B.short_name =V.short_name
AND B.indicator_id = p_Bis_WM_Rec.dependent_measure_id;
SAVEPOINT Delete_WM_Dependency_pub;
BIS_WEIGHTED_MEASURE_PVT.Delete_WM_Dependency(
p_commit => p_commit
,p_Bis_WM_Rec => p_Bis_WM_Rec
,x_Bis_WM_Rec => x_Bis_WM_Rec
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
ROLLBACK TO Delete_WM_Dependency_pub;
ROLLBACK TO Delete_WM_Dependency_pub;
ROLLBACK TO Delete_WM_Dependency_pub;
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Dependency ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Dependency ';
END Delete_WM_Dependency;
SELECT BIS_WEIGHTED_MEASURE_DEFNS_S.NEXTVAL
INTO l_Bis_WM_Rec.weighted_definition_id
FROM DUAL;
l_Bis_WM_Rec.Last_Update_Date := sysdate;
l_Bis_WM_Rec.Last_Updated_By := FND_GLOBAL.USER_ID;
IF l_Bis_WM_Rec.Last_Update_Login IS NULL THEN
l_Bis_WM_Rec.Last_Update_Login := 0;
PROCEDURE Update_WM_Definition(
p_commit IN VARCHAR2 --:= FND_API.G_FALSE
,p_Bis_WM_Rec IN BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec
,x_Bis_WM_Rec OUT NOCOPY BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) IS
l_Bis_WM_Rec BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec;
l_cascade_delete_flag boolean ;
SAVEPOINT bis_Update_WM_Definition_pub;
l_cascade_delete_flag := FALSE;
l_cascade_delete_flag := TRUE;
l_cascade_delete_flag := TRUE;
l_cascade_delete_flag := TRUE;
l_cascade_delete_flag := TRUE;
l_Bis_WM_Rec.Last_Update_Date := sysdate;
l_Bis_WM_Rec.Last_Updated_By := FND_GLOBAL.USER_ID;
IF l_cascade_delete_flag = TRUE THEN
Delete_Cascade_WM_Parameters(
p_commit => p_commit
,p_weighted_definition_id => l_Bis_WM_Rec.weighted_definition_id
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
BIS_WEIGHTED_MEASURE_PVT.Update_WM_Definition(
p_commit => p_commit
,p_Bis_WM_Rec => l_Bis_WM_Rec
,x_Bis_WM_Rec => x_Bis_WM_Rec
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
IF l_cascade_delete_flag = TRUE THEN
-- Create tbe Default Parameter Again
l_Bis_WM_Rec.time_level_value_id := BIS_WEIGHTED_MEASURE_PUB.DEFAULT_TIME_LEVEL_VALUE;
ROLLBACK TO bis_Update_WM_Definition_pub;
ROLLBACK TO bis_Update_WM_Definition_pub;
ROLLBACK TO bis_Update_WM_Definition_pub;
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Update_WM_Definition ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Update_WM_Definition ';
END Update_WM_Definition;
PROCEDURE Delete_WM_Definition(
p_commit IN VARCHAR2 --:= FND_API.G_FALSE
,p_Bis_WM_Rec IN BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec
,x_Bis_WM_Rec OUT NOCOPY BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) IS
l_Bis_WM_Rec BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec;
SAVEPOINT Delete_WM_Definition_pub;
Delete_Cascade_WM_Parameters(
p_commit => p_commit
,p_weighted_definition_id => p_Bis_WM_Rec.weighted_definition_id
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
BIS_WEIGHTED_MEASURE_PVT.Delete_WM_Definition(
p_commit => p_commit
,p_Bis_WM_Rec => p_Bis_WM_Rec
,x_Bis_WM_Rec => x_Bis_WM_Rec
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
ROLLBACK TO Delete_WM_Definition_pub;
ROLLBACK TO Delete_WM_Definition_pub;
ROLLBACK TO Delete_WM_Definition_pub;
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Definition ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Definition ';
END Delete_WM_Definition;
SELECT COUNT(1)
INTO l_count
FROM BIS_WEIGHTED_MEASURE_DEFNS
WHERE WEIGHTED_DEFINITION_ID = p_Bis_WM_Rec.weighted_definition_id;
SELECT BIS_WEIGHTED_MEASURE_PARAMS_S.NEXTVAL
INTO l_Bis_WM_Rec.weighted_parameter_id
FROM DUAL;
l_Bis_WM_Rec.Last_Update_Date := sysdate;
l_Bis_WM_Rec.Last_Updated_By := FND_GLOBAL.USER_ID;
IF l_Bis_WM_Rec.Last_Update_Login IS NULL THEN
l_Bis_WM_Rec.Last_Update_Login := 0;
PROCEDURE Update_WM_Parameter(
p_commit IN VARCHAR2 --:= FND_API.G_FALSE
,p_Bis_WM_Rec IN BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec
,x_Bis_WM_Rec OUT NOCOPY BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) IS
l_Bis_WM_Rec BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec;
SAVEPOINT bis_Update_WM_Parameter_pub;
l_Bis_WM_Rec.Last_Update_Date := sysdate;
l_Bis_WM_Rec.Last_Updated_By := FND_GLOBAL.USER_ID;
BIS_WEIGHTED_MEASURE_PVT.Update_WM_Parameter(
p_commit => p_commit
,p_Bis_WM_Rec => l_Bis_WM_Rec
,x_Bis_WM_Rec => x_Bis_WM_Rec
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
ROLLBACK TO bis_Update_WM_Parameter_pub;
ROLLBACK TO bis_Update_WM_Parameter_pub;
ROLLBACK TO bis_Update_WM_Parameter_pub;
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Update_WM_Parameter ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Update_WM_Parameter ';
END Update_WM_Parameter;
PROCEDURE Delete_WM_Parameter(
p_commit IN VARCHAR2 --:= FND_API.G_FALSE
,p_Bis_WM_Rec IN BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec
,x_Bis_WM_Rec OUT NOCOPY BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) IS
l_Bis_WM_Rec BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec;
SELECT WEIGHT_ID
FROM BIS_WEIGHTED_MEASURE_WEIGHTS
WHERE WEIGHTED_PARAMETER_ID = p_Bis_WM_Rec.weighted_parameter_id;
SAVEPOINT Delete_WM_Parameter_pub;
BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Weight(
p_commit => p_commit
,p_Bis_WM_Rec => l_Bis_WM_Rec
,x_Bis_WM_Rec => x_Bis_WM_Rec
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
BIS_WEIGHTED_MEASURE_PVT.Delete_WM_Parameter(
p_commit => p_commit
,p_Bis_WM_Rec => p_Bis_WM_Rec
,x_Bis_WM_Rec => x_Bis_WM_Rec
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
ROLLBACK TO Delete_WM_Parameter_pub;
ROLLBACK TO Delete_WM_Parameter_pub;
ROLLBACK TO Delete_WM_Parameter_pub;
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Parameter ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Parameter ';
END Delete_WM_Parameter;
SELECT COUNT(1)
INTO l_count
FROM BIS_WEIGHTED_MEASURE_PARAMS
WHERE WEIGHTED_PARAMETER_ID = p_Bis_WM_Rec.weighted_parameter_id;
SELECT BIS_WEIGHTED_MEASURE_WEIGHTS_S.NEXTVAL
INTO l_Bis_WM_Rec.weight_id
FROM DUAL;
l_Bis_WM_Rec.Last_Update_Date := sysdate;
l_Bis_WM_Rec.Last_Updated_By := FND_GLOBAL.USER_ID;
IF l_Bis_WM_Rec.Last_Update_Login IS NULL THEN
l_Bis_WM_Rec.Last_Update_Login := 0;
PROCEDURE Update_WM_Weight(
p_commit IN VARCHAR2 --:= FND_API.G_FALSE
,p_Bis_WM_Rec IN BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec
,x_Bis_WM_Rec OUT NOCOPY BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) IS
l_Bis_WM_Rec BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec;
SAVEPOINT bis_Update_WM_Weight_pub;
/* it is not posible to update this to coluns are really primary key
IF p_Bis_WM_Rec.weighted_parameter_id IS NOT NULL THEN
l_Bis_WM_Rec.weighted_parameter_id := p_Bis_WM_Rec.weighted_parameter_id;
l_Bis_WM_Rec.Last_Update_Date := sysdate;
l_Bis_WM_Rec.Last_Updated_By := FND_GLOBAL.USER_ID;
BIS_WEIGHTED_MEASURE_PVT.Update_WM_Weight(
p_commit => p_commit
,p_Bis_WM_Rec => l_Bis_WM_Rec
,x_Bis_WM_Rec => x_Bis_WM_Rec
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
ROLLBACK TO bis_Update_WM_Weight_pub;
ROLLBACK TO bis_Update_WM_Weight_pub;
ROLLBACK TO bis_Update_WM_Weight_pub;
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Update_WM_Weight ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Update_WM_Weight ';
END Update_WM_Weight;
PROCEDURE Delete_WM_Weight(
p_commit IN VARCHAR2 --:= FND_API.G_FALSE
,p_Bis_WM_Rec IN BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec
,x_Bis_WM_Rec OUT NOCOPY BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) IS
l_Bis_WM_Rec BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec;
SAVEPOINT Delete_WM_Weight_pub;
BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Score(
p_commit => p_commit
,p_Bis_WM_Rec => l_Bis_WM_Rec
,x_Bis_WM_Rec => x_Bis_WM_Rec
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
BIS_WEIGHTED_MEASURE_PVT.Delete_WM_Weight(
p_commit => p_commit
,p_Bis_WM_Rec => p_Bis_WM_Rec
,x_Bis_WM_Rec => x_Bis_WM_Rec
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
ROLLBACK TO Delete_WM_Weight_pub;
ROLLBACK TO Delete_WM_Weight_pub;
ROLLBACK TO Delete_WM_Weight_pub;
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Weight ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Weight ';
END Delete_WM_Weight;
SELECT COUNT(1)
INTO l_count
FROM BIS_WEIGHTED_MEASURE_WEIGHTS
WHERE WEIGHT_ID = p_Bis_WM_Rec.weight_id;
l_Bis_WM_Rec.Last_Update_Date := sysdate;
l_Bis_WM_Rec.Last_Updated_By := FND_GLOBAL.USER_ID;
IF l_Bis_WM_Rec.Last_Update_Login IS NULL THEN
l_Bis_WM_Rec.Last_Update_Login := 0;
PROCEDURE Update_WM_Score(
p_commit IN VARCHAR2 --:= FND_API.G_FALSE
,p_Bis_WM_Rec IN BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec
,x_Bis_WM_Rec OUT NOCOPY BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) IS
l_Bis_WM_Rec BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec;
SAVEPOINT bis_Update_WM_Score_pub;
l_Bis_WM_Rec.Last_Update_Date := sysdate;
l_Bis_WM_Rec.Last_Updated_By := FND_GLOBAL.USER_ID;
BIS_WEIGHTED_MEASURE_PVT.Update_WM_Score(
p_commit => p_commit
,p_Bis_WM_Rec => l_Bis_WM_Rec
,x_Bis_WM_Rec => x_Bis_WM_Rec
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
ROLLBACK TO bis_Update_WM_Score_pub;
ROLLBACK TO bis_Update_WM_Score_pub;
ROLLBACK TO bis_Update_WM_Score_pub;
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Update_WM_Score ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Update_WM_Score ';
END Update_WM_Score;
PROCEDURE Delete_WM_Score(
p_commit IN VARCHAR2 --:= FND_API.G_FALSE
,p_Bis_WM_Rec IN BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec
,x_Bis_WM_Rec OUT NOCOPY BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) IS
l_Bis_WM_Rec BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec;
SAVEPOINT Delete_WM_Score_pub;
BIS_WEIGHTED_MEASURE_PVT.Delete_WM_Score(
p_commit => p_commit
,p_Bis_WM_Rec => p_Bis_WM_Rec
,x_Bis_WM_Rec => x_Bis_WM_Rec
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
ROLLBACK TO Delete_WM_Score_pub;
ROLLBACK TO Delete_WM_Score_pub;
ROLLBACK TO Delete_WM_Score_pub;
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Score ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Score ';
END Delete_WM_Score;
PROCEDURE Update_WM_Definition(
p_commit IN VARCHAR2 --:= FND_API.G_FALSE
,p_weighted_definition_id IN NUMBER
,p_weighted_measure_id IN NUMBER
,p_viewby_dimension_sn IN VARCHAR2
,p_viewby_dim_level_sn IN VARCHAR2
,p_filter_dimension_sn IN VARCHAR2
,p_filter_dim_level_sn IN VARCHAR2
,p_time_dimension_sn IN VARCHAR2
,p_time_dim_level_sn IN VARCHAR2
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) IS
l_Bis_WM_Rec BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec;
BIS_WEIGHTED_MEASURE_PUB.Update_WM_Definition(
p_commit => p_commit
,p_Bis_WM_Rec => l_Bis_WM_Rec
,x_Bis_WM_Rec => x_Bis_WM_Rec
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
ROLLBACK TO bis_Update_WM_Definition_pub;
ROLLBACK TO bis_Update_WM_Definition_pub;
ROLLBACK TO bis_Update_WM_Definition_pub;
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Update_WM_Definition ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Update_WM_Definition ';
END Update_WM_Definition;
PROCEDURE Delete_WM_Definition(
p_commit IN VARCHAR2 --:= FND_API.G_FALSE
,p_weighted_definition_id IN NUMBER
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) IS
l_Bis_WM_Rec BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec;
BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Definition(
p_commit => p_commit
,p_Bis_WM_Rec => l_Bis_WM_Rec
,x_Bis_WM_Rec => x_Bis_WM_Rec
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Definition ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Definition ';
END Delete_WM_Definition;
PROCEDURE Delete_WM_Dependency(
p_commit IN VARCHAR2 --:= FND_API.G_FALSE
,p_weighted_measure_id IN NUMBER
,p_dependent_measure_id IN NUMBER
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) IS
l_Bis_WM_Rec BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec;
BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Dependency(
p_commit => p_commit
,p_Bis_WM_Rec => l_Bis_WM_Rec
,x_Bis_WM_Rec => x_Bis_WM_Rec
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Dependency ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Dependency ';
END Delete_WM_Dependency;
PROCEDURE Delete_WM_Parameter(
p_commit IN VARCHAR2 --:= FND_API.G_FALSE
,p_weighted_parameter_id IN NUMBER
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) IS
l_Bis_WM_Rec BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec;
BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Parameter(
p_commit => p_commit
,p_Bis_WM_Rec => l_Bis_WM_Rec
,x_Bis_WM_Rec => x_Bis_WM_Rec
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
ROLLBACK TO Delete_WM_Parameter_pub;
ROLLBACK TO Delete_WM_Parameter_pub;
ROLLBACK TO Delete_WM_Parameter_pub;
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Parameter ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Parameter ';
END Delete_WM_Parameter;
PROCEDURE Update_WM_Weight(
p_commit IN VARCHAR2 --:= FND_API.G_FALSE
,p_weight_id IN NUMBER
,p_weight IN NUMBER
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) IS
l_Bis_WM_Rec BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec;
BIS_WEIGHTED_MEASURE_PUB.Update_WM_Weight(
p_commit => p_commit
,p_Bis_WM_Rec => l_Bis_WM_Rec
,x_Bis_WM_Rec => x_Bis_WM_Rec
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
ROLLBACK TO bis_Update_WM_Weight_pub;
ROLLBACK TO bis_Update_WM_Weight_pub;
ROLLBACK TO bis_Update_WM_Weight_pub;
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Update_WM_Weight ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Update_WM_Weight ';
END Update_WM_Weight;
PROCEDURE Delete_WM_Weight(
p_commit IN VARCHAR2 --:= FND_API.G_FALSE
,p_weight_id IN NUMBER
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) IS
l_Bis_WM_Rec BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec;
SAVEPOINT Delete_WM_Weight_pub;
BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Weight(
p_commit => p_commit
,p_Bis_WM_Rec => l_Bis_WM_Rec
,x_Bis_WM_Rec => x_Bis_WM_Rec
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Weight ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Weight ';
END Delete_WM_Weight;
PROCEDURE Delete_WM_Score(
p_commit IN VARCHAR2 --:= FND_API.G_FALSE
,p_weight_id IN NUMBER
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) IS
l_Bis_WM_Rec BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec;
BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Score(
p_commit => p_commit
,p_Bis_WM_Rec => l_Bis_WM_Rec
,x_Bis_WM_Rec => x_Bis_WM_Rec
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Score ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Score ';
END Delete_WM_Score;
SELECT COUNT(C.WEIGHT_ID) C1
FROM BIS_WEIGHTED_MEASURE_DEFNS A
,BIS_WEIGHTED_MEASURE_PARAMS B
,BIS_WEIGHTED_MEASURE_WEIGHTS C
WHERE A.weighted_measure_id = p_weighted_measure_id
AND A.weighted_definition_id = B.weighted_definition_id
AND B.weighted_parameter_id = C.weighted_parameter_id
AND C.DEPENDENT_MEASURE_ID = p_dependent_measure_Id
AND C.WEIGHT <> 0 ;
SELECT COUNT(WEIGHT_ID) C1
FROM BIS_WEIGHTED_MEASURE_DEFNS A
,BIS_WEIGHTED_MEASURE_PARAMS B
,BIS_WEIGHTED_MEASURE_WEIGHTS C
WHERE A.weighted_measure_id = p_weighted_measure_id
AND A.weighted_definition_id = B.weighted_definition_id
AND B.weighted_parameter_id = C.weighted_parameter_id
AND C.DEPENDENT_MEASURE_ID = p_dependent_measure_Id
AND C.WEIGHT = 0 ;
SELECT COUNT(WEIGHT_ID) C1
FROM BIS_WEIGHTED_MEASURE_DEFNS A
,BIS_WEIGHTED_MEASURE_PARAMS B
,BIS_WEIGHTED_MEASURE_WEIGHTS C
WHERE A.weighted_measure_id = p_weighted_measure_id
AND A.weighted_definition_id = B.weighted_definition_id
AND B.weighted_parameter_id = C.weighted_parameter_id
AND C.WEIGHT <> 0 ;
SELECT COUNT(WEIGHT_ID) C1
FROM BIS_WEIGHTED_MEASURE_DEFNS A
,BIS_WEIGHTED_MEASURE_PARAMS B
,BIS_WEIGHTED_MEASURE_WEIGHTS C
WHERE A.weighted_measure_id = p_weighted_measure_id
AND A.weighted_definition_id = B.weighted_definition_id
AND B.weighted_parameter_id = C.weighted_parameter_id
AND C.WEIGHT = 0 ;
PROCEDURE Delete_Weighted_Measure_data(
p_commit IN VARCHAR2 --:= FND_API.G_FALSE
,p_weighted_measure_id IN NUMBER
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) IS
l_Bis_WM_Rec BIS_WEIGHTED_MEASURE_PUB.Bis_WM_Rec;
SELECT WEIGHTED_DEFINITION_ID
FROM BIS_WEIGHTED_MEASURE_DEFNS
WHERE WEIGHTED_MEASURE_ID = p_weighted_measure_id;
SELECT DEPENDENT_MEASURE_ID
FROM BIS_WEIGHTED_MEASURE_DEPENDS
WHERE WEIGHTED_MEASURE_ID = p_weighted_measure_id;
BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Dependency(
p_commit => FND_API.G_FALSE
,p_Bis_WM_Rec => l_Bis_WM_Rec
,x_Bis_WM_Rec => x_Bis_WM_Rec
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
BIS_WEIGHTED_MEASURE_PUB.Delete_WM_Definition(
p_commit => FND_API.G_FALSE
,p_Bis_WM_Rec => l_Bis_WM_Rec
,x_Bis_WM_Rec => x_Bis_WM_Rec
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
ROLLBACK TO Delete_WM_Definition_pub;
ROLLBACK TO Delete_WM_Definition_pub;
ROLLBACK TO Delete_WM_Definition_pub;
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Delete_Weighted_Measure_data ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Delete_Weighted_Measure_data ';
END Delete_Weighted_Measure_data;
SELECT COUNT(1)
INTO l_count
FROM BIS_WEIGHTED_MEASURE_DEFNS
WHERE WEIGHTED_MEASURE_ID = p_weighted_measure_id;
Update_Weighted_Measure_data(
p_commit => p_commit
,p_weighted_measure_id => p_weighted_measure_id
,p_dependent_measure_ids => p_dependent_measure_ids
,p_viewby_dimension_short_name => p_viewby_dimension_short_name
,p_viewby_dim_level_short_name => p_viewby_dim_level_short_name
,p_filter_dimension_short_name => p_filter_dimension_short_name
,p_filter_dim_level_short_name => p_filter_dim_level_short_name
,p_time_dimension_short_name => p_time_dimension_short_name
,p_time_dim_level_short_names => p_time_dim_level_short_names
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
l_Insert_Param_Ids FND_TABLE_OF_NUMBER;
l_Update_Param_Ids FND_TABLE_OF_NUMBER;
SELECT COUNT(WEIGHTED_MEASURE_ID)
INTO l_count
FROM BIS_WEIGHTED_MEASURE_DEPENDS
WHERE WEIGHTED_MEASURE_ID = p_weighted_measure_id
AND DEPENDENT_MEASURE_ID = p_dependent_measure_id;
SELECT
defns.weighted_definition_id
BULK COLLECT INTO
l_Definition_Ids
FROM
bis_weighted_measure_defns defns
WHERE
defns.weighted_measure_id = p_weighted_measure_id;
SELECT
params.weighted_parameter_id
BULK COLLECT INTO
l_Param_Ids
FROM
bis_weighted_measure_params params
WHERE
params.weighted_definition_id in (SELECT column_value FROM TABLE(CAST(l_Definition_Ids AS FND_TABLE_OF_NUMBER)));
SELECT
column_value
BULK COLLECT INTO
l_Insert_Param_Ids
FROM
(SELECT column_value FROM TABLE(CAST(l_Param_Ids AS FND_TABLE_OF_NUMBER))
MINUS
SELECT
weights.weighted_parameter_id
FROM
bis_weighted_measure_weights weights
WHERE
weights.weighted_parameter_id IN (SELECT column_value FROM TABLE(CAST(l_Param_Ids AS FND_TABLE_OF_NUMBER))) AND
weights.dependent_measure_id = p_dependent_measure_id);
SELECT
weights.weighted_parameter_id
BULK COLLECT INTO
l_Update_Param_Ids
FROM
bis_weighted_measure_weights weights
WHERE
weights.weighted_parameter_id IN (SELECT column_value FROM TABLE(CAST(l_Param_Ids AS FND_TABLE_OF_NUMBER))) AND
weights.dependent_measure_id = p_dependent_measure_id;
IF l_Update_Param_Ids.COUNT > 0 THEN
IF p_Weight IS NOT NULL THEN
FORALL i in 1..l_Update_Param_Ids.COUNT
UPDATE bis_weighted_measure_weights SET
weight = p_weight
,last_update_date = SYSDATE
,last_updated_by = l_User_Id
,last_update_login = l_Login_Id
WHERE
weighted_parameter_id = l_Update_Param_Ids(i) AND
dependent_measure_id = p_dependent_measure_id;
Delete_Bulk_Weights_Scores (
p_commit => FND_API.G_FALSE
,p_Param_Ids => l_Update_Param_Ids
,p_dependent_measure_id => p_dependent_measure_id
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
IF p_Weight IS NOT NULL AND l_Insert_Param_Ids.COUNT > 0 THEN
FORALL i in 1..l_Insert_Param_Ids.COUNT
INSERT INTO bis_weighted_measure_weights(
weight_id
,weighted_parameter_id
,dependent_measure_id
,weight
,creation_date
,created_by
,last_update_date
,last_updated_by
,last_update_login
) VALUES (
bis_weighted_measure_weights_s.nextval
,l_Insert_Param_Ids(i)
,p_dependent_measure_id
,p_weight
,SYSDATE
,l_User_Id
,SYSDATE
,l_User_Id
,l_Login_Id
);
BIS_WEIGHTED_MEASURE_PUB.Update_WM_Last_Update_Info(
p_commit => p_commit
,p_Weighted_Measure_Id => p_weighted_measure_id
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
SELECT attribute7
FROM bis_indicators wkpi, bis_indicators dkpi, ak_region_items_vl r
WHERE wkpi.indicator_id = p_wkpi_id
AND dkpi.indicator_id = p_dep_kpi_id
AND BSC_BIS_MEASURE_PUB.Get_Primary_Data_Source(p_wkpi_id) = r.region_code
AND dkpi.short_name = r.attribute2
AND r.attribute1 IN ('MEASURE', 'MEASURE_NOTARGET');
PROCEDURE Update_WM_Last_Update_Info(
p_commit IN VARCHAR2 := FND_API.G_FALSE
,p_weighted_measure_id IN NUMBER
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
) IS
BEGIN
SAVEPOINT Update_WM_LU_Info_pub;
BIS_WEIGHTED_MEASURE_PVT.Update_WM_Last_Update_Info(
p_commit => p_commit
,p_weighted_measure_id => p_weighted_measure_id
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
ROLLBACK TO Update_WM_LU_Info_pub;
ROLLBACK TO Update_WM_LU_Info_pub;
ROLLBACK TO Update_WM_LU_Info_pub;
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Update_WM_Last_Update_Info ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Update_WM_Last_Update_Info ';
END Update_WM_Last_Update_Info;
PROCEDURE Delete_Mass_Update_Data(
p_commit IN VARCHAR2 := FND_API.G_FALSE
,p_weighted_definition_id IN NUMBER
,p_dependent_measure_id IN NUMBER
,p_Selected_Period_Ids IN BIS_TABLE_OF_VARCHAR
,p_Selected_DimObj_Ids IN BIS_TABLE_OF_VARCHAR
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
)
IS
l_Param_Ids FND_TABLE_OF_NUMBER;
SAVEPOINT Bis_Delete_Mass_Update_Data;
SELECT
params.weighted_parameter_id
BULK COLLECT INTO
l_Param_Ids
FROM
bis_weighted_measure_params params,
(SELECT
a.column_value filter_level_value_id,
b.column_value time_level_value_id
FROM
(SELECT column_value FROM TABLE(CAST(p_Selected_DimObj_Ids AS BIS_TABLE_OF_VARCHAR))) A,
(SELECT column_value FROM TABLE(CAST(p_Selected_Period_Ids AS BIS_TABLE_OF_VARCHAR))) B) curParams
WHERE
params.weighted_definition_id = p_weighted_definition_id AND
params.time_level_value_id <> 'DEFAULT' AND
params.filter_level_value_id <> 'DEFAULT' AND
params.time_level_value_id = curParams.time_level_value_id AND
params.filter_level_value_id = curParams.filter_level_value_id;
SELECT
weights.weight_id
BULK COLLECT INTO
l_Weight_Ids
FROM
bis_weighted_measure_weights weights
WHERE
weights.dependent_measure_id = p_dependent_measure_id AND
weights.weighted_parameter_id IN (SELECT column_value FROM TABLE(CAST(l_Param_Ids AS FND_TABLE_OF_NUMBER)));
Delete_Bulk_Weights_Scores (
p_commit => FND_API.G_FALSE
,p_Param_Ids => l_Param_Ids
,p_dependent_measure_id => p_dependent_measure_id
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
);
ROLLBACK TO Bis_Delete_Mass_Update_Data;
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Delete_Mass_Update_Data ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Delete_Mass_Update_Data ';
END Delete_Mass_Update_Data;
PROCEDURE Insert_Mass_Update_Data(
p_commit IN VARCHAR2 := FND_API.G_FALSE
,p_weighted_measure_id IN NUMBER
,p_weighted_definition_id IN NUMBER
,p_dependent_measure_id IN NUMBER
,p_Time_Level IN VARCHAR2
,p_Filter_Level IN VARCHAR2
,p_Selected_Period_Ids IN BIS_TABLE_OF_VARCHAR
,p_Selected_DimObj_Ids IN BIS_TABLE_OF_VARCHAR
,p_Score_Values IN FND_TABLE_OF_NUMBER
,p_Lower_Ranges IN FND_TABLE_OF_NUMBER
,p_Upper_Ranges IN FND_TABLE_OF_NUMBER
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
)
IS
l_Create_Time_Values BIS_TABLE_OF_VARCHAR;
l_Is_Update BOOLEAN;
SAVEPOINT SAVE_Insert_Mass_Update_Data;
SELECT
*
BULK COLLECT INTO
l_Create_Filter_Values,
l_Create_Time_Values
FROM
( SELECT
a.column_value filter_level_value_id,
b.column_value time_level_value_id
FROM
(SELECT column_value FROM TABLE(CAST(p_Selected_DimObj_Ids AS BIS_TABLE_OF_VARCHAR))) A,
(SELECT column_value FROM TABLE(CAST(p_Selected_Period_Ids AS BIS_TABLE_OF_VARCHAR))) B
MINUS
SELECT
params.filter_level_value_id ,
params.time_level_value_id
FROM
bis_weighted_measure_params params
WHERE
params.weighted_definition_id = p_weighted_definition_id AND
params.time_level_value_id <> 'DEFAULT' AND
params.filter_level_value_id <> 'DEFAULT') insertedParams;
INSERT INTO bis_weighted_measure_params(
weighted_parameter_id
,weighted_definition_id
,time_level_value_id
,filter_level_value_id
,creation_date
,created_by
,last_update_date
,last_updated_by
,last_update_login
) VALUES (
bis_weighted_measure_params_s.nextval
,p_weighted_definition_id
,l_Create_Time_Values(i)
,l_Create_Filter_Values(i)
,SYSDATE
,l_User_Id
,SYSDATE
,l_User_Id
,l_Login_Id
);
SELECT
params.weighted_parameter_id
BULK COLLECT INTO
l_Param_Ids
FROM
bis_weighted_measure_params params,
(SELECT
a.column_value filter_level_value_id,
b.column_value time_level_value_id
FROM
(SELECT column_value FROM TABLE(CAST(p_Selected_DimObj_Ids AS BIS_TABLE_OF_VARCHAR))) A,
(SELECT column_value FROM TABLE(CAST(p_Selected_Period_Ids AS BIS_TABLE_OF_VARCHAR))) B) curParams
WHERE
params.weighted_definition_id = p_weighted_definition_id AND
params.time_level_value_id <> 'DEFAULT' AND
params.filter_level_value_id <> 'DEFAULT' AND
params.time_level_value_id = curParams.time_level_value_id AND
params.filter_level_value_id = curParams.filter_level_value_id;
SELECT
w.weight
INTO
l_Default_Weight
FROM
bis_weighted_measure_params p,
bis_weighted_measure_weights w
WHERE
p.weighted_parameter_id = w.weighted_parameter_id AND
p.time_level_value_id = 'DEFAULT' AND
p.filter_level_value_id = 'DEFAULT' AND
p.weighted_definition_id = p_weighted_definition_id AND
w.dependent_measure_id = p_dependent_measure_id;
INSERT INTO bis_weighted_measure_weights(
weight_id
, weighted_parameter_id
, dependent_measure_id
, weight
, creation_date
, created_by
, last_update_date
, last_updated_by
, last_update_login
) VALUES (
bis_weighted_measure_weights_s.nextval
, l_Param_Ids(i)
, p_dependent_measure_id
, l_Default_Weight
, SYSDATE
, l_User_Id
, SYSDATE
, l_User_Id
, l_Login_Id
);
SELECT
weights.weight_id
BULK COLLECT INTO
l_Weight_Ids
FROM
bis_weighted_measure_weights weights
WHERE
weights.weighted_parameter_id IN (SELECT column_value FROM TABLE(CAST(l_Param_Ids AS FND_TABLE_OF_NUMBER))) AND
weights.dependent_measure_id = p_dependent_measure_id;
INSERT INTO bis_weighted_measure_scores(
weight_id
,low_range
,high_range
,score
,creation_date
,created_by
,last_update_date
,last_updated_by
,last_update_login
) VALUES (
l_Weight_Ids(j)
,p_Lower_Ranges(i)
,p_Upper_Ranges(i)
,p_Score_Values(i)
,SYSDATE
,l_User_Id
,SYSDATE
,l_User_Id
,l_Login_Id
);
ROLLBACK TO SAVE_Insert_Mass_Update_Data;
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Insert_Mass_Update_Data ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Insert_Mass_Update_Data';
END Insert_Mass_Update_Data;
PROCEDURE Save_Mass_Update_Values(
p_commit IN VARCHAR2
,p_weighted_measure_id IN NUMBER
,p_dependent_measure_id IN NUMBER
,p_Time_Level IN VARCHAR2
,p_Filter_Level IN VARCHAR2
,p_Selected_Period_Ids IN BIS_TABLE_OF_VARCHAR
,p_Selected_DimObj_Ids IN BIS_TABLE_OF_VARCHAR
,p_Score_Values IN FND_TABLE_OF_NUMBER
,p_Lower_Ranges IN FND_TABLE_OF_NUMBER
,p_Upper_Ranges IN FND_TABLE_OF_NUMBER
,x_return_status OUT NOCOPY VARCHAR2
,x_msg_count OUT NOCOPY NUMBER
,x_msg_data OUT NOCOPY VARCHAR2
)
IS
l_Weighted_Definition_Id bis_weighted_measure_params.weighted_definition_id%type;
SAVEPOINT BisSave_Mass_Update_Values_Pub;
SELECT
defns.weighted_definition_id
INTO
l_Weighted_Definition_Id
FROM
bis_weighted_measure_defns defns
WHERE
defns.weighted_measure_id = p_weighted_measure_id AND
defns.time_dimension_short_name || '+' || defns.time_dim_level_short_name = p_Time_Level;
Delete_Mass_Update_Data(
p_commit => FND_API.G_FALSE
, p_weighted_definition_id => l_Weighted_Definition_Id
, p_dependent_measure_id => p_dependent_measure_id
, p_Selected_Period_Ids => p_Selected_Period_Ids
, p_Selected_DimObj_Ids => p_Selected_DimObj_Ids
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
Insert_Mass_Update_Data (
p_commit => FND_API.G_FALSE
, p_weighted_measure_id => p_weighted_measure_id
, p_dependent_measure_id => p_dependent_measure_id
, p_weighted_definition_id => l_Weighted_Definition_Id
, p_Time_Level => p_Time_Level
, p_Filter_Level => p_Filter_Level
, p_Selected_Period_Ids => p_Selected_Period_Ids
, p_Selected_DimObj_Ids => p_Selected_DimObj_Ids
, p_Score_Values => p_Score_Values
, p_Lower_Ranges => p_Lower_Ranges
, p_Upper_Ranges => p_Upper_Ranges
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
);
ROLLBACK TO BisSave_Mass_Update_Values_Pub;
ROLLBACK TO BisSave_Mass_Update_Values_Pub;
x_msg_data := x_msg_data||' -> BIS_WEIGHTED_MEASURE_PUB.Save_Mass_Update_Values ';
x_msg_data := SQLERRM||' at BIS_WEIGHTED_MEASURE_PUB.Save_Mass_Update_Values ';
END Save_Mass_Update_Values;
,p_Selected_Period_Ids IN BIS_TABLE_OF_VARCHAR
,p_Selected_DimObj_Ids IN BIS_TABLE_OF_VARCHAR
,x_Param_Count OUT NOCOPY NUMBER
) IS
l_Param_Ids FND_TABLE_OF_NUMBER;
SELECT
params.weighted_parameter_id
BULK COLLECT INTO
l_Param_Ids
FROM
bis_weighted_measure_params params,
bis_weighted_measure_defns defns,
(SELECT
a.column_value filter_level_value_id,
b.column_value time_level_value_id
FROM
(SELECT column_value FROM TABLE(CAST(p_Selected_DimObj_Ids AS BIS_TABLE_OF_VARCHAR))) A,
(SELECT column_value FROM TABLE(CAST(p_Selected_Period_Ids AS BIS_TABLE_OF_VARCHAR))) B) curParams
WHERE
defns.weighted_measure_id = p_weighted_measure_id AND
params.weighted_definition_id = defns.weighted_definition_id AND
params.time_level_value_id <> 'DEFAULT' AND
params.filter_level_value_id <> 'DEFAULT' AND
params.time_level_value_id = curParams.time_level_value_id AND
params.filter_level_value_id = curParams.filter_level_value_id;
SELECT
COUNT(1)
INTO
x_Param_Count
FROM
bis_weighted_measure_scores a,
bis_weighted_measure_weights b
WHERE
a.weight_id = b.weight_id AND
b.weighted_parameter_id in (SELECT column_value FROM TABLE(CAST(l_Param_Ids AS FND_TABLE_OF_NUMBER))) AND
b.dependent_measure_id = p_dependent_measure_id;