The following lines contain the word 'select', 'insert', 'update' or 'delete':
,P_LAST_UPDATE_DATE in varchar2
,P_CUSTOM_MODE in varchar2
)
is
l_demand_plan_id number;
f_ludate date; -- entity update date in file
db_ludate date; -- entity update date in db
select DEMAND_PLAN_ID, PLAN_TYPE
into l_demand_plan_id, l_plan_type
from MSD_DEMAND_PLANS
where DEMAND_PLAN_NAME = P_DEMAND_PLAN_NAME;
select PARAMETER_ID
into l_formula_id
from MSD_DP_PARAMETERS
where demand_plan_id = l_demand_plan_id
and parameter_type = p_formula_name;
select FORMULA_ID
into l_formula_id
from MSD_DP_FORMULAS
where demand_plan_id = l_demand_plan_id
and formula_name = p_formula_name;
f_ludate := nvl(to_date(P_LAST_UPDATE_DATE, 'YYYY/MM/DD'), sysdate);
select LAST_UPDATED_BY, LAST_UPDATE_DATE
into db_luby, db_ludate
from msd_dp_formula_parameters
where DEMAND_PLAN_ID = l_demand_plan_id
and formula_id = l_formula_id
and where_used = p_where_used
and parameter_sequence = p_parameter_sequence;
-- Update existing row
update msd_dp_formula_parameters
set enabled_flag = p_enabled_flag
,mandatory_flag = p_mandatory_flag
,parameter_type = p_parameter_type
,parameter_component = p_parameter_component
,parameter_value = p_parameter_value
,supply_plan_flag = p_supply_plan_flag
,supply_plan_name = p_supply_plan_name
,last_update_date = f_ludate ,
last_updated_by = f_luby ,
last_update_login = 0
where DEMAND_PLAN_ID = l_demand_plan_id
and formula_id = l_formula_id
and where_used = p_where_used
and parameter_sequence = p_parameter_sequence;
insert into msd_dp_formula_parameters
(DEMAND_PLAN_ID
,FORMULA_ID
,WHERE_USED
,PARAMETER_SEQUENCE
,ENABLED_FLAG
,MANDATORY_FLAG
,PARAMETER_TYPE
,PARAMETER_COMPONENT
,PARAMETER_VALUE
,SUPPLY_PLAN_FLAG
,SUPPLY_PLAN_NAME ,
CREATION_DATE ,
CREATED_BY ,
LAST_UPDATE_DATE ,
LAST_UPDATED_BY ,
LAST_UPDATE_LOGIN
)
values
(l_demand_plan_id
,l_formula_id
,P_WHERE_USED
,P_PARAMETER_SEQUENCE
,P_ENABLED_FLAG
,P_MANDATORY_FLAG
,P_PARAMETER_TYPE
,P_PARAMETER_COMPONENT
,P_PARAMETER_VALUE
,P_SUPPLY_PLAN_FLAG
,P_SUPPLY_PLAN_NAME ,
f_ludate ,
f_luby ,
f_ludate ,
f_luby ,
0
);