SAP产生银行流水线凭证号.docx_第1页
SAP产生银行流水线凭证号.docx_第2页
SAP产生银行流水线凭证号.docx_第3页
SAP产生银行流水线凭证号.docx_第4页
SAP产生银行流水线凭证号.docx_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、se11创建结构,必须包含行项目号POSNR字段,和其他需要扩展的字段,如记账码Posting Key、原因代码Reason Code 2、SE19实现BADI增强ACC_DOCUMENT,这个增强是用来将BAPI_ACC_DOCUMENT_POST参数表EXTENSION2传入系统表 3、使用BAPI_ACC_DOCUMENT_POST参数表EXTENSION2,将扩展字段传入详细步骤如下:1、创建结构,se11,很简单,不再赘述,如下图:2、SE19实现BADI增强ACC_DOCUMENT通过ACC_DOCUMENT help文档知道,方法CHANGE用来完成字段的扩展,还有一个需要注意的是参考业务类型,这个一定要选对,不然执行BAPI的时候不会调用这个BADI,我用的是BKPFF,如下图:激活这个BADI实现。双击change方法创建,可以查看ACC_DOCUMENT的实现例子CL_EXM_IM_ACC_DOCUMENT(R/3 4.7版本,其他版本可能名称不一样),将这个实例的change方法的代码直接copy过来,激活方法,代码如下* Example to move fields from BAPI parameter EXTENSION2 to structure * ACCIT (accounting document line items). * The dictionary structure (content for EXTENSION2-STRUCTURE) must * contain field POSNR, (TYPE POSNR_ACC) to indentify the correct line * item of the internal table ACCIT. * DATA: wa_extension TYPE bapiparex, ext_value(960) TYPE c, wa_accit TYPE accit, l_ref TYPE REF TO data. FIELD-SYMBOLS: TYPE ANY, TYPE ANY. SORT c_extension2 BY structure. LOOP AT c_extension2 INTO wa_extension. AT NEW structure. CREATE DATA l_ref TYPE (wa_extension-structure). ASSIGN l_ref-* TO . ENDAT. CONCATENATE wa_extension-valuepart1 wa_extension-valuepart2 wa_extension-valuepart3 wa_extension-valuepart4 INTO ext_value. MOVE ext_value TO . ASSIGN COMPONENT POSNR OF STRUCTURE TO . READ TABLE c_accit WITH KEY posnr = INTO wa_accit. IF sy-subrc IS INITIAL. MOVE-CORRESPONDING TO wa_accit. MODIFY c_accit FROM wa_accit INDEX sy-tabix. ENDIF. ENDLOOP.3、使用BAPI_ACC_DOCUMENT_POST参数表EXTENSION2,将扩展字段传入*INTERNAL TABLE DECLARATION*&-G/L ACCOUNT ITEMDATA: ACCOUNTGL TYPE STANDARD TABLE OF BAPIACGL09.*&CURRENCY ITEMSDATA: CURRENCY_AMOUNT TYPE STANDARD TABLE OF BAPIACCR09.*&-RETURN PARAMETERDATA: RETURN TYPE STANDARD TABLE OF BAPIRET2 WITH HEADER LINE.*&-it_extension2 ITEMSDATA: IT_EXTENSION2 TYPE STANDARD TABLE OF BAPIPAREX WITH HEADER LINE.*&WORKAREA FOR ZEXTENDATA: WA_ZEXTEN LIKE ZEXTEN. ”ZEXTEN就是刚才SE11创建的那个结构*赋值*& EXTENSION2扩展字段增强部分 WA_ZEXTEN-POSNR = 0000000010. 凭证行项目 WA_ZEXTEN-RSTGR = 171. 凭证行项目原因代码 IT_EXTENSION2-STRUCTURE = ZEXTEN. IT_EXTENSION2-VALUEPART1 = WA_ZEXTEN. APPEND IT_EXTENSION2.*其他参数表的字段赋值如下例HEADER-HEADER_TXT = TEST HEADER.凭证抬头文本 HEADER-USERNAME = SY-UNAME. 用户名 HEADER-COMP_CODE = 1000.公司代码 HEADER-DOC_DATE = 20090618.凭证中的凭证日期 HEADER-PSTNG_DATE = 20090618.凭证中的记帐日期 HEADER-DOC_TYPE = S1.凭证类型* HEADER-BUS_ACT = RFBU.交易业务 WA_ACCOUNTGL-ITEMNO_ACC = 0000000010. 会计凭证行项目编号 WA_ACCOUNTGL-GL_ACCOUNT = 1002010105. 总分类帐帐目* WA_ACCOUNTGL-ITEM_TEXT = . WA_ACCOUNTGL-BUS_AREA = 8000. 业务范围 APPEND WA_ACCOUNTGL TO ACCOUNTGL. CLEAR WA_ACCOUNTGL. WA_ACCOUNTGL-ITEMNO_ACC = 0000000020. 会计凭证行项目编号 WA_ACCOUNTGL-GL_ACCOUNT = 1301040000. 总分类帐帐目 WA_ACCOUNTGL-BUS_AREA = 8000. 业务范围*WA_ACCOUNTGL-ITEM_TEXT = .*wa_accountgl-ACCT_TYPE = R. APPEND WA_ACCOUNTGL TO ACCOUNTGL. CLEAR WA_ACCOUNTGL. WA_CURRENCY_AMOUNT-ITEMNO_ACC = 0000000010. 行项目编号 WA_CURRENCY_AMOUNT-AMT_DOCCUR = 500. 金额 WA_CURRENCY_AMOUNT-CURRENCY = RMB. APPEND WA_CURRENCY_AMOUNT TO CURRENCY_AMOUNT. CLEAR WA_CURRENCY_AMOUNT. WA_CURRENCY_AMOUNT-ITEMNO_ACC = 0000000020. WA_CURRENCY_AMOUNT-AMT_DOCCUR = -500. WA_CURRENCY_AMOUNT-CURRENCY = RMB. APPEND WA_CURRENCY_AMOUNT TO CURRENCY_AMOUNT. CLEAR WA_CURRENCY_AMOUNT. *执行BAPICALL FUNCTION BAPI_ACC_DOCUMENT_POST EXPORTING DOCUMENTHEADER = HEADER*CUSTOMERCPD =*CONTRACTHEADER =*IMPORTING*OBJ_TYPE =*OBJ_KEY =*OBJ_SYS = TABLES ACCOUNTGL = ACCOUNTGL*ACCOUNTRECEIVABLE =*ACCOUNTPAYABLE =*ACCOUNTTAX = CURRENCYAMOUNT = CURRENCY_AMOUNT*CRITERIA =*VALUEFIELD =*EXTENSION1 = RETURN = RETURN*PAYMENTCARD =*CONTRACTITEM = EXTENSION2 = IT_EXTENSION2*REALESTATE = . IF RETURN-TYPE NA EA. CALL FUNCTION BAPI_TRANSACTION_COMMIT EXPORTING WAIT = X. ENDIF.FORMFRM_YZPZ.DATA:LS_DOCUMENTHEADERTYPEBAPIACHE09,LT_ACCOUNTGLTYPETABLEOFBAPIACGL09,LS_ACCOUNTGLTYPEBAPIACGL09,LT_EXTENSION2TYPETABLEOFBAPIPAREX,LS_EXTENSION2TYPEBAPIPAREX,LT_CURRENCYAMOUNTTYPETABLEOFBAPIACCR09,LS_CURRENCYAMOUNTTYPEBAPIACCR09,L_POSNRTYPEPOSNR,L_CPOSNRTYPEPOSNR_ACC,L_PERNRTYPEPERNR_D.DATA:LT_RETURNTYPETABLEOFBAPIRET2,LS_RETURNTYPEBAPIRET2.DATA:LV_STR(10)TYPEC.CONCATENATEGS_PZMN-ZSQR-借款INTOLV_STR.CONDENSELV_STRNO-GAPS.*Collectheaderinfor.LS_DOCUMENTHEADER-USERNAME=SY-UNAME.GS_OUT-UNAME.LS_DOCUMENTHEADER-COMP_CODE=GS_OUT-BUKRS.LS_DOCUMENTHEADER-DOC_DATE=GS_PZMN-ZPZRQ.LS_DOCUMENTHEADER-FISC_YEAR=GS_PZMN-ZGZRQ+0(4).LS_DOCUMENTHEADER-FIS_PERIOD=GS_PZMN-ZGZRQ+4(2).LS_DOCUMENTHEADER-PSTNG_DATE=GS_PZMN-ZGZRQ.LS_DOCUMENTHEADER-DOC_TYPE=ZB.*ls_documentheader-header_txt=借款.LS_DOCUMENTHEADER-HEADER_TXT=LV_STR.*collectGLaccount.READTABLEGT_YZPZINTOGS_YZPZINDEX1.*借记:40CLEARL_POSNR.L_POSNR=L_POSNR+1.LS_ACCOUNTGL-ITEMNO_ACC=L_POSNR.LS_ACCOUNTGL-GL_ACCOUNT=GS_YZPZ-KTONR.LS_ACCOUNTGL-FUNC_AREA=YM01.APPENDLS_ACCOUNTGLTOLT_ACCOUNTGL.LS_CURRENCYAMOUNT-ITEMNO_ACC=L_POSNR.LS_CURRENCYAMOUNT-CURRENCY=GS_OUT-WAERS.LS_CURRENCYAMOUNT-AMT_DOCCUR=GS_PZMN-ZJKJE.APPENDLS_CURRENCYAMOUNTTOLT_CURRENCYAMOUNT.LS_EXTENSION2-STRUCTURE=ZSTRUCTURE.L_CPOSNR=L_POSNR.ZSTRUCTURE-POSNR=L_CPOSNR.ZSTRUCTURE-BSCHL=40.ZSTRUCTURE-PERNR=GS_YZPZ-ZYGBH.L_PERNR=ZSTRUCTURE-PERNR.LS_EXTENSION2-VALUEPART1=ZSTRUCTURE.APPENDLS_EXTENSION2TOLT_EXTENSION2.CLEARLS_EXTENSION2.*贷记50READTABLEGT_YZPZINTOGS_YZPZINDEX2.L_POSNR=L_POSNR+1.LS_ACCOUNTGL-ITEMNO_ACC=L_POSNR.LS_ACCOUNTGL-GL_ACCOUNT=GS_YZPZ-KTONR.APPENDLS_ACCOUNTGLTOLT_ACCOUNTGL.LS_CURRENCYAMOUNT-ITEMNO_ACC=L_POSNR.LS_CURRENCYAMOUNT-CURRENCY=GS_OUT-WAERS.LS_CURRENCYAMOUNT-AMT_DOCCUR=GS_PZMN-ZJKJE*(-1).APPENDLS_CURRENCYAMOUNTTOLT_CURRENCYAMOUNT.LS_EXTENSION2-STRUCTURE=ZSTRUCTURE.L_CPOSNR=L_POSNR.ZSTRUCTURE-POSNR=L_CPOSNR.ZSTRUCTURE-BSCHL=50.ZSTRUCTURE-RSTGR=GS_YZPZ-RSTGR.ZSTRUCTURE-HBKID=GS_YZPZ-HBKID.ZSTRUCTURE-HKTID=GS_YZPZ-HKTID.SELECTSINGLETXT20FROMT053SINTOZSTRUCTURE-SGTXTWHERESPRAS=1ANDBUKRS=GI00ANDRSTGR=ZSTRUCTURE-RSTGR.LS_EXTENSION2-VALUEPART1=ZSTRUCTURE.APPENDLS_EXTENSION2TOLT_EXTENSION2.CLEARLS_EXTENSION2.*postCALLFUNCTIONBAPI_ACC_DOCUMENT_POSTEXPORTINGDOCUMENTHEADER=LS_DOCUMENTHEADERTABLESACCOUNTGL=LT_ACCOUNTGL*accountreceivable=lt_accountreceivable*accountpayable=lt_accountpayableCURRENCYAMOUNT=LT_CURRENCYAMOUNTEXTENSION2=LT_EXTENSION2RETURN=LT_RETURN.READTABLELT_RETURNINTOLS_RETURNWITHKEYTYPE=E.IFSY-SUBRC=0.CALLFUNCTIONBAPI_TRANSACTION_ROLLBACK.LOOPATLT_RETURNINTOLS_RETURNWHERETYPECAEA.IFLS_RETURN-IDNERWANDLS_RETURN-NUMBERNE609.MESSAGELS_RETURN-MESSAGETYPECNS_E.*CONCATENATELS_RETURN-MESSAGE/L_MESSAGEINTOL_MESSAGE.ENDIF.ENDLOOP.*MESSAGELS_RETURN-MESSAGETYPECNS_E.ELSE.*更新过账信息到ZFIT1001表MOVE-CORRESPONDINGGS_OUTTOGS_ZFIT1001.LOOPATLT_RETURNINTOLS_RETURNWHERETYPEAANDTYPEE.IFLS_RETURN-MESSAGE_V2+0(10)CO1234567890.GS_ZFIT1001-ZPZBH=LS_RETURN-MESSAGE_V2+0(10).GS_ZFIT1001-ZGZRQ=GS_PZMN-ZGZRQ.过账日期GS_ZFIT1001-ZPZRQ=GS_PZMN-ZPZRQ.凭证日期GS_ZFIT1001-ZYHJE=GS_PZMN-ZJKJE.应还款GS_ZFIT1001-ZYHWH=GS_PZMN-ZJKJE.应还未还*GS_ZFIT1001-ZSJFKRQ=GS_PZMN-ZSJFKRQ.实际付款日期*GS_ZFIT1001-ZDJZT=05.已付款MODIFYZFIT1001FROMGS_ZFIT1001.IFSY-SUBRCNE0.DO4TIMES.MODIFYZFIT1001FROMGS_ZFIT1001.IFSY-SUBRCEQ0.EXIT.ENDIF.ENDDO.IFSY-SUBRCNE0.ROLLBACKWORK.MESSAGETEXT-008TYPECNS_E.ENDIF.ELSE.CALLFUNCTIONBAPI_TRANSACTION_COMMIT.MOVE-CORRESPONDINGGS_ZFIT1001TOGS_OUT.MODIFYGT_OUTFROMGS_OUTTRANSPORTINGZGZRQZPZBHZYHKZYHJEZYHWHZDJZTWHEREZDJH=GS_ZFIT1001-ZDJH.MESSAGES007(ZFI)WITHGS_ZFIT1001-ZPZBH.ENDIF.EXIT.ENDIF.ENDLOOP.ENDIF.ENDFORM.FORMFRM_REV_HKPZ.DATA:LS_BKPFTYPEBKPF.DATA:LV_AWKEYTYPEAWKEY.DATA:LS_REVERSALTYPEBAPIACREV,LT_RETURNTYPESTANDARDTABLEOFBAPIRET2,LS_RETURNTYPEBAPIRET2.DATA:LT_ROW_NOTYPELVC_T_ROID,LS_ROW_NOTYPELVC_S_ROID.CALLMETHODR_ALV_400-GET_SELECTED_ROWSIMPORTINGET_ROW_NO=LT_ROW_NO.IFLINES(LT_ROW_NO)1.MESSAGETEXT-002TYPECNS_E.ENDIF.READTABLELT_ROW_NOINTOLS_ROW_NOINDEX1.READTABLEGT_HKMXINTOGS_HKMXINDEXLS_ROW_NO-ROW_ID.IFGS_HKMX-ZSFCXEQX.MESSAGETEXT-011TYPECNS_E.ENDIF.SELECTSINGLE*FROMBKPFINTOLS_BKPFWHEREBUKRSEQGS_OUT-BUKRSANDBELNREQGS_HKMX-ZPZBHANDGJAHREQGS_HKMX-GJAHR.IFSY-SUBRCNE0.MESSAGETEXT-012TYPECNS_E.ENDIF.SY-UNAME=LS_BKPF-USNAM.LS_REVERSAL-OBJ_TYPE=LS_BKPF-AWTYP.CONCATENATEGS_HKMX-ZPZBHGS_OUT-BUKRSGS_HKMX-GJAHRINTOLS_REVERSAL-OBJ_KEY_R.LS_REVERSAL-OBJ_KEY=LS_REVERSAL-OBJ_KEY_R.LS_REVERSAL-OBJ_KEY=$.CALLFUNCTIONOWN_LOGICAL_SYSTEM_GETIMPORTINGOWN_LOGICAL_SYSTEM=LS_REVERSAL-OBJ_SYSEXCEPTIONSOWN_LOGICAL_SYSTEM_NOT_DEFINED=1OTHERS=2.LS_REVERSAL-REASON_REV=03.IFLS_BKPF-BUDAT(6)NESY-DATUM(6).LS_REVERSAL-REASON_REV=03.LS_REVERSAL-PSTNG_DATE=LS_BKPF-BUDAT.ENDIF.CALLFUNCTIONBAPI_ACC_DOCUMENT_REV_CHECKEXPORTINGREVERSAL=LS_REVERSALBUS_ACT=RFBUTABLESRETURN=LT_RETURN.LOOPATLT_RETURNINTOLS_RETURNWHERETYPECAEA.*MESSAGELS_RETURN-MESSAGETYPECNS_E.IFLS_RETURN-IDNERWANDLS_RETURN-NUMBERNE609.MESSAGELS_RETURN-MESSAGETYPECNS_E.*CONCATENATELS_RETURN-MESSAGE/L_MESSAGEINTOL_MESSAGE.ENDIF.ENDLOOP.CALLFUNCTIONBAPI_ACC_DOCUMENT_REV_POSTEXPORTINGREVERSAL=LS_REVERSALBUS_ACT=RFBUIMPORTING*OBJ_TYPE=OBJ_KEY=LV_AWKEY*OBJ_SYS=TABLESRETURN=LT_RETURN.CLEARLS_RETURN.LOOPATLT_RETURNINTOLS_RETURNWHERETYPECAEA.IFLS_RETURN-TYPE=E.BAPI抛出错误IFLS_RETURN-IDNERWANDLS_RETURN-NUMBERNE609.MESSAGELS_RETURN-MESSAGETYPECNS_E.*CONCATENATELS_RETURN-MESSAGE/L_MESSAGEINTOL_MESSAGE.ENDIF.ENDIF.CLEARLS_RETURN.ENDLOOP.LOOPATLT_RETURNINTOLS_RETURNWHERETYPEAANDTYPEE.IFLS_RETURN-MESSAGE_V2+0(10)CO1234567890.SELECTSINGLE*FROMZFIT1002INTOGS_ZFIT1002WHEREZPZBH=GS_HKMX-ZPZBHA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论