|
#1
|
|||
|
|||
Gracias BALLAN tengo una duda el ls_items de que tipo lo creo¿?...
Saludos |
#2
|
|||
|
|||
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 |
#3
|
|||
|
|||
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 |
#4
|
|||
|
|||
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 |
#5
|
|||
|
|||
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. |
#6
|
|||
|
|||
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... |
#7
|
|||
|
|||
Perdon por lo del nombre. Ya esta...
Un saludo ygraicas |
#8
|
|||
|
|||
Hola buenas tardes,
Ya me funciona la validación correctamente, desde hace ya días, el consultor ha echo pruebas, y le salta en el resto de tipo de pedidos, y solo queremos que salga en un determinado tipo de pedidos. La validación la estoy haciendo en las items, ya que es ahi que el importe no sea superior a 3000, pero ahi no tengo la clase de pedido, que en mi caso será tipo de pedido SD, ya que se encuentra este dato en la cabecera (header). Mi pregunta es: ¿Cómo puedo pasar el tipo de pedido en la BADI a las posiciones para que solo me salga en ese tipo de pedido? Muchas gracias |
#9
|
||||
|
||||
buen dia Ballan.
vi tus post's, resulta q tengo q hacer una validacion en la ME51N en la solicitud de pedido con imputacion a un centro de costo. implemente la bdai ME_PROCESS_REQ_CUST en el metodo CHECK, tengo el siguiente codigo: METHOD if_ex_me_process_req_cust~check. break vandrade. DATA: lt_items TYPE mmpur_requisition_items. DATA: ls_item LIKE LINE OF lt_items. DATA: ls_pr_item TYPE mereq_item. DATA: ls_po_item TYPE mepoitem. lt_items = im_header->get_items( ). LOOP AT lt_items INTO ls_item. ls_po_item = im_item->get_data( ). IF ls_po_item-kostl NE '223'. "este es mi CeCo *mensaje ENDIF. ENDLOOP. ENDMETHOD. bueno pues resulta q no puedo activar el metodo pues me dice el sigueinte error. Clase ZCL_IM_ME_PROCESS_REQ_CUST,Método IF_EX_ME_PROCESS_REQ_CUST~CHECK The field "IM_ITEM" is unknown, but there is a field with the similar name "LS_ITEM" . . . . si me pudieras orientar por favor, muchas gracias, saludos.
__________________
Saludos amigos SAPeros |
Herramientas | Buscar en Tema |
Desplegado | |
|
|