Inicio > ABAP/4 > EBAN – Crear estructura Append en Solicitud de Pedido

EBAN – Crear estructura Append en Solicitud de Pedido

Caso: Se desea agregar un campo Z en pantalla en la ME51n, en el cual cuando el usuario completa ciertos datos de una posición de SOLPE, aparezca un dato en ese campo Z.

Solución: Se crea un nuevo campo ZZ_COMPRADOR en la tabla EBAN.

1. En la SE11, vamos a la tabla EBAN y buscamos el elemento de datos CI_EBANDB. Hacemos doble click en el.

2. Agregamos el/los campos Z que deseamos en la estructura. El nombre del campo debe comenzar con ZZ o YY.

Definimos la categoría de ampliación de la estructura…

3. Activamos todo. En mi caso dio un error, que voy a ignorar ya que no encontré el motivo.

TABL WTYSC_WWB_NAVTREE_DATA inconsistente en versión activa

Verificar tabla WTYSC_WWB_NAVTREE_DATA (Q_EPURICELLI/22.08.14/17:1.

Categoría de ampliación actual Ampliable y numérico o de caracteres es falsa

Pueden seleccionarse siguientes categorías de ampliación:

Ampliable cualq.forma

4. Vamos a la transacción CMOD para crear una ampliación (en mi caso ya existía, así que puede faltar algún paso).

Vamos a componentes…

5. Sólo resta ingresar al EXIT que mejor nos convenga y allí crear el include. En mi caso usé el EXIT_SAPLMEREQ_005.

6. Dentro del include ZXM02U05, agregué el siguiente código:

* Obtengo la posición para poder modificarla
l_mereq_item = im_req_item->get_data( ).
CHECK l_mereq_item IS NOT INITIAL.
 
* Trae el comprador asociado a cotizaciones según el Centro Sum.-Grp.Art.Grupo de compras indicado
IF     im_data_new-reswk IS NOT INITIAL
  AND  im_data_new-matkl IS NOT INITIAL
  AND  im_data_new-ekgrp IS NOT INITIAL
  AND ( im_data_old-ekgrp NE im_data_new-ekgrp 
    OR  im_data_old-reswk NE im_data_new-reswk 
    OR  im_data_old-matkl NE im_data_new-matkl ).
 
  CLEAR l_mereq_item-zzcomprador.
  SELECT SINGLE bname 
	INTO l_mereq_item-zzcomprador "Campo Z donde dejo el comprador asociado.
    FROM zcot_001
    WHERE werks = im_data_new-reswk.
 
ENDIF.
 
CALL METHOD im_req_item->set_data( l_mereq_item ).

 

7. Finalmente el campo aparece en pantalla y calcula el comprador según el código al ingresar los datos por posición

Categorías:ABAP/4 Etiquetas: , , , , , ,
  1. Noelia
    15/10/2014 a las 07:33

    Hola! Necesito crear a nivel de cabecera una nueva pestaña en la transacción ME51N pero no sé si es posible. Pensaba que con la ampliacion MEREQ001 podría pero creo que sólo es válida para datos a nivel de posición. No sé si me puedes ayudar. ¿Es posible hacer lo que me piden?

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: