DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_NAVIGATION_UNITS_LCT_PKG

Source


1 package body HR_NAVIGATION_UNITS_LCT_PKG as
2 /* $Header: penut01t.pkb 115.3 1999/11/05 01:37:54 pkm ship    $ */
3 
4   procedure INSERT_ROW (
5   X_NAV_UNIT_ID in out NUMBER,
6   X_FORM_NAME in VARCHAR2,
7   X_BLOCK_NAME in VARCHAR2,
8   X_DEFAULT_WORKFLOW_ID in NUMBER,
9   X_APPLICATION_ABBREV in VARCHAR2,
10   X_MAX_NUMBER_OF_NAV_BUTTONS in NUMBER,
11   X_DEFAULT_LABEL in VARCHAR2
12 ) is
13   cursor CSR_SEQUENCE is
14     select HR_NAVIGATION_UNITS_S.nextval
15     from   dual;
16 begin
17   if X_NAV_UNIT_ID is null then
18     open CSR_SEQUENCE;
19     fetch CSR_SEQUENCE into X_NAV_UNIT_ID;
20     close CSR_SEQUENCE;
21   end if;
22   insert into HR_NAVIGATION_UNITS (
23     NAV_UNIT_ID,
24     FORM_NAME,
25     BLOCK_NAME,
26     DEFAULT_WORKFLOW_ID,
27     APPLICATION_ABBREV,
28     MAX_NUMBER_OF_NAV_BUTTONS,
29     DEFAULT_LABEL
30   ) values (
31     X_NAV_UNIT_ID,
32     X_FORM_NAME,
33     X_BLOCK_NAME,
34     X_DEFAULT_WORKFLOW_ID,
35     X_APPLICATION_ABBREV,
36     X_MAX_NUMBER_OF_NAV_BUTTONS,
37     X_DEFAULT_LABEL
38   );
39 end INSERT_ROW;
40 --
41 procedure LOCK_ROW (
42   X_NAV_UNIT_ID in NUMBER,
43   X_FORM_NAME in VARCHAR2,
44   X_BLOCK_NAME in VARCHAR2,
45   X_DEFAULT_WORKFLOW_ID in NUMBER,
46   X_APPLICATION_ABBREV in VARCHAR2,
47   X_MAX_NUMBER_OF_NAV_BUTTONS in NUMBER
48 ) is
49   cursor CSR_NAVIGATION_UNIT (
50     X_NAV_UNIT_ID in NUMBER
51   ) is
52     select FORM_NAME,
53            BLOCK_NAME,
54            DEFAULT_WORKFLOW_ID,
55            APPLICATION_ABBREV,
56            MAX_NUMBER_OF_NAV_BUTTONS
57     from   HR_NAVIGATION_UNITS
58     where  NAV_UNIT_ID = X_NAV_UNIT_ID
59     for update of NAV_UNIT_ID nowait;
60   RECINFO CSR_NAVIGATION_UNIT%rowtype;
61 begin
62   open CSR_NAVIGATION_UNIT(X_NAV_UNIT_ID);
63   fetch CSR_NAVIGATION_UNIT into RECINFO;
64   if (CSR_NAVIGATION_UNIT%notfound) then
65     close CSR_NAVIGATION_UNIT;
66     fnd_message.set_name('FND','FORM_RECORD_DELETED');
67     app_exception.raise_exception;
68   end if;
69   close CSR_NAVIGATION_UNIT;
70   if (   (  (RECINFO.FORM_NAME = X_FORM_NAME)
71          or (RECINFO.FORM_NAME is null and X_FORM_NAME is null))
72      and (  (RECINFO.BLOCK_NAME = X_BLOCK_NAME)
73          or (RECINFO.BLOCK_NAME is null and X_BLOCK_NAME is null))
74      and (  (RECINFO.DEFAULT_WORKFLOW_ID = X_DEFAULT_WORKFLOW_ID)
75          or (RECINFO.DEFAULT_WORKFLOW_ID is null and X_DEFAULT_WORKFLOW_ID is null))
76      and (  (RECINFO.APPLICATION_ABBREV = X_APPLICATION_ABBREV)
77          or (RECINFO.APPLICATION_ABBREV is null and X_APPLICATION_ABBREV is null))
78      and (  (RECINFO.MAX_NUMBER_OF_NAV_BUTTONS = X_MAX_NUMBER_OF_NAV_BUTTONS)
79          or (RECINFO.MAX_NUMBER_OF_NAV_BUTTONS is null and X_MAX_NUMBER_OF_NAV_BUTTONS is null))
80      ) then
81     null;
82   else
83     fnd_message.set_name('FND','FORM_RECORD_CHANGED');
84     app_exception.raise_exception;
85   end if;
86 end LOCK_ROW;
87 --
88 procedure UPDATE_ROW (
89   X_NAV_UNIT_ID in NUMBER,
90   X_FORM_NAME in VARCHAR2,
91   X_BLOCK_NAME in VARCHAR2,
92   X_DEFAULT_WORKFLOW_ID in NUMBER,
93   X_APPLICATION_ABBREV in VARCHAR2,
94   X_MAX_NUMBER_OF_NAV_BUTTONS in NUMBER,
95   X_DEFAULT_LABEL in VARCHAR2
96 ) is
97 begin
98   update HR_NAVIGATION_UNITS set
99     FORM_NAME = X_FORM_NAME,
100     BLOCK_NAME = X_BLOCK_NAME,
101     DEFAULT_WORKFLOW_ID = X_DEFAULT_WORKFLOW_ID,
102     APPLICATION_ABBREV = X_APPLICATION_ABBREV,
103     MAX_NUMBER_OF_NAV_BUTTONS = X_MAX_NUMBER_OF_NAV_BUTTONS,
104     DEFAULT_LABEL = X_DEFAULT_LABEL
105   where NAV_UNIT_ID = X_NAV_UNIT_ID;
106   if (sql%notfound) then
107     raise no_data_found;
108   end if;
109 end UPDATE_ROW;
110 --
111 procedure DELETE_ROW (
112   X_NAV_UNIT_ID in NUMBER
113 ) is
114 begin
115   delete from HR_NAVIGATION_UNITS
116   where NAV_UNIT_ID = X_NAV_UNIT_ID;
117   if (sql%notfound) then
118     raise no_data_found;
119   end if;
120 end DELETE_ROW;
121 --
122 procedure LOAD_ROW (
123   X_FORM_NAME in VARCHAR2,
124   X_BLOCK_NAME in VARCHAR2,
125   X_DEFAULT_WORKFLOW_NAME in VARCHAR2,
126   X_APPLICATION_ABBREV in VARCHAR2,
127   X_MAX_NUMBER_OF_NAV_BUTTONS in NUMBER,
128   X_DEFAULT_LABEL in VARCHAR2,
129   X_OWNER in VARCHAR2
130 ) is
131   cursor CSR_NAVIGATION_UNIT (
132     X_FORM_NAME in VARCHAR2,
133     X_BLOCK_NAME in VARCHAR2
134   ) is
135     select NAV_UNIT_ID
136     from   HR_NAVIGATION_UNITS
137     where FORM_NAME = X_FORM_NAME
138     and   (  (BLOCK_NAME = X_BLOCK_NAME)
139           or (BLOCK_NAME is null and X_BLOCK_NAME is null));
140   cursor CSR_WORKFLOW (
141     X_WORKFLOW_NAME in VARCHAR2
142   ) is
143     select WORKFLOW_ID
144     from   HR_WORKFLOWS
145     where  WORKFLOW_NAME = X_WORKFLOW_NAME;
146   X_NAV_UNIT_ID NUMBER;
147   X_DEFAULT_WORKFLOW_ID NUMBER;
148 begin
149   open CSR_NAVIGATION_UNIT(X_FORM_NAME,X_BLOCK_NAME);
150   fetch CSR_NAVIGATION_UNIT into X_NAV_UNIT_ID;
151   close CSR_NAVIGATION_UNIT;
152   open CSR_WORKFLOW(X_DEFAULT_WORKFLOW_NAME);
153   fetch CSR_WORKFLOW into X_DEFAULT_WORKFLOW_ID;
154   close CSR_WORKFLOW;
155   begin
156     UPDATE_ROW (
157       X_NAV_UNIT_ID,
158       X_FORM_NAME,
159       X_BLOCK_NAME,
160       X_DEFAULT_WORKFLOW_ID,
161       X_APPLICATION_ABBREV,
162       X_MAX_NUMBER_OF_NAV_BUTTONS,
163       X_DEFAULT_LABEL
164     );
165   exception
166     when no_data_found then
167       INSERT_ROW (
168         X_NAV_UNIT_ID,
169         X_FORM_NAME,
170         X_BLOCK_NAME,
171         X_DEFAULT_WORKFLOW_ID,
172         X_APPLICATION_ABBREV,
173         X_MAX_NUMBER_OF_NAV_BUTTONS,
174         X_DEFAULT_LABEL
175       );
176   end;
177 end LOAD_ROW;
178 --
179 procedure TRANSLATE_ROW (
180   X_FORM_NAME in VARCHAR2,
181   X_BLOCK_NAME in VARCHAR2,
182   X_DEFAULT_LABEL in VARCHAR2,
183   X_OWNER in VARCHAR2
184 ) is
185 begin
186   update HR_NAVIGATION_UNITS set
187     DEFAULT_LABEL = X_DEFAULT_LABEL
188   where FORM_NAME = X_FORM_NAME
189   and   (  (BLOCK_NAME = X_BLOCK_NAME)
190         or (BLOCK_NAME is null and X_BLOCK_NAME is null))
191   and   userenv('LANG') = (select LANGUAGE_CODE
192                            from   FND_LANGUAGES
193                            where  INSTALLED_FLAG = 'B');
194 end TRANSLATE_ROW;
195 --
196 end HR_NAVIGATION_UNITS_LCT_PKG;