Matriz de Precios (alp_cat_qp_matriz_items_precios)
1. Modulo
Precios y Descuentos (QP)
2. Descripción
Listados de descuentos comerciales autorizados, reglas de bonificación y promociones.
3. Columnas
| No. | Nombre de Columna | Descripción |
|---|---|---|
| 1 | item_oracle | Código o número de artículo único proveniente de Oracle Fusion. |
| 2 | organizationcode | Código de la organización de inventario (filtrado para 'OMA'). |
| 3 | LP_MARCA_PROPIA | Precio base del artículo para la lista de precios de Marca Propia. |
| 4 | LP_PROXIMIDAD | Precio base del artículo para la lista de precios del canal Proximidad. |
| 5 | LP_DETALLE | Precio base del artículo enfocado en el canal Detalle (tradicional / tienditas). |
| 6 | LP_B2B | Precio base del artículo para transacciones comerciales Business to Business (B2B). |
| 7 | LP_AUTOSERVICIOS | Precio base del artículo para cadenas de Autoservicio (supermercados). |
| 8 | LP_DESTRUCCION | Precio base o valor asignado al producto para procesos de Destrucción / Merma. |
| 9 | LP_TIENDAS | Precio base del artículo para el canal de Tiendas Propias. |
| 10 | LP_GOBIERNO | Precio base del artículo para ventas al canal Gobierno. |
| 11 | LP_ECOMMERCE | Precio base del artículo para ventas en el canal Digital / Comercio Electrónico. |
| 12 | LP_MAYOREO | Precio base del artículo para el canal de Mayoristas. |
| 13 | LP_GEPP | Precio base del artículo exclusivo para la cuenta comercial GEPP. |
| 14 | LP_OTROS | Precio base del artículo para canales de venta alternativos. |
| 15 | LP_CLUB_DE_PRECIOS | Precio base del artículo para formatos de Club de Precios (ej. Costco, Sam's). |
| 16 | LP_FOOD_SERVICE | Precio base del artículo orientado al sector Food Service (Hoteles y Restaurantes). |
| 17 | LP_DISTRIBUIDORES | Precio base del artículo asignado para Distribuidores Autorizados. |
4. Objesto Databricks - Oracle
Nota de Arquitectura: Convención de Nomenclatura
Las entidades listadas en este documento corresponden a la capa final de datos en Databricks. Para identificar la persistencia y el aislamiento de los datos según el ciclo de vida del software, se implementa la siguiente estrategia de sufijos por entorno:
- 🥉 Desarrollo (DEV): Sufijo
_dev(ej.nombre_tabla_dev). - 🥈 Pruebas (UAT): Sufijo
_stg(ej.nombre_tabla_stg). - 🥇 Producción (PROD): Sufijo
_prd(ej.nombre_tabla_prd).
| No. | Databricks | Oracle Fusion | Descripción Operativa / Módulo |
|---|---|---|---|
| 1 | fscm_scm_egp_itemextractpvo | egp_system_items_b | Maestro de artículos, productos y SKUs (System Items). |
| 2 | fscm_scm_scmrcs_invorgparametersextractpvo | inv_org_parameters | Parámetros de configuración de las organizaciones de inventario. |
| 3 | qp_price_list_charges | qp_price_list_charges | Cargos y componentes de precio asociados a las listas de precios para determinar importes adicionales aplicables a las transacciones. |
| 4 | qp_price_list_items | qp_price_list_items | Artículos y configuraciones de precio asociados a las listas de precios para determinar el precio aplicable a cada producto. |
| 5 | qp_price_lists_tl | qp_price_lists_tl | Nombres y descripciones traducidas de las listas de precios según el idioma configurado. |
5. Querys
- Databricks DEV
- Databricks UAT
- Databricks PROD
- Oracle
with alp_price_list as
( select qplt.name lista_precios
, esi.itembasepeoitemnumber item_oracle
, cast(qplc.base_price as DECIMAL(10,0)) base_price
, mp.organizationcode organizationcode
from cat_master_oracle_fusion.sch_gold_layer.qp_price_lists_tl_dev qplt
join cat_master_oracle_fusion.sch_gold_layer.qp_price_list_items_dev qpli
on qplt.price_list_id = qpli.price_list_id
join cat_master_oracle_fusion.sch_gold_layer.qp_price_list_charges_dev qplc
on qpli.price_list_item_id = qplc.parent_entity_id
join cat_master_oracle_fusion.sch_gold_layer.fscm_scm_egp_itemextractpvo_dev esi
on qpli.item_id = esi.itembasepeoinventoryitemid
join cat_master_oracle_fusion.sch_gold_layer.fscm_scm_scmrcs_invorgparametersextractpvo_dev mp
on esi.itembasepeoorganizationid = mp.organizationid
where qplt.language = 'E'
and current_date() between qplc.start_date
and nvl(qplc.end_date, current_date())
and mp.organizationcode = 'OMA')
select *
from alp_price_list
pivot ( max(base_price)
for lista_precios in
( 'LP_MARCA PROPIA',
'LP_PROXIMIDAD',
'LP_DETALLE',
'LP_B2B',
'LP_AUTOSERVICIOS',
'LP_DESTRUCCION',
'LP_TIENDAS',
'LP_GOBIERNO',
'LP_E-COMMERCE',
'LP_MAYOREO',
'LP_GEPP',
'LP_OTROS',
'LP_CLUB DE PRECIOS',
'LP_FOOD SERVICE',
'LP_DISTRIBUIDORES'))
with alp_price_list as
( select qplt.name lista_precios
, esi.itembasepeoitemnumber item_oracle
, cast(qplc.base_price as DECIMAL(10,0)) base_price
, mp.organizationcode organizationcode
from cat_master_oracle_fusion.sch_gold_layer.qp_price_lists_tl_stg qplt
join cat_master_oracle_fusion.sch_gold_layer.qp_price_list_items_stg qpli
on qplt.price_list_id = qpli.price_list_id
join cat_master_oracle_fusion.sch_gold_layer.qp_price_list_charges_stg qplc
on qpli.price_list_item_id = qplc.parent_entity_id
join cat_master_oracle_fusion.sch_gold_layer.fscm_scm_egp_itemextractpvo_stg esi
on qpli.item_id = esi.itembasepeoinventoryitemid
join cat_master_oracle_fusion.sch_gold_layer.fscm_scm_scmrcs_invorgparametersextractpvo_stg mp
on esi.itembasepeoorganizationid = mp.organizationid
where qplt.language = 'E'
and current_date() between qplc.start_date
and nvl(qplc.end_date, current_date())
and mp.organizationcode = 'OMA')
select *
from alp_price_list
pivot ( max(base_price)
for lista_precios in
( 'LP_MARCA PROPIA',
'LP_PROXIMIDAD',
'LP_DETALLE',
'LP_B2B',
'LP_AUTOSERVICIOS',
'LP_DESTRUCCION',
'LP_TIENDAS',
'LP_GOBIERNO',
'LP_E-COMMERCE',
'LP_MAYOREO',
'LP_GEPP',
'LP_OTROS',
'LP_CLUB DE PRECIOS',
'LP_FOOD SERVICE',
'LP_DISTRIBUIDORES'))
with alp_price_list as
( select qplt.name lista_precios
, esi.itembasepeoitemnumber item_oracle
, qplc.base_price base_price
, mp.organizationcode organizationcode
from cat_master_oracle_fusion.sch_gold_layer.qp_price_lists_tl_prd qplt
join cat_master_oracle_fusion.sch_gold_layer.qp_price_list_items_prd qpli
on qplt.price_list_id = qpli.price_list_id
join cat_master_oracle_fusion.sch_gold_layer.qp_price_list_charges_prd qplc
on qpli.price_list_item_id = qplc.parent_entity_id
join cat_master_oracle_fusion.sch_gold_layer.fscm_scm_egp_itemextractpvo_prd esi
on qpli.item_id = esi.itembasepeoinventoryitemid
join cat_master_oracle_fusion.sch_gold_layer.fscm_scm_scmrcs_invorgparametersextractpvo_prd mp
on esi.itembasepeoorganizationid = mp.organizationid
where qplt.language = 'E'
and current_date() between qplc.start_date
and nvl(qplc.end_date, current_date())
and mp.organizationcode = 'OMA')
select *
from alp_price_list
pivot ( max(base_price)
for lista_precios in
( 'LP_MARCA PROPIA',
'LP_PROXIMIDAD',
'LP_DETALLE',
'LP_B2B',
'LP_AUTOSERVICIOS',
'LP_DESTRUCCION',
'LP_TIENDAS',
'LP_GOBIERNO',
'LP_E-COMMERCE',
'LP_MAYOREO',
'LP_GEPP',
'LP_OTROS',
'LP_CLUB DE PRECIOS',
'LP_FOOD SERVICE',
'LP_DISTRIBUIDORES'))
WITH alp_price_list AS
( SELECT qplt.name lista_precios
, esi.item_number item_oracle
, qplc.base_price
, mp.organization_code
FROM qp_price_lists_tl qplt
, qp_price_list_items qpli
, qp_price_list_charges qplc
, egp_system_items_b esi
, inv_org_parameters mp
WHERE qplt.price_list_id = qpli.price_list_id
AND qpli.price_list_item_id = qplc.parent_entity_id
AND qpli.item_id = esi.inventory_item_id
AND esi.organization_id = mp.organization_id
AND qplt.language = 'E'
AND mp.organization_code = 'OMA'
AND TRUNC(SYSDATE) BETWEEN qplc.start_date
AND NVL(qplc.end_date, TRUNC(SYSDATE)))
SELECT *
FROM alp_price_list
PIVOT ( MAX(base_price)
FOR lista_precios IN (
'LP_AUTOSERVICIOS' lp_autoservicios,
'LP_B2B' lp_b2b,
'LP_CLUB DE PRECIOS' lp_club_de_precios,
'LP_DESTRUCCION' lp_destruccion,
'LP_DETALLE' lp_detalle,
'LP_DISTRIBUIDORES' lp_distribuidores,
'LP_E-COMMERCE' lp_e_commerce,
'LP_FOOD SERVICE' lp_food_service,
'LP_GEPP' lp_gepp,
'LP_GOBIERNO' lp_gobierno,
'LP_MARCA PROPIA' lp_marca_propia,
'LP_MAYOREO' lp_mayoreo,
'LP_OTROS' lp_otros,
'LP_PROXIMIDAD' lp_proximidad,
'LP_TIENDAS' lp_tiendas
)
)