The following lines contain the word 'select', 'insert', 'update' or 'delete':
REM | 23-FEB-03 PAJOHRI Added procedures DELETE_DIMENSION_LEVEL |
REM | 23-FEB-03 PAJOHRI Modified the package, to handle Application_ID|
REM | 29-OCT-03 MAHRAO enh of adding new attributes to dim objects |
REM | 15-NOV-03 RCHANDRA enh 2997632 , added methods to check if it is |
REM | ok to disable a dimension level |
REM | 25-NOV-03 ADEULGAO fixed Bug#3266503 |
REM | 01-DEC-03 ADRAO Fixed Bug #3266561 Removed an additional check |
REM | to default Comparison_Label_Code & Default_Search to null|
REM | if passed as null from UI |
REM | 25-JUN-04 ANKGOEL Modified for bug#3567463 |
REM | 30-Jul-04 rpenneru Modified for enhancemen#3748519 |
REM | 29-SEP-2004 ankgoel Added WHO columns in Rec for Bug#3891748 |
REM | 21-DEC-04 vtulasi Modified for bug#4045278 - Addtion of LUD |
REM | 08-Feb-04 skchoudh Enh#3873195 drill_to_form_function column |
REM | is added |
REM | 08-Feb-05 ankgoel Enh#4172034 DD Seeding by Product Teams |
REM | 26-Sep-05 ankgoel Bug#4625611 - enable all BSC type dim objects |
REM | 07-NOV-05 akoduri Bug#4696105,Added overloaded API |
REM | get_customized_enabled |
REM | 06-Jan-06 akoduri Enh#4739401 - Hide Dimensions/Dim Objects |
REM +=======================================================================+
*/
--
G_PKG_NAME CONSTANT VARCHAR2(30):='BIS_DIMENSION_LEVEL_PVT';
p_last_updated_by IN NUMBER, -- last_updated_by
p_login_id IN NUMBER, -- l_login_id
p_level_name IN VARCHAR2, -- l_Dimension_Rec.Dimension_Name
p_description IN VARCHAR2, -- l_Dimension_Rec.Description
p_comparison_label_code IN VARCHAR2,
p_attribute_code IN VARCHAR2,
p_application_id IN NUMBER := NULL,
p_default_search IN VARCHAR2,
p_long_lov IN VARCHAR2,
p_master_level IN VARCHAR2,
p_view_object_name IN VARCHAR2,
p_default_values_api IN VARCHAR2,
p_enabled IN VARCHAR2,
p_drill_to_form_function IN VARCHAR2,
p_last_update_date IN DATE := SYSDATE,
p_hide IN VARCHAR2 := FND_API.G_FALSE
);
PROCEDURE UpdateRecord
( p_Dimension_Level_Rec BIS_Dimension_Level_PUB.Dimension_Level_Rec_Type
, x_Dimension_Level_Rec OUT NOCOPY BIS_Dimension_Level_PUB.Dimension_Level_Rec_Type
, x_return_status OUT NOCOPY VARCHAR2
, x_error_Tbl OUT NOCOPY BIS_UTILITIES_PUB.Error_Tbl_Type
);
x_dimension_level_rec.Last_Updated_By := BIS_UTILITIES_PVT.CheckMissNum(p_dimension_level_rec.Last_Updated_By);
x_dimension_level_rec.Last_Update_Date := BIS_UTILITIES_PVT.CheckMissDate(p_dimension_level_rec.Last_Update_Date);
x_dimension_level_rec.Last_Update_Login := BIS_UTILITIES_PVT.CheckMissNum(p_dimension_level_rec.Last_Update_Login);
PROCEDURE UpdateRecord
( p_Dimension_Level_Rec BIS_Dimension_Level_PUB.Dimension_Level_Rec_Type
, x_Dimension_Level_Rec OUT NOCOPY BIS_Dimension_Level_PUB.Dimension_Level_Rec_Type
, x_return_status OUT NOCOPY VARCHAR2
, x_error_Tbl OUT NOCOPY BIS_UTILITIES_PUB.Error_Tbl_Type
)
IS
--
l_Dimension_Level_Rec BIS_Dimension_Level_PUB.Dimension_Level_Rec_Type;
END UpdateRecord;
select dimension_id
, dimension_short_name
, dimension_name
, dimension_level_id
, dimension_level_short_name
, dimension_level_name
, description
, Level_Values_View_Name
, where_clause
, source
, comparison_label_code
, attribute_code
, application_id
, default_search
, long_lov
, master_level
, view_object_name
, default_values_api
, enabled
, drill_to_form_function
, hide_in_design
from bisfv_dimension_levels
where dimension_id = p_Dimension_Rec.dimension_id;
select dimension_id
, dimension_short_name
, dimension_name
, dimension_level_id
, dimension_level_short_name
, dimension_level_name
, description
, Level_Values_View_Name
, where_clause
, source
, comparison_label_code
, attribute_code
, application_id
, default_search
, long_lov
, master_level
, view_object_name
, default_values_api
, enabled
, drill_to_form_function
, hide_in_design
from bisfv_dimension_levels
where dimension_short_name = p_Dimension_Rec.dimension_short_name;
select dimension_id
, dimension_short_name
, dimension_name
, dimension_level_id
, dimension_level_short_name
, dimension_level_name
, description
, Level_Values_View_Name
, where_clause
, source
, comparison_label_code
, attribute_code
, application_id
, default_search
, long_lov
, master_level
, view_object_name
, default_values_api
, enabled
, drill_to_form_function
, hide_in_design
from bisfv_dimension_levels
where dimension_name = p_Dimension_Rec.dimension_name;
select dimension_id
, dimension_short_name
, dimension_name
, dimension_level_id
, dimension_level_short_name
, dimension_level_name
, description
, Level_Values_View_Name
, where_clause
, source
, comparison_label_code
, attribute_code
, application_id
, default_search
, long_lov
, master_level
, view_object_name
, default_values_api
, enabled
, drill_to_form_function
, hide_in_design
from bisfv_dimension_levels
where dimension_level_id = p_Dimension_level_Rec.dimension_level_id;
select dimension_id
, dimension_short_name
, dimension_name
, dimension_level_id
, dimension_level_short_name
, dimension_level_name
, description
, Level_Values_View_Name
, where_clause
, source
, comparison_label_code
, attribute_code
, application_id
, default_search
, long_lov
, master_level
, view_object_name
, default_values_api
, enabled
, drill_to_form_function
, hide_in_design
from bisfv_dimension_levels
where dimension_level_short_name
= p_Dimension_level_Rec.dimension_level_short_name;
select dimension_id
, dimension_short_name
, dimension_name
, dimension_level_id
, dimension_level_short_name
, dimension_level_name
, description
, Level_Values_View_Name
, where_clause
, source
, comparison_label_code
, attribute_code
, application_id
, default_search
, long_lov
, master_level
, view_object_name
, default_values_api
, enabled
, drill_to_form_function
, hide_in_design
from bisfv_dimension_levels
where dimension_level_name = p_Dimension_level_Rec.dimension_level_name;
x_sql := ' SELECT dimension_id
, dimension_short_name
, dimension_name
, dimension_level_id
, dimension_level_short_name
, dimension_level_name
, description
, Level_Values_View_Name
, where_clause
, source
, comparison_label_code
, attribute_code
, application_id
, default_search
, long_lov
, master_level
, view_object_name
, default_values_api
, enabled
, drill_to_form_function
, hide_in_design
FROM bisfv_dimension_levels
WHERE dimension_level_id IN (';
l_Dimension_Level_Rec.Last_Update_Date := NVL(p_Dimension_Level_Rec.Last_Update_Date, SYSDATE);
IF (l_Dimension_Level_Rec.Last_Updated_By IS NULL) THEN
l_Dimension_Level_Rec.Last_Updated_By := l_Dimension_Level_Rec.Created_By;
IF (l_Dimension_Level_Rec.Last_Update_Login IS NULL) THEN
l_Dimension_Level_Rec.Last_Update_Login := fnd_global.LOGIN_ID;
select bis_levels_s.NextVal into l_id from dual;
l_Dimension_Level_Rec.Last_Update_Date := NVL(p_Dimension_Level_Rec.Last_Update_Date, SYSDATE);
, p_last_updated_by => l_Dimension_Level_Rec.Last_Updated_By
, p_login_id => l_Dimension_Level_Rec.Last_Update_Login
, p_level_name => l_Dimension_Level_Rec.Dimension_Level_Name
, p_description => l_Dimension_Level_Rec.Description
, p_comparison_label_code => l_Dimension_Level_Rec.Comparison_Label_Code
, p_attribute_code => l_Dimension_Level_Rec.attribute_code
, p_application_id => l_Dimension_Level_Rec.Application_Id
, p_default_search => l_Dimension_Level_Rec.default_search
, p_long_lov => l_Dimension_Level_Rec.long_lov
, p_master_level => l_Dimension_Level_Rec.master_level
, p_view_object_name => l_Dimension_Level_Rec.view_object_name
, p_default_values_api => l_Dimension_Level_Rec.default_values_api
, p_enabled => l_Dimension_Level_Rec.enabled
, p_drill_to_form_function => l_DImension_Level_Rec.Drill_To_Form_Function
, p_hide => l_Dimension_Level_Rec.Hide
, p_last_update_date => l_Dimension_Level_Rec.Last_Update_Date
);
SELECT level_id
INTO l_level_id
FROM bis_levels_vl
WHERE
name = p_level_name
AND source = p_source
AND dimension_id = p_dimension_id;
p_last_updated_by IN NUMBER, -- last_updated_by
p_login_id IN NUMBER, -- l_login_id
p_level_name IN VARCHAR2, -- l_Dimension_Rec.Dimension_Name
p_description IN VARCHAR2, -- l_Dimension_Rec.Description
p_comparison_label_code IN VARCHAR2,
p_attribute_code IN VARCHAR2,
p_application_id IN NUMBER := NULL,
p_default_search IN VARCHAR2,
p_long_lov IN VARCHAR2,
p_master_level IN VARCHAR2,
p_view_object_name IN VARCHAR2,
p_default_values_api IN VARCHAR2,
p_enabled IN VARCHAR2,
p_drill_to_form_function IN VARCHAR2,
p_last_update_date IN DATE := SYSDATE,
p_Hide IN VARCHAR2 := FND_API.G_FALSE
)
IS
l_msg VARCHAR2(3000);
SAVEPOINT InsertIntoBISLevels;
insert into bis_levels(
LEVEL_ID
, SHORT_NAME
, DIMENSION_ID
, LEVEL_VALUES_VIEW_NAME
, WHERE_CLAUSE
, CREATION_DATE
, CREATED_BY
, LAST_UPDATE_DATE
, LAST_UPDATED_BY
, LAST_UPDATE_LOGIN
, SOURCE
, COMPARISON_LABEL_CODE
, ATTRIBUTE_CODE
, APPLICATION_ID
, default_search
, LONG_LOV
, MASTER_LEVEL
, VIEW_OBJECT_NAME
, DEFAULT_VALUES_API
, ENABLED
, DRILL_TO_FORM_FUNCTION
, HIDE_IN_DESIGN
)
values
( p_level_id
, p_level_short_name
, p_dimension_id
, p_level_values_view_name
, p_where_clause
, p_last_update_date
, p_created_by
, p_last_update_date
, p_last_updated_by
, p_login_id
, p_source
, p_comparison_label_code
, UPPER(p_attribute_code)
, p_application_id
, p_default_search
, NVL(p_long_lov, 'F')
, p_master_level
, p_view_object_name
, p_default_values_api
, NVL(p_enabled, FND_API.G_TRUE)
, p_drill_to_form_function
, p_hide
);
insert into bis_LEVELS_TL (
LEVEL_ID,
LANGUAGE,
NAME,
DESCRIPTION,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN,
TRANSLATED,
SOURCE_LANG
) select
DL.LEVEL_ID
, L.LANGUAGE_CODE
, p_level_name
, p_description
, p_last_update_date
, p_created_by
, p_last_update_date
, p_last_updated_by
, p_login_id
, 'Y'
, userenv('LANG')
from FND_LANGUAGES L
, BIS_LEVELS DL
where L.INSTALLED_FLAG in ('I', 'B')
and DL.SHORT_NAME = p_level_short_name
and not exists
(select 'EXIST'
from BIS_LEVELS_TL TL
, BIS_LEVELS T
where T.level_ID = TL.level_id
and T.SHORT_NAME = p_level_short_name
and TL.LANGUAGE = L.LANGUAGE_CODE);
ROLLBACK TO InsertIntoBISLevels;
PROCEDURE Update_Dimension_Level
( p_api_version IN NUMBER
, p_commit IN VARCHAR2 := FND_API.G_FALSE
, p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
, p_Dimension_Level_Rec IN BIS_DIMENSION_LEVEL_PUB.Dimension_Level_Rec_Type
, x_return_status OUT NOCOPY VARCHAR2
, x_error_Tbl OUT NOCOPY BIS_UTILITIES_PUB.Error_Tbl_Type
)
IS
l_Dimension_Level_Rec BIS_DIMENSION_LEVEL_PUB.Dimension_Level_Rec_Type;
l_Dimension_Level_Rec.Last_Update_Date := NVL(p_Dimension_Level_Rec.Last_Update_Date, SYSDATE);
Update_Dimension_Level
( p_api_version => p_api_version
, p_commit => p_commit
, p_validation_level => p_validation_level
, p_Dimension_Level_Rec => l_Dimension_Level_Rec
, p_owner => BIS_UTILITIES_PUB.G_CUSTOM_OWNER
, x_return_status => x_return_status
, x_error_Tbl => x_error_Tbl
);
, p_error_proc_name => G_PKG_NAME||'.Update_Dimension_Level'
, p_error_table => l_error_tbl
, x_error_table => x_error_tbl
);
END Update_Dimension_Level;
PROCEDURE Update_Dimension_Level
( p_api_version IN NUMBER
, p_commit IN VARCHAR2 := FND_API.G_FALSE
, p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
, p_Dimension_Level_Rec IN BIS_DIMENSION_LEVEL_PUB.Dimension_Level_Rec_Type
, p_owner IN VARCHAR2
, x_return_status OUT NOCOPY VARCHAR2
, x_error_Tbl OUT NOCOPY BIS_UTILITIES_PUB.Error_Tbl_Type
)
IS
l_user_id NUMBER;
UpdateRecord
( p_Dimension_Level_Rec => p_Dimension_Level_Rec
, x_Dimension_Level_Rec => l_Dimension_Level_Rec
, x_return_status => x_return_status
, x_error_Tbl => x_error_Tbl
);
, p_error_proc_name => G_PKG_NAME||'.Update_Dimension_Level'
, p_error_type => BIS_UTILITIES_PUB.G_ERROR
, p_error_table => l_error_tbl
, x_error_table => x_error_tbl
);
l_Dimension_Level_Rec.Last_Update_Date := NVL(p_Dimension_Level_Rec.Last_Update_Date, SYSDATE);
Update bis_Levels
set
SHORT_NAME = l_Dimension_Level_Rec.Dimension_Level_Short_Name
, DIMENSION_ID = l_Dimension_Level_Rec.Dimension_ID
, LEVEL_VALUES_VIEW_NAME = l_Dimension_Level_Rec.Level_Values_View_Name
, WHERE_CLAUSE = l_Dimension_Level_Rec.Where_Clause
, LAST_UPDATE_DATE = l_Dimension_Level_Rec.Last_Update_Date
, LAST_UPDATED_BY = l_user_id
, LAST_UPDATE_LOGIN = l_login_id
, SOURCE = l_Dimension_Level_Rec.Source
, COMPARISON_LABEL_CODE = l_Dimension_Level_Rec.Comparison_Label_Code
, ATTRIBUTE_CODE = UPPER(l_Dimension_Level_Rec.Attribute_Code)
, APPLICATION_ID = l_Dimension_Level_Rec.Application_ID
, default_search = l_Dimension_Level_Rec.default_search
, LONG_LOV = NVL(l_Dimension_Level_Rec.Long_Lov, 'F')
, MASTER_LEVEL = l_Dimension_Level_Rec.Master_Level
, VIEW_OBJECT_NAME = l_Dimension_Level_Rec.View_Object_Name
, DEFAULT_VALUES_API = l_Dimension_Level_Rec.Default_Values_Api
, ENABLED = NVL(l_Dimension_Level_Rec.Enabled,FND_API.G_TRUE)
, DRILL_TO_FORM_FUNCTION = l_Dimension_Level_Rec.Drill_To_Form_Function
, HIDE_IN_DESIGN = l_Dimension_Level_Rec.Hide
where Level_ID = l_Dimension_Level_Rec.Dimension_Level_Id;
, p_error_proc_name => G_PKG_NAME||'.Update_Dimension_Level'
, p_error_type => BIS_UTILITIES_PUB.G_ERROR
, p_error_table => l_error_tbl
, x_error_table => x_error_tbl
);
END Update_Dimension_Level;
l_Dimension_Level_Rec.Last_Update_Date := NVL(p_Dimension_Level_Rec.Last_Update_Date, SYSDATE);
UpdateRecord
( p_Dimension_Level_Rec => p_Dimension_Level_Rec
, x_Dimension_Level_Rec => l_Dimension_Level_Rec
, x_return_status => x_return_status
, x_error_Tbl => x_error_Tbl
);
l_Dimension_Level_Rec.Last_Update_Date := NVL(p_Dimension_Level_Rec.Last_Update_Date, SYSDATE);
Update bis_levels_TL
set
NAME = l_Dimension_Level_Rec.Dimension_Level_Name
, DESCRIPTION = l_Dimension_Level_Rec.description
, LAST_UPDATE_DATE = l_Dimension_Level_Rec.Last_Update_Date
, LAST_UPDATED_BY = l_user_id
, LAST_UPDATE_LOGIN = l_login_id
, SOURCE_LANG = userenv('LANG')
where LEVEL_ID = l_Dimension_Level_Rec.Dimension_Level_Id
and userenv('LANG') IN (LANGUAGE, SOURCE_LANG);
SELECT dimension_level_id into x_Dimension_Level_ID
FROM bisbv_dimension_levels
WHERE dimension_level_short_name = p_Dimension_Level_Short_Name;
SELECT dimension_level_id into x_Dimension_Level_ID
FROM bisbv_dimension_levels
WHERE dimension_level_name = p_Dimension_Level_Name;
PROCEDURE Delete_Dimension_Level
(
p_commit IN VARCHAR2 := FND_API.G_FALSE
, p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
, p_Dimension_Level_Rec IN BIS_Dimension_Level_PUB.Dimension_Level_Rec_Type
, x_return_status OUT NOCOPY VARCHAR2
, x_error_Tbl OUT NOCOPY BIS_UTILITIES_PUB.Error_Tbl_Type
) IS
l_dim_level_id NUMBER;
SELECT level_id
FROM BIS_LEVELS
WHERE short_name = p_Dimension_Level_Rec.Dimension_Level_Short_Name;
SAVEPOINT DeleteFromBISDimLevs;
, p_error_proc_name => G_PKG_NAME||'.Delete_Dimension_Level'
, p_error_type => BIS_UTILITIES_PUB.G_ERROR
, p_error_table => l_error_tbl
, x_error_table => x_error_tbl
);
DELETE FROM bis_levels
WHERE level_id = l_dim_level_id;
DELETE FROM bis_levels_tl
WHERE level_id = l_dim_level_id;
ROLLBACK TO DeleteFromBISDimLevs;
, p_error_proc_name => G_PKG_NAME||'.Delete_Dimension_Level'
, p_error_table => l_error_tbl
, x_error_table => x_error_tbl
);
ROLLBACK TO DeleteFromBISDimLevs;
END Delete_Dimension_Level;
SELECT LEVEL_ID
INTO l_dim_level_id
FROM BIS_LEVELS
WHERE SHORT_NAME = p_Dimension_Level_Rec.Dimension_Level_Short_Name;
UPDATE BIS_LEVELS_TL
SET NAME = p_Dimension_Level_Rec.Dimension_Level_Name
, DESCRIPTION = p_Dimension_Level_Rec.Description
, SOURCE_LANG = p_Dimension_Level_Rec.Source_Lang
, LAST_UPDATED_BY = l_user_id
, LAST_UPDATE_LOGIN = l_login_id
WHERE LEVEL_ID = l_dim_level_id
AND LANGUAGE = p_Dimension_Level_Rec.Language;
CURSOR c_cust IS SELECT
NAME ,
USER_ID,
APPLICATION_ID,
RESPONSIBILITY_ID,
ORG_ID,
SITE_ID
FROM BIS_LEVELS_CUSTOMIZATIONS_VL
WHERE LEVEL_ID = p_dim_level_id
AND (user_id = fnd_global.user_id
OR responsibility_id = fnd_global.RESP_ID
OR application_id = fnd_global.RESP_APPL_ID
OR org_id = fnd_global.ORG_ID
OR site_id = 0) ;
CURSOR c_cust IS SELECT
DESCRIPTION ,
USER_ID,
APPLICATION_ID,
RESPONSIBILITY_ID,
ORG_ID,
SITE_ID
FROM BIS_LEVELS_CUSTOMIZATIONS_VL
WHERE LEVEL_ID = p_dim_level_id
AND (user_id = fnd_global.user_id
OR responsibility_id = fnd_global.RESP_ID
OR application_id = fnd_global.RESP_APPL_ID
OR org_id = fnd_global.ORG_ID
OR site_id = 0) ;
SELECT LEVEL_ID,ENABLED
INTO l_dim_level_id,l_dim_level_enabled
FROM BIS_LEVELS
WHERE short_name = p_dim_level_sht_name;
CURSOR c_cust IS SELECT
ENABLED ,
USER_ID,
APPLICATION_ID,
RESPONSIBILITY_ID,
ORG_ID,
SITE_ID
FROM BIS_LEVELS_CUSTOMIZATIONS
WHERE LEVEL_ID = p_dim_level_id
AND (user_id = fnd_global.user_id
OR responsibility_id = fnd_global.RESP_ID
OR application_id = fnd_global.RESP_APPL_ID
OR org_id = fnd_global.ORG_ID
OR site_id = 0) ;
SELECT do.source FROM bsc_sys_dim_levels_b do, bis_levels dl WHERE do.short_name = dl.short_name
AND dl.level_id = cp_dim_level_id;
SELECT COUNT(1) INTO l_target_usage FROM bis_target_levels tl, bis_target_values tv
WHERE ( tl.TIME_LEVEL_ID = p_dim_level_id OR
tl.ORG_LEVEL_ID = p_dim_level_id OR
tl.DIMENSION1_LEVEL_ID = p_dim_level_id OR
tl.DIMENSION2_LEVEL_ID = p_dim_level_id OR
tl.DIMENSION3_LEVEL_ID = p_dim_level_id OR
tl.DIMENSION4_LEVEL_ID = p_dim_level_id OR
tl.DIMENSION5_LEVEL_ID = p_dim_level_id OR
tl.DIMENSION6_LEVEL_ID = p_dim_level_id OR
tl.DIMENSION7_LEVEL_ID = p_dim_level_id
) AND tl.target_level_id = tv.target_level_id ;
SELECT COUNT(1) INTO l_kpi_assing_usage FROM bsc_kpi_dim_levels_b kpi,
bsc_sys_dim_levels_b do , bis_levels lvl
WHERE do.level_table_name = kpi.level_table_name
AND do.short_name = lvl.short_name
AND lvl.level_id = p_dim_level_id;
, p_error_proc_name => G_PKG_NAME||'.Update_Dimension_Level'
, p_error_type => BIS_UTILITIES_PUB.G_ERROR
, p_error_table => p_error_tbl
, x_error_table => x_error_tbl
);
, p_error_proc_name => G_PKG_NAME||'.Update_Dimension_Level'
, p_error_type => BIS_UTILITIES_PUB.G_ERROR
, p_error_table => p_error_tbl
, x_error_table => x_error_tbl
);