The following lines contain the word 'select', 'insert', 'update' or 'delete':
REM | selection parameter in procedure Retrieve_Dimension|
REM | cursor's select query. |
REM | 20-MAR-03 PAJOHRI Bug #2860782, Added 'description' in |
REM | Retrieve_Dimensions API |
REM | 23-FEB-03 PAJOHRI Modified the package, to handle Application_ID |
REM | which is added into the bis_levels |
REM | 23-FEB-03 PAJOHRI Added procedures DELETE_DIMENSION |
REM | 10-JUN-03 rchandra use -1 as dimension_id if short name is UNASSIGNED |
REM | for bug 2994108
REM | 07-JUL-2003 arhegde bug#3028436 Added get_unique_dim_group_name() |
REM | 09-JUL-2003 arhegde bug#3028436 Moved logic to BSC API from here |
REM | Removed get_unique_dim_group_name() |
REM | 11-JUL-03 MAHRAO Modified the package, to handle dim_grp_ID |
REM | which is added into the bis_dimensions |
REM | 29-JUN-2004 ankgoel bug#3711250 Handle translation of dimension_id=-1 |
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 | 09-FEB-05 ankgoel Bug#4172055 Dimension name validations |
REM | 06-Jan-06 akoduri Enh#4739401 - Hide Dimensions/Dim Objects |
REM +=======================================================================+
*/
--
G_PKG_NAME CONSTANT VARCHAR2(30):='BIS_DIMENSION_PVT';
PROCEDURE UpdateRecord
( p_Dimension_Rec BIS_Dimension_PUB.Dimension_Rec_Type
, x_Dimension_Rec OUT NOCOPY BIS_Dimension_PUB.Dimension_Rec_Type
, x_return_status OUT NOCOPY VARCHAR2
, x_error_Tbl OUT NOCOPY BIS_UTILITIES_PUB.Error_Tbl_Type
);
p_last_updated_by IN NUMBER, -- last_updated_by
p_login_id IN NUMBER, -- l_login_id
p_dimension_name IN VARCHAR2, -- l_Dimension_Rec.Dimension_Name
p_description IN VARCHAR2, -- l_Dimension_Rec.Description
p_last_update_date IN DATE := SYSDATE
);
x_Dimension_rec.Last_Updated_By := BIS_UTILITIES_PVT.CheckMissNum(p_Dimension_Rec.Last_Updated_By);
x_Dimension_rec.Last_Update_Date := BIS_UTILITIES_PVT.CheckMissDate(p_Dimension_Rec.Last_Update_Date);
x_Dimension_rec.Last_Update_Login := BIS_UTILITIES_PVT.CheckMissNum(p_Dimension_Rec.Last_Update_Login);
PROCEDURE UpdateRecord
( p_Dimension_Rec BIS_Dimension_PUB.Dimension_Rec_Type
, x_Dimension_Rec OUT NOCOPY BIS_Dimension_PUB.Dimension_Rec_Type
, x_return_status OUT NOCOPY VARCHAR2
, x_error_Tbl OUT NOCOPY BIS_UTILITIES_PUB.Error_Tbl_Type
)
IS
--
l_Dimension_Rec BIS_Dimension_PUB.Dimension_Rec_Type;
END UpdateRecord;
SELECT dimension_id
, dimension_short_name
, dimension_name
, description
, application_id
, dim_grp_id
, hide_in_design
from bisbv_dimensions;
SELECT dimension_id, short_name, name, description,
application_id, dim_grp_id, hide_in_design
FROM bis_dimensions_vl
WHERE dimension_id=p_Dimension_Rec.dimension_id;
SELECT dimension_id, short_name, name, description,
application_id, dim_grp_id, hide_in_design
FROM bis_dimensions_vl
WHERE short_name=p_Dimension_Rec.dimension_short_name;
SELECT dimension_id, short_name, name, description,
application_id, dim_grp_id, hide_in_design
FROM bis_dimensions_vl
WHERE name=p_Dimension_Rec.dimension_name;
l_Dimension_Rec.Last_Update_Date := NVL(p_Dimension_Rec.Last_Update_Date, SYSDATE);
IF (l_Dimension_Rec.Last_Updated_By IS NULL) THEN
l_Dimension_Rec.Last_Updated_By := l_Dimension_Rec.Created_By;
IF (l_Dimension_Rec.Last_Update_Login IS NULL) THEN
l_Dimension_Rec.Last_Update_Login := fnd_global.LOGIN_ID;
SELECT bis_dimensions_s.NextVal INTO l_id from dual;
l_Dimension_Rec.Last_Update_Date := NVL(p_Dimension_Rec.Last_Update_Date, SYSDATE);
, p_last_updated_by => l_Dimension_Rec.Last_Updated_By
, p_login_id => l_Dimension_Rec.Last_Update_Login
, p_dimension_name => l_Dimension_Rec.Dimension_Name
, p_description => l_Dimension_Rec.Description
, p_last_update_date => l_Dimension_Rec.Last_Update_Date
);
p_last_updated_by IN NUMBER, -- last_updated_by
p_login_id IN NUMBER, -- l_login_id
p_dimension_name IN VARCHAR2, -- l_Dimension_Rec.Dimension_Name
p_description IN VARCHAR2, -- l_Dimension_Rec.Description
p_last_update_date IN DATE := SYSDATE
)
IS
l_msg VARCHAR2(3000);
SAVEPOINT InsertIntoBISDims;
INSERT INTO bis_dimensions(
DIMENSION_ID
, SHORT_NAME
, APPLICATION_ID
, DIM_GRP_ID
, HIDE_IN_DESIGN
, CREATION_DATE
, CREATED_BY
, LAST_UPDATE_DATE
, LAST_UPDATED_BY
, LAST_UPDATE_LOGIN
)
VALUES
( p_dimension_id
, p_dimension_short_name
, p_application_id
, p_dim_grp_id
, p_hide
, p_last_update_date
, p_created_by
, p_last_update_date
, p_last_updated_by
, p_login_id
);
INSERT INTO bis_dimensions_tl (
DIMENSION_ID,
LANGUAGE,
NAME,
DESCRIPTION,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN,
TRANSLATED,
SOURCE_LANG
)
SELECT
p_dimension_id
, L.LANGUAGE_CODE
, p_dimension_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_DIMENSIONS D
WHERE L.INSTALLED_FLAG IN ('I', 'B')
AND D.SHORT_NAME = p_dimension_short_name
AND NOT EXISTS
(SELECT 'EXISTS'
FROM BIS_DIMENSIONS_TL TL
, BIS_DIMENSIONS D
WHERE TL.DIMENSION_ID = D.DIMENSION_ID
AND D.SHORT_NAME = p_dimension_short_name
AND TL.LANGUAGE = L.LANGUAGE_CODE) ;
ROLLBACK TO InsertIntoBISDims;
PROCEDURE Update_Dimension
( 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_Rec IN BIS_DIMENSION_PUB.Dimension_Rec_Type
, x_return_status OUT NOCOPY VARCHAR2
, x_error_Tbl OUT NOCOPY BIS_UTILITIES_PUB.Error_Tbl_Type
)
IS
l_error_tbl BIS_UTILITIES_PUB.Error_Tbl_Type;
l_Dimension_Rec.Last_Update_Date := NVL(p_Dimension_Rec.Last_Update_Date, SYSDATE);
Update_Dimension
( p_api_version => p_api_version
, p_commit => p_commit
, p_validation_level => p_validation_level
, p_Dimension_Rec => l_Dimension_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'
, p_error_table => l_error_tbl
, x_error_table => x_error_tbl
);
END Update_Dimension;
PROCEDURE Update_Dimension
( 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_Rec IN BIS_DIMENSION_PUB.Dimension_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_Rec => p_Dimension_Rec
, x_Dimension_Rec => l_Dimension_Rec
, x_return_status => x_return_status
, x_error_Tbl => x_error_Tbl
);
, p_error_proc_name => G_PKG_NAME||'.Update_Dimension'
, p_error_type => BIS_UTILITIES_PUB.G_ERROR
, p_error_table => l_error_tbl
, x_error_table => x_error_tbl
);
l_Dimension_Rec.Last_Update_Date := NVL(p_Dimension_Rec.Last_Update_Date, SYSDATE);
Update bis_dimensions
set
SHORT_NAME = l_Dimension_Rec.Dimension_Short_Name
, APPLICATION_ID = l_Dimension_Rec.Application_ID
, DIM_GRP_ID = l_Dimension_Rec.dim_grp_id
, HIDE_IN_DESIGN = l_Dimension_Rec.hide
, LAST_UPDATE_DATE = l_Dimension_Rec.Last_Update_Date
, LAST_UPDATED_BY = l_user_id
, LAST_UPDATE_LOGIN = l_login_id
where dimension_ID = l_Dimension_Rec.Dimension_Id;
, p_error_proc_name => G_PKG_NAME||'.Update_Dimension'
, p_error_type => BIS_UTILITIES_PUB.G_ERROR
, p_error_table => l_error_tbl
, x_error_table => x_error_tbl
);
, p_error_proc_name => G_PKG_NAME||'.Update_Dimension'
, p_error_table => l_error_tbl
, x_error_table => x_error_tbl
);
END Update_Dimension;
l_Dimension_Rec.Last_Update_Date := NVL(p_Dimension_Rec.Last_Update_Date, SYSDATE);
UpdateRecord
( p_Dimension_Rec => p_Dimension_Rec
, x_Dimension_Rec => l_Dimension_Rec
, x_return_status => x_return_status
, x_error_Tbl => x_error_Tbl
);
l_Dimension_Rec.Last_Update_Date := NVL(p_Dimension_Rec.Last_Update_Date, SYSDATE);
Update bis_dimensions_TL
set
NAME = l_Dimension_Rec.Dimension_Name
, DESCRIPTION = l_Dimension_Rec.description
, LAST_UPDATE_DATE = l_Dimension_Rec.Last_Update_Date
, LAST_UPDATED_BY = l_user_id
, LAST_UPDATE_LOGIN = l_login_id
, SOURCE_LANG = userenv('LANG')
where DIMENSION_ID = l_Dimension_Rec.Dimension_Id
and userenv('LANG') IN (LANGUAGE, SOURCE_LANG);
SELECT dimension_id INTO x_Dimension_ID
FROM bis_dimensions_vl
WHERE short_name = p_Dimension_Short_Name;
SELECT dimension_id INTO x_Dimension_ID
FROM bis_dimensions_vl
WHERE name = p_Dimension_Name;
PROCEDURE Delete_Dimension
(
p_commit IN VARCHAR2 := FND_API.G_FALSE
, p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
, p_Dimension_Rec IN BIS_DIMENSION_PUB.Dimension_Rec_Type
, x_return_status OUT NOCOPY VARCHAR2
, x_error_Tbl OUT NOCOPY BIS_UTILITIES_PUB.Error_Tbl_Type
) IS
l_error_tbl BIS_UTILITIES_PUB.Error_Tbl_Type;
SAVEPOINT DeleteFromBISDims;
DELETE FROM bis_dimensions WHERE
DIMENSION_ID = l_Dimension_Rec.dimension_id;
DELETE FROM bis_dimensions_tl WHERE
DIMENSION_ID = l_Dimension_Rec.dimension_id;
ROLLBACK TO DeleteFromBISDims;
ROLLBACK TO DeleteFromBISDims;
ROLLBACK TO DeleteFromBISDims;
, p_error_proc_name => G_PKG_NAME||'.Delete_Dimension'
, p_error_table => l_error_tbl
, x_error_table => x_error_tbl
);
ROLLBACK TO DeleteFromBISDims;
END Delete_Dimension;
SELECT DIMENSION_ID
INTO l_dim_id
FROM BIS_DIMENSIONS
WHERE SHORT_NAME = p_Dimension_Rec.Dimension_Short_Name;
UPDATE BIS_DIMENSIONS_TL
SET NAME = p_Dimension_Rec.Dimension_Name
,DESCRIPTION = p_Dimension_Rec.Description
,LAST_UPDATE_DATE = p_Dimension_Rec.Last_Update_Date
,LAST_UPDATED_BY = l_user_id
,LAST_UPDATE_LOGIN = l_login_id
,SOURCE_LANG = p_Dimension_Rec.Source_Lang
WHERE DIMENSION_ID = l_dim_id
AND LANGUAGE = p_Dimension_Rec.Language;
SELECT BD.short_name, BD.name, DECODE((SELECT count(1)
FROM bsc_sys_dim_levels_by_group DLG, bsc_sys_dim_levels_b DLB
WHERE DLB.source = 'PMF'
AND DLG.dim_level_id = DLB.dim_level_id
AND BG.dim_group_id = DLG.dim_group_id), 0, 'BSC', 'PMF') type
FROM bis_dimensions_vl BD, bsc_sys_dim_groups_vl BG
WHERE UPPER(BD.Name) = UPPER(p_Dimension_Name)
AND BD.dim_grp_id = BG.dim_group_id
AND BD.short_name <> p_Dimension_Short_Name;
SELECT COUNT(1) INTO l_count
FROM bis_dimensions_vl
WHERE UPPER(name) = UPPER(p_Dimension_Name)
AND short_name <> p_Dimension_Short_Name;
SELECT COUNT(1) INTO l_count
FROM bis_dimensions_vl
WHERE UPPER(name) = UPPER(l_new_disp_name);
UPDATE bis_dimensions_tl
SET name = l_new_disp_name
WHERE dimension_id = (SELECT dimension_id FROM bis_dimensions WHERE short_name = p_Dimension_Short_Name)
AND userenv('LANG') IN (LANGUAGE, SOURCE_LANG);