欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

创建Invoice和公司间Invoice

发布时间:2025/3/20 30 豆豆
生活随笔 收集整理的这篇文章主要介绍了 创建Invoice和公司间Invoice 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

“创建发票和公司间开票

 


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 创建公司间开票
*
*
*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   "定价日期和汇率
**            DELIVERY_DATE = RV60A-FBUDA   "提供服务日期
**            SELECT_DATE   = RV60A-SELDAT  "出具发票被执行的最后日期
*            VBSK_I        = L_VBSK
*       IMPORTING
*            VBSK_E        = L_VBSK
*            OD_BAD_DATA   = LV_BAD_DATA       "复选框
*            DET_REBATE    = REBATE_DETERMINED "回扣已经重新确定
*       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---------------|

总结

以上是生活随笔为你收集整理的创建Invoice和公司间Invoice的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。