Saneamiento de la base de proveedores — ProClinic
Estos son los comandos SELECT que se pueden ejecutar en el sistema Senior , para facilitar la extracción de datos de los empleados. Los datos extraídos deberán utilizarse para actualizar la información de los respectivos colaboradores en el sistema ProClinic.
Saneamiento de datos:
Colaboradores
Vincular registros
Los registros se vinculan mediante el código de integración de registro de Personas :
| Registro en el sistema Senior | Registro con el proveedor de SST |
|---|---|
R030EMP.NumEmp
R034FUN.TipCol
R034FUN.NumCad
|
Con base en la información extraída de los comandos SQL/Oracle, actualice la siguiente información en los respectivos colaboradores en el sistema del proveedor:
|
Comandos de base de datos para saneamiento base
SELECT R034FUN.NUMEMP 'Código de empresa senior', CAST(R034FUN.TIPCOL AS VARCHAR(200)) 'Tipo de empleado', CAST(R034FUN.NUMCAD AS VARCHAR(200)) 'Registro', R034FUN.FunName 'Nombre del empleado', R034FUN .CodFil 'Código de Sucursal', R030FIL.NomFil 'Sucursal', CAST(R030ORG.TabOrg AS VARCHAR(200)) 'Tabla de organigrama del sector', CAST(R016HIE.CodLoc AS VARCHAR(200)) 'Código de Sector', R016ORN. LocNom 'Sector', CAST(R030CAR.EstCar AS VARCHAR(200)) 'Estructura de carga', CAST(R034FUN.CodCar AS VARCHAR(200)) 'Código de carga', R024CAR.TitRed 'Carga', CASE WHEN (convert(varchar) , R034FUN.DatNas, 103) = '31/12/1900') ENTONCES nulo ELSE (convert(varchar, R034FUN.DatNas, 103)) END 'Dt.Nascimento', CASO CUANDO (convert(varchar, R034FUN.DatAdm, 103 ) = '31/12/1900') ENTONCES nulo ELSE (convert(varchar, R034FUN.DatAdm, 103)) END 'Dt.Admissão', CASE WHEN (convert(varchar, R038AFA.DatAfa, 103) = '31/12 / 1900') ENTONCES nulo ELSE (convert(varchar, R038AFA.DatAfa, 103)) FINAL 'Dt.Dismissal', CASO CUANDO R034FUN.NumCPF = 0 ENTONCES ' ' CUANDO R034FUN.NumCPF ES NULO ENTONCES ' ' CUANDO ((R034FUN. NumCPF <> 0) Y (LEN(R034FUN.NumCPF)= 1)) ENTONCES (SUBSTRING('0000000000' + CONVERT(CHAR, R034FUN.NumCPF),1,3) + '.' + SUBSTRING('0000000000' + CONVERT ( CHAR, R034FUN.NumCPF),4,3) + '.' + SUBSTRING('0000000000' + CONVERTIR(CHAR, R034FUN.NumCPF),7,3) + '-' + SUBSTRING('0000000000' + CONVERTIR(CHAR , R034FUN.NumCPF),10,2)) CUANDO ((R034FUN.NumCPF <> 0) Y (LEN(R034FUN.NumCPF)= 2)) ENTONCES (SUBSTRING('000000000' + CONVERT(CHAR, R034FUN.NumCPF), 1,3) + '.' + SUBSTRING('000000000' + CONVERTIR(CHAR, R034FUN.NumCPF),4,3) + '.' + SUBSTRING('000000000' + CONVERTIR(CHAR, R034FUN.NumCPF),7, 3 ) + '-' + SUBSTRING('000000000' + CONVERT(CHAR, R034FUN.NumCPF),10,2)) CUANDO ((R034FUN.NumCPF <> 0) AND (LEN(R034FUN.NumCPF)= 3)) ENTONCES ( SUBSTRING('00000000' + CONVERT(CHAR, R034FUN.NumCPF),1,3) + '.' + SUBSTRING('00000000' + CONVERT(CHAR, R034FUN.NumCPF),4,3) + '.' '00000000 ' + CONVERTIR(CHAR, R034FUN.NumCPF),7,3) + '-' + SUBSTRING('00000000' + CONVERTIR(CHAR, R034FUN.NumCPF),10,2)) CUANDO ((R034FUN.NumCPF <> 0) Y (LEN(R034FUN.NumCPF)= 4)) ENTONCES (SUBSTRING('0000000' + CONVERT(CHAR, R034FUN.NumCPF),1,3) + '.' + SUBSTRING('0000000' + CONVERT(CHAR, R034FUN. NumCPF),4,3) + '.' + SUBSTRING('0000000' + CONVERT(CHAR, R034FUN.NumCPF),7,3) + '-' + SUBSTRING('0000000' + CONVERT(CHAR, R034FUN. NumCPF) ,10,2)) CUANDO ((R034FUN.NumCPF <> 0) Y (LEN(R034FUN.NumCPF)= 5)) ENTONCES (SUBSTRING('000000' + CONVERT(CHAR, R034FUN.NumCPF),1,3 ) + '.' + SUBSTRING('000000' + CONVERT(CHAR, R034FUN.NumCPF),4,3) + '.' + SUBSTRING('000000' + CONVERT(CHAR, R034FUN.NumCPF),7,3) + '- ' + SUBSTRING('000000' + CONVERT(CHAR, R034FUN.NumCPF),10,2)) CUANDO ((R034FUN.NumCPF <> 0) Y (LEN(R034FUN.NumCPF)= 6)) ENTONCES (SUBSTRING( '00000 ' + CONVERTIR(CHAR, R034FUN.NumCPF),1,3) + '.' + CONVERTIR(CHAR, R034FUN.NumCPF),7,3) + '-' + SUBSTRING('00000' + CONVERTIR(CHAR, R034FUN .NumCPF),10,2)) CUANDO ((R034FUN.NumCPF <> 0) Y (LEN(R034FUN.NumCPF)= 7)) ENTONCES (SUBSTRING('0000' + CONVERT(CHAR, R034FUN.NumCPF),1, 3) + '.' + SUBSTRING('0000' + CONVERTIR(CHAR, R034FUN. NumCPF),4,3) + '.' + SUBSTRING('0000' + CONVERTIR(CHAR, R034FUN.NumCPF),7,3) + '-' + SUBSTRING('0000' + CONVERT(CHAR, R034FUN.NumCPF) ,10,2)) CUANDO ((R034FUN.NumCPF <> 0) Y (LEN(R034FUN.NumCPF)= 8)) ENTONCES (SUBSTRING ('000' + CONVERTIR(CHAR, R034FUN.NumCPF),1,3) + '.' + SUBSTRING('000' + CONVERTIR(CHAR, R034FUN.NumCPF),4,3) + '.' 000' + CONVERTIR(CHAR, R034FUN.NumCPF),7,3) + '- ' + SUBSTRING('000' + CONVERTIR(CHAR, R034FUN.NumCPF),10,2)) CUANDO ((R034FUN.NumCPF <> 0 ) Y (LEN(R034FUN.NumCPF)= 9)) ENTONCES (SUBSTRING('00 ' + CONVERT(CHAR, R034FUN.NumCPF),1,3) + '.' + SUBSTRING('00' + CONVERT(CHAR, R034FUN .NumCPF),4,3) + '.' CONVERTIR(CHAR, R034FUN.NumCPF),7,3) + '-' + SUBSTRING('00' + CONVERTIR(CHAR, R034FUN.NumCPF),10,2)) CUANDO ((R034FUN.NumCPF <> 0) Y ( LEN(R034FUN.NumCPF)= 10)) ENTONCES (SUBSTRING('0' + CONVERT(CHAR, R034FUN.NumCPF),1,3) + '.' + SUBSTRING( '0' + CONVERTIR(CHAR, R034FUN.NumCPF),4,3) + '.' + SUBSTRING('0' + CONVERTIR(CHAR, R034FUN.NumCPF),7,3) + '-' + SUBSTRING('0 ' + CONVERTIR(CHAR, R034FUN.NumCPF),10,2)) CUANDO ((R034FUN.NumCPF <> 0) Y (LEN(R034FUN.NumCPF)= 11)) ENTONCES (SUBSTRING(CONVERT(CHAR, R034FUN.NumCPF) ,1,3) + '.' + SUBSTRING( CONVERT(CHAR, R034FUN.NumCPF),4,3) + '.',2)) ELSE '' END 'CPF', R033PES.NumCid 'RG', R033PES. EstCid 'UF-RG' DE R034FUN unión interna R030EMP en (R030EMP.NumEmp = R034FUN.NumEmp) unión interna R030CAR en (R030CAR.NumEmp = R034FUN.NumEmp AND R030CAR.EstCar = R034FUN.EstCar AND R030CAR.DatAlt = (SELECT MAX( C.DATALT) DESDE R030CAR C DONDE R030EMP.NumEmp = C.NumEmp AND C.DatAlt <= GETDATE())) unión interna R024CAR en (R024CAR.EstCar = R034FUN.EstCar AND R024CAR.CodCar = R034FUN.CodCar) unión interna R030ORG en (R030ORG.NumEmp = R034FUN.NumEmp AND R030ORG.TabOrg = R034FUN.TabOrg AND R030ORG.DatAlt = (SELECT MAX(O. DATA ) FROM R030ORG O WHERE R030EMP.NumEmp = O.NumEmp AND O.DatAlt <= GETDATE() )) unión interna R016ORN en (R016ORN.TabOrg = R034FUN.TabOrg AND R016ORN.NumLoc = R034FUN.NumLoc) unión interna R016HIE en (R016HIE .Taborg = r034fun.taborg y r016hie.numloc = r034fun.numloc y r016hie.datini = (seleccione max (h.datini) de r016hie h donde r034fun.taborg = h.taborg y r034fun.numloc = h.numloc y h.datini <= GETDATE())) unión interna R030FIL en (R030FIL.NumEmp = R034FUN.NumEmp AND R030FIL .CodFil = R034FUN.CodFil) unión interna R010SIT en (R010SIT.CodSit = R034FUN.SitAfa) unión izquierda R033PES en (R033PES.CodPES = R034FUN.CodPes) unión izquierda R038AFA en (R038AFA.numemp = R034FUN.NumEmp AND AFA.TipCol = R034FUN.tipcol AND R038AFA.NumCad = R034FUN.numcad AND r038afa.sitafa en (SELECCIONE S.codsit DESDE r010sit S DONDE S. tipsit = 7)) DONDE R034FUn.tipcol EN (1,2) ORDENAR POR 1,3,4
|
SELECCIONE R034FUN.NumEmp "Código de empresa senior", R034FUN.TipCol "Tipo de empleado", R034FUN.NumCad "Registro", R034FUN.FunName "Nombre del empleado", R034FUN.FilCod "Código de sucursal", R030FIL.FilNom "Sucursal", R030ORG. TabOrg "Tabla de organigrama del sector", R016HIE.CodLoc "Código de sector", R016ORN.LocNom "Sector", R030CAR.EstCar "Estructura de posición", R034FUN.CodCar "Código de carga", R024CAR.TitRed "Posición", DECODE(TO_CHAR( R034FUN .DatNas, 'DD/MM/AAAA'), '31/12/1900', nulo, TO_CHAR(R034FUN.DatNas, 'DD/MM/AAAA')) "Dt.Nascimento", DECODE(TO_CHAR(R034FUN. DatAdm , 'DD/MM/AAAA'), '31/12/1900', null, TO_CHAR(R034FUN.DatAdm, 'DD/MM/AAAA')) "Fecha de admisión", DECODE(TO_CHAR(R038AFA.DATAFA, ' DD/MM/AAAA'), '31/12/1900', nulo, TO_CHAR(R038AFA.DATAFA, 'DD/MM/AAAA')) "Dt.Despido", DECODE(R034FUN.NumCPF, 0, ' ', SUBSTR(TO_CHAR(R034FUN.NumCPF),1,3) ||'.'|| SUBSTR(TO_CHAR(R034FUN.NumCPF),4,3) ||'.'|| SUBSTR(TO_CHAR(R034FUN.NumCPF),10,2)) "CPF", R033PES.NumCid "RG", R033PES.EstCid "UF-RG" FROM R034FUN unión interna R030EMP en (R030EMP.NumEmp = R034FUN.NumEmp) unión interna R030CAR encendido (R030CAR.NumEmp = R030EMP.NumEmp AND R030CAR.EstCar = R034FUN.EstCar AND R030CAR.DatAlt = (SELECT MAX(DATALT) FROM R030CAR C DONDE R030EMP.NumEmp = C. NumEmp And c.datalt <= SYSDATE)) Interior Unirse a R024Car activado (R024Car.estCar = R034Fun.estCar y R024Car.codcar = R034Fun.codcar) Unirse internamente a R030org activado (R030org.numemp = R034fun.numemp y r030org.taborg = r034fun.Tabun.Tabun AND R030ORG.DatAlt = (SELECT MAX (O.DATALT) DESDE R030ORG O DONDE R030EMP.NumEmp = O.NumEmp AND O.DatAlt <= SYSDATE)) unión interna R016ORN en (R016ORN.TabOrg = R034FUN.TabOrg AND R016ORN.NumLoc = R034FUN.NumLoc) unión interna R016HIE en (R016HIE.TabOrg = R034FUN.TabOrg AND R016HIE.NumLoc = R034FUN.NumLoc AND R016HIE.DatIni = (SELECCIONE MAX(DATINI) DE R016HIE H DONDE R034FUN.TabOrg = H.TabOrg AND R034FUN.NumLoc = H.NumLoc AND H.D enIni <= SYSDATE)) unión interna R030FIL en (R030FIL.NumEmp = R034FUN.NumEmp AND R030FIL.CodFil = R034FUN.CodFil) unión interna R010SIT en (R010SIT.CodSit = R034FUN.SitAfa) unión izquierda R033PES en (R033PES.CodPES = DIVERSIÓN. CodPes) izquierda unir R038AFA en (R038AFA.numemp = R034FUN.NumEmp AND R034FUN.TipCol = R038AFA.tipcol AND R034FUN.NumCad = R038AFA.numcad AND r038afa.sitafa EN (SELECCIONE codsit DESDE r010sit DONDE r010sit es = 7)) DONDE R034FUN .TipCol EN (1,2) ORDENAR POR 1,3,4 |
Observación
El comando anterior también considera a los empleados que son despedidos .
English
Español


