• Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
S4PCADEMY_Logo
Twitter Linkedin Instagram
S4PCADEMY_Logo
Twitter Linkedin Instagram
SAP S/4HANA

Retarificación de pedidos de compra masiva con S/4 HANA

By s4pcademy 


Introducción: En este blog, intentaré demostrar la funcionalidad de retarificación de órdenes de compra masiva en SAP S/4 HANA.

La pandemia provocó un cierre masivo seguido de una desaceleración y provocó la interrupción de la cadena de suministro. La interrupción en la cadena de suministro, el aumento de los costos de combustible y flete a menudo conduce a cambios frecuentes de precios por parte de los proveedores (especialmente supervisan artículos con largos plazos de entrega). Como comprador, es importante ponerse al día con los cambios rápidos y frecuentes para asegurarse de que el costo final del producto sea correcto y que la concordancia tripartita se realice con la mayor precisión posible. Este blog ayudará sobre cómo lograr la solución.

requisitos previos:

  • La actualización de precios del proveedor se actualizará en el registro de información de compras como un nuevo registro de condición válido.

Opciones estándar de SAP:

A continuación se muestra la opción estándar de SAP que se exploró:

  • SAP estándar tiene el código t: MEI1 que permite actualizar la orden de compra en función de los cambios de condición, pero SAP estándar analiza la fecha de creación de la orden de compra y la fecha del período de validez de la condición y actualiza el precio.
  • También se encontró que una vez que procesamos los registros usando MEI1, está eliminando las entradas de la Tabla: WIND para ese proveedor de todos los artículos. Eso significa que, como comprador, si desea trabajar en ciertos artículos en la orden de compra al día siguiente, perderá la visibilidad de las actualizaciones de precios.

Los dos desafíos anteriores me obligan a pensar en una solución personalizada.

Enfoque/diseño de la solución:

  • Cree un mosaico Fiori según el diseño a continuación

Selección%20Diseño

Diseño de selección

    • No de Día en el Pasado*: Obligatorio; Esto es para el rendimiento. Desde el día de la ejecución, cuántos días atrás queremos ir para la fecha del documento; por defecto 180 días.
    • Grupo de Compra*: Obligatorio; Desplegable de selección múltiple; Validación: T024- T024; E: Grupo de compras requerido o E: Grupo de compras no válido.
    • Tipo de Documento de Compra: Opcional; Desplegable de selección múltiple; Validación: T161- BSART; E: Tipo de documento no válido.
    • Proveedor: Opcional; Desplegable de selección múltiple; Validación: LFA1- LIFNR; E: Proveedor no válido.
    • Subrango de proveedor: Opcional; Desplegable de selección múltiple; Validación: WYT1-LTSNR; E: Subrango de proveedor no válido.
    • Planta#: Opcional; Desplegable de selección múltiple; Validación: T001W-WERKS; E: Planta no válida.
    • Grupo de materiales#: Opcional; Desplegable de selección múltiple; Validación: T023-MATKL; E: Grupo de materiales no válido.
    • Material#: Opcional; Desplegable de selección múltiple; Validación: MARC-MATNR; E: Material no válido.
    • Precio/Moneda del Próximo Período: Opcional;
    • Sobrepaso de precio: Opcional
    • Igualación de costos futuros: Opcional; desplegable; los valores son si o no
  • El mosaico de Fiori valida los datos ingresados ​​por el usuario y captura el mensaje de error apropiado en caso de errores como se indicó anteriormente.
  • Después de validar los datos de la pantalla de entrada, una vez que el usuario hace clic en continuar, el programa hace lo siguiente:
    • En función de la entrada, busque las únicas órdenes de compra abiertas recuperadas y sin cargo. Se pueden encontrar órdenes de compra abiertas donde EKPO-ELIKZ no es igual a X y se pueden encontrar órdenes de compra no eliminadas donde EKPO-LOEKZ no es igual a L y EKPO-REPOS = X (excluyendo también las órdenes de compra gratuitas) .
    • Solo obtenga las PO(s) donde la categoría de artículo EKPO-PSTYP no sea igual a 2 – Consignación y 7 – Transferencia de stock (Básicamente, no queremos PO(s) de consignación y transferencia de stock ya que no tiene precio neto).
  • A continuación se muestran los campos y la lógica:
Campos) Lógica
Orden de compra Desde EKPO-EBELN
Vendedor Desde EKKO-LIFNR
Nombre del vendedor Pase Proveedor de EKKO a LFA1 y obtenga LFA1-NAME1
Subrango de proveedor Desde EKPO-LTSNR
Proveedor Subrango Descripción Pase Proveedor y Subrango a WYT1 y obtenga WYT1-LTSBZ
Grupo de compras Desde EKKO-EKGRP
Nombre del grupo de compras Pase el código del grupo de compras a T024 y obtenga T024 – EKNAM.
Tipo de Documento Desde EKKO-BSART
Artículo No EKPO-EBELP
Categoría de artículo EKPO-PSTYP
Material EKPO-MATNR
Grupo de materiales EKPO-MATKL
Descripción del grupo de materiales Pase el grupo de materiales a T023 y obtenga T023- WGBEZ
Planta EKPO-WERKS
Descripción del material MARA-MAKTX
Fecha de creación de la orden de compra EKKO-AEDAT
Cantidad de orden de compra EKPO-MENGE
Unidad de pedido EKPO-MEINS
Conf. Control EKPO-BSTAE
Entrega entrante Pasar número de orden de compra, número de artículo, confirmar. Cat.: LA a EKES y obtenga el número de entrega entrante. Si se encuentran varios, ordene en orden descendente y obtenga el último.
Historial de orden de compra Pase la OC y el artículo a EKBE y vea las entradas encontradas. Si la entrada está allí, entonces muestre el gráfico. Nota: Código T: ME2N es un excelente ejemplo de cómo mostrar el gráfico. Si el desarrollador puede encontrar, entonces deberíamos aprovechar eso.
Fecha de entrega del artículo de la orden de compra Pase PO y número de artículo a EKET y obtenga EKET-EINDT
Sobrescribir precio Pase PO a Mesa: EKKO y obtenga el Doc. Condición No. (EKKO- KNUMV). Pase el número de condición a la tabla: PRCD_ELEMENTS con el número de artículo de la orden de compra y la condición inactiva (KINAK) en blanco y vea si tenemos PBXX. En caso afirmativo, muestre PBXX, de lo contrario, en blanco
Precio neto/moneda de orden de compra EKPO-NETPR/EKKO-WAERS (por ejemplo $2800/USD)
Unidad de precio de orden de compra/Unidad de precio de pedido EKPO-PEINH/EKPO-BPRME (por ejemplo, 100/EA)
Fecha de validez del período actual (Desde – hasta)

Nota: Dentro del equipo de fijación de precios de PB00 está cargando el precio en las tablas: A017 y A018. Si el registro A017 se activa, de lo contrario irá a A018.

**************************************************** ***

Lógica: (El desarrollador puede explorar el módulo funcional. He intentado usar ME_GET_INFORECORD_CONDITIONS que funciona bien para PB00 y PB01)

Pase la aplicación: KAPPL = M, el tipo de condición: KSCHL = PB00, el proveedor: LIFNR, el material: MATNR, la organización de compras: EKORG, la planta: WERKS, el tipo de información: desde la línea de la orden de compra hasta la tabla: A017 y obtenga el número de registro de la condición desde donde es válido. < = Fecha del sistema y Válido hasta > = Fecha del sistema. Pase todos los registros a KONP, clasifíquelos en orden ascendente y seleccione el primer registro que no se elimina. Si no se encuentra ningún registro, vaya al siguiente.

Pase la aplicación: KAPPL = M, el tipo de condición: KSCHL = PB00, el proveedor: LIFNR, el material: MATNR, la organización de compras: EKORG, la planta: WERKS, el tipo de información: de la línea de la orden de compra a la tabla: A018 y obtenga el número de registro de la condición desde donde es válido. < = Fecha del sistema y Válido hasta > = Fecha del sistema. Pase todos los registros a KONP, clasifíquelos en orden ascendente y seleccione el primer registro que no se elimina. Si no se encuentra ningún registro, vaya al siguiente.

También obtenga A017-DATAB a A017-DATBI o A018-DATAB a A018-DATBI para un registro válido

Precio/moneda del período actual Para el registro de condición válido, obtenga KONP-KBETR/KONP-KONWA (por ejemplo, $284/USD)
Precio del período actual Unidad/UM Obtenga también el KONP-KPEIN/KONP-KMEIN (por ejemplo, 100/LB)
¿Existe escala? (Marcar Sí o No) Si KONP- KZBZG tiene valor, entonces Scale Exist = Yes else No
Aplicar costo actualizado Caja
Valor de Sí o No para precio de orden de compra vs. Precio del próximo período Compare el precio neto/actual de la orden de compra, la unidad de precio de la orden de compra/la unidad de precio de pedido con el precio/moneda del próximo período y la unidad de precio/unidad de medida del próximo período. Si coincide, muestra Sí, si no, No.
Fecha de validez del período anterior (Desde – hasta)

Pase la aplicación: KAPPL = M, el tipo de condición: KSCHL = PB00, el proveedor: LIFNR, el material: MATNR, la organización de compras: EKORG, la planta: WERKS, el tipo de información: desde la línea de la orden de compra hasta la tabla: A017 y obtenga el número de registro de la condición desde donde es válido. < Fecha del sistema. Pase todos los registros a KONP, clasifíquelos en orden descendente y seleccione el primer registro que no se elimina. Si no se encuentra ningún registro, vaya al siguiente.

Pase la aplicación: KAPPL = M, Tipo de condición: KSCHL = PB00, Proveedor: LIFNR, Material: MATNR, Organización de compras: EKORG, Planta: WERKS, Tipo de información: desde la línea de orden de compra hasta la tabla: A018 y obtenga el número de registro de condición donde Válido desde < Fecha del sistema. Pase todos los registros a KONP, clasifíquelos en orden descendente y seleccione el primer registro que no se elimina. Si no se encuentra ningún registro, vaya al siguiente.

Además, obtenga A017-DATAB a A017-DATBI o A018-DATAB a A018-DATBI para un registro válido

Precio/moneda del período anterior Para el registro de condición válido, obtenga KONP-KBETR/KONP-KONWA (por ejemplo, $284/USD)
Precio del período anterior Unidad/UM Obtenga también el KONP-KPEIN/KONP-KMEIN (por ejemplo, 100/LB)
Valor de Sí o No para precio de orden de compra vs. Precio del período anterior Compare el precio neto/actual de la orden de compra, la unidad de precio de la orden de compra/la unidad de precio de pedido con el precio/moneda del período anterior y la unidad de precio/unidad de medida del período anterior. Si coincide, entonces sí, si no, no.
Registro de información de compras

Pase el número de orden de compra y el artículo de línea a EKPO y obtenga el EKPO-INFNR. Muestre que como hipervínculo y cuando el usuario haga clic en él, debe llamar al código T: ME13 (mosaico de Fiori:

Mostrar registro de información de compras). Pase el Número de PIR, la Organización de Compra y la Planta para mostrar el registro.

Registro de estado Mensaje de éxito/error
  • Después de mostrar la salida y ordenarla, el usuario seleccionará la casilla de verificación para «aplicar costo actualizado». El programa debe hacer lo siguiente:
    • Para órdenes de compra y elementos de línea seleccionados, ¿debería decir «Listo para actualizar el precio»? Si el usuario hace clic en SÍ, vaya al siguiente. Si el usuario hace clic en NO, cancele la actualización.
    • Si responde que sí, actualice el precio en PO para ese artículo.
    • El desarrollador puede usar el módulo funcional: BAPI_PO_CHANGE para actualizar el precio en PO.
    • Para el cambio de orden de compra, ingrese el tipo de condición: PBXX para sugerir un cambio de precio.

Resultados después de implementar la solución:

Selección%20Pantalla

Pantalla de selección

Los compradores hacen clic en ir después de ingresar uno o varios grupos de compras

Producción

Producción

Más%20campos%20en%20Salida

Más campos en la Salida

Más%20Campos%20En%20Salida

Más campos en la salida

Como se muestra a continuación, el comprador puede seleccionar una orden de compra o varias órdenes de compra y hacer clic en «Aplicar costo de PO»

Aplicar%20PO%20Coste

Aplicar costo de orden de compra

Confirmación%20para%20Actualizar

Confirmación de actualización

Actualizar%20Mensaje

Actualizar mensaje

Conclusión:

  • Permite al comprador actualizar el precio en la orden de compra en masa y ponerse al día con los cambios frecuentes de precios con los proveedores.
  • Proporcionará mucha eficiencia a los compradores en toda la organización.
  • El costo final del suministro será correcto y la factura tripartita será más precisa y menos de ida y vuelta con el departamento de AP.

Si encuentra útil mi blog, haga clic en Me gusta y comparta sus comentarios en los comentarios a continuación y sígame para obtener más contenido como el anterior.

Por favor, siga mi perfil para futuras publicaciones (ravi dave)

Página de tema (encuentre la más relevante – https://community.sap.com/topics/)

Haga preguntas sobre MM (Gestión de materiales) y siga ( https://answers.sap.com/tags/477297786799213261950044802925335)

Lea otras publicaciones de blog de MM (Gestión de materiales) y siga ( https://blogs.sap.com/tags/477297786799213261950044802925335/)




Novedades en SAP Analytics Cloud y SAP Digital Boardroom Q1 2023
Previo
Nota para el beneficiario en archivos DME a través de etiquetas STRD y USTRD
Siguiente

Madrid

Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010

México

Paseo de la Reforma 26
Colonia Juárez,  Cuauhtémoc
Ciudad de México 06600

Costa Rica

Real Cariari
Autopista General Cañas, 
San José, SJ 40104

Perú

Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073

Twitter Linkedin Instagram
Copyright 2022 | All Right Reserved.