条件表一旦建立后,就不能再勾选“带有审批状态”标识。
目前我所实现的方法只有一种,更改标准程序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博客 ” ,链接:http://blog.itpub.net/9859323/viewspace-662948/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9859323/viewspace-662948/