¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Entendiendo el Tipo de Campos de Clave Externa en SAP - Guía para Principiantes

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 78 Vistas
0
Cargando...

Hola a todos,

Estoy leyendo sobre Verificaciones de entrada - y hay algo que no logro entender acerca de Tipo de campos de clave externa :

http://help.sap.com/saphelp_470/helpdata/en/b2/fbb85cc64611d295dd00a0c929b3c3/frameset.htm

Tomemos el campo de verificación VBAK-MANDT como ejemplo:

Tabla de clave externa: VBAK

Tabla de verificación: T000

Campo de tabla de verificación: MANDT

Campo de clave externa: MANDT

Consideremos la definición de Campo de clave externa: Campos clave/Candidatos:

"Los campos de clave externa son campos clave primarios de la tabla de clave externa o ya identifican de forma única un registro de la tabla de clave externa (candidatos clave). Los campos de clave externa por lo tanto identifican (parcialmente) la tabla de clave externa"

El campo de clave externa "MANDT" no es ni un campo clave primario de la tabla de clave externa VBAK ni un candidato clave. Por lo tanto, el Tipo de campos de clave externa no debería ser "Campos Clave/Candidatos", que es lo seleccionado en el Diccionario ABAP.

¿Podría alguien señalar por favor, qué es lo que estoy entendiendo mal?

Muchas gracias

Editado por: lazyCoder el 24 de mayo de 2010 12:32 PM

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

3 Respuestas

0
Cargando...

El campo de clave externa "MANDT" no es ni el campo de clave primaria de la tabla de clave externa VBAK ni un candidato clave. Por lo tanto, el tipo de campos de clave externa no debe ser "Campos Clave/Candidatos", que está seleccionado en el Diccionario ABAP.

Aquí el campo de clave externa es MANDT y la tabla de clave externa/tabla de verificación es T000.

Por lo tanto, en la tabla T000, MANDT es la clave primaria y representa de forma única un registro.

Estás mirando en VBAK y por lo tanto no es la tabla de clave externa. Aquí, el campo MANDT es como cualquier otro campo.

Espero que lo hayas entendido.

Saludos,

Pavan.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Pavan y Saurabh,

Gracias por las respuestas rápidas.

@Pavan:

>> "aquí el campo de clave foránea es MANDT y la tabla de clave foránea/verificación es T000."

Según este documento:

http://help.sap.com/saphelp_470/helpdata/en/cf/21ea77446011d189700000e8322d00/content.htm

T000 es una tabla de verificación, no una tabla de clave foránea. ¿O me equivoqué en algo?

@SarabhBuksh:

Creo que la pregunta ya está totalmente respondida por ti :). Muchas gracias

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Iazy,

El hecho es que el campo MANDT es parte de la clave primaria. Cuando creas una tabla específica de cliente en el diccionario ABAP, el campo MANDT se convierte implícitamente en una clave parcial.

La clave primaria completa de la tabla VBAK será MANDT + VBELN.

Esto también ocurre con cualquier otra tabla específica de cliente (una tabla que contiene el campo MANDT). Su Clave Completa = MANDT + Otras Claves.

Razón de la existencia del campo MANDT como clave parcial:

En el sistema SAP, tenemos diferentes clientes (digamos 200, 300, etc.), que se especifican mediante el campo MANDT.

Si este campo no fuera la clave de la tabla VBAK, se produciría el siguiente error.

Considera que tienes un sistema SAP con dos clientes 200 y 300.

En el Cliente 200

VBAK-VBELN

2000000000

VBAP-VBELN VBAP-POSNR

2000000000 00100

2000000000 00200

En el Cliente 300

VBAK-VBELN

2000000000

VBAP-VBELN VBAP-POSNR

2000000000 00500

2000000000 00600

El problema es que si el campo MANDT no es una clave parcial, entonces el sistema no podrá asociar los registros entre VBAK y VBAP (tabla principal y secundaria) correctamente.

Espero que esto aclare tus dudas.

Déjame saber si tienes alguna consulta al respecto.

Saludos,

Saurabh

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?