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