ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 修改定价条件表,加入批准状态标识

修改定价条件表,加入批准状态标识

原创 Linux操作系统 作者:zhaoshuhong 时间:2010-05-18 11:17:58 0 删除 编辑

条件表一旦建立后,就不能再勾选“带有审批状态”标识。

目前我所实现的方法只有一种,更改标准程序MV12AF0K。

一定要注意,如果条件表已经加到存取里面去了,一定要先拿下来。

FORM. KFRST_SET.
  DATA: DA_TABIX LIKE SY-TABIX.

* do not show field KFRST if usage is not pricing
  IF MV12A-KVEWE NE KVEWE_PREISF.
    CLEAR MV12A-KFRST.
    SCREEN-ACTIVE = 0.
  ELSE.
    IF T180-AKTYP = AKTYP_HINZU.
* in creation mode, KFRST is set
      SCREEN-ACTIVE = 1.
    ELSE.
* in change or display mode, determine flag from condition structure
      PERFORM. FIELD_IN_T681E_TAB USING 'KFRST' CHANGING DA_TABIX.
      IF DA_TABIX EQ 0.                "no entry in T681E_TAB
        CLEAR MV12A-KFRST.
      ELSE.
        MV12A-KFRST = 'X'.
      ENDIF.
*901/951/TRB/PRB系统在修改条件表时可以勾选“带有审批状态”
      IF ( ( SY-MANDT = '901' OR SY-MANDT = '951') AND SY-SYSID = 'DRA' ) OR
         ( SY-MANDT = '111' AND ( SY-SYSID = 'TRB' OR SY-SYSID = 'PRB' ) ).
        SCREEN-INPUT = 1.
      ELSE.
        SCREEN-INPUT = 0.
      ENDIF.
    ENDIF.
  ENDIF.
ENDFORM.                    "KFRST_SET

 

FORM. KBSTAT_SET.
  DATA: DA_TABIX LIKE SY-TABIX.

* do not use KBSTAT if usage is not pricing
  IF MV12A-KVEWE NE KVEWE_PREISF.
    CLEAR G_KBSTAT.
  ELSE.
    IF T180-AKTYP = AKTYP_HINZU.
      G_KBSTAT = MV12A-KFRST.
*修改条件表时,勾选“带有审批状态”更改对应条件表
    ELSEIF SY-TCODE = 'V/04'.
      G_KBSTAT = MV12A-KFRST.
********
    ELSE.
      PERFORM. FIELD_IN_TMC1D_TAB USING 'KBSTAT' CHANGING DA_TABIX.
      IF DA_TABIX EQ 0.                "no entry in TMC1D_TAB
        CLEAR G_KBSTAT.
      ELSE.
        G_KBSTAT = 'X'.
      ENDIF.
    ENDIF.
  ENDIF.
ENDFORM.                    "KBSTAT_SET

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9859323/viewspace-662948/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: BADI调用
请登录后发表评论 登录
全部评论

注册时间:2009-09-27

  • 博文量
    42
  • 访问量
    117063