DEMO:MIRO 对采购订单进行发票校验BAPI_INCOMINGINVOICE_CREATE_java

report  zlm_miro.

parameters p_ebeln type ekko-ebeln.

data: ls_headerdata       like bapi_incinv_create_header,

        lt_itemdata         like table of bapi_incinv_create_item,

        ls_itemdata         like bapi_incinv_create_item,

        lt_return           like table of bapiret2,

        ls_return           like bapiret2,

        lv_invoicedocnumber like bapi_incinv_fld-inv_doc_no.

data: lv_item             type  rblgp.

data: lv_gross            type  bapi_rmwwr.

data:ls_ekko type ekko.

data:ls_ekpo type ekpo.

data:ls_mseg type mseg.

select single * from ekko into ls_ekko where ebeln = p_ebeln.

select single * from ekpo into ls_ekpo where ebeln = p_ebeln.

select single * from mseg into ls_mseg where ebeln = p_ebeln and mjahr = '2018'.

ls_itemdata-invoice_doc_item = 1.

ls_itemdata-po_number        = p_ebeln.

ls_itemdata-po_item          = 10.

ls_itemdata-item_amount      = ls_ekpo-netwr.

ls_itemdata-quantity         = ls_ekpo-menge.

ls_itemdata-po_unit          = ls_ekpo-meins..

ls_itemdata-tax_code         = 'J8'.

ls_itemdata-ref_doc          = ls_mseg-mblnr."参考凭证项目

ls_itemdata-ref_doc_year     = ls_mseg-mjahr.

ls_itemdata-ref_doc_it       = ls_mseg-zeile." 参考凭证项目

append ls_itemdata to lt_itemdata.

lv_gross = lv_gross + ls_ekpo-netwr + ls_ekpo-netwr  * 16 / 100.

*&header

clear: ls_headerdata.

ls_headerdata-invoice_ind  = 'X'.

ls_headerdata-doc_date     = sy-datum.

ls_headerdata-pstng_date   = sy-datum.

ls_headerdata-comp_code    = ls_ekko-bukrs..

ls_headerdata-currency     = ls_ekko-waers.

ls_headerdata-calc_tax_ind = 'X'.

ls_headerdata-pmnttrms     = '0001'.

ls_headerdata-item_text    = 'text'.

ls_headerdata-gross_amount = lv_gross.

ls_headerdata-ref_doc_no = 'S600'.

ls_headerdata-alloc_nmbr = 'S600'.

call function 'BAPI_INCOMINGINVOICE_CREATE'

  exporting

    headerdata       = ls_headerdata

  importing

    invoicedocnumber = lv_invoicedocnumber

  tables

    itemdata         = lt_itemdata

    return           = lt_return.

if lv_invoicedocnumber is not initial .

  write lv_invoicedocnumber.

  commit work and wait.

endif.


DB

RSEG - Document Item: Incoming invoice MM - Invoice Verification

RBKP - Document Header: invoice Receipt MM - Invoice Verification

TCODE:

Miro 创建发票校验

MR8M:冲销发票校验

mir4:查看凭证