DBA Data[Home] [Help]

PACKAGE BODY: APPS.WIP_PREF_LEVEL_PKG

Source


1 package body WIP_PREF_LEVEL_PKG as
2 /* $Header: WIPPRFLB.pls 120.0 2005/06/20 18:05:05 asuherma noship $ */
3 
4 procedure LOAD_SEED_ROW(
5           x_upload_mode                         in      varchar2,
6           x_custom_mode                         in      varchar2,
7           x_level_id                            in      number,
8           x_level_code                          in      number,
9           x_resp_key                            in      varchar2,
10           x_organization_id                     in      number,
11           x_department_id                       in      number,
12           x_module_id                           in      number,
13           x_owner                               in      varchar2,
14           x_last_update_date                    in      varchar2) is
15 begin
16    if (x_upload_mode = 'NLS') then
17       return;
18    else
19       WIP_PREF_LEVEL_PKG.LOAD_ROW(
20          x_custom_mode,
21 	 x_level_id,
22 	 x_level_code,
23          x_resp_key,
24 	 x_organization_id,
25 	 x_department_id,
26 	 x_module_id,
27 	 x_owner,
28 	 x_last_update_date);
29    end if;
30 end LOAD_SEED_ROW;
31 
32 procedure LOAD_ROW(
33           x_custom_mode                         in      varchar2,
34           x_level_id                            in      number,
35           x_level_code                          in      number,
36           x_resp_key                            in      varchar2,
37           x_organization_id                     in      number,
38           x_department_id                       in      number,
39           x_module_id                           in      number,
40           x_owner                               in      varchar2,
41           x_last_update_date                    in      varchar2) is
42    user_id NUMBER := 0;
43    f_ludate  date;    -- entity update date in file
44    db_luby   number;  -- entity owner in db
45    db_ludate date;    -- entity update date in db
46 begin
47    user_id := fnd_load_util.owner_id(x_owner);
48 
49    -- Translate char last_update_date to date
50    f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
51 
52    select LAST_UPDATED_BY, LAST_UPDATE_DATE
53    into   db_luby, db_ludate
54    from   WIP_PREFERENCE_LEVELS
55    where  LEVEL_ID = x_level_id;
56 
57    if (fnd_load_util.upload_test(user_id, f_ludate, db_luby,
58                                  db_ludate, x_custom_mode)) then
59       update WIP_PREFERENCE_LEVELS set
60              LEVEL_CODE = x_level_code,
61              RESP_KEY = x_resp_key,
62              ORGANIZATION_ID = x_organization_id,
63              DEPARTMENT_ID = x_department_id,
64              MODULE_ID = x_module_id,
65              LAST_UPDATE_DATE = f_ludate,
66              LAST_UPDATED_BY = user_id,
67              LAST_UPDATE_LOGIN = 0
68       where  LEVEL_ID = x_level_id;
69    end if;
70 
71 exception
72    when no_data_found then
73       -- Row doesn't exist yet.  Now this insert statement is placed here.
74       insert into WIP_PREFERENCE_LEVELS (
75                   LEVEL_ID,
76                   LEVEL_CODE,
77                   RESP_KEY,
78                   ORGANIZATION_ID,
79                   DEPARTMENT_ID,
80                   MODULE_ID,
81                   OBJECT_VERSION_NUMBER,
82                   LAST_UPDATE_DATE,
83                   LAST_UPDATED_BY,
84                   CREATION_DATE,
85                   CREATED_BY,
86                   LAST_UPDATE_LOGIN )
87            values (
88                   x_level_id,
89                   x_level_code,
90                   x_resp_key,
91                   x_organization_id,
92                   x_department_id,
93                   x_module_id,
94                   1,
95                   f_ludate,
96                   user_id,
97                   f_ludate,
98                   user_id,
99                   0 );
100 
101 end LOAD_ROW;
102 
103 
104 end WIP_PREF_LEVEL_PKG;