quinta-feira, 11 de março de 2021

WS_DELIVERY_UPDATE_2 - Atualização lote fornecedor

Flag padrão para criação de lote

        <ls_item>-taqui 'X'.
        <ls_item>-lianp 'X'.

Tive q fazer uma inclusão na exit de remessa MV50AFZ1

Form userexit_save_document_prepare

FIELD-SYMBOLS <lfs_tab_vbpok> TYPE ANY TABLE.

DATA: lt_vbpok_tab TYPE TABLE OF vbpok.

ASSIGN ('(SAPLV50S)VBPOK_TAB[]') TO <lfs_tab_vbpok>.
IF sy-subrc = 0.

  lt_vbpok_tab[] = <lfs_tab_vbpok>.

  LOOP AT xlips ASSIGNING FIELD-SYMBOL(<lfs_xlips).

    READ TABLE lt_vbpok_tab INTO DATA(ls_vbpok)
                                WITH KEY posnr_vl = <lfs_xlips>-posnr.

    IF sy-subrc = 0 AND ls_vbpok-lichn IS NOT INITIAL.
      <lfs_xlips>-lichn = ls_vbpok-lichn.
    ENDIF.

  ENDLOOP.

ENDIF.


GN_DELIVERY_CREATE - Criação recebimento VL31N - Preenchimento de parâmetros

 Parâmetros básicos para criação de recebimento

DATAls_vbsk TYPE vbsk.
DATAlt_komdlgn TYPE TABLE OF komdlgn,
      lt_vbfs    TYPE TABLE OF vbfs,
      lt_vbls    TYPE TABLE OF vbls.

CLEAR ls_vbsk.

APPEND INITIAL LINE TO lt_komdlgn ASSIGNING FIELD-SYMBOL(<ls_komdlgn>).
<ls_komdlgn>-lfart 'EL'.
<ls_komdlgn>-matnr ??.
<ls_komdlgn>-werks ??.
<ls_komdlgn>-lfdat sy-datum.
<ls_komdlgn>-lfimg ??.
<ls_komdlgn>-vrkme ??.
<ls_komdlgn>-meins ??.
<ls_komdlgn>-vgbel <pedido de compra>.
<ls_komdlgn>-vgpos <item pedido de compra>.
<ls_komdlgn>-vgtyp 'V'.
<ls_komdlgn>-lgort ??.
<ls_komdlgn>-lifnr ??.

CALL FUNCTION 'GN_DELIVERY_CREATE'
  EXPORTING
    vbsk_i   ls_vbsk
  TABLES
    xkomdlgn lt_komdlgn
    xvbfs    lt_vbfs "Erros se houver
    xvbls    lt_vbls"Recebimento criado.