创建Invoice和公司间Invoice
“創(chuàng)建發(fā)票和公司間開(kāi)票
?
REPORT??ztesta.
SELECTION-SCREEN BEGIN OF BLOCK bk WITH FRAME TITLE text-001.
??PARAMETERS:??l_vbeln TYPE vbeln OBLIGATORY.
SELECTION-SCREEN END OF BLOCK bk.
*data: lt_billingdatain TYPE??TABLE OF bapivbrk WITH HEADER LINE,
*??????ls_billingdatain??TYPE TABLE OF bapivbrk WITH HEADER LINE,
*
*??????lt_conditions TYPE STANDARD TABLE OF bapikomv WITH HEADER LINE,
*
*??????lt_success??TYPE??TABLE OF??bapivbrksuccess,
*??????ls_success TYPE??bapivbrksuccess,
*
*??????lt_return2 TYPE TABLE OF bapiret1,
*??????ls_return2 TYPE bapiret1.
*
*data: lv_fkdat??TYPE??vbrk-fkart VALUE 'ZF2',
*??????lv_vbtyp??TYPE??vbrk-vbtyp VALUE 'C'.
*
*data: lt_likp TYPE TABLE OF likp WITH HEADER LINE ,
*???????l_likp LIKE LINE OF lt_likp,
*??????lt_lips???type table of lips with header line,
*??????l_lips LIKE LINE OF lt_lips.
*??DATA:??????????LT_TVFK LIKE TABLE OF TVFK WITH HEADER LINE ,
*????????????L_TVFK??LIKE LINE OF LT_TVFK.
*
*START-OF-SELECTION.
*
*????SELECT SINGLE * INTO??CORRESPONDING FIELDS OF??l_likp FROM likp WHERE??vbeln = l_vbeln.
*
*????SELECT??* INTO CORRESPONDING FIELDS OF TABLE lt_lips FROM??lips WHERE??vbeln = l_vbeln.
*????SELECT SINGLE??* INTO CORRESPONDING FIELDS OF???l_tvfk FROM??tvfk WHERE??fkart = 'ZIV'.
*if lt_lips[] is NOT INITIAL.
*??????loop at lt_lips??INTO l_lips WHERE vbeln = l_vbeln.
*
*?????ls_billingdatain-doc_number = l_likp-vbeln .
*?????ls_billingdatain-doc_number = l_lips-posnr .
*
*?????ls_billingdatain-ref_doc???= l_likp-vbeln .
*?????ls_billingdatain-ref_item??= l_lips-posnr .
*?????ls_billingdatain-ordbilltyp??= lv_fkdat.
*?????ls_billingdatain-ref_doc_ca = l_likp-vbtyp.
*?????ls_billingdatain-salesorg = l_likp-vkorg .
**?????ls_billingdatain-distr_chan = l_likp-vtweg .
**?????ls_billingdatain_payment_terms =
*?????ls_billingdatain-plant????= l_lips-werks .
*?????ls_billingdatain-material = l_lips-matnr .
*?????ls_billingdatain-sales_unit = l_lips-meins.
*
*????APPEND ls_billingdatain.
*??ENDLOOP.
*
*???call FUNCTION 'BAPI_BILLINGDOC_CREATEMULTIPLE'
*????TABLES
*???????BILLINGDATAIN = LS_BILLINGDATAIN
*???????RETURN????????= LT_RETURN2
*???????SUCCESS???????= LT_SUCCESS .
*
*
*???if lt_success[] is INITIAL.
*?????CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
*???ELSE.
*?????CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
*?????EXPORTING
*???????WAIT = 'X'.
*???ENDIF.
*??clear lt_return2[].
*??clear lt_success[].
*
* ENDIF.
*
*
*"----STATEMENT
*
*
*TABLES:KOMFK,vbsk,vbfs,vbss,vbrk,vbrp,vbpa,komv,thead,tvfk.
*
*DATA: L_SUBRC TYPE SY-SUBRC.
*data: l_sd_billing_exit TYPE REF TO if_ex_badi_sd_billing,
*??????active??TYPE??xfeld,
*??????tabcount TYPE i.
*
*DATA: L_FKART TYPE??VBRK-FKART??VALUE 'ZIV',
*??????L_FKDAT TYPE??VBRK-FKDAT,
*??????LV_BAD_DATA??LIKE??RVSEL-XFELD,
*??????REBATE_DETERMINED TYPE C,
*??????CALC_TYPE TYPE C.
*CLEAR:??L_FKDAT,LV_BAD_DATA, REBATE_DETERMINED,CALC_TYPE.
*
*DATA :??????LT_VBSK LIKE TABLE OF VBSK??,
*????????????L_VBSK LIKE LINE OF LT_VBSK,
*
*
*
*????????????LT_TVFKT LIKE TABLE OF TVFKT WITH HEADER LINE,
*????????????L_TVFKT LIKE LINE OF LT_TVFKT,
*
*????????????LT_VBUK LIKE TABLE OF VBUK WITH HEADER LINE,
*????????????L_VBUK LIKE LINE OF LT_VBUK,
*
*
*
*??????????XKOMFK LIKE??KOMFK??OCCURS 0 WITH HEADER LINE ,??????????????????????????"STRUCTURE
*??????????XTHEAD LIKE THEADVB OCCURS 0 WITH HEADER LINE,??"TABLE
*??????????XVBFS??LIKE??VBFS???OCCURS 0 WITH HEADER LINE,??"TABLE
*??????????XVBSS??LIKE??VBSS???OCCURS 0 WITH HEADER LINE,
*??????????XVBRK??LIKE??VBRKVB OCCURS 0 WITH HEADER LINE,??"TABLE
*??????????XVBRP??LIKE??VBRPVB OCCURS 0 WITH HEADER LINE,
*??????????XVBPA??LIKE??VBPAVB OCCURS 0 WITH HEADER LINE,
*??????????XKOMV??LIKE??KOMV???OCCURS 0 WITH HEADER LINE , "STUCTURE
*
*???????????L_KOMFK LIKE LINE OF XKOMFK.
*
*"-----STATEMENT 創(chuàng)建公司間開(kāi)票
*
*
*PERFORM??tvfk_select USING l_fkart.
*
*FORM TVFK_SELECT USING??TS_FKART .
*
*??L_SUBRC??= 0 .
* SELECT SINGLE??* INTO L_TVFK FROM??TVFK WHERE??FKART = TS_FKART .
*
*???IF SY-SUBRC NE 0.
*????CLEAR L_TVFK.
*????L_SUBRC = 4.
*???ENDIF.
*
* SELECT SINGLE * INTO L_TVFKT FROM TVFKT WHERE??SPRAS = SY-LANGU
*????????????????????????????AND????FKART = L_FKART.
*
*???IF SY-SUBRC NE 0 .
*???CLEAR:??L_TVFK,??L_TVFKT.
*??????L_SUBRC = 4.
*???ENDIF.
*
* PERFORM KOMFK_SELECT.
*
*ENDFORM.
*
*FORM??KOMFK_SELECT .
*
*
*
*??"MAKE SURE KOMFK-VBELN IS NOT SPACE
*??SELECT??SINGLE??* INTO L_VBUK FROM??VBUK WHERE??VBELN = L_VBELN.
*???IF SY-SUBRC EQ 0 .
*?????L_SUBRC = 4.
*???ENDIF.
*
*???L_KOMFK-VBTYP = L_VBUK-VBTYP.
*
*???IF L_KOMFK-VBTYP = ''.
*?????L_SUBRC = 4.
*???ENDIF.
*??L_KOMFK-MANDT = SY-MANDT.
*
*?????READ TABLE XKOMFK INDEX 1 .
*????IF NOT SY-SUBRC IS INITIAL.
*????L_KOMFK-VBELN = L_VBELN.
*????XKOMFK-MANDT = SY-MANDT.
*????XKOMFK-VBELN = L_KOMFK-VBELN.
*????XKOMFK-VBTYP = L_KOMFK-VBTYP.
*????APPEND XKOMFK.
*????ENDIF.
*
* PERFORM??VBSK_SELECT.
*ENDFORM.
*
*FORM VBSK_SELECT .
*
*??L_VBSK-MANDT = SY-MANDT.
*??L_VBSK-ERNAM = SY-UNAME.
*??L_VBSK-ERDAT = SY-DATUM.
*??L_VBSK-UZEIT = SY-UZEIT.
*??L_VBSK-SMART = 'F'.
*??L_VBSK-SAMMG = SPACE.
*
*
*CALL FUNCTION 'RV_INVOICE_CREATE'
* EXPORTING
*????????????INVOICE_TYPE??= L_FKART
*????????????INVOICE_DATE??= L_FKDAT
**????????????PRICING_DATE??= RV60A-PRSDT???"定價(jià)日期和匯率
**????????????DELIVERY_DATE = RV60A-FBUDA???"提供服務(wù)日期
**????????????SELECT_DATE???= RV60A-SELDAT??"出具發(fā)票被執(zhí)行的最后日期
*????????????VBSK_I????????= L_VBSK
*???????IMPORTING
*????????????VBSK_E????????= L_VBSK
*????????????OD_BAD_DATA???= LV_BAD_DATA???????"復(fù)選框
*????????????DET_REBATE????= REBATE_DETERMINED "回扣已經(jīng)重新確定
*???????TABLES
*????????????XKOMFK????????= XKOMFK
*????????????XTHEAD????????= XTHEAD
*????????????XVBFS?????????= XVBFS
*????????????XVBSS?????????= XVBSS
*????????????XVBRK?????????= XVBRK
*????????????XVBRP?????????= XVBRP
*????????????XVBPA?????????= XVBPA
*????????????XKOMV?????????= XKOMV.
*IF NOT LV_BAD_DATA IS INITIAL.
*????CLEAR XKOMFK-FKSTK.
*????CLEAR XKOMFK-FKSAK.
*????CLEAR XKOMFK-FXMSG.
*????MODIFY XKOMFK TRANSPORTING FKSTK FKSAK FXMSG WHERE MANDT = SY-MANDT.
**???FCODE = 'ENT1'.
* ENDIF.
*
* LOOP AT XVBRK
*???????WHERE??VBELN = VBRK-VBELN .
*???VBRK-RPLNR = XVBRK-RPLNR .
*???EXIT .
* ENDLOOP.
*
* IF REBATE_DETERMINED = 'Y' .
*???CALC_TYPE??= 'A' .
* ELSE.
*???CALC_TYPE??= 'I' .
* ENDIF.
*CALL FUNCTION 'RV_INVOICE_DOCUMENT_ADD'
*???EXPORTING
*??????VBSK_I???????????= VBSK
*??????WITH_POSTING?????= 'A'
*??????PREISFINDUNGSART = CALC_TYPE
*???IMPORTING
*??????VBSK_E???????????= VBSK
*???TABLES
*????????????XKOMFK????????= XKOMFK
*????????????XTHEAD????????= XTHEAD
*????????????XVBFS?????????= XVBFS
*????????????XVBSS?????????= XVBSS
*????????????XVBRK?????????= XVBRK
*????????????XVBRP?????????= XVBRP
*????????????XVBPA?????????= XVBPA
*????????????XKOMV?????????= XKOMV.
*
*ENDFORM.
*&----------------------------------------for bapi---------------|
總結(jié)
以上是生活随笔為你收集整理的创建Invoice和公司间Invoice的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SD-关于定价日期的设置
- 下一篇: 基于采购订单的MIRO校验过程