Idoc INVOIC

Füllen des LZB-Kennzeichens im Idoc-Eingang INVOIC

In bestimmten Fällen ist es notwendig, im Idoc-Eingang INVOIC das LZB-Kennzeichen zu setzen.

Das LZB-Kennzeichen ist ein Mussfeld.

Das LZB-Kennzeichen kann im Userexit EXIT_SAPLIEDI_102 gefüllt werden (Erweiterung FEDI0001)

Nachfolgend ein beispielhaftes Coding:

*&———————————————————————*
*&  Include           ZXF06U07
*&———————————————————————*
*“———————————————————————-
*“*“Lokale Schnittstelle:
*“       IMPORTING
*“             VALUE(IDOC_CONTRL_INDEX)
*“       EXPORTING
*“             VALUE(I_FIMSG) LIKE  FIMSG STRUCTURE  FIMSG
*“       TABLES
*“              IDOC_CONTRL STRUCTURE  EDIDC
*“              IDOC_DATA STRUCTURE  EDIDD
*“              DOCUMENT_DATA STRUCTURE  FTPOST1
*“              TAX_DATA STRUCTURE  FTTAX
*“              ADDITIONAL_DATA STRUCTURE  FTPOST1
*“———————————————————————-

* Deklarationen —————————————————- *
DATAlv_lzbkz          TYPE bseglzbkz,
lv_lifnr          TYPE lifnr,
lv_bukrs          TYPE bukrs.
DATAls_doc            TYPE ftpost1.

* Wenn der Rechnungseingang zu einer IV im anderen Buchungskreis über
* das Idoc INVOICE FI gebucht wird, dann wird hier das LZB-KK gefüllt,
* da es ein Mussfeld ist.

READ TABLE document_data INTO ls_doc
WITH KEY fnam ‚BKPF-BLART‘.
CHECK ls_docfval ‚KR‘.

READ TABLE document_data INTO ls_doc
WITH KEY fnam ‚RF05A-NEWKO‘.
IF sysubrc 0.
lv_lifnr ls_docfval.
ELSE.
EXIT.
ENDIF.

READ TABLE document_data INTO ls_doc
WITH KEY fnam ‚RF05A-NEWBK‘.
IF sysubrc 0.
lv_bukrs ls_docfval.
ELSE.
EXIT.
ENDIF.

IF lv_lifnr ‚CC6060‘ AND   „CH
lv_bukrs ‚1000‘ OR
lv_bukrs ‚6010‘ ).
lv_lzbkz ‚E  ‚.

ENDIF.

IF lv_lifnr ‚CC6070‘ AND   „UK
lv_bukrs ‚1000‘ OR
lv_bukrs ‚5000‘ OR
lv_bukrs ‚6010‘ ).

lv_lzbkz ‚E  ‚.
ENDIF.

IF lv_lifnr ‚CC6080‘ AND   „FR
lv_bukrs ‚1000‘ OR
lv_bukrs ‚6010‘ ).

lv_lzbkz ‚E  ‚.
ENDIF.

IF lv_lzbkz ‚E‘.
READ TABLE document_data INTO ls_doc
WITH KEY stype ‚P‘
count ‚000001‘.
IF sysubrc 0.
ls_docfnam ‚BSEG-LZBKZ‘.
ls_docfval ‚E‘.
INSERT ls_doc INTO document_data INDEX sytabix.

ls_docfnam ‚BSEG-LANDL‘.
IF lv_lifnr ‚CC6060‘.
ls_docfval ‚CH‘.
ELSE.
ls_docfval ‚FR‘.
ENDIF.
INSERT ls_doc INTO document_data INDEX sytabix.
ENDIF.
ENDIF.