MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 05/06/09, 09:43:40
raulgar raulgar is offline
Junior Member
 
Fecha de Ingreso: dic 2007
Mensajes: 28
Dump al añadir campo en la KOMP

Hola,

Tengo un problema. Necesito añadir un nuevo campo en la tabla KOMP. Para ello modifico un APPEND que es un estructura Z. El caso es que nada mas añadir el campo y activar la estructura Z empiezan a dar dumps cada vez que algún programa tiene definiciones con esta tabla.

En concreto el siguiente: DDIC_TYPE_INCONSISTENCY

Ejemplo de lineas de codigo que generan el dump:

>>>>> data: tkomp type standard table of komp with header line.

>>>>> constants MAX_NTGEW type KOMP-NTGEW value 999999999999.999'. "#EC NOTEXT

¿Alguien sabe que es lo que hago mal? En teoría cuando se añaden campos a las estructuras APPEND no debería haber problemas.

Muchas gracias!
Responder Con Cita
  #2  
Viejo 05/06/09, 13:14:21
Mike Mike is offline
Senior Member
 
Fecha de Ingreso: mar 2006
Localización: Venezuela
Mensajes: 144
Leete la ayuda de agregar nuevos campos hay dice como te tienes que crear esos nuevos campos y como es la nomenclatura que deben tener.
Responder Con Cita
  #3  
Viejo 05/06/09, 14:55:47
raulgar raulgar is offline
Junior Member
 
Fecha de Ingreso: dic 2007
Mensajes: 28
Muchas gracias.

Me puedes explicar un poco mas como debo hacerlo o por lo menos como accedo a la ayuda que me comentas. Es que estoy un poco perdido.

De nuevo muchas gracias.
Responder Con Cita
  #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
  #5  
Viejo 08/06/09, 08:09:42
raulgar raulgar is offline
Junior Member
 
Fecha de Ingreso: dic 2007
Mensajes: 28
Muchas gracias, me ha servido de mucha ayuda pero ahora me surge otro problema.

El campo que tengo que añadir a la KOMP es el mismo que hay en una tabla Z y a la hora de realizar la asignación en el FORM USEREXIT_PRICING_PREPARE_TKOMP me dice que no reconoce el dato.

¿Donde tengo que declarar la sentencia TABLES?

Te copio el codigo que he metido.

FORM userexit_pricing_prepare_tkomp.
tkomp-zzposex_e = vbkd-posex_e.
* tkomp-zzesca = ztb_sd_08-zzesca. ----> Esta es la linea que me da error
ENDFORM. "USEREXIT_PRICING_PREPARE_TKOMP
Responder Con Cita
  #6  
Viejo 08/06/09, 14:17:01
Mike Mike is offline
Senior Member
 
Fecha de Ingreso: mar 2006
Localización: Venezuela
Mensajes: 144
Como consigues la informacion de la tabla Z?? tienes que tener declarada una estructura o si usas la misma tabla debes tenerla declarada con tables
Responder Con Cita
  #7  
Viejo 01/09/12, 16:05:57
MPAEZ MPAEZ is offline
Member
 
Fecha de Ingreso: ene 2009
Mensajes: 78

Hola Estimado cuando haces referencia al ejemplo 2 solamente usando ese user es la forma de calcular por funcion interlocutor una clase de condicion? yo estoy trantando de hacerla agregando el campo de funcion interlocutor al catalogo de campos y el numero del personal pero cuando lo intenta determinar en el doc de ventas no lo determina en el analis aparece como si no encuentra esos campos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 07:24:14.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web