01 SILVER MM MATERIAL ECC

01 SILVER MM MATERIAL ECC


ENTIDAD SILVER DE MATERIALES 

Este modelo corresponde a la capa Silver del proceso de transformación de datos y está compuesto por tablas clave del módulo Materials Management (MM) de SAP, específicamente aquellas relacionadas con la gestión de materiales e inventarios. Su objetivo es centralizar, estandarizar y enriquecer la información sobre materiales, asegurando datos depurados y estructurados para su uso en análisis y operativa.

La entidad Silver de Materiales permite la consolidación de datos provenientes de múltiples fuentes dentro del módulo MM, facilitando su disponibilidad para distintos casos de uso en Business Intelligence (BI) y Operational Insights (OI).




Categorización de la Entidad 

Esta entidad está categorizada en los siguientes ámbitos, según su propósito y aplicación:

BI_SILVER_MM_MATERIAL_ECC 

  • Propósito: Análisis avanzados, generación de informes y dashboards. 

OI_SILVER_MM_MATERIAL_ECC 

  • Propósito: Monitorización en tiempo real y mejora de la eficiencia en los procesos de negocio. 



  1. Ruta:
    \<raíz_del_proyecto>\dbt_oneconnect_ecc\models\INVENTORY_MANAGEMENT\BI_INVENTORY_MANAGEMENT\
  2. Nombre del archivo BI:
    BI_INVENTORY_MANAGEMENT\BI_SILVER_MM_MATERIAL_ECC.sql
  3. Nombre del archivo OI:
    OI_INVENTORY_MANAGEMENT\OI_SILVER_MM_MATERIAL_ECC.sql



    Dependencias 
  • MARA (Maestro de Materiales - Datos Generales)
    Contiene los datos generales del maestro de materiales, comunes a todas las unidades organizativas en SAP.
    <client>_<enviroment>_MM_MAESTRO_MATERIALES
  • MARC (Maestro de Materiales - Datos por Planta)
    Almacena los datos específicos del material por cada planta.
    <client>_<enviroment>_MM_MATERIAL_PLANTA
  • MVKE (Maestro de Materiales - Datos de Ventas)
    Contiene los datos del maestro de materiales relacionados con la gestión de ventas.
    <client>_<enviroment>_MM_MATERIAL_AREA_VENTAS
  • MAKT (Maestro de Materiales - Descripciones)
    Almacena las descripciones de los materiales en diferentes idiomas.
    <client>_<enviroment>_MM_MATERIAL_DESCRIPCION
  • MARM (Maestro de Materiales - Unidades de Medida)
    Contiene la información sobre las unidades de medida para los materiales.
    <client>_<enviroment>_MM_MATERIAL_UNIDAD_DE_MEDIDA



Instalación 
  • Business Intelligence (BI)

docker-compose up -d dbt_bi_material --build


  • Operational Insights (OI)

docker-compose up -d dbt_oi_material --build





Modelo sql BI ejecutado 

  1. {{ config(
  2.    order_by="(
  3.        mandante_mara, material_mara, 
  4.        mandante_makt, material_makt, idioma_makt,
  5.        mandante_marc, material_marc, centro_marc,
  6.        mandante_marm, material_marm, um_alt_marm,
  7.        mandante_mvke, material_mvke, organizventas_mvke, canal_distrib_mvke
  8.    )",
  9.    engine='ReplacingMergeTree(_version)',
  10.    materialized='incremental',
  11.    incremental_strategy='append')
  12. }}

  13. -- mara
  14. WITH MM_MAESTRO_MATERIALES AS (
  15.    SELECT 
  16.        mara.mandante AS mandante_mara,
  17.        mara.material AS material_mara,
  18.        mara.creado_el AS creado_el_mara,
  19.        mara.creado_por AS creado_por_mara,
  20.        mara.ultima_modif AS ultima_modif_mara,
  21.        mara.modificado_por AS modificado_por_mara,
  22.        mara.statactcomp AS statactcomp_mara,
  23.        mara.statactual AS statactual_mara,
  24.        mara.pb_nivmandante AS pb_nivmandante_mara,
  25.        mara.tipo_material AS tipo_material_mara,
  26.        mara.ramo AS ramo_mara,
  27.        mara.grupo_articulos AS grupo_articulos_mara,
  28.        mara.nmaterial_ant AS nmaterial_ant_mara,
  29.        mara.um_base AS um_base_mara,
  30.        mara.um_de_pedido AS um_de_pedido_mara,
  31.        mara.tamanodimens AS tamanodimens_mara,
  32.        mara.materia AS materia_mara,
  33.        mara.denomestandar AS denomestandar_mara,
  34.        mara.agrupador AS agrupador_mara,
  35.        mara.peso_bruto AS peso_bruto_mara,
  36.        mara.peso_neto AS peso_neto_mara,
  37.        mara.unidad_de_peso AS unidad_de_peso_mara,
  38.        mara.volumen AS volumen_mara,
  39.        mara.unidad_volumen AS unidad_volumen_mara,
  40.        mara.condalmacenaje AS condalmacenaje_mara,
  41.        mara.nivel_plfnec AS nivel_plfnec_mara,
  42.        mara.gpotransporte AS gpotransporte_mara,
  43.        mara.sector AS sector_mara,
  44.        mara.codigo_eanupc AS codigo_eanupc_mara,
  45.        mara.tipo_ean AS tipo_ean_mara,
  46.        mara.jquiaproductos AS jquiaproductos_mara,
  47.        mara.aprovisionqm AS aprovisionqm_mara,
  48.        mara.ump_variable AS ump_variable_mara,
  49.        mara.configurable AS configurable_mara,
  50.        mara.sujetolote AS sujetolote_mara,
  51.        mara.clmatembal AS clmatembal_mara,
  52.        mara.grupo_matme AS grupo_matme_mara,
  53.        mara.grupo_art_ext AS grupo_art_ext_mara,
  54.        mara.statmattodosce AS statmattodosce_mara,
  55.        mara.stattodas_cdis AS stattodas_cdis_mara,
  56.        mara.valido_de1 AS valido_de1_mara,
  57.        mara.valido_de2 AS valido_de2_mara,
  58.        mara.n_pieza_fabric AS n_pieza_fabric_mara,
  59.        mara.fabricante AS fabricante_mara,
  60.        mara.matgestionstock AS matgestionstock_mara,
  61.        mara.perfpiezas_fabr AS perfpiezas_fabr_mara,
  62.        mara.a_granelliqu AS a_granelliqu_mara,
  63.        mara.cerrado AS cerrado_mara,
  64.        mara.log_lote_nec AS log_lote_nec_mara,
  65.        mara.valorar_validez AS valorar_validez_mara,
  66.        mara.grtpposgral AS grtpposgral_mara,
  67.        mara.fecadfeexp AS fecadfeexp_mara,
  68.        mara.timestamp AS timestamp_mara
  69.    FROM  {{ source('oneconnect', 'PR0_B_MM_MAESTRO_MATERIALES') }} AS mara
  70.    FINAL
  71.    {% if is_incremental() %}
  72.    WHERE 
  73.        mara.timestamp >= (select max(timestamp_mara) from {{this}}) 
  74.    {% endif %}
  75. ),

  76. --marc
  77. MM_MATERIAL_PLANTA AS (
  78.    SELECT
  79.        marc.mandante AS mandante_marc,
  80.        marc.material AS material_marc,
  81.        marc.centro AS centro_marc,
  82.        marc.statactual AS statactual_marc,
  83.        marc.pb_nivel_centro AS pb_nivel_centro_marc,
  84.        marc.tipo_valoracion AS tipo_valoracion_marc,
  85.        marc.lotes AS lotes_marc,
  86.        marc.statmatespecce AS statmatespecce_marc,
  87.        marc.valido_de AS valido_de_marc,
  88.        marc.grupo_compras AS grupo_compras_marc,
  89.        marc.um_salida AS um_salida_marc,
  90.        marc.carplanifnec AS carplanifnec_marc,
  91.        marc.planifneces AS planifneces_marc,
  92.        marc.plazentrprev AS plazentrprev_marc,
  93.        marc.tmpotratamem AS tmpotratamem_marc,
  94.        marc.indperiodo AS indperiodo_marc,
  95.        marc.tamlote_plnec AS tamlote_plnec_marc,
  96.        marc.aprovisionam AS aprovisionam_marc,
  97.        marc.aprovisespec AS aprovisespec_marc,
  98.        marc.punto_de_pedido AS punto_de_pedido_marc,
  99.        marc.stock_seguridad AS stock_seguridad_marc,
  100.        marc.tamlote_min AS tamlote_min_marc,
  101.        marc.tamlote_max AS tamlote_max_marc,
  102.        marc.tamlote_fijo AS tamlote_fijo_marc,
  103.        marc.valor_redondeo AS valor_redondeo_marc,
  104.        marc.stock_maximo AS stock_maximo_marc,
  105.        marc.indivcolect AS indivcolect_marc,
  106.        marc.selaltern AS selaltern_marc,
  107.        marc.planifnecmixt AS planifnecmixt_marc,
  108.        marc.clave_horizonte AS clave_horizonte_marc,
  109.        marc.toma_retroact AS toma_retroact_marc,
  110.        marc.respctrlprod AS respctrlprod_marc,
  111.        marc.tmpofabrprop AS tmpofabrprop_marc,
  112.        marc.clcontrol_qm AS clcontrol_qm_marc,
  113.        marc.en_traslado AS en_traslado_marc,
  114.        marc.grupo_de_carga AS grupo_de_carga_marc,
  115.        marc.sujetolote AS sujetolote_marc,
  116.        marc.utilizcuotas AS utilizcuotas_marc,
  117.        marc.verifdispon AS verifdispon_marc,
  118.        marc.cantidad_base1 AS cantidad_base1_marc,
  119.        marc.ind_pedautom AS ind_pedautom_marc,
  120.        marc.cebe AS cebe_marc,
  121.        marc.stock_transito AS stock_transito_marc,
  122.        marc.horizplaniffij AS horizplaniffij_marc,
  123.        marc.modocompens AS modocompens_marc,
  124.        marc.intcompenatras AS intcompenatras_marc,
  125.        marc.intcompenadel AS intcompenadel_marc,
  126.        marc.version AS version_marc,
  127.        marc.tamano_lote_cc AS tamano_lote_cc_marc,
  128.        marc.udm_fabricacion AS udm_fabricacion_marc,
  129.        marc.alm_produccion AS alm_produccion_marc,
  130.        marc.grplannec AS grplannec_marc,
  131.        marc.parametrizinsp AS parametrizinsp_marc,
  132.        marc.perfilcobert AS perfilcobert_marc,
  133.        marc.perfil_numserie AS perfil_numserie_marc,
  134.        marc.stcknegcentro AS stcknegcentro_marc,
  135.        marc.grupoestrategs AS grupoestrategs_marc,
  136.        marc.alm_apr_ext AS alm_apr_ext_marc,
  137.        marc.perfilfabr AS perfilfabr_marc,
  138.        marc.entrar_lote AS entrar_lote_marc,
  139.        marc.existe_arplnec AS existe_arplnec_marc,
  140.        marc.comun_varproy AS comun_varproy_marc,
  141.        marc.mcrue AS mcrue_marc,
  142.        marc.periodo_actual AS periodo_actual_marc,
  143.        marc.ejperiodo_act AS ejperiodo_act_marc,
  144.        marc.stock_segmin AS stock_segmin_marc,
  145.        marc.timestamp AS timestamp_marc
  146.    FROM  {{ source('oneconnect', 'PR0_B_MM_MATERIAL_PLANTA') }} AS marc
  147.    FINAL
  148.    {% if is_incremental() %}
  149.    WHERE 
  150.        marc.timestamp >= (select max(timestamp_marc) from {{this}}) 
  151.    {% endif %}
  152. ),

  153. --mvke
  154. SD_MATERIAL_AREA_VENTAS AS (
  155.    SELECT
  156.        mvke.mandante AS mandante_mvke,
  157.        mvke.material AS material_mvke,
  158.        mvke.organizventas AS organizventas_mvke,
  159.        mvke.canal_distrib AS canal_distrib_mvke,
  160.        mvke.pb_caddistrib AS pb_caddistrib_mvke,
  161.        mvke.grestadismat AS grestadismat_mvke,
  162.        mvke.gruporappels AS gruporappels_mvke,
  163.        mvke.grupocomision AS grupocomision_mvke,
  164.        mvke.derecho_desc AS derecho_desc_mvke,
  165.        mvke.statespcaddistr AS statespcaddistr_mvke,
  166.        mvke.valido_de AS valido_de_mvke,
  167.        mvke.ctdminentrega AS ctdminentrega_mvke,
  168.        mvke.um_venta AS um_venta_mvke,
  169.        mvke.grtp_posicion AS grtp_posicion_mvke,
  170.        mvke.jquiaproductos AS jquiaproductos_mvke,
  171.        mvke.material_precio AS material_precio_mvke,
  172.        mvke.grmateriales AS grmateriales_mvke,
  173.        mvke.gr_imput_mat AS gr_imput_mat_mvke,
  174.        mvke.grmateriales_1 AS grmateriales_1_mvke,
  175.        mvke.grmateriales_2 AS grmateriales_2_mvke,
  176.        mvke.grmateriales_3 AS grmateriales_3_mvke,
  177.        mvke.grmateriales_4 AS grmateriales_4_mvke,
  178.        mvke.grmateriales_5 AS grmateriales_5_mvke,
  179.        mvke.atribprod2 AS atribprod2_mvke,
  180.        mvke.atributo_prod3 AS atributo_prod3_mvke,
  181.        mvke.atrproducto_5 AS atrproducto_5_mvke,
  182.        mvke.atrproducto_6 AS atrproducto_6_mvke,
  183.        mvke.atrproducto_8 AS atrproducto_8_mvke,
  184.        mvke.atrproducto_9 AS atrproducto_9_mvke,
  185.        mvke.umv_no_variable AS umv_no_variable_mvke,
  186.        mvke.timestamp AS timestamp_mvke
  187.    FROM  {{ source('oneconnect', 'PR0_B_MM_MATERIAL_AREA_VENTAS') }} AS mvke
  188.    FINAL
  189.    {% if is_incremental() %}
  190.    WHERE 
  191.        mvke.timestamp >= (select max(timestamp_mvke) from {{this}}) 
  192.    {% endif %}
  193.        
  194. ),

  195. --makt
  196. MM_MATERIAL_DESCRIPCION AS (
  197.    SELECT
  198.        makt.mandante AS mandante_makt,
  199.        makt.material AS material_makt,
  200.        makt.idioma AS idioma_makt,
  201.        makt.denominacion AS denominacion_makt,
  202.        makt.denominacion1 AS denominacion1_makt,
  203.        makt.timestamp AS timestamp_makt
  204.    FROM  {{ source('oneconnect', 'PR0_B_MM_MATERIAL_DESCRIPCION') }} AS makt
  205.    FINAL
  206.    {% if is_incremental() %}
  207.    WHERE 
  208.        makt.timestamp >= (select max(timestamp_makt) from {{this}}) 
  209.    {% endif %}

  210. ),

  211. --marm
  212. MM_MATERIAL_UNIDAD_DE_MEDIDA AS (
  213.    SELECT
  214.        marm.mandante AS mandante_marm,
  215.        marm.material AS material_marm,
  216.        marm.um_alt AS um_alt_marm,
  217.        marm.numerad AS numerad_marm,
  218.        marm.denominador AS denominador_marm,
  219.        marm.codigo_eanupc AS codigo_eanupc_marm,
  220.        marm.tipo_ean AS tipo_ean_marm,
  221.        marm.volumen AS volumen_marm,
  222.        marm.unidad_volumen AS unidad_volumen_marm,
  223.        marm.peso_bruto AS peso_bruto_marm,
  224.        marm.unidad_de_peso AS unidad_de_peso_marm,
  225.        marm.timestamp AS timestamp_marm
  226.    FROM  {{ source('oneconnect', 'PR0_B_MM_MATERIAL_UNIDAD_DE_MEDIDA') }} AS marm
  227.    FINAL
  228.    {% if is_incremental() %}
  229.    WHERE 
  230.        marm.timestamp >= (select max(timestamp_marm) from {{this}}) 
  231.    {% endif %}
  232. )

  233. SELECT
  234.    mara.*,
  235.    makt.*,
  236.    marc.*,
  237.    marm.*,
  238.    mvke.*,
  239.    now64() AS _version
  240. FROM MM_MAESTRO_MATERIALES AS mara
  241. INNER JOIN MM_MATERIAL_DESCRIPCION AS makt
  242.    ON makt.mandante_makt = mara.mandante_mara 
  243.    AND makt.material_makt = mara.material_mara
  244. INNER JOIN MM_MATERIAL_PLANTA AS marc 
  245.    ON marc.mandante_marc = mara.mandante_mara
  246.    AND marc.material_marc = mara.material_mara
  247. LEFT JOIN MM_MATERIAL_UNIDAD_DE_MEDIDA AS marm 
  248.    ON marm.mandante_marm = mara.mandante_mara 
  249.    AND marm.material_marm = mara.material_mara
  250. LEFT JOIN SD_MATERIAL_AREA_VENTAS AS mvke
  251.    ON mvke.mandante_mvke = mara.mandante_mara
  252.    AND mvke.material_mvke = mara.material_mara



Modelo sql OI ejecutado 

  1. {{ config(
  2.    order_by="(
  3.        mandante_mara, material_mara, 
  4.        mandante_makt, material_makt, idioma_makt,
  5.        mandante_marc, material_marc, centro_marc,
  6.        mandante_marm, material_marm, um_alt_marm,
  7.        mandante_mvke, material_mvke, organizventas_mvke, canal_distrib_mvke
  8.    )",
  9.    engine='ReplacingMergeTree(_version)',
  10.    materialized='incremental',
  11.    incremental_strategy='append')
  12. }}

  13. -- mara
  14. WITH MM_MAESTRO_MATERIALES AS (
  15.    SELECT 
  16.        mara.mandante AS mandante_mara,
  17.        mara.material AS material_mara,
  18.        mara.creado_el AS creado_el_mara,
  19.        mara.creado_por AS creado_por_mara,
  20.        mara.ultima_modif AS ultima_modif_mara,
  21.        mara.modificado_por AS modificado_por_mara,
  22.        mara.statactcomp AS statactcomp_mara,
  23.        mara.statactual AS statactual_mara,
  24.        mara.pb_nivmandante AS pb_nivmandante_mara,
  25.        mara.tipo_material AS tipo_material_mara,
  26.        mara.ramo AS ramo_mara,
  27.        mara.grupo_articulos AS grupo_articulos_mara,
  28.        mara.nmaterial_ant AS nmaterial_ant_mara,
  29.        mara.um_base AS um_base_mara,
  30.        mara.um_de_pedido AS um_de_pedido_mara,
  31.        mara.tamanodimens AS tamanodimens_mara,
  32.        mara.materia AS materia_mara,
  33.        mara.denomestandar AS denomestandar_mara,
  34.        mara.agrupador AS agrupador_mara,
  35.        mara.peso_bruto AS peso_bruto_mara,
  36.        mara.peso_neto AS peso_neto_mara,
  37.        mara.unidad_de_peso AS unidad_de_peso_mara,
  38.        mara.volumen AS volumen_mara,
  39.        mara.unidad_volumen AS unidad_volumen_mara,
  40.        mara.condalmacenaje AS condalmacenaje_mara,
  41.        mara.nivel_plfnec AS nivel_plfnec_mara,
  42.        mara.gpotransporte AS gpotransporte_mara,
  43.        mara.sector AS sector_mara,
  44.        mara.codigo_eanupc AS codigo_eanupc_mara,
  45.        mara.tipo_ean AS tipo_ean_mara,
  46.        mara.jquiaproductos AS jquiaproductos_mara,
  47.        mara.aprovisionqm AS aprovisionqm_mara,
  48.        mara.ump_variable AS ump_variable_mara,
  49.        mara.configurable AS configurable_mara,
  50.        mara.sujetolote AS sujetolote_mara,
  51.        mara.clmatembal AS clmatembal_mara,
  52.        mara.grupo_matme AS grupo_matme_mara,
  53.        mara.grupo_art_ext AS grupo_art_ext_mara,
  54.        mara.statmattodosce AS statmattodosce_mara,
  55.        mara.stattodas_cdis AS stattodas_cdis_mara,
  56.        mara.valido_de1 AS valido_de1_mara,
  57.        mara.valido_de2 AS valido_de2_mara,
  58.        mara.n_pieza_fabric AS n_pieza_fabric_mara,
  59.        mara.fabricante AS fabricante_mara,
  60.        mara.matgestionstock AS matgestionstock_mara,
  61.        mara.perfpiezas_fabr AS perfpiezas_fabr_mara,
  62.        mara.a_granelliqu AS a_granelliqu_mara,
  63.        mara.cerrado AS cerrado_mara,
  64.        mara.log_lote_nec AS log_lote_nec_mara,
  65.        mara.valorar_validez AS valorar_validez_mara,
  66.        mara.grtpposgral AS grtpposgral_mara,
  67.        mara.fecadfeexp AS fecadfeexp_mara,
  68.        mara.timestamp AS timestamp_mara
  69.    FROM  {{ source('oneconnect', 'PR0_B_MM_MAESTRO_MATERIALES') }} AS mara
  70.    FINAL
  71.    {% if is_incremental() %}
  72.    WHERE 
  73.        mara.timestamp >= (select max(timestamp_mara) from {{this}}) 
  74.    {% endif %}
  75. ),

  76. --marc
  77. MM_MATERIAL_PLANTA AS (
  78.    SELECT
  79.        marc.mandante AS mandante_marc,
  80.        marc.material AS material_marc,
  81.        marc.centro AS centro_marc,
  82.        marc.statactual AS statactual_marc,
  83.        marc.pb_nivel_centro AS pb_nivel_centro_marc,
  84.        marc.tipo_valoracion AS tipo_valoracion_marc,
  85.        marc.lotes AS lotes_marc,
  86.        marc.statmatespecce AS statmatespecce_marc,
  87.        marc.valido_de AS valido_de_marc,
  88.        marc.grupo_compras AS grupo_compras_marc,
  89.        marc.um_salida AS um_salida_marc,
  90.        marc.carplanifnec AS carplanifnec_marc,
  91.        marc.planifneces AS planifneces_marc,
  92.        marc.plazentrprev AS plazentrprev_marc,
  93.        marc.tmpotratamem AS tmpotratamem_marc,
  94.        marc.indperiodo AS indperiodo_marc,
  95.        marc.tamlote_plnec AS tamlote_plnec_marc,
  96.        marc.aprovisionam AS aprovisionam_marc,
  97.        marc.aprovisespec AS aprovisespec_marc,
  98.        marc.punto_de_pedido AS punto_de_pedido_marc,
  99.        marc.stock_seguridad AS stock_seguridad_marc,
  100.        marc.tamlote_min AS tamlote_min_marc,
  101.        marc.tamlote_max AS tamlote_max_marc,
  102.        marc.tamlote_fijo AS tamlote_fijo_marc,
  103.        marc.valor_redondeo AS valor_redondeo_marc,
  104.        marc.stock_maximo AS stock_maximo_marc,
  105.        marc.indivcolect AS indivcolect_marc,
  106.        marc.selaltern AS selaltern_marc,
  107.        marc.planifnecmixt AS planifnecmixt_marc,
  108.        marc.clave_horizonte AS clave_horizonte_marc,
  109.        marc.toma_retroact AS toma_retroact_marc,
  110.        marc.respctrlprod AS respctrlprod_marc,
  111.        marc.tmpofabrprop AS tmpofabrprop_marc,
  112.        marc.clcontrol_qm AS clcontrol_qm_marc,
  113.        marc.en_traslado AS en_traslado_marc,
  114.        marc.grupo_de_carga AS grupo_de_carga_marc,
  115.        marc.sujetolote AS sujetolote_marc,
  116.        marc.utilizcuotas AS utilizcuotas_marc,
  117.        marc.verifdispon AS verifdispon_marc,
  118.        marc.cantidad_base1 AS cantidad_base1_marc,
  119.        marc.ind_pedautom AS ind_pedautom_marc,
  120.        marc.cebe AS cebe_marc,
  121.        marc.stock_transito AS stock_transito_marc,
  122.        marc.horizplaniffij AS horizplaniffij_marc,
  123.        marc.modocompens AS modocompens_marc,
  124.        marc.intcompenatras AS intcompenatras_marc,
  125.        marc.intcompenadel AS intcompenadel_marc,
  126.        marc.version AS version_marc,
  127.        marc.tamano_lote_cc AS tamano_lote_cc_marc,
  128.        marc.udm_fabricacion AS udm_fabricacion_marc,
  129.        marc.alm_produccion AS alm_produccion_marc,
  130.        marc.grplannec AS grplannec_marc,
  131.        marc.parametrizinsp AS parametrizinsp_marc,
  132.        marc.perfilcobert AS perfilcobert_marc,
  133.        marc.perfil_numserie AS perfil_numserie_marc,
  134.        marc.stcknegcentro AS stcknegcentro_marc,
  135.        marc.grupoestrategs AS grupoestrategs_marc,
  136.        marc.alm_apr_ext AS alm_apr_ext_marc,
  137.        marc.perfilfabr AS perfilfabr_marc,
  138.        marc.entrar_lote AS entrar_lote_marc,
  139.        marc.existe_arplnec AS existe_arplnec_marc,
  140.        marc.comun_varproy AS comun_varproy_marc,
  141.        marc.mcrue AS mcrue_marc,
  142.        marc.periodo_actual AS periodo_actual_marc,
  143.        marc.ejperiodo_act AS ejperiodo_act_marc,
  144.        marc.stock_segmin AS stock_segmin_marc,
  145.        marc.timestamp AS timestamp_marc
  146.    FROM  {{ source('oneconnect', 'PR0_B_MM_MATERIAL_PLANTA') }} AS marc
  147.    FINAL
  148.    {% if is_incremental() %}
  149.    WHERE 
  150.        marc.timestamp >= (select max(timestamp_marc) from {{this}}) 
  151.    {% endif %}
  152. ),

  153. --mvke
  154. SD_MATERIAL_AREA_VENTAS AS (
  155.    SELECT
  156.        mvke.mandante AS mandante_mvke,
  157.        mvke.material AS material_mvke,
  158.        mvke.organizventas AS organizventas_mvke,
  159.        mvke.canal_distrib AS canal_distrib_mvke,
  160.        mvke.pb_caddistrib AS pb_caddistrib_mvke,
  161.        mvke.grestadismat AS grestadismat_mvke,
  162.        mvke.gruporappels AS gruporappels_mvke,
  163.        mvke.grupocomision AS grupocomision_mvke,
  164.        mvke.derecho_desc AS derecho_desc_mvke,
  165.        mvke.statespcaddistr AS statespcaddistr_mvke,
  166.        mvke.valido_de AS valido_de_mvke,
  167.        mvke.ctdminentrega AS ctdminentrega_mvke,
  168.        mvke.um_venta AS um_venta_mvke,
  169.        mvke.grtp_posicion AS grtp_posicion_mvke,
  170.        mvke.jquiaproductos AS jquiaproductos_mvke,
  171.        mvke.material_precio AS material_precio_mvke,
  172.        mvke.grmateriales AS grmateriales_mvke,
  173.        mvke.gr_imput_mat AS gr_imput_mat_mvke,
  174.        mvke.grmateriales_1 AS grmateriales_1_mvke,
  175.        mvke.grmateriales_2 AS grmateriales_2_mvke,
  176.        mvke.grmateriales_3 AS grmateriales_3_mvke,
  177.        mvke.grmateriales_4 AS grmateriales_4_mvke,
  178.        mvke.grmateriales_5 AS grmateriales_5_mvke,
  179.        mvke.atribprod2 AS atribprod2_mvke,
  180.        mvke.atributo_prod3 AS atributo_prod3_mvke,
  181.        mvke.atrproducto_5 AS atrproducto_5_mvke,
  182.        mvke.atrproducto_6 AS atrproducto_6_mvke,
  183.        mvke.atrproducto_8 AS atrproducto_8_mvke,
  184.        mvke.atrproducto_9 AS atrproducto_9_mvke,
  185.        mvke.umv_no_variable AS umv_no_variable_mvke,
  186.        mvke.timestamp AS timestamp_mvke
  187.    FROM  {{ source('oneconnect', 'PR0_B_MM_MATERIAL_AREA_VENTAS') }} AS mvke
  188.    FINAL
  189.    {% if is_incremental() %}
  190.    WHERE 
  191.        mvke.timestamp >= (select max(timestamp_mvke) from {{this}}) 
  192.    {% endif %}
  193.        
  194. ),

  195. --makt
  196. MM_MATERIAL_DESCRIPCION AS (
  197.    SELECT
  198.        makt.mandante AS mandante_makt,
  199.        makt.material AS material_makt,
  200.        makt.idioma AS idioma_makt,
  201.        makt.denominacion AS denominacion_makt,
  202.        makt.denominacion1 AS denominacion1_makt,
  203.        makt.timestamp AS timestamp_makt
  204.    FROM  {{ source('oneconnect', 'PR0_B_MM_MATERIAL_DESCRIPCION') }} AS makt
  205.    FINAL
  206.    {% if is_incremental() %}
  207.    WHERE 
  208.        makt.timestamp >= (select max(timestamp_makt) from {{this}}) 
  209.    {% endif %}

  210. ),

  211. --marm
  212. MM_MATERIAL_UNIDAD_DE_MEDIDA AS (
  213.    SELECT
  214.        marm.mandante AS mandante_marm,
  215.        marm.material AS material_marm,
  216.        marm.um_alt AS um_alt_marm,
  217.        marm.numerad AS numerad_marm,
  218.        marm.denominador AS denominador_marm,
  219.        marm.codigo_eanupc AS codigo_eanupc_marm,
  220.        marm.tipo_ean AS tipo_ean_marm,
  221.        marm.volumen AS volumen_marm,
  222.        marm.unidad_volumen AS unidad_volumen_marm,
  223.        marm.peso_bruto AS peso_bruto_marm,
  224.        marm.unidad_de_peso AS unidad_de_peso_marm,
  225.        marm.timestamp AS timestamp_marm
  226.    FROM  {{ source('oneconnect', 'PR0_B_MM_MATERIAL_UNIDAD_DE_MEDIDA') }} AS marm
  227.    FINAL
  228.    {% if is_incremental() %}
  229.    WHERE 
  230.        marm.timestamp >= (select max(timestamp_marm) from {{this}}) 
  231.    {% endif %}
  232. )

  233. SELECT
  234.    mara.*,
  235.    makt.*,
  236.    marc.*,
  237.    marm.*,
  238.    mvke.*,
  239.    now64() AS _version
  240. FROM MM_MAESTRO_MATERIALES AS mara
  241. INNER JOIN MM_MATERIAL_DESCRIPCION AS makt
  242.    ON makt.mandante_makt = mara.mandante_mara 
  243.    AND makt.material_makt = mara.material_mara
  244. INNER JOIN MM_MATERIAL_PLANTA AS marc 
  245.    ON marc.mandante_marc = mara.mandante_mara
  246.    AND marc.material_marc = mara.material_mara
  247. LEFT JOIN MM_MATERIAL_UNIDAD_DE_MEDIDA AS marm 
  248.    ON marm.mandante_marm = mara.mandante_mara 
  249.    AND marm.material_marm = mara.material_mara
  250. LEFT JOIN SD_MATERIAL_AREA_VENTAS AS mvke
  251.    ON mvke.mandante_mvke = mara.mandante_mara
  252.    AND mvke.material_mvke = mara.material_mara




Alias y campos de SAP utilizados 


TABLE

ALIAS

COLUMN NAME

SAP

MAKT

mandante

mandante_MAKT

MANDT

MAKT

material

material_MAKT

MATNR

MAKT

idioma

idioma_MAKT

SPRAS

MAKT

denominacion

denominacion_MAKT

MAKTX

MAKT

denominacion1

denominacion1_MAKT

MAKTG

MARA

mandante

mandante_MARA

MANDT

MARA

material

material_MARA

MATNR

MARA

creado_el

creado_el_MARA

ERSDA

MARA

creado_por

creado_por_MARA

ERNAM

MARA

ultima_modif

ultima_modif_MARA

LAEDA

MARA

modificado_por

modificado_por_MARA

AENAM

MARA

statactcomp

statactcomp_MARA

VPSTA

MARA

statactual

statactual_MARA

PSTAT

MARA

pb_nivmandante

pb_nivmandante_MARA

LVORM

MARA

tipo_material

tipo_material_MARA

MTART

MARA

ramo

ramo_MARA

MBRSH

MARA

grupo_articulos

grupo_articulos_MARA

MATKL

MARA

nmaterial_ant

nmaterial_ant_MARA

BISMT

MARA

um_base

um_base_MARA

MEINS

MARA

um_de_pedido

um_de_pedido_MARA

BSTME

MARA

tamanodimens

tamanodimens_MARA

GROES

MARA

materia

materia_MARA

WRKST

MARA

denomestandar

denomestandar_MARA

NORMT

MARA

agrupador

agrupador_MARA

LABOR

MARA

peso_bruto

peso_bruto_MARA

BRGEW

MARA

peso_neto

peso_neto_MARA

NTGEW

MARA

unidad_de_peso

unidad_de_peso_MARA

GEWEI

MARA

volumen

volumen_MARA

VOLUM

MARA

unidad_volumen

unidad_volumen_MARA

VOLEH

MARA

condalmacenaje

condalmacenaje_MARA

RAUBE

MARA

nivel_plfnec

nivel_plfnec_MARA

DISST

MARA

gpotransporte

gpotransporte_MARA

TRAGR

MARA

sector

sector_MARA

SPART

MARA

codigo_eanupc

codigo_eanupc_MARA

EAN11

MARA

tipo_ean

tipo_ean_MARA

NUMTP

MARA

jquiaproductos

jquiaproductos_MARA

PRDHA

MARA

aprovisionqm

aprovisionqm_MARA

QMPUR

MARA

ump_variable

ump_variable_MARA

VABME

MARA

configurable

configurable_MARA

KZKFG

MARA

sujetolote

sujetolote_MARA

XCHPF

MARA

clmatembal

clmatembal_MARA

VHART

MARA

grupo_matme

grupo_matme_MARA

MAGRV

MARA

grupo_art_ext

grupo_art_ext_MARA

EXTWG

MARA

statmattodosce

statmattodosce_MARA

MSTAE

MARA

stattodas_cdis

stattodas_cdis_MARA

MSTAV

MARA

valido_de1

valido_de1_MARA

MSTDE

MARA

valido_de2

valido_de2_MARA

MSTDV

MARA

n_pieza_fabric

n_pieza_fabric_MARA

MFRPN

MARA

fabricante

fabricante_MARA

MFRNR

MARA

matgestionstock

matgestionstock_MARA

BMATN

MARA

perfpiezas_fabr

perfpiezas_fabr_MARA

MPROF

MARA

a_granelliqu

a_granelliqu_MARA

ILOOS

MARA

cerrado

cerrado_MARA

KZGVH

MARA

log_lote_nec

log_lote_nec_MARA

XGCHP

MARA

valorar_validez

valorar_validez_MARA

KZEFF

MARA

grtpposgral

grtpposgral_MARA

MTPOS_MARA

MARA

fecadfeexp

fecadfeexp_MARA

SLED_BBD

MARC

mandante

mandante_MARC

MANDT

MARC

material

material_MARC

MATNR

MARC

centro

centro_MARC

WERKS

MARC

statactual

statactual_MARC

PSTAT

MARC

pb_nivel_centro

pb_nivel_centro_MARC

LVORM

MARC

tipo_valoracion

tipo_valoracion_MARC

BWTTY

MARC

lotes

lotes_MARC

XCHAR

MARC

statmatespecce

statmatespecce_MARC

MMSTA

MARC

valido_de

valido_de_MARC

MMSTD

MARC

grupo_compras

grupo_compras_MARC

EKGRP

MARC

um_salida

um_salida_MARC

AUSME

MARC

carplanifnec

carplanifnec_MARC

DISMM

MARC

planifneces

planifneces_MARC

DISPO

MARC

plazentrprev

plazentrprev_MARC

PLIFZ

MARC

tmpotratamem

tmpotratamem_MARC

WEBAZ

MARC

indperiodo

indperiodo_MARC

PERKZ

MARC

tamlote_plnec

tamlote_plnec_MARC

DISLS

MARC

aprovisionam

aprovisionam_MARC

BESKZ

MARC

aprovisespec

aprovisespec_MARC

SOBSL

MARC

punto_de_pedido

punto_de_pedido_MARC

MINBE

MARC

stock_seguridad

stock_seguridad_MARC

EISBE

MARC

tamlote_min

tamlote_min_MARC

BSTMI

MARC

tamlote_max

tamlote_max_MARC

BSTMA

MARC

tamlote_fijo

tamlote_fijo_MARC

BSTFE

MARC

valor_redondeo

valor_redondeo_MARC

BSTRF

MARC

stock_maximo

stock_maximo_MARC

MABST

MARC

indivcolect

indivcolect_MARC

SBDKZ

MARC

selaltern

selaltern_MARC

ALTSL

MARC

planifnecmixt

planifnecmixt_MARC

MISKZ

MARC

clave_horizonte

clave_horizonte_MARC

FHORI

MARC

toma_retroact

toma_retroact_MARC

RGEKZ

MARC

respctrlprod

respctrlprod_MARC

FEVOR

MARC

tmpofabrprop

tmpofabrprop_MARC

DZEIT

MARC

clcontrol_qm

clcontrol_qm_MARC

SSQSS

MARC

en_traslado

en_traslado_MARC

UMLMC

MARC

grupo_de_carga

grupo_de_carga_MARC

LADGR

MARC

sujetolote

sujetolote_MARC

XCHPF

MARC

utilizcuotas

utilizcuotas_MARC

USEQU

MARC

verifdispon

verifdispon_MARC

MTVFP

MARC

cantidad_base1

cantidad_base1_MARC

VBAMG

MARC

ind_pedautom

ind_pedautom_MARC

KAUTB

MARC

cebe

cebe_MARC

PRCTR

MARC

stock_transito

stock_transito_MARC

TRAME

MARC

horizplaniffij

horizplaniffij_MARC

FXHOR

MARC

modocompens

modocompens_MARC

VRMOD

MARC

intcompenatras

intcompenatras_MARC

VINT1

MARC

intcompenadel

intcompenadel_MARC

VINT2

MARC

version

version_MARC

VERKZ

MARC

tamano_lote_cc

tamano_lote_cc_MARC

LOSGR

MARC

udm_fabricacion

udm_fabricacion_MARC

FRTME

MARC

alm_produccion

alm_produccion_MARC

LGPRO

MARC

grplannec

grplannec_MARC

DISGR

MARC

parametrizinsp

parametrizinsp_MARC

QMATV

MARC

perfilcobert

perfilcobert_MARC

RWPRO

MARC

perfil_numserie

perfil_numserie_MARC

SERNP

MARC

stcknegcentro

stcknegcentro_MARC

XMCNG

MARC

grupoestrategs

grupoestrategs_MARC

STRGR

MARC

alm_apr_ext

alm_apr_ext_MARC

LGFSB

MARC

perfilfabr

perfilfabr_MARC

SFCPF

MARC

entrar_lote

entrar_lote_MARC

KZECH

MARC

existe_arplnec

existe_arplnec_MARC

DIBER

MARC

comun_varproy

comun_varproy_MARC

KZPSP

MARC

mcrue

mcrue_MARC

MCRUE

MARC

periodo_actual

periodo_actual_MARC

LFMON

MARC

ejperiodo_act

ejperiodo_act_MARC

LFGJA

MARC

stock_segmin

stock_segmin_MARC

EISLO

MARM

mandante

mandante_MARM

MANDT

MARM

material

material_MARM

MATNR

MARM

um_alt

um_alt_MARM

MEINH

MARM

numerad

numerad_MARM

UMREZ

MARM

denominador

denominador_MARM

UMREN

MARM

codigo_eanupc

codigo_eanupc_MARM

EAN11

MARM

tipo_ean

tipo_ean_MARM

NUMTP

MARM

volumen

volumen_MARM

VOLUM

MARM

unidad_volumen

unidad_volumen_MARM

VOLEH

MARM

peso_bruto

peso_bruto_MARM

BRGEW

MARM

unidad_de_peso

unidad_de_peso_MARM

GEWEI

MVKE

mandante

mandante_MVKE

MANDT

MVKE

material

material_MVKE

MATNR

MVKE

organizventas

organizventas_MVKE

VKORG

MVKE

canal_distrib

canal_distrib_MVKE

VTWEG

MVKE

pb_caddistrib

pb_caddistrib_MVKE

LVORM

MVKE

grestadismat

grestadismat_MVKE

VERSG

MVKE

gruporappels

gruporappels_MVKE

BONUS

MVKE

grupocomision

grupocomision_MVKE

PROVG

MVKE

derecho_desc

derecho_desc_MVKE

SKTOF

MVKE

statespcaddistr

statespcaddistr_MVKE

VMSTA

MVKE

valido_de

valido_de_MVKE

VMSTD

MVKE

ctdminentrega

ctdminentrega_MVKE

LFMNG

MVKE

um_venta

um_venta_MVKE

VRKME

MVKE

grtp_posicion

grtp_posicion_MVKE

MTPOS

MVKE

jquiaproductos

jquiaproductos_MVKE

PRODH

MVKE

material_precio

material_precio_MVKE

PMATN

MVKE

grmateriales

grmateriales_MVKE

KONDM

MVKE

gr_imput_mat

gr_imput_mat_MVKE

KTGRM

MVKE

grmateriales_1

grmateriales_1_MVKE

MVGR1

MVKE

grmateriales_2

grmateriales_2_MVKE

MVGR2

MVKE

grmateriales_3

grmateriales_3_MVKE

MVGR3

MVKE

grmateriales_4

grmateriales_4_MVKE

MVGR4

MVKE

grmateriales_5

grmateriales_5_MVKE

MVGR5

MVKE

atribprod2

atribprod2_MVKE

PRAT2

MVKE

atributo_prod3

atributo_prod3_MVKE

PRAT3

MVKE

atrproducto_5

atrproducto_5_MVKE

PRAT5

MVKE

atrproducto_6

atrproducto_6_MVKE

PRAT6

MVKE

atrproducto_8

atrproducto_8_MVKE

PRAT8

MVKE

atrproducto_9

atrproducto_9_MVKE

PRAT9

MVKE

umv_no_variable

umv_no_variable_MVKE

VAVME