|
#1
|
|||
|
|||
BALLA muchisimas gracias ya lo tengo funcioando, una pregunta podría utlizar la misma badi para hacer una validación en la ME21N.
Un saludoa |
#2
|
|||
|
|||
Para los pedidos dispones de la badi ME_PROCESS_PO_CUST en lugar de la ME_PROCESS_REQ_CUST que es para solicitudes de pedido
El funcionamiento es exactamente el mismo en las dos badis solo que evidentemente una te proporcionara informacion de la EBAN y la otra de la EKKO/EKPO |
#3
|
|||
|
|||
Gracias BALLAN tengo una duda el ls_items de que tipo lo creo¿?...
Saludos |
#4
|
|||
|
|||
La cabecera seria de tipo MEPOHEADER y la posicion del tipo MEPOITEM
De todas formas para poder saber eso yo hago lo siguiente: Haciendo un resumen muy superficial una BADI es una INTERFAZ que se puede ver a traves de la transaccion SE24 (si miramos la definicion de la badi a traves de la SE18 veremos que la badi ME_PROCESS_PO_CUST tiene definida la interfaz IF_EX_ME_PROCESS_PO_CUST) Si miramos la IF_EX_ME_PROCESS_PO_CUST en la SE24 veremos todos los metodos de la badi, al ser una interfaz solo vienen las definiciones y los parametros de los metodos DENTRO NO TIENE CODIGO Si nos vamos al metodo PROCESS_ITEM por ejemplo veremos que como parametro recibe el parametro IM_ITEM cuyo tipo es otra interfaz IF_PURCHASE_ORDER_ITEM_MM si vamos a ver esa interfaz por la SE24 veremos que en dicha interfaz existe un metodo llamado GET_DATA que si miramos los parametros veremos que devuelve una estructura del tipo MEPOITEM Bueno no se si he aclarado algo o lo he liado mas pero espero que se me entienda |
#5
|
|||
|
|||
Le he puesto el BREAK para ver si me para donde quiero yo porque el chequeo que quiero es que si el importe es superior a 3.000 que de error...
Muchas gracias |
#6
|
|||
|
|||
Muchas gracias BALLAR, me ah quedado claro, porque yo y las badis no nos llevabamos hasta ahora pero el problema como te he expuesto anteriormente no me para el break donde quiero.
Un saludo |
#7
|
|||
|
|||
A ver ni balla ni ballar es ballan :P
Si quieres chequear si el pedido tiene mas de 3000 euros y dar un mensaje Implementa la badi que te he dicho y utiliza el metodo check, en este metodo se para cuando pulsas el boton verificar del pedido o bien cuando le das al boton de grabacion primero verifica y luego graba El codigo seria algo por el estilo data: lt_items type PURCHASE_ORDER_ITEMS. data: lt_item like line of lt_items, ls_po_item type mepoitem. data: lv_importe type mepoitem-menge. clear: lv_importe. lt_items = im_header->get_items( ). loop at lt_items into ls_item. ls_po_item = ls_item->get_data( ). add ls_po_item-menge to lv_importe. endloop. if lv_importe > 3000. mmpur_message ... aqui iria el mensaje ch_failed = 'X'. endif. |
#8
|
|||
|
|||
No me para en ningun lado el break que puede ser he revisado que este todo activado y es correcto... Pero no para... Para ver cual es el dato del precio...
Me podrias dar una pistilla... Muchas gracias y siento ser tan pesada... |
#9
|
|||
|
|||
Perdon por lo del nombre. Ya esta...
Un saludo ygraicas |
Herramientas | Buscar en Tema |
Desplegado | |
|
|