ABAP KP26 批量更改作业类型/作业价格计划

Posted 狗尾巴草_lan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ABAP KP26 批量更改作业类型/作业价格计划相关的知识,希望对你有一定的参考价值。

ABAP KP26 批量更改作业类型/作业价格计划

实现方式是调用 BAPI_COSTACTPLN_POSTACTOUTPUT,

需留意参数PERVALUE-PRICE_FIX_PERXX,其中XX为修改的期间,同理PERVALUE-PRICE_VAR_PERXX 和 PRICE_UNIT_PERXX。

举例说明一下:

如果需要修改的期间为01,则需将固定价格写入字段PRICE_FIX_PER01,可变价格写入字段PRICE_VAR_PER01,价格单位写入字段PRICE_UNIT_PER01。

如果需要修改的期间为02,则需将固定价格写入字段PRICE_FIX_PER02,可变价格写入字段PRICE_VAR_PER02,价格单位写入字段PRICE_UNIT_PER02。

以此类推,本例中修改的期间为04。

以下是我的示例程序,请欣赏~

DATA: LS_HEADERINFO     TYPE BAPIPLNHDR,
      LT_INDEXSTRUCTURE TYPE STANDARD TABLE OF BAPIACPSTRU,
      LS_INDEXSTRUCTURE TYPE BAPIACPSTRU,
      LT_COOBJECT       TYPE STANDARD TABLE OF BAPIACPOBJ,
      LS_COOBJECT       TYPE BAPIACPOBJ,
      LT_PERVALUE       TYPE STANDARD TABLE OF BAPIACPVAL,
      LS_PERVALUE       TYPE BAPIACPVAL,
      LT_RETURN         TYPE STANDARD TABLE OF BAPIRET2,
      LS_RETURN         TYPE BAPIRET2.

LS_HEADERINFO-CO_AREA       = 'MITH'.       "控制范围
LS_HEADERINFO-FISC_YEAR     = 2021.         "会计年度
LS_HEADERINFO-PERIOD_FROM   = 4.            "从期间
LS_HEADERINFO-PERIOD_TO     = 4.            "终止期
LS_HEADERINFO-VERSION       = '0'.          "版本
LS_HEADERINFO-PLAN_CURRTYPE = 'C'.          "流通计划

LS_INDEXSTRUCTURE-OBJECT_INDEX = 0001.
LS_INDEXSTRUCTURE-VALUE_INDEX  = 0001.
APPEND LS_INDEXSTRUCTURE TO LT_INDEXSTRUCTURE.
CLEAR LS_INDEXSTRUCTURE.

LS_COOBJECT-OBJECT_INDEX = 0001.
LS_COOBJECT-COSTCENTER   = '0000100006'.    "成本中心
LS_COOBJECT-ACTTYPE      = 'A00001'.        "活动类型
APPEND LS_COOBJECT TO LT_COOBJECT.
CLEAR LS_COOBJECT.

LS_PERVALUE-VALUE_INDEX      = 0001.
LS_PERVALUE-PRICE_FIX_PER04  = 9999.        "价格(固定的)
LS_PERVALUE-PRICE_VAR_PER04  = 9999.        "可变价格
LS_PERVALUE-PRICE_UNIT_PER04 = 1.           "价格单位
LS_PERVALUE-CURRENCY         = 'CNY'.       "货币码
APPEND LS_PERVALUE TO LT_PERVALUE.
CLEAR LS_PERVALUE.

CALL FUNCTION 'BAPI_COSTACTPLN_POSTACTOUTPUT'
  EXPORTING
    HEADERINFO     = LS_HEADERINFO
*   DELTA          = ' '
*   PRICE_QUANT_PLAN       = 'B'
  TABLES
    INDEXSTRUCTURE = LT_INDEXSTRUCTURE
    COOBJECT       = LT_COOBJECT
    PERVALUE       = LT_PERVALUE
*   TOTVALUE       =
*   CONTRL         =
    RETURN         = LT_RETURN.
LOOP AT LT_RETURN  INTO LS_RETURN WHERE TYPE = 'E' OR TYPE = 'A'.
  EXIT.
ENDLOOP.
IF SY-SUBRC = 0.
  CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ELSE.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      WAIT = 'X'.
ENDIF.
 

以上是关于ABAP KP26 批量更改作业类型/作业价格计划的主要内容,如果未能解决你的问题,请参考以下文章

abap 批量导入程序能不能安排后台作业?导入模板为excel

Cron 作业计划时间自动更改

使用 COGI 运行后台作业而不更改屏幕

禁用计划作业

计划的作业未启动

修改维护计划时,SQL Server 代理新添加的作业步骤被删除