Saneamiento de base de proveedores — MedNet
Extraer informaciones usando comandos en la base de datos
Estos son los comandos SELECT
que se pueden ejecutar en el sistema Senior , para facilitar la extracción de datos. Los comandos están divididos por tipo de información (empleados, ramas, sectores y puestos).
Instrucciones:
- Utilice los comandos de esta página para consultar los registros en la base de datos.
- Exporte los resultados de la consulta a un archivo en formato .XLS o .CSV.
- Envíe el archivo exportado al proveedor de SST.
Al recibir el archivo exportado, el proveedor de SST debe limpiar la base de datos en el sistema MedNet . Para realizar el saneamiento, el proveedor puede elegir entre:
- importar el archivo ; o
- ajustar manualmente los registros existentes en el sistema.
Saneamiento de datos:
Colaboradores
Comandos de base de datos para saneamiento base
SELECCIONAR R034FUN.NomFun 'Nombre del empleado', CASO CUANDO R034FUN.TipCol = 1 ENTONCES '1-Empleado' CUANDO R034FUN.TipCol = 2 ENTONCES '2-Tercero' CUANDO R034FUN.TipCol = 3 ENTONCES '3-Partner' ELSE 'Valor no válido' FIN 'Tipo', R034FUN.NumCad 'Código de registro (registro)', 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' + CONVERTIR(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 ' + CONVERTIR(CHAR, R034FUN.NumCPF),10,2)) CUANDO ((R034FUN.NumCPF <> 0) Y (LEN(R034FUN.NumCPF)= 3)) ENTONCES (SUBSTRING('00000000' + CONVERT(CHAR, R034FUN.NumCPF),1,3) + '.' + SUBSTRING( '00000000' + CONVERTIR(CHAR, R034FUN.NumCPF),4,3) + '.' + SUBSTRING('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' + CONVERTIR(CHAR, R034FUN.NumCPF),4,3) + '.' + CONVERTIR(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' + CONVERTIR(CHAR, R034FUN.NumCPF),4,3) + '.' + SUBSTRING('000000' + CONVERTIR(CHAR, R034FUN.NumCPF),7,3) + '-' + SUBSTRING('000000 ' + CONVERTIR(CHAR, R034FUN.NumCPF),10,2)) CUANDO ((R034FUN.NumCPF <> 0) Y (LEN(R034FUN.NumCPF)= 6)) ENTONCES (SUBSTRING('00000' + CONVERT(CHAR, R034FUN.NumCPF),1,3) + '.' + SUBSTRING( '00000' + CONVERTIR(CHAR, R034FUN.NumCPF),4,3) + '.' + SUBSTRING('00000' + 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 ' + CONVERTIR(CHAR, R034FUN.NumCPF),10,2)) CUANDO ((R034FUN.NumCPF <> 0) Y (LEN(R034FUN.NumCPF)= 8)) ENTONCES (SUBSTRING('000' + CONVERT(CHAR, R034FUN.NumCPF),1,3) + '.' + SUBSTRING( '000' + CONVERTIR(CHAR, R034FUN.NumCPF),4,3) + '.' + SUBSTRING('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' + CONVERTIR(CHAR, R034FUN.NumCPF),4,3) + '.' + SUBSTRING('00' + 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) + '.' + SUBCADENA(CONVERTIR(CHAR, R034FUN.NumCPF),7,3) + '-' + SUBCADENA(CONVERTIR(CHAR, R034FUN.NumCPF),10,2)) DEMÁS '' FINALIZAR 'CPF', R034FUN.NumEmp 'Código de empresa', R030EMP.EmpName 'Nombre de la empresa', R034FUN.CodFil 'Código de sucursal', R030FIL.NomFil 'Nombre de sucursal', R030ORG.TabOrg 'Tabla de organigrama sectorial', R016HIE.CodLoc 'Código sector', R016ORN.NomLoc 'Nombre sector', R030CAR.EstCar 'Estructura de posiciones', R034FUN.CodCar 'Código de carga', R024CAR.TitRed 'Nombre de posición', R010SIT.DesSit 'Situación', CASO CUANDO (convert(varchar, R034FUN.DatAdm, 103) = '31/12/1900') ENTONCES nulo ELSE (convertir (varchar, R034FUN.DatAdm, 103)) FIN 'Fecha de admisión', CASO CUANDO (convert(varchar, R038AFA.DatAfa, 103) = '31/12/1900') ENTONCES nulo ELSE (convertir (varchar, R038AFA.DatAfa, 103)) FIN 'Fecha de despido' DESDE R034FUN inner join R030EMP on (R030EMP.NumEmp = R034FUN.NumEmp) inner join R030CAR on (R030CAR.NumEmp = R034FUN.NumEmp AND R030CAR.EstCar = R034FUN.EstCar AND R030CAR.DatAlt = (SELECT MAX(C.DATALT) FROM R030CAR C WHERE R030EMP.NumEmp = C.NumEmp AND C.DatAlt <= GETDATE())) inner join R024CAR on (R024CAR.EstCar = R034FUN.EstCar AND R024CAR.CodCar = R034FUN.CodCar) inner join R030ORG on (R030ORG.NumEmp = R034FUN.NumEmp AND R030ORG.TabOrg = R034FUN.TabOrg AND R030ORG.DatAlt = (SELECT MAX(O.DATALT) FROM R030ORG O WHERE R030EMP.NumEmp = O.NumEmp AND O.DatAlt <= GETDATE())) inner join R016ORN on (R016ORN.TabOrg = R034FUN.TabOrg AND R016ORN.NumLoc = R034FUN.NumLoc) inner join R016HIE on (R016HIE.TabOrg = R034FUN.TabOrg AND R016HIE.NumLoc = R034FUN.NumLoc AND R016HIE.DatIni = (SELECT MAX(H.DATINI) FROM R016HIE H WHERE R034FUN.TabOrg = H.TabOrg AND R034FUN.NumLoc = H.NumLoc AND H.DatIni <= GETDATE())) inner join R030FIL on (R030FIL.NumEmp = R034FUN.NumEmp AND R030FIL.CodFil = R034FUN.CodFil) inner join R010SIT on (R010SIT.CodSit = R034FUN.SitAfa) left join R033PES on (R033PES.CodPES = R034FUN.CodPes) unión izquierda R038AFA en (R038AFA.numemp = R034FUN.NumEmp AND R038AFA.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,2,3,4 |
Observación
El comando anterior también considera a los empleados que son despedidos .
SELECCIONE R034FUN.FunName COMO "Nombre del empleado", CASO CUANDO R034FUN.TipCol = 1 ENTONCES '1-Empleado' CUANDO R034FUN.TipCol = 2 ENTONCES '2-Tercero' CUANDO R034FUN.TipCol = 3 ENTONCES '3-Socio' MÁS 'Valor invalid' END AS "Tipo", R034FUN.NumCad AS "Código de registro", CASE WHEN R034FUN.NumCPF = 0 THEN ' ' CUANDO R034FUN.NumCPF ES NULL THEN ' ' ELSE (SUBSTR(LPAD(R034FUN.NumCPF, 11, '0 '), 1, 3) || '.' , 11, '0'), 7, 3) || '-' || Código de empresa", R030EMP.EmpName AS "Nombre de la empresa", R034FUN.CodFil AS "Sucursal code", R030FIL.FilName AS "Nombre de la sucursal", R030ORG.TabOrg AS "Tabla de organigrama del sector", R016HIE.CodLoc AS "Código del sector", R016ORN.NomLoc AS "Nombre del sector", R030CAR.EstCar AS "Estructura del puesto", R034FUN.CodCar AS "Código de posición", R024CAR.TitRed AS "Nombre de posición", R010SIT.DesSit AS "Situación", CASE WHEN TO_CHAR(R034FUN .DatAdm, 'DD/MM/AAAA') = '31/12/1900' THEN NULL ELSE TO_CHAR(R034FUN.DatAdm, 'DD/MM/AAAA') END AS "Fecha de admisión", CASE WHEN TO_CHAR(R038AFA.DatAfa, 'DD/MM/AAAA') = '31/12/1900' THEN NULL ELSE TO_CHAR(R038AFA.DatAfa, 'DD/MM/AAAA') END AS "Fecha de despido" FROM R034FUN INNER JOIN R030EMP ON (R030EMP.NumEmp = R034FUN.NumEmp) INNER JOIN R030CAR ON (R030CAR.NumEmp = R034FUN.NumEmp AND R030CAR .EstCar = R034FUN.EstCar AND R030CAR.DatAlt = ( SELECCIONE MAX(C.DATALT) DESDE R030CAR C DONDE R030EMP.NumEmp = C.NumEmp AND C.DatAlt <= SYSDATE)) UNIÓN INTERNA R024CAR ON (R024CAR.EstCar = R034FUN. EstCar AND R024CAR.CodCar = R034FUN.CodCar) INNER JOIN R030ORG ON (R030ORG.NumEmp = R034FUN.NumEmp AND R030ORG.TabOrg = R034FUN.T abOrg AND R030org.datalt = (seleccione max (o.datalt) de r030org o Donde r030emp. numemp = o.numemp y o.datalt <= sysdate)) Unión interna R016orn activado (r016orn.taborg = r034fun.taborg y r016orn.numloc = r034fun .NumLoc) UNIÓN INTERNA R016HIE activado (R016HIE.TabOrg = R034FUN.TabOrg AND R016HIE. NumLoc = R034FUN.NumLoc AND R016HIE.DatIni = ( SELECCIONE MAX(H.DATINI) DESDE R016HIE H DONDE R034FUN.TabOrg = H.TabOrg AND R 034FUN. NumLoc = H.NumLoc AND H.DatIni <= SYSDATE)) UNIÓN INTERNA R030FIL ON (R030FIL.NumEmp = R034FUN.NumEmp AND R030FIL.CodFil = R034FUN.CodFil) UNIÓN INTERNA R010SIT ON (R010SIT.CodSit = R034FUN.SitAfa) UNIR A R033PES ON (R033PES.CodPES = R034FUN.CodPes) IZQUIERDA ÚNASE A R038AFA EN (R038AFA. numemp = R034FUN.NumEmp AND R038AFA.TipCol = R034FUN.tipcol AND R038AFA.NumCad = R034FUN.numcad AND r038afa.sitafa en (S ELEGIR S.codsit DE r010sit S DONDE S.tipsit = 7)) DONDE R034FUn.tipcol EN (1 , 2) ORDENAR POR 1, 2, 3, 4 |
Observación
El comando anterior también considera a los empleados que son despedidos .
Sucursales
Comandos de base de datos para saneamiento base
SELECCIONAR R030FIL.NumEmp 'Código de empresa', R030EMP.NomEmp 'Nombre empresa', R030FIL.CodFil 'Código sucursal', R030FIL.NomFil 'Nombre de sucursal', R030FIL.RazSoc 'Nombre de la empresa brasileña', CASO R030FIL.Consejos CUANDO 1 ENTONCES 'CNPJ' CUANDO 2 ENTONCES 'CEI' CUANDO 3 ENTONCES 'CPF' MÁS nulo END 'Tipo de inscripción', CASO R030FIL.Consejos CUANDO 1 ENTONCES CASO CUANDO (REPLACE(R030FIL.NumCGC, '.', '') = nulo) ENTONCES nulo ELSE (SUBSTRING(CONVERT(CHAR, REPLACE(R030FIL.NumCGC, '.', '')),1,2) + '.' + SUBSTRING(CONVERT(CHAR, REPLACE(R030FIL.NumCGC, '.', '')),3,3) + '.' + SUBSTRING(CONVERT(CHAR, REPLACE(R030FIL.NumCGC, '.', '')),6,3) + '/' + SUBSTRING(CONVERT(CHAR, REPLACE(R030FIL.NumCGC, '.', '')),9,4) + '-' + SUBSTRING(CONVERT(CHAR, REPLACE(R030FIL.NumCGC, '.', '')),13,2)) FIN CUANDO 2 ENTONCES CASO CUANDO (REPLACE(R030FIL.NumCGC, '.', '') = nulo) ENTONCES nulo ELSE (SUBSTRING(CONVERT(CHAR, REPLACE(R030FIL.NumCGC, '.', '')),1,2) + '.' + SUBSTRING(CONVERT(CHAR, REPLACE(R030FIL.NumCGC, '.', '')),3,3) + '.' + SUBSTRING(CONVERT(CHAR, REPLACE(R030FIL.NumCGC, '.', '')),6,5) + '/' + SUBSTRING(CONVERT(CHAR, REPLACE(R030FIL.NumCGC, '.', '')),11,2)) FIN CUANDO 3 ENTONCES CASO CUANDO (REPLACE(R030FIL.NumCGC, '.', '') = nulo) ENTONCES nulo ELSE (SUBSTRING(CONVERTIR(CHAR, REPLACE(R030FIL.NumCGC, '.', '')),1,3) + '.' + SUBSTRING(CONVERT(CHAR, REPLACE(R030FIL.NumCGC, '.', '')),4,3) + '.' + SUBSTRING(CONVERT(CHAR, REPLACE(R030FIL.NumCGC, '.', '')),7,3) + '-' + SUBSTRING(CONVERT(CHAR, REPLACE(R030FIL.NumCGC, '.', '')),10,2)) FIN MÁS nulo FIN 'Número de registro', CASO CUANDO (R030FIL.InsCei = 0) ENTONCES nulo ELSE R030FIL.InsCei END 'Número de registro CEI', CASO CUANDO (R030FIL.NumCno = 0) ENTONCES nulo DE LO CONTRARIO R030FIL.NumCno END 'Número de registro CNO', CASO CUANDO (R030FIL.NCaepf = 0) ENTONCES nulo ELSE R030FIL.NCaepf FIN 'Número de registro CAEPF' DESDE R030FIL, R030EMP DÓNDE R030Emp.NumEmp = R030FIL.NumEmp ORDENAR POR 1,3,4 |
SELECCIONE R030FIL.NumEmp "Código de empresa", R030EMP.EmpName "Nombre de empresa", R030FIL.FilCod "Código de sucursal", R030FIL.FilName "Nombre de sucursal", R030FIL.RazSoc "Nombre de empresa de sucursal", CASO CUANDO R030FIL.TipIns = 1 ENTONCES 'CNPJ' CUANDO R030FIL.TipIns = 2 ENTONCES 'CEI' CUANDO R030FIL.TipIns = 3 ENTONCES 'CPF' ELSE null END "Tipo de inscripción", CASE WHEN R030FIL.TipIns = 1 ENTONCES CASE WHEN REPLACE(R030FIL.NumCGC, '.' , '') ES NULL LUEGO NULL ELSE (SUBSTR(TO_CHAR(REPLACE(R030FIL.NumCGC, '.', '')), 1, 2) || '.' || SUBSTR(TO_CHAR(REPLACE(R030FIL.NumCGC, '.', '')), 3, 3) || '.' SUBSTR(TO_CHAR(REPLACE(R030FIL.NumCGC, '.', '')), 9, 4) || '-' || TO_CHAR(REPLACE(R030FIL.NumCGC, '.', '')), 13, 2)) FINAL CUANDO R030FIL.TipIns = 2 ENTONCES CASO CUANDO REPLACE(R030FIL.NumCGC, '.', '') ES NULL ENTONCES NULL ELSE (SUBSTR(TO_CHAR(REPLACE(R030FIL.NumCGC, '.', '') ), 1, 2) || '.' || SUBSTR(REPLACE(R030FIL.NumCGC, '.', '')), 3, 3) || .NumCGC, '.', '')), 6, 5) || '/' || SUBSTR(TO_CHAR(REPLACE(R030FIL.NumCGC, '.', '')), 11, 2)) FINAL CUANDO R030FIL.TipIns = 3 ENTONCES CASO CUANDO REPLACE(R030FIL.NumCGC, '.', '') ES NULL ENTONCES NULL ELSE (SUBSTR(TO_CHAR(REPLACE(R030FIL.NumCGC, '.', '')), 1, 3) || '.' || SUBSTR(TO_CHAR(REPLACE(R030FIL.NumCGC, '.', '') ), 4, 3) || '.' || SUBSTR(REPLACE(R030FIL.NumCGC, '.', '')), 7, 3) || 2)) END ELSE NULL END "Número de registro", CASO CUANDO R030FIL.InsCei = 0 ENTONCES NULL ELSE R030FIL.InsCei END "Número de registro CEI", CASO CUANDO R030FIL NumCno = 0 ENTONCES NULL ELSE R030FIL.NumCno END "Número de registro CNO. ", CASO CUANDO R030FIL.NCaepf = 0 ENTONCES NULL ELSE R030FIL.NCaepf END "Número de registro CAEPF" FROM R030FIL, R030EMP DONDE R030Emp.NumEmp = R030FIL.NumEmp O DER BY 1, 3, 4 |
Sectores (Ubicaciones)
Comandos de base de datos para saneamiento base
SELECCIONAR DISTINTO R016HIE.TabOrg 'Tabla organigrama', R016HIE.CodLoc 'Código sector', R016ORN.NomLoc 'Nombre del sector' DE R016ORN, R016HIE, R034FUN, R010SIT DONDE R016ORN.TabOrg = R016HIE.TabOrg AND R016ORN.NumLoc = R016HIE.NumLoc Y R016HIE.DatIni = (SELECCIONAR MAX(DATINI) DE R016HIE H DONDE R016ORN.TabOrg = H.TabOrg AND R016ORN.NumLoc = H.NumLoc AND H.DatIni <= GETDATE()) AND (R016ORN.DatExt >= getdate() OR CAST(R016ORN.DatExt AS DATE) = '1900-12-31') Y R016ORN.taborg = R034FUN.taborg Y R016HIE.numloc = R034FUN.numloc AND R034FUN.SITAFA = R010SIT.CODSIT AND R010SIT.TIPSIT <> 7 ORDENAR POR 1,2,3 |
SELECCIONE DISTINCT R016HIE.TabOrg "Tabla de organización", R016HIE.CodLoc "Código de sector", R016ORN.NomLoc "Nombre de sector" DE R016ORN, R016HIE, R034FUN, R010SIT DONDE R016ORN.TabOrg = R016HIE.TabOrg AND R016ORN.NumLoc = R01 6HIE.NumLoc Y R016HIE.DatIni = ( SELECCIONE MAX(DATINI) DE R016HIE H DONDE R016ORN.TabOrg = H.TabOrg AND R016ORN.NumLoc = H.NumLoc AND H.DatIni <= SYSDATE) Y (R016ORN.DatExt >= SYSDATE OR TRUNC(R016ORN. DatExt) = TO_DATE('1900-12-31', 'AAAA-MM-DD')) AND R016ORN.taborg = R034FUN.taborg AND R016HIE.numloc = R034FUN.numloc AND R034FUN.SITAFA = R010SIT.CODSIT AND R010SIT.TIPSIT <> 7 ORDENAR POR 1, 2, 3 |
Posiciones
Comandos de base de datos para saneamiento base
SELECCIONAR DISTINTO R024CAR.EstCar 'Estructura cargo', R024CAR.CodCar 'Código cargo', R024CAR.TitRed 'Título de posición' DE R024CAR, R034FUN, R010SIT DONDE (R024CAR.DatExt >= getdate() O CAST(R024CAR.DatExt AS DATE) = '1900-12-31') Y R024CAR.ESTCAR = R034FUN.ESTCAR Y R024CAR.CODCAR = R034FUN.CODCAR AND R034FUN.SITAFA = R010SIT.CODSIT AND R010SIT.TIPSIT <> 7 ORDENAR POR 1,2,3 |
SELECT DISTINCT R024CAR.EstCar "Estructura de posición", R024CAR.CodCar "Código de posición", R024CAR.TitRed "Título de posición" FROM R024CAR, R034FUN, R010SIT WHERE (R024CAR.DatExt >= SYSDATE OR TRUNC(R024CAR.DatExt) = TO_DATE(' 1900-12-31', 'AAAA-MM-DD')) Y R024CAR.ESTCAR = R034FUN.ESTCAR Y R024CAR.CODCAR = R034FUN.CODCAR Y R034FUN.SITAFA = R010SIT.CODSIT Y R010SIT.TIPSIT <> 7 ORDENAR POR 1 , 2, 3 |