Ir al contenido
Programación ABAP

VBAK

Cabecera de documentos de ventas.

TablaV
Módulo
SD
Texto SAP
Sales Document: Header Data
Clase de entrega
A
Actualizado
21 de octubre de 2026

S/4HANA. En S/4HANA desaparecen las tablas de estado VBUK y VBUP: los campos de estado de cabecera pasan a VBAK (y los de posición a VBAP). Los programas que leían VBUK deben leerlos ahora de VBAK.

Vista CDS equivalente: I_SalesDocument Liberada para ABAP Cloud, I_SalesOrder Liberada para ABAP Cloud. En desarrollos Clean Core se lee la vista en lugar de la tabla. Más en CDS.

Para qué sirve

VBAK guarda la cabecera de los documentos de ventas: pedidos, ofertas, peticiones de oferta, contratos y devoluciones. Cada documento es una fila, identificada por su número (VBELN).

El tipo de documento se distingue por VBTYP (C es pedido) y la clase concreta por AUART. Las posiciones están en VBAP y los interlocutores en VBPA.

Campos

Los campos clave y los más usados. La lista completa está en la SE11.

CampoElemento de datosDescripción
MANDTClaveMANDTMandante.
VBELNClaveVBELN_VANúmero del documento de ventas.
ERDATERDATFecha de creación.
ERZETERZETHora de creación.
ERNAMERNAMUsuario que lo creó.
AUDATAUDATFecha del documento.
VBTYP—Tipo de documento comercial (C pedido, B oferta…).
AUARTAUARTClase de documento de ventas.
NETWR—Valor neto en la moneda del documento.
WAERKWAERKMoneda del documento.
VKORGVKORGOrganización de ventas.
VTWEGVTWEGCanal de distribución.
SPARTSPARTSector.
KUNNRKUNAGSolicitante (cliente).
BSTNKBSTNKNúmero de pedido del cliente.
KNUMVKNUMVNúmero de condición del documento (enlace con las condiciones de precio).

Cómo se une con otras tablas

TablaPor los camposPara qué
VBAPVBELNPosiciones del pedido.
VBPAVBELN (POSNR = 000000 para la cabecera)Interlocutores: destinatario, pagador…
KNA1KUNNRDatos del cliente.
VBFAVBELN = VBELVDocumentos siguientes (entregas, facturas).
KONVKNUMVCondiciones de precio (en S/4HANA, PRCD_ELEMENTS).

Generar un JOIN desde VBAK

Ejemplo

ABAP 7.5
" Pedidos de una organización de ventas creados en los últimos 7 días, con sus posiciones
SELECT k~vbeln, k~erdat, k~kunnr, p~posnr, p~matnr, p~kwmeng, p~netwr
  FROM vbak AS k
  INNER JOIN vbap AS p ON p~vbeln = k~vbeln
  WHERE k~vkorg = @lv_vkorg
    AND k~vbtyp = 'C'
    AND k~erdat >= @( sy-datum - 7 )
  ORDER BY k~vbeln, p~posnr
  INTO TABLE @DATA(lt_pedidos).

Leyendo la vista CDS

CDS
SELECT SalesOrder, SalesOrderType, SoldToParty, CreationDate, TotalNetAmount, TransactionCurrency
  FROM I_SalesOrder
  WHERE SalesOrganization = @lv_vkorg
    AND CreationDate     >= @( sy-datum - 7 )
  INTO TABLE @DATA(lt_pedidos).

Transacciones y consulta

Transacciones que la usan

VA01VA02VA03VA05

Cómo consultarla

  • Contenido: SE16N o SE16 con el nombre VBAK.
  • Definición, campos y claves externas: SE11.

Rendimiento: errores típicos

  • Buscar por cliente o material: VBAK no tiene índice por KUNNR ni VBAP por MATNR en todos los sistemas. Las tablas índice VAKPA (por interlocutor) y VAPMA (por material) o la VA05 están pensadas para eso.
  • SELECT dentro de un LOOP: lee las posiciones de todos los pedidos de una vez (JOIN o FOR ALL ENTRIES), no pedido a pedido.

Relacionadas

Tablas relacionadas

VBAPVBPAVBFAKNA1KONVLIKPVBRK

Más en V

VARIVBRPVEKPVEPO

Funciones

BAPI_SALESORDER_CREATEFROMDAT2

En abap.es

¿Dudas con esta tabla?

Pregunta en el foro de abap.es: la comunidad lleva años resolviendo dudas de ABAP en español.

Preguntar en el foro

Actualizado: 21 de octubre de 2026