Problemas con BAPI_PO_CHANGE para bloquear posicion

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • carivv
    Junior Member
    • abr
    • 1

    #1

    Problemas con BAPI_PO_CHANGE para bloquear posicion

    Buenos dias,

    Necesito bloquear una posicion de un pedido con la BAPI_PO_CHANGE o similar...

    El codigo que estoy usando es:

    REFRESH: lt_poitem,
    lt_poitemx,
    lt_return.

    ls_poheader-po_number = gs_documentos-ebeln.

    CLEAR: lt_poitem,
    lt_poitemx.
    lt_poitem-po_item = gs_documentos-ebelp.
    lt_poitemx-po_item = gs_documentos-ebelp.
    lt_poitem-delete_ind = lc_s.
    lt_poitemx-delete_ind = gc_x.
    APPEND lt_poitem.
    APPEND lt_poitemx.

    TRY .
    CALL FUNCTION 'BAPI_PO_CHANGE'
    EXPORTING
    purchaseorder = gs_documentos-ebeln
    * poheader = ls_poheader
    * poheaderx = ls_poheaderx
    no_messaging = gc_x
    no_message_req = gc_x
    TABLES
    return = lt_return
    poitem = lt_poitem
    poitemx = lt_poitemx.

    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
    wait = gc_x.
    CATCH cx_root.
    ENDTRY.

    Como pueden ver trato de dejar el campo indicador de borrado con el valor 'S'. Que es el que queda cuando se bloquea por la transaccion ME22N.

    Pero al ejecutar la BAPI (de fondo) me muestra el siguiente error:

    No se puede borrar posición 00020 ya que tiene conformidades y/o facturación. Se requiere borrar estos documentos previamente.

    Mientras que desde la transaccion ME22N se bloquea la posicicon sin problemas...

    Desde ya agradezco su ayuda,
    Saludos,
Trabajando...