The following lines contain the word 'select', 'insert', 'update' or 'delete':
g_update_date := trunc(sysdate);
select ERROR_DESCRIPTION
from PER_PTU_DFF_MIG_FAILED_PEOPLE
where nvl(business_group_id,-1) = nvl(p_business_group_id,-1)
and person_id = hr_api.g_number;
select ERROR_DESCRIPTION
from PER_PTU_DFF_MIG_FAILED_PEOPLE
where person_id = hr_api.g_number
and business_group_id is null;
SELECT COUNT(*)
INTO l_count1
FROM PER_PTU_DFF_MAPPING_HEADERS;
SELECT COUNT(*)
INTO l_count2
FROM PER_PTU_DFF_MAPPING_HEADERS
WHERE DATA_MAPPING_COMPLETE = 'N';
SELECT COUNT(*)
INTO l_count3
FROM PER_PTU_DFF_MAPPING_HEADERS
WHERE nvl(MIGRATION_STATUS,'PENDING') = 'COMPLETE';
FND_FILE.PUT_LINE(FND_FILE.LOG, 'For the selected business group, the migration has already completed successfully.');
SELECT pay_core_utils.get_parameter('REPORT_MODE', ppa.legislative_parameters),
pay_core_utils.get_parameter('BUSINESS_GROUP_ID', ppa.legislative_parameters)
INTO l_report_mode, l_business_group_id
FROM pay_payroll_actions ppa
WHERE ppa.payroll_action_id = pactid;
sqlstr := 'SELECT DISTINCT PERSON_ID
FROM PER_ALL_PEOPLE_F PPF
,pay_payroll_actions ppa
WHERE ppa.payroll_action_id = :payroll_action_id
AND PPF.BUSINESS_GROUP_ID
= NVL(pay_core_utils.get_parameter(''BUSINESS_GROUP_ID'', ppa.legislative_parameters), PPF.BUSINESS_GROUP_ID)
ORDER BY PPF.PERSON_ID';
sqlstr := 'SELECT DISTINCT PERSON_ID
FROM PER_PTU_DFF_MIG_FAILED_PEOPLE PPF
,pay_payroll_actions ppa
WHERE ppa.payroll_action_id = :payroll_action_id
AND PPF.ERROR_DESCRIPTION <> ''SUCCESS''
AND PPF.BUSINESS_GROUP_ID
= NVL(pay_core_utils.get_parameter(''BUSINESS_GROUP_ID'', ppa.legislative_parameters), PPF.BUSINESS_GROUP_ID)
ORDER BY PPF.PERSON_ID';
SELECT DISTINCT PPF.PERSON_ID PERSON_ID
FROM PER_ALL_PEOPLE_F PPF
,pay_payroll_actions ppa
WHERE PPF.PERSON_ID BETWEEN STPERSON AND ENDPERSON
AND ppa.payroll_action_id = pactid
AND ppf.business_group_id = nvl(p_business_group_id,ppf.business_group_id)
AND ppf.business_group_id not in
(select nvl(business_group_id,-1)
from PER_PTU_DFF_MIG_FAILED_PEOPLE
where ERROR_DESCRIPTION = 'SUCCESS'
AND PERSON_ID = hr_api.g_number)
AND (PPF.ATTRIBUTE1 IS NOT NULL OR
PPF.ATTRIBUTE2 IS NOT NULL OR
PPF.ATTRIBUTE3 IS NOT NULL OR
PPF.ATTRIBUTE4 IS NOT NULL OR
PPF.ATTRIBUTE5 IS NOT NULL OR
PPF.ATTRIBUTE6 IS NOT NULL OR
PPF.ATTRIBUTE7 IS NOT NULL OR
PPF.ATTRIBUTE8 IS NOT NULL OR
PPF.ATTRIBUTE9 IS NOT NULL OR
PPF.ATTRIBUTE10 IS NOT NULL OR
PPF.ATTRIBUTE11 IS NOT NULL OR
PPF.ATTRIBUTE12 IS NOT NULL OR
PPF.ATTRIBUTE13 IS NOT NULL OR
PPF.ATTRIBUTE14 IS NOT NULL OR
PPF.ATTRIBUTE15 IS NOT NULL OR
PPF.ATTRIBUTE16 IS NOT NULL OR
PPF.ATTRIBUTE17 IS NOT NULL OR
PPF.ATTRIBUTE18 IS NOT NULL OR
PPF.ATTRIBUTE19 IS NOT NULL OR
PPF.ATTRIBUTE20 IS NOT NULL OR
PPF.ATTRIBUTE21 IS NOT NULL OR
PPF.ATTRIBUTE22 IS NOT NULL OR
PPF.ATTRIBUTE23 IS NOT NULL OR
PPF.ATTRIBUTE24 IS NOT NULL OR
PPF.ATTRIBUTE25 IS NOT NULL OR
PPF.ATTRIBUTE26 IS NOT NULL OR
PPF.ATTRIBUTE27 IS NOT NULL OR
PPF.ATTRIBUTE28 IS NOT NULL OR
PPF.ATTRIBUTE29 IS NOT NULL OR
PPF.ATTRIBUTE30 IS NOT NULL)
ORDER BY PPF.PERSON_ID;
SELECT DISTINCT PPF.PERSON_ID PERSON_ID
FROM PER_PTU_DFF_MIG_FAILED_PEOPLE PPF
WHERE PPF.BUSINESS_GROUP_ID = NVL(p_business_group_id, PPF.BUSINESS_GROUP_ID)
AND PPF.ERROR_DESCRIPTION <> 'SUCCESS'
ORDER BY PPF.PERSON_ID;
SELECT pay_core_utils.get_parameter('REPORT_MODE', ppa.legislative_parameters),
pay_core_utils.get_parameter('BUSINESS_GROUP_ID', ppa.legislative_parameters)
INTO l_report_mode,l_business_group_id
FROM pay_payroll_actions ppa
WHERE ppa.payroll_action_id = pactid;
SELECT PAY_ASSIGNMENT_ACTIONS_S.NEXTVAL
INTO LOCKINGACTID
FROM DUAL;
SELECT PAY_ASSIGNMENT_ACTIONS_S.NEXTVAL
INTO LOCKINGACTID
FROM DUAL;
FOR attr_rec IN (SELECT H.PER_DFF_CONTEXT_FIELD_CODE,
L.PER_DFF_ATTRIBUTE,
L.PTU_DFF_CONTEXT_FIELD_CODE,
L.PTU_DFF_ATTRIBUTE,
TO_NUMBER (SUBSTR (L.PER_DFF_ATTRIBUTE,10)) ATTRIBUTE_NUM
FROM PER_PTU_DFF_MAPPING_HEADERS H,
PER_PTU_DFF_MAPPING_LINES L
WHERE H.MAPPING_HEADER_ID = L.MAPPING_HEADER_ID
AND H.DATA_MAPPING_COMPLETE = 'Y'
AND H.PER_DFF_CONTEXT_FIELD_CODE =
NVL (p_person_rec_context, 'Global Data Elements')
AND L.PTU_DFF_CONTEXT_FIELD_CODE in
(p_mig_rec.attribute_category, 'Global Data Elements')
ORDER BY ATTRIBUTE_NUM)
LOOP
--
-- Populate PLSQL table with user defined mapping for the given context
-- and 'Global Attributes' with table index as Person DFF Attribute Number.
--
l_attr_table(attr_rec.ATTRIBUTE_NUM).PER_DFF_ATTRIBUTE := attr_rec.PER_DFF_ATTRIBUTE;
FOR attr_rec IN (SELECT L.PER_DFF_ATTRIBUTE
FROM PER_PTU_DFF_MAPPING_LINES L,
PER_PTU_DFF_MAPPING_HEADERS H
WHERE H.MAPPING_HEADER_ID = L.MAPPING_HEADER_ID
AND H.DATA_MAPPING_COMPLETE = 'Y'
AND L.PTU_DFF_CONTEXT_FIELD_CODE in
(P_PTU_CONTEXT,'Global Data Elements')
AND H.PER_DFF_CONTEXT_FIELD_CODE IN
(P_PER_CONTEXT,'Global Data Elements'))
LOOP
--
-- String of DFF Attributes used for a context.
-- Comma is appended to each attribute so that ATTRIBUTE1 and
-- ATTRIBUTE10 can be distinguished using the INSTR command.
--
l_dff_attr_str := l_dff_attr_str || attr_rec.PER_DFF_ATTRIBUTE || ',';
SELECT distinct ptu_dff_context_field_code
FROM per_ptu_dff_mapping_headers mh
,per_ptu_dff_mapping_lines ml
WHERE mh.mapping_header_id = ml.mapping_header_id
AND mh.per_dff_context_field_code = p_context
AND ml.ptu_dff_context_field_code <> 'Global Data Elements';
SELECT 'Y'
FROM per_person_types
WHERE system_person_type = p_system_person_type
AND system_person_type not in ('APL','EMP','EX_APL','EX_EMP','OTHER');
SELECT 'Y'
FROM per_person_types
WHERE person_type_id = p_person_type_id
AND system_person_type not in ('APL','EMP','EX_APL','EX_EMP','OTHER');
SELECT 'Y'
FROM per_person_types
WHERE user_person_type = p_user_person_type
AND system_person_type not in ('APL','EMP','EX_APL','EX_EMP','OTHER');
SELECT 'Y'
FROM per_person_types
WHERE system_person_type = p_system_person_type
AND system_person_type in ('EMP_APL','EX_EMP_APL','APL_EX_APL');
SELECT 'Y'
FROM per_person_types
WHERE person_type_id = p_person_type_id
AND system_person_type in ('EMP_APL','EX_EMP_APL','APL_EX_APL');
SELECT 'Y'
FROM per_person_types
WHERE user_person_type = p_user_person_type
AND system_person_type in ('EMP_APL','EX_EMP_APL','APL_EX_APL');
SELECT PER_DFF_CONTEXT_FIELD_NAME
INTO l_context_field
FROM PER_PTU_DFF_MAPPING_HEADERS
WHERE PER_DFF_CONTEXT_FIELD_CODE = p_context;
PROCEDURE UPDATE_PTU (P_CONTEXT IN VARCHAR2, P_MIG_TAB IN MIG_TAB_TYPE) IS
--
-- cursor variable type.
--
TYPE PTU_RECORD_CSR_TYPE IS REF CURSOR RETURN PER_PERSON_TYPE_USAGES_F%ROWTYPE;
SELECT 'Y'
FROM PER_PERSON_TYPE_USAGES_F
WHERE person_type_usage_id = p_person_type_usage_id
AND effective_start_date > p_effective_date;
SELECT PER_DFF_CONTEXT_FIELD_NAME
INTO l_context_field
FROM PER_PTU_DFF_MAPPING_HEADERS
WHERE PER_DFF_CONTEXT_FIELD_CODE = P_CONTEXT;
SELECT *
FROM PER_PERSON_TYPE_USAGES_F PPTU
WHERE PPTU.PERSON_ID = l_person_id
AND (PPTU.EFFECTIVE_END_DATE >= l_esd
AND PPTU.EFFECTIVE_START_DATE <= l_eed)
AND EXISTS (SELECT 1
FROM PER_PERSON_TYPES PPT
WHERE PPT.PERSON_TYPE_ID = PPTU.PERSON_TYPE_ID
AND PPT.BUSINESS_GROUP_ID = l_business_group_id
AND PPT.SYSTEM_PERSON_TYPE = l_system_person_type)
ORDER BY PERSON_TYPE_ID, EFFECTIVE_START_DATE;
SELECT *
FROM PER_PERSON_TYPE_USAGES_F PPTU
WHERE PPTU.PERSON_ID = l_person_id
AND (PPTU.EFFECTIVE_END_DATE >= l_esd
AND PPTU.EFFECTIVE_START_DATE <= l_eed)
AND EXISTS(SELECT 1
FROM PER_PERSON_TYPES PPT
WHERE PPT.PERSON_TYPE_ID = PPTU.PERSON_TYPE_ID
AND PPT.BUSINESS_GROUP_ID = l_business_group_id
AND PPT.PERSON_TYPE_ID = l_person_type_id)
ORDER BY PERSON_TYPE_ID, EFFECTIVE_START_DATE;
SELECT *
FROM PER_PERSON_TYPE_USAGES_F PPTU
WHERE PPTU.PERSON_ID = l_person_id
AND (PPTU.EFFECTIVE_END_DATE >= l_esd
AND PPTU.EFFECTIVE_START_DATE <= l_eed)
AND EXISTS(SELECT 1
FROM PER_PERSON_TYPES PPT
WHERE PPT.PERSON_TYPE_ID = PPTU.PERSON_TYPE_ID
AND PPT.BUSINESS_GROUP_ID = l_business_group_id
AND PPT.USER_PERSON_TYPE = l_user_person_type)
ORDER BY PERSON_TYPE_ID, EFFECTIVE_START_DATE;
l_datetrack_mode := 'UPDATE_CHANGE_INSERT';
l_datetrack_mode := 'UPDATE';
l_datetrack_mode := 'UPDATE_CHANGE_INSERT';
l_datetrack_mode := 'UPDATE';
HR_PERSON_TYPE_USAGE_API.UPDATE_PERSON_TYPE_USAGE
(p_validate => false
,p_person_type_usage_id => ptu_rec.person_type_usage_id
,p_effective_date => p_mig_rec.effective_end_date+1
,p_datetrack_mode => l_datetrack_mode
,p_object_version_number => l_object_version_number
,p_effective_start_date => l_effective_start_date
,p_effective_end_date => l_effective_end_date
);
SELECT object_version_number
INTO l_object_version_number
FROM PER_PERSON_TYPE_USAGES_F
WHERE person_type_usage_id = ptu_rec.person_type_usage_id
AND effective_start_date = ptu_rec.effective_start_date
AND effective_end_date = p_mig_rec.effective_end_date;
l_datetrack_mode := 'UPDATE_CHANGE_INSERT';
l_datetrack_mode := 'UPDATE';
HR_PERSON_TYPE_USAGE_API.UPDATE_PERSON_TYPE_USAGE
(p_validate => false
,p_person_type_usage_id => ptu_rec.person_type_usage_id
,p_effective_date => p_mig_rec.effective_start_date
,p_datetrack_mode => l_datetrack_mode
,p_object_version_number => l_object_version_number
,p_effective_start_date => l_effective_start_date
,p_effective_end_date => l_effective_end_date
);
l_datetrack_mode := 'UPDATE_CHANGE_INSERT';
l_datetrack_mode := 'UPDATE';
HR_PERSON_TYPE_USAGE_API.UPDATE_PERSON_TYPE_USAGE
(p_validate => false
,p_person_type_usage_id => ptu_rec.person_type_usage_id
,p_effective_date => p_mig_rec.effective_end_date+1
,p_datetrack_mode => l_datetrack_mode
,p_object_version_number => l_object_version_number
,p_effective_start_date => l_effective_start_date
,p_effective_end_date => l_effective_end_date
);
SELECT object_version_number
INTO l_object_version_number
FROM PER_PERSON_TYPE_USAGES_F
WHERE person_type_usage_id = ptu_rec.person_type_usage_id
AND effective_start_date = p_mig_rec.effective_start_date
AND effective_end_date = p_mig_rec.effective_end_date;
HR_PERSON_TYPE_USAGE_API.UPDATE_PERSON_TYPE_USAGE
(
p_validate => false
,p_person_type_usage_id => ptu_rec.person_type_usage_id
,p_effective_date => l_effective_date
,p_datetrack_mode => l_datetrack_mode
,p_object_version_number => l_object_version_number
,p_attribute_category => p_mig_rec.attribute_category -- ****
,p_attribute1 => nvl(l_ptu_attrs_data_rec.attribute1, hr_api.g_varchar2)
,p_attribute2 => nvl(l_ptu_attrs_data_rec.attribute2, hr_api.g_varchar2)
,p_attribute3 => nvl(l_ptu_attrs_data_rec.attribute3, hr_api.g_varchar2)
,p_attribute4 => nvl(l_ptu_attrs_data_rec.attribute4, hr_api.g_varchar2)
,p_attribute5 => nvl(l_ptu_attrs_data_rec.attribute5, hr_api.g_varchar2)
,p_attribute6 => nvl(l_ptu_attrs_data_rec.attribute6, hr_api.g_varchar2)
,p_attribute7 => nvl(l_ptu_attrs_data_rec.attribute7, hr_api.g_varchar2)
,p_attribute8 => nvl(l_ptu_attrs_data_rec.attribute8, hr_api.g_varchar2)
,p_attribute9 => nvl(l_ptu_attrs_data_rec.attribute9, hr_api.g_varchar2)
,p_attribute10 => nvl(l_ptu_attrs_data_rec.attribute10, hr_api.g_varchar2)
,p_attribute11 => nvl(l_ptu_attrs_data_rec.attribute11, hr_api.g_varchar2)
,p_attribute12 => nvl(l_ptu_attrs_data_rec.attribute12, hr_api.g_varchar2)
,p_attribute13 => nvl(l_ptu_attrs_data_rec.attribute13, hr_api.g_varchar2)
,p_attribute14 => nvl(l_ptu_attrs_data_rec.attribute14, hr_api.g_varchar2)
,p_attribute15 => nvl(l_ptu_attrs_data_rec.attribute15, hr_api.g_varchar2)
,p_attribute16 => nvl(l_ptu_attrs_data_rec.attribute16, hr_api.g_varchar2)
,p_attribute17 => nvl(l_ptu_attrs_data_rec.attribute17, hr_api.g_varchar2)
,p_attribute18 => nvl(l_ptu_attrs_data_rec.attribute18, hr_api.g_varchar2)
,p_attribute19 => nvl(l_ptu_attrs_data_rec.attribute19, hr_api.g_varchar2)
,p_attribute20 => nvl(l_ptu_attrs_data_rec.attribute20, hr_api.g_varchar2)
,p_attribute21 => nvl(l_ptu_attrs_data_rec.attribute21, hr_api.g_varchar2)
,p_attribute22 => nvl(l_ptu_attrs_data_rec.attribute22, hr_api.g_varchar2)
,p_attribute23 => nvl(l_ptu_attrs_data_rec.attribute23, hr_api.g_varchar2)
,p_attribute24 => nvl(l_ptu_attrs_data_rec.attribute24, hr_api.g_varchar2)
,p_attribute25 => nvl(l_ptu_attrs_data_rec.attribute25, hr_api.g_varchar2)
,p_attribute26 => nvl(l_ptu_attrs_data_rec.attribute26, hr_api.g_varchar2)
,p_attribute27 => nvl(l_ptu_attrs_data_rec.attribute27, hr_api.g_varchar2)
,p_attribute28 => nvl(l_ptu_attrs_data_rec.attribute28, hr_api.g_varchar2)
,p_attribute29 => nvl(l_ptu_attrs_data_rec.attribute29, hr_api.g_varchar2)
,p_attribute30 => nvl(l_ptu_attrs_data_rec.attribute30, hr_api.g_varchar2)
,p_effective_start_date => l_effective_start_date
,p_effective_end_date => l_effective_end_date
);
END UPDATE_PTU;
FOR attr_rec IN (SELECT L.PER_DFF_ATTRIBUTE
FROM PER_PTU_DFF_MAPPING_LINES L,
PER_PTU_DFF_MAPPING_HEADERS H
WHERE H.MAPPING_HEADER_ID = L.MAPPING_HEADER_ID
AND H.DATA_MAPPING_COMPLETE = 'Y'
AND H.PER_DFF_CONTEXT_FIELD_CODE IN
(P_CONTEXT,'Global Data Elements'))
LOOP
--
-- String of DFF Attributes used for a context.
-- Comma is appended to each attribute so that ATTRIBUTE1 and
-- ATTRIBUTE10 can be distinguished using the INSTR command.
--
l_dff_attr_str := l_dff_attr_str || attr_rec.PER_DFF_ATTRIBUTE || ',';
UPDATE PER_PTU_DFF_MIG_FAILED_PEOPLE
SET ERROR_DESCRIPTION = p_error_desc,
REQUEST_ID = p_request_id
WHERE PERSON_ID = p_person_id;
INSERT INTO PER_PTU_DFF_MIG_FAILED_PEOPLE
(PERSON_ID,
BUSINESS_GROUP_ID,
REQUEST_ID,
ERROR_DESCRIPTION,
ATTRIBUTE_CATEGORY,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATE_LOGIN)
select p_person_id, p_business_group_id,
p_request_id, p_error_desc,
p_attr_category,fnd_global.user_id,
sysdate, fnd_global.user_id,sysdate, fnd_global.login_id
from dual;
SELECT PPF.PERSON_ID, PPF.FULL_NAME, PPF.EFFECTIVE_START_DATE,
PPF.EFFECTIVE_END_DATE,PERSON_TYPE_ID,BUSINESS_GROUP_ID,
NVL(PPF.ATTRIBUTE_CATEGORY, 'Global Data Elements') ATTRIBUTE_CATEGORY,
ATTRIBUTE1, ATTRIBUTE2, ATTRIBUTE3, ATTRIBUTE4, ATTRIBUTE5,
ATTRIBUTE6, ATTRIBUTE7, ATTRIBUTE8, ATTRIBUTE9, ATTRIBUTE10,
ATTRIBUTE11,ATTRIBUTE12,ATTRIBUTE13,ATTRIBUTE14,ATTRIBUTE15,
ATTRIBUTE16,ATTRIBUTE17,ATTRIBUTE18,ATTRIBUTE19,ATTRIBUTE20,
ATTRIBUTE21,ATTRIBUTE22,ATTRIBUTE23,ATTRIBUTE24,ATTRIBUTE25,
ATTRIBUTE26,ATTRIBUTE27,ATTRIBUTE28,ATTRIBUTE29,ATTRIBUTE30
FROM PER_ALL_PEOPLE_F PPF
WHERE PPF.ATTRIBUTE_CATEGORY IN
(SELECT H.PER_DFF_CONTEXT_FIELD_CODE
FROM PER_PTU_DFF_MAPPING_HEADERS H
WHERE H.DATA_MAPPING_COMPLETE = 'Y'
AND EXISTS
(SELECT 1
FROM PER_PTU_DFF_MAPPING_LINES L
WHERE H.MAPPING_HEADER_ID = L.MAPPING_HEADER_ID))
AND EXISTS
(SELECT 1
FROM PAY_ASSIGNMENT_ACTIONS ASS
WHERE ASS.ASSIGNMENT_ACTION_ID = P_ASSACTID
AND ASS.OBJECT_ID = PPF.PERSON_ID)
ORDER BY PPF.PERSON_ID, PPF.ATTRIBUTE_CATEGORY,
PPF.EFFECTIVE_START_DATE, PPF.EFFECTIVE_END_DATE;
SELECT pay_core_utils.get_parameter('REPORT_MODE', ppa.legislative_parameters)
INTO l_report_mode
FROM pay_payroll_actions ppa
,pay_assignment_actions paa
WHERE ppa.payroll_action_id = paa.payroll_action_id
AND paa.assignment_action_id = p_assactid;
SELECT DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE1,' ) ,0,'', per_rec.ATTRIBUTE1) ||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE2,' ) ,0,'', per_rec.ATTRIBUTE2) ||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE3,' ) ,0,'', per_rec.ATTRIBUTE3) ||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE4,' ) ,0,'', per_rec.ATTRIBUTE4) ||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE5,' ) ,0,'', per_rec.ATTRIBUTE5) ||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE6,' ) ,0,'', per_rec.ATTRIBUTE6) ||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE7,' ) ,0,'', per_rec.ATTRIBUTE7) ||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE8,' ) ,0,'', per_rec.ATTRIBUTE8) ||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE9,' ) ,0,'', per_rec.ATTRIBUTE9) ||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE10,') ,0,'', per_rec.ATTRIBUTE10)||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE11,') ,0,'', per_rec.ATTRIBUTE11)||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE12,') ,0,'', per_rec.ATTRIBUTE12)||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE13,') ,0,'', per_rec.ATTRIBUTE13)||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE14,') ,0,'', per_rec.ATTRIBUTE14)||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE15,') ,0,'', per_rec.ATTRIBUTE15)||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE16,') ,0,'', per_rec.ATTRIBUTE16)||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE17,') ,0,'', per_rec.ATTRIBUTE17)||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE18,') ,0,'', per_rec.ATTRIBUTE18)||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE19,') ,0,'', per_rec.ATTRIBUTE19)||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE20,') ,0,'', per_rec.ATTRIBUTE20)||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE21,') ,0,'', per_rec.ATTRIBUTE21)||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE22,') ,0,'', per_rec.ATTRIBUTE22)||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE23,') ,0,'', per_rec.ATTRIBUTE23)||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE24,') ,0,'', per_rec.ATTRIBUTE24)||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE25,') ,0,'', per_rec.ATTRIBUTE25)||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE26,') ,0,'', per_rec.ATTRIBUTE26)||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE27,') ,0,'', per_rec.ATTRIBUTE27)||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE28,') ,0,'', per_rec.ATTRIBUTE28)||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE29,') ,0,'', per_rec.ATTRIBUTE29)||
DECODE (INSTR(l_dff_attr_str, 'ATTRIBUTE30,') ,0,'', per_rec.ATTRIBUTE30)
INTO l_this_per_attr_str
FROM DUAL;
-- Update the PTU records.
--
UPDATE_PTU(l_mig_rec.ATTRIBUTE_CATEGORY ,l_mig_tab);
-- Once the table is processed, delete the table.
--
l_mig_tab.delete;
UPDATE_PTU(l_mig_rec.ATTRIBUTE_CATEGORY, l_mig_tab);
l_mig_tab.delete;
UPDATE PER_PTU_DFF_MIG_FAILED_PEOPLE
SET ERROR_DESCRIPTION = 'SUCCESS',
REQUEST_ID = g_request_id
WHERE PERSON_ID = l_mig_rec.person_id;
UPDATE PER_PTU_DFF_MIG_FAILED_PEOPLE
SET ERROR_DESCRIPTION = substr(l_error_code||l_error_desc,1,990),
REQUEST_ID = g_request_id
WHERE PERSON_ID = l_mig_rec.person_id;
INSERT INTO PER_PTU_DFF_MIG_FAILED_PEOPLE
(PERSON_ID,
BUSINESS_GROUP_ID,
REQUEST_ID,
ERROR_DESCRIPTION,
ATTRIBUTE_CATEGORY,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATE_LOGIN)
select l_mig_rec.person_id, l_mig_rec.business_group_id,
g_request_id, substr(l_error_code||l_error_desc,1,990),
l_mig_rec.ATTRIBUTE_CATEGORY,fnd_global.user_id,
sysdate, fnd_global.user_id,sysdate, fnd_global.login_id
from dual;
select person_id
from PER_PTU_DFF_MIG_FAILED_PEOPLE
where business_group_id = nvl(p_bg_id,business_group_id)
and ERROR_DESCRIPTION <> 'SUCCESS'
and PERSON_ID <> hr_api.g_number;
SELECT pay_core_utils.get_parameter('BUSINESS_GROUP_ID', ppa.legislative_parameters)
INTO l_business_group_id
FROM pay_payroll_actions ppa
WHERE ppa.payroll_action_id = pactid;
UPDATE PER_PTU_DFF_MIG_FAILED_PEOPLE
SET ERROR_DESCRIPTION = 'FAILED',
REQUEST_ID = g_request_id
WHERE PERSON_ID = hr_api.g_number
and nvl(business_group_id,-1) = nvl(l_business_group_id,-1);
INSERT INTO PER_PTU_DFF_MIG_FAILED_PEOPLE
(PERSON_ID,
BUSINESS_GROUP_ID,
REQUEST_ID,
ERROR_DESCRIPTION,
ATTRIBUTE_CATEGORY,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATE_LOGIN)
select hr_api.g_number, l_business_group_id,
g_request_id, 'FAILED',
null,fnd_global.user_id,
sysdate, fnd_global.user_id,sysdate,
fnd_global.login_id
from dual;
UPDATE PER_PTU_DFF_MIG_FAILED_PEOPLE
SET ERROR_DESCRIPTION = 'SUCCESS',
REQUEST_ID = g_request_id
WHERE PERSON_ID = hr_api.g_number
and nvl(business_group_id,-1) = nvl(l_business_group_id,-1);
INSERT INTO PER_PTU_DFF_MIG_FAILED_PEOPLE
(PERSON_ID,
BUSINESS_GROUP_ID,
REQUEST_ID,
ERROR_DESCRIPTION,
ATTRIBUTE_CATEGORY,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATE_LOGIN)
select hr_api.g_number, l_business_group_id,
g_request_id, 'SUCCESS',
null,fnd_global.user_id,
sysdate, fnd_global.user_id,sysdate,
fnd_global.login_id
from dual;
UPDATE PER_PTU_DFF_MAPPING_HEADERS HEADER
SET HEADER.MIGRATION_STATUS = 'COMPLETE'
,HEADER.REQUEST_ID = g_request_id
WHERE HEADER.DATA_MAPPING_COMPLETE = 'Y'
AND NOT EXISTS
(SELECT NULL
FROM PER_PTU_DFF_MIG_FAILED_PEOPLE FAILED
WHERE FAILED.ATTRIBUTE_CATEGORY = HEADER.PER_DFF_CONTEXT_FIELD_CODE
AND FAILED.ERROR_DESCRIPTION <> 'SUCCESS');
SELECT PER_DFF_CONTEXT_FIELD_CODE
FROM PER_PTU_DFF_MAPPING_HEADERS
WHERE PER_DFF_CONTEXT_FIELD_CODE = DECODE (p_purge_scope, 'ALL',
PER_DFF_CONTEXT_FIELD_CODE, p_context);
UPDATE PER_ALL_PEOPLE_F papf
SET papf.ATTRIBUTE_CATEGORY = ''
,papf.ATTRIBUTE1 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE1,'), 0, papf.ATTRIBUTE1, '')
,papf.ATTRIBUTE2 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE2,'), 0, papf.ATTRIBUTE2, '')
,papf.ATTRIBUTE3 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE3,'), 0, papf.ATTRIBUTE3, '')
,papf.ATTRIBUTE4 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE4,'), 0, papf.ATTRIBUTE4, '')
,papf.ATTRIBUTE5 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE5,'), 0, papf.ATTRIBUTE5, '')
,papf.ATTRIBUTE6 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE6,'), 0, papf.ATTRIBUTE6, '')
,papf.ATTRIBUTE7 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE7,'), 0, papf.ATTRIBUTE7, '')
,papf.ATTRIBUTE8 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE8,'), 0, papf.ATTRIBUTE8, '')
,papf.ATTRIBUTE9 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE9,'), 0, papf.ATTRIBUTE9, '')
,papf.ATTRIBUTE10 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE10,'), 0, papf.ATTRIBUTE10, '')
,papf.ATTRIBUTE11 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE11,'), 0, papf.ATTRIBUTE11, '')
,papf.ATTRIBUTE12 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE12,'), 0, papf.ATTRIBUTE12, '')
,papf.ATTRIBUTE13 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE13,'), 0, papf.ATTRIBUTE13, '')
,papf.ATTRIBUTE14 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE14,'), 0, papf.ATTRIBUTE14, '')
,papf.ATTRIBUTE15 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE15,'), 0, papf.ATTRIBUTE15, '')
,papf.ATTRIBUTE16 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE16,'), 0, papf.ATTRIBUTE16, '')
,papf.ATTRIBUTE17 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE17,'), 0, papf.ATTRIBUTE17, '')
,papf.ATTRIBUTE18 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE18,'), 0, papf.ATTRIBUTE18, '')
,papf.ATTRIBUTE19 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE19,'), 0, papf.ATTRIBUTE19, '')
,papf.ATTRIBUTE20 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE20,'), 0, papf.ATTRIBUTE20, '')
,papf.ATTRIBUTE21 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE21,'), 0, papf.ATTRIBUTE21, '')
,papf.ATTRIBUTE22 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE22,'), 0, papf.ATTRIBUTE22, '')
,papf.ATTRIBUTE23 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE23,'), 0, papf.ATTRIBUTE23, '')
,papf.ATTRIBUTE24 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE24,'), 0, papf.ATTRIBUTE24, '')
,papf.ATTRIBUTE25 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE25,'), 0, papf.ATTRIBUTE25, '')
,papf.ATTRIBUTE26 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE26,'), 0, papf.ATTRIBUTE26, '')
,papf.ATTRIBUTE27 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE27,'), 0, papf.ATTRIBUTE27, '')
,papf.ATTRIBUTE28 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE28,'), 0, papf.ATTRIBUTE28, '')
,papf.ATTRIBUTE29 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE29,'), 0, papf.ATTRIBUTE29, '')
,papf.ATTRIBUTE30 = DECODE (INSTR (l_dff_attr_str , 'ATTRIBUTE30,'), 0, papf.ATTRIBUTE30, '')
WHERE papf.ATTRIBUTE_CATEGORY = l_context_rec.PER_DFF_CONTEXT_FIELD_CODE
and not exists
(select failed.person_id
from PER_PTU_DFF_MIG_FAILED_PEOPLE failed
where failed.person_id = papf.person_id
and failed.error_description <> 'SUCCESS');
' Records Updated= '||to_char(l_count));
SELECT 'Y'
FROM DUAL
WHERE EXISTS
(SELECT NULL
FROM PER_PTU_DFF_MAPPING_HEADERS
);
INSERT INTO PER_PTU_DFF_MAPPING_HEADERS
( MAPPING_HEADER_ID,
PER_DFF_CONTEXT_FIELD_CODE,
PER_DFF_CONTEXT_FIELD_NAME,
PER_DFF_CONTEXT_FIELD_DESC,
DATA_MAPPING_COMPLETE,
REQUEST_ID,
MIGRATION_STATUS,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATE_LOGIN )
SELECT PER_PTU_DFF_MAPPING_HEADERS_S.NEXTVAL,
FDFC.DESCRIPTIVE_FLEX_CONTEXT_CODE,
FDFV.DEFAULT_CONTEXT_FIELD_NAME,
FDFC.DESCRIPTIVE_FLEX_CONTEXT_NAME,
'N', -- data mapping complete
NULL, -- request id
NULL, -- migration status
fnd_global.user_id,
sysdate,
fnd_global.user_id,
sysdate,
fnd_global.login_id
FROM FND_DESCR_FLEX_CONTEXTS_VL FDFC,
FND_DESCRIPTIVE_FLEXS_VL FDFV
WHERE FDFC.DESCRIPTIVE_FLEXFIELD_NAME = FDFV.DESCRIPTIVE_FLEXFIELD_NAME
AND FDFC.ENABLED_FLAG = 'Y'
AND FDFC.DESCRIPTIVE_FLEX_CONTEXT_CODE <> 'Global Data Elements'
AND FDFV.DESCRIPTIVE_FLEXFIELD_NAME = 'PER_PEOPLE';
INSERT INTO PER_PTU_DFF_MAPPING_LINES
( MAPPING_LINE_ID,
MAPPING_HEADER_ID,
PER_DFF_ATTRIBUTE,
PER_END_USER_COLUMN_NAME,
PTU_DFF_CONTEXT_FIELD_CODE,
PTU_DFF_CONTEXT_FIELD_DESC,
PTU_DFF_ATTRIBUTE,
PTU_END_USER_COLUMN_NAME,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATE_LOGIN )
SELECT PER_PTU_DFF_MAPPING_LINES_S.nextval,
MH.MAPPING_HEADER_ID,
FDFU.APPLICATION_COLUMN_NAME,
FDFU.END_USER_COLUMN_NAME,
NULL, -- PTU_DFF_CONTEXT_FIELD_CODE
NULL, -- PTU_DFF_CONTEXT_FIELD_DESC
NULL, -- PTU_DFF_ATTRIBUTE
NULL, -- PTU_END_USER_COLUMN_NAME
fnd_global.user_id,
sysdate,
fnd_global.user_id,
sysdate,
fnd_global.login_id
FROM FND_DESCR_FLEX_COL_USAGE_VL FDFU,
FND_DESCR_FLEX_CONTEXTS_VL FDFC,
PER_PTU_DFF_MAPPING_HEADERS MH
WHERE FDFU.DESCRIPTIVE_FLEXFIELD_NAME = FDFC.DESCRIPTIVE_FLEXFIELD_NAME
AND FDFU.DESCRIPTIVE_FLEX_CONTEXT_CODE = FDFC.DESCRIPTIVE_FLEX_CONTEXT_CODE
AND FDFC.ENABLED_FLAG = 'Y'
AND FDFU.ENABLED_FLAG = 'Y'
AND FDFC.DESCRIPTIVE_FLEXFIELD_NAME = 'PER_PEOPLE'
AND MH.PER_DFF_CONTEXT_FIELD_CODE = FDFC.DESCRIPTIVE_FLEX_CONTEXT_CODE;