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 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 ...
    • 05. SILVER SD SALES CONTRACT ECC

      ENTIDAD SILVER DE CONTRATOS 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 analítico. Se centra en los contratos de ventas dentro ...