Diccionario de Datos

Logo

Diccionario de datos de los modelos de COÉXITO

🏠 Menú principal ← Volver a vistas materializadas

SIMACMOBILE.VM_GVTA_PRODUCTO

Base de datos origen: ORCLSMM

Tipo de objeto: MATERIALIZED VIEW

SQL


  CREATE MATERIALIZED VIEW "SIMACMOBILE"."VM_GVTA_PRODUCTO" ("ID_PRODUCTO", "NOMBRE_PRODUCTO", "DESCRIPCION_PRODUCTO", "MARCA_PRODUCTO", "INACTIVO", "DESTACADO", "NUEVO", "ETIQUETA_PRODUCTO", "PRECIO_UNITARIO", "CODIGO_IMPUESTO", "NOMBRE_IMPUESTO", "TASA_IMPUESTO", "DIMENSION_PESO", "DIMENSION_UNIDAD_PESO", "DIMENSION_LONGITUD", "DIMENSION_UNIDAD_LONGITUD", "DIMENSION_ANCHO", "DIMENSION_UNIDAD_ANCHO", "DIMENSION_ALTURA", "DIMENSION_UNIDAD_ALTURA", "DIMENSION_VOLUMEN", "DIMENSION_UNIDAD_VOLUMEN", "RESTRICCION_UNIDAD_MINIMA", "RESTRICCION_TAMANO_PASO", "EMPAQUETADO_UNIDAD", "EMPAQUETADO_NOMBRE_UNIDAD", "EMPAQUETADO_NOMBRE_PAQUETE", "EMPAQUETADO_UNIDAD_PAQUETE", "EMPAQUETADO_CANTIDAD_POR_PAQUETE", "EMPAQUETADO_NOMBRE_CAJA", "EMPAQUETADO_UNIDAD_CAJA", "EMPAQUETADO_CANTIDAD_POR_CAJA", "EMPAQUETADO_MOSTRAR_FORMATO_UNIDAD", "EMPAQUETADO_MOSTRAR_FORMATO_PAQUETE", "EMPAQUETADO_MOSTRAR_FORMATO_CAJA", "FORMATO_NOMBRE_MOSTRAR", "FORMATO_LLAVE", "FORMATO_CANTIDAD_BASE", "FORMATO_BASE", "NOMBRE_GRUPO", "DESCRIPCION_GRUPO", "URL_IMAGEN", "CATEGORIA_BASE", "FECHA_CREACION", "FECHA_MODIFICACION", "LISTAS_PRECIO", "CODIGO_SIMAC")
  SEGMENT CREATION IMMEDIATE
  ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
 NOCOMPRESS LOGGING
  BUILD DEFERRED
  USING INDEX 
  REFRESH FORCE ON DEMAND
  USING DEFAULT LOCAL ROLLBACK SEGMENT
  USING ENFORCED CONSTRAINTS DISABLE ON QUERY COMPUTATION DISABLE QUERY REWRITE
  AS WITH FILTRO_CATEGORIA AS (
    SELECT
        ICE.NUMERO_REFERENCIA,
        RE.DESCRIPCION AS DESCRIPCION_REFERENCIA,
        RE.MARCA,
        ICE.CODIGO_CATEGORIA,
        RE.LINEA,
        RE.IVA,
        RE.PESO,
        RE.LONGITUD,
        RE.ANCHO,
        RE.ALTURA,
        RE.VOLUMEN,
        RE.UNIDAD_MEDIDA,
        RE.LINEA_COMERCIAL,
        RE.ESTADO_REGISTRO,
        RE.FECHA_CREACION,
        RE.FECHA_MODIFICACION,
        CASE 
            WHEN REGEXP_LIKE(ICE.DESCRIPCION, '_DE_') THEN 
                REGEXP_SUBSTR(ICE.DESCRIPCION, 'I_CO_ESTRATG_([^_]+_[^_]+_[^_]+)', 1, 1, NULL, 1)
            WHEN REGEXP_LIKE(ICE.DESCRIPCION, 'I_CO_ESTRATG_([^_]+_[^_]+)') THEN 
                REGEXP_SUBSTR(ICE.DESCRIPCION, 'I_CO_ESTRATG_([^_]+_[^_]+)', 1, 1, NULL, 1)
            ELSE 
                REGEXP_SUBSTR(ICE.DESCRIPCION, 'I_CO_ESTRATG_([^_]+)', 1, 1, NULL, 1)
        END AS CATEGORIA_FORMATEADA,
        REPLACE(SIMACMOBILE.FN_TO_CAMEL_CASE(
                CASE
                    WHEN REGEXP_LIKE(ICE.DESCRIPCION, '_DE_') THEN
                        REGEXP_SUBSTR(ICE.DESCRIPCION, 'I_CO_ESTRATG_([^_]+_[^_]+_[^_]+)', 1, 1, NULL, 1)
                    WHEN REGEXP_LIKE(ICE.DESCRIPCION, 'I_CO_ESTRATG_([^_]+_[^_]+)') THEN
                        REGEXP_SUBSTR(ICE.DESCRIPCION, 'I_CO_ESTRATG_([^_]+_[^_]+)', 1, 1, NULL, 1)
                    ELSE
                        REGEXP_SUBSTR(ICE.DESCRIPCION, 'I_CO_ESTRATG_([^_]+)', 1, 1, NULL, 1)
                END
            ), 'Bat', 'Bateria') AS CATEGORIA_PADRE_FORMATEADA,
        REPLACE(SIMACMOBILE.FN_TO_CAMEL_CASE(
                CASE
                    WHEN REGEXP_LIKE(ICE.DESCRIPCION, '_DE_') THEN
                        REGEXP_SUBSTR(ICE.DESCRIPCION, 'I_CO_ESTRATG_([^_]+_[^_]+_[^_]+)', 1, 1, NULL, 1)
                    WHEN REGEXP_LIKE(ICE.DESCRIPCION, 'I_CO_ESTRATG_([^_]+_[^_]+)') THEN
                        REGEXP_SUBSTR(ICE.DESCRIPCION, 'I_CO_ESTRATG_([^_]+_[^_]+)', 1, 1, NULL, 1)
                    ELSE
                        REGEXP_SUBSTR(ICE.DESCRIPCION, 'I_CO_ESTRATG_([^_]+)', 1, 1, NULL, 1)
                END
            ||'_'||MARCA), 'Bat', 'Bateria') AS CATEGORIA_MARCA_FORMATEADA,
        SIMACMOBILE.FN_TO_CAMEL_CASE(LINEA) || ' ' || SIMACMOBILE.FN_TO_CAMEL_CASE(MARCA) AS CATEGORIA_DETALLE_FORMATEADA,
        REPLACE(SIMACMOBILE.FN_TO_CAMEL_CASE(REPLACE(CODIGO_CATEGORIA,'I_CO_ESTRATG_','')),'Bat','Bateria')
            || ' ' || SIMACMOBILE.FN_TO_CAMEL_CASE(MARCA) AS CATEGORIA_LIVPES_FORMATEADA,
        MIP.IMG_URL_VTEX AS URL_IMAGEN,
        ICE.DESCRIPCION AS CATEGORIA_BASE,
        LP.GT_CODIGOS_CONCATENADOS AS LISTAS_PRECIO,
		RE.ITEM_CODIGO_SIMAC AS CODIGO_SIMAC
    FROM SIMACMOBILE.ITEM_CATEGORIA_ERP ICE
    JOIN SIMACMOBILE.REFERENCIA_ERP RE 
        ON ICE.NUMERO_REFERENCIA = RE.CODIGO
    LEFT JOIN SIMACMOBILE.MDF_IMAGEN_PRODUCTO MIP 
        ON MIP.ID_REERP = RE.ID_REERP
    LEFT JOIN (
        SELECT re.CODIGO, 
               LISTAGG(gtlp.CODIGO, ' | ') WITHIN GROUP (ORDER BY gtlp.CODIGO) AS GT_CODIGOS_CONCATENADOS
        FROM SIMACMOBILE.GVTA_LISTA_PRECIO GLP 
        INNER JOIN SIMACMOBILE.GVTA_TIPO_LISTA_PRECIO gtlp 
            ON gtlp.ID_GVTATLP = GLP.ID_GVTATLP 
           AND gtlp.estado_registro = 'A'
        INNER JOIN SIMACMOBILE.REFERENCIA_ERP re 
            ON GLP.ID_REERP = RE.ID_REERP
        WHERE GLP.estado_registro = 'A'
        GROUP BY re.CODIGO
    ) LP ON LP.CODIGO = RE.CODIGO
    WHERE RE.ESTADO_REGISTRO = 'A'
      AND EXISTS (
          SELECT 1 FROM SIMACMOBILE.GVTA_LISTA_PRECIO GLP
          WHERE GLP.ID_REERP = RE.ID_REERP
      )
      AND RE.LINEA NOT IN ('REPUESTOS_ENERGITECAS')
      AND NOT (
          REGEXP_LIKE(RE.DESCRIPCION, '^(GARANTIA|INACTIV|MUESTRA|DESCUENTO)', 'i')
          OR REGEXP_LIKE(
              COALESCE(
                  REGEXP_SUBSTR(ICE.DESCRIPCION, 'I_CO_ESTRATG_([^_]+_[^_]+_[^_]+)', 1, 1, NULL, 1), 
                  REGEXP_SUBSTR(ICE.DESCRIPCION, 'I_CO_ESTRATG_([^_]+_[^_]+)', 1, 1, NULL, 1), 
                  REGEXP_SUBSTR(ICE.DESCRIPCION, 'I_CO_ESTRATG_([^_]+)', 1, 1, NULL, 1)
              ), 
              '^(MP|LLANTAS_AUTO|BAPUS|COMBUSTIBLES|SERVICIOS|OPZ|CVI)', 'i'
          )
      )
)
SELECT
    NUMERO_REFERENCIA AS ID_PRODUCTO,
    SIMACMOBILE.FN_TO_CAMEL_CASE(DESCRIPCION_REFERENCIA) AS NOMBRE_PRODUCTO,
    SIMACMOBILE.FN_TO_CAMEL_CASE(DESCRIPCION_REFERENCIA) AS DESCRIPCION_PRODUCTO,
    MARCA AS MARCA_PRODUCTO,
    CASE WHEN ESTADO_REGISTRO = 'A' THEN 0 ELSE 1 END AS INACTIVO,
    0 AS DESTACADO,
    CASE WHEN FECHA_MODIFICACION IS NULL THEN 1 ELSE 0 END AS NUEVO,
    CATEGORIA_PADRE_FORMATEADA||','||CATEGORIA_MARCA_FORMATEADA||','||
    SIMACMOBILE.FN_TO_CAMEL_CASE(MARCA)||','||
    CATEGORIA_LIVPES_FORMATEADA||','||
    CATEGORIA_DETALLE_FORMATEADA||' '||CATEGORIA_PADRE_FORMATEADA AS ETIQUETA_PRODUCTO,
    0 AS PRECIO_UNITARIO,
    'IVACO' AS CODIGO_IMPUESTO,
    'IVA' AS NOMBRE_IMPUESTO,
    IVA / 100 AS TASA_IMPUESTO,
    PESO AS DIMENSION_PESO,
    'kg' AS DIMENSION_UNIDAD_PESO,
    LONGITUD AS DIMENSION_LONGITUD,
    'cm' AS DIMENSION_UNIDAD_LONGITUD,
    ANCHO AS DIMENSION_ANCHO,
    'cm' AS DIMENSION_UNIDAD_ANCHO,
    ALTURA AS DIMENSION_ALTURA,
    'cm' AS DIMENSION_UNIDAD_ALTURA,
    VOLUMEN AS DIMENSION_VOLUMEN,
    'L' AS DIMENSION_UNIDAD_VOLUMEN,
    0 AS RESTRICCION_UNIDAD_MINIMA,
    0 AS RESTRICCION_TAMANO_PASO,
    UNIDAD_MEDIDA AS EMPAQUETADO_UNIDAD,
    UNIDAD_MEDIDA AS EMPAQUETADO_NOMBRE_UNIDAD,
    CAST(NULL AS VARCHAR2(50)) AS EMPAQUETADO_NOMBRE_PAQUETE,
    CAST(NULL AS VARCHAR2(50)) AS EMPAQUETADO_UNIDAD_PAQUETE,
    0 AS EMPAQUETADO_CANTIDAD_POR_PAQUETE,
    CAST(NULL AS VARCHAR2(50)) AS EMPAQUETADO_NOMBRE_CAJA,
    CAST(NULL AS VARCHAR2(50)) AS EMPAQUETADO_UNIDAD_CAJA,
    CAST(NULL AS VARCHAR2(50)) AS EMPAQUETADO_CANTIDAD_POR_CAJA,
    1 AS EMPAQUETADO_MOSTRAR_FORMATO_UNIDAD,
    1 AS EMPAQUETADO_MOSTRAR_FORMATO_PAQUETE,
    1 AS EMPAQUETADO_MOSTRAR_FORMATO_CAJA,
    'Unidad' AS FORMATO_NOMBRE_MOSTRAR,
    UNIDAD_MEDIDA AS FORMATO_LLAVE,
    1 AS FORMATO_CANTIDAD_BASE,
    'true' AS FORMATO_BASE,
    LINEA_COMERCIAL AS NOMBRE_GRUPO,
    LINEA AS DESCRIPCION_GRUPO,
    URL_IMAGEN,
    CATEGORIA_BASE,
    FECHA_CREACION,
    FECHA_MODIFICACION,
    LISTAS_PRECIO,
    CODIGO_SIMAC
FROM FILTRO_CATEGORIA;

← Volver al esquema SIMACMOBILE

🏠 Volver al menú principal