DBA Data[Home] [Help]

PACKAGE BODY: APPS.BSC_KPI_SHELL_CMDS_PKG

Source


1 package body BSC_KPI_SHELL_CMDS_PKG as
2 /* $Header: BSCKSHLB.pls 115.6 2003/02/12 14:26:03 adrao ship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out NOCOPY VARCHAR2,
5   X_INDICATOR in NUMBER,
6   X_SHELL_CMD_ID in NUMBER,
7   X_COMMAND in VARCHAR2,
8   X_NAME in VARCHAR2
9 ) is
10   cursor C is select ROWID from BSC_KPI_SHELL_CMDS_TL
11     where INDICATOR = X_INDICATOR
12     and SHELL_CMD_ID = X_SHELL_CMD_ID
13     and LANGUAGE = userenv('LANG')
14     ;
15 begin
16   insert into BSC_KPI_SHELL_CMDS_TL (
17     INDICATOR,
18     SHELL_CMD_ID,
19     NAME,
20     COMMAND,
21     LANGUAGE,
22     SOURCE_LANG
23   ) select
24     X_INDICATOR,
25     X_SHELL_CMD_ID,
26     X_NAME,
27     X_COMMAND,
28     L.LANGUAGE_CODE,
29     userenv('LANG')
30   from FND_LANGUAGES L
31   where L.INSTALLED_FLAG in ('I', 'B')
32   and not exists
33     (select NULL
34     from BSC_KPI_SHELL_CMDS_TL T
35     where T.INDICATOR = X_INDICATOR
36     and T.SHELL_CMD_ID = X_SHELL_CMD_ID
37     and T.LANGUAGE = L.LANGUAGE_CODE);
38 
39   open c;
40   fetch c into X_ROWID;
41   if (c%notfound) then
42     close c;
43     raise no_data_found;
44   end if;
45   close c;
46 
47 end INSERT_ROW;
48 
49 procedure LOCK_ROW (
50   X_INDICATOR in NUMBER,
51   X_SHELL_CMD_ID in NUMBER,
52   X_COMMAND in VARCHAR2,
53   X_NAME in VARCHAR2
54 ) is
55   cursor c1 is select
56       COMMAND,
57       NAME,
58       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
59     from BSC_KPI_SHELL_CMDS_TL
60     where INDICATOR = X_INDICATOR
61     and SHELL_CMD_ID = X_SHELL_CMD_ID
62     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
63     for update of INDICATOR nowait;
64 begin
65   for tlinfo in c1 loop
66     if (tlinfo.BASELANG = 'Y') then
67       if (    (tlinfo.NAME = X_NAME)
68           AND ((tlinfo.COMMAND = X_COMMAND)
69                OR ((tlinfo.COMMAND is null) AND (X_COMMAND is null)))
70       ) then
71         null;
72       else
73         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
74         app_exception.raise_exception;
75       end if;
76     end if;
77   end loop;
78   return;
79 end LOCK_ROW;
80 
81 procedure UPDATE_ROW (
82   X_INDICATOR in NUMBER,
83   X_SHELL_CMD_ID in NUMBER,
84   X_COMMAND in VARCHAR2,
85   X_NAME in VARCHAR2
86 ) is
87 begin
88   update BSC_KPI_SHELL_CMDS_TL set
89     COMMAND = X_COMMAND,
90     NAME = X_NAME,
91     SOURCE_LANG = userenv('LANG')
92   where INDICATOR = X_INDICATOR
93   and SHELL_CMD_ID = X_SHELL_CMD_ID
94   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
95 
96   if (sql%notfound) then
97     raise no_data_found;
98   end if;
99 end UPDATE_ROW;
100 
101 procedure DELETE_ROW (
102   X_INDICATOR in NUMBER,
103   X_SHELL_CMD_ID in NUMBER
104 ) is
105 begin
106   delete from BSC_KPI_SHELL_CMDS_TL
107   where INDICATOR = X_INDICATOR
108   and SHELL_CMD_ID = X_SHELL_CMD_ID;
109 
110   if (sql%notfound) then
111     raise no_data_found;
112   end if;
113 
114 end DELETE_ROW;
115 
116 procedure ADD_LANGUAGE
117 is
118 begin
119   update BSC_KPI_SHELL_CMDS_TL T set (
120       NAME
121     ) = (select
122       B.NAME
123     from BSC_KPI_SHELL_CMDS_TL B
124     where B.INDICATOR = T.INDICATOR
125     and B.SHELL_CMD_ID = T.SHELL_CMD_ID
126     and B.LANGUAGE = T.SOURCE_LANG)
127   where (
128       T.INDICATOR,
129       T.SHELL_CMD_ID,
130       T.LANGUAGE
131   ) in (select
132       SUBT.INDICATOR,
133       SUBT.SHELL_CMD_ID,
134       SUBT.LANGUAGE
135     from BSC_KPI_SHELL_CMDS_TL SUBB, BSC_KPI_SHELL_CMDS_TL SUBT
136     where SUBB.INDICATOR = SUBT.INDICATOR
137     and SUBB.SHELL_CMD_ID = SUBT.SHELL_CMD_ID
138     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
139     and (SUBB.NAME <> SUBT.NAME
140   ));
141 
142   insert into BSC_KPI_SHELL_CMDS_TL (
143     INDICATOR,
144     SHELL_CMD_ID,
145     NAME,
146     COMMAND,
147     LANGUAGE,
148     SOURCE_LANG
149   ) select
150     B.INDICATOR,
151     B.SHELL_CMD_ID,
152     B.NAME,
153     B.COMMAND,
154     L.LANGUAGE_CODE,
155     B.SOURCE_LANG
156   from BSC_KPI_SHELL_CMDS_TL B, FND_LANGUAGES L
157   where L.INSTALLED_FLAG in ('I', 'B')
158   and B.LANGUAGE = userenv('LANG')
159   and not exists
160     (select NULL
161     from BSC_KPI_SHELL_CMDS_TL T
162     where T.INDICATOR = B.INDICATOR
163     and T.SHELL_CMD_ID = B.SHELL_CMD_ID
164     and T.LANGUAGE = L.LANGUAGE_CODE);
165 end ADD_LANGUAGE;
166 
167 end BSC_KPI_SHELL_CMDS_PKG;