MIRO - 物料+总账科目发票过账 - BAPI_INCOMINGINVOICE_CREATE
目录
一、函数源代码
二、结构
一、函数源代码
FUNCTION ZRFC_FSSC_FI_011.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" VALUE(IW_HEAD) TYPE ZSFSSCFI003
*" VALUE(IW_TAX) TYPE ZSFSSCFI004 OPTIONAL
*" EXPORTING
*" VALUE(E_RESULT) TYPE ZSFSSCFI007
*" TABLES
*" IT_MATERIAL STRUCTURE ZSFSSCFI005 OPTIONAL
*" IT_GLACCOUNT STRUCTURE ZSFSSCFI006 OPTIONAL
*"----------------------------------------------------------------------DATA: G_ZTYPE TYPE BAPI_MTYPE,G_ZMESSAGE TYPE BAPI_MSG.DATA: WA_HEADERDATA TYPE BAPI_INCINV_CREATE_HEADER.DATA: G_INVOICEDOCNUMBER TYPE BAPI_INCINV_FLD-INV_DOC_NO,G_FISCALYEAR TYPE BAPI_INCINV_FLD-FISC_YEAR,WA_ITEMDATA TYPE BAPI_INCINV_CREATE_ITEM,IT_ITEMDATA LIKE STANDARD TABLE OF WA_ITEMDATA,WA_TAXDATA TYPE BAPI_INCINV_CREATE_TAX,IT_TAXDATA LIKE STANDARD TABLE OF WA_TAXDATA,WA_ACCOUNTINGDATA TYPE BAPI_INCINV_CREATE_ACCOUNT,IT_ACCOUNTINGDATA LIKE STANDARD TABLE OF WA_ACCOUNTINGDATA,WA_MATERIALDATA TYPE BAPI_INCINV_CREATE_MATERIAL,IT_MATERIALDATA LIKE STANDARD TABLE OF WA_MATERIALDATA,WA_GLACCOUNTDATA TYPE BAPI_INCINV_CREATE_GL_ACCOUNT,IT_GLACCOUNTDATA LIKE STANDARD TABLE OF WA_GLACCOUNTDATA.DATA: G_RBLGP TYPE RBLGP.DATA: WA_RETURN TYPE BAPIRET2,IT_RETURN LIKE STANDARD TABLE OF WA_RETURN.CLEAR: E_RESULT.SELECT SINGLEBELNRGJAHRFROM RBKPINTO (E_RESULT-BELNR, E_RESULT-GJAHR)WHERE ZUONR EQ IW_HEAD-ALLOC_NMBR.IF SY-SUBRC = 0.E_RESULT-MSGTYPE = 'E'.CONCATENATE 'FSSC单号:'IW_HEAD-ALLOC_NMBR'已存在对应的过账发票'INTOE_RESULT-MSGTEXT.ELSE.CLEAR: WA_HEADERDATA.WA_HEADERDATA-INVOICE_IND = 'X'. "记帐发票WA_HEADERDATA-DOC_TYPE = 'RE'.WA_HEADERDATA-DOC_DATE = IW_HEAD-DOC_DATE.WA_HEADERDATA-PSTNG_DATE = IW_HEAD-PSTNG_DATE.WA_HEADERDATA-REF_DOC_NO = IW_HEAD-REF_DOC_NO.WA_HEADERDATA-COMP_CODE = IW_HEAD-COMP_CODE.WA_HEADERDATA-DIFF_INV = IW_HEAD-DIFF_INV.WA_HEADERDATA-DIFF_INV = |{ WA_HEADERDATA-DIFF_INV ALPHA = IN }|.WA_HEADERDATA-GROSS_AMOUNT = IW_HEAD-GROSS_AMOUNT.WA_HEADERDATA-CURRENCY = IW_HEAD-CURRENCY.WA_HEADERDATA-HEADER_TXT = IW_HEAD-HEADER_TXT.WA_HEADERDATA-ALLOC_NMBR = IW_HEAD-ALLOC_NMBR.CLEAR: IT_TAXDATA.CLEAR:WA_TAXDATA.WA_TAXDATA-TAX_CODE = IW_TAX-TAX_CODE.WA_TAXDATA-TAX_AMOUNT = IW_TAX-TAX_AMOUNT.APPEND WA_TAXDATA TO IT_TAXDATA.CLEAR: IT_MATERIALDATA.LOOP AT IT_MATERIAL INTO DATA(WA_MATERIAL).CLEAR: WA_MATERIALDATA.WA_MATERIALDATA-INVOICE_DOC_ITEM = WA_MATERIAL-INVOICE_DOC_ITEM.WA_MATERIALDATA-MATERIAL = WA_MATERIAL-MATERIAL.CALL FUNCTION 'CONVERSION_EXIT_MATN5_INPUT'EXPORTINGINPUT = WA_MATERIALDATA-MATERIALIMPORTINGOUTPUT = WA_MATERIALDATA-MATERIALEXCEPTIONSLENGTH_ERROR = 1OTHERS = 2.WA_MATERIALDATA-VAL_AREA = WA_MATERIAL-PLANT.WA_MATERIALDATA-VALUATION_TYPE = WA_MATERIAL-VALUATION_TYPE.WA_MATERIALDATA-DB_CR_IND = WA_MATERIAL-DB_CR_IND.WA_MATERIALDATA-ITEM_AMOUNT = WA_MATERIAL-ITEM_AMOUNT.WA_MATERIALDATA-QUANTITY = WA_MATERIAL-QUANTITY.WA_MATERIALDATA-BASE_UOM = WA_MATERIAL-BASE_UOM.CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'EXPORTINGINPUT = WA_MATERIALDATA-BASE_UOM
* LANGUAGE = SY-LANGUIMPORTINGOUTPUT = WA_MATERIALDATA-BASE_UOMEXCEPTIONSUNIT_NOT_FOUND = 1OTHERS = 2.WA_MATERIALDATA-TAX_CODE = WA_MATERIAL-TAX_CODE.APPEND WA_MATERIALDATA TO IT_MATERIALDATA.ENDLOOP.CLEAR: IT_GLACCOUNTDATA.LOOP AT IT_GLACCOUNT INTO DATA(WA_GLACCOUNT).CLEAR: WA_GLACCOUNTDATA.WA_GLACCOUNTDATA-INVOICE_DOC_ITEM = WA_GLACCOUNT-INVOICE_DOC_ITEM.WA_GLACCOUNTDATA-COMP_CODE = IW_HEAD-COMP_CODE.WA_GLACCOUNTDATA-GL_ACCOUNT = WA_GLACCOUNT-GL_ACCOUNT.WA_GLACCOUNTDATA-GL_ACCOUNT = |{ WA_GLACCOUNTDATA-GL_ACCOUNT ALPHA = IN }|.WA_GLACCOUNTDATA-ITEM_AMOUNT = WA_GLACCOUNT-ITEM_AMOUNT.WA_GLACCOUNTDATA-DB_CR_IND = WA_GLACCOUNT-DB_CR_IND.WA_GLACCOUNTDATA-COSTCENTER = WA_GLACCOUNT-COSTCENTER.WA_GLACCOUNTDATA-COSTCENTER = |{ WA_GLACCOUNTDATA-COSTCENTER ALPHA = IN }|.WA_GLACCOUNTDATA-FUNC_AREA = WA_GLACCOUNT-FUNC_AREA.WA_GLACCOUNTDATA-PROFIT_CTR = WA_GLACCOUNT-PROFIT_CTR.WA_GLACCOUNTDATA-PROFIT_CTR = |{ WA_GLACCOUNTDATA-PROFIT_CTR ALPHA = IN }|.WA_GLACCOUNTDATA-PLANT = WA_GLACCOUNT-PLANT.WA_GLACCOUNTDATA-TAX_CODE = WA_GLACCOUNT-TAX_CODE.APPEND WA_GLACCOUNTDATA TO IT_GLACCOUNTDATA.ENDLOOP.CLEAR: G_ZTYPE,G_ZMESSAGE,E_RESULT.CLEAR: G_INVOICEDOCNUMBER,G_FISCALYEAR,IT_RETURN.CALL FUNCTION 'MESSAGES_INITIALIZE'.CALL FUNCTION 'BAPI_INCOMINGINVOICE_CREATE'EXPORTINGHEADERDATA = WA_HEADERDATA
* ADDRESSDATA =IMPORTINGINVOICEDOCNUMBER = G_INVOICEDOCNUMBERFISCALYEAR = G_FISCALYEARTABLESITEMDATA = IT_ITEMDATA
* ACCOUNTINGDATA =GLACCOUNTDATA = IT_GLACCOUNTDATAMATERIALDATA = IT_MATERIALDATATAXDATA = IT_TAXDATA
* WITHTAXDATA =
* VENDORITEMSPLITDATA =RETURN = IT_RETURN
* EXTENSIONIN =
* TM_ITEMDATA =
* NFMETALLITMS =
* ASSETDATA =.LOOP AT IT_RETURN INTO WA_RETURNWHERE TYPE = 'A'OR TYPE = 'E'.EXIT.ENDLOOP.IF SY-SUBRC = 0.CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'
* IMPORTING
* RETURN =.LOOP AT IT_RETURN INTO WA_RETURNWHERE TYPE = 'A'OR TYPE = 'E'.CONCATENATE G_ZMESSAGEWA_RETURN-MESSAGEINTOG_ZMESSAGE.ENDLOOP.G_ZTYPE = 'E'.ELSE.CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'EXPORTINGWAIT = 'X'
* IMPORTING
* RETURN =.G_ZTYPE = 'S'.CONCATENATE '预制发票'G_INVOICEDOCNUMBER'年度'G_FISCALYEAR',创建成功!'INTOG_ZMESSAGE.E_RESULT-BELNR = G_INVOICEDOCNUMBER.E_RESULT-GJAHR = G_FISCALYEAR.ENDIF.E_RESULT-MSGTYPE = G_ZTYPE.E_RESULT-MSGTEXT = G_ZMESSAGE.ENDIF.ENDFUNCTION.
二、结构





本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
