The following lines contain the word 'select', 'insert', 'update' or 'delete':
select B.BUSINESS_AREA_ID, A.TEMPLATE_ID
into l_business_area_id , l_template_id
from ZPB_DC_OBJECTS A,
ZPB_ANALYSIS_CYCLES B
where A.OBJECT_ID = p_object_id
and A.AC_INSTANCE_ID = B.ANALYSIS_CYCLE_ID;
select OBJECT_ID into l_master_object_id
from ZPB_DC_OBJECTS
where TEMPLATE_ID = l_template_id
and OBJECT_TYPE = 'M';
INSERT INTO ZPB_DC_DISTRIBUTORS(
OBJECT_ID,
DISTRIBUTOR_USER_ID,
DISTRIBUTION_DATE,
APPROVER_TYPE,
LAST_UPDATE_LOGIN,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
CREATED_BY,
CREATION_DATE
)
VALUES(
p_object_id,
p_distributor_user_id,
SYSDATE,
p_approver_type,
fnd_global.LOGIN_ID,
fnd_global.user_id,
SYSDATE,
fnd_global.user_id,
SYSDATE
);
INSERT INTO zpb_dc_approvers
(OBJECT_ID,
APPROVER_USER_ID,
APPROVAL_DATE,
CREATED_BY,
CREATION_DATE,
LAST_UPDATE_LOGIN,
LAST_UPDATED_BY,
LAST_UPDATE_DATE)
VALUES
(p_object_id,
p_approver_user_id,
p_approval_date,
fnd_global.user_id,
SYSDATE,
fnd_global.LOGIN_ID,
fnd_global.user_id,
SYSDATE);
SELECT ANALYSIS_CYCLE_ID ,
AC_INSTANCE_ID ,
GENERATE_TEMPLATE_TASK_ID,
OBJECT_USER_ID ,
AC_TEMPLATE_ID ,
TEMPLATE_NAME ,
DATAENTRY_OBJ_PATH ,
DATAENTRY_OBJ_NAME ,
TARGET_OBJ_PATH ,
TARGET_OBJ_NAME ,
INSTRUCTION_TEXT_ID ,
FREEZE_FLAG ,
DISTRIBUTION_METHOD ,
DISTRIBUTION_DIMENSION ,
DISTRIBUTION_HIERARCHY ,
DESCRIPTION ,
DEADLINE_DATE ,
APPROVAL_REQUIRED_FLAG ,
ENABLE_TARGET_FLAG ,
CREATE_INSTANCE_MEASURES_FLAG
FROM ZPB_DC_OBJECTS
WHERE TEMPLATE_ID = p_template_id
AND OBJECT_TYPE = 'M';
UPDATE ZPB_DC_OBJECTS
SET TEMPLATE_NAME = l_dist_template_row_rec.template_name,
DISTRIBUTION_DATE = SYSDATE,
DATAENTRY_OBJ_PATH = l_dist_template_row_rec.dataentry_obj_path,
DATAENTRY_OBJ_NAME = l_dist_template_row_rec.dataentry_obj_name,
TARGET_OBJ_PATH = l_dist_template_row_rec.target_obj_path,
TARGET_OBJ_NAME = l_dist_template_row_rec.target_obj_name,
PERSONAL_DATA_QUERY_FLAG = 'N',
PERSONAL_TARGET_QUERY_FLAG = 'N',
CREATE_SOLVE_PROGRAM_FLAG = 'Y',
-- template properties
DEADLINE_DATE = l_dist_template_row_rec.deadline_date,
APPROVER_TYPE = 'DISTRIBUTOR',
DESCRIPTION = l_dist_template_row_rec.description,
-- WHO columns
LAST_UPDATE_DATE = SYSDATE,
LAST_UPDATED_BY = fnd_global.user_id,
LAST_UPDATE_LOGIN = fnd_global.LOGIN_ID
WHERE TEMPLATE_ID = p_template_id
AND OBJECT_TYPE in ('W','C');
p_insert_type IN VARCHAR2,
p_distribute_type IN VARCHAR2,
p_currency_flag IN VARCHAR2,
p_view_type IN VARCHAR2,
p_business_area_id IN NUMBER,
p_multiple_submissions_flag IN VARCHAR2
)
IS
l_template_type zpb_dc_objects.object_type%TYPE;
UPDATE ZPB_DC_OBJECTS
SET TEMPLATE_NAME = p_template_name,
DESCRIPTION = p_description,
DATAENTRY_OBJ_PATH = p_dataentry_obj_path,
-- These 2 lines are commented out because they are already updated
-- before distribution wf starts
--DATAENTRY_OBJ_NAME = p_dataentry_obj_name,
TARGET_OBJ_PATH = p_target_obj_path,
--TARGET_OBJ_NAME = p_target_obj_name,
INSTRUCTION_TEXT_ID = p_instruction_text_id,
DEADLINE_DATE = p_deadline_date,
FREEZE_FLAG = p_freeze_flag,
APPROVAL_REQUIRED_FLAG = p_approval_required_flag,
DISTRIBUTION_DIMENSION = p_distribution_dimension,
DISTRIBUTION_METHOD = p_distribution_method,
DISTRIBUTION_HIERARCHY = p_distribution_hierarchy,
APPROVER_TYPE = p_approver_type,
ENABLE_TARGET_FLAG = p_enable_target_flag,
CREATE_INSTANCE_MEASURES_FLAG = p_create_inst_mea_flag,
MULTIPLE_SUBMISSIONS_FLAG = p_multiple_submissions_flag,
LAST_UPDATED_BY = fnd_global.USER_ID,
LAST_UPDATE_DATE = SYSDATE,
LAST_UPDATE_LOGIN = fnd_global.LOGIN_ID
WHERE TEMPLATE_ID = p_template_id
AND OBJECT_TYPE = 'M';
UPDATE ZPB_DC_OBJECTS
SET STATUS = 'DISTRIBUTED',
DISTRIBUTION_DATE = SYSDATE,
LAST_UPDATED_BY = fnd_global.USER_ID,
LAST_UPDATE_DATE = SYSDATE,
LAST_UPDATE_LOGIN = fnd_global.LOGIN_ID
WHERE TEMPLATE_ID = p_template_id
AND OBJECT_TYPE in ('M','E');
FOR c1 in (SELECT 1 from zpb_dc_objects WHERE object_id = p_object_id
and create_instance_measures_flag = 'Y')
LOOP
l_instance_flag := 'Y';
IF p_insert_type = 'Insert' THEN
-- Populate Distributors tables --
Populate_Distributors(
p_object_id => p_object_id,
p_distributor_user_id => p_distributor_user_id,
p_approver_type => l_approver_type);
INSERT INTO ZPB_DC_OBJECTS (
OBJECT_ID ,
TEMPLATE_ID ,
AC_TEMPLATE_ID ,
ANALYSIS_CYCLE_ID ,
AC_INSTANCE_ID ,
GENERATE_TEMPLATE_TASK_ID,
OBJECT_USER_ID ,
DISTRIBUTOR_USER_ID ,
DISTRIBUTION_DATE ,
OBJECT_TYPE ,
TEMPLATE_NAME ,
DATAENTRY_OBJ_PATH ,
DATAENTRY_OBJ_NAME ,
TARGET_OBJ_PATH ,
TARGET_OBJ_NAME ,
STATUS ,
DEADLINE_DATE ,
INSTRUCTION_TEXT_ID ,
FREEZE_FLAG ,
DISTRIBUTION_METHOD ,
DISTRIBUTION_DIMENSION ,
DISTRIBUTION_HIERARCHY ,
DESCRIPTION ,
APPROVAL_REQUIRED_FLAG ,
ENABLE_TARGET_FLAG ,
APPROVER_TYPE ,
COPY_INSTANCE_DATA_FLAG ,
COPY_TARGET_DATA_FLAG ,
CREATE_INSTANCE_MEASURES_FLAG,
PERSONAL_DATA_QUERY_FLAG,
PERSONAL_TARGET_QUERY_FLAG,
CREATE_SOLVE_PROGRAM_FLAG,
COPY_SOURCE_TYPE_FLAG,
LAST_UPDATE_DATE ,
LAST_UPDATED_BY ,
LAST_UPDATE_LOGIN ,
CREATION_DATE ,
CREATED_BY,
CURRENCY_FLAG,
VIEW_TYPE,
BUSINESS_AREA_ID,
MULTIPLE_SUBMISSIONS_FLAG)
VALUES (
p_object_id ,
p_template_id ,
p_ac_template_id ,
p_analysis_cycle_id ,
p_ac_instance_id ,
p_generate_template_task_id,
p_object_user_id ,
p_distributor_user_id ,
SYSDATE ,
l_template_type ,
p_template_name ,
p_dataentry_obj_path ,
p_dataentry_obj_name ,
p_target_obj_path ,
p_target_obj_name ,
l_status ,
p_deadline_date ,
p_instruction_text_id ,
p_freeze_flag ,
p_distribution_method ,
p_distribution_dimension ,
p_distribution_hierarchy ,
p_description ,
p_approval_required_flag,
p_enable_target_flag ,
l_approver_type ,
'Y' ,
l_copy_target_data_flag,
'Y',
'N',
'N',
'Y',
'Y',
SYSDATE ,
fnd_global.user_id ,
fnd_global.LOGIN_ID,
SYSDATE ,
fnd_global.user_id,
p_currency_flag,
p_view_type,
p_business_area_id,
p_multiple_submissions_flag);
ELSE -- update
-- Update distributors table
UPDATE ZPB_DC_DISTRIBUTORS
SET DISTRIBUTION_DATE = SYSDATE,
APPROVER_TYPE = l_approver_type,
LAST_UPDATE_LOGIN = fnd_global.LOGIN_ID,
LAST_UPDATED_BY = fnd_global.user_id,
LAST_UPDATE_DATE = SYSDATE,
CREATED_BY = fnd_global.user_id,
CREATION_DATE = SYSDATE
WHERE object_id = p_object_id;
UPDATE ZPB_DC_OBJECTS
SET DISTRIBUTOR_USER_ID = p_distributor_user_id,
DISTRIBUTION_DATE = SYSDATE,
-- data overwrite or not
DEADLINE_DATE = p_deadline_date,
STATUS = l_status,
FREEZE_FLAG = 'N',
COPY_INSTANCE_DATA_FLAG = l_instance_flag,
--WHO columns
LAST_UPDATE_DATE = SYSDATE,
LAST_UPDATED_BY = fnd_global.user_id,
LAST_UPDATE_LOGIN = fnd_global.LOGIN_ID
WHERE object_id = p_object_id;
END IF; -- insert or update
SELECT name,
value
FROM zpb_task_parameters
WHERE task_id = p_task_id;
SELECT value FROM ZPB_AC_PARAM_VALUES
WHERE ANALYSIS_CYCLE_ID = p_ac_id
AND PARAM_ID = l_currency_param_id;
SELECT business_area_id FROM zpb_analysis_cycles
WHERE ANALYSIS_CYCLE_ID = p_ac_id;
SELECT ZPB_TEMPLATE_WS_ID_SEQ.nextval
INTO l_object_m_id
FROM dual;
SELECT ZPB_TEMPLATE_WS_ID_SEQ.nextval
INTO l_object_e_id
FROM dual;
SELECT ZPB_TEMPLATE_WS_ID_SEQ.nextval
INTO l_object_c_id
FROM dual;
SELECT instance_description
INTO l_instance_name
FROM zpb_analysis_cycle_instances
WHERE instance_ac_id = p_instance_id;
SELECT tag INTO l_currency_param_id
FROM fnd_lookup_values_vl
WHERE LOOKUP_CODE = 'BUSINESS_PROCESS_CURRENCY'
and LOOKUP_TYPE = 'ZPB_PARAMS';
SELECT tag INTO l_entered
FROM fnd_lookup_values_vl
WHERE LOOKUP_CODE = 'LOAD_ENTERED'
and LOOKUP_TYPE = 'ZPB_PARAMS';
SELECT count(*) into l_have_entered_currency FROM ZPB_AC_PARAM_VALUES
WHERE ANALYSIS_CYCLE_ID = p_ac_id
AND PARAM_ID = l_entered AND value = 'Y';
/* SELECT count(*)
INTO l_ac_count
FROM zpb_dc_objects
WHERE analysis_cycle_id = p_ac_id
AND ac_template_id = l_ac_template_id;*/
SELECT max(ac_instance_id)
INTO l_last_ac_id
FROM zpb_dc_objects
WHERE analysis_cycle_id = p_ac_id
AND ac_template_id = l_ac_template_id;*/
SELECT max(a2.analysis_cycle_id)
INTO l_last_ac_id
FROM zpb_analysis_cycles a1, zpb_analysis_cycles a2
WHERE a1.analysis_cycle_id = p_ac_id
AND a2.status_code = 'ENABLE_TASK_OLD'
AND a1.current_instance_id = a2.current_instance_id
AND a2.analysis_cycle_id <> p_ac_id;
SELECT count(*)
INTO l_count_changed_dim
FROM (
(SELECT dimension_name
FROM zpb_cycle_model_dimensions
WHERE analysis_cycle_id = l_last_ac_id
MINUS
SELECT dimension_name
FROM zpb_cycle_model_dimensions
WHERE analysis_cycle_id = p_ac_id
)
UNION
(SELECT dimension_name
FROM zpb_cycle_model_dimensions
WHERE analysis_cycle_id = p_ac_id
MINUS
SELECT dimension_name
FROM zpb_cycle_model_dimensions
WHERE analysis_cycle_id = l_last_ac_id)
);
SELECT dataentry_obj_name, target_obj_name
INTO l_dataentry_name, l_target_name
FROM zpb_dc_objects
WHERE object_type = 'M'
AND ac_template_id = l_ac_template_id
AND ac_instance_id IN
(SELECT max(ac_instance_id)
FROM zpb_dc_objects
WHERE analysis_cycle_id = p_ac_id
AND ac_template_id = l_ac_template_id);
SELECT count(*) INTO l_master_exists
FROM zpb_dc_objects
WHERE object_type = 'M'
AND ac_template_id = l_ac_template_id
AND analysis_cycle_id = l_last_ac_id;
SELECT
dataentry_obj_path,dataentry_obj_name,target_obj_path,target_obj_name
INTO l_dataentry_path,l_dataentry_name,l_target_path,l_target_name
FROM zpb_dc_objects
WHERE object_type = 'M'
AND ac_template_id = l_ac_template_id
AND analysis_cycle_id = l_last_ac_id;
/* Insert a record for the Master Template,
this template is updated when distribute and submit, the changes from E template*/
INSERT INTO ZPB_DC_OBJECTS (
OBJECT_ID,
TEMPLATE_ID,
AC_TEMPLATE_ID,
ANALYSIS_CYCLE_ID,
AC_INSTANCE_ID,
GENERATE_TEMPLATE_TASK_ID,
OBJECT_USER_ID,
DISTRIBUTOR_USER_ID,
OBJECT_TYPE,
STATUS,
TEMPLATE_NAME,
USE_LAST_REVIEWED,
DATAENTRY_OBJ_PATH,
DATAENTRY_OBJ_NAME,
TARGET_OBJ_PATH,
TARGET_OBJ_NAME,
APPROVAL_REQUIRED_FLAG,
DISTRIBUTION_DIMENSION,
DISTRIBUTION_METHOD,
DISTRIBUTION_HIERARCHY,
INSTRUCTION_TEXT_ID,
WAIT_FOR_REVIEW_FLAG,
FREEZE_FLAG,
REVIEW_COMPLETE_FLAG,
ENABLE_TARGET_FLAG,
CREATE_INSTANCE_MEASURES_FLAG,
COPY_INSTANCE_DATA_FLAG,
COPY_TARGET_DATA_FLAG,
PERSONAL_DATA_QUERY_FLAG,
PERSONAL_TARGET_QUERY_FLAG,
CREATE_SOLVE_PROGRAM_FLAG,
COPY_SOURCE_TYPE_FLAG,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN,
CURRENCY_FLAG,
VIEW_TYPE,
BUSINESS_AREA_ID,
MULTIPLE_SUBMISSIONS_FLAG)
VALUES (
l_object_m_id,
l_template_id,
l_ac_template_id,
p_ac_id,
p_instance_id,
p_task_id,
fnd_global.user_id,
-100,
'M',
l_status,
l_template_name,
l_use_last_reviewed,
l_dataentry_path,
l_dataentry_name,
l_target_path,
l_target_name,
l_approval_req_flag,
l_dist_dim,
l_dist_method,
l_dist_hier,
l_object_m_id,
l_wait_review_flag,
'N',
l_review_complete_flag,
l_enable_target_flag,
'Y',
'Y',
l_copy_target_data_flag,
'N',
'N',
'Y',
'Y',
SYSDATE,
fnd_global.user_id,
SYSDATE,
fnd_global.user_id,
fnd_global.LOGIN_ID,
l_currency_flag,
l_viewType,
l_bus_area_id,
l_multiple_submissions_flag);
INSERT INTO ZPB_DC_INSTRUCTION_TEXT (
INSTRUCTION_TEXT_ID ,
LONG_TEXT ,
SHORT_TEXT ,
LAST_UPDATE_LOGIN ,
LAST_UPDATE_DATE ,
LAST_UPDATED_BY ,
CREATION_DATE ,
CREATED_BY) Values (
l_object_m_id ,
'' ,
l_short_instr_text ,
fnd_global.LOGIN_ID ,
SYSDATE ,
fnd_global.user_id ,
SYSDATE ,
fnd_global.user_id
);
INSERT INTO ZPB_DC_OBJECTS (
OBJECT_ID,
TEMPLATE_ID,
AC_TEMPLATE_ID,
ANALYSIS_CYCLE_ID,
AC_INSTANCE_ID,
GENERATE_TEMPLATE_TASK_ID,
OBJECT_USER_ID,
DISTRIBUTOR_USER_ID,
OBJECT_TYPE,
STATUS,
TEMPLATE_NAME,
USE_LAST_REVIEWED,
DATAENTRY_OBJ_PATH,
DATAENTRY_OBJ_NAME,
TARGET_OBJ_PATH,
TARGET_OBJ_NAME,
APPROVAL_REQUIRED_FLAG,
DISTRIBUTION_DIMENSION,
DISTRIBUTION_METHOD,
DISTRIBUTION_HIERARCHY,
INSTRUCTION_TEXT_ID,
WAIT_FOR_REVIEW_FLAG,
FREEZE_FLAG,
REVIEW_COMPLETE_FLAG,
ENABLE_TARGET_FLAG,
CREATE_INSTANCE_MEASURES_FLAG,
COPY_INSTANCE_DATA_FLAG,
COPY_TARGET_DATA_FLAG,
PERSONAL_DATA_QUERY_FLAG,
PERSONAL_TARGET_QUERY_FLAG,
CREATE_SOLVE_PROGRAM_FLAG,
COPY_SOURCE_TYPE_FLAG,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN,
CURRENCY_FLAG,
VIEW_TYPE,
BUSINESS_AREA_ID,
MULTIPLE_SUBMISSIONS_FLAG)
VALUES (
l_object_e_id,
l_template_id,
l_ac_template_id,
p_ac_id,
p_instance_id,
p_task_id,
fnd_global.user_id,
-100,
'E',
l_status,
l_template_name,
l_use_last_reviewed,
l_dataentry_path,
l_dataentry_name,
l_target_path,
l_target_name,
l_approval_req_flag,
l_dist_dim,
l_dist_method,
l_dist_hier,
l_object_e_id,
l_wait_review_flag,
'N',
l_review_complete_flag,
l_enable_target_flag,
'Y',
'Y',
l_copy_target_data_flag,
'N',
'N',
'Y',
'Y',
SYSDATE,
fnd_global.user_id,
SYSDATE,
fnd_global.user_id,
fnd_global.LOGIN_ID,
l_currency_flag,
l_viewType,
l_bus_area_id,
l_multiple_submissions_flag);
INSERT INTO ZPB_DC_INSTRUCTION_TEXT (
INSTRUCTION_TEXT_ID ,
LONG_TEXT ,
SHORT_TEXT ,
LAST_UPDATE_LOGIN ,
LAST_UPDATE_DATE ,
LAST_UPDATED_BY ,
CREATION_DATE ,
CREATED_BY) Values (
l_object_e_id ,
'' ,
l_short_instr_text ,
fnd_global.LOGIN_ID ,
SYSDATE ,
fnd_global.user_id ,
SYSDATE ,
fnd_global.user_id
);
INSERT INTO ZPB_DC_OBJECTS (
OBJECT_ID,
TEMPLATE_ID,
AC_TEMPLATE_ID,
ANALYSIS_CYCLE_ID,
AC_INSTANCE_ID,
GENERATE_TEMPLATE_TASK_ID,
OBJECT_USER_ID,
DISTRIBUTOR_USER_ID,
OBJECT_TYPE,
TEMPLATE_NAME,
STATUS,
USE_LAST_REVIEWED,
DATAENTRY_OBJ_PATH,
DATAENTRY_OBJ_NAME,
TARGET_OBJ_PATH,
TARGET_OBJ_NAME,
APPROVAL_REQUIRED_FLAG,
DISTRIBUTION_DIMENSION,
DISTRIBUTION_METHOD,
DISTRIBUTION_HIERARCHY,
INSTRUCTION_TEXT_ID,
WAIT_FOR_REVIEW_FLAG,
FREEZE_FLAG,
REVIEW_COMPLETE_FLAG,
ENABLE_TARGET_FLAG,
CREATE_INSTANCE_MEASURES_FLAG,
COPY_INSTANCE_DATA_FLAG,
COPY_TARGET_DATA_FLAG,
PERSONAL_DATA_QUERY_FLAG,
PERSONAL_TARGET_QUERY_FLAG,
CREATE_SOLVE_PROGRAM_FLAG,
COPY_SOURCE_TYPE_FLAG,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN,
CURRENCY_FLAG,
VIEW_TYPE,
BUSINESS_AREA_ID,
MULTIPLE_SUBMISSIONS_FLAG)
VALUES (
l_object_c_id,
l_template_id,
l_ac_template_id,
p_ac_id,
p_instance_id,
p_task_id,
fnd_global.user_id,
-100,
'C',
l_template_name,
'DISTRIBUTION_PENDING',
l_use_last_reviewed,
l_dataentry_path,
l_dataentry_name,
l_target_path,
l_target_name,
l_approval_req_flag,
l_dist_dim,
l_dist_method,
l_dist_hier,
l_object_m_id,
l_wait_review_flag,
'N',
l_review_complete_flag,
l_enable_target_flag,
'Y',
'Y',
l_copy_target_data_flag,
'N',
'N',
'Y',
'Y',
SYSDATE,
fnd_global.user_id,
SYSDATE,
fnd_global.user_id,
fnd_global.LOGIN_ID,
l_currency_flag,
l_viewType,
l_bus_area_id,
l_multiple_submissions_flag);
l_insert_type VARCHAR2(10);
SELECT name, value
FROM zpb_task_parameters
WHERE task_id = p_task_id;
SELECT ANALYSIS_CYCLE_ID ,
AC_INSTANCE_ID ,
GENERATE_TEMPLATE_TASK_ID,
OBJECT_USER_ID ,
DISTRIBUTOR_USER_ID ,
AC_TEMPLATE_ID ,
TEMPLATE_NAME ,
DATAENTRY_OBJ_PATH ,
DATAENTRY_OBJ_NAME ,
TARGET_OBJ_PATH ,
TARGET_OBJ_NAME ,
INSTRUCTION_TEXT_ID ,
FREEZE_FLAG ,
DISTRIBUTION_METHOD ,
DISTRIBUTION_DIMENSION ,
DISTRIBUTION_HIERARCHY ,
DESCRIPTION ,
APPROVAL_REQUIRED_FLAG ,
ENABLE_TARGET_FLAG ,
CREATE_INSTANCE_MEASURES_FLAG,
PERSONAL_DATA_QUERY_FLAG,
PERSONAL_TARGET_QUERY_FLAG,
CURRENCY_FLAG,
VIEW_TYPE,
BUSINESS_AREA_ID,
MULTIPLE_SUBMISSIONS_FLAG
FROM ZPB_DC_OBJECTS
WHERE TEMPLATE_ID = p_template_id
AND OBJECT_TYPE = 'M';
SELECT value
FROM zpb_task_parameters
WHERE task_id = p_task_id
AND name = 'DISTRIBUTION_SPECIFIED_USERS';
SELECT count(*)
FROM ZPB_DC_OBJECTS
WHERE TEMPLATE_ID = p_template_id
AND OBJECT_USER_ID = l_user_id;
SELECT object_id, object_user_id, wait_for_review_flag, review_complete_flag
INTO l_object_id, l_object_user_id, l_wait_for_review, l_review_complete_flag
FROM zpb_dc_objects
WHERE template_id = p_template_id
AND object_type = 'M';
IF (l_count = 0 ) THEN -- do the insert, otherwise ignore
l_insert_type := 'Insert';
SELECT ZPB_TEMPLATE_WS_ID_SEQ.nextval
INTO l_object_id
FROM dual;
p_insert_type => l_insert_type,
p_distribute_type => 'AUTO',
p_currency_flag => l_dist_template_row_rec.currency_flag,
p_view_type => l_dist_template_row_rec.view_type,
p_business_area_id => l_dist_template_row_rec.business_area_id,
p_multiple_submissions_flag => l_dist_template_row_rec.multiple_submissions_flag
);
SELECT user_id INTO l_user_id
FROM fnd_user
WHERE user_name = upper(l_user);
IF (l_count = 0 ) THEN -- do the insert, otherwise ignore
-- Object id is unique = ws id
SELECT ZPB_TEMPLATE_WS_ID_SEQ.nextval
INTO l_object_id
FROM dual;
l_insert_type := 'Insert';
p_insert_type => l_insert_type,
p_distribute_type => 'AUTO',
p_currency_flag => l_dist_template_row_rec.currency_flag,
p_view_type => l_dist_template_row_rec.view_type,
p_business_area_id => l_dist_template_row_rec.business_area_id,
p_multiple_submissions_flag => l_dist_template_row_rec.multiple_submissions_flag
);
| Procedure updates the Master template copies the changes,
| if any, that the user makes
| creates a new worksheet for each user on the
| distribution user list.
+=========================================================================*/
PROCEDURE Manual_Distribute(
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2,
p_commit IN VARCHAR2,
p_validation_level IN NUMBER,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
--
p_object_id IN number,
p_recipient_type IN varchar2,
p_dist_list_id IN number,
p_approver_type IN varchar2,
p_deadline_date IN date,
p_overwrite_cust IN varchar2,
p_overwrite_data IN varchar2)
IS
l_api_name CONSTANT VARCHAR2(30) := 'Manual_Distribute';
l_insert_type VARCHAR2(10);
SELECT template_id,
object_user_id,
object_type
FROM zpb_dc_objects
WHERE object_id = p_object_id;
SELECT ANALYSIS_CYCLE_ID ,
AC_INSTANCE_ID ,
GENERATE_TEMPLATE_TASK_ID,
OBJECT_USER_ID ,
AC_TEMPLATE_ID ,
TEMPLATE_NAME ,
DATAENTRY_OBJ_PATH ,
DATAENTRY_OBJ_NAME ,
TARGET_OBJ_PATH ,
TARGET_OBJ_NAME ,
INSTRUCTION_TEXT_ID ,
FREEZE_FLAG ,
DISTRIBUTION_METHOD ,
DISTRIBUTION_DIMENSION ,
DISTRIBUTION_HIERARCHY ,
DESCRIPTION ,
DEADLINE_DATE ,
APPROVAL_REQUIRED_FLAG ,
ENABLE_TARGET_FLAG ,
CREATE_INSTANCE_MEASURES_FLAG,
CURRENCY_FLAG,
VIEW_TYPE,
BUSINESS_AREA_ID,
MULTIPLE_SUBMISSIONS_FLAG
FROM ZPB_DC_OBJECTS
WHERE TEMPLATE_ID = l_template_id
AND OBJECT_TYPE = 'M';
SELECT user_name
FROM zpb_dc_distribution_list_items
WHERE distribution_list_id = p_dist_list_id;
SELECT count(*)
FROM ZPB_DC_OBJECTS
WHERE TEMPLATE_ID = l_template_id
AND OBJECT_USER_ID = l_user_id;
l_insert_type := 'Insert';
SELECT ZPB_TEMPLATE_WS_ID_SEQ.nextval
INTO l_object_id
FROM dual;
l_insert_type := 'Update';
SELECT object_id
INTO l_object_id
FROM ZPB_DC_OBJECTS
WHERE TEMPLATE_ID = l_template_id
AND OBJECT_USER_ID = l_user_id;
p_insert_type => l_insert_type,
p_distribute_type => 'MANUAL',
p_currency_flag => l_dist_worksheet_row_rec.currency_flag,
p_view_type => l_dist_worksheet_row_rec.view_type,
p_business_area_id => l_dist_worksheet_row_rec.business_area_id,
p_multiple_submissions_flag => l_dist_worksheet_row_rec.multiple_submissions_flag
);
SELECT user_id INTO l_user_id
FROM fnd_user
WHERE user_name = upper(l_user);
l_insert_type := 'Insert';
SELECT ZPB_TEMPLATE_WS_ID_SEQ.nextval
INTO l_object_id
FROM dual;
l_insert_type := 'Update';
SELECT object_id
INTO l_object_id
FROM ZPB_DC_OBJECTS
WHERE TEMPLATE_ID = l_template_id
AND OBJECT_USER_ID = l_user_id;
p_insert_type => l_insert_type,
p_distribute_type => 'MANUAL',
p_currency_flag => l_dist_worksheet_row_rec.currency_flag,
p_view_type => l_dist_worksheet_row_rec.view_type,
p_business_area_id => l_dist_worksheet_row_rec.business_area_id,
p_multiple_submissions_flag => l_dist_worksheet_row_rec.multiple_submissions_flag
);
SELECT fnd.user_name
FROM zpb_dc_objects obj, fnd_user fnd
WHERE obj.template_id = p_template_id
AND obj.object_user_id = fnd.user_id
AND obj.object_type in ('W');
l_rolename := zpb_wf_ntf.update_Role_with_Shadows(l_rolename, template_user_rec.user_name);
FND_FILE.Put_Line ( FND_FILE.LOG, 'set_template_recipient - after call to update_Role_with_Shadows') ;
SELECT value
FROM zpb_task_parameters
WHERE task_id = p_task_id
AND name = 'DISTRIBUTION_RECIPIENT_TYPE';
SELECT value
FROM zpb_task_parameters
WHERE task_id = p_task_id
AND name = 'DISTRIBUTION_SPECIFIED_USERS';
SELECT user_name
FROM zpb_dc_distribution_list_items
WHERE distribution_list_id = p_dist_list_id;
SELECT object_id, object_user_id
INTO l_object_id, l_object_user_id
FROM zpb_dc_objects
WHERE template_id = p_template_id
AND object_type = 'M';
l_rolename := zpb_wf_ntf.update_Role_with_Shadows(l_rolename, l_user );
(select column_value , fndu.user_name user_name
from
table( cast(aw_user_list as zpb_num_tbl_type)) aw_users,
fnd_user fndu
where fndu.user_id = aw_users.column_value
)
LOOP
l_rolename := zpb_wf_ntf.update_Role_with_Shadows(l_rolename, fnd_rec.user_name);
SELECT object_type, object_id, object_user_id
INTO l_object_type, l_object_id, l_object_user_id
FROM zpb_dc_objects
WHERE object_id = p_object_id;
l_rolename := zpb_wf_ntf.update_Role_with_Shadows(l_rolename, l_user);
(select column_value , fndu.user_name user_name
from
table( cast(aw_user_list as zpb_num_tbl_type)) aw_users,
fnd_user fndu
where fndu.user_id = aw_users.column_value
)
LOOP
l_rolename := zpb_wf_ntf.update_Role_with_Shadows(l_rolename, fnd_rec.user_name);
(SELECT TEMPLATE_NAME ,
DATAENTRY_OBJ_PATH ,
DATAENTRY_OBJ_NAME ,
TARGET_OBJ_PATH ,
TARGET_OBJ_NAME ,
INSTRUCTION_TEXT_ID ,
DESCRIPTION ,
DEADLINE_DATE
FROM ZPB_DC_OBJECTS
WHERE TEMPLATE_ID = p_template_id
AND OBJECT_TYPE = 'M')
LOOP
UPDATE ZPB_DC_OBJECTS
SET TEMPLATE_NAME = e_rec.template_name,
DESCRIPTION = e_rec.description,
DATAENTRY_OBJ_PATH = e_rec.dataentry_obj_path,
DATAENTRY_OBJ_NAME = e_rec.dataentry_obj_name,
TARGET_OBJ_PATH = e_rec.target_obj_path,
TARGET_OBJ_NAME = e_rec.target_obj_name,
PERSONAL_DATA_QUERY_FLAG = 'N',
PERSONAL_TARGET_QUERY_FLAG = 'N',
CREATE_SOLVE_PROGRAM_FLAG = 'Y',
INSTRUCTION_TEXT_ID = e_rec.instruction_text_id,
DEADLINE_DATE = e_rec.deadline_date,
LAST_UPDATED_BY = fnd_global.USER_ID,
LAST_UPDATE_DATE = SYSDATE,
LAST_UPDATE_LOGIN = fnd_global.LOGIN_ID
WHERE TEMPLATE_ID = p_template_id
AND OBJECT_TYPE = 'C';
UPDATE ZPB_DC_OBJECTS
SET REVIEW_COMPLETE_FLAG = 'Y',
STATUS = 'REVIEW_COMPLETED',
LAST_UPDATED_BY = fnd_global.USER_ID,
LAST_UPDATE_DATE = SYSDATE,
LAST_UPDATE_LOGIN = fnd_global.LOGIN_ID
WHERE TEMPLATE_ID = p_template_id
AND OBJECT_TYPE in ('E','M');
| PROCEDURE Delete_Template
|
|
| DESCRIPTION
| This procedure is called by zpbac.plb. When the analysis cycle gets deleted
| the template gets deleted too.
|
+=========================================================================*/
PROCEDURE Delete_Template(
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2,
p_commit IN VARCHAR2,
p_validation_level IN NUMBER,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
--
p_analysis_cycle_instance_id IN NUMBER)
IS
l_api_name CONSTANT VARCHAR2(30) := 'Delete_Template';
SAVEPOINT Delete_Template_Pvt ;
UPDATE zpb_dc_objects
SET delete_instance_measures_flag = 'Y'
WHERE ac_instance_id = p_analysis_cycle_instance_id;
ROLLBACK TO Delete_Template_Pvt ;
ROLLBACK TO Delete_Template_Pvt ;
ROLLBACK TO Delete_Template_Pvt ;
END Delete_Template;
SELECT object_user_id
INTO l_object_user_id
FROM zpb_dc_objects
WHERE object_id = p_object_id;
(select column_value , fndu.user_name user_name
from
table( cast(aw_user_list as zpb_num_tbl_type)) aw_users,
fnd_user fndu
where fndu.user_id = aw_users.column_value
)
LOOP
ZPB_UTIL_PVT.AddUsersToAdHocRole(l_rolename, fnd_rec.user_name);
UPDATE zpb_dc_objects
SET copy_source_type_flag = 'Y',
create_solve_program_flag = 'Y',
LAST_UPDATED_BY = fnd_global.USER_ID,
LAST_UPDATE_DATE = SYSDATE,
LAST_UPDATE_LOGIN = fnd_global.LOGIN_ID
WHERE ac_instance_id = p_ac_instance_id;
PROCEDURE Update_Template_View_Type(
p_template_id IN NUMBER,
p_view_type IN VARCHAR2,
p_result_out OUT NOCOPY VARCHAR2)
IS
BEGIN
SAVEPOINT Update_Template_View_Type;
UPDATE ZPB_DC_OBJECTS SET view_type = p_view_type,
create_solve_program_flag = 'Y' where
template_id = p_template_id and (object_type = 'M' or object_type = 'E' or object_type = 'C');
ROLLBACK TO Update_Template_View_Type;
END Update_Template_View_Type;
PROCEDURE Update_Worksheet_View_Type(
p_template_id IN NUMBER,
p_object_id IN NUMBER,
p_view_type IN VARCHAR2,
p_result_out OUT NOCOPY VARCHAR2)
IS
s_object_type VARCHAR2(1);
SAVEPOINT Update_Worksheet_View_Type;
SELECT object_type INTO s_object_type FROM zpb_dc_objects where
object_id = p_object_id;
Update_Template_View_Type(p_template_id,p_view_type,p_result_out);
UPDATE zpb_dc_objects SET view_type = p_view_type,
create_solve_program_flag = 'Y' where
template_id = p_template_id and object_id = p_object_id;
ROLLBACK TO Update_Worksheet_View_Type;
END Update_Worksheet_View_Type;