Diccionario de Datos

Logo

Diccionario de datos de los modelos de COÉXITO

🏠 Menú principal ← Volver a vistas materializadas

SIMACMOBILE.VM_GAR_REPORTE_GESTION_GARANTIAS

Base de datos origen: ORCLSMM

Tipo de objeto: MATERIALIZED VIEW

SQL


  CREATE MATERIALIZED VIEW "SIMACMOBILE"."VM_GAR_REPORTE_GESTION_GARANTIAS" ("ID", "NIT", "RAZON_SOCIAL", "CIUDAD", "TELEFONO", "NRO_SOLICITUD", "ESTADO", "FECHA_CREACION_SOLICITUD", "CREADO_POR", "VENDEDOR_USUARIO", "SUCURSAL", "OBSERVACIONES", "REFERENCIA_GARANTIA", "DESCRIPCION_GARANTIA", "CODIGO_REFERENCIA_COMERCIAL_GARANTIA", "TG_CLAVE_DOT", "NRO_OM", "ESTADO_OM", "FECHA_ESTADO_OM", "TIPO_DEVOLUCION", "CANTIDAD_DIAS_GESTION", "NRO_DIAGNOSTICO", "FECHA_CREACION_DIAGNOSTICO", "DIAGNOSTICADO_POR", "COD_CAUSAL", "DESCRIPCION_CAUSAL", "RESULTADO_DIAGNOSTICO", "NRO_ORDEN_ENTREGA", "TIPO_ORDEN", "ESTADO_OM_ENTREGA", "FECHA_ORDEN_MISC", "MISC_ENTRADA", "MISC_SALIDA", "REFERENCIA_SALIDA", "DESCRIPCION_SALIDA", "CODIGO_REFERENCIA_COMERCIAL", "CANTIDAD_DIAS_DIAGNOSTICO", "F_FECHA_CREACION_SOLICITUD", "ID_TIGAERP", "ID_GAORSIERP", "ID_SUERP", "ID_REERP", "F_FECHA_CREACION_DIAGNOSTICO", "VENDEDOR_MAYORISTA", "VENTA_CANAL_COMERCIAL", "FECHA_SINCRONIZACION")
  SEGMENT CREATION IMMEDIATE
  ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
 NOCOMPRESS LOGGING  NO INMEMORY 
  PARALLEL 20 
  BUILD DEFERRED
  USING INDEX 
  REFRESH FORCE ON DEMAND
  USING DEFAULT LOCAL ROLLBACK SEGMENT
  USING ENFORCED CONSTRAINTS DISABLE ON QUERY COMPUTATION DISABLE QUERY REWRITE
  AS SELECT ROW_NUMBER() OVER(ORDER BY NULL) AS ID, QUERY.*
FROM (SELECT 
    CE.NIT AS "NIT",
    CE.PARTY_SITE_NAME AS "RAZON_SOCIAL",
    CIU.CIUDAD AS "CIUDAD",
    CE.NUMERO_TELEFONO AS "TELEFONO",
    SGE.ID_SOLGAERP AS "NRO_SOLICITUD",
    EGE.DESCRIPCION AS "ESTADO",
    TO_CHAR(SGE.FECHA_CREACION,'DD/MM/YYYY') AS "FECHA_CREACION_SOLICITUD",
    SGE.OPER_CREADOR AS "CREADO_POR",
    ((CASE WHEN UPPER(VE.PRIMER_NOMBRE) = 'NULL' THEN '' ELSE VE.PRIMER_NOMBRE END) ||' '|| (CASE WHEN UPPER(VE.SEGUNDO_NOMBRE) = 'NULL' THEN '' ELSE VE.SEGUNDO_NOMBRE END))  || ' ' || VE.APELLIDOS AS "VENDEDOR_USUARIO",
    (VSE.CODIGO  || '-' || VSE.NOMBRE) AS "SUCURSAL",
    SGE.OBSERVACION AS "OBSERVACIONES",
    RE.CODIGO AS "REFERENCIA_GARANTIA",
    RE.DESCRIPCION AS "DESCRIPCION_GARANTIA",
    RE.ITEM_CODIGO_SIMAC AS "CODIGO_REFERENCIA_COMERCIAL_GARANTIA",
    SDGE.NUMERO_GARANTIA AS "TG_CLAVE_DOT",
    SGE.NRO_SOLICITUD_OM AS "NRO_OM",
    EGDE.DESCRIPCION AS "ESTADO_OM",
    (CASE WHEN SDGE.FECHA_SINCRONIZACION IS NULL 
	    THEN TO_CHAR(SDGE.FECHA_MODIFICACION, 'DD/MM/YYYY HH:MM:SS')
	    ELSE TO_CHAR(SDGE.FECHA_SINCRONIZACION , 'DD/MM/YYYY HH:MM:SS')
	END) AS "FECHA_ESTADO_OM",
    TDE.DESCRIPCION AS "TIPO_DEVOLUCION",
    (CASE WHEN SGE.ID_GAORSIERP = 1 
       THEN 
            CASE WHEN EGDE.ID_ESGAERP = 22 OR EGDE.ID_ESGAERP = 17 /* Estados 22:Cerrada y 17:Canceladas */
           	THEN
            		CASE WHEN SDGE.FECHA_SINCRONIZACION IS NULL
         			THEN
					(
						SELECT COUNT(*) 
						FROM SIMACMOBILE.DIAS_HABILES dh 
						WHERE dh.FECHA BETWEEN TO_DATE(to_char(SGE.FECHA_CREACION, 'DD/MM/YY') , 'DD/MM/YY') 
						AND TO_DATE(to_char(SDGE.FECHA_MODIFICACION, 'DD/MM/YY'), 'DD/MM/YY')  
                        AND dh.ES_HABIL = 1
						)
					ELSE 
					(
						SELECT COUNT(*) 
						FROM SIMACMOBILE.DIAS_HABILES dh 
							WHERE dh.FECHA BETWEEN TO_DATE(to_char(SGE.FECHA_CREACION, 'DD/MM/YY') , 'DD/MM/YY') 
						AND TO_DATE(to_char(SDGE.FECHA_SINCRONIZACION, 'DD/MM/YY') , 'DD/MM/YY') 
						AND dh.ES_HABIL = 1
					)
				END
             ELSE 0 END
        ELSE 0 END
   ) AS "CANTIDAD_DIAS_GESTION",
    DDE.CONSECUTIVO AS "NRO_DIAGNOSTICO",
    TO_CHAR(DDE.FECHA_CREACION,'DD/MM/YYYY') AS "FECHA_CREACION_DIAGNOSTICO",
    DDE.OPER_CREADOR AS "DIAGNOSTICADO_POR",
    CBE.CODIGO AS "COD_CAUSAL",
    CBE.DESCRIPCION AS "DESCRIPCION_CAUSAL",
    TDEDEDI.NOMBRE AS "RESULTADO_DIAGNOSTICO",
    (CASE WHEN TDEDEDI.NOMBRE ='OTORGADA' THEN DE.ORDEN_ENTREGA_ACEPTACION ELSE DE.ORDEN_ENTREGA_RECHAZO END) AS "NRO_ORDEN_ENTREGA",
    DECODE(TDEDEDI.NOMBRE, 'OTORGADA', 'Aceptada', 'RECHAZADA', 'Rechazada', '') AS "TIPO_ORDEN",
    (CASE WHEN TDEDEDI.NOMBRE ='OTORGADA' THEN DEGACEP.DESCRIPCION ELSE DEGRECH.DESCRIPCION END) AS "ESTADO_OM_ENTREGA",
    TO_CHAR(DE.FECHA_MODIFICACION,'DD/MM/YYYY') AS "FECHA_ORDEN_MISC",
    DE.MISCELANEO_ENTRADA AS "MISC_ENTRADA",
    DE.MISCELANEO_SALIDA AS "MISC_SALIDA",
    REDDE.CODIGO AS "REFERENCIA_SALIDA",
    REDDE.DESCRIPCION AS "DESCRIPCION_SALIDA",
    REDDE.ITEM_CODIGO_SIMAC AS "CODIGO_REFERENCIA_COMERCIAL",
   (CASE WHEN SGE.ID_GAORSIERP = 1 
       THEN  
       	CASE WHEN DDE.BONO_CARTERA = 1
       		THEN
 	            (
 	            	SELECT COUNT(*)
 	        		FROM SIMACMOBILE.DIAS_HABILES dh
 	        		WHERE dh.FECHA BETWEEN TO_DATE(to_char(NVL(SDGE.FECHA_SINCRONIZACION,SDGE.FECHA_MODIFICACION), 'DD/MM/YY') , 'DD/MM/YY') 
 	        		AND TO_DATE(to_char(DDE.FECHA_CREACION, 'DD/MM/YY'), 'DD/MM/YY') 
 	          		AND dh.ES_HABIL = 1
 	       		)
 	       	ELSE
 	       		(
 	            	SELECT COUNT(*)
 	        		FROM SIMACMOBILE.DIAS_HABILES dh
 	        		WHERE dh.FECHA BETWEEN TO_DATE(to_char(NVL(SDGE.FECHA_SINCRONIZACION,SDGE.FECHA_MODIFICACION), 'DD/MM/YY') , 'DD/MM/YY') 
 	        		AND TO_DATE(to_char(de.FECHA_MODIFICACION, 'DD/MM/YY') , 'DD/MM/YY') 
 	          		AND dh.ES_HABIL = 1
 	       		)
 	       	END
       ELSE 
         CASE 
         WHEN TDEDEDI.ID_TIDIERP = 1 -- Es decir es OTORGADA
         THEN
         (
            	SELECT COUNT(*)
         	FROM SIMACMOBILE.DIAS_HABILES dh
       		WHERE dh.FECHA BETWEEN TO_DATE(to_char(sge.FECHA_CREACION, 'DD/MM/YY') , 'DD/MM/YY')  
       		AND TO_DATE(to_char(de.FECHA_MODIFICACION, 'DD/MM/YY') , 'DD/MM/YY') 
         		AND dh.ES_HABIL = 1
      		)
         WHEN TDEDEDI.ID_TIDIERP = 2 -- Es decir es RECHAZADA
         THEN
                   (
            	SELECT COUNT(*)
         	FROM SIMACMOBILE.DIAS_HABILES dh
       		WHERE dh.FECHA BETWEEN TO_DATE(to_char(sge.FECHA_CREACION, 'DD/MM/YY') , 'DD/MM/YY')  
       		AND TO_DATE(to_char(dde.FECHA_CREACION, 'DD/MM/YY') , 'DD/MM/YY') 
         		AND dh.ES_HABIL = 1
      		)
         ELSE
         0
         END

       END
   ) AS "CANTIDAD_DIAS_DIAGNOSTICO",
    sge.FECHA_CREACION AS "F_FECHA_CREACION_SOLICITUD",
    sge.ID_TIGAERP AS "ID_TIGAERP",
    sge.ID_GAORSIERP AS "ID_GAORSIERP",
    sge.ID_SUERP AS "ID_SUERP",
    sdge.ID_REERP AS "ID_REERP",
    de.FECHA_CREACION AS "F_FECHA_CREACION_DIAGNOSTICO",
    ddef.VENDEDOR_MAYORISTA AS "VENDEDOR_MAYORISTA",
	(CASE 
		WHEN ddef.VENDEDOR_MAYORISTA IS NOT NULL THEN 
			CASE 
		    	WHEN ddef.VENTA_CANAL_COMERCIAL = 1 THEN
		    	'SI'
	    		ELSE 
	    		'NO'
		    END
		ELSE ''
	 END) AS "VENTA_CANAL_COMERCIAL",SDGE.FECHA_SINCRONIZACION
FROM SIMACMOBILE.SOLICITUD_GARANTIA_ERP SGE 
    LEFT JOIN SIMACMOBILE.DIAGNOSTICO_ERP DE ON DE.ID_SOLGAERP = SGE.ID_SOLGAERP
    INNER JOIN SIMACMOBILE.VENDEDOR_ERP VE ON VE.ID_VERP = SGE.ID_VERP
    INNER JOIN SIMACMOBILE.TIPO_DEVOLUCION_ERP TDE ON TDE.ID_TIDEERP = SGE.ID_TIDEERP
    INNER JOIN SIMACMOBILE.ESTADO_GARANTIA_ERP EGE ON EGE.ID_ESGAERP = SGE.ID_ESGAERP
    LEFT JOIN SIMACMOBILE.SOLICITUD_DETALLE_GARANTIA_ERP SDGE ON SDGE.ID_SOLGAERP = SGE.ID_SOLGAERP
        INNER JOIN SIMACMOBILE.ESTADO_GARANTIA_ERP EGDE ON EGDE.ID_ESGAERP = SDGE.ID_ESGAERP    
        INNER JOIN SIMACMOBILE.REFERENCIA_ERP RE ON RE.ID_REERP = SDGE.ID_REERP
        INNER JOIN SIMACMOBILE.VISTA_SUCURSALES_ERP VSE ON VSE.ID_SUERP = SGE.ID_SUERP
        INNER JOIN SIMACMOBILE.CLIENTE_ERP CE ON SGE.ID_CLERP = CE.ID_CLERP
            INNER JOIN SIMACMOBILE.CIUDAD_ERP CIU ON CIU.ID_CIUERP = CE.ID_CIUERP
        LEFT JOIN SIMACMOBILE.DIAGNOSTICO_DETALLE_ERP DDE ON DDE.ID_SOLDEGAERP = SDGE.ID_SOLDEGAERP 
            LEFT JOIN SIMACMOBILE.CAUSAL_BATERIOLOGO_ERP CBE ON CBE.ID_CAUBATEERP = DDE.ID_CAUBATEERP
            LEFT JOIN SIMACMOBILE.DIAGNOSTICO_DETALLE_FISICO_ERP DDEF ON DDEF.ID_DEDIERP = DDE.ID_DEDIERP
            LEFT JOIN SIMACMOBILE.TIPO_DIAGNOSTICO_ERP TDEDEDI ON TDEDEDI.ID_TIDIERP = DDE.ID_TIDIERP
            LEFT JOIN SIMACMOBILE.REFERENCIA_ERP REDDE ON REDDE.ID_REERP = DDE.ID_REFESALERP
            LEFT JOIN SIMACMOBILE.ESTADO_GARANTIA_ERP DEGACEP ON DEGACEP.ID_ESGAERP = DE.ID_ESGAACEPERP
            LEFT JOIN SIMACMOBILE.ESTADO_GARANTIA_ERP DEGRECH ON DEGRECH.ID_ESGAERP = DE.ID_ESGARECHERP
        LEFT JOIN SIMACMOBILE.TIPO_ORDEN_ERP TOE ON TOE.ID_TIORERP = DE.ID_TIORERP
WHERE ID_GAORSIERP IN (1,2) 
 ORDER BY
       "FECHA_CREACION_SOLICITUD",
        "NRO_SOLICITUD" ASC
) QUERY;

← Volver al esquema SIMACMOBILE

🏠 Volver al menú principal