BAPI_PROJECT_MAINTAIN PS 大功能BAPI

1、创建项目

DATA: ls_prodef TYPE bapi_project_definition,  
      ls_prodef_up TYPE bapi_project_definition_up,  
      ls_return TYPE bapiret2.  
  
* 设置要更新的项目ID  
ls_prodef-projid = 'YOUR_PROJECT_ID'.  
  
* 设置要更新的字段(此处仅为示例,您可以根据需要设置其他字段)  
ls_prodef-projna = 'Updated Project Name'.  
ls_prodef-projde = 'Updated Project Description'.  
  
* 调用BAPI进行更新  
CALL FUNCTION 'BAPI_PROJECT_MAINTAIN'  
  EXPORTING  
    project_definition      = ls_prodef  
  IMPORTING  
    project_definition_up   = ls_prodef_up  
  TABLES  
    return                  = ls_return  
  EXCEPTIONS  
    failed                  = 1  
    OTHERS                  = 2.  
  
* 检查返回值以确认操作是否成功  
IF sy-subrc = 0.  
  IF ls_return-type = 'S'.  
    WRITE: / 'Project updated successfully.'.  
  ELSE.  
    WRITE: / 'Error updating project: ', ls_return-message.  
  ENDIF.  
ELSE.  
  WRITE: / 'An error occurred during the update process.'.  
ENDIF.

2、创建网络

DATA: ls_prodef TYPE bapi_project_definition,  
      ls_wbs TYPE bapi_wbs_element,  
      ls_return TYPE bapiret2.  
  
* 设置项目定义信息  
ls_prodef-projid = 'YOUR_PROJECT_ID'.  
ls_prodef-projna = 'Your Project Name'.  
ls_prodef-projde = 'Your Project Description'.  
  
* 设置WBS元素信息  
ls_wbs-wbsel = 'NEW_WBS_ELEMENT'. " 新的WBS元素ID  
ls_wbs-parent = 'PARENT_WBS_ELEMENT'. " 可选的父WBS元素ID  
ls_wbs-wbsname = 'New WBS Name'. " WBS元素名称  
ls_wbs-startdate = '20230101'. " 开始日期,格式为YYYYMMDD  
ls_wbs-enddate = '20231231'. " 结束日期,格式为YYYYMMDD  
ls_wbs-duration = 12. " 工期,以月为单位  
ls_wbs-budget = 100000. " 预算,以您的货币单位为准  
ls_wbs-currency = 'EUR'. " 货币代码  
  
* 调用BAPI创建WBS元素  
CALL FUNCTION 'BAPI_PROJECT_MAINTAIN'  
  EXPORTING  
    project_definition      = ls_prodef  
    wbs_element             = ls_wbs  
    operation               = 'C' " 创建操作  
  IMPORTING  
    project_definition_up   = ls_prodef  
    wbs_element_up          = ls_wbs  
  TABLES  
    return                  = ls_return  
  EXCEPTIONS  
    failed                  = 1  
    OTHERS                  = 2.  
  
* 检查返回值以确认操作是否成功  
IF sy-subrc = 0.  
  IF ls_return-type = 'S'.  
    WRITE: / 'WBS Element created successfully.'.  
  ELSE.  
    WRITE: / 'Error creating WBS Element: ', ls_return-message.  
  ENDIF.  
ELSE.  
  WRITE: / 'An error occurred during the creation process.'.  
ENDIF.

3、修改网络

DATA: ls_prodef TYPE bapi_project_definition,  
      ls_wbs TYPE bapi_wbs_element,  
      ls_return TYPE bapiret2.  
  
* 设置项目定义信息  
ls_prodef-projid = 'YOUR_PROJECT_ID'.  
  
* 设置要修改的WBS元素信息  
ls_wbs-wbsel = 'EXISTING_WBS_ELEMENT'. " 现有的WBS元素ID  
ls_wbs-wbsname = 'Updated WBS Name'. " 新的WBS元素名称  
ls_wbs-startdate = '20230401'. " 新的开始日期,格式为YYYYMMDD  
ls_wbs-enddate = '20231231'. " 新的结束日期,格式为YYYYMMDD  
ls_wbs-budget = 120000. " 新的预算,以您的货币单位为准  
  
* 调用BAPI修改WBS元素  
CALL FUNCTION 'BAPI_PROJECT_MAINTAIN'  
  EXPORTING  
    project_definition      = ls_prodef  
    wbs_element             = ls_wbs  
    operation               = 'U' " 更新操作  
  IMPORTING  
    project_definition_up   = ls_prodef  
    wbs_element_up          = ls_wbs  
  TABLES  
    return                  = ls_return  
  EXCEPTIONS  
    failed                  = 1  
    OTHERS                  = 2.  
  
* 检查返回值以确认操作是否成功  
IF sy-subrc = 0.  
  IF ls_return-type = 'S'.  
    WRITE: / 'WBS Element updated successfully.'.  
  ELSE.  
    WRITE: / 'Error updating WBS Element: ', ls_return-message.  
  ENDIF.  
ELSE.  
  WRITE: / 'An error occurred during the update process.'.  
ENDIF.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值