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?

  2. jinojosa
    14/01/2018 a las 20:49

    Buenas noches. Me podrias indicar como ignorar el error que se genera en la activacion?

    • 15/01/2018 a las 00:24

      Sinceramente no lo recuerdo. Calcula que es algo del 2014 que hice…pero revisa quizás en la SPDD o SPAU capaz podes activarlo desde ahi abrazo!

  3. Di
    31/03/2022 a las 23:06

    Hola! tengo un problema y se da solo en producción y cuando me logueo en ES, el campo ZZ que agregué no lo muestra al querer cambiar la disposición del layout, pero si estoy logueada en inglés, sí me lo muestra! qué estaría faltando hacer ?

    • 31/03/2022 a las 23:14

      Hola! Fijate en la foto donde aparece la CMOD, donde dice «Atributos proyecto ampliación…» ahí está el idioma maestro capaz ahí está el problema. Otra que se me ocurre es que en la estructura append no haya nada atado al idioma o que debas traducir el campo. Sino la última en el layout fijate si no tenés por defecto el idioma de visualización en el botón «valores de propuesta» aunque esa creo que no es. Sino capaz quedó algo en alguna otra OT y no paso a PRD…El transporte dio todo OK o también dio advertencia en el punto 3? quizás en PRD falta ejecutar la SPAU.

      • Di
        01/04/2022 a las 00:55

        Hola Eduardo! gracias por tu respuesta. Ya revisé lo siguiente: el idioma maestro es español, en la estructura le puse la traducción a EN. El paso de la OT fue OK.
        El problema no está en que no muestra la traducción del campo, sino en que directamente no aparece el campo ZZCOMPRADOR en el listado «Pool col.» para seleccionarlo cuando estamos logueados en ES, pero si entramos con EN, el campo está y además lo muestra traducido.
        La SPAU qué función cumple ?

      • 01/04/2022 a las 01:26

        Si, muy raro. Yo lo revisé y me funciona en ambos idiomas, es más en EN no lo había traducido y aparece en blanco la columna. La SPAU y SPDD sirven para actualizar los objetos, a veces cuando hay actualizaciones es requerido ejecutarlas para que queden consistentes con la nueva versión. Revisa puedes activar en PRD la estructura WTYSC_WWB_NAVTREE_DATA, quizás se soluciona con eso, sino también reactivar CI_EBANDB, VSEBAN_CN y EBAN en PRD. No se me ocurre nada más por ahora! Máxime que dices que en QAS funciona bien…

  4. Di
    01/04/2022 a las 10:24

    Ya activé las estructuras, pero nada cambió. Lo otro que pienso es que puede ser un tema de buffer ?

    • 01/04/2022 a las 11:48

      No creo…quizás retransportando la OT pero los objetos pasaron bien, sino en inglés tampoco verías nada…debe ser capaz algo del catálogo de campos de visualización del ALV de la ME53n, habría que ver otros posts a ver si no falta algún paso…

  1. No trackbacks yet.

Deja una respuesta

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. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: