DBA Data[Home] [Help]

PACKAGE BODY: APPS.MSD_TEMPLATE_ATTRIBUTE_PKG

Source


1 PACKAGE BODY msd_template_attribute_pkg AS
2 /* $Header: msddptab.pls 120.0 2005/05/25 19:49:34 appldev noship $ */
3 
4 /* Public Procedures */
5 
6 PROCEDURE LOAD_ROW(P_DEMAND_PLAN_NAME in varchar2
7          ,P_ATTRIBUTE_NAME	in varchar2
8          ,P_ATTRIBUTE_TYPE          in varchar2
9          ,P_OWNER  in varchar2
10          ,P_ENABLED_FLAG      in varchar2
11          ,P_DISPLAYED_FLAG     in varchar2
12          ,P_ATTRIBUTE_PROMPT     in varchar2
13          ,P_LOV_NAME in varchar2
14          ,P_INSERT_ALLOWED_FLAG   in varchar2
15 	 ,P_LAST_UPDATE_DATE in varchar2
16          ,P_ENABLE_NONSEED_FLAG  in VARCHAR2
17          ,P_CUSTOM_MODE in varchar2
18 	 )
19 is
20 
21 l_demand_plan_id number;
22 l_scenario_id number;
23 l_event_id number;
24 f_luby    number;  -- entity owner in file
25 f_ludate  date;    -- entity update date in file
26 db_luby   number;  -- entity owner in db
27 db_ludate date;    -- entity update date in db
28 
29 BEGIN
30 
31         -- translate values to IDs
32         select DEMAND_PLAN_ID
33         into l_demand_plan_id
34         from MSD_DEMAND_PLANS
35         where DEMAND_PLAN_NAME = P_DEMAND_PLAN_NAME;
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_template_attributes
48           where TEMPLATE_ID = l_demand_plan_id
49           and ATTRIBUTE_TYPE = P_ATTRIBUTE_TYPE
50 	  and ATTRIBUTE_NAME = P_ATTRIBUTE_NAME;
51 
52 	  -- Test for customization and version
53           if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
54                                         db_ludate, P_CUSTOM_MODE)) then
55 	    -- Update existing row
56             update msd_template_attributes
57 	    set  enabled_flag = p_enabled_flag
58             ,displayed_flag = p_displayed_flag
59             ,attribute_prompt = p_attribute_prompt
60             ,lov_name = p_lov_name
61             ,insert_allowed_flag = p_insert_allowed_flag ,
62             enable_nonseed_flag = P_ENABLE_NONSEED_FLAG             ,
63 	    last_update_date = f_ludate            ,
64 	    last_updated_by = f_luby             ,
65 	    last_update_login = 0
66             where template_id = l_demand_plan_id
67             and attribute_type = p_attribute_type
68   	    and attribute_name = p_attribute_name;
69 
70           end if;
71         exception
72           when no_data_found then
73             -- Record doesn't exist - insert in all cases
74             insert into msd_template_attributes
75             (TEMPLATE_ID
76             ,ATTRIBUTE_NAME
77             ,ATTRIBUTE_TYPE
78             ,ENABLED_FLAG
79             ,DISPLAYED_FLAG
80             ,ATTRIBUTE_PROMPT
81             ,LOV_NAME
82             ,INSERT_ALLOWED_FLAG  ,
83 	    ENABLE_NONSEED_FLAG ,
84             CREATION_DATE	       ,
85             CREATED_BY                  ,
86             LAST_UPDATE_DATE            ,
87             LAST_UPDATED_BY             ,
88             LAST_UPDATE_LOGIN
89             )
90             values
91             (l_demand_plan_id
92            ,P_ATTRIBUTE_NAME
93            ,P_ATTRIBUTE_TYPE
94            ,P_ENABLED_FLAG
95            ,P_DISPLAYED_FLAG
96            ,P_ATTRIBUTE_PROMPT
97            ,P_LOV_NAME
98            ,P_INSERT_ALLOWED_FLAG  ,
99 	    P_ENABLE_NONSEED_FLAG ,
100             f_ludate	       ,
101 	    f_luby                  ,
102 	    f_ludate            ,
103 	    f_luby             ,
104 	    0
105 	    );
106         end;
107 
108 END;
109 
110 END msd_template_attribute_pkg ;