DBA Data[Home] [Help]

PACKAGE BODY: APPS.BSC_SYS_MM_CONTROLS_PKG

Source


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