buen día, fijate si esta ayuda que está en spro te guía:
Inclusión de nuevos campos (con técnica de condiciones)
Modificaciones en la técnica de condiciones
Puesto que muchas funciones del sistema SD se realizan en el ámbito de la técnica de condiciones, la adaptación del sistema guarda estrecha relación con la técnica de condiciones. En Comercial, la determinación del precio, el control de mensajes, la determinación de cuentas, el listado, exclusión y sustitución utilizan esta técnica para calcular, por ejemplo, un precio, un mensaje, etc. Con respecto a la adaptación del sistema son de importancia los siguientes elementos:
• Estructura de comunicación:
Para cada aplicación todos los campos para accesos permitidos se reúnen en registros de condiciones en estructuras de comunicación propias. Por lo tanto las estructuras de comunicación contienen todos los campos de datos, que se pueden utilizar al acceder a tablas de condiciones.Las estructuras de comunicación KOMK (campo de cabecera) y KOMP (campo de posición), por ejemplo, contienen todos los campos con los que se accede a tablas de condición en el ámbito de la determinación del precio. En lo subsiguiente, llamaremos campos fuente a los campos de las estructuras de comunicación.• Tabla de condición:
Al crear una tabla de condiciones uno o varios campos destino se definen como clave de tabla. Una tabla de condiciones comprende todos los campos de los que pueda depender por ejemplo la determinación de un precio o de un mensaje. Todos los campos que hayan sido seleccionados para una tabla de condiciones en el ámbito de la determinación del precio, se pueden utilizar para determinar un precio. Los campos clave seleccionados son la base para las clases de condición y los correspondientes registros de condición. En lo subsiguiente, llamaremos campo destino a los campos de las tablas de condiciones.• Secuencia de acceso
La secuencia de acceso establece una relación entre la estructura de comunicación por una parte y la tabla de condiciones por otra. Cada acceso se controla por medio de campos destino y campos fuente. Se denominan campos destino aquellos campos que aparecen en una tabla de condiciones y en los respectivos registros de condición. Se llaman campos fuente los distintos campos de documento desde los cuales el sistema extrae los datos en el marco de la técnica de condiciones. Cada acceso de una secuencia de acceso se refiere a una tabla de condiciones y puede buscar a través de los campos definidos allí (la clave) registros de condición válidos. La secuencia de acceso contiene las claves de las tablas de condiciones en el orden en el que se efectúa cada acceso.
Encontrará una descripción detallada de la técnica de condiciones en el capítulo "Manual “SD- determinación de precio y condiciones” y en el capítulo “Determinación de precio” del Customizing.
Fundamentos de la adaptación del sistema
•Estructuras de comunicación
Como ya habíamos mencionado, las estructuras de comunicación contienen los campos fuente que se utilizan al acceder a una tabla de condiciones. Cuando una función se amplía con nuevos campos de datos, estos campos (campos clave) tienen que estar a disposición para crear tablas de condición y ser incluidos en las correspondientes estructuras de comunicación.El siguiente resumen enuncia todas las estructuras de comunicación, según la aplicación que tenga importancia para la adaptación del sistema.◦Determinación de precios: KOMK, KOMP, KOMG
◦Control de mensajes: KOMKBK1, KOMKBME, KOMPBME, KOMKBV1
◦ KOMKBV2 KOMKBV3
◦Determinación de cuentas: KOMKCV, KOMPCV
◦Listado/exclusión: KOMKG, KOMKGG, KOMPG, KOMGG
◦Determinación de material: KOMKD, KOMGD, KOMPD, KOMGD
◦Determinación de lotes: KOMKH, KOMPH, KOMGH
Para dar una visión íntegra, mencionaremos también las estructuras de comunicación de aplicaciones no utilizadas por la técnica de condiciones◦Impresión de documentos: VBDKA, VBDPA, VBDKL, VBDPL, VBDKR, VBDPR
◦Traspaso de campos de maestro de clientes a documentos de ventas:
KUAGV, KUWEV, KUREV, KURGV•INCLUDES en estructuras de comunicación
En todas las estructuras de comunicación implicadas se han incluido INCLUDES para nuevos campos de datos. En caso de un cambio de release están protegidos, es decir no pueden ser sobreescritos.•Exits de usuario
Los exits de usuario son rutinas FORM que pueden ser llamadas para aprovisionamientoEstructuras o campos de comunicación. En los exits de usuario se efectúan adaptaciones específicas para el cliente, y se encuentran en las partes del programa de SAP que están protegidas.•Tabla T681F
Esta tabla define los campos permitidos para las tablas de condiciones por aplicaciones y determina en qué aplicación se debe utilizar un campo. Según la asignación de los campos a las distintas aplicaciones se ofrece una sola selección de campos para la estructura de una tabla de condiciones. Un campo puede ser asignado a varias aplicaciones.
Inclusión de nuevos campos de datos en una estructura de comunicación
Los campo de datos se crean en el diccionario de datos. Usted crea elementos de datos y campos en el diccionario de datos y también los integra en las estructuras relevantes. Al incluir nuevos campos datos proceda de acuerdo con la siguiente lista de verificación:
- Verifique si en la versión estándar hay a disposición un elemento de datos correspondiente.◦Si quiere utilizar el motivo de pedido (AUGRU) para la determinación de precios, por ejemplo,
◦el elemento de datos ya existe.
◦Si p. ej. desea utilizar partes de la jerarquía de productos, tiene que crear un nuevo campo de datos (p. ej. ZZPRODH1).
Recuerde que los elementos de datos y los campos de datos nuevos tienen que empezar por las letras “ZZ” o “YY”, ya que SAP reserva estas áreas para nombres para impedir que sean sobrescritas en el cambio de release. Para los nuevos elementos de datos cree también un nuevo dominio correspondiente.◦si desea incluir una nueva función de interlocutor (p. ej. un segundo representante (Z1), tendrá que crear una nueva función de interlocutor (Z1) y un nuevo elemento de datos (ZZVRTZ1) en el Customizing.
- Con el uso de tablas de origen, se verifica si el campo se utiliza a nivel de cabecera o de posición, lo que determina la estructura en la que se incluye el campo. Las tablas fuente están listadas en el punto “Asignación de valores a los campos dentro de la estructura de comunicación”.El motivo de pedido está disponible, p. ej., en la tabla VBAK, y la jerarquía de productos en la tabla VBAP.3. Incluya el campo INCLUDE en la estructura de comunicación correspondiente.Para la determinación de precio se incluyen campos de cabecera en KOMKAZ y campos de posición en KOMPAZ. Como nombres de campo, introduzca las denominaciones de campo de los nuevos campos y recuerde que tienen que empezar por ZZ o YY. Así pues, introduzca, p. ej., ZZAUGRU, ZZPRODH y ZZVRTZ1 y asígneles el elemento de datos de SAP AUGRU o los elementos de datos creados por usted ZZPRODH1 y ZZVRTZ1.La descripción de las funciones individuales especifica en qué estructuras tiene que incluir los campos.4. Active la estructura.5. Incluya un nuevo campo en la tabla T681F y asígnelo a la aplicación en la que se tiene que utilizar.EjemploUn campo nuevo para la determinación de precios contiene la asignación A, V, 001.
Asignación de valores a los campos dentro de la estructura de comunicación y utilización en tablas de condiciones
Los campos incluidos se tienen que aprovisionar de tal modo que en el tratamiento de documentos siempre se rellenen con los campos de documentos deseados. Esto se efectúa mediante exits de usuario previstos para este fin en las rutinas implicadas de las distintas aplicaciones. La descripción de las funciones individuales especifica qué elementos contienen qué exits de usuario.
Para asignar valores a los campos proceda del siguiente modo:
- Verifique en qué tabla fuente aparece el campo de documento.◦En la cabecera de pedido, los campos se encuentran en las siguientes tablas:
VBUK Documento comercial: Status de cabecera y datos administrativosVBAK Documento de ventas: Datos de cabeceraVBKD Documento de ventas: Datos comercialesKUWEV Vista destinatario de mercancías del maestro de clienteKURGV Vista responsable de pago del maestro de clientesKUREV Vista de destinatario de factura del maestro de clientesKUAGV Vista solicitante del maestro de clientesTVAK Documentos de ventas: ClasesTVTA Unidad organizativa: Áreas de ventas◦en la posición de pedido, los campos se encuentran en las siguientes tablas:
VBAP Documento de ventas: Datos de posiciónVBAPD Parte dinámica: Posiciones de pedidoTVAP Documentos de ventas: Clase de posición◦en la cabecera del documento de facturación, los campos se encuentran en las siguientes tablas:
VBRK Documento de facturación: Datos de cabeceraKUWEV Vista destinatario de mercancías del maestro de clienteKURGV Vista responsable de pago del maestro de clientesKUREV Vista de destinatario de factura del maestro de clientesKUAGV Vista solicitante del maestro de clientesVBKD Documento de ventas: Datos comercialesVBAK Documento de ventas: Datos de cabecera (sólo al crear, no al modificar)◦en la posición de la factura, los campos se encuentran en las siguientes tablas
VBRP Documento de facturación: Datos de posiciónVBAP Documento de ventas: Datos de posición (sólo al crear)◦para los interlocutores, los campos se encuentran en la tabla interna XVBPA de la estructura VBPAVB.
- Rellene el campo nuevo con el comando MOVE en el exit de usuario previsto.EjemploLas rutinas para el aprovisionamiento de los nuevos campos en el tratamiento de orden se encuentran en el elemento MV45AFZZ. El comando MOVE para el aprovisionamiento del nuevocampo ZZAUGRU sería:FORM USEREXIT_PRICING_PREPARE_TKOMK.MOVE VBAK-AUGRU TO TKOMK-ZZAUGRU.ENDFORM.3. En la tabla T681F, asigne el nuevo campo a la utilización y aplicación en la que se tiene que utilizar.
Test de las modificaciones efectuadas
Para verificar las adaptaciones efectuadas siga los pasos siguientes:
- Cree una tabla de condiciones nueva.Para los interlocutores, es posible que pueda utilizar tablas de condiciones existentes y no tendrá que crear ninguna tabla de condiciones nueva.2. Cree una clase de condición.3. Cree un procedimiento de determinación de precios.4. Asigne la clase de condición a un procedimiento de determinación de precios.5. Cree una secuencia de acceso.6. Cree registro de condiciones para la clase de condición7. Registre una orden y verifique si la determinación de precio se ha realizado según sus necesidades.Si al registrar la orden la determinación de precio no conduce a los resultados esperados, puede buscar posibles fuentes de errores con el análisis de precio.