DBA Data[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;