Skip to main content

Empleados (alp_cat_hcm_employees)

1. Modulo​

Recursos Humanos (HCM)


2. Descripción​

Human Capital Management: Maestro de colaboradores, empleados, puestos e identificadores de nómina.


3. Columnas​

No.ColumnaDescripción
1person_idIdentificador interno de la persona (empleado) en HCM.
2assignment_idIdentificador de la asignación laboral del empleado.
3person_numberNúmero de empleado en Oracle HCM.
4user_person_typeTipo de persona (Employee, Contingent Worker, etc.).
5assignment_status_type_codeCódigo del estado de la asignación laboral.
6assignment_status_typeDescripción del estado de la asignación laboral.
7last_nameApellido paterno del empleado.
8previous_last_nameApellido materno o apellido previo del empleado.
9first_nameNombre del empleado.
10middle_namesSegundos nombres del empleado.
11full_nameNombre completo concatenado del empleado.
12region_of_birthRegión o estado de nacimiento del empleado.
13ageEdad del empleado calculada a partir de la fecha de nacimiento.
14country_of_birthPaís de nacimiento del empleado.
15date_of_birthFecha de nacimiento del empleado.
16sexGénero del empleado.
17marital_status_codeCódigo del estado civil del empleado.
18marital_statusDescripción del estado civil del empleado.
19date_startFecha de inicio de relación laboral del empleado.
20actual_termination_dateFecha real de terminación laboral del empleado.
21primary_email_addressCorreo electrónico principal del empleado.
22primary_phoneTeléfono principal del empleado.
23checa_tarjetaIndicador de uso de tarjeta de checado.
24ubicacion_realUbicación física real del empleado.
25ubicacion_administrativaUbicación administrativa del empleado.
26grupo_reloj_checGrupo asignado para control de checador/reloj.
27legal_entity_identifierIdentificador de la entidad legal asignada al empleado.
28legal_entity_codeCódigo de la entidad legal.
29legal_entityNombre de la entidad legal.
30bu_codeCódigo de Business Unit.
31bu_nameNombre de Business Unit.
32seccion_codigoCódigo de sección organizacional.
33seccionDescripción de la sección organizacional.
34area_codigoCódigo del área organizacional.
35areaDescripción del área organizacional.
36area_op_codigoCódigo del área operativa.
37area_opDescripción del área operativa.
38department_codeCódigo del departamento.
39departmentNombre del departamento.
40ass_attribute15Atributo flexible de asignación (uso personalizado).
41assignment_nameNombre de la asignación laboral.
42assignment_numberNúmero de asignación laboral.
43sindicatoNombre del sindicato asociado al empleado.
44seccion_sindicatoSección sindical del empleado.
45primary_assignment_flagIndicador de asignación principal del empleado.
46labour_union_member_flagIndicador de pertenencia a sindicato.
47default_expense_account_codeCódigo de cuenta contable por defecto (centro de costos).
48default_expense_accountDescripción de la cuenta contable por defecto.
49cc_compania_codeCódigo de compañía en estructura contable.
50cc_companiaDescripción de compañía contable.
51cc_unidad_operativa_codeCódigo de unidad operativa contable.
52cc_unidad_operativaDescripción de unidad operativa contable.
53cc_canal_codeCódigo de canal contable.
54cc_canalDescripción de canal contable.
55cc_categoria_codeCódigo de categoría contable.
56cc_categoriaDescripción de categoría contable.
57cc_centro_costo_codeCódigo de centro de costo.
58cc_centro_costoDescripción de centro de costo.
59cc_cuenta_codeCódigo de cuenta contable.
60cc_cuentaDescripción de cuenta contable.
61cc_filiales_codeCódigo de filiales en estructura contable.
62cc_filialesDescripción de filiales contables.
63cc_futuro_codeCódigo de cuenta futura contable.
64cc_futuroDescripción de cuenta futura contable.
65employee_category_codeCódigo de categoría de empleado.
66employee_categoryDescripción de categoría de empleado.
67employment_category_codeCódigo de tipo de empleo.
68employment_categoryDescripción del tipo de empleo.
69email_addressCorreo electrónico alterno del empleado.
70phone_numberNúmero telefónico alterno del empleado.
71bank_nameNombre del banco del empleado.
72bank_account_numNúmero de cuenta bancaria del empleado.
73highest_education_level_codeCódigo del nivel educativo más alto.
74highest_education_levelDescripción del nivel educativo.
75address_line_1Dirección línea 1 del empleado.
76address_line_2Dirección línea 2 del empleado.
77town_or_cityCiudad del domicilio del empleado.
78addl_address_attribute2Atributo adicional de dirección.
79postal_codeCódigo postal del domicilio.
80region_1Región o estado 1 del domicilio.
81region_2Región o estado 2 del domicilio.
82address_idIdentificador de dirección del empleado.
83ubicacion_codigoCódigo de ubicación física del empleado.
84ubicacionDescripción de la ubicación física del empleado.
85hourly_salaried_codeCódigo de tipo de salario (hora o sueldo).
86hourly_salariedDescripción del tipo de salario.
87manager_person_numberNúmero de empleado del manager directo.
88manager_nameNombre completo del manager.
89user_oracleUsuario Oracle asociado al empleado.
90collective_agreement_nameNombre del contrato colectivo aplicable.
91puesto_codeCódigo del puesto del empleado.
92puestoNombre del puesto del empleado.
93grade_codeCódigo del nivel o grado del puesto.
94grade_nameDescripción del nivel o grado del puesto.
95imssNúmero de afiliación IMSS del empleado.
96curpCURP del empleado.
97rfcRFC del empleado.
98isssteNúmero ISSSTE del empleado.
99fgadIdentificador FGAD del empleado.
100msdIdentificador MSD del empleado.
101nidIdentificador nacional adicional del empleado.
102position_codeCódigo del puesto organizacional.
103position_nameNombre completo del puesto estructurado.
104contract_type_codeCódigo del tipo de contrato.
105contract_typeDescripción del tipo de contrato.
106contract_numberNúmero de contrato del empleado.
107subordinadosNúmero de empleados subordinados del manager.
108creation_dateFecha de creación del registro del empleado.
109created_byUsuario que creó el registro.
110last_update_dateFecha de última actualización del registro.
111last_updated_byUsuario que realizó la última actualización.
112last_update_loginSesión o login de la última actualización.
113puesto_directorPuesto del director asociado en la jerarquía.
114nomina_directorNúmero de nómina del director.
115directorNombre del director responsable.
116status_as400Estado del empleado en sistema AS400.
117fecha_baja_as400Fecha de baja del empleado en AS400 o terminación laboral.

4. Objesto Databricks - Oracle​

Nota de Arquitectura: Convención de Nomenclatura

Las entidades listadas en este documento corresponden a la capa final de datos en Databricks. Para identificar la persistencia y el aislamiento de los datos según el ciclo de vida del software, se implementa la siguiente estrategia de sufijos por entorno:

  • 🥉 Desarrollo (DEV): Sufijo _dev (ej. nombre_tabla_dev).
  • 🥈 Pruebas (UAT): Sufijo _stg (ej. nombre_tabla_stg).
  • 🥇 Producción (PROD): Sufijo _prd (ej. nombre_tabla_prd).
No.DatabricksOracle FusionDescripción Operativa / Módulo
1as4_nompersoas4_nompersoInformación de los Empleados en AS400
2cmp_salarycmp_salaryHistorial y componentes de compensaciones y salarios de empleados.
3fnd_flex_value_setsfnd_flex_value_setsGrupos de valores válidos de los segmentos contables (Value Sets).
4fscm_as_valuesetvaluespvofnd_flex_valuesValores individuales asignados a los segmentos contables.
5fscm_as_valuesetvaluestlpvofnd_flex_values_tlTextos descriptivos traducidos de los valores contables.
6fscm_fin_aes_lookupvaluesextractpvofnd_lookup_valuesCatálogo maestro de códigos y Lookups generales del sistema financiero.
7fscm_fin_aes_lookupvaluestlextractpvofnd_lookup_values_tlTraducciones de los códigos Lookup generales de finanzas.
8fscm_fin_gl_codecombinationextractpvogl_code_combinationsCombinaciones contables completas de la cuenta mayor (Cuentas Contables).
9hcm_hcm_user_userextractpvoper_usersUsuarios del sistema vinculados a Recursos Humanos (HCM).
10hcm_person_personnationalidentifierpvoper_national_identifiersIdentificadores nacionales oficiales de los trabajadores (CURP, etc.).
11hr_all_organization_unitshr_all_organization_unitsUnidades organizacionales, departamentos y estructuras internas.
12hr_all_positions_fhr_all_positions_fPlazas e histórico de puestos de trabajo de la organización.
13hr_legal_entitieshr_legal_entitiesEmpresas y entidades legales constituidas ante la ley.
14hr_locations_allhr_locations_allOficinas, plantas, centros de distribución y ubicaciones corporativas.
15hr_locations_all_tlhr_locations_all_tlDescripciones traducidas de las ubicaciones corporativas.
16hr_organization_information_fhr_organization_information_fDetalles y clasificaciones adicionales de las unidades organizacionales.
17pay_bank_accountspay_bank_accountsCuentas bancarias de la compañía y de terceros para dispersión.
18pay_person_pay_methods_fpay_person_pay_methods_fMétodos de pago configurados para los empleados (Nómina).
19pay_rel_groups_dnpay_rel_groups_dnRelaciones y grupos desnormalizados de procesamiento de nómina.
20per_addresses_fper_addresses_fDirecciones particulares e históricas de los empleados.
21per_all_assignments_fper_all_assignments_fAsignaciones laborales de los empleados (Puesto, Departamento, Salario).
22per_all_people_fper_all_people_fDatos maestros e históricos del personal (Nombre, fecha nacimiento).
23per_col_agreements_f_tlper_col_agreements_f_tlContratos colectivos de trabajo y acuerdos sindicales.
24per_contracts_fper_contracts_fContratos laborales individuales vigentes e históricos.
25per_email_addressesper_email_addressesDirecciones de correo electrónico (institucionales y personales).
26per_employees_xper_employees_xVista rápida de datos de empleados activos.
27per_grades_fper_grades_fTabulador de grados o niveles de puestos de la empresa.
28per_grades_f_tlper_grades_f_tlDescripciones multi-idioma de los grados de puestos.
29per_jobs_fper_jobs_fCatálogo de puestos lógicos corporativos.
30per_jobs_f_tlper_jobs_f_tlTítulos comerciales de los puestos en diferentes idiomas.
31per_manager_hrchy_cfper_manager_hrchy_cfEstructura y jerarquía desnormalizada de jefes y reportes (Organigrama).
32per_people_legislative_fper_people_legislative_fInformación legislativa y atributos personales de los empleados, asociados al país o legislación aplicable.
33per_periods_of_serviceper_periods_of_servicePeriodos de servicio, fechas de alta y bajas del personal.
34per_person_names_fper_person_names_fFormatos de nombres del personal (Legal, Preferido, Anterior).
35per_person_types_tlper_person_types_tlTipificaciones de personal (Empleado, Contratista, Ex-empleado).
36per_personsper_personsEntidad base de personas dentro del ecosistema HCM.
37per_phonesper_phonesNúmeros de teléfono corporativos, móviles y de emergencia.
38xle_entity_profilesxle_entity_profilesPerfiles e información regulatoria de las Entidades Legales.

5. Querys​

with alp_asignacion as
( select ROW_NUMBER() OVER (partition by person_id order by assignment_id desc) reg
, person_id
, assignment_id
, assignment_name
, assignment_number
, assignment_type
, assignment_status_type
, legal_entity_id
, business_unit_id
, union_id
, organization_id
, location_id
, employee_category
, employment_category
, primary_assignment_flag
, labour_union_member_flag
, hourly_salaried_code
, default_code_comb_id
, collective_agreement_id
, position_id
, job_id
, grade_id
, contract_id
, ass_attribute1
, ass_attribute2
, ass_attribute3
, ass_attribute4
, ass_attribute5
, ass_attribute6
, ass_attribute8
, ass_attribute9
, ass_attribute15
from cat_master_oracle_fusion.sch_gold_layer.per_all_assignments_f_dev
where assignment_type = 'E'
and current_date() between effective_start_date
and effective_end_date)
, alp_periods_of_service as
( select ROW_NUMBER() OVER (partition by person_id order by period_of_service_id desc) max_period
, ROW_NUMBER() OVER (partition by person_id order by period_of_service_id) min_period
, person_id
, date_start
, actual_termination_date
from cat_master_oracle_fusion.sch_gold_layer.per_periods_of_service_dev)
, alp_addresses as
( select ROW_NUMBER() OVER (partition by ppauf.person_id order by ppauf.effective_end_date desc, ppauf.person_addr_usage_id desc, paf.effective_end_date desc) reg
, ppauf.person_id
, paf.address_line_1
, paf.address_line_2
, paf.town_or_city
, paf.addl_address_attribute2
, paf.postal_code
, paf.region_1
, paf.region_2
, paf.address_id
from cat_master_oracle_fusion.sch_gold_layer.per_person_addr_usages_f_dev ppauf
left join cat_master_oracle_fusion.sch_gold_layer.per_addresses_f_dev paf
on ppauf.address_id = paf.address_id)
, alp_sindicatos as
( select haou.organization_id
, hoif.org_information2
, haou.name
from cat_master_oracle_fusion.sch_gold_layer.hr_all_organization_units_dev haou
join cat_master_oracle_fusion.sch_gold_layer.hr_organization_information_f_dev hoif
on haou.organization_id = hoif.organization_id
where current_date() between hoif.effective_start_date
and hoif.effective_end_date)
, alp_emails as
( select ROW_NUMBER() OVER (partition by person_id order by email_address_id desc) reg
, person_id
, email_address
from cat_master_oracle_fusion.sch_gold_layer.per_email_addresses_dev
where email_address not like '%@alpura.com'
and current_date() between date_from
and date_to)
, alp_phones as
( select ROW_NUMBER() OVER (partition by person_id order by phone_id desc) reg
, person_id
, phone_number
from cat_master_oracle_fusion.sch_gold_layer.per_phones_dev
where phone_type = 'H1'
and current_date() between date_from
and date_to)
, alp_bancos as
( select ROW_NUMBER() OVER (partition by prgd.assignment_id order by pppmf.personal_payment_method_id desc) reg
, prgd.assignment_id
, pba.bank_name
, pba.bank_account_num_electronic
from cat_master_oracle_fusion.sch_gold_layer.pay_rel_groups_dn_dev prgd
join cat_master_oracle_fusion.sch_gold_layer.pay_person_pay_methods_f_dev pppmf
on prgd.payroll_relationship_id = pppmf.payroll_relationship_id
and pppmf.percentage is not null
join cat_master_oracle_fusion.sch_gold_layer.pay_bank_accounts_dev pba
on pppmf.bank_account_id = pba.bank_account_id
and pppmf.percentage is not null
and current_date() between prgd.start_date
and prgd.end_date)
, alp_managers as
( select ROW_NUMBER() OVER (partition by paaf.person_id order by paaf.assignment_id desc) reg
, pmhc.person_id
, pmhc.assignment_id
, papf.person_number
, mpapf.person_number manager_person_number
, mgr.last_name
|| nvl2(mgr.previous_last_name,' ' || mgr.previous_last_name,'')
|| ' ' || mgr.first_name
|| nvl2(mgr.middle_names,' ' || mgr.middle_names,'') manager_name
from cat_master_oracle_fusion.sch_gold_layer.per_all_people_f_dev papf
join cat_master_oracle_fusion.sch_gold_layer.per_all_assignments_f_dev paaf
on paaf.assignment_type = 'E'
and paaf.assignment_status_type = 'ACTIVE'
and papf.person_id = paaf.person_id
and current_date() between paaf.effective_start_date
and paaf.effective_end_date
join cat_master_oracle_fusion.sch_gold_layer.per_manager_hrchy_cf_dev pmhc
on paaf.assignment_id = pmhc.assignment_id
and paaf.person_id = pmhc.person_id
and current_date() between pmhc.effective_start_date
and pmhc.effective_end_date
join cat_master_oracle_fusion.sch_gold_layer.per_person_names_f_dev mgr
on pmhc.level1_manager_id = mgr.person_id
and mgr.name_type = 'GLOBAL'
and current_date() between mgr.effective_start_date
and mgr.effective_end_date
join cat_master_oracle_fusion.sch_gold_layer.per_all_people_f_dev mpapf
on mgr.person_id = mpapf.person_id
and current_date() between mpapf.effective_start_date
and mpapf.effective_end_date
where current_date() between papf.effective_start_date
and papf.effective_end_date)
, alp_jobs as
( select pjf.job_id
, pjf.job_code
, pjft.name
, ROW_NUMBER() OVER (partition by pjf.job_id order by pjf.insertion_date desc) reg
from cat_master_oracle_fusion.sch_gold_layer.per_jobs_f_dev pjf
join cat_master_oracle_fusion.sch_gold_layer.per_jobs_f_tl_dev pjft
on pjf.job_id = pjft.job_id
and pjft.language = 'E'
where current_date() between pjf.effective_start_date
and pjf.effective_end_date
and current_date() between pjft.effective_start_date
and pjft.effective_end_date)
, alp_grades as
( select pgf.grade_id
, pgf.grade_code
, pgft.name
from cat_master_oracle_fusion.sch_gold_layer.per_grades_f_dev pgf
join cat_master_oracle_fusion.sch_gold_layer.per_grades_f_tl_dev pgft
on pgf.grade_id = pgft.grade_id
and pgft.language = 'E'
where current_date() between pgf.effective_start_date
and pgf.effective_end_date
and current_date() between pgft.effective_start_date
and pgft.effective_end_date)
, alp_documentos as
( select ROW_NUMBER() OVER ( partition by nationalidentifierpeopersonid
, nationalidentifierpeonationalidentifiertype
order by nationalidentifierid desc) reg
, nationalidentifierpeopersonid person_id
, nationalidentifierpeonationalidentifiertype national_identifier_type
, nationalidentifierpeonationalidentifiernumber national_identifier_number
from cat_master_oracle_fusion.sch_gold_layer.hcm_person_personnationalidentifierpvo_dev)
, alp_subalternos as
( select pmhc.level1_manager_id person_id
, count(*) subordinados
from cat_master_oracle_fusion.sch_gold_layer.per_manager_hrchy_cf_dev pmhc
join cat_master_oracle_fusion.sch_gold_layer.per_all_people_f_dev papf
on pmhc.person_id = papf.person_id
and current_date() between papf.effective_start_date
and papf.effective_end_date
join cat_master_oracle_fusion.sch_gold_layer.per_person_names_f_dev mgr
on pmhc.person_id = mgr.person_id
and mgr.name_type = 'MX'
and current_date() between mgr.effective_start_date
and mgr.effective_end_date
join cat_master_oracle_fusion.sch_gold_layer.per_all_assignments_f_dev paaf
on pmhc.person_id = paaf.person_id
and pmhc.assignment_id = paaf.assignment_id
and paaf.assignment_status_type = 'ACTIVE'
and current_date() between paaf.effective_start_date
and paaf.effective_end_date
where current_date() between pmhc.effective_start_date
and pmhc.effective_end_date
group by pmhc.level1_manager_id)
, alp_directores as
( select ROW_NUMBER() OVER (partition by paaf.person_id order by paaf.assignment_id desc) reg
, paaf.person_id
, pjft.name puesto_director
, papf.person_number nomina_director
, trim(ppnf.last_name)
|| NVL2(ppnf.previous_last_name,' ' || trim(ppnf.previous_last_name),'')
|| ' ' || trim(ppnf.first_name)
|| NVL2(ppnf.middle_names,' ' || trim(ppnf.middle_names),'') director
from cat_master_oracle_fusion.sch_gold_layer.per_all_people_f_dev papf
join cat_master_oracle_fusion.sch_gold_layer.per_all_assignments_f_dev paaf
on papf.person_id = paaf.person_id
and current_date() between paaf.effective_start_date
and paaf.effective_end_date
join cat_master_oracle_fusion.sch_gold_layer.per_jobs_f_dev pjf
on paaf.job_id = pjf.job_id
join cat_master_oracle_fusion.sch_gold_layer.per_jobs_f_tl_dev pjft
on pjf.job_id = pjft.job_id
and pjft.language = 'E'
join cat_master_oracle_fusion.sch_gold_layer.per_person_names_f_dev ppnf
on paaf.person_id = ppnf.person_id
and ppnf.name_type = 'MX'
where paaf.assignment_type = 'E'
and paaf.assignment_status_type = 'ACTIVE'
and (UPPER(pjft.name) like '%DIR %'
or UPPER(pjft.name) like '%DIRECTOR%')
and UPPER(pjft.name) not like '%ASISTENTE%'
and current_date() between papf.effective_start_date
and papf.effective_end_date)
, alp_dirtores_responsables as
( select pmhc.person_id
, pmhc.assignment_id
, ROW_NUMBER() OVER (partition by pmhc.person_id, pmhc.assignment_id order by pmhc.insertion_date desc) reg
, nvl(ad1.puesto_director,nvl(ad2.puesto_director,nvl(ad3.puesto_director,nvl(ad4.puesto_director,nvl(ad5.puesto_director,nvl(ad6.puesto_director,nvl(ad7.puesto_director,nvl(ad8.puesto_director,nvl(ad9.puesto_director,nvl(ad10.puesto_director,nvl(ad11.puesto_director,nvl(ad12.puesto_director,nvl(ad13.puesto_director,nvl(ad14.puesto_director,nvl(ad15.puesto_director,nvl(ad16.puesto_director,nvl(ad17.puesto_director,nvl(ad18.puesto_director,nvl(ad19.puesto_director,nvl(ad20.puesto_director,'')))))))))))))))))))) puesto_director
, nvl(ad1.nomina_director,nvl(ad2.nomina_director,nvl(ad3.nomina_director,nvl(ad4.nomina_director,nvl(ad5.nomina_director,nvl(ad6.nomina_director,nvl(ad7.nomina_director,nvl(ad8.nomina_director,nvl(ad9.nomina_director,nvl(ad10.nomina_director,nvl(ad11.nomina_director,nvl(ad12.nomina_director,nvl(ad13.nomina_director,nvl(ad14.nomina_director,nvl(ad15.nomina_director,nvl(ad16.nomina_director,nvl(ad17.nomina_director,nvl(ad18.nomina_director,nvl(ad19.nomina_director,nvl(ad20.nomina_director,'')))))))))))))))))))) nomina_director
, nvl(ad1.director,nvl(ad2.director,nvl(ad3.director,nvl(ad4.director,nvl(ad5.director,nvl(ad6.director,nvl(ad7.director,nvl(ad8.director,nvl(ad9.director,nvl(ad10.director,nvl(ad11.director,nvl(ad12.director,nvl(ad13.director,nvl(ad14.director,nvl(ad15.director,nvl(ad16.director,nvl(ad17.director,nvl(ad18.director,nvl(ad19.director,nvl(ad20.director,'')))))))))))))))))))) director
from cat_master_oracle_fusion.sch_gold_layer.per_manager_hrchy_cf_dev pmhc
left join alp_directores ad1
on pmhc.level1_manager_id = ad1.person_id
and ad1.reg = 1
left join alp_directores ad2
on pmhc.level2_manager_id = ad2.person_id
and ad2.reg = 1
left join alp_directores ad3
on pmhc.level3_manager_id = ad3.person_id
and ad3.reg = 1
left join alp_directores ad4
on pmhc.level4_manager_id = ad4.person_id
and ad4.reg = 1
left join alp_directores ad5
on pmhc.level5_manager_id = ad5.person_id
and ad5.reg = 1
left join alp_directores ad6
on pmhc.level6_manager_id = ad6.person_id
and ad6.reg = 1
left join alp_directores ad7
on pmhc.level7_manager_id = ad7.person_id
and ad7.reg = 1
left join alp_directores ad8
on pmhc.level8_manager_id = ad8.person_id
and ad8.reg = 1
left join alp_directores ad9
on pmhc.level9_manager_id = ad9.person_id
and ad9.reg = 1
left join alp_directores ad10
on pmhc.level10_manager_id = ad10.person_id
and ad10.reg = 1
left join alp_directores ad11
on pmhc.level11_manager_id = ad11.person_id
and ad11.reg = 1
left join alp_directores ad12
on pmhc.level2_manager_id = ad12.person_id
and ad12.reg = 1
left join alp_directores ad13
on pmhc.level3_manager_id = ad13.person_id
and ad13.reg = 1
left join alp_directores ad14
on pmhc.level4_manager_id = ad14.person_id
and ad14.reg = 1
left join alp_directores ad15
on pmhc.level5_manager_id = ad15.person_id
and ad15.reg = 1
left join alp_directores ad16
on pmhc.level6_manager_id = ad16.person_id
and ad16.reg = 1
left join alp_directores ad17
on pmhc.level7_manager_id = ad17.person_id
and ad17.reg = 1
left join alp_directores ad18
on pmhc.level8_manager_id = ad18.person_id
and ad18.reg = 1
left join alp_directores ad19
on pmhc.level9_manager_id = ad19.person_id
and ad19.reg = 1
left join alp_directores ad20
on pmhc.level10_manager_id = ad20.person_id
and ad20.reg = 1
where current_date between pmhc.effective_start_date
and pmhc.effective_end_date)
, alp_cat_fnd_lookups as
( select flv.lookuptype type
, flv.lookupcode code
, flvt.meaning
, flv.setid set_id
, flv.tag
, flv.viewapplicationid view_appl_id
, flv.enabledflag enabled
, flv.startdateactive start_date
, flv.enddateactive end_date
from cat_master_oracle_fusion.sch_gold_layer.fscm_fin_aes_lookupvaluesextractpvo_dev flv
join cat_master_oracle_fusion.sch_gold_layer.fscm_fin_aes_lookupvaluestlextractpvo_dev flvt
on flv.lookuptype = flvt.lookuptype
and flv.lookupcode = flvt.lookupcode
and flv.viewapplicationid = flvt.viewapplicationid
and flvt.language = 'E')
, alp_cat_fnd_flex_fields as
( select ffvs.flex_value_set_id
, ffv.valueid flex_value_id
, ffvs.flex_value_set_name
, ffv.value
, ffvt.description
, ffv.enabledflag enabled_flag
, ffv.startdateactive start_date
, ffv.enddateactive end_date
from cat_master_oracle_fusion.sch_gold_layer.fnd_flex_value_sets_dev ffvs
join cat_master_oracle_fusion.sch_gold_layer.fscm_as_valuesetvaluespvo_dev ffv
on ffvs.flex_value_set_id = ffv.valuesetid
join cat_master_oracle_fusion.sch_gold_layer.fscm_as_valuesetvaluestlpvo_dev ffvt
on ffv.valueid = ffvt.valueid
and ffvt.language = 'E')
, alp_legislative_info as
( select person_id
, marital_status
, highest_education_level
, sex
, ROW_NUMBER() OVER (partition by person_id order by insertion_date desc) reg
from cat_master_oracle_fusion.sch_gold_layer.per_people_legislative_f_dev
where current_date() between effective_start_date
and effective_end_date)
, alp_positions_all as
( select business_unit_id
, organization_id
, position_id
, location_id
, job_id
, position_code
, ROW_NUMBER() OVER (partition by business_unit_id, organization_id, position_id, location_id, job_id order by insertion_date desc) reg
from cat_master_oracle_fusion.sch_gold_layer.hr_all_positions_f_dev
where current_date() between effective_start_date
and effective_end_date)
, alp_as400 as
( SELECT
CAST(numemp AS STRING) AS numemp,
'Inactiva' AS stsemp,
CASE
WHEN CAST(fecbajn AS STRING) = '0' THEN NULL
ELSE date_format(
try_to_timestamp(CAST(fecbajn AS STRING), 'yyyyMMdd'),
'yyyy-MM-dd HH:mm:ss'
)
END AS fecbajn
FROM cat_master_alpura.sch_silver_layer.as4_nomperso
WHERE stsemp = 'B')
, alp_empleados as
( select ROW_NUMBER() OVER (partition by papf.person_id order by papf.person_id desc) reg
, papf.person_id
, paaf.assignment_id
, papf.person_number
, pptt.user_person_type
, paaf.assignment_status_type assignment_status_type_code
, flvtpass.meaning assignment_status_type
, ppnf.last_name
, ppnf.previous_last_name
, ppnf.first_name
, ppnf.middle_names
, trim(ppnf.last_name)
|| NVL2(ppnf.previous_last_name,' ' || trim(ppnf.previous_last_name),'')
|| ' ' || trim(ppnf.first_name)
|| NVL2(ppnf.middle_names,' ' || trim(ppnf.middle_names),'') full_name
, pp.region_of_birth
, floor(months_between(current_date(), pp.date_of_birth) / 12) age
, flvt.meaning country_of_birth
, pp.date_of_birth
, pplf.sex
, pplf.marital_status marital_status_code
, flvtms.meaning marital_status
, ppos_min.date_start
, ppos_max.actual_termination_date
, peap.email_address primary_email_address
, ppp.phone_number primary_phone
, paaf.ass_attribute1 checa_tarjeta
, paaf.ass_attribute5 ubicacion_real
, paaf.ass_attribute6 ubicacion_administrativa
, paaf.ass_attribute8 grupo_reloj_chec
, xep.legal_entity_identifier
, flvtle.meaning legal_entity_code
, haoule.name legal_entity
, haoubu.name bu_code
, paaf.ass_attribute9 bu_name
, get(split(paaf.ass_attribute2, '-'), 0) seccion_codigo
, get(split(paaf.ass_attribute2, '-'), 1) seccion
, get(split(paaf.ass_attribute3, '-'), 0) area_codigo
, get(split(paaf.ass_attribute3, '-'), 1) area
, get(split(paaf.ass_attribute4, '-'), 0) area_op_codigo
, get(split(paaf.ass_attribute4, '-'), 1) area_op
, haoudepto.attribute_number1 department_code
, haoudep.name department
, paaf.ass_attribute15
, paaf.assignment_name
, paaf.assignment_number
, asi.name sindicato
, asi.org_information2 seccion_sindicato
, paaf.primary_assignment_flag
, paaf.labour_union_member_flag
, ascgp.value
|| '.'
|| ascuo.value
|| '.'
|| ascc.value
|| '.'
|| ascca.value
|| '.'
|| asccc.value
|| '.'
|| ascta.value
|| '.'
|| ascf.value
|| '.'
|| ascfut.value default_expense_account_code
, ascgp.description
|| '.'
|| ascuo.description
|| '.'
|| ascc.description
|| '.'
|| ascca.description
|| '.'
|| asccc.description
|| '.'
|| ascta.description
|| '.'
|| ascf.description
|| '.'
|| ascfut.description default_expense_account
, ascgp.value cc_compania_code
, ascgp.description cc_compania
, ascuo.value cc_unidad_operativa_code
, ascuo.description cc_unidad_operativa
, ascc.value cc_canal_code
, ascc.description cc_canal
, ascca.value cc_categoria_code
, ascca.description cc_categoria
, asccc.value cc_centro_costo_code
, asccc.description cc_centro_costo
, ascta.value cc_cuenta_code
, ascta.description cc_cuenta
, ascf.value cc_filiales_code
, ascf.description cc_filiales
, ascfut.value cc_futuro_code
, ascfut.description cc_futuro
, paaf.employee_category employee_category_code
, flvtct.meaning employee_category
, paaf.employment_category employment_category_code
, flvtec.meaning employment_category
, ae.email_address email_address
, ap.phone_number phone_number
, ab.bank_name
, ab.bank_account_num_electronic bank_account_num
, pplf.highest_education_level highest_education_level_code
, flvthelc.meaning highest_education_level
, aa.address_line_1
, aa.address_line_2
, aa.town_or_city
, aa.addl_address_attribute2
, aa.postal_code
, aa.region_1
, aa.region_2
, aa.address_id
, hla.internal_location_code ubicacion_codigo
, hlat.location_name ubicacion
, paaf.hourly_salaried_code
, flvthsc.meaning hourly_salaried
, am.manager_person_number
, am.manager_name
, pu.username user_oracle
, pcaftl.collective_agreement_name
, aj.job_code puesto_code
, aj.name puesto
, ag.grade_code
, ag.name grade_name
--, cs.salary_amount salary
, imss.national_identifier_number imss
, curp.national_identifier_number curp
, rfc.national_identifier_number rfc
, issste.national_identifier_number issste
, fgad.national_identifier_number fgad
, msd.national_identifier_number msd
, nid.national_identifier_number nid
, hapf.position_code
, haoule.name
|| '|'
|| paaf.ass_attribute9
|| '|'
|| hlat.location_name
|| '|'
|| haoudep.name
|| '|'
|| get(split(paaf.ass_attribute2, '-'), 1)
|| '|'
|| get(split(paaf.ass_attribute3, '-'), 1)
|| '|'
|| get(split(paaf.ass_attribute4, '-'), 1)
|| '|'
|| paaf.assignment_name position_name
, pcf.type contract_type_code
, flvtc.meaning contract_type
, pcf.contract_number
, nvl(asu.subordinados,0) subordinados
, papf.creation_date
, papf.created_by
, papf.last_update_date
, papf.last_updated_by
, papf.last_update_login
, adr.puesto_director
, adr.nomina_director
, adr.director
, nvl(as4.stsemp,flvtpass.meaning) status_as400
, nvl(as4.fecbajn,ppos_max.actual_termination_date) fecha_baja_as400
from cat_master_oracle_fusion.sch_gold_layer.per_all_people_f_dev papf
join alp_asignacion paaf
on paaf.person_id = papf.person_id
and paaf.assignment_type = 'E'
and paaf.reg = 1
join cat_master_oracle_fusion.sch_gold_layer.per_person_names_f_dev ppnf
on paaf.person_id = ppnf.person_id
and ppnf.name_type = 'GLOBAL'
and current_date() between ppnf.effective_start_date
and ppnf.effective_end_date
join alp_periods_of_service ppos_min
on paaf.person_id = ppos_min.person_id
and ppos_min.min_period = 1
join alp_periods_of_service ppos_max
on paaf.person_id = ppos_max.person_id
and ppos_max.max_period = 1
left join cat_master_oracle_fusion.sch_gold_layer.per_email_addresses_dev peap
on papf.primary_email_id = peap.email_address_id
left join cat_master_oracle_fusion.sch_gold_layer.per_phones_dev ppp
on papf.primary_phone_id = ppp.phone_id
left join cat_master_oracle_fusion.sch_gold_layer.hr_all_organization_units_dev haou
on paaf.business_unit_id = haou.organization_id
left join alp_legislative_info pplf
on papf.person_id = pplf.person_id
and pplf.reg = 1
left join cat_master_oracle_fusion.sch_gold_layer.fscm_fin_gl_codecombinationextractpvo_dev gcc
on paaf.default_code_comb_id = gcc.codecombinationcodecombinationid
join alp_addresses aa
on papf.person_id = aa.person_id
and aa.reg = 1
join cat_master_oracle_fusion.sch_gold_layer.per_employees_x_dev pex
on paaf.person_id = pex.person_id
and paaf.assignment_id = pex.assignment_id
join cat_master_oracle_fusion.sch_gold_layer.per_person_types_tl_dev pptt
on pex.person_type_id = pptt.person_type_id
and pptt.language = 'E'
join cat_master_oracle_fusion.sch_gold_layer.per_persons_dev pp
on papf.person_id = pp.person_id
join cat_master_oracle_fusion.sch_gold_layer.hr_all_organization_units_dev haoubu
on paaf.business_unit_id = haoubu.organization_id
join cat_master_oracle_fusion.sch_gold_layer.hr_all_organization_units_dev haoudep
on paaf.organization_id = haoudep.organization_id
left join cat_master_oracle_fusion.sch_gold_layer.hr_all_organization_units_dev haoudepto
on haoudep.organization_id = haoudepto.organization_id
join cat_master_oracle_fusion.sch_gold_layer.hr_all_organization_units_dev haoule
on paaf.legal_entity_id = haoule.organization_id
left join cat_master_oracle_fusion.sch_gold_layer.hr_legal_entities_dev hle
on haoule.organization_id = hle.organization_id
and hle.classification_code = 'HCM_LEMP'
left join cat_master_oracle_fusion.sch_gold_layer.xle_entity_profiles_dev xep
on hle.legal_entity_id = xep.legal_entity_id
left join alp_sindicatos asi
on paaf.union_id = asi.organization_id
left join alp_emails ae
on papf.person_id = ae.person_id
and ae.reg = 1
left join alp_phones ap
on papf.person_id = ap.person_id
and ap.reg = 1
left join alp_bancos ab
on paaf.assignment_id = ab.assignment_id
and ab.reg = 1
left join cat_master_oracle_fusion.sch_gold_layer.hr_locations_all_dev hla
on paaf.location_id = hla.location_id
left join cat_master_oracle_fusion.sch_gold_layer.hr_locations_all_tl_dev hlat
on hla.location_code = hlat.location_code
and hla.location_details_id = hlat.location_details_id
and hlat.language = 'E'
left join alp_managers am
on paaf.person_id = am.person_id
and paaf.assignment_id = am.assignment_id
and am.reg = 1
left join cat_master_oracle_fusion.sch_gold_layer.hcm_hcm_user_userextractpvo_dev pu
on papf.person_id = pu.personid
left join cat_master_oracle_fusion.sch_gold_layer.per_col_agreements_f_tl_dev pcaftl
on paaf.collective_agreement_id = pcaftl.collective_agreement_id
and pcaftl.language = 'E'
left join alp_jobs aj
on paaf.job_id = aj.job_id
and aj.reg = 1
left join alp_grades ag
on paaf.grade_id = ag.grade_id
left join cat_master_oracle_fusion.sch_gold_layer.cmp_salary_dev cs
on paaf.assignment_id = cs.assignment_id
and paaf.assignment_type = cs.assignment_type
and current_date() between cs.date_from
and cs.date_to
left join alp_documentos imss
on papf.person_id = imss.person_id
and imss.reg = 1
and imss.national_identifier_type = 'IMSS'
left join alp_documentos curp
on papf.person_id = curp.person_id
and curp.reg = 1
and curp.national_identifier_type = 'CURP'
left join alp_documentos rfc
on papf.person_id = rfc.person_id
and rfc.reg = 1
and rfc.national_identifier_type = 'RFC'
left join alp_documentos issste
on papf.person_id = issste.person_id
and issste.reg = 1
and issste.national_identifier_type = 'ISSSTE'
left join alp_documentos fgad
on papf.person_id = fgad.person_id
and fgad.reg = 1
and fgad.national_identifier_type = 'FGAD'
left join alp_documentos msd
on papf.person_id = msd.person_id
and msd.reg = 1
and msd.national_identifier_type = 'MSD'
left join alp_documentos nid
on papf.person_id = nid.person_id
and nid.reg = 1
and nid.national_identifier_type = 'NID'
left join alp_positions_all hapf
on paaf.business_unit_id = hapf.business_unit_id
and paaf.organization_id = hapf.organization_id
and paaf.position_id = hapf.position_id
and paaf.location_id = hapf.location_id
and paaf.job_id = hapf.job_id
and hapf.reg = 1
left join cat_master_oracle_fusion.sch_gold_layer.per_contracts_f_dev pcf
on paaf.contract_id = pcf.contract_id
and current_date() between pcf.effective_start_date
and pcf.effective_end_date
left join alp_subalternos asu
on papf.person_id = asu.person_id
left join alp_dirtores_responsables adr
on paaf.person_id = adr.person_id
and paaf.assignment_id = adr.assignment_id
and adr.reg = 1
left join alp_as400 as4
on papf.person_number = as4.numemp
left join alp_cat_fnd_lookups flvt
on pp.country_of_birth = flvt.code
and flvt.type = 'HZ_DOMAIN_SUFFIX_LIST'
left join alp_cat_fnd_lookups flvtms
on pplf.marital_status = flvtms.code
and flvtms.type = 'MAR_STATUS'
left join alp_cat_fnd_lookups flvtle
on xep.legal_entity_identifier = flvtle.meaning
and flvtle.type = 'ALP_REPORTE_EMPLEADOS'
left join alp_cat_fnd_lookups flvtct
on paaf.employee_category = flvtct.code
and flvtct.type = 'EMPLOYEE_CATG'
left join alp_cat_fnd_lookups flvtec
on paaf.employment_category = flvtec.code
and flvtec.type = 'EMP_CAT'
left join alp_cat_fnd_lookups flvtpass
on paaf.assignment_status_type = flvtpass.code
and flvtpass.type = 'PER_ASS_SYS_STATUS'
left join alp_cat_fnd_lookups flvthelc
on pplf.highest_education_level = flvthelc.code
and flvthelc.type = 'ORA_PER_HIGHEST_EDUCATION_LEVE'
left join alp_cat_fnd_lookups flvthsc
on paaf.hourly_salaried_code = flvthsc.code
and flvthsc.type = 'HOURLY_SALARIED_CODE'
left join alp_cat_fnd_lookups flvtc
on pcf.type = flvtc.code
and flvtc.type = 'CONTRACT_TYPE'
left join alp_cat_fnd_flex_fields ascgp
on gcc.codecombinationsegment1 = ascgp.value
and ascgp.flex_value_set_name = 'GPLP_PRIMARIO'
left join alp_cat_fnd_flex_fields ascuo
on gcc.codecombinationsegment2 = ascuo.value
and ascuo.flex_value_set_name = 'UNIDAD OPERATIVA GPLP_PRIMARIO'
left join alp_cat_fnd_flex_fields ascc
on gcc.codecombinationsegment3 = ascc.value
and ascc.flex_value_set_name = 'CANAL GPLP_PRIMARIO'
left join alp_cat_fnd_flex_fields ascca
on gcc.codecombinationsegment4 = ascca.value
and ascca.flex_value_set_name = 'CATEGORIA GPLP_PRIMARIO'
left join alp_cat_fnd_flex_fields asccc
on gcc.codecombinationsegment5 = asccc.value
and asccc.flex_value_set_name = 'CENTRO DE COSTOS GPLP_PRIMARIO'
left join alp_cat_fnd_flex_fields ascta
on gcc.codecombinationsegment6 = ascta.value
and ascta.flex_value_set_name = 'CUENTA GPLP_PRIMARIO'
left join alp_cat_fnd_flex_fields ascf
on gcc.codecombinationsegment7 = ascf.value
and ascf.flex_value_set_name = 'FILIALES GPLP_PRIMARIO'
left join alp_cat_fnd_flex_fields ascfut
on gcc.codecombinationsegment8 = ascfut.value
and ascfut.flex_value_set_name = 'FUTURO GPLP_PRIMARIO'
where current_date() between papf.effective_start_date
and papf.effective_end_date)
select person_id,
assignment_id,
person_number,
user_person_type,
assignment_status_type_code,
assignment_status_type,
last_name,
previous_last_name,
first_name,
middle_names,
full_name,
region_of_birth,
age,
country_of_birth,
date_of_birth,
sex,
marital_status_code,
marital_status,
date_start,
actual_termination_date,
primary_email_address,
primary_phone,
checa_tarjeta,
ubicacion_real,
ubicacion_administrativa,
grupo_reloj_chec,
legal_entity_identifier,
legal_entity_code,
legal_entity,
bu_code,
bu_name,
seccion_codigo,
seccion,
area_codigo,
area,
area_op_codigo,
area_op,
cast(department_code as DECIMAL(10,0)),
department,
ass_attribute15,
assignment_name,
assignment_number,
sindicato,
seccion_sindicato,
primary_assignment_flag,
labour_union_member_flag,
default_expense_account_code,
default_expense_account,
cc_compania_code,
cc_compania,
cc_unidad_operativa_code,
cc_unidad_operativa,
cc_canal_code,
cc_canal,
cc_categoria_code,
cc_categoria,
cc_centro_costo_code,
cc_centro_costo,
cc_cuenta_code,
cc_cuenta,
cc_filiales_code,
cc_filiales,
cc_futuro_code,
cc_futuro,
employee_category_code,
employee_category,
employment_category_code,
employment_category,
email_address,
phone_number,
bank_name,
bank_account_num,
highest_education_level_code,
highest_education_level,
address_line_1,
address_line_2,
town_or_city,
addl_address_attribute2,
postal_code,
region_1,
region_2,
address_id,
ubicacion_codigo,
ubicacion,
hourly_salaried_code,
hourly_salaried,
manager_person_number,
manager_name,
user_oracle,
collective_agreement_name,
puesto_code,
puesto,
grade_code,
grade_name,
imss,
curp,
rfc,
issste,
fgad,
msd,
nid,
position_code,
position_name,
contract_type_code,
contract_type,
contract_number,
subordinados,
creation_date,
created_by,
last_update_date,
last_updated_by,
last_update_login,
puesto_director,
nomina_director,
director,
status_as400,
fecha_baja_as400
from alp_empleados
where reg = 1