03. SILVER INVOICE ENTITY (DRAFT EN INGLES)

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 subprocess in SAP ECC, providing a reliable and optimized database for advanced analytics, reporting, and decision-making in the sales and invoicing domain.

This model enables the consolidation of invoicing information into a structured format, facilitating integration with other business processes.

Entity Categorization

This entity is categorized according to its purpose and application:

BI_SILVER_SD_INVOICE_ECC

  • Purpose: Advanced analytics, report generation, and dashboard creation for invoicing and sales management.

OI_SILVER_SD_INVOICE_ECC

  • Purpose: Real-time monitoring and efficiency improvement in invoicing and revenue management processes.
  • Data Scope: Stores only sales records no older than one year, ensuring that the data remains current and relevant for operational analysis. This restriction enhances data quality within the OI domain, optimizing query performance in real-time environments.

File Paths

  1. Path:
    \ <project_root>\dbt_oneconnect_ecc\models\ORDER_TO_CASH\
    
  2. BI File Name:
    BI_ORDER_TO_CASH\BI_SILVER_SD_INVOICE_ECC.sql
    
  3. OI File Name:
    OI_ORDER_TO_CASH\OI_SILVER_SD_INVOICE_ECC.sql
    

Dependencies

  • VBRK (Invoice Header)
    Contains general invoice header data in SAP, including customer details, dates, and payment conditions.

    <client>_<environment>_SD_INVOICE_HEADER
    
  • VBRP (Invoice Items)
    Stores details of invoiced items in each invoice document, including materials, quantities, and prices.

    <client>_<environment>_SD_INVOICE_ITEM
    

Installation

Business Intelligence (BI)

  1. docker-compose up -d dbt_bi_invoice --build

Operational Insights (OI)

  1. docker-compose up -d dbt_oi_invoice --build


Executed BI SQL Model

{{ config(
    order_by="(
        mandante_vbrk, factura_vbrk,
        mandante_vbrp, factura_vbrp, posicion_vbrp
    )",
    engine='ReplacingMergeTree(_version)',
    materialized='incremental',
    incremental_strategy='append')
}}

WITH SD_FACTURA_CABECERA AS (
    SELECT 
        vbrk.mandante AS mandante_vbrk,
        vbrk.factura AS factura_vbrk,
        vbrk.clfactura AS clfactura_vbrk,
        vbrk.tipo_fact AS tipo_fact_vbrk,
        vbrk.tipo_doc AS tipo_doc_vbrk,
        vbrk.moneda AS moneda_vbrk,
        vbrk.orgventas AS orgventas_vbrk,
        vbrk.candistr AS candistr_vbrk,
        vbrk.esqcalc AS esqcalc_vbrk,
        vbrk.conddoc AS conddoc_vbrk,
        vbrk.condexp AS condexp_vbrk,
        vbrk.fechafact AS fechafact_vbrk,
        vbrk.grprecios AS grprecios_vbrk,
        vbrk.grclient AS grclient_vbrk,
        vbrk.zona_vta AS zona_vta_vbrk,
        vbrk.listaprec AS listaprec_vbrk,
        vbrk.incoterms AS incoterms_vbrk,
        vbrk.incoterms2 AS incoterms2_vbrk,
        vbrk.export AS export_vbrk,
        vbrk.statcontab AS statcontab_vbrk,
        vbrk.tratpostfc AS tratpostfc_vbrk,
        vbrk.cambiocont AS cambiocont_vbrk,
        vbrk.tc_fijo AS tc_fijo_vbrk,
        vbrk.dias_valor AS dias_valor_vbrk,
        vbrk.fevalfijad AS fevalfijad_vbrk,
        vbrk.condpago AS condpago_vbrk,
        vbrk.via_pago AS via_pago_vbrk,
        vbrk.grimput AS grimput_vbrk,
        vbrk.paisrecep AS paisrecep_vbrk,
        vbrk.region AS region_vbrk,
        vbrk.soc AS soc_vbrk,
        vbrk.clfis1clt AS clfis1clt_vbrk,
        vbrk.clfis2clt AS clfis2clt_vbrk,
        vbrk.clfis3clt AS clfis3clt_vbrk,
        vbrk.neto AS neto_vbrk,
        vbrk.critagrup AS critagrup_vbrk,
        vbrk.creado AS creado_vbrk,
        vbrk.hora AS hora_vbrk,
        vbrk.el AS el_vbrk,
        vbrk.grupo_act AS grupo_act_vbrk,
        vbrk.pagador AS pagador_vbrk,
        vbrk.solic AS solic_vbrk,
        vbrk.moneda1 AS moneda1_vbrk,
        vbrk.n_comext AS n_comext_vbrk,
        vbrk.nifcom AS nifcom_vbrk,
        vbrk.mod AS mod_vbrk,
        vbrk.docfactan AS docfactan_vbrk,
        vbrk.cllistfact AS cllistfact_vbrk,
        vbrk.clvrecl AS clvrecl_vbrk,
        vbrk.sector AS sector_vbrk,
        vbrk.acontrol AS acontrol_vbrk,
        vbrk.ctacred AS ctacred_vbrk,
        vbrk.moneda2 AS moneda2_vbrk,
        vbrk.cambio AS cambio_vbrk,
        vbrk.jertipprec AS jertipprec_vbrk,
        vbrk.socglasoc AS socglasoc_vbrk,
        vbrk.clfactper AS clfactper_vbrk,
        vbrk.ps_impto AS ps_impto_vbrk,
        vbrk.ornif AS ornif_vbrk,
        vbrk.pais_nif AS pais_nif_vbrk,
        vbrk.referencia AS referencia_vbrk,
        vbrk.asignacion AS asignacion_vbrk,
        vbrk.impuesto AS impuesto_vbrk,
        vbrk.sistlog AS sistlog_vbrk,
        vbrk.anulada AS anulada_vbrk,
        vbrk.optriang AS optriang_vbrk,
        vbrk.n_docfin AS n_docfin_vbrk,
        vbrk.feconv AS feconv_vbrk,
        vbrk.moncartcre AS moncartcre_vbrk,
        vbrk.tpcambcart AS tpcambcart_vbrk,
        vbrk.referpago AS referpago_vbrk,
        vbrk.timestamp AS timestamp_vbrk
    FROM  {{ source('oneconnect', 'PR0_B_SD_FACTURA_CABECERA') }} AS vbrk
    FINAL
    {% if is_incremental() %}
    WHERE 
        vbrk.timestamp >= (select max(timestamp_vbrk) from {{this}})
    {% endif %}
),

SD_FACTURA_PARTIDA AS (
    SELECT 
        vbrp.mandante AS mandante_vbrp,
        vbrp.factura AS factura_vbrp,
        vbrp.posicion AS posicion_vbrp,
        vbrp.pos_sup AS pos_sup_vbrp,
        vbrp.ctdfact AS ctdfact_vbrp,
        vbrp.um_venta AS um_venta_vbrp,
        vbrp.contador AS contador_vbrp,
        vbrp.denomin AS denomin_vbrp,
        vbrp.unidad AS unidad_vbrp,
        vbrp.ctdfacume AS ctdfacume_vbrp,
        vbrp.ctdneces AS ctdneces_vbrp,
        vbrp.neto AS neto_vbrp,
        vbrp.bruto AS bruto_vbrp,
        vbrp.unidad1 AS unidad1_vbrp,
        vbrp.volumen AS volumen_vbrp,
        vbrp.unvolumen AS unvolumen_vbrp,
        vbrp.division AS division_vbrp,
        vbrp.feprecio AS feprecio_vbrp,
        vbrp.fepresserv AS fepresserv_vbrp,
        vbrp.tpcambio AS tpcambio_vbrp,
        vbrp.valor_neto AS valor_neto_vbrp,
        vbrp.causante AS causante_vbrp,
        vbrp.posicion1 AS posicion1_vbrp,
        vbrp.docmodelo AS docmodelo_vbrp,
        vbrp.posmodelo AS posmodelo_vbrp,
        vbrp.tipo_doc AS tipo_doc_vbrp,
        vbrp.docvtas AS docvtas_vbrp,
        vbrp.posicion2 AS posicion2_vbrp,
        vbrp.docvenref AS docvenref_vbrp,
        vbrp.material AS material_vbrp,
        vbrp.denomin1 AS denomin1_vbrp,
        vbrp.lote AS lote_vbrp,
        vbrp.gpoartic AS gpoartic_vbrp,
        vbrp.tipo_pos AS tipo_pos_vbrp,
        vbrp.clase_pos AS clase_pos_vbrp,
        vbrp.jquiaprod AS jquiaprod_vbrp,
        vbrp.puestexped AS puestexped_vbrp,
        vbrp.sector AS sector_vbrp,
        vbrp.posinterl AS posinterl_vbrp,
        vbrp.centro AS centro_vbrp,
        vbrp.pais AS pais_vbrp,
        vbrp.regcentro AS regcentro_vbrp,
        vbrp.clfis1mat AS clfis1mat_vbrp,
        vbrp.clfis2mat AS clfis2mat_vbrp,
        vbrp.clfis3mat AS clfis3mat_vbrp,
        vbrp.valestadis AS valestadis_vbrp,
        vbrp.detprc AS detprc_vbrp,
        vbrp.der_desc AS der_desc_vbrp,
        vbrp.base_desc AS base_desc_vbrp,
        vbrp.grmater AS grmater_vbrp,
        vbrp.grimpmat AS grimpmat_vbrp,
        vbrp.grprappels AS grprappels_vbrp,
        vbrp.grcomis AS grcomis_vbrp,
        vbrp.grvendedor AS grvendedor_vbrp,
        vbrp.oficvta AS oficvta_vbrp,
        vbrp.sector1 AS sector1_vbrp,
        vbrp.devolucion AS devolucion_vbrp,
        vbrp.creado AS creado_vbrp,
        vbrp.el AS el_vbrp,
        vbrp.hora AS hora_vbrp,
        vbrp.clvalor AS clvalor_vbrp,
        vbrp.almacen AS almacen_vbrp,
        vbrp.grupo_act AS grupo_act_vbrp,
        vbrp.costint AS costint_vbrp,
        vbrp.subtotal_1 AS subtotal_1_vbrp,
        vbrp.subtotal_2 AS subtotal_2_vbrp,
        vbrp.subtotal_3 AS subtotal_3_vbrp,
        vbrp.subtotal_4 AS subtotal_4_vbrp,
        vbrp.subtotal_5 AS subtotal_5_vbrp,
        vbrp.subtotal_6 AS subtotal_6_vbrp,
        vbrp.cambestad AS cambestad_vbrp,
        vbrp.detprc1 AS detprc1_vbrp,
        vbrp.eanupc AS eanupc_vbrp,
        vbrp.cebe AS cebe_vbrp,
        vbrp.grclient1 AS grclient1_vbrp,
        vbrp.grclient2 AS grclient2_vbrp,
        vbrp.grclient3 AS grclient3_vbrp,
        vbrp.grclient5 AS grclient5_vbrp,
        vbrp.grmater1 AS grmater1_vbrp,
        vbrp.grmater2 AS grmater2_vbrp,
        vbrp.grmater3 AS grmater3_vbrp,
        vbrp.grmater4 AS grmater4_vbrp,
        vbrp.grmater5 AS grmater5_vbrp,
        vbrp.matintr AS matintr_vbrp,
        vbrp.base_rapp AS base_rapp_vbrp,
        vbrp.socco AS socco_vbrp,
        vbrp.objetos_pa AS objetos_pa_vbrp,
        vbrp.orden AS orden_vbrp,
        vbrp.domfiscal AS domfiscal_vbrp,
        vbrp.precio AS precio_vbrp,
        vbrp.credactivo AS credactivo_vbrp,
        vbrp.nobj_int AS nobj_int_vbrp,
        vbrp.possuplot AS possuplot_vbrp,
        vbrp.lotes AS lotes_vbrp,
        vbrp.zonavtaped AS zonavtaped_vbrp,
        vbrp.grcltped AS grcltped_vbrp,
        vbrp.grprcped AS grprcped_vbrp,
        vbrp.paisrecepp AS paisrecepp_vbrp,
        vbrp.prcman AS prcman_vbrp,
        vbrp.lstprcped AS lstprcped_vbrp,
        vbrp.regped AS regped_vbrp,
        vbrp.ovtasped AS ovtasped_vbrp,
        vbrp.candistped AS candistped_vbrp,
        vbrp.inicliq AS inicliq_vbrp,
        vbrp.utl_poss AS utl_poss_vbrp,
        vbrp.tipo_doc1 AS tipo_doc1_vbrp,
        vbrp.plfact AS plfact_vbrp,
        vbrp.posicion3 AS posicion3_vbrp,
        vbrp.impuesto AS impuesto_vbrp,
        vbrp.motivo_ped AS motivo_ped_vbrp,
        vbrp.rglfact AS rglfact_vbrp,
        vbrp.matdprcppr AS matdprcppr_vbrp,
        vbrp.grmatppr AS grmatppr_vbrp,
        vbrp.preccred AS preccred_vbrp,
        vbrp.formgarant AS formgarant_vbrp,
        vbrp.garantiz AS garantiz_vbrp,
        vbrp.feconv AS feconv_vbrp,
        vbrp.grcond1 AS grcond1_vbrp,
        vbrp.grcond2 AS grcond2_vbrp,
        vbrp.utiliz AS utiliz_vbrp,
        vbrp.tpcambcart AS tpcambcart_vbrp,
        vbrp.cebe_int AS cebe_int_vbrp,
        vbrp.timestamp AS timestamp_vbrp
    FROM  {{ source('oneconnect', 'PR0_B_SD_FACTURA_PARTIDA') }} AS vbrp
    FINAL
    {% if is_incremental() %}
    WHERE 
        vbrp.timestamp >= (select max(timestamp_vbrp) from {{this}}) 
    {% endif %}
)

SELECT 
    vbrk.*,
    vbrp.*,
    now64() AS _version
FROM SD_FACTURA_CABECERA AS vbrk
INNER JOIN SD_FACTURA_PARTIDA AS vbrp 
    ON vbrp.mandante_vbrp = vbrk.mandante_vbrk
    AND vbrp.factura_vbrp = vbrk.
factura_vbrk

Executed OI SQL Model

{{ config(
    order_by="(
        mandante_vbrk, factura_vbrk,
        mandante_vbrp, factura_vbrp, posicion_vbrp
    )",
    engine='ReplacingMergeTree(_version)',
    materialized='incremental',
    incremental_strategy='append',
     pre_hook=[
		"{% if is_incremental() %}
			ALTER TABLE {{this}} DELETE
                WHERE toDate(fechafact_vbrk, 'YYYYMMDD') < toDate(subtractYears(now(), 1))
		{% endif %}"
	]
    )
}}

WITH SD_FACTURA_CABECERA AS (
    SELECT 
        vbrk.mandante AS mandante_vbrk,
        vbrk.factura AS factura_vbrk,
        vbrk.clfactura AS clfactura_vbrk,
        vbrk.tipo_fact AS tipo_fact_vbrk,
        vbrk.tipo_doc AS tipo_doc_vbrk,
        vbrk.moneda AS moneda_vbrk,
        vbrk.orgventas AS orgventas_vbrk,
        vbrk.candistr AS candistr_vbrk,
        vbrk.esqcalc AS esqcalc_vbrk,
        vbrk.conddoc AS conddoc_vbrk,
        vbrk.condexp AS condexp_vbrk,
        vbrk.fechafact AS fechafact_vbrk,
        vbrk.grprecios AS grprecios_vbrk,
        vbrk.grclient AS grclient_vbrk,
        vbrk.zona_vta AS zona_vta_vbrk,
        vbrk.listaprec AS listaprec_vbrk,
        vbrk.incoterms AS incoterms_vbrk,
        vbrk.incoterms2 AS incoterms2_vbrk,
        vbrk.export AS export_vbrk,
        vbrk.statcontab AS statcontab_vbrk,
        vbrk.tratpostfc AS tratpostfc_vbrk,
        vbrk.cambiocont AS cambiocont_vbrk,
        vbrk.tc_fijo AS tc_fijo_vbrk,
        vbrk.dias_valor AS dias_valor_vbrk,
        vbrk.fevalfijad AS fevalfijad_vbrk,
        vbrk.condpago AS condpago_vbrk,
        vbrk.via_pago AS via_pago_vbrk,
        vbrk.grimput AS grimput_vbrk,
        vbrk.paisrecep AS paisrecep_vbrk,
        vbrk.region AS region_vbrk,
        vbrk.soc AS soc_vbrk,
        vbrk.clfis1clt AS clfis1clt_vbrk,
        vbrk.clfis2clt AS clfis2clt_vbrk,
        vbrk.clfis3clt AS clfis3clt_vbrk,
        vbrk.neto AS neto_vbrk,
        vbrk.critagrup AS critagrup_vbrk,
        vbrk.creado AS creado_vbrk,
        vbrk.hora AS hora_vbrk,
        vbrk.el AS el_vbrk,
        vbrk.grupo_act AS grupo_act_vbrk,
        vbrk.pagador AS pagador_vbrk,
        vbrk.solic AS solic_vbrk,
        vbrk.moneda1 AS moneda1_vbrk,
        vbrk.n_comext AS n_comext_vbrk,
        vbrk.nifcom AS nifcom_vbrk,
        vbrk.mod AS mod_vbrk,
        vbrk.docfactan AS docfactan_vbrk,
        vbrk.cllistfact AS cllistfact_vbrk,
        vbrk.clvrecl AS clvrecl_vbrk,
        vbrk.sector AS sector_vbrk,
        vbrk.acontrol AS acontrol_vbrk,
        vbrk.ctacred AS ctacred_vbrk,
        vbrk.moneda2 AS moneda2_vbrk,
        vbrk.cambio AS cambio_vbrk,
        vbrk.jertipprec AS jertipprec_vbrk,
        vbrk.socglasoc AS socglasoc_vbrk,
        vbrk.clfactper AS clfactper_vbrk,
        vbrk.ps_impto AS ps_impto_vbrk,
        vbrk.ornif AS ornif_vbrk,
        vbrk.pais_nif AS pais_nif_vbrk,
        vbrk.referencia AS referencia_vbrk,
        vbrk.asignacion AS asignacion_vbrk,
        vbrk.impuesto AS impuesto_vbrk,
        vbrk.sistlog AS sistlog_vbrk,
        vbrk.anulada AS anulada_vbrk,
        vbrk.optriang AS optriang_vbrk,
        vbrk.n_docfin AS n_docfin_vbrk,
        vbrk.feconv AS feconv_vbrk,
        vbrk.moncartcre AS moncartcre_vbrk,
        vbrk.tpcambcart AS tpcambcart_vbrk,
        vbrk.referpago AS referpago_vbrk,
        vbrk.timestamp AS timestamp_vbrk
    FROM  {{ source('oneconnect', 'PR0_B_SD_FACTURA_CABECERA') }} AS vbrk
    FINAL
    WHERE 
        toDate(vbrk.fechafact) >= toDate(subtractYears(now(), 1))
    {% if is_incremental() %}
        AND vbrk.timestamp >= (select max(timestamp_vbrk) from {{this}})
    {% endif %}
),

SD_FACTURA_PARTIDA AS (
    SELECT 
        vbrp.mandante AS mandante_vbrp,
        vbrp.factura AS factura_vbrp,
        vbrp.posicion AS posicion_vbrp,
        vbrp.pos_sup AS pos_sup_vbrp,
        vbrp.ctdfact AS ctdfact_vbrp,
        vbrp.um_venta AS um_venta_vbrp,
        vbrp.contador AS contador_vbrp,
        vbrp.denomin AS denomin_vbrp,
        vbrp.unidad AS unidad_vbrp,
        vbrp.ctdfacume AS ctdfacume_vbrp,
        vbrp.ctdneces AS ctdneces_vbrp,
        vbrp.neto AS neto_vbrp,
        vbrp.bruto AS bruto_vbrp,
        vbrp.unidad1 AS unidad1_vbrp,
        vbrp.volumen AS volumen_vbrp,
        vbrp.unvolumen AS unvolumen_vbrp,
        vbrp.division AS division_vbrp,
        vbrp.feprecio AS feprecio_vbrp,
        vbrp.fepresserv AS fepresserv_vbrp,
        vbrp.tpcambio AS tpcambio_vbrp,
        vbrp.valor_neto AS valor_neto_vbrp,
        vbrp.causante AS causante_vbrp,
        vbrp.posicion1 AS posicion1_vbrp,
        vbrp.docmodelo AS docmodelo_vbrp,
        vbrp.posmodelo AS posmodelo_vbrp,
        vbrp.tipo_doc AS tipo_doc_vbrp,
        vbrp.docvtas AS docvtas_vbrp,
        vbrp.posicion2 AS posicion2_vbrp,
        vbrp.docvenref AS docvenref_vbrp,
        vbrp.material AS material_vbrp,
        vbrp.denomin1 AS denomin1_vbrp,
        vbrp.lote AS lote_vbrp,
        vbrp.gpoartic AS gpoartic_vbrp,
        vbrp.tipo_pos AS tipo_pos_vbrp,
        vbrp.clase_pos AS clase_pos_vbrp,
        vbrp.jquiaprod AS jquiaprod_vbrp,
        vbrp.puestexped AS puestexped_vbrp,
        vbrp.sector AS sector_vbrp,
        vbrp.posinterl AS posinterl_vbrp,
        vbrp.centro AS centro_vbrp,
        vbrp.pais AS pais_vbrp,
        vbrp.regcentro AS regcentro_vbrp,
        vbrp.clfis1mat AS clfis1mat_vbrp,
        vbrp.clfis2mat AS clfis2mat_vbrp,
        vbrp.clfis3mat AS clfis3mat_vbrp,
        vbrp.valestadis AS valestadis_vbrp,
        vbrp.detprc AS detprc_vbrp,
        vbrp.der_desc AS der_desc_vbrp,
        vbrp.base_desc AS base_desc_vbrp,
        vbrp.grmater AS grmater_vbrp,
        vbrp.grimpmat AS grimpmat_vbrp,
        vbrp.grprappels AS grprappels_vbrp,
        vbrp.grcomis AS grcomis_vbrp,
        vbrp.grvendedor AS grvendedor_vbrp,
        vbrp.oficvta AS oficvta_vbrp,
        vbrp.sector1 AS sector1_vbrp,
        vbrp.devolucion AS devolucion_vbrp,
        vbrp.creado AS creado_vbrp,
        vbrp.el AS el_vbrp,
        vbrp.hora AS hora_vbrp,
        vbrp.clvalor AS clvalor_vbrp,
        vbrp.almacen AS almacen_vbrp,
        vbrp.grupo_act AS grupo_act_vbrp,
        vbrp.costint AS costint_vbrp,
        vbrp.subtotal_1 AS subtotal_1_vbrp,
        vbrp.subtotal_2 AS subtotal_2_vbrp,
        vbrp.subtotal_3 AS subtotal_3_vbrp,
        vbrp.subtotal_4 AS subtotal_4_vbrp,
        vbrp.subtotal_5 AS subtotal_5_vbrp,
        vbrp.subtotal_6 AS subtotal_6_vbrp,
        vbrp.cambestad AS cambestad_vbrp,
        vbrp.detprc1 AS detprc1_vbrp,
        vbrp.eanupc AS eanupc_vbrp,
        vbrp.cebe AS cebe_vbrp,
        vbrp.grclient1 AS grclient1_vbrp,
        vbrp.grclient2 AS grclient2_vbrp,
        vbrp.grclient3 AS grclient3_vbrp,
        vbrp.grclient5 AS grclient5_vbrp,
        vbrp.grmater1 AS grmater1_vbrp,
        vbrp.grmater2 AS grmater2_vbrp,
        vbrp.grmater3 AS grmater3_vbrp,
        vbrp.grmater4 AS grmater4_vbrp,
        vbrp.grmater5 AS grmater5_vbrp,
        vbrp.matintr AS matintr_vbrp,
        vbrp.base_rapp AS base_rapp_vbrp,
        vbrp.socco AS socco_vbrp,
        vbrp.objetos_pa AS objetos_pa_vbrp,
        vbrp.orden AS orden_vbrp,
        vbrp.domfiscal AS domfiscal_vbrp,
        vbrp.precio AS precio_vbrp,
        vbrp.credactivo AS credactivo_vbrp,
        vbrp.nobj_int AS nobj_int_vbrp,
        vbrp.possuplot AS possuplot_vbrp,
        vbrp.lotes AS lotes_vbrp,
        vbrp.zonavtaped AS zonavtaped_vbrp,
        vbrp.grcltped AS grcltped_vbrp,
        vbrp.grprcped AS grprcped_vbrp,
        vbrp.paisrecepp AS paisrecepp_vbrp,
        vbrp.prcman AS prcman_vbrp,
        vbrp.lstprcped AS lstprcped_vbrp,
        vbrp.regped AS regped_vbrp,
        vbrp.ovtasped AS ovtasped_vbrp,
        vbrp.candistped AS candistped_vbrp,
        vbrp.inicliq AS inicliq_vbrp,
        vbrp.utl_poss AS utl_poss_vbrp,
        vbrp.tipo_doc1 AS tipo_doc1_vbrp,
        vbrp.plfact AS plfact_vbrp,
        vbrp.posicion3 AS posicion3_vbrp,
        vbrp.impuesto AS impuesto_vbrp,
        vbrp.motivo_ped AS motivo_ped_vbrp,
        vbrp.rglfact AS rglfact_vbrp,
        vbrp.matdprcppr AS matdprcppr_vbrp,
        vbrp.grmatppr AS grmatppr_vbrp,
        vbrp.preccred AS preccred_vbrp,
        vbrp.formgarant AS formgarant_vbrp,
        vbrp.garantiz AS garantiz_vbrp,
        vbrp.feconv AS feconv_vbrp,
        vbrp.grcond1 AS grcond1_vbrp,
        vbrp.grcond2 AS grcond2_vbrp,
        vbrp.utiliz AS utiliz_vbrp,
        vbrp.tpcambcart AS tpcambcart_vbrp,
        vbrp.cebe_int AS cebe_int_vbrp,
        vbrp.timestamp AS timestamp_vbrp
    FROM  {{ source('oneconnect', 'PR0_B_SD_FACTURA_PARTIDA') }} AS vbrp
    FINAL
    {% if is_incremental() %}
    WHERE 
        vbrp.timestamp >= (select max(timestamp_vbrp) from {{this}}) 
    {% endif %}
)

SELECT 
    vbrk.*,
    vbrp.*,
    now64() AS _version
FROM SD_FACTURA_CABECERA AS vbrk
INNER JOIN SD_FACTURA_PARTIDA AS vbrp 
    ON vbrp.mandante_vbrp = vbrk.mandante_vbrk
    AND vbrp.factura_vbrp = vbrk.
factura_vbrk

Aliases and SAP Fields Used


TABLEField AliasCOLUMN NAMESAP
VBRKmandantemandante_VBRKMANDT
VBRKfacturafactura_VBRKVBELN
VBRKclfacturaclfactura_VBRKFKART
VBRKtipo_facttipo_fact_VBRKFKTYP
VBRKtipo_doctipo_doc_VBRKVBTYP
VBRKmonedamoneda_VBRKWAERK
VBRKorgventasorgventas_VBRKVKORG
VBRKcandistrcandistr_VBRKVTWEG
VBRKesqcalcesqcalc_VBRKKALSM
VBRKconddocconddoc_VBRKKNUMV
VBRKcondexpcondexp_VBRKVSBED
VBRKfechafactfechafact_VBRKFKDAT
VBRKgrpreciosgrprecios_VBRKKONDA
VBRKgrclientgrclient_VBRKKDGRP
VBRKzona_vtazona_vta_VBRKBZIRK
VBRKlistapreclistaprec_VBRKPLTYP
VBRKincotermsincoterms_VBRKINCO1
VBRKincoterms2incoterms2_VBRKINCO2
VBRKexportexport_VBRKEXPKZ
VBRKstatcontabstatcontab_VBRKRFBSK
VBRKtratpostfctratpostfc_VBRKMRNKZ
VBRKcambiocontcambiocont_VBRKKURRF
VBRKtc_fijotc_fijo_VBRKCPKUR
VBRKdias_valordias_valor_VBRKVALTG
VBRKfevalfijadfevalfijad_VBRKVALDT
VBRKcondpagocondpago_VBRKZTERM
VBRKvia_pagovia_pago_VBRKZLSCH
VBRKgrimputgrimput_VBRKKTGRD
VBRKpaisreceppaisrecep_VBRKLAND1
VBRKregionregion_VBRKREGIO
VBRKsocsoc_VBRKBUKRS
VBRKclfis1cltclfis1clt_VBRKTAXK1
VBRKclfis2cltclfis2clt_VBRKTAXK2
VBRKclfis3cltclfis3clt_VBRKTAXK3
VBRKnetoneto_VBRKNETWR
VBRKcritagrupcritagrup_VBRKZUKRI
VBRKcreadocreado_VBRKERNAM
VBRKhorahora_VBRKERZET
VBRKelel_VBRKERDAT
VBRKgrupo_actgrupo_act_VBRKSTAFO
VBRKpagadorpagador_VBRKKUNRG
VBRKsolicsolic_VBRKKUNAG
VBRKmoneda1moneda1_VBRKSTWAE
VBRKn_comextn_comext_VBRKEXNUM
VBRKnifcomnifcom_VBRKSTCEG
VBRKmodmod_VBRKAEDAT
VBRKdocfactandocfactan_VBRKSFAKN
VBRKcllistfactcllistfact_VBRKFKART_RL
VBRKclvreclclvrecl_VBRKMSCHL
VBRKsectorsector_VBRKSPART
VBRKacontrolacontrol_VBRKKKBER
VBRKctacredctacred_VBRKKNKLI
VBRKmoneda2moneda2_VBRKCMWAE
VBRKcambiocambio_VBRKCMKUF
VBRKjertipprecjertipprec_VBRKHITYP_PR
VBRKsocglasocsocglasoc_VBRKVBUND
VBRKclfactperclfactper_VBRKFKART_AB
VBRKps_imptops_impto_VBRKLANDTX
VBRKornifornif_VBRKSTCEG_H
VBRKpais_nifpais_nif_VBRKSTCEG_L
VBRKreferenciareferencia_VBRKXBLNR
VBRKasignacionasignacion_VBRKZUONR
VBRKimpuestoimpuesto_VBRKMWSBK
VBRKsistlogsistlog_VBRKLOGSYS
VBRKanuladaanulada_VBRKFKSTO
VBRKoptriangoptriang_VBRKXEGDR
VBRKn_docfinn_docfin_VBRKLCNUM
VBRKfeconvfeconv_VBRKKURRF_DAT
VBRKmoncartcremoncartcre_VBRKAKWAE
VBRKtpcambcarttpcambcart_VBRKAKKUR
VBRKreferpagoreferpago_VBRKKIDNO
VBRPmandantemandante_VBRPMANDT
VBRPfacturafactura_VBRPVBELN
VBRPposicionposicion_VBRPPOSNR
VBRPpos_suppos_sup_VBRPUEPOS
VBRPctdfactctdfact_VBRPFKIMG
VBRPum_ventaum_venta_VBRPVRKME
VBRPcontadorcontador_VBRPUMVKZ
VBRPdenomindenomin_VBRPUMVKN
VBRPunidadunidad_VBRPMEINS
VBRPctdfacumectdfacume_VBRPFKLMG
VBRPctdnecesctdneces_VBRPLMENG
VBRPnetoneto_VBRPNTGEW
VBRPbrutobruto_VBRPBRGEW
VBRPunidad1unidad1_VBRPGEWEI
VBRPvolumenvolumen_VBRPVOLUM
VBRPunvolumenunvolumen_VBRPVOLEH
VBRPdivisiondivision_VBRPGSBER
VBRPfepreciofeprecio_VBRPPRSDT
VBRPfepresservfepresserv_VBRPFBUDA
VBRPtpcambiotpcambio_VBRPKURSK
VBRPvalor_netovalor_neto_VBRPNETWR
VBRPcausantecausante_VBRPVBELV
VBRPposicion1posicion1_VBRPPOSNV
VBRPdocmodelodocmodelo_VBRPVGBEL
VBRPposmodeloposmodelo_VBRPVGPOS
VBRPtipo_doctipo_doc_VBRPVGTYP
VBRPdocvtasdocvtas_VBRPAUBEL
VBRPposicion2posicion2_VBRPAUPOS
VBRPdocvenrefdocvenref_VBRPAUREF
VBRPmaterialmaterial_VBRPMATNR
VBRPdenomin1denomin1_VBRPARKTX
VBRPlotelote_VBRPCHARG
VBRPgpoarticgpoartic_VBRPMATKL
VBRPtipo_postipo_pos_VBRPPSTYV
VBRPclase_posclase_pos_VBRPPOSAR
VBRPjquiaprodjquiaprod_VBRPPRODH
VBRPpuestexpedpuestexped_VBRPVSTEL
VBRPsectorsector_VBRPSPART
VBRPposinterlposinterl_VBRPPOSPA
VBRPcentrocentro_VBRPWERKS
VBRPpaispais_VBRPALAND
VBRPregcentroregcentro_VBRPWKREG
VBRPclfis1matclfis1mat_VBRPTAXM1
VBRPclfis2matclfis2mat_VBRPTAXM2
VBRPclfis3matclfis3mat_VBRPTAXM3
VBRPvalestadisvalestadis_VBRPKOWRR
VBRPdetprcdetprc_VBRPPRSFD
VBRPder_descder_desc_VBRPSKTOF
VBRPbase_descbase_desc_VBRPSKFBP
VBRPgrmatergrmater_VBRPKONDM
VBRPgrimpmatgrimpmat_VBRPKTGRM
VBRPgrprappelsgrprappels_VBRPBONUS
VBRPgrcomisgrcomis_VBRPPROVG
VBRPgrvendedorgrvendedor_VBRPVKGRP
VBRPoficvtaoficvta_VBRPVKBUR
VBRPsector1sector1_VBRPSPARA
VBRPdevoluciondevolucion_VBRPSHKZG
VBRPcreadocreado_VBRPERNAM
VBRPelel_VBRPERDAT
VBRPhorahora_VBRPERZET
VBRPclvalorclvalor_VBRPBWTAR
VBRPalmacenalmacen_VBRPLGORT
VBRPgrupo_actgrupo_act_VBRPSTAFO
VBRPcostintcostint_VBRPWAVWR
VBRPsubtotal_1subtotal_1_VBRPKZWI1
VBRPsubtotal_2subtotal_2_VBRPKZWI2
VBRPsubtotal_3subtotal_3_VBRPKZWI3
VBRPsubtotal_4subtotal_4_VBRPKZWI4
VBRPsubtotal_5subtotal_5_VBRPKZWI5
VBRPsubtotal_6subtotal_6_VBRPKZWI6
VBRPcambestadcambestad_VBRPSTCUR
VBRPdetprc1detprc1_VBRPUVPRS
VBRPeanupceanupc_VBRPEAN11
VBRPcebecebe_VBRPPRCTR
VBRPgrclient1grclient1_VBRPKVGR1
VBRPgrclient2grclient2_VBRPKVGR2
VBRPgrclient3grclient3_VBRPKVGR3
VBRPgrclient5grclient5_VBRPKVGR5
VBRPgrmater1grmater1_VBRPMVGR1
VBRPgrmater2grmater2_VBRPMVGR2
VBRPgrmater3grmater3_VBRPMVGR3
VBRPgrmater4grmater4_VBRPMVGR4
VBRPgrmater5grmater5_VBRPMVGR5
VBRPmatintrmatintr_VBRPMATWA
VBRPbase_rappbase_rapp_VBRPBONBA
VBRPsoccosocco_VBRPKOKRS
VBRPobjetos_paobjetos_pa_VBRPPAOBJNR
VBRPordenorden_VBRPAUFNR
VBRPdomfiscaldomfiscal_VBRPTXJCD
VBRPprecioprecio_VBRPCMPRE
VBRPcredactivocredactivo_VBRPCMPNT
VBRPnobj_intnobj_int_VBRPCUOBJ_CH
VBRPpossuplotpossuplot_VBRPUECHA
VBRPloteslotes_VBRPXCHAR
VBRPzonavtapedzonavtaped_VBRPBZIRK_AUFT
VBRPgrcltpedgrcltped_VBRPKDGRP_AUFT
VBRPgrprcpedgrprcped_VBRPKONDA_AUFT
VBRPpaisrecepppaisrecepp_VBRPLLAND_AUFT
VBRPprcmanprcman_VBRPMPROK
VBRPlstprcpedlstprcped_VBRPPLTYP_AUFT
VBRPregpedregped_VBRPREGIO_AUFT
VBRPovtaspedovtasped_VBRPVKORG_AUFT
VBRPcandistpedcandistped_VBRPVTWEG_AUFT
VBRPinicliqinicliq_VBRPABRBG
VBRPutl_possutl_poss_VBRPUEPVW
VBRPtipo_doc1tipo_doc1_VBRPAUTYP
VBRPplfactplfact_VBRPFPLNR
VBRPposicion3posicion3_VBRPFPLTR
VBRPimpuestoimpuesto_VBRPMWSBP
VBRPmotivo_pedmotivo_ped_VBRPAUGRU_AUFT
VBRPrglfactrglfact_VBRPFAREG
VBRPmatdprcpprmatdprcppr_VBRPUPMAT
VBRPgrmatpprgrmatppr_VBRPUKONM
VBRPpreccredpreccred_VBRPCMPRE_FLT
VBRPformgarantformgarant_VBRPABFOR
VBRPgarantizgarantiz_VBRPABGES
VBRPfeconvfeconv_VBRPKURSK_DAT
VBRPgrcond1grcond1_VBRPKDKG1
VBRPgrcond2grcond2_VBRPKDKG2
VBRPutilizutiliz_VBRPVKAUS
VBRPtpcambcarttpcambcart_VBRPAKKUR
VBRPcebe_intcebe_int_VBRPPPRCTR

    • 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 ...
    • 11 INVOICE DASHBOARD

      ENTIDAD GOLD DE TABLERO DE FACTURAS También conocido como Tablero de Ventas, este modelo pertenece a la capa Gold de la arquitectura de medallón y está compuesto por la entidad BI_SILVER_SD_INVOICE_ECC. Su objetivo principal es proporcionar una ...
    • INVOICE DASHBOARD

      Tablero de Facturación Descripción General Propósito: Análisis de ventas y facturación mensual. Fuente de Datos: ClickHouse. Instalación del Tablero Paso 1: Importar el JSON en Grafana Iniciar sesión en Grafana. Ir a Dashboards → Manage → Import. ...
    • 01 SILVER MM MATERIAL ECC

      ENTIDAD SILVER DE MATERIALES Este modelo corresponde a la capa Silver del proceso de transformación de datos y está compuesto por tablas clave del módulo Materials Management (MM) de SAP, específicamente aquellas relacionadas con la gestión de ...
    • 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 ...