Ver Mensaje Individual
  #14  
Viejo 01/06/09, 11:32:19
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
Por ejemplo

El metodo process_header te da un parametro llamado IM_HEADER, tu podrias hacer lo siguiente

data: ls_header type MEREQ_HEADER.

ls_header = im_header->get_data( ).

*ahora en ls_header tendrias los datos de cabecera

En el metodo process_item seria lo mismo solo que te da el parametro IM_ITEM en lugar del IM_HEADER

data: ls_item type mereq_item.

ls_item = im_item->get_data( ).

*ahora en ls_item tendrias los datos de la posicion



En el metodo check tienes el objeto cabecera (IM_HEADER), tambien dispones del parametro CH_FAILED que lo puedes utilizar para que el pedido sea invalido

Por ejemplo

data: lt_items type MMPUR_REQUISITION_ITEMS.

data: ls_item like line of lt_items.

data: ls_pr_item type mereq_item.

*Con esto obtengo una tabla con todos los objetos posicion
lt_items = im_header->get_items( ).

loop at lt_items into ls_item.

*Ahora en ls_pr_item tendria los datos de posicion (algo parecido a los *campos de la eban)
ls_pr_item = ls_item->get_data( ).

if ls_pr_item-menge <= 0.

*Con esto introduciria el mensaje de error correspondiente en el colector
mmpur_message sy-msgty sy-msgid sy-msgno sy-msgv1 sy-msgv2
sy-msgv3 sy-msgv4.

ch_failed = mmpur_yes.
endloop.
Responder Con Cita