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.
- image0011
- image011
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.
- image017
- image018
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
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?
Hola Noelia! te mandé un mail!
Buenas noches. Me podrias indicar como ignorar el error que se genera en la activacion?
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!
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 ?
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.
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 ?
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…
Ya activé las estructuras, pero nada cambió. Lo otro que pienso es que puede ser un tema de buffer ?
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…