BAPI_PROJECT_MAINTAIN更新利润中心

2020-08-20 00:12发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我需要使用BAPI BAPI_PROJECT_MAINTAIN更新WBS元素的利润中心。

我在输入中尝试了多种组合,但无法更新利润中心,以下是我的代码段。

请问您能帮我什么地方,我到底哪里出问题了?

WA_WBS_ELEMENT_TABLE-WBS_ELEMENT ='PRJ00.01'。 " WBS元素名称
WA_WBS_ELEMENT_TABLE-PROFIT_CTR ='AB114422'。
WA_WBS_ELEMENT_TABLE-PROJECT_DEFINITION ='PRJ001.11'。"项目名称

将WA_WBS_ELEMENT_TABLE追加到IT_WBS_ELEMENT_TABLE。

WA_WBS_ELEMENT_TABLE_UPDATE-PROFIT_CTR ='X'。

APPEND WA_WBS_ELEMENT_TABLE_UPDATE到IT_WBS_ELEMENT_TABLE_UPDATE。

WA_METHOD_PROJECT-OBJECTTYPE ='WBS-ELEMENT'。
WA_METHOD_PROJECT-METHOD ='UPDATE'。 > WA_METHOD_PROJECT-REFNUMBER ='000001'。

将WA_METHOD_PROJECT附加到IT_METHOD_PROJECT。

IT_PROJECT_DEFINITION-PROJECT_DEFINITION ='PRJ001.11'。
IT_PROJECT_DEFINITION-PROFIT_CTR = WA_FINAL-PRCTR。 br>
调用功能'BAPI_PROJECT_MAINTAIN'

出口
I_PROJECT_DEFINITION = IT_PROJECT_DEFINITION
I_PROJECT_DEFINITION_UPD = IT_PROJECT_DEFINITION_UPD

TABLES
I_METHOD_PROJECT = IT_METHOD_PROJECT
I_WBS_ELEMENT_TABLE_UPDATE = IT_WBS_ELEMENT_TABLE_UPDATE
I_WBS_ELEMENT_TABLE = IT_WBS_ELEMENT_TABLE

E_MESSAGE_TABLE = IT_MESSAGE_TABLE

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我需要使用BAPI BAPI_PROJECT_MAINTAIN更新WBS元素的利润中心。

我在输入中尝试了多种组合,但无法更新利润中心,以下是我的代码段。

请问您能帮我什么地方,我到底哪里出问题了?

WA_WBS_ELEMENT_TABLE-WBS_ELEMENT ='PRJ00.01'。 " WBS元素名称
WA_WBS_ELEMENT_TABLE-PROFIT_CTR ='AB114422'。
WA_WBS_ELEMENT_TABLE-PROJECT_DEFINITION ='PRJ001.11'。"项目名称

将WA_WBS_ELEMENT_TABLE追加到IT_WBS_ELEMENT_TABLE。

WA_WBS_ELEMENT_TABLE_UPDATE-PROFIT_CTR ='X'。

APPEND WA_WBS_ELEMENT_TABLE_UPDATE到IT_WBS_ELEMENT_TABLE_UPDATE。

WA_METHOD_PROJECT-OBJECTTYPE ='WBS-ELEMENT'。
WA_METHOD_PROJECT-METHOD ='UPDATE'。 > WA_METHOD_PROJECT-REFNUMBER ='000001'。

将WA_METHOD_PROJECT附加到IT_METHOD_PROJECT。

IT_PROJECT_DEFINITION-PROJECT_DEFINITION ='PRJ001.11'。
IT_PROJECT_DEFINITION-PROFIT_CTR = WA_FINAL-PRCTR。 br>
调用功能'BAPI_PROJECT_MAINTAIN'

出口
I_PROJECT_DEFINITION = IT_PROJECT_DEFINITION
I_PROJECT_DEFINITION_UPD = IT_PROJECT_DEFINITION_UPD

TABLES
I_METHOD_PROJECT = IT_METHOD_PROJECT
I_WBS_ELEMENT_TABLE_UPDATE = IT_WBS_ELEMENT_TABLE_UPDATE
I_WBS_ELEMENT_TABLE = IT_WBS_ELEMENT_TABLE

E_MESSAGE_TABLE = IT_MESSAGE_TABLE

付费偷看设置
发送
5条回答
愤怒的猪头君
1楼-- · 2020-08-20 00:42

专家,您好,有人可以告诉我如何使用BAPI_PROJECT_MAINTAIN更新利润中心。

此外,我需要更改什么代码以便更新利润中心?

谢谢!

风早神人
2楼-- · 2020-08-20 00:49

Abap Guy

可以分享吗 您更新的代码?

黑丝骑士
3楼-- · 2020-08-20 00:49

您需要在参数I_METHOD_PROJECT中输入两个条目,一个用于更新,另一个用于保存更改。 还建议对对象和操作使用类型池CO1中的常量而不是硬编码的文字。

以下是对我有用的一段代码:

 DATA:project_definition  TYPE bapi_project_definition,
       project_definition_upd TYPE bapi_project_definition_up,
       method_project_table bapi_method_project的类型标准表,
       method_project TYPE bapi_method_project,
       wbs_element_table bapi_wbs_element的类型标准表,
       wbs_element TYPE bapi_wbs_element,
       wbs_element_table_update bapi_wbs_element_update的类型标准表,
       wbs_element_update TYPE bapi_wbs_element_update,
       消息TYPE bapiret1,
       method_messages bapi_meth_message的类型标准表。

 * WBS的操作"更新"
 method_project-objecttype = co1_type-wbs_element。
 method_project-method = co1_meth-update。
 method_project-objectkey ='WBS_NAME'。
 method_project-refnumber = 1。
 INSERT method_project INTO TABLE method_project_table。

 *为项目采取行动"保存"
 清除method_project。
 method_project-method = co1_meth-save。
 INSERT method_project INTO TABLE method_project_table。

 *要更新的WBS元素和字段
 wbs_element-wbs_element ='WBS_NAME'。
 wbs_element-profit_ctr ='NEW_PRCTR'。
 插入wbs_element到表wbs_element_table中。

 *标记字段以进行更新
 wbs_element_update-profit_ctr = abap_true。
 INSERT wbs_element_update插入表wbs_element_table_update。

 *项目定义
 project_definition-project_definition ='PROJECT_NAME'。

 通话功能'BAPI_PROJECT_MAINTAIN'
   出口
     i_project_definition = project_definition
     i_project_definition_upd = project_definition_upd
   输入
     返回=消息
   桌子
     i_method_project = method_project_table
     i_wbs_element_table_update = wbs_element_table_update
     i_wbs_element_table = wbs_element_table
     e_message_table = method_messages。
  
悻福寶寶
4楼-- · 2020-08-20 00:37

奇怪,这看起来像是批处理输入错误。 我印象中标准代码不使用BDC。 您可以尝试调试它的来源吗?

野沐沐
5楼-- · 2020-08-20 00:43

您好GáborMárián

请参见下面的代码,我已根据您的示例代码进行了更新。

数据:project_definition类型bapi_project_definition,
project_definition_upd类型bapi_project_definition_up,
method_project_table类型标准表bapi_method_project,
method_project类型bapi_method_project,
wbs_element_table,e wbs_element_table
wbs_element_table_update bapi_wbs_element_update的类型标准表,
wbs_element_update TYPE bapi_wbs_element_update,
消息类型bapiret1,
method_messages类型STANDARD
bapi_meth_message的操作

> method_project-objecttype = co1_type-wbs_element。
method_project-method = co1_meth-update。
method_project-objectkey ='PR001.001'。
method_project-refnumber =1。
INSERT method_project INTO TABLE method_project_table 。

*为项目执行操作"保存"
CLEAR method_project。
method_project-method = co1_meth-save。
INSERT method_project INTO TABLE method_project_table。

* WBS el 要更新的要素和字段
wbs_element-wbs_element ='PR001.001'。
wbs_element-profit_ctr ='0000009009'。
INSERT wbs_element插入表wbs_element_table。

*标记更新字段
wbs_element_update-profit_ctr = abap_true。
INSERT wbs_element_update插入表wbs_element_table_update。

*项目定义
project_definition-project_definition ='PR007.01'。

调用函数_BAPI '
EXPORTING
i_project_definition = project_definition
i_project_definition_upd = project_definition_upd
IMPORTING
return = message
TABLES
i_method_project = method_project_table
i_wbs_element_table_update = w> br> e_message_table = method_messages。

以下错误显示在" method_messages"中。

消息文本"填写所有必填字段",消息编号055,消息ID 00

消息文本"无法保存数据",消息编号036,消息ID CJ

一周热门 更多>