|
#1
|
|||
|
|||
Ejemplo actualización de indicador de borrado orden de servicio
Estimados
Comparto aquí un programa para marcar el indicador de borrado de una posición de orden de compras. parametros: DATA: P_EBELN type EBELN, P_EBELP type EBELP, T_RETURN type BAPIRET2. DATA: poheader TYPE bapimepoheader, poheaderx TYPE bapimepoheaderx, po_item TYPE bapimepoitem OCCURS 0 WITH HEADER LINE, po_itemx TYPE bapimepoitemx OCCURS 0 WITH HEADER LINE. DATA: f1_return TYPE bapiret2 OCCURS 0 WITH HEADER LINE. FIELD-SYMBOLS: <fs_doc> TYPE zsd_wsordservdetdoc, <fs_return> TYPE bapiret2, <fs_wsserv> TYPE zsd_wsordservdet, <fs_ordservcab> TYPE zsd_wsordservcab. "APPEND INITIAL LINE TO t_ordservcab ASSIGNING <fs_ordservcab>. poheader-po_number = p_ebeln. poheader-delete_ind = 'L'. "APPEND poheader. poheaderx-PO_NUMBER = 'X'. poheaderx-delete_ind = 'X'. "APPEND poheaderx. "POSICIONES po_item-po_item = p_ebelp." <fs_wsserv>-po_item." nro. posición po_item-delete_ind = 'L'. po_item-order_reason = '100'. APPEND po_item. po_itemx-po_item = po_item-po_item. po_itemx-po_itemx = 'X'. po_itemx-delete_ind = 'X'. po_itemx-order_reason = 'X'. APPEND po_itemx. CALL FUNCTION 'BAPI_PO_CHANGE' EXPORTING purchaseorder = p_ebeln poheader = poheader poheaderx = poheaderx NO_PRICE_FROM_PO = 'X' TABLES return = f1_return poitem = po_item poitemx = po_itemx. t_return[] = f1_return[]. IF sy-subrc EQ 0. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. ENDIF. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|