DBA Data[Home] [Help]

PACKAGE BODY: APPS.MSD_DP_EVENT_PKG

Source


1 PACKAGE BODY msd_dp_event_pkg AS
2 /* $Header: msddpevb.pls 120.0 2005/05/25 18:17:22 appldev noship $ */
3 
4 /* Public Procedures */
5 
6 
7 PROCEDURE LOAD_ROW(P_DEMAND_PLAN_NAME               in varchar2,
8                    P_EVENT                          in varchar2,
9                    P_OWNER                          in varchar2,
10                    P_DELETEABLE_FLAG                in varchar2,
11                    P_LAST_UPDATE_DATE               in varchar2,
12                    P_ENABLE_NONSEED_FLAG             in VARCHAR2,
13       		   P_CUSTOM_MODE                  in VARCHAR2
14                    )
15 is
16 
17 l_demand_plan_id number;
18 l_event_id number;
19 f_luby    number;  -- entity owner in file
20 f_ludate  date;    -- entity update date in file
21 db_luby   number;  -- entity owner in db
22 db_ludate date;    -- entity update date in db
23 
24 BEGIN
25 
26         -- translate values to IDs
27         select DEMAND_PLAN_ID
28         into l_demand_plan_id
29         from MSD_DEMAND_PLANS
30         where DEMAND_PLAN_NAME = P_DEMAND_PLAN_NAME;
31 
32         select EVENT_ID
33         into l_event_id
34         from MSD_EVENTS
35         where EVENT_NAME = P_EVENT;
36 
37 
38 
39         -- Translate owner to file_last_updated_by
40         f_luby := fnd_load_util.owner_id(P_OWNER);
41 
42         -- Translate char last_update_date to date
43         f_ludate := nvl(to_date(P_LAST_UPDATE_DATE, 'YYYY/MM/DD'), sysdate);
44         begin
45           select LAST_UPDATED_BY, LAST_UPDATE_DATE
46           into db_luby, db_ludate
47           from msd_dp_events
48           where DEMAND_PLAN_ID = l_demand_plan_id
49           and EVENT_ID = l_event_id;
50 
51 	  -- Test for customization and version
52           if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
53                                         db_ludate, P_CUSTOM_MODE)) then
54 	    -- Update existing row
55             update msd_dp_events
56 	    set  last_update_date = f_ludate            ,
57             deleteable_flag = P_DELETEABLE_FLAG             ,
58             enable_nonseed_flag = P_ENABLE_NONSEED_FLAG             ,
59 	    last_updated_by = f_luby             ,
60 	    last_update_login = 0
61 	    where demand_plan_id = l_demand_plan_id
62 	    and event_id = l_event_id;
63 
64           end if;
65         exception
66           when no_data_found then
67             -- Record doesn't exist - insert in all cases
68             insert into msd_dp_events
69             (DEMAND_PLAN_ID            ,
70             DP_EVENT_ID,
71             EVENT_ID,
72             CREATION_DATE	       ,
73             CREATED_BY                  ,
74             LAST_UPDATE_DATE            ,
75             LAST_UPDATED_BY             ,
76             LAST_UPDATE_LOGIN           ,
77 	    ENABLE_NONSEED_FLAG ,
78 	    DELETEABLE_FLAG
79             )
80             values
81             (l_demand_plan_id            ,
82             msd_dp_events_s.nextval,
83             l_event_id,
84             f_ludate	       ,
85 	    f_luby                  ,
86 	    f_ludate            ,
87 	    f_luby             ,
88 	    0           ,
89 	    P_ENABLE_NONSEED_FLAG ,
90 	    P_DELETEABLE_FLAG
91 	    );
92         end;
93 
94 END;
95 
96 END msd_dp_event_pkg ;