Ver Mensaje Individual
  #4  
Viejo 05/06/09, 15:56:28
Mike Mike is offline
Senior Member
 
Fecha de Ingreso: mar 2006
Localización: Venezuela
Mensajes: 144
Esto es lo que esta en la ayuda.


Nuevos campos para la determinación de precios
Bases de la adaptación en la determinación de precio


En la determinación de precio, son relevantes las siguientes estructuras de comunicación:
KOMK (cabecera de comunicación de la determinación de precio)
KOMP (posición de comunicación de la determinación de precio)
KOMG (campos permitidos para estructuras de condición)
Por motivos técnicos, se utiliza la estructura de comunicación KOMG, en la que están contenidos los campos de KOMK y KOMP, que son relevantes para la determinación de precio en el sistema estándar, y se hallan en el catálogo de campos de las tablas de condición. Si desea utilizar un nuevo campo en el catálogo de campos, deberá insertar el campo correspondientemente en KOMP o KOMK, en el programa de Include siguiente:

datos de cabecera en INCLUDE KOMKAZ en KOMK,
datos de posición en INCLUDE KOMPAZ en KOMP.
Mediante estos programas de Include, se insertará automáticamente el campo en KOMG, y también en el catálogo de campos.


las rutinas para el aprovisionamiento de los nuevos campos en el tratamiento de orden se encuentran en el programa MV45AFZZ. Utilice los siguientes exits de usuario:
USEREXIT_PRICING_PREPARE_TKOMK (campos de cabecera)
USEREXIT_PRICING_PREPARE_TKOMP (campos de posición)
las rutinas para el aprovisionamiento de los nuevos campos en la facturación se encuentran en el elemento RV60AFZZ. Utilice los siguientes exits de usuario:
USEREXIT_PRICING_PREPARE_TKOMK (campos de cabecera)
USEREXIT_PRICING_PREPARE_TKOMP (campos de posición)

Ejemplos sobre la utilización de campos nuevos en la determinación de precio


Ejemplo 1

El primer ejemplo describe el caso de que se tengan que utilizar partes de campos de documentos para la determinación de precio. Usted pretende, p. ej., utilizar las tres primeras posiciones de la jerarquía de productos (PRODH) para la determinación de precio. Proceda del modo siguiente:

1. Verifique los elementos de datos en la versión estándar de SAP.
2. Puesto que en la versión estándar no hay ningún elemento correspondiente, tiene que crear un elemento de datos nuevo, ZZPRODH1. Cree un dominio con la longitud de campo "3" y el tipo de datos "CHAR" para el nuevo elemento de datos.
Recuerde que los elementos de datos nuevos tienen que empezar con las letras "ZZ" o "YY", ya que SAP estas áreas para nombres están reservadas para que no sean sobrescritas por un cambio de release.
3. Verifique si la jerarquía de productos (PRODH) aparece a nivel de cabecera o de posición.
La tabla VBAP especifica que el campo de documento PRODH sea un campo de posición.
4. Incluya el nombre de campo ZZPRODH en la estructura de comunicación KOMP mediante el INCLUDE KOMPAZ y asígnele el elemento de datos ZZPRODH1.
5. Active la estructura.
6. Verifique en qué tabla aparece el campo PRODH.
El campo aparece en la tabla VBAP (documento de ventas: datos de posición).
7. Introduzca un valor en el nuevo campo en las rutinas FORM para el tratamiento de orden y la facturación mediante los exits de usuario previstos:
en el tratamiento de pedidos, el exit de usuario se encuentra en el elemento MV45AFZZ. La sentencia ABAP/4 completa dice lo siguiente:
FORM USEREXIT_PRICING_PREPARE_TKOMP.
MOVE VBAP-PRODH(3) TO TKOMP-ZZPRODH.
ENDFORM.
en la facturación, las rutinas para introducir valores a los campos nuevos se encuentran en el elemento RV60AFZZ. Esta es la sentencia ABAP/4:
FORM USEREXIT_PRICING_PREPARE_TKOMP.
MOVE XVBRP-PRODH(3) TO TKOMP-ZZPRODH.
ENDFORM.
8. Asigne al campo ZZPRODH de la tabla T681F las entradas A, V y 001. Para campos en la gestión de rappel se ha incluido la utilización "E".

Ejemplo 2

El segundo ejemplo describe el caso de utilizar, para la determinación de precio, una función de interlocutor creada en el Customizing para la actualización de interlocutor.

Se ha creado la función de interlocutor para un segundo representante Z1 con la clase de interlocutor PE. Z1 está definido como función obligatoria para el maestro de clientes, por lo que se parametriza automáticamente en el documento y está disponible en la tabla de interlocutor interna XVBPA

Para utilizar la nueva función de interlocutor para la determinación de precio, en primer lugar proceda igual como en los ejemplos precedentes.

1. Cree un nuevo elemento de datos, aquí ZZVRTZ1, con el dominio PERNR.
2. Incluya el campo ZZVRTZ en KOMK mediante KOMKAZ y asígnele el elemento de datos ZZVRTZ1.
Para el tratamiento de la orden, el aprovisionamiento del campo se efectúa en el exit de usuario del elemento MV45AFZZ. Las entradas en los exits de usuario están protegidas al cambiar de release. La sentencia ABAP/4 es la siguiente:
FORM USEREXIT_PRICING_PREPARE_TKOMK.
PERFORM XVBPA_LESEN (SAPFV45K) USING 'Z1' VBAP-POSNR SY-TABIX.
IF XVBPA-UPDKZ <> 'D'.
IF XVBPA-UPDKZ <> 'D'.
MOVE XVBPA-PERNR TO TKOMK-ZZVRTZ.
ENDIF.
ENDFORM.
Para la facturación, el aprovisionamiento del campo se efectúa en el exit de usuario del elemento RV60AFZZ. Las entradas en los exits de usuario están protegidas para el cambio de release. La sentencia ABAP/4 es la siguiente:
FORM USEREXIT_PRICING_PREPARE_TKOMK.
PERFORM XVBPA_SELECT USING 'Z1'.
IF XVBPA-UPDKZ <> 'D'.
MOVE XVBPA-PERNR TO TKOMK-ZZVRTZ.
ENDIF.
ENDFORM.


Espero te sirva.
Responder Con Cita