2020-08-13 17:02发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好!
我一直在寻找BAPI,我无法使用它来上传多个在Tcode WCOCO中手动创建的回扣合同。 我尝试了BAPI_CONDITION_CONTRACT_CREATE,但业务量出现错误。 您能否将有关如何正确填充BAPI中表格的示例代码发送给我? 非常感谢!
此致
摄像机
尝试此代码,我可以很好地工作。
*&--------------------------------------------- ------------------------ * *&报告ZTESTCHEN009 *&------------- -------------------------------------------------- ------ * *& *&--------------------------------- ------------------------------------ * 报告ZTESTCHEN009。 < br>数据:HEADDATAIN类型BAPICCHEADX。数据:HEADDATAINX类型BAPICCHEADX。数据:WA_CONDITIONKEYDATAIN类型BAPICCCONDITIONKEY, IT_CONDITIONKEYDATAIN类似于WA_CONDITIONKEYDATA数据类型的标准表: ,与WA_CONDITIONKEYDATAINX的标准表类似的IT_CONDITIONKEYDATAINX。 > WA_CONDITIONITEMDATAINX的IT_CONDITIONITEMDATAINX标准表。 数据:WA_RETURN TYPE BAPIRET2, IT_RETURN LIKE STANDAR D WA_RETURN表。 数据:CONDITIONCONTRACTNUMBER类型BAPICCKEY-CONDITION_CONTRACT_NUMBER, HEADDATAOUT类型BAPICCHEADOS。 数据:L_ID类型I. 清除:HEADDATAIN。 > HEADDATAIN-CONTRACT_TYPE ='ZBBI'。 HEADDATAIN-CUSTOMER_OWNER ='0001200001'。 HEADDATAIN-SALESORG ='1110'。 HEADDATAIN-DISTR_CHAN ='90'。 HEADDATAIN-DIVISION =' 00'。 HEADDATAIN-VALIDITY_DATE_FROM ='20191101'。 HEADDATAIN-VALIDITY_DATE_TO ='20191231'。 清除:HEADDATAINX。 HEADDATAINX-CONTRACT_TYPE ='X'。 HEADDATAINX -CUSTOMER_OWNER ='X'。 HEADDATAINX-SALESORG ='X'。 HEADDATAINX-DISTR_CHAN ='X'。 HEADDATAINX-DIVISION ='X'。 HEADDATAINX-VALIDITY_DATE_FROM ='X' 。 HEADDATAINX-VALIDITY_DATE_TO ='X'。 清除:IT_CONDITIONKEYDATAINX。清除:IT_CONDITIONKEYDATAINX。清除:IT_CONDITIONITEMDATAIN。清除:IT_CONDITIONITEMDATAINX。 :L_ID。 向L_ID添加1。清除:WA_CONDITIONKEYDATAIN。 WA_CONDITIONKE YDATAIN-ORDER_KEY = L_ID。 * WA_CONDITIONKEYDATAIN-TABLE_NO ='163'。 WA_CONDITIONKEYDATAIN-TABLE_NO ='4AB'。 WA_CONDITIONKEYDATAIN-COND_TYPE ='ZO03'。 WA_CONDITIONKEYDATAIN-VALID_FROM ='2019 。 WA_CONDITIONKEYDATAIN-VALID_TO ='20191231'。 * WA_CONDITIONKEYDATAIN-MATERIAL ='EP4933-01-302'。 WA_CONDITIONKEYDATAIN-APPLICATIO ='V'。将WA_CONDITIONKEYDATAIN添加到IT_CONDITIONKEYDATAIN。 清除:WA_CONDITIONKEYDATAINX。 WA_CONDITIONKEYDATAINX-ORDER_KEY = L_ID。 * WA_CONDITIONKEYDATAINX-MATERIAL ='X'。将WA_CONDITIONKEYDATAINX添加到IT_CONDITIONKEYDATAINX。 CLEAR:WA_CONINM。 -ORDER_KEY = L_ID。 WA_CONDITIONITEMDATAIN-COND_COUNT ='01'。 WA_CONDITIONITEMDATAIN-CALC_TYPE ='A'。 WA_CONDITIONITEMDATAIN-AMOUNT =3。 WA_CONDITIONITEMDATAIN-CONDCURR ='%'。 将WA_CONDITIONITEMDATAIN附加到IT_CONDITIONITEMDATAIN。 清除:WA_CONDITIONITEMDATAINX。 WA_CONDITIONITEMDATAINX-ORDE R_KEY = L_ID。 WA_CONDITIONITEMDATAINX-COND_COUNT ='01'。 WA_CONDITIONITEMDATAINX-CALC_TYPE ='X'。 WA_CONDITIONITEMDATAINX-AMOUNT ='X'。 WA_CONDITIONITEMDATAINX' =' >将WA_CONDITIONITEMDATAINX追加到IT_CONDITIONITEMDATAINX。 通话功能'BAPI_CONDITION_CONTRACT_CREATE'导出 HEADDATAIN = HEADDATAIN HEADDATAINX = HEADDATAINX * WITH DEFAULT =运行 >导入 HEADDATAOUT = HEADDATAOUT CONDITIONCONTRACTNUMBER = CONDITIONCONTRACTNUMBER 表 * ITEMDATAIN = * ITEMDATAINX = CONDITIONKEYDATAIN = IT_CONDITIONKEYDATAIN CONDITIONKEYDATAINX = IT_CONDITIONKEYDATAINM > CONDITIONITEMDATAINX = IT_CONDITIONITEMDATAINX * ITEMDATAOUT = * CONDITIONKEYDATAOUT = * CONDITIONITEMDATAOUT = * EXTENSIONIN = * EXTENSIONOUT = * HEADTEXTIN = * HEADTEXTOUT = * ITEMTEXTIN = * ITEMTEXTOUT = RETURN = IT_RETURN * SCALEDATAIN = * SCALEDATAOUT = * BVBDATAIN = * BVBDATAINX = * BVBDATAOUT = * CALENDARDATAIN = * CALENDARDATAINX = * CALENDARDATAOUT = 。< br> 不返回任何字段的IT_RETURN运输循环 TYPE-'E'或TYPE ='A'。退出。 ENDLOOP。如果SY-SUBRC =0。 调用函数'BAPI_TRANSACTION_ROLLBACK' *导入 *返回= 。 ELSE。调用函数'BAPI_TRANSACTION_COMMIT'导出等待='X' *导入 * RETURN = 。 ENDIF。 通话功能'FINB_BAPIRET2_DISPLAY'导出 IT_MESSAGE = IT_RETURN。
如果您需要在bapi中传递扩展名,则可以像下面那样填充数据
数据:lw_bapi_te_komg类型bapi_te_komgx, lw_bapi_te_komgx类型bapi_te_komgx。清除:lw_bapi_te_komg, lw_bapi_te_komgx。 。 gw_extensionin-structure ='BAPI_TE_KOMG'。 gw_extensionin-valuepart1 = lw_bapi_te_komg。将gw_extensionin附加到gt_extensionin。 lw_bapi_te_komgx-uf_zza_uf = lv_cn_zza_uf = abap_true。 gw_extensionin-structure ='BAPI_TE_KOMGX'。 gw_extensionin-valuepart1 = lw_bapi_te_komgx。将gw_extensionin附加到gt_extensionin。
在此步骤之前,您需要向BAPI_TE_KOMG,BAPI_TE_KOMGX以及KOMG结构附加新结构
最多设置5个标签!
尝试此代码,我可以很好地工作。
*&--------------------------------------------- ------------------------ *
*&报告ZTESTCHEN009
*&------------- -------------------------------------------------- ------ *
*&
*&--------------------------------- ------------------------------------ *
报告ZTESTCHEN009。
< br>数据:HEADDATAIN类型BAPICCHEADX。
数据:HEADDATAINX类型BAPICCHEADX。
数据:WA_CONDITIONKEYDATAIN类型BAPICCCONDITIONKEY,
IT_CONDITIONKEYDATAIN类似于WA_CONDITIONKEYDATA数据类型的标准表:
,
与WA_CONDITIONKEYDATAINX的标准表类似的IT_CONDITIONKEYDATAINX。 > WA_CONDITIONITEMDATAINX的IT_CONDITIONITEMDATAINX标准表。
数据:WA_RETURN TYPE BAPIRET2,
IT_RETURN LIKE STANDAR D WA_RETURN表。
数据:CONDITIONCONTRACTNUMBER类型BAPICCKEY-CONDITION_CONTRACT_NUMBER,
HEADDATAOUT类型BAPICCHEADOS。
数据:L_ID类型I.
清除:HEADDATAIN。 > HEADDATAIN-CONTRACT_TYPE ='ZBBI'。
HEADDATAIN-CUSTOMER_OWNER ='0001200001'。
HEADDATAIN-SALESORG ='1110'。
HEADDATAIN-DISTR_CHAN ='90'。
HEADDATAIN-DIVISION =' 00'。
HEADDATAIN-VALIDITY_DATE_FROM ='20191101'。
HEADDATAIN-VALIDITY_DATE_TO ='20191231'。
清除:HEADDATAINX。
HEADDATAINX-CONTRACT_TYPE ='X'。
HEADDATAINX -CUSTOMER_OWNER ='X'。
HEADDATAINX-SALESORG ='X'。
HEADDATAINX-DISTR_CHAN ='X'。
HEADDATAINX-DIVISION ='X'。
HEADDATAINX-VALIDITY_DATE_FROM ='X' 。
HEADDATAINX-VALIDITY_DATE_TO ='X'。
清除:IT_CONDITIONKEYDATAINX。
清除:IT_CONDITIONKEYDATAINX。
清除:IT_CONDITIONITEMDATAIN。
清除:IT_CONDITIONITEMDATAINX。
:L_ID。
向L_ID添加1。
清除:WA_CONDITIONKEYDATAIN。
WA_CONDITIONKE YDATAIN-ORDER_KEY = L_ID。
* WA_CONDITIONKEYDATAIN-TABLE_NO ='163'。
WA_CONDITIONKEYDATAIN-TABLE_NO ='4AB'。
WA_CONDITIONKEYDATAIN-COND_TYPE ='ZO03'。
WA_CONDITIONKEYDATAIN-VALID_FROM ='2019 。
WA_CONDITIONKEYDATAIN-VALID_TO ='20191231'。
* WA_CONDITIONKEYDATAIN-MATERIAL ='EP4933-01-302'。
WA_CONDITIONKEYDATAIN-APPLICATIO ='V'。
将WA_CONDITIONKEYDATAIN添加到IT_CONDITIONKEYDATAIN。
清除:WA_CONDITIONKEYDATAINX。
WA_CONDITIONKEYDATAINX-ORDER_KEY = L_ID。
* WA_CONDITIONKEYDATAINX-MATERIAL ='X'。
将WA_CONDITIONKEYDATAINX添加到IT_CONDITIONKEYDATAINX。
CLEAR:WA_CONINM。 -ORDER_KEY = L_ID。
WA_CONDITIONITEMDATAIN-COND_COUNT ='01'。
WA_CONDITIONITEMDATAIN-CALC_TYPE ='A'。
WA_CONDITIONITEMDATAIN-AMOUNT =3。
WA_CONDITIONITEMDATAIN-CONDCURR ='%'。
将WA_CONDITIONITEMDATAIN附加到IT_CONDITIONITEMDATAIN。
清除:WA_CONDITIONITEMDATAINX。
WA_CONDITIONITEMDATAINX-ORDE R_KEY = L_ID。
WA_CONDITIONITEMDATAINX-COND_COUNT ='01'。
WA_CONDITIONITEMDATAINX-CALC_TYPE ='X'。
WA_CONDITIONITEMDATAINX-AMOUNT ='X'。
WA_CONDITIONITEMDATAINX'
=' >将WA_CONDITIONITEMDATAINX追加到IT_CONDITIONITEMDATAINX。
通话功能'BAPI_CONDITION_CONTRACT_CREATE'
导出
HEADDATAIN = HEADDATAIN
HEADDATAINX = HEADDATAINX
* WITH DEFAULT =运行 >导入
HEADDATAOUT = HEADDATAOUT
CONDITIONCONTRACTNUMBER = CONDITIONCONTRACTNUMBER
表
* ITEMDATAIN =
* ITEMDATAINX =
CONDITIONKEYDATAIN = IT_CONDITIONKEYDATAIN
CONDITIONKEYDATAINX = IT_CONDITIONKEYDATAINM > CONDITIONITEMDATAINX = IT_CONDITIONITEMDATAINX
* ITEMDATAOUT =
* CONDITIONKEYDATAOUT =
* CONDITIONITEMDATAOUT =
* EXTENSIONIN =
* EXTENSIONOUT =
* HEADTEXTIN =
* HEADTEXTOUT =
* ITEMTEXTIN =
* ITEMTEXTOUT =
RETURN = IT_RETURN
* SCALEDATAIN =
* SCALEDATAOUT =
* BVBDATAIN =
* BVBDATAINX =
* BVBDATAOUT =
* CALENDARDATAIN =
* CALENDARDATAINX =
* CALENDARDATAOUT =
。< br>
不返回任何字段的IT_RETURN运输循环
TYPE-'E'或TYPE ='A'。
退出。
ENDLOOP。
如果SY-SUBRC =0。
调用函数'BAPI_TRANSACTION_ROLLBACK'
*导入
*返回=
。
ELSE。
调用函数'BAPI_TRANSACTION_COMMIT'
导出
等待='X'
*导入
* RETURN =
。
ENDIF。
通话功能'FINB_BAPIRET2_DISPLAY'
导出
IT_MESSAGE = IT_RETURN。
如果您需要在bapi中传递扩展名,则可以像下面那样填充数据
数据:lw_bapi_te_komg类型bapi_te_komgx,
lw_bapi_te_komgx类型bapi_te_komgx。
清除:lw_bapi_te_komg,
lw_bapi_te_komgx。 。
gw_extensionin-structure ='BAPI_TE_KOMG'。
gw_extensionin-valuepart1 = lw_bapi_te_komg。
将gw_extensionin附加到gt_extensionin。
lw_bapi_te_komgx-uf_zza_uf = lv_cn_zza_uf = abap_true。
gw_extensionin-structure ='BAPI_TE_KOMGX'。
gw_extensionin-valuepart1 = lw_bapi_te_komgx。
将gw_extensionin附加到gt_extensionin。
在此步骤之前,您需要向BAPI_TE_KOMG,BAPI_TE_KOMGX以及KOMG结构附加新结构
一周热门 更多>