02. SILVER SD CUSTOMER ECC

02. SILVER SD CUSTOMER ECC


ENTIDAD SILVER DE CLIENTES 

Este modelo corresponde a la capa Silver del proceso de transformación de datos y está enfocado en la entidad de Clientes. Integra y estructura las tablas clave del módulo de Sales and Distribution (SD) de SAP, garantizando la calidad, consistencia y disponibilidad de los datos. Su objetivo es proporcionar una visión unificada y enriquecida de la información de clientes, facilitando su análisis y optimización para distintas áreas de negocio.

Esta entidad permite consolidar datos de clientes desde diferentes dimensiones, lo que facilita su uso en análisis avanzados y monitorización en tiempo real.




Categorización de la Entidad 

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

BI_SILVER_SD_CUSTOMER_ECC 

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

OI_SILVER_SD_CUSTOMER_ECC 

  • Propósito: Monitorización en tiempo real y mejora de la eficiencia en la gestión de clientes. 



  1. Ruta:
    \<raíz_del_proyecto>\dbt_oneconnect_ecc\models\ORDER_TO_CASH\
  2. Nombre del archivo BI:
    \BI_ORDER_TO_CASH\BI_SILVER_SD_CUSTOMER_ECC.sql
  3. Nombre del archivo OI:
    \OI_ORDER_TO_CASH\OI_SILVER_SD_CUSTOMER_ECC.sql


Dependencias 

  • KNA1 (Maestro de Clientes - Datos Generales)
    Contiene los datos generales del maestro de clientes, comunes a todas las unidades organizativas en SAP.
    <client>_<environment>_SD_MAESTRO_CLIENTES
  • KNVV (Maestro de Clientes - Datos de Ventas)
    Almacena los datos específicos del cliente para la organización de ventas y el canal de distribución.
    <client>_<environment>_SD_CLIENTES_AREAS_VTAS
  • KNVP (Maestro de Clientes - Socios Comerciales)
    Define las relaciones de socios comerciales asignados a los clientes, como contacto, proveedor o pagador.
    <client>_<environment>_SD_CLIENTES_INTERLOCUTORES
  • KNB1 (Maestro de Clientes - Datos de Sociedad)
    Contiene los datos financieros específicos del cliente por sociedad, como límites de crédito o condiciones de pago.
    <client>_<environment>_SD_CLIENTES_SOCIEDAD
  • KNVA (Maestro de Clientes - Determinación de Grupo de Clientes)
    Almacena los datos relacionados con la asignación de grupos de clientes para descuentos, promociones o condiciones específicas.
    <client>_<environment>_SD_CLIENTES_DESCARGAS
  • KNVK (Maestro de Clientes - Contactos)
    Contiene la información sobre los contactos relacionados con cada cliente, como nombres, funciones y datos de contacto.
    <client>_<environment>_SD_CLIENTES_CONTACTOS
  • KNVI (Maestro de Clientes - Datos de Impuestos)
    Almacena la información fiscal de los clientes, como códigos y condiciones de impuestos.
    <client>_<environment>_SD_CLIENTES_IMPUESTO
  • ADRC (Direcciones - Datos Generales)
    Almacena las direcciones generales utilizadas en el sistema SAP, asociadas a clientes, proveedores o socios comerciales.
    <client>_<environment>_DM_CLIENTE_DIRECCION
  • ADR2 (Direcciones - Personas de Contacto)
    Contiene las direcciones específicas asociadas a las personas de contacto de los clientes.
    <client>_<environment>_DM_CLIENTE_TELEFONO



    Instalación 
  • Business Intelligence (BI)

docker-compose up -d dbt_bi_customer --build


  • Operational Insights (OI)

docker-compose up -d dbt_oi_customer --build





Modelo sql BI ejecutado 

  1. {{ config(
  2.    order_by="(
  3.        mandante_kna1, cliente_kna1, 
  4.        mandante_knvv, cliente_knvv, orgventas_knvv, candistr_knvv, sector_knvv,
  5.        mandante_knvp, cliente_knvp, orgventas_knvp, candistr_knvp, sector_knvp, funcion_knvp, continterl_knvp, 
  6.        mandante_knb1, cliente_knb1, soc_knb1, 
  7.        mandante_knva, cliente_knva, ptodesc_knva, 
  8.        mandante_knvk, interl_knvk, 
  9.        mandante_knvi, cliente_knvi, pais_knvi, tpimpto_knvi,
  10.        mandante_adrc, n_direc_adrc, de_adrc, 
  11.        mandante_adr2, n_direc_adr2, persona_adr2, de_adr2, numactual_adr2
  12.    )",
  13.    engine='ReplacingMergeTree(_version)',
  14.    materialized='incremental',
  15.    incremental_strategy='append')
  16. }}

  17. WITH SD_MAESTRO_CLIENTES  AS (
  18.    SELECT 
  19.        kna1.mandante AS mandante_kna1,
  20.        kna1.cliente AS cliente_kna1,
  21.        kna1.pais AS pais_kna1,
  22.        kna1.nombre AS nombre_kna1,
  23.        kna1.nombre_2 AS nombre_2_kna1,
  24.        kna1.poblacion AS poblacion_kna1,
  25.        kna1.cp AS cp_kna1,
  26.        kna1.region AS region_kna1,
  27.        kna1.concbusq AS concbusq_kna1,
  28.        kna1.calle AS calle_kna1,
  29.        kna1.telefono_1 AS telefono_1_kna1,
  30.        kna1.telefax AS telefax_kna1,
  31.        kna1.cuenta_cpd AS cuenta_cpd_kna1,
  32.        kna1.direccion AS direccion_kna1,
  33.        kna1.nombre1 AS nombre1_kna1,
  34.        kna1.nombre2 AS nombre2_kna1,
  35.        kna1.poblacion1 AS poblacion1_kna1,
  36.        kna1.tratam AS tratam_kna1,
  37.        kna1.central AS central_kna1,
  38.        kna1.estferrexp AS estferrexp_kna1,
  39.        kna1.estaciontr AS estaciontr_kna1,
  40.        kna1.autoriz AS autoriz_kna1,
  41.        kna1.ramo AS ramo_kna1,
  42.        kna1.fecreac AS fecreac_kna1,
  43.        kna1.autor AS autor_kna1,
  44.        kna1.ptodesc AS ptodesc_kna1,
  45.        kna1.central1 AS central1_kna1,
  46.        kna1.grupo AS grupo_kna1,
  47.        kna1.grcuentas AS grcuentas_kna1,
  48.        kna1.clclte AS clclte_kna1,
  49.        kna1.acreedor AS acreedor_kna1,
  50.        kna1.central2 AS central2_kna1,
  51.        kna1.codloc AS codloc_kna1,
  52.        kna1.petborrado AS petborrado_kna1,
  53.        kna1.nombre_3 AS nombre_3_kna1,
  54.        kna1.nombre_4 AS nombre_4_kna1,
  55.        kna1.distrito AS distrito_kna1,
  56.        kna1.apartado AS apartado_kna1,
  57.        kna1.cp_apdo AS cp_apdo_kna1,
  58.        kna1.bloqcontab AS bloqcontab_kna1,
  59.        kna1.idioma AS idioma_kna1,
  60.        kna1.nif1 AS nif1_kna1,
  61.        kna1.nif_2 AS nif_2_kna1,
  62.        kna1.telefono_2 AS telefono_2_kna1,
  63.        kna1.telex AS telex_kna1,
  64.        kna1.zona AS zona_kna1,
  65.        kna1.socglasoc AS socglasoc_kna1,
  66.        kna1.codramo_1 AS codramo_1_kna1,
  67.        kna1.codramo_2 AS codramo_2_kna1,
  68.        kna1.codramo_3 AS codramo_3_kna1,
  69.        kna1.codramo_4 AS codramo_4_kna1,
  70.        kna1.codramo_5 AS codramo_5_kna1,
  71.        kna1.atributo_1 AS atributo_1_kna1,
  72.        kna1.atributo_2 AS atributo_2_kna1,
  73.        kna1.atributo_3 AS atributo_3_kna1,
  74.        kna1.atributo_4 AS atributo_4_kna1,
  75.        kna1.atributo_5 AS atributo_5_kna1,
  76.        kna1.atributo_6 AS atributo_6_kna1,
  77.        kna1.atributo_7 AS atributo_7_kna1,
  78.        kna1.persfis AS persfis_kna1,
  79.        kna1.pobapdo AS pobapdo_kna1,
  80.        kna1.status AS status_kna1,
  81.        kna1.utilcivil AS utilcivil_kna1,
  82.        kna1.climpto AS climpto_kna1,
  83.        kna1.tipo_nif AS tipo_nif_kna1,
  84.        kna1.nif_3 AS nif_3_kna1,
  85.        kna1.central3 AS central3_kna1,
  86.        kna1.bloqborr AS bloqborr_kna1,
  87.        kna1.nocertif AS nocertif_kna1,
  88.        kna1.valido_de AS valido_de_kna1,
  89.        kna1.valido_a AS valido_a_kna1,
  90.        kna1.timestamp AS timestamp_kna1
  91.    FROM  {{ source('oneconnect', 'PR0_B_SD_MAESTRO_CLIENTES') }} AS kna1
  92.    FINAL
  93.    {% if is_incremental() %}
  94.    WHERE 
  95.        kna1.timestamp >= (select max(timestamp_kna1) from {{this}}) 
  96.    {% endif %}

  97. ),

  98. SD_CLIENTES_AREAS_VTAS AS (
  99.    SELECT
  100.        knvv.mandante AS mandante_knvv,
  101.        knvv.cliente AS cliente_knvv,
  102.        knvv.orgventas AS orgventas_knvv,
  103.        knvv.candistr AS candistr_knvv,
  104.        knvv.sector AS sector_knvv,
  105.        knvv.creado AS creado_knvv,
  106.        knvv.el AS el_knvv,
  107.        knvv.petborr AS petborr_knvv,
  108.        knvv.grestclien AS grestclien_knvv,
  109.        knvv.comercial AS comercial_knvv,
  110.        knvv.esquema AS esquema_knvv,
  111.        knvv.grclient AS grclient_knvv,
  112.        knvv.zona_vta AS zona_vta_knvv,
  113.        knvv.grprecios AS grprecios_knvv,
  114.        knvv.listaprec AS listaprec_knvv,
  115.        knvv.probabil AS probabil_knvv,
  116.        knvv.incoterms AS incoterms_knvv,
  117.        knvv.comercial1 AS comercial1_knvv,
  118.        knvv.maxentrpar AS maxentrpar_knvv,
  119.        knvv.agrupam AS agrupam_knvv,
  120.        knvv.n_cuenta AS n_cuenta_knvv,
  121.        knvv.condexp AS condexp_knvv,
  122.        knvv.comercial2 AS comercial2_knvv,
  123.        knvv.moneda AS moneda_knvv,
  124.        knvv.grimput AS grimput_knvv,
  125.        knvv.condpago AS condpago_knvv,
  126.        knvv.cesumin AS cesumin_knvv,
  127.        knvv.grvendedor AS grvendedor_knvv,
  128.        knvv.oficvta AS oficvta_knvv,
  129.        knvv.grclient1 AS grclient1_knvv,
  130.        knvv.grclient3 AS grclient3_knvv,
  131.        knvv.grclient5 AS grclient5_knvv,
  132.        knvv.ventas AS ventas_knvv,
  133.        knvv.relare AS relare_knvv,
  134.        knvv.timestamp AS timestamp_knvv
  135.    FROM  {{ source('oneconnect', 'PR0_B_SD_CLIENTES_AREAS_VTAS') }} AS knvv
  136.    FINAL
  137.    {% if is_incremental() %}
  138.    WHERE 
  139.        knvv.timestamp >= (select max(timestamp_knvv) from {{this}}) 
  140.    {% endif %}
  141. ),

  142. SD_CLIENTES_INTERLOCUTORES AS (
  143.    SELECT
  144.        knvp.mandante AS mandante_knvp,
  145.        knvp.cliente AS cliente_knvp,
  146.        knvp.orgventas AS orgventas_knvp,
  147.        knvp.candistr AS candistr_knvp,
  148.        knvp.sector AS sector_knvp,
  149.        knvp.funcion AS funcion_knvp,
  150.        knvp.continterl AS continterl_knvp,
  151.        knvp.cliente1 AS cliente1_knvp,
  152.        knvp.n_pers AS n_pers_knvp,
  153.        knvp.interl AS interl_knvp,
  154.        knvp.denointerl AS denointerl_knvp,
  155.        knvp.interldef AS interldef_knvp,
  156.        knvp.timestamp AS timestamp_knvp
  157.    FROM  {{ source('oneconnect', 'PR0_B_SD_CLIENTES_INTERLOCUTORES') }} AS knvp
  158.    FINAL
  159.    {% if is_incremental() %}
  160.    WHERE 
  161.        knvp.timestamp >= (select max(timestamp_knvp) from {{this}}) 
  162.    {% endif %
  163. ),

  164. SD_CLIENTES_SOCIEDAD AS (
  165.    SELECT
  166.        knb1.mandante AS mandante_knb1,
  167.        knb1.cliente AS cliente_knb1,
  168.        knb1.soc AS soc_knb1,
  169.        knb1.n_pers AS n_pers_knb1,
  170.        knb1.fecreac AS fecreac_knb1,
  171.        knb1.autor AS autor_knb1,
  172.        knb1.blqcont AS blqcont_knb1,
  173.        knb1.petborrado AS petborrado_knb1,
  174.        knb1.clvclas AS clvclas_knb1,
  175.        knb1.resp AS resp_knb1,
  176.        knb1.ctaasoc AS ctaasoc_knb1,
  177.        knb1.autoriz AS autoriz_knb1,
  178.        knb1.comercial AS comercial_knb1,
  179.        knb1.vias_pago AS vias_pago_knb1,
  180.        knb1.condpago AS condpago_knb1,
  181.        knb1.grtes AS grtes_knb1,
  182.        knb1.entidad AS entidad_knb1,
  183.        knb1.valaseg AS valaseg_knb1,
  184.        knb1.meses AS meses_knb1,
  185.        knb1.particip AS particip_knb1,
  186.        knb1.contrato AS contrato_knb1,
  187.        knb1.validez_a AS validez_a_knb1,
  188.        knb1.extrcta AS extrcta_knb1,
  189.        knb1.limefecto AS limefecto_knb1,
  190.        knb1.histpago AS histpago_knb1,
  191.        knb1.nctaant AS nctaant_knb1,
  192.        knb1.clvagrup AS clvagrup_knb1,
  193.        knb1.bloqborr AS bloqborr_knb1,
  194.        knb1.pais_ret AS pais_ret_knb1,
  195.        knb1.timestamp AS timestamp_knb1
  196.    FROM  {{ source('oneconnect', 'PR0_B_SD_CLIENTES_SOCIEDAD') }} AS knb1
  197.    FINAL
  198.    {% if is_incremental() %}
  199.    WHERE 
  200.        knb1.timestamp >= (select max(timestamp_knb1) from {{this}}) 
  201.    {% endif %
  202. ),

  203. SD_CLIENTES_DESCARGAS AS (
  204.    SELECT 
  205.        knva.mandante AS mandante_knva,
  206.        knva.cliente AS cliente_knva,
  207.        knva.ptodesc AS ptodesc_knva,
  208.        knva.calenclien AS calenclien_knva,
  209.        knva.lgdesdef AS lgdesdef_knva,
  210.        knva.timestamp AS timestamp_knva
  211.    FROM  {{ source('oneconnect', 'PR0_B_SD_CLIENTES_DESCARGAS') }} AS knva
  212.    FINAL
  213.    {% if is_incremental() %}
  214.    WHERE 
  215.        knva.timestamp >= (select max(timestamp_knva) from {{this}}) 
  216.    {% endif %
  217. ),

  218. SD_CLIENTES_CONTACTOS AS (
  219.    SELECT
  220.        knvk.mandante AS mandante_knvk,
  221.        knvk.interl AS interl_knvk,
  222.        knvk.cliente AS cliente_knvk,
  223.        knvk.nombre AS nombre_knvk,
  224.        knvk.nombre1 AS nombre1_knvk,
  225.        knvk.direcprof AS direcprof_knvk,
  226.        knvk.dpto_clien AS dpto_clien_knvk,
  227.        knvk.depto AS depto_knvk,
  228.        knvk.telefono_1 AS telefono_1_knvk,
  229.        knvk.tratam AS tratam_knvk,
  230.        knvk.funcion AS funcion_knvk,
  231.        knvk.podergral AS podergral_knvk,
  232.        knvk.vip AS vip_knvk,
  233.        knvk.genero AS genero_knvk,
  234.        knvk.idioma AS idioma_knvk,
  235.        knvk.fecha_nac AS fecha_nac_knvk,
  236.        knvk.envpublic AS envpublic_knvk,
  237.        knvk.comentario AS comentario_knvk,
  238.        knvk.atrib1 AS atrib1_knvk,
  239.        knvk.lunes AS lunes_knvk,
  240.        knvk.lunes1 AS lunes1_knvk,
  241.        knvk.lunes2 AS lunes2_knvk,
  242.        knvk.lunes3 AS lunes3_knvk,
  243.        knvk.martes AS martes_knvk,
  244.        knvk.martes1 AS martes1_knvk,
  245.        knvk.martes2 AS martes2_knvk,
  246.        knvk.martes3 AS martes3_knvk,
  247.        knvk.miercoles AS miercoles_knvk,
  248.        knvk.miercoles1 AS miercoles1_knvk,
  249.        knvk.miercoles2 AS miercoles2_knvk,
  250.        knvk.miercoles3 AS miercoles3_knvk,
  251.        knvk.jueves AS jueves_knvk,
  252.        knvk.jueves1 AS jueves1_knvk,
  253.        knvk.jueves2 AS jueves2_knvk,
  254.        knvk.jueves3 AS jueves3_knvk,
  255.        knvk.viernes AS viernes_knvk,
  256.        knvk.viernes1 AS viernes1_knvk,
  257.        knvk.viernes2 AS viernes2_knvk,
  258.        knvk.viernes3 AS viernes3_knvk,
  259.        knvk.sabado AS sabado_knvk,
  260.        knvk.sabado1 AS sabado1_knvk,
  261.        knvk.sabado2 AS sabado2_knvk,
  262.        knvk.sabado3 AS sabado3_knvk,
  263.        knvk.domingo AS domingo_knvk,
  264.        knvk.domingo1 AS domingo1_knvk,
  265.        knvk.domingo2 AS domingo2_knvk,
  266.        knvk.domingo3 AS domingo3_knvk,
  267.        knvk.concbusq AS concbusq_knvk,
  268.        knvk.estcivil AS estcivil_knvk,
  269.        knvk.apodo AS apodo_knvk,
  270.        knvk.titulofun AS titulofun_knvk,
  271.        knvk.fecreac AS fecreac_knvk,
  272.        knvk.autor AS autor_knvk,
  273.        knvk.status AS status_knvk,
  274.        knvk.acreedor AS acreedor_knvk,
  275.        knvk.origen AS origen_knvk,
  276.        knvk.n_direc AS n_direc_knvk,
  277.        knvk.persona AS persona_knvk,
  278.        knvk.timestamp AS timestamp_knvk
  279.  FROM  {{ source('oneconnect', 'PR0_B_SD_CLIENTES_CONTACTOS') }} AS knvk
  280.    FINAL
  281.    {% if is_incremental() %}
  282.    WHERE 
  283.        knvk.timestamp >= (select max(timestamp_knvk) from {{this}}) 
  284.    {% endif %}
  285. ),

  286. SD_CLIENTES_IMPUESTO AS (
  287.    SELECT 
  288.        knvi.mandante AS mandante_knvi,
  289.        knvi.cliente AS cliente_knvi,
  290.        knvi.pais AS pais_knvi,
  291.        knvi.tpimpto AS tpimpto_knvi,
  292.        knvi.clasfisc AS clasfisc_knvi,
  293.        knvi.timestamp AS timestamp_knvi
  294.    FROM  {{ source('oneconnect', 'PR0_B_SD_CLIENTES_IMPUESTO') }} AS knvi
  295.    FINAL
  296.    {% if is_incremental() %}
  297.    WHERE 
  298.        knvi.timestamp >= (select max(timestamp_knvi) from {{this}}) 
  299.    {% endif %}
  300. ),

  301. DIRECCION AS (
  302.    SELECT 
  303.        adrc.mandante AS mandante_adrc,
  304.        adrc.n_direc AS n_direc_adrc,
  305.        adrc.de AS de_adrc,
  306.        adrc.AS a_adrc,
  307.        adrc.tratam AS tratam_adrc,
  308.        adrc.nombre AS nombre_adrc,
  309.        adrc.nombre_2 AS nombre_2_adrc,
  310.        adrc.nombre_3 AS nombre_3_adrc,
  311.        adrc.nombre_4 AS nombre_4_adrc,
  312.        adrc.nomconvdo AS nomconvdo_adrc,
  313.        adrc.co AS co_adrc,
  314.        adrc.poblacion AS poblacion_adrc,
  315.        adrc.distrito AS distrito_adrc,
  316.        adrc.lugresid AS lugresid_adrc,
  317.        adrc.stverif AS stverif_adrc,
  318.        adrc.estrreg AS estrreg_adrc,
  319.        adrc.codpostal AS codpostal_adrc,
  320.        adrc.codpostal1 AS codpostal1_adrc,
  321.        adrc.codpostal2 AS codpostal2_adrc,
  322.        adrc.apartado AS apartado_adrc,
  323.        adrc.pobapart AS pobapart_adrc,
  324.        adrc.zona AS zona_adrc,
  325.        adrc.calle AS calle_adrc,
  326.        adrc.AS n_adrc,
  327.        adrc.apendice AS apendice_adrc,
  328.        adrc.calle_2 AS calle_2_adrc,
  329.        adrc.calle_3 AS calle_3_adrc,
  330.        adrc.calle_4 AS calle_4_adrc,
  331.        adrc.calle_5 AS calle_5_adrc,
  332.        adrc.edificios AS edificios_adrc,
  333.        adrc.piso AS piso_adrc,
  334.        adrc.habit AS habit_adrc,
  335.        adrc.pais AS pais_adrc,
  336.        adrc.idioma AS idioma_adrc,
  337.        adrc.region AS region_adrc,
  338.        adrc.grdirec AS grdirec_adrc,
  339.        adrc.dirpers AS dirpers_adrc,
  340.        adrc.conceptbusq1 AS conceptbusq1_adrc,
  341.        adrc.conceptbusq2 AS conceptbusq2_adrc,
  342.        adrc.forma_com AS forma_com_adrc,
  343.        adrc.telefono AS telefono_adrc,
  344.        adrc.extension AS extension_adrc,
  345.        adrc.fax AS fax_adrc,
  346.        adrc.extension1 AS extension1_adrc,
  347.        adrc.telefono1 AS telefono1_adrc,
  348.        adrc.telefax AS telefax_adrc,
  349.        adrc.telex AS telex_adrc,
  350.        adrc.corelec AS corelec_adrc,
  351.        adrc.uriftp AS uriftp_adrc,
  352.        adrc.pager AS pager_adrc,
  353.        adrc.nombre1 AS nombre1_adrc,
  354.        adrc.poblacion1 AS poblacion1_adrc,
  355.        adrc.calle1 AS calle1_adrc,
  356.        adrc.lindatos AS lindatos_adrc,
  357.        adrc.telebox AS telebox_adrc,
  358.        adrc.huso_hor AS huso_hor_adrc,
  359.        adrc.domfiscal AS domfiscal_adrc,
  360.        adrc.idioma1 AS idioma1_adrc,
  361.        adrc.uuid AS uuid_adrc,
  362.        adrc.estacion AS estacion_adrc,
  363.        adrc.timestamp AS timestamp_adrc
  364.    FROM  {{ source('oneconnect', 'PR0_B_DM_CLIENTE_DIRECCION') }} AS adrc
  365.    FINAL
  366.    {% if is_incremental() %}
  367.    WHERE 
  368.        adrc.timestamp >= (select max(timestamp_adrc) from {{this}}) 
  369.    {% endif %}
  370. ),

  371. DM_CLIENTE_TELEFONO AS (
  372.    SELECT
  373.        adr2.mandante AS mandante_adr2,
  374.        adr2.n_direc AS n_direc_adr2,
  375.        adr2.persona AS persona_adr2,
  376.        adr2.de AS de_adr2,
  377.        adr2.numactual AS numactual_adr2,
  378.        adr2.pais AS pais_adr2,
  379.        adr2.nestan AS nestan_adr2,
  380.        adr2.npaisorig AS npaisorig_adr2,
  381.        adr2.telefono AS telefono_adr2,
  382.        adr2.extension AS extension_adr2,
  383.        adr2.telefono1 AS telefono1_adr2,
  384.        adr2.n_persqll AS n_persqll_adr2,
  385.        adr2.sms AS sms_adr2,
  386.        adr2.telmovil AS telmovil_adr2,
  387.        adr2.timestamp AS timestamp_adr2
  388.    FROM  {{ source('oneconnect', 'PR0_B_DM_CLIENTE_TELEFONO') }} AS adr2
  389.    FINAL
  390.    {% if is_incremental() %}
  391.    WHERE 
  392.        adr2.timestamp >= (select max(timestamp_adr2) from {{this}}) 
  393.    {% endif %}
  394. )

  395. SELECT 
  396.    kna1.*,
  397.    knvv.*,
  398.    knvp.*,
  399.    knb1.*,
  400.    knva.*,
  401.    knvk.*,
  402.    knvi.*,
  403.    adrc.*,
  404.    adr2.*,
  405.    now64() as _version
  406. FROM SD_MAESTRO_CLIENTES AS kna1
  407. INNER JOIN SD_CLIENTES_AREAS_VTAS AS knvv 
  408.  ON knvv.mandante_knvv = kna1.mandante_kna1
  409.  AND knvv.cliente_knvv = kna1.cliente_kna1
  410. INNER JOIN SD_CLIENTES_INTERLOCUTORES AS knvp 
  411.  ON knvp.mandante_knvp = knvv.mandante_knvv 
  412.  AND knvp.cliente_knvp = knvv.cliente_knvv 
  413.  AND knvp.orgventas_knvp = knvv.orgventas_knvv 
  414.  AND knvp.candistr_knvp = knvv.candistr_knvv    
  415.  AND knvp.sector_knvp = knvv.sector_knvv
  416. INNER JOIN SD_CLIENTES_SOCIEDAD AS knb1 
  417.  ON knb1.mandante_knb1 = knvv.mandante_knvv 
  418.  AND knb1.cliente_knb1 = knvv.cliente_knvv
  419. LEFT JOIN SD_CLIENTES_DESCARGAS AS knva 
  420.  ON knva.mandante_knva = kna1.mandante_kna1 
  421.  AND knva.cliente_knva = kna1.cliente_kna1
  422. LEFT JOIN SD_CLIENTES_CONTACTOS AS knvk 
  423.  ON knvk.mandante_knvk = kna1.mandante_kna1
  424.  AND knvk.cliente_knvk = kna1.cliente_kna1
  425. LEFT JOIN SD_CLIENTES_IMPUESTO AS knvi 
  426.  ON knvi.mandante_knvi = kna1.mandante_kna1
  427.  AND knvi.cliente_knvi = kna1.cliente_kna1
  428. LEFT JOIN DIRECCION AS adrc 
  429. -- CASO ESPECIAL, POR QUE USA EL MISMO CAMPO PARA HACER JOIN EN ADR2 DEBE SER LEFT JOIN A PESAR QUE ADRC ES MANDATORIO
  430.  ON adrc.mandante_adrc = kna1.mandante_kna1 
  431.  AND adrc.n_direc_adrc = kna1.direccion_kna1
  432. LEFT JOIN DM_CLIENTE_TELEFONO AS adr2 
  433.  ON adr2.mandante_adr2 = kna1.mandante_kna1 
  434.  AND adr2.n_direc_adr2 = kna1.direccion_kna1



Modelo sql OI ejecutado 

  1. {{ config(
  2.    order_by="(
  3.        mandante_kna1, cliente_kna1, 
  4.        mandante_knvv, cliente_knvv, orgventas_knvv, candistr_knvv, sector_knvv,
  5.        mandante_knvp, cliente_knvp, orgventas_knvp, candistr_knvp, sector_knvp, funcion_knvp, continterl_knvp, 
  6.        mandante_knb1, cliente_knb1, soc_knb1, 
  7.        mandante_knva, cliente_knva, ptodesc_knva, 
  8.        mandante_knvk, interl_knvk, 
  9.        mandante_knvi, cliente_knvi, pais_knvi, tpimpto_knvi,
  10.        mandante_adrc, n_direc_adrc, de_adrc, 
  11.        mandante_adr2, n_direc_adr2, persona_adr2, de_adr2, numactual_adr2
  12.    )",
  13.    engine='ReplacingMergeTree(_version)',
  14.    materialized='incremental',
  15.    incremental_strategy='append')
  16. }}

  17. WITH SD_MAESTRO_CLIENTES  AS (
  18.    SELECT 
  19.        kna1.mandante AS mandante_kna1,
  20.        kna1.cliente AS cliente_kna1,
  21.        kna1.pais AS pais_kna1,
  22.        kna1.nombre AS nombre_kna1,
  23.        kna1.nombre_2 AS nombre_2_kna1,
  24.        kna1.poblacion AS poblacion_kna1,
  25.        kna1.cp AS cp_kna1,
  26.        kna1.region AS region_kna1,
  27.        kna1.concbusq AS concbusq_kna1,
  28.        kna1.calle AS calle_kna1,
  29.        kna1.telefono_1 AS telefono_1_kna1,
  30.        kna1.telefax AS telefax_kna1,
  31.        kna1.cuenta_cpd AS cuenta_cpd_kna1,
  32.        kna1.direccion AS direccion_kna1,
  33.        kna1.nombre1 AS nombre1_kna1,
  34.        kna1.nombre2 AS nombre2_kna1,
  35.        kna1.poblacion1 AS poblacion1_kna1,
  36.        kna1.tratam AS tratam_kna1,
  37.        kna1.central AS central_kna1,
  38.        kna1.estferrexp AS estferrexp_kna1,
  39.        kna1.estaciontr AS estaciontr_kna1,
  40.        kna1.autoriz AS autoriz_kna1,
  41.        kna1.ramo AS ramo_kna1,
  42.        kna1.fecreac AS fecreac_kna1,
  43.        kna1.autor AS autor_kna1,
  44.        kna1.ptodesc AS ptodesc_kna1,
  45.        kna1.central1 AS central1_kna1,
  46.        kna1.grupo AS grupo_kna1,
  47.        kna1.grcuentas AS grcuentas_kna1,
  48.        kna1.clclte AS clclte_kna1,
  49.        kna1.acreedor AS acreedor_kna1,
  50.        kna1.central2 AS central2_kna1,
  51.        kna1.codloc AS codloc_kna1,
  52.        kna1.petborrado AS petborrado_kna1,
  53.        kna1.nombre_3 AS nombre_3_kna1,
  54.        kna1.nombre_4 AS nombre_4_kna1,
  55.        kna1.distrito AS distrito_kna1,
  56.        kna1.apartado AS apartado_kna1,
  57.        kna1.cp_apdo AS cp_apdo_kna1,
  58.        kna1.bloqcontab AS bloqcontab_kna1,
  59.        kna1.idioma AS idioma_kna1,
  60.        kna1.nif1 AS nif1_kna1,
  61.        kna1.nif_2 AS nif_2_kna1,
  62.        kna1.telefono_2 AS telefono_2_kna1,
  63.        kna1.telex AS telex_kna1,
  64.        kna1.zona AS zona_kna1,
  65.        kna1.socglasoc AS socglasoc_kna1,
  66.        kna1.codramo_1 AS codramo_1_kna1,
  67.        kna1.codramo_2 AS codramo_2_kna1,
  68.        kna1.codramo_3 AS codramo_3_kna1,
  69.        kna1.codramo_4 AS codramo_4_kna1,
  70.        kna1.codramo_5 AS codramo_5_kna1,
  71.        kna1.atributo_1 AS atributo_1_kna1,
  72.        kna1.atributo_2 AS atributo_2_kna1,
  73.        kna1.atributo_3 AS atributo_3_kna1,
  74.        kna1.atributo_4 AS atributo_4_kna1,
  75.        kna1.atributo_5 AS atributo_5_kna1,
  76.        kna1.atributo_6 AS atributo_6_kna1,
  77.        kna1.atributo_7 AS atributo_7_kna1,
  78.        kna1.persfis AS persfis_kna1,
  79.        kna1.pobapdo AS pobapdo_kna1,
  80.        kna1.status AS status_kna1,
  81.        kna1.utilcivil AS utilcivil_kna1,
  82.        kna1.climpto AS climpto_kna1,
  83.        kna1.tipo_nif AS tipo_nif_kna1,
  84.        kna1.nif_3 AS nif_3_kna1,
  85.        kna1.central3 AS central3_kna1,
  86.        kna1.bloqborr AS bloqborr_kna1,
  87.        kna1.nocertif AS nocertif_kna1,
  88.        kna1.valido_de AS valido_de_kna1,
  89.        kna1.valido_a AS valido_a_kna1,
  90.        kna1.timestamp AS timestamp_kna1
  91.    FROM  {{ source('oneconnect', 'PR0_B_SD_MAESTRO_CLIENTES') }} AS kna1
  92.    FINAL
  93.    {% if is_incremental() %}
  94.    WHERE 
  95.        kna1.timestamp >= (select max(timestamp_kna1) from {{this}}) 
  96.    {% endif %}

  97. ),

  98. SD_CLIENTES_AREAS_VTAS AS (
  99.    SELECT
  100.        knvv.mandante AS mandante_knvv,
  101.        knvv.cliente AS cliente_knvv,
  102.        knvv.orgventas AS orgventas_knvv,
  103.        knvv.candistr AS candistr_knvv,
  104.        knvv.sector AS sector_knvv,
  105.        knvv.creado AS creado_knvv,
  106.        knvv.el AS el_knvv,
  107.        knvv.petborr AS petborr_knvv,
  108.        knvv.grestclien AS grestclien_knvv,
  109.        knvv.comercial AS comercial_knvv,
  110.        knvv.esquema AS esquema_knvv,
  111.        knvv.grclient AS grclient_knvv,
  112.        knvv.zona_vta AS zona_vta_knvv,
  113.        knvv.grprecios AS grprecios_knvv,
  114.        knvv.listaprec AS listaprec_knvv,
  115.        knvv.probabil AS probabil_knvv,
  116.        knvv.incoterms AS incoterms_knvv,
  117.        knvv.comercial1 AS comercial1_knvv,
  118.        knvv.maxentrpar AS maxentrpar_knvv,
  119.        knvv.agrupam AS agrupam_knvv,
  120.        knvv.n_cuenta AS n_cuenta_knvv,
  121.        knvv.condexp AS condexp_knvv,
  122.        knvv.comercial2 AS comercial2_knvv,
  123.        knvv.moneda AS moneda_knvv,
  124.        knvv.grimput AS grimput_knvv,
  125.        knvv.condpago AS condpago_knvv,
  126.        knvv.cesumin AS cesumin_knvv,
  127.        knvv.grvendedor AS grvendedor_knvv,
  128.        knvv.oficvta AS oficvta_knvv,
  129.        knvv.grclient1 AS grclient1_knvv,
  130.        knvv.grclient3 AS grclient3_knvv,
  131.        knvv.grclient5 AS grclient5_knvv,
  132.        knvv.ventas AS ventas_knvv,
  133.        knvv.relare AS relare_knvv,
  134.        knvv.timestamp AS timestamp_knvv
  135.    FROM  {{ source('oneconnect', 'PR0_B_SD_CLIENTES_AREAS_VTAS') }} AS knvv
  136.    FINAL
  137.    {% if is_incremental() %}
  138.    WHERE 
  139.        knvv.timestamp >= (select max(timestamp_knvv) from {{this}}) 
  140.    {% endif %}
  141. ),

  142. SD_CLIENTES_INTERLOCUTORES AS (
  143.    SELECT
  144.        knvp.mandante AS mandante_knvp,
  145.        knvp.cliente AS cliente_knvp,
  146.        knvp.orgventas AS orgventas_knvp,
  147.        knvp.candistr AS candistr_knvp,
  148.        knvp.sector AS sector_knvp,
  149.        knvp.funcion AS funcion_knvp,
  150.        knvp.continterl AS continterl_knvp,
  151.        knvp.cliente1 AS cliente1_knvp,
  152.        knvp.n_pers AS n_pers_knvp,
  153.        knvp.interl AS interl_knvp,
  154.        knvp.denointerl AS denointerl_knvp,
  155.        knvp.interldef AS interldef_knvp,
  156.        knvp.timestamp AS timestamp_knvp
  157.    FROM  {{ source('oneconnect', 'PR0_B_SD_CLIENTES_INTERLOCUTORES') }} AS knvp
  158.    FINAL
  159.    {% if is_incremental() %}
  160.    WHERE 
  161.        knvp.timestamp >= (select max(timestamp_knvp) from {{this}}) 
  162.    {% endif %
  163. ),

  164. SD_CLIENTES_SOCIEDAD AS (
  165.    SELECT
  166.        knb1.mandante AS mandante_knb1,
  167.        knb1.cliente AS cliente_knb1,
  168.        knb1.soc AS soc_knb1,
  169.        knb1.n_pers AS n_pers_knb1,
  170.        knb1.fecreac AS fecreac_knb1,
  171.        knb1.autor AS autor_knb1,
  172.        knb1.blqcont AS blqcont_knb1,
  173.        knb1.petborrado AS petborrado_knb1,
  174.        knb1.clvclas AS clvclas_knb1,
  175.        knb1.resp AS resp_knb1,
  176.        knb1.ctaasoc AS ctaasoc_knb1,
  177.        knb1.autoriz AS autoriz_knb1,
  178.        knb1.comercial AS comercial_knb1,
  179.        knb1.vias_pago AS vias_pago_knb1,
  180.        knb1.condpago AS condpago_knb1,
  181.        knb1.grtes AS grtes_knb1,
  182.        knb1.entidad AS entidad_knb1,
  183.        knb1.valaseg AS valaseg_knb1,
  184.        knb1.meses AS meses_knb1,
  185.        knb1.particip AS particip_knb1,
  186.        knb1.contrato AS contrato_knb1,
  187.        knb1.validez_a AS validez_a_knb1,
  188.        knb1.extrcta AS extrcta_knb1,
  189.        knb1.limefecto AS limefecto_knb1,
  190.        knb1.histpago AS histpago_knb1,
  191.        knb1.nctaant AS nctaant_knb1,
  192.        knb1.clvagrup AS clvagrup_knb1,
  193.        knb1.bloqborr AS bloqborr_knb1,
  194.        knb1.pais_ret AS pais_ret_knb1,
  195.        knb1.timestamp AS timestamp_knb1
  196.    FROM  {{ source('oneconnect', 'PR0_B_SD_CLIENTES_SOCIEDAD') }} AS knb1
  197.    FINAL
  198.    {% if is_incremental() %}
  199.    WHERE 
  200.        knb1.timestamp >= (select max(timestamp_knb1) from {{this}}) 
  201.    {% endif %
  202. ),

  203. SD_CLIENTES_DESCARGAS AS (
  204.    SELECT 
  205.        knva.mandante AS mandante_knva,
  206.        knva.cliente AS cliente_knva,
  207.        knva.ptodesc AS ptodesc_knva,
  208.        knva.calenclien AS calenclien_knva,
  209.        knva.lgdesdef AS lgdesdef_knva,
  210.        knva.timestamp AS timestamp_knva
  211.    FROM  {{ source('oneconnect', 'PR0_B_SD_CLIENTES_DESCARGAS') }} AS knva
  212.    FINAL
  213.    {% if is_incremental() %}
  214.    WHERE 
  215.        knva.timestamp >= (select max(timestamp_knva) from {{this}}) 
  216.    {% endif %
  217. ),

  218. SD_CLIENTES_CONTACTOS AS (
  219.    SELECT
  220.        knvk.mandante AS mandante_knvk,
  221.        knvk.interl AS interl_knvk,
  222.        knvk.cliente AS cliente_knvk,
  223.        knvk.nombre AS nombre_knvk,
  224.        knvk.nombre1 AS nombre1_knvk,
  225.        knvk.direcprof AS direcprof_knvk,
  226.        knvk.dpto_clien AS dpto_clien_knvk,
  227.        knvk.depto AS depto_knvk,
  228.        knvk.telefono_1 AS telefono_1_knvk,
  229.        knvk.tratam AS tratam_knvk,
  230.        knvk.funcion AS funcion_knvk,
  231.        knvk.podergral AS podergral_knvk,
  232.        knvk.vip AS vip_knvk,
  233.        knvk.genero AS genero_knvk,
  234.        knvk.idioma AS idioma_knvk,
  235.        knvk.fecha_nac AS fecha_nac_knvk,
  236.        knvk.envpublic AS envpublic_knvk,
  237.        knvk.comentario AS comentario_knvk,
  238.        knvk.atrib1 AS atrib1_knvk,
  239.        knvk.lunes AS lunes_knvk,
  240.        knvk.lunes1 AS lunes1_knvk,
  241.        knvk.lunes2 AS lunes2_knvk,
  242.        knvk.lunes3 AS lunes3_knvk,
  243.        knvk.martes AS martes_knvk,
  244.        knvk.martes1 AS martes1_knvk,
  245.        knvk.martes2 AS martes2_knvk,
  246.        knvk.martes3 AS martes3_knvk,
  247.        knvk.miercoles AS miercoles_knvk,
  248.        knvk.miercoles1 AS miercoles1_knvk,
  249.        knvk.miercoles2 AS miercoles2_knvk,
  250.        knvk.miercoles3 AS miercoles3_knvk,
  251.        knvk.jueves AS jueves_knvk,
  252.        knvk.jueves1 AS jueves1_knvk,
  253.        knvk.jueves2 AS jueves2_knvk,
  254.        knvk.jueves3 AS jueves3_knvk,
  255.        knvk.viernes AS viernes_knvk,
  256.        knvk.viernes1 AS viernes1_knvk,
  257.        knvk.viernes2 AS viernes2_knvk,
  258.        knvk.viernes3 AS viernes3_knvk,
  259.        knvk.sabado AS sabado_knvk,
  260.        knvk.sabado1 AS sabado1_knvk,
  261.        knvk.sabado2 AS sabado2_knvk,
  262.        knvk.sabado3 AS sabado3_knvk,
  263.        knvk.domingo AS domingo_knvk,
  264.        knvk.domingo1 AS domingo1_knvk,
  265.        knvk.domingo2 AS domingo2_knvk,
  266.        knvk.domingo3 AS domingo3_knvk,
  267.        knvk.concbusq AS concbusq_knvk,
  268.        knvk.estcivil AS estcivil_knvk,
  269.        knvk.apodo AS apodo_knvk,
  270.        knvk.titulofun AS titulofun_knvk,
  271.        knvk.fecreac AS fecreac_knvk,
  272.        knvk.autor AS autor_knvk,
  273.        knvk.status AS status_knvk,
  274.        knvk.acreedor AS acreedor_knvk,
  275.        knvk.origen AS origen_knvk,
  276.        knvk.n_direc AS n_direc_knvk,
  277.        knvk.persona AS persona_knvk,
  278.        knvk.timestamp AS timestamp_knvk
  279.  FROM  {{ source('oneconnect', 'PR0_B_SD_CLIENTES_CONTACTOS') }} AS knvk
  280.    FINAL
  281.    {% if is_incremental() %}
  282.    WHERE 
  283.        knvk.timestamp >= (select max(timestamp_knvk) from {{this}}) 
  284.    {% endif %}
  285. ),

  286. SD_CLIENTES_IMPUESTO AS (
  287.    SELECT 
  288.        knvi.mandante AS mandante_knvi,
  289.        knvi.cliente AS cliente_knvi,
  290.        knvi.pais AS pais_knvi,
  291.        knvi.tpimpto AS tpimpto_knvi,
  292.        knvi.clasfisc AS clasfisc_knvi,
  293.        knvi.timestamp AS timestamp_knvi
  294.    FROM  {{ source('oneconnect', 'PR0_B_SD_CLIENTES_IMPUESTO') }} AS knvi
  295.    FINAL
  296.    {% if is_incremental() %}
  297.    WHERE 
  298.        knvi.timestamp >= (select max(timestamp_knvi) from {{this}}) 
  299.    {% endif %}
  300. ),

  301. DIRECCION AS (
  302.    SELECT 
  303.        adrc.mandante AS mandante_adrc,
  304.        adrc.n_direc AS n_direc_adrc,
  305.        adrc.de AS de_adrc,
  306.        adrc.AS a_adrc,
  307.        adrc.tratam AS tratam_adrc,
  308.        adrc.nombre AS nombre_adrc,
  309.        adrc.nombre_2 AS nombre_2_adrc,
  310.        adrc.nombre_3 AS nombre_3_adrc,
  311.        adrc.nombre_4 AS nombre_4_adrc,
  312.        adrc.nomconvdo AS nomconvdo_adrc,
  313.        adrc.co AS co_adrc,
  314.        adrc.poblacion AS poblacion_adrc,
  315.        adrc.distrito AS distrito_adrc,
  316.        adrc.lugresid AS lugresid_adrc,
  317.        adrc.stverif AS stverif_adrc,
  318.        adrc.estrreg AS estrreg_adrc,
  319.        adrc.codpostal AS codpostal_adrc,
  320.        adrc.codpostal1 AS codpostal1_adrc,
  321.        adrc.codpostal2 AS codpostal2_adrc,
  322.        adrc.apartado AS apartado_adrc,
  323.        adrc.pobapart AS pobapart_adrc,
  324.        adrc.zona AS zona_adrc,
  325.        adrc.calle AS calle_adrc,
  326.        adrc.AS n_adrc,
  327.        adrc.apendice AS apendice_adrc,
  328.        adrc.calle_2 AS calle_2_adrc,
  329.        adrc.calle_3 AS calle_3_adrc,
  330.        adrc.calle_4 AS calle_4_adrc,
  331.        adrc.calle_5 AS calle_5_adrc,
  332.        adrc.edificios AS edificios_adrc,
  333.        adrc.piso AS piso_adrc,
  334.        adrc.habit AS habit_adrc,
  335.        adrc.pais AS pais_adrc,
  336.        adrc.idioma AS idioma_adrc,
  337.        adrc.region AS region_adrc,
  338.        adrc.grdirec AS grdirec_adrc,
  339.        adrc.dirpers AS dirpers_adrc,
  340.        adrc.conceptbusq1 AS conceptbusq1_adrc,
  341.        adrc.conceptbusq2 AS conceptbusq2_adrc,
  342.        adrc.forma_com AS forma_com_adrc,
  343.        adrc.telefono AS telefono_adrc,
  344.        adrc.extension AS extension_adrc,
  345.        adrc.fax AS fax_adrc,
  346.        adrc.extension1 AS extension1_adrc,
  347.        adrc.telefono1 AS telefono1_adrc,
  348.        adrc.telefax AS telefax_adrc,
  349.        adrc.telex AS telex_adrc,
  350.        adrc.corelec AS corelec_adrc,
  351.        adrc.uriftp AS uriftp_adrc,
  352.        adrc.pager AS pager_adrc,
  353.        adrc.nombre1 AS nombre1_adrc,
  354.        adrc.poblacion1 AS poblacion1_adrc,
  355.        adrc.calle1 AS calle1_adrc,
  356.        adrc.lindatos AS lindatos_adrc,
  357.        adrc.telebox AS telebox_adrc,
  358.        adrc.huso_hor AS huso_hor_adrc,
  359.        adrc.domfiscal AS domfiscal_adrc,
  360.        adrc.idioma1 AS idioma1_adrc,
  361.        adrc.uuid AS uuid_adrc,
  362.        adrc.estacion AS estacion_adrc,
  363.        adrc.timestamp AS timestamp_adrc
  364.    FROM  {{ source('oneconnect', 'PR0_B_DM_CLIENTE_DIRECCION') }} AS adrc
  365.    FINAL
  366.    {% if is_incremental() %}
  367.    WHERE 
  368.        adrc.timestamp >= (select max(timestamp_adrc) from {{this}}) 
  369.    {% endif %}
  370. ),

  371. DM_CLIENTE_TELEFONO AS (
  372.    SELECT
  373.        adr2.mandante AS mandante_adr2,
  374.        adr2.n_direc AS n_direc_adr2,
  375.        adr2.persona AS persona_adr2,
  376.        adr2.de AS de_adr2,
  377.        adr2.numactual AS numactual_adr2,
  378.        adr2.pais AS pais_adr2,
  379.        adr2.nestan AS nestan_adr2,
  380.        adr2.npaisorig AS npaisorig_adr2,
  381.        adr2.telefono AS telefono_adr2,
  382.        adr2.extension AS extension_adr2,
  383.        adr2.telefono1 AS telefono1_adr2,
  384.        adr2.n_persqll AS n_persqll_adr2,
  385.        adr2.sms AS sms_adr2,
  386.        adr2.telmovil AS telmovil_adr2,
  387.        adr2.timestamp AS timestamp_adr2
  388.    FROM  {{ source('oneconnect', 'PR0_B_DM_CLIENTE_TELEFONO') }} AS adr2
  389.    FINAL
  390.    {% if is_incremental() %}
  391.    WHERE 
  392.        adr2.timestamp >= (select max(timestamp_adr2) from {{this}}) 
  393.    {% endif %}
  394. )

  395. SELECT 
  396.    kna1.*,
  397.    knvv.*,
  398.    knvp.*,
  399.    knb1.*,
  400.    knva.*,
  401.    knvk.*,
  402.    knvi.*,
  403.    adrc.*,
  404.    adr2.*,
  405.    now64() as _version
  406. FROM SD_MAESTRO_CLIENTES AS kna1
  407. INNER JOIN SD_CLIENTES_AREAS_VTAS AS knvv 
  408.  ON knvv.mandante_knvv = kna1.mandante_kna1
  409.  AND knvv.cliente_knvv = kna1.cliente_kna1
  410. INNER JOIN SD_CLIENTES_INTERLOCUTORES AS knvp 
  411.  ON knvp.mandante_knvp = knvv.mandante_knvv 
  412.  AND knvp.cliente_knvp = knvv.cliente_knvv 
  413.  AND knvp.orgventas_knvp = knvv.orgventas_knvv 
  414.  AND knvp.candistr_knvp = knvv.candistr_knvv    
  415.  AND knvp.sector_knvp = knvv.sector_knvv
  416. INNER JOIN SD_CLIENTES_SOCIEDAD AS knb1 
  417.  ON knb1.mandante_knb1 = knvv.mandante_knvv 
  418.  AND knb1.cliente_knb1 = knvv.cliente_knvv
  419. LEFT JOIN SD_CLIENTES_DESCARGAS AS knva 
  420.  ON knva.mandante_knva = kna1.mandante_kna1 
  421.  AND knva.cliente_knva = kna1.cliente_kna1
  422. LEFT JOIN SD_CLIENTES_CONTACTOS AS knvk 
  423.  ON knvk.mandante_knvk = kna1.mandante_kna1
  424.  AND knvk.cliente_knvk = kna1.cliente_kna1
  425. LEFT JOIN SD_CLIENTES_IMPUESTO AS knvi 
  426.  ON knvi.mandante_knvi = kna1.mandante_kna1
  427.  AND knvi.cliente_knvi = kna1.cliente_kna1
  428. LEFT JOIN DIRECCION AS adrc 
  429. -- CASO ESPECIAL, POR QUE USA EL MISMO CAMPO PARA HACER JOIN EN ADR2 DEBE SER LEFT JOIN A PESAR QUE ADRC ES MANDATORIO
  430.  ON adrc.mandante_adrc = kna1.mandante_kna1 
  431.  AND adrc.n_direc_adrc = kna1.direccion_kna1
  432. LEFT JOIN DM_CLIENTE_TELEFONO AS adr2 
  433.  ON adr2.mandante_adr2 = kna1.mandante_kna1 
  434.  AND adr2.n_direc_adr2 = kna1.direccion_kna1



Alias y campos de SAP utilizados 

TABLE

Field Alias

COLUMN NAME

SAP

ADR2

mandante

mandante_ADR2

CLIENT

ADR2

n_direc

n_direc_ADR2

ADDRNUMBER

ADR2

persona

persona_ADR2

PERSNUMBER

ADR2

de

de_ADR2

DATE_FROM

ADR2

numactual

numactual_ADR2

CONSNUMBER

ADR2

pais

pais_ADR2

COUNTRY

ADR2

nestan

nestan_ADR2

FLGDEFAULT

ADR2

npaisorig

npaisorig_ADR2

HOME_FLAG

ADR2

telefono

telefono_ADR2

TEL_NUMBER

ADR2

extension

extension_ADR2

TEL_EXTENS

ADR2

telefono1

telefono1_ADR2

TELNR_LONG

ADR2

n_persqll

n_persqll_ADR2

TELNR_CALL

ADR2

sms

sms_ADR2

DFT_RECEIV

ADR2

telmovil

telmovil_ADR2

R3_USER

ADRC

mandante

mandante_ADRC

CLIENT

ADRC

n_direc

n_direc_ADRC

ADDRNUMBER

ADRC

de

de_ADRC

DATE_FROM

ADRC

a

a_ADRC

DATE_TO

ADRC

tratam

tratam_ADRC

TITLE

ADRC

nombre

nombre_ADRC

NAME1

ADRC

nombre_2

nombre_2_ADRC

NAME2

ADRC

nombre_3

nombre_3_ADRC

NAME3

ADRC

nombre_4

nombre_4_ADRC

NAME4

ADRC

nomconvdo

nomconvdo_ADRC

NAME_TEXT

ADRC

co

co_ADRC

NAME_CO

ADRC

poblacion

poblacion_ADRC

CITY1

ADRC

distrito

distrito_ADRC

CITY2

ADRC

lugresid

lugresid_ADRC

HOME_CITY

ADRC

stverif

stverif_ADRC

CHCKSTATUS

ADRC

estrreg

estrreg_ADRC

REGIOGROUP

ADRC

codpostal

codpostal_ADRC

POST_CODE1

ADRC

codpostal1

codpostal1_ADRC

POST_CODE2

ADRC

codpostal2

codpostal2_ADRC

POST_CODE3

ADRC

apartado

apartado_ADRC

PO_BOX

ADRC

pobapart

pobapart_ADRC

PO_BOX_LOC

ADRC

zona

zona_ADRC

TRANSPZONE

ADRC

calle

calle_ADRC

STREET

ADRC

n

n_ADRC

HOUSE_NUM1

ADRC

apendice

apendice_ADRC

HOUSE_NUM2

ADRC

calle_2

calle_2_ADRC

STR_SUPPL1

ADRC

calle_3

calle_3_ADRC

STR_SUPPL2

ADRC

calle_4

calle_4_ADRC

STR_SUPPL3

ADRC

calle_5

calle_5_ADRC

LOCATION

ADRC

edificios

edificios_ADRC

BUILDING

ADRC

piso

piso_ADRC

FLOOR

ADRC

habit

habit_ADRC

ROOMNUMBER

ADRC

pais

pais_ADRC

COUNTRY

ADRC

idioma

idioma_ADRC

LANGU

ADRC

region

region_ADRC

REGION

ADRC

grdirec

grdirec_ADRC

ADDR_GROUP

ADRC

dirpers

dirpers_ADRC

PERS_ADDR

ADRC

conceptbusq1

conceptbusq1_ADRC

SORT1

ADRC

conceptbusq2

conceptbusq2_ADRC

SORT2

ADRC

forma_com

forma_com_ADRC

DEFLT_COMM

ADRC

telefono

telefono_ADRC

TEL_NUMBER

ADRC

extension

extension_ADRC

TEL_EXTENS

ADRC

fax

fax_ADRC

FAX_NUMBER

ADRC

extension1

extension1_ADRC

FAX_EXTENS

ADRC

telefono1

telefono1_ADRC

FLAGCOMM2

ADRC

telefax

telefax_ADRC

FLAGCOMM3

ADRC

telex

telex_ADRC

FLAGCOMM5

ADRC

corelec

corelec_ADRC

FLAGCOMM6

ADRC

uriftp

uriftp_ADRC

FLAGCOMM12

ADRC

pager

pager_ADRC

FLAGCOMM13

ADRC

nombre1

nombre1_ADRC

MC_NAME1

ADRC

poblacion1

poblacion1_ADRC

MC_CITY1

ADRC

calle1

calle1_ADRC

MC_STREET

ADRC

lindatos

lindatos_ADRC

EXTENSION1

ADRC

telebox

telebox_ADRC

EXTENSION2

ADRC

huso_hor

huso_hor_ADRC

TIME_ZONE

ADRC

domfiscal

domfiscal_ADRC

TAXJURCODE

ADRC

idioma1

idioma1_ADRC

LANGU_CREA

ADRC

uuid

uuid_ADRC

ADRC_UUID

ADRC

estacion

estacion_ADRC

PO_BOX_LOBBY

KNA1

mandante

mandante_KNA1

MANDT

KNA1

cliente

cliente_KNA1

KUNNR

KNA1

pais

pais_KNA1

LAND1

KNA1

nombre

nombre_KNA1

NAME1

KNA1

nombre_2

nombre_2_KNA1

NAME2

KNA1

poblacion

poblacion_KNA1

ORT01

KNA1

cp

cp_KNA1

PSTLZ

KNA1

region

region_KNA1

REGIO

KNA1

concbusq

concbusq_KNA1

SORTL

KNA1

calle

calle_KNA1

STRAS

KNA1

telefono_1

telefono_1_KNA1

TELF1

KNA1

telefax

telefax_KNA1

TELFX

KNA1

cuenta_cpd

cuenta_cpd_KNA1

XCPDK

KNA1

direccion

direccion_KNA1

ADRNR

KNA1

nombre1

nombre1_KNA1

MCOD1

KNA1

nombre2

nombre2_KNA1

MCOD2

KNA1

poblacion1

poblacion1_KNA1

MCOD3

KNA1

tratam

tratam_KNA1

ANRED

KNA1

central

central_KNA1

AUFSD

KNA1

estferrexp

estferrexp_KNA1

BAHNE

KNA1

estaciontr

estaciontr_KNA1

BAHNS

KNA1

autoriz

autoriz_KNA1

BEGRU

KNA1

ramo

ramo_KNA1

BRSCH

KNA1

fecreac

fecreac_KNA1

ERDAT

KNA1

autor

autor_KNA1

ERNAM

KNA1

ptodesc

ptodesc_KNA1

EXABL

KNA1

central1

central1_KNA1

FAKSD

KNA1

grupo

grupo_KNA1

KONZS

KNA1

grcuentas

grcuentas_KNA1

KTOKD

KNA1

clclte

clclte_KNA1

KUKLA

KNA1

acreedor

acreedor_KNA1

LIFNR

KNA1

central2

central2_KNA1

LIFSD

KNA1

codloc

codloc_KNA1

LOCCO

KNA1

petborrado

petborrado_KNA1

LOEVM

KNA1

nombre_3

nombre_3_KNA1

NAME3

KNA1

nombre_4

nombre_4_KNA1

NAME4

KNA1

distrito

distrito_KNA1

ORT02

KNA1

apartado

apartado_KNA1

PFACH

KNA1

cp_apdo

cp_apdo_KNA1

PSTL2

KNA1

bloqcontab

bloqcontab_KNA1

SPERR

KNA1

idioma

idioma_KNA1

SPRAS

KNA1

nif1

nif1_KNA1

STCD1

KNA1

nif_2

nif_2_KNA1

STCD2

KNA1

telefono_2

telefono_2_KNA1

TELF2

KNA1

telex

telex_KNA1

TELX1

KNA1

zona

zona_KNA1

LZONE

KNA1

socglasoc

socglasoc_KNA1

VBUND

KNA1

codramo_1

codramo_1_KNA1

BRAN1

KNA1

codramo_2

codramo_2_KNA1

BRAN2

KNA1

codramo_3

codramo_3_KNA1

BRAN3

KNA1

codramo_4

codramo_4_KNA1

BRAN4

KNA1

codramo_5

codramo_5_KNA1

BRAN5

KNA1

atributo_1

atributo_1_KNA1

KATR1

KNA1

atributo_2

atributo_2_KNA1

KATR2

KNA1

atributo_3

atributo_3_KNA1

KATR3

KNA1

atributo_4

atributo_4_KNA1

KATR4

KNA1

atributo_5

atributo_5_KNA1

KATR5

KNA1

atributo_6

atributo_6_KNA1

KATR6

KNA1

atributo_7

atributo_7_KNA1

KATR7

KNA1

persfis

persfis_KNA1

STKZN

KNA1

pobapdo

pobapdo_KNA1

PFORT

KNA1

status

status_KNA1

DUEFL

KNA1

utilcivil

utilcivil_KNA1

CIVVE

KNA1

climpto

climpto_KNA1

FITYP

KNA1

tipo_nif

tipo_nif_KNA1

STCDT

KNA1

nif_3

nif_3_KNA1

STCD3

KNA1

central3

central3_KNA1

CASSD

KNA1

bloqborr

bloqborr_KNA1

NODEL

KNA1

nocertif

nocertif_KNA1

CERTNUM

KNA1

valido_de

valido_de_KNA1

CERTDE

KNA1

valido_a

valido_a_KNA1

CERTA

KNB1

mandante

mandante_KNB1

MANDT

KNB1

cliente

cliente_KNB1

KUNNR

KNB1

soc

soc_KNB1

BUKRS

KNB1

n_pers

n_pers_KNB1

PERNR

KNB1

fecreac

fecreac_KNB1

ERDAT

KNB1

autor

autor_KNB1

ERNAM

KNB1

blqcont

blqcont_KNB1

SPERR

KNB1

petborrado

petborrado_KNB1

LOEVM

KNB1

clvclas

clvclas_KNB1

ZUAWA

KNB1

resp

resp_KNB1

BUSAB

KNB1

ctaasoc

ctaasoc_KNB1

AKONT

KNB1

autoriz

autoriz_KNB1

BEGRU

KNB1

comercial

comercial_KNB1

ZAMIV

KNB1

vias_pago

vias_pago_KNB1

ZWELS

KNB1

condpago

condpago_KNB1

ZTERM

KNB1

grtes

grtes_KNB1

FDGRV

KNB1

entidad

entidad_KNB1

VRBKZ

KNB1

valaseg

valaseg_KNB1

VLIBB

KNB1

meses

meses_KNB1

VRSZL

KNB1

particip

particip_KNB1

VRSPR

KNB1

contrato

contrato_KNB1

VRSNR

KNB1

validez_a

validez_a_KNB1

VERDT

KNB1

extrcta

extrcta_KNB1

XAUSZ

KNB1

limefecto

limefecto_KNB1

WEBTR

KNB1

histpago

histpago_KNB1

XZVER

KNB1

nctaant

nctaant_KNB1

ALTKN

KNB1

clvagrup

clvagrup_KNB1

MGRUP

KNB1

bloqborr

bloqborr_KNB1

NODEL

KNB1

pais_ret

pais_ret_KNB1

QLAND

KNVA

mandante

mandante_KNVA

MANDT

KNVA

cliente

cliente_KNVA

KUNNR

KNVA

ptodesc

ptodesc_KNVA

ABLAD

KNVA

calenclien

calenclien_KNVA

KNFAK

KNVA

lgdesdef

lgdesdef_KNVA

DEFAB

KNVI

mandante

mandante_KNVI

MANDT

KNVI

cliente

cliente_KNVI

KUNNR

KNVI

pais

pais_KNVI

ALAND

KNVI

tpimpto

tpimpto_KNVI

TATYP

KNVI

clasfisc

clasfisc_KNVI

TAXKD

KNVK

mandante

mandante_KNVK

MANDT

KNVK

interl

interl_KNVK

PARNR

KNVK

cliente

cliente_KNVK

KUNNR

KNVK

nombre

nombre_KNVK

NAMEV

KNVK

nombre1

nombre1_KNVK

NAME1

KNVK

direcprof

direcprof_KNVK

ADRND

KNVK

dpto_clien

dpto_clien_KNVK

ABTPA

KNVK

depto

depto_KNVK

ABTNR

KNVK

telefono_1

telefono_1_KNVK

TELF1

KNVK

tratam

tratam_KNVK

ANRED

KNVK

funcion

funcion_KNVK

PAFKT

KNVK

podergral

podergral_KNVK

PARVO

KNVK

vip

vip_KNVK

PAVIP

KNVK

genero

genero_KNVK

PARGE

KNVK

idioma

idioma_KNVK

PARLA

KNVK

fecha_nac

fecha_nac_KNVK

GBDAT

KNVK

envpublic

envpublic_KNVK

NMAIL

KNVK

comentario

comentario_KNVK

PARAU

KNVK

atrib1

atrib1_KNVK

PARH1

KNVK

lunes

lunes_KNVK

MOAB1

KNVK

lunes1

lunes1_KNVK

MOBI1

KNVK

lunes2

lunes2_KNVK

MOAB2

KNVK

lunes3

lunes3_KNVK

MOBI2

KNVK

martes

martes_KNVK

DIAB1

KNVK

martes1

martes1_KNVK

DIBI1

KNVK

martes2

martes2_KNVK

DIAB2

KNVK

martes3

martes3_KNVK

DIBI2

KNVK

miercoles

miercoles_KNVK

MIAB1

KNVK

miercoles1

miercoles1_KNVK

MIBI1

KNVK

miercoles2

miercoles2_KNVK

MIAB2

KNVK

miercoles3

miercoles3_KNVK

MIBI2

KNVK

jueves

jueves_KNVK

DOAB1

KNVK

jueves1

jueves1_KNVK

DOBI1

KNVK

jueves2

jueves2_KNVK

DOAB2

KNVK

jueves3

jueves3_KNVK

DOBI2

KNVK

viernes

viernes_KNVK

FRAB1

KNVK

viernes1

viernes1_KNVK

FRBI1

KNVK

viernes2

viernes2_KNVK

FRAB2

KNVK

viernes3

viernes3_KNVK

FRBI2

KNVK

sabado

sabado_KNVK

SAAB1

KNVK

sabado1

sabado1_KNVK

SABI1

KNVK

sabado2

sabado2_KNVK

SAAB2

KNVK

sabado3

sabado3_KNVK

SABI2

KNVK

domingo

domingo_KNVK

SOAB1

KNVK

domingo1

domingo1_KNVK

SOBI1

KNVK

domingo2

domingo2_KNVK

SOAB2

KNVK

domingo3

domingo3_KNVK

SOBI2

KNVK

concbusq

concbusq_KNVK

SORTL

KNVK

estcivil

estcivil_KNVK

FAMST

KNVK

apodo

apodo_KNVK

SPNAM

KNVK

titulofun

titulofun_KNVK

TITEL_AP

KNVK

fecreac

fecreac_KNVK

ERDAT

KNVK

autor

autor_KNVK

ERNAM

KNVK

status

status_KNVK

DUEFL

KNVK

acreedor

acreedor_KNVK

LIFNR

KNVK

origen

origen_KNVK

KZHERK

KNVK

n_direc

n_direc_KNVK

ADRNP_2

KNVK

persona

persona_KNVK

PRSNR

KNVP

mandante

mandante_KNVP

MANDT

KNVP

cliente

cliente_KNVP

KUNNR

KNVP

orgventas

orgventas_KNVP

VKORG

KNVP

candistr

candistr_KNVP

VTWEG

KNVP

sector

sector_KNVP

SPART

KNVP

funcion

funcion_KNVP

PARVW

KNVP

continterl

continterl_KNVP

PARZA

KNVP

cliente1

cliente1_KNVP

KUNN2

KNVP

n_pers

n_pers_KNVP

PERNR

KNVP

interl

interl_KNVP

PARNR

KNVP

denointerl

denointerl_KNVP

KNREF

KNVP

interldef

interldef_KNVP

DEFPA

KNVV

mandante

mandante_KNVV

MANDT

KNVV

cliente

cliente_KNVV

KUNNR

KNVV

orgventas

orgventas_KNVV

VKORG

KNVV

candistr

candistr_KNVV

VTWEG

KNVV

sector

sector_KNVV

SPART

KNVV

creado

creado_KNVV

ERNAM

KNVV

el

el_KNVV

ERDAT

KNVV

petborr

petborr_KNVV

LOEVM

KNVV

grestclien

grestclien_KNVV

VERSG

KNVV

comercial

comercial_KNVV

AUFSD

KNVV

esquema

esquema_KNVV

KALKS

KNVV

grclient

grclient_KNVV

KDGRP

KNVV

zona_vta

zona_vta_KNVV

BZIRK

KNVV

grprecios

grprecios_KNVV

KONDA

KNVV

listaprec

listaprec_KNVV

PLTYP

KNVV

probabil

probabil_KNVV

AWAHR

KNVV

incoterms

incoterms_KNVV

INCO1

KNVV

comercial1

comercial1_KNVV

LIFSD

KNVV

maxentrpar

maxentrpar_KNVV

ANTLF

KNVV

agrupam

agrupam_KNVV

KZAZU

KNVV

n_cuenta

n_cuenta_KNVV

EIKTO

KNVV

condexp

condexp_KNVV

VSBED

KNVV

comercial2

comercial2_KNVV

FAKSD

KNVV

moneda

moneda_KNVV

WAERS

KNVV

grimput

grimput_KNVV

KTGRD

KNVV

condpago

condpago_KNVV

ZTERM

KNVV

cesumin

cesumin_KNVV

VWERK

KNVV

grvendedor

grvendedor_KNVV

VKGRP

KNVV

oficvta

oficvta_KNVV

VKBUR

KNVV

grclient1

grclient1_KNVV

KVGR1

KNVV

grclient3

grclient3_KNVV

KVGR3

KNVV

grclient5

grclient5_KNVV

KVGR5

KNVV

ventas

ventas_KNVV

CASSD

KNVV

relare

relare_KNVV

PODKZ


    • Related Articles

    • 03. SILVER INVOICE ENTITY (DRAFT EN INGLES)

      This data model belongs to the Silver layer of the medallion architecture, where data has been cleaned, integrated, and structured for analytical use. It focuses on key tables related to the Sales and Distribution (SD) module and the Invoice ...
    • 03 SILVER SD INVOICE ECC

      ENTIDAD SILVER DE FACTURAS Este modelo de datos pertenece a la capa Silver de la arquitectura de medallón, donde los datos han sido limpiados, integrados y estructurados para su uso analítico. Se enfoca en las tablas clave relacionadas con el módulo ...
    • 08. SILVER SD SHIPPING DOCUMENT ECC

      ENTIDAD SILVER DE TRANSPORTES Este modelo de datos pertenece a la capa Silver de la arquitectura de medallón, donde los datos han sido limpiados, integrados y estructurados para su uso analítico. Se centra en la gestión del transporte y logística ...
    • 04. SILVER SD OUTBOUND DELIVERY ECC

      Este modelo de datos pertenece a la capa Silver de la arquitectura de medallón, donde los datos han sido limpiados, integrados y estructurados para su uso analítico. Se centra en las tablas clave relacionadas con el módulo Sales and Distribution (SD) ...
    • 06. SILVER SD SALES ORDER ECC

      ENTIDAD SILVER DE ORDENES DE VENTAS Este modelo de datos pertenece a la capa Silver de la arquitectura de medallón, donde los datos han sido limpiados, integrados y estructurados para su uso en el ambito OI o BI. Se centra en los pedidos de venta ...