Te paso un ejemplo de como hacer que cuando modifiques un campo de una posicion de solped te cree una posicion nueva como copia
El codigo tendrias que ponerlo en el metodo process_item y tendras que meterlo dentro de alguna condicion porque sino va a entrar en un bucle infinito ya que al modificar una posicion creara otra como copia, al crear otra como copia volvera a saltar el process_item y se volvera a crear otra como copia...
La idea es que veas como hacerlo
En el metodo process_item podrias hacer esto
DATA: lo_header TYPE REF TO if_purchase_requisition,
lo_item TYPE REF TO if_purchase_requisition_item.
data: ls_item type mereq_item,
ls_itemx type mereq_itemx.
*Aqui obtengo el objeto cabecera de la solicitud de pedido
lo_header = im_item->get_requisition( ).
*Aqui creo una nueva posicion como copia de otra existente
lo_item = lo_header->create_item( im_item = im_item ).
*Si quisiera crearla en blanco
lo_item = lo_header->create_item( ).
ls_item = lo_item->get_data( ).
ls_itemx = lo_item->get_datax( ).
ls_item-menge = 69.
ls_itemx-menge = 'X'.
lo_item->set_data( im_data = ls_item ).
lo_item->set_datax( im_datax = ls_itemx ).
|