Tabla MKPF — Cabecera de Documento de Material (Acceso Legacy en S/4HANA)
MKPF es el nombre clásico de la tabla de cabecera de documento de material, que contiene campos a nivel de documento como el número y año de documento de material, la fecha de contabilización, la fecha del documento, la marca de tiempo de entrada, el usuario y la referencia. En S/4HANA, la persistencia de los documentos de material se simplificó a MATDOC; el acceso legacy a MKPF y MSEG se conserva a través de mecanismos de compatibilidad en lugar de ser el modelo primario de persistencia de nuevos documentos.
MKPF es la tabla de cabecera detrás de cada documento de material creado en la gestión de inventario de MM, cubriendo entradas de mercancías, salidas de mercancías, traslados y correcciones de stock. Esta página cubre cómo unirla a las posiciones, cómo leerla sin una selección descontrolada, y las trampas en las que caen los consultores cuando intentan responder una pregunta de movimiento de stock solo desde MKPF.
Publicado el 20 sept 2026· 1015 palabras
Qué almacena
Una fila en MKPF representa la cabecera de un documento de material, el objeto creado cada vez que se contabiliza un movimiento de mercancías de MM, ya sea a través de una entrada de mercancías contra un pedido de compra, una salida de mercancías a un centro de coste o reserva, un traslado entre centros o almacenes, o una contabilización de diferencias de inventario físico. La cabecera contiene información común a todo el documento: quién lo contabilizó, cuándo se contabilizó, cuándo se introdujo en el sistema, qué documento de referencia o número de documento externo se adjuntó, y qué transacción o proceso desencadenó la contabilización. No contiene el material, la cantidad, el centro o el tipo de movimiento; estos se encuentran un nivel por debajo, en la tabla de posiciones de documento de material. Un documento de material puede tener muchas posiciones bajo una cabecera, por lo que MKPF es siempre la tabla más pequeña y de grano más grueso del par, y consultarla por sí sola le indica que ocurrió un movimiento y quién lo causó, no qué se movió realmente.
Campos clave
- MBLNR y MJAHR — número y año del documento de material.
- BUDAT y BLDAT — fechas de contabilización y de documento.
- Campos de usuario, fecha, hora y referencia de entrada — contexto de auditoría del documento.
- MATDOC de S/4HANA — persistencia autoritativa de documentos de material para el nuevo diseño de S/4HANA.
- CDS o API de documento de material liberados — superficie de extensión preferida para nuevos desarrollos.
Cómo se une al modelo de datos
- MKPF-MBLNR = MSEG-MBLNR y MKPF-MJAHR = MSEG-MJAHR, la unión estándar para acceder a las posiciones de movimiento, cantidades, materiales y centros.
- MSEG-EBELN = EKPO-EBELN y MSEG-EBELP = EKPO-EBELP, para rastrear un movimiento de mercancías hasta la posición del pedido de compra contra la que se contabilizó.
- MSEG-EBELN/EBELP = EKBE-EBELN/EBELP, para conciliar el movimiento con el registro de historial de pedido de compra que generó.
- MKPF-USNAM contra las tablas maestras de usuarios al investigar quién contabilizó un documento sospechoso o duplicado.
- MKPF-XBLNR contra los campos de referencia de factura de proveedor en RBKP/RSEG al rastrear una discrepancia de coincidencia triple hasta la entrada física.
Cómo leerla de forma segura
MANDT es siempre la primera restricción. Después de eso, MKPF solo se consulta útilmente con un número y año de documento, o un rango de fechas de contabilización más otra restricción como usuario o código de transacción, porque en cualquier sistema productivo en vivo acumula una fila por cada movimiento de mercancías en cada centro y cada material, lo que en un sistema maduro significa muchos millones de filas. Nunca seleccione de MKPF solo por BUDAT en un rango de fechas amplio sin un segundo filtro; escaneará toda la tabla. Si el requisito es encontrar movimientos para un material o centro determinado, ese filtro existe en MSEG, no en MKPF, así que inicie la consulta allí y únase a MKPF para la fecha y el usuario, en lugar de empezar en MKPF y unirse hacia abajo.
Cómo probarlo en los datos
Síntoma: un equipo de almacén afirma que la entrada de mercancías 5000012345 nunca se contabilizó, pero el stock disponible parece correcto. Selección: lea MKPF por MBLNR y MJAHR para el número de documento citado; si existe una fila, el documento fue contabilizado, anote BUDAT, CPUDT y USNAM. Luego únase a MSEG por la misma clave para confirmar qué centro, almacén y material recibieron realmente la cantidad, ya que la cabecera por sí sola no puede confirmar qué se movió, solo que algo se contabilizó y por quién.
ECC frente a S/4HANA
La documentación de SAP S/4HANA MM-IM establece que MATDOC reemplaza el modelo de persistencia anterior de MKPF y MSEG, y la compatibilidad se proporciona a través de vistas de compatibilidad CDS. No describa MKPF como una tabla de cabecera física actualizada normalmente en S/4HANA ni diseñe nueva lógica de escritura directa o lectura en torno a ella cuando haya MATDOC/APIs CDS liberados disponibles.
Errores comunes
- Tratar MKPF como si contuviera información de cantidad o material; cada campo que un consultor necesita realmente para responder una pregunta de stock, como el tipo de movimiento, la cantidad, el centro, el almacén o el lote, está en MSEG, no en MKPF.
- Asumir que BUDAT y BLDAT son la misma fecha; BLDAT es la fecha del documento externo y puede ser días o semanas anterior a BUDAT, que rige el período y la valoración del stock; las discrepancias entre ambos son normales y esperadas, no un error.
- Filtrar solo por BUDAT para conciliar una discrepancia de stock de fin de período y perder documentos contabilizados tarde en un período cerrado con un BUDAT retroactivo; CPUDT (fecha real de entrada) es el campo que revela las contabilizaciones tardías, no BUDAT.
- Asumir que una fila de MKPF significa un movimiento de stock; una sola cabecera de documento de material puede cubrir muchas líneas de posición con diferentes tipos de movimiento e incluso diferentes centros, por lo que contar filas de MKPF para contar movimientos subestima la actividad.
- Confundir TCODE2 con la transacción que el usuario final realmente tecleó; las contabilizaciones en segundo plano desde IDocs, trabajos por lotes o programas de interfaz pueden rellenar este campo con un valor genérico o inesperado, por lo que no es una prueba fiable de intervención manual por sí misma.
- Intentar revertir el efecto de un documento cancelado solo desde MKPF; una cancelación crea su propia nueva cabecera de documento de material haciendo referencia al original, no elimina ni marca la fila original.
De quién es este problema
Una pregunta sobre una cabecera de documento específica, como quién la contabilizó o en qué fecha, es una pregunta funcional de gestión de inventario de MM, propiedad de quien configuró los procesos de movimiento de mercancías. Las preguntas sobre la estructura subyacente de la tabla, la indexación o el comportamiento de la migración a MATDOC pertenecen al lado técnico/Basis o al desarrollo ABAP, particularmente durante un proyecto de conversión a S/4HANA.
Objetos SAP relacionados
Páginas revisadas con las que este objeto se conecta en el grafo de conocimiento de ERPClimb.
Fuente: ERPClimb — https://erpclimb.com/sap-tables/mkpfERPClimb es una plataforma independiente y no está afiliada a SAP SE. Las páginas de referencia las escriben y revisan consultores SAP para el aprendizaje y la resolución de problemas.