Anuncio

Colapsar
No hay anuncio todavía.

exit MV50AFZ1 ayuda porfavor

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • exit MV50AFZ1 ayuda porfavor

    Estimados, les explico mi problema, toy trabajando con la exit MV50AFZ1 para poder moficar el vbeln del modulo SD cuando este lfimg de lips cuando este campo sea = 0. la logica la tengo hecha y funciona pero cuando voy a ver el documeto borrado me vuelve aparacer, pero si la borro directamente de lips funciona correctamente, pero yo solo quero borrar la linea de este documento solo en las tablas que se almacenan en las tablas que utiliza esta exit. les copartire el codigo para que se entienda mas .

    *---------------------------------------------------------------------*
    * FORM USEREXIT_SAVE_DOCUMENT_PREPARE *
    *---------------------------------------------------------------------*
    * This userexit can be used for changes or checks, before a *
    * document is saved. *
    * *
    * If field T180-TRTYP contents 'H', the document will be *
    * created, else it will be changed. *
    * *
    * This form is called at the beginning of form BELEG_SICHERN *
    * *
    *---------------------------------------------------------------------*


    IF SY-TCODE = 'VL02N' and SY-UCOMM = 'WABU_T' .


    TYPES: BEGIN OF ty_lips,
    vbeln TYPE vbeln_vl,
    vgbel TYPE vgbel,
    posnr TYPE posnr_vl,
    lfimg TYPE lfimg,
    uecha TYPE uecha,
    vgpos TYPE vgpos,
    end of ty_lips.

    data: lt_lips TYPE STANDARD TABLE OF ty_lips,
    lt_lips1 TYPE STANDARD TABLE OF ty_lips,
    ts_lips TYPE ty_lips,
    ts_lips1 TYPE ty_lips.
    SELECT vbeln vgbel posnr lfimg uecha vgpos INTO TABLE lt_lips
    FROM lips
    WHERE vgbel = XLIPS-vgbel.

    lt_lips1[] = lt_lips[].

    DELETE lt_lips1 WHERE uecha is INITIAL.
    DELETE lt_lips WHERE uecha IS NOT INITIAL.

    LOOP AT lt_lips INTO ts_lips.

    READ TABLE lt_lips1 INTO ts_lips1 WITH KEY uecha = ts_lips-posnr.

    IF SY-SUBRC ne 0 AND ts_lips-lfimg = '0'.

    * DELETE lt_lips WHERE vgbel = ts_lips1-vgbel and posnr = ts_lips1-posnr.
    delete XLIPS WHERE posnr = ts_lips-posnr and lfimg = 0.

    ENDIF.

    ENDLOOP.
    ENDIF.
Trabajando...
X