点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在尝试更新数据库中的wbs元素。
我需要从PRPS表中更改特定的自定义字段(MUNIC)。
我正在使用" BAPI_BUS2054_CHANGE_MULTI",但没有任何反应。 记录未更改。
当BAPI_PS_PRECOMMIT时,这些消息以" LT_PRE_RETURN"返回。 用免费的英语:
1-I CNIF_PI081对象数据WBS元素INGC/22/UHPF/AMPL/555/08尚未修改
2-S CNIF_PI 070项目定义和WBS元素的最终检查:没有错误。
3-已执行S CJ 001替换WBS元素
4-S CJ 001验证定义项目已执行
5-已执行S CJ 001验证WBS元素
第一个消息是5,最后一个消息是1。
尽管如此,还是调用了BAPI_TRANSACTION_COMMIT。 请注意,任何错误都会发生。 但是什么都没有改变。
遵循代码。
以T_PRPS圈入WA_PRPS。 清除LS_WBS_ELEMENT。 清除LT_WBS_ELEMENT。 清除LS_WBS_ELEMENT_UP。 清除LT_WBS_ELEMENT_UP。 清除LS_TE_WBS_ELEMENT。 清除LT_EXTENSIONIN。 清除lt_pre_return。 通话功能" CONVERSION_EXIT_ABPSN_INPUT" 出口 输入= WA_PRPS-PSPNR 输入 输出= WA_PRPS-POSID。 *通话功能'CONVERSION_EXIT_KONPD_OUTPUT' *出口 *输入= wa_prps-psphi *重要 *输出= lv_project_def。 *项目 lv_project_def = WA_PRPS-DEF_PROJ。 * ------------------------------------------------- ------------------- * ls_wbs_element-WBS_ELEMENT = wa_prps-POSID。 附加ls_wbs_element至lt_wbs_element。 * ------------------------------------------------- ------------------- * ls_wbs_element_up-wbs_element = wa_prps-POSID。 附录ls_wbs_element_up至lt_wbs_element_up。 * ------------------------------------------------- ------------------- * 清除ls_extensionin。 ls_extensionin-structure ='bapi_te_wbs_element'。 扩展结构 *传递钥匙。.重要 ls_te_wbs_element-wbs_element = wa_prps-POSID。 识别自定义字段的关键 *这些是自定义字段。 您将拥有自己的逻辑来获取数据 *要填充 ls_te_wbs_element-MUNIC = wa_prps-MUNIC。 ls_extensionin-valuepart1 = ls_te_wbs_element-MUNIC。 将ls_extensionin附加到lt_extensionin中。 * ------------------------------------------------- ------------------- * *初始化当前处理单元 通话功能" BAPI_PS_INITIALIZATION"。 * BAPI更新自定义WBS元素 通话功能'BAPI_BUS2054_CHANGE_MULTI' 出口 i_project_definition = lv_project_def 桌子 it_wbs_element = lt_wbs_element it_update_wbs_element = lt_wbs_element_up et_return = lt_return extensionin = lt_extensionin。 "这里有自定义字段 *提交前检查 通话功能'BAPI_PS_PRECOMMIT' 桌子 et_return = lt_pre_return。 *寻找错误 读表lt_pre_return进入具有键类型='E'的ls_return。 如果sy-subrc EQ 0。 在t_message INTO wa_msg处循环播放,其中message_type EQ为'E'。 message-msgty = wa_msg-message_type。 message-msgid = wa_msg-message_id。 message-msgno = wa_msg-message_number。 message-msgv1 = wa_msg-message_text。 message-msgv2 = wa_msg-message_text + 50。 将消息添加到lt_message。 清除消息。 结局。 *根据要求添加您的错误消息 *回滚 通话功能" BAPI_TRANSACTION_ROLLBACK"。 其他。 *根据要求添加您的成功消息 *进行提交 通话功能'BAPI_TRANSACTION_COMMIT' 出口 等待='X'。 万一。 清除WA_PRPS。 结局。 ENDFORM。
请帮助我。
字段MUNIC是Z字段。 " BAPI_BUS2054_CHANGE_MULTI"仅接受由Z开头的自定义字段。因此,我将自定义字段更改为ZMUNIC,它可以工作。
当您与所有人共享代码时,请使用代码按钮,此按钮将对所有人清晰。
能否使用BAPI_BUS2054_GETDATA检查FM需要传递的详细信息是什么? 使用此FM,您可以检查您的参数是否正确通过。
一周热门 更多>