2020-09-22 04:32发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
亲爱的
在通过bapi BAPI_ACC_DOCUMENT_POST创建客户预付款(f-29)时,遇到一个问题,请输入销售订单号,因为这在我们的系统中是必需的。 但是我在BAPIACAR09中没有这样的字段,因此我无法传递BAPI。 请提出一些解决方案。
亲爱的Omprakash,
我最近发布了一个有关扩大使用BAPI_ACC_DOCUMENT_POST
在此处检查解决方案,以及如何解决本文中的问题。
最好的问候
Gabriel Coleti
尊敬的Omprakash,
首先,您可以实现BAdI BADI_ACC_DOCUMENT(接口IF_EX_ACC_DOCUMENT)。 我在其中发布了BAdI的源代码。
第二,您可以使用EXTENSION2表,如下所示:
wa_extension2-structure ='ACCOUNTGL'。 "这是您要在其中添加销售订单的BAPI输入参数表
wa_extension2-valuepart1 ='0000000020'。 "这是您要在其中添加销售订单的订单项ID
wa_extension2-valuepart2 ='C_ACCIT'。 "这是您要在其中添加销售订单的BAdI表
wa_extension2-valuepart3 ='KDAUF'。 "这里是BAdI的字段-KDAUF是销售订单
wa_extension2-valuepart4 ='1140000347'。 "这是销售订单号
最诚挚的问候,
检查OSS注释561175是否对您有帮助。 另外,您可以尝试使用BAPI_PAYMENTREQUEST_CREATE
亲爱的Lakshmipathi,
请共享一些示例代码以传递BAPI_PAYMENTREQUEST_CREATE。 这样对我有很大帮助。
此致
Om
亲爱的加布里埃尔,
感谢您的宝贵意见,BADI实现是在扩展中传递值的唯一方法。
这是我的代码,我正在尝试传递扩展中的数字,但未传递,
lwa_bapi_docheader-obj_type ='BKPFF'。 lwa_bapi_docheader-obj_key ='$'。 lwa_bapi_docheader-obj_sys = sy-mandt。 lwa_bapi_docheader-bus_act ='RFBU'。 = sy-uname。 lwa_bapi_docheader-header_txt ='HEADER TEXT BAPI'。 lwa_bapi_docheader-comp_code ='9000'。 lwa_bapi_docheader-doc_date = sy-基准。 lwa_bapi_docheader-pstng_date = lwa_bapi_docheader-ref_doc_no ='REF DOC NO BAPI'。 lwa_bapi_docheader-doc_type ='DZ'。 lwa_bapi_docheader-AC_DOC_NO =``。 CLEAR lwa_bapi_acctgl。 * -itemno_acc ='0000000010'。 * lwa_bapi_acctgl-gl_account ='0000112315'。 * lwa_bapi_acctgl-comp_code ='9000'。 * lwa_bapi_acctgl-pstng_date = sy-datum。 -lwa_gtext_lite_m ='ITEM TEXT BAPI'。 * lwa_bapi_acctgl-S_ORD_ITEM ='000010'。 * lwa_bapi_acctgl-DOC_TYPE ='DZ'。 * lwa_bapi_acctgl-BUS_AREA ='1400'。 * lwa_bapi_acct ='O11151'。 *附加lwa_bapi_acctgl T O lt_bapi_acctgl。 lwa_bapi_acctgl-itemno_acc ='0000000020'。 lwa_bapi_acctgl-gl_account ='0000112315'。 -datum。 lwa_bapi_acctgl-item_text ='ITEM TEXT BAPI'。 * lwa_bapi_acctgl-CUSTOMER ='0000070033'。 lwa_bapi_acctgl-DOC_TYPE ='DZ'。 lwa_bapi_acctgl-1400。 lwa_bapi_acctgl-PROFIT_CTR ='O11151'。 * lwa_bapi_acctgl-SALES_ORD ='1140000347'。附加lwa_bapi_acctgl至lt_bapi_acctgl。 *为客户填写帐户应收帐款 '0000000010'。 lwa_bapi_acctrcv-customer ='0000070033'。 lwa_bapi_acctrcv-item_text ='ITEM TEXT BAPI'。 lwa_bapi_acctrcv-sp_gl_ind ='A'。 lwa_bapi_acctrcv-。 lwa_bapi_acctrcv-COMP_CODE ='9000'。 lwa_bapi_acctrcv-TAX_CODE ='00'。 * lwa_bapi_acctrcv-RES_DOC ='1140000347'。 *清除lwa_bapi_acctrcv。 * lwa_bapi_item 0000000020'。 * * lwa_bapi_acctrcv-customer ='0000070033'。 * lwa_bapi_acctrcv-item_text ='ITEM TEXT BAPI'。 * lwa_bapi_acctrcv-sp_gl_ind ='A'。 * lwa_bapi_acctrcv-pymt_cur_ * lwa_bapi_acctrcv-COMP_CODE ='9000'。 * lwa_bapi_acctrcv-TAX_CODE ='00'。 APPEND lwa_bapi_acctrcv至lt_bapi_acctrcv。 *填充量清除lwa_curra的金额 lwa_currencyamount-itemno_acc ='0000000010'。 "'0000900000'。 lwa_currencyamount-currency ='INR'。 lwa_currencyamount-amt_doccur ='-10000.00'。 APPEND lwa_currencyamount至lt_currencyamount。 CLWA lwa_currencyamount。 > lwa_currencyamount-itemno_acc ='0000000020'。"'0000900000'。 lwa_currencyamount-currency ='INR'。 lwa_currencyamount-amt_doccur ='10000.00'。追加lwa_currencyamount至lt_currencyamount。 ******************************************税收计算金额=10000。 *数据:tax_item1类型i。描述表lt_currencyamount LINES item_no。描述表lt_bapi_acctgl LINES tax_item。描述表lt_bapi_acctrcv LINES tax_item1 1. tax_item1。 TYPE Bukrs, TAX_CODE TYPE mwskz, I_CURRENCY_KEY TYPE WAERS, I_INVOICE_AMOUNT TYPE DMBTR。 i_companycode = 9000. TAX_CODE ='00'。 I_CURRENCY_KEY ='INR'。< br> I_INVOICE_AMOUNT =10000。描述表lt_currencyamount LINES item_no。致电 功能'CALCULATE_TAX_FROM_GROSSAMOUNT'导出 i_bukrs = i_companycode i_mwskz = TAX_CODE * I_TXJCD ='' i_waers = I_CURRENCY_KEY i_wrbtr = I_INVO e_fwnav = lv_f1 e_fwnvv = lv_f2 e_fwste = lv_f3 e_fwast = lv_f4 表格 t_mwdat = t_mwdat。如果sy-subrc <> 0. * MESS -MSGID类型SY-MSGTY编号SY-MSGNO *与SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。 ENDIF。 在t_mwdat到wa_mwdat的循环不是最初的。 tax_item = tax_item +1。 wa_accounttax-itemno_acc = tax_item。 wa_accounttax-cond_key = wa_mwdat-kschl。 wa_accounttax-acct_key = wa_mwdat-ktosl = wa_account_acc = tax_item 。 wa_accounttax-taxjurcode_deep = wa_mwdat-txjcd_deep。 '00'。 附加wa_accounttax TO lt _accounttax。 CLEAR:wa_accounttax。 lwa_currencyamount-itemno_acc = tax_item。 lwa_currencyamount-curr_type ='00'。 lwa_currencyamount-currency ='INR'。 lwa_currencyamount-amt_doccur wa_mwdat-wmwst。" wa_gldata-invoice_amount *(-1)。 lwa_currencyamount-amt_base = wa_mwdat-kawrt。" wa_gldata-invoice_amount。 APPEND lwa_currencyamount TO <_>货币金额。 wa_extension1-field1 ='1'。 wa_extension1-field2 ='VBEL2'。 wa_extension1-field3 ='4329812323'。将wa_extension1添加到lt_extension1。 *清除:p_base_amount,wa_extension1。 数据:ls_zzz类型 标头行的标准访问表, i_ext2类型标头行的bapiparex标准表。 *清除i_ext2。 * i_ext2-structure ='ACCIT'。 * ls_zzz-posnr = 1. ** ** ls_zzz-awref_reb ='123654'。 ** ** ls_zzz-aworg_reb ='654654'。 ** ** ls_zzz-aubel ='0000001364'。 " KDAUF * ls_zzz-kdauf ='1140000344'。" KDAUF * 将ls_zzz移至i_ext2-valuepart1。 * 附录i_ext2。 **** ****************************************************** ****************** 呼叫功能'BAPI_ACC_DOCUMENT_POST'导出 documentheader = lwa_bapi_docheader 表格 accountgl = lt_bapi_acctgl accountreceivable = lt_bapi_acctrcv 货币金额= lt_currencyamount * ACCOUNTTAX = lt_accounttax * EXTENSION1 = lt_extension1 EXTENSION2 = i_ext2 return = lt_return。 呼叫功能'BAPI_TRANSACTION_ WAIT ='X'。
Om prakash
最多设置5个标签!
亲爱的Omprakash,
我最近发布了一个有关扩大使用BAPI_ACC_DOCUMENT_POST
的博客。在此处检查解决方案,以及如何解决本文中的问题。
最好的问候
Gabriel Coleti
尊敬的Omprakash,
首先,您可以实现BAdI BADI_ACC_DOCUMENT(接口IF_EX_ACC_DOCUMENT)。 我在其中发布了BAdI的源代码。
第二,您可以使用EXTENSION2表,如下所示:
wa_extension2-structure ='ACCOUNTGL'。 "这是您要在其中添加销售订单的BAPI输入参数表
wa_extension2-valuepart1 ='0000000020'。 "这是您要在其中添加销售订单的订单项ID
wa_extension2-valuepart2 ='C_ACCIT'。 "这是您要在其中添加销售订单的BAdI表
wa_extension2-valuepart3 ='KDAUF'。 "这里是BAdI的字段-KDAUF是销售订单
wa_extension2-valuepart4 ='1140000347'。 "这是销售订单号
最诚挚的问候,
Gabriel Coleti
检查OSS注释561175是否对您有帮助。 另外,您可以尝试使用BAPI_PAYMENTREQUEST_CREATE
亲爱的Lakshmipathi,
请共享一些示例代码以传递BAPI_PAYMENTREQUEST_CREATE。 这样对我有很大帮助。
此致
Om
亲爱的加布里埃尔,
感谢您的宝贵意见,BADI实现是在扩展中传递值的唯一方法。
这是我的代码,我正在尝试传递扩展中的数字,但未传递,
lwa_bapi_docheader-obj_type ='BKPFF'。
e_fwnav = lv_f1
在t_mwdat到wa_mwdat的循环不是最初的。 wa_account_acc = tax_item 。
lwa_bapi_docheader-obj_key ='$'。
lwa_bapi_docheader-obj_sys = sy-mandt。
lwa_bapi_docheader-bus_act ='RFBU'。
= sy-uname。
lwa_bapi_docheader-header_txt ='HEADER TEXT BAPI'。
lwa_bapi_docheader-comp_code ='9000'。
lwa_bapi_docheader-doc_date = sy-基准。
lwa_bapi_docheader-pstng_date =
lwa_bapi_docheader-ref_doc_no ='REF DOC NO BAPI'。
lwa_bapi_docheader-doc_type ='DZ'。
lwa_bapi_docheader-AC_DOC_NO =``。
CLEAR lwa_bapi_acctgl。
* -itemno_acc ='0000000010'。
* lwa_bapi_acctgl-gl_account ='0000112315'。
* lwa_bapi_acctgl-comp_code ='9000'。
* lwa_bapi_acctgl-pstng_date = sy-datum。
-lwa_gtext_lite_m ='ITEM TEXT BAPI'。
* lwa_bapi_acctgl-S_ORD_ITEM ='000010'。
* lwa_bapi_acctgl-DOC_TYPE ='DZ'。
* lwa_bapi_acctgl-BUS_AREA ='1400'。
* lwa_bapi_acct ='O11151'。
*附加lwa_bapi_acctgl T O lt_bapi_acctgl。
lwa_bapi_acctgl-itemno_acc ='0000000020'。
lwa_bapi_acctgl-gl_account ='0000112315'。 -datum。
lwa_bapi_acctgl-item_text ='ITEM TEXT BAPI'。
* lwa_bapi_acctgl-CUSTOMER ='0000070033'。
lwa_bapi_acctgl-DOC_TYPE ='DZ'。
lwa_bapi_acctgl-1400。
lwa_bapi_acctgl-PROFIT_CTR ='O11151'。
* lwa_bapi_acctgl-SALES_ORD ='1140000347'。
附加lwa_bapi_acctgl至lt_bapi_acctgl。
*为客户填写帐户应收帐款 '0000000010'。
lwa_bapi_acctrcv-customer ='0000070033'。
lwa_bapi_acctrcv-item_text ='ITEM TEXT BAPI'。
lwa_bapi_acctrcv-sp_gl_ind ='A'。
lwa_bapi_acctrcv-。
lwa_bapi_acctrcv-COMP_CODE ='9000'。
lwa_bapi_acctrcv-TAX_CODE ='00'。
* lwa_bapi_acctrcv-RES_DOC ='1140000347'。
*清除lwa_bapi_acctrcv。
* lwa_bapi_item 0000000020'。
* * lwa_bapi_acctrcv-customer ='0000070033'。
* lwa_bapi_acctrcv-item_text ='ITEM TEXT BAPI'。
* lwa_bapi_acctrcv-sp_gl_ind ='A'。
* lwa_bapi_acctrcv-pymt_cur_ * lwa_bapi_acctrcv-COMP_CODE ='9000'。
* lwa_bapi_acctrcv-TAX_CODE ='00'。
APPEND lwa_bapi_acctrcv至lt_bapi_acctrcv。
*填充量
清除lwa_curra的金额
lwa_currencyamount-itemno_acc ='0000000010'。 "'0000900000'。
lwa_currencyamount-currency ='INR'。
lwa_currencyamount-amt_doccur ='-10000.00'。
APPEND lwa_currencyamount至lt_currencyamount。
CLWA lwa_currencyamount。
> lwa_currencyamount-itemno_acc ='0000000020'。"'0000900000'。
lwa_currencyamount-currency ='INR'。
lwa_currencyamount-amt_doccur ='10000.00'。
追加lwa_currencyamount至lt_currencyamount。
******************************************税收计算
金额=10000。
*数据:tax_item1类型i。
描述表lt_currencyamount LINES item_no。
描述表lt_bapi_acctgl LINES tax_item。
描述表lt_bapi_acctrcv LINES tax_item1 1.
tax_item1。 TYPE Bukrs,
TAX_CODE TYPE mwskz,
I_CURRENCY_KEY TYPE WAERS,
I_INVOICE_AMOUNT TYPE DMBTR。
i_companycode = 9000.
TAX_CODE ='00'。
I_CURRENCY_KEY ='INR'。< br> I_INVOICE_AMOUNT =10000。
描述表lt_currencyamount LINES item_no。
致电 功能'CALCULATE_TAX_FROM_GROSSAMOUNT'
导出
i_bukrs = i_companycode
i_mwskz = TAX_CODE
* I_TXJCD =''
i_waers = I_CURRENCY_KEY
i_wrbtr = I_INVO
e_fwnvv = lv_f2
e_fwste = lv_f3
e_fwast = lv_f4
表格
t_mwdat = t_mwdat。
如果sy-subrc <> 0.
* MESS -MSGID类型SY-MSGTY编号SY-MSGNO
*与SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。
ENDIF。
tax_item = tax_item +1。
wa_accounttax-itemno_acc = tax_item。
wa_accounttax-cond_key = wa_mwdat-kschl。
wa_accounttax-acct_key = wa_mwdat-ktosl =
wa_accounttax-taxjurcode_deep = wa_mwdat-txjcd_deep。 '00'。
附加wa_accounttax TO lt _accounttax。
CLEAR:wa_accounttax。
lwa_currencyamount-itemno_acc = tax_item。
lwa_currencyamount-curr_type ='00'。
lwa_currencyamount-currency ='INR'。
lwa_currencyamount-amt_doccur wa_mwdat-wmwst。" wa_gldata-invoice_amount *(-1)。
lwa_currencyamount-amt_base = wa_mwdat-kawrt。" wa_gldata-invoice_amount。
APPEND lwa_currencyamount TO <_>货币金额。
wa_extension1-field1 ='1'。
wa_extension1-field2 ='VBEL2'。
wa_extension1-field3 ='4329812323'。
将wa_extension1添加到lt_extension1。
*清除:p_base_amount,wa_extension1。
数据:ls_zzz类型 标头行的标准访问表,
i_ext2类型标头行的bapiparex标准表。
*清除i_ext2。
*
i_ext2-structure ='ACCIT'。
*
ls_zzz-posnr = 1.
**
** ls_zzz-awref_reb ='123654'。
**
** ls_zzz-aworg_reb ='654654'。
**
** ls_zzz-aubel ='0000001364'。 " KDAUF
*
ls_zzz-kdauf ='1140000344'。" KDAUF
*
将ls_zzz移至i_ext2-valuepart1。
*
附录i_ext2。
**** ****************************************************** ******************
呼叫功能'BAPI_ACC_DOCUMENT_POST'
导出
documentheader = lwa_bapi_docheader
表格
accountgl = lt_bapi_acctgl
accountreceivable = lt_bapi_acctrcv
货币金额= lt_currencyamount
* ACCOUNTTAX = lt_accounttax
* EXTENSION1 = lt_extension1
EXTENSION2 = i_ext2
return = lt_return。
呼叫功能'BAPI_TRANSACTION_
WAIT ='X'。
此致
Om prakash
一周热门 更多>