The following lines contain the word 'select', 'insert', 'update' or 'delete':
| This package Creates, Retrieves, Updates, Deletes |
| BSC Kpi Group information. |
| |
| History: |
| 04-MAR-2003 PAJOHRI MLS Bug #2721899 |
| 1. Modified Update Query for BSC_TAB_IND_GROUPS_TL. |
| 2. Changed nvl(.Bsc_Language, userenv('LANG')) |
| to userenv('LANG') |
| 30-Oct-2003 ADEULGAO Fixed Bug#3208420, modified Delete_Kpi_Group to handle |
| Bsc_Tab_Id <> -1 condition. |
| |
| Nov-24 wcano fix bug 3267470 |
| 08-JAN-2004 krishan fixed for the bug 3357984 |
| 18-MAY-04 adrao Modified PL/SQL records and CRUD to accept SHORT_NAME |
+======================================================================================+
*/
G_PKG_NAME CONSTANT varchar2(30) := 'BSC_KPI_GROUP_PVT';
SELECT COUNT(1) INTO l_Count
FROM BSC_TAB_IND_GROUPS_B
WHERE IND_GROUP_ID = p_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Id;
SELECT COUNT(1) INTO l_Count
FROM BSC_TABS_B
WHERE TAB_ID = p_Bsc_Kpi_Group_Rec.Bsc_Tab_Id;
SELECT COUNT(1) INTO l_Count
FROM BSC_TAB_IND_GROUPS_B
WHERE SHORT_NAME = p_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Short_Name;
INSERT INTO BSC_TAB_IND_GROUPS_B( TAB_ID
,CSF_ID
,IND_GROUP_ID
,GROUP_TYPE
,NAME_POSITION
,NAME_JUSTIFICATION
,LEFT_POSITION
,TOP_POSITION
,WIDTH
,HEIGHT
,SHORT_NAME)
VALUES( p_Bsc_Kpi_Group_Rec.Bsc_Tab_Id
,p_Bsc_Kpi_Group_Rec.Bsc_Csf_Id
,p_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Id
,p_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Type
,p_Bsc_Kpi_Group_Rec.Bsc_Name_Pos_In_Tab
,p_Bsc_Kpi_Group_Rec.Bsc_Name_Justif_In_Tab
,p_Bsc_Kpi_Group_Rec.Bsc_Left_Position_In_Tab
,p_Bsc_Kpi_Group_Rec.Bsc_Top_Position_In_Tab
,p_Bsc_Kpi_Group_Rec.Bsc_Group_Width
,p_Bsc_Kpi_Group_Rec.Bsc_Group_Height
,p_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Short_Name);
INSERT INTO BSC_TAB_IND_GROUPS_TL( TAB_ID
,CSF_ID
,IND_GROUP_ID
,LANGUAGE
,SOURCE_LANG
,NAME
,HELP
) SELECT
p_Bsc_Kpi_Group_Rec.Bsc_Tab_Id,
p_Bsc_Kpi_Group_Rec.Bsc_Csf_Id,
p_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Id,
L.LANGUAGE_CODE,
USERENV('LANG'),
p_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Name,
p_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Help
FROM FND_LANGUAGES L
WHERE L.INSTALLED_FLAG IN ('I', 'B')
AND NOT EXISTS
(SELECT NULL
FROM BSC_TAB_IND_GROUPS_TL T
WHERE T.tab_id = p_Bsc_Kpi_Group_Rec.Bsc_Tab_Id
AND T.csf_id = p_Bsc_Kpi_Group_Rec.Bsc_Csf_Id
AND T.ind_group_id = p_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Id
AND T.LANGUAGE = L.LANGUAGE_CODE);
SELECT DISTINCT A.TAB_ID
,A.CSF_ID
,A.GROUP_TYPE
,A.NAME_POSITION
,A.NAME_JUSTIFICATION
,A.LEFT_POSITION
,A.TOP_POSITION
,A.WIDTH
,A.HEIGHT
,A.SHORT_NAME
,B.NAME
,B.HELP
,B.SOURCE_LANG
INTO x_Bsc_Kpi_Group_Rec.Bsc_Tab_Id
,x_Bsc_Kpi_Group_Rec.Bsc_Csf_Id
,x_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Type
,x_Bsc_Kpi_Group_Rec.Bsc_Name_Pos_In_Tab
,x_Bsc_Kpi_Group_Rec.Bsc_Name_Justif_In_Tab
,x_Bsc_Kpi_Group_Rec.Bsc_Left_Position_In_Tab
,x_Bsc_Kpi_Group_Rec.Bsc_Top_Position_In_Tab
,x_Bsc_Kpi_Group_Rec.Bsc_Group_Width
,x_Bsc_Kpi_Group_Rec.Bsc_Group_Height
,x_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Short_Name
,x_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Name
,x_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Help
,x_Bsc_Kpi_Group_Rec.Bsc_Source_Language
FROM BSC_TAB_IND_GROUPS_B a
,BSC_TAB_IND_GROUPS_TL b
WHERE a.ind_group_id = b.ind_group_id
AND b.ind_group_id = p_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Id
AND b.language = USERENV('LANG')
AND a.tab_id = -1
AND a.tab_id = b.tab_id;
procedure Update_Kpi_Group(
p_commit IN varchar2 := FND_API.G_FALSE
,p_Bsc_Kpi_Group_Rec IN BSC_KPI_GROUP_PUB.Bsc_Kpi_Group_Rec
,x_return_status OUT NOCOPY varchar2
,x_msg_count OUT NOCOPY number
,x_msg_data OUT NOCOPY varchar2
) is
l_Bsc_Kpi_Group_Rec BSC_KPI_GROUP_PUB.Bsc_Kpi_Group_Rec;
l_update_TL number := 0;
SELECT COUNT(1) INTO l_Count
FROM BSC_TAB_IND_GROUPS_B
WHERE ind_group_id = p_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Id;
select count(ind_group_id)
into l_name_count
from BSC_TAB_IND_GROUPS_TL
where name = p_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Name
and ind_group_id <> p_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Id
and tab_id = -1;
SELECT COUNT(1) INTO l_Count
FROM BSC_TABS_B
WHERE TAB_ID = p_Bsc_Kpi_Group_Rec.Bsc_Tab_Id;
l_update_TL := 1;
l_update_TL := 1;
select count(*)
into l_count
from BSC_TAB_IND_GROUPS_B
where tab_id = p_Bsc_Kpi_Group_Rec.Bsc_Tab_Id
and ind_group_id = l_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Id;
update BSC_TAB_IND_GROUPS_B
set csf_id = l_Bsc_Kpi_Group_Rec.Bsc_Csf_Id
,group_type = l_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Type
,name_position = l_Bsc_Kpi_Group_Rec.Bsc_Name_Pos_In_Tab
,name_justification = l_Bsc_Kpi_Group_Rec.Bsc_Name_Justif_In_Tab
where ind_group_id = l_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Id;
if l_update_TL = 1 then
--BSC_DEBUG.PUT_LINE(' BSC_KPI_GROUP_PVT.Update_Kpi_Group - Flag 4.5 ' );
update BSC_TAB_IND_GROUPS_TL
set csf_id = l_Bsc_Kpi_Group_Rec.Bsc_Csf_Id
,name = l_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Name
,help = l_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Help
,source_lang = userenv('LANG')
where ind_group_id = l_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Id
and userenv('LANG') IN (LANGUAGE, SOURCE_LANG);
update BSC_TAB_IND_GROUPS_B
set left_position = l_Bsc_Kpi_Group_Rec.Bsc_Left_Position_In_Tab
,top_position = l_Bsc_Kpi_Group_Rec.Bsc_Top_Position_In_Tab
,width = l_Bsc_Kpi_Group_Rec.Bsc_Group_Width
,height = l_Bsc_Kpi_Group_Rec.Bsc_Group_Height
where ind_group_id = l_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Id
and (tab_id = l_Bsc_Kpi_Group_Rec.Bsc_Tab_Id or tab_id = -1);
x_msg_data := x_msg_data||' -> BSC_KPI_GROUP_PVT.Update_Kpi_Group ';
x_msg_data := SQLERRM||' at BSC_KPI_GROUP_PVT.Update_Kpi_Group ';
x_msg_data := x_msg_data||' -> BSC_KPI_GROUP_PVT.Update_Kpi_Group ';
x_msg_data := SQLERRM||' at BSC_KPI_GROUP_PVT.Update_Kpi_Group ';
end Update_Kpi_Group;
procedure Delete_Kpi_Group(
p_commit IN VARCHAR2 := FND_API.G_FALSE
,p_Bsc_Kpi_Group_Rec IN BSC_KPI_GROUP_PUB.Bsc_Kpi_Group_Rec
,x_return_status OUT NOCOPY varchar2
,x_msg_count OUT NOCOPY number
,x_msg_data OUT NOCOPY varchar2
) is
l_count number;
SAVEPOINT BSCKPIDeletePVT;
SELECT COUNT(1) INTO l_Count
FROM BSC_TAB_IND_GROUPS_B
WHERE IND_GROUP_ID = p_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Id;
select count(b.indicator)
into l_count_kpi
from bsc_kpis_b a, bsc_tab_indicators b
where a.ind_group_id = p_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Id
and a.indicator = b.indicator
and b.tab_id = p_Bsc_Kpi_Group_Rec.Bsc_Tab_Id;
delete from BSC_TAB_IND_GROUPS_B
where ind_group_id = p_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Id
and tab_id = p_Bsc_Kpi_Group_Rec.Bsc_Tab_Id;
delete from BSC_TAB_IND_GROUPS_TL
where ind_group_id = p_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Id
and tab_id = p_Bsc_Kpi_Group_Rec.Bsc_Tab_Id;
FND_MESSAGE.SET_NAME('BSC','BSC_CANNOT_DELETE_KGROUP');
select count(indicator)
into l_count
from BSC_KPIS_B
where ind_group_id = p_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Id
and PROTOTYPE_FLAG <> BSC_KPI_PUB.DELETE_KPI_FLAG; -- Added to fix bug 3267470
delete from BSC_TAB_IND_GROUPS_B
where ind_group_id = p_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Id;
delete from BSC_TAB_IND_GROUPS_TL
where ind_group_id = p_Bsc_Kpi_Group_Rec.Bsc_Kpi_Group_Id;
FND_MESSAGE.SET_NAME('BSC','BSC_CANNOT_DELETE_KGROUP');
ROLLBACK TO BSCKPIDeletePVT;
ROLLBACK TO BSCKPIDeletePVT;
ROLLBACK TO BSCKPIDeletePVT;
x_msg_data := x_msg_data||' -> BSC_KPI_GROUP_PVT.Delete_Kpi_Group ';
x_msg_data := SQLERRM||' at BSC_KPI_GROUP_PVT.Delete_Kpi_Group ';
ROLLBACK TO BSCKPIDeletePVT;
x_msg_data := x_msg_data||' -> BSC_KPI_GROUP_PVT.Delete_Kpi_Group ';
x_msg_data := SQLERRM||' at BSC_KPI_GROUP_PVT.Delete_Kpi_Group ';
end Delete_Kpi_Group;