定价报表已经建立完毕,但没有带审批状态,已经有记录了,修改定价报表时,无法勾选”带有审批状态“栏位,可用如下方法实现,修改标准程序。
程序:MV12AF0K 红色部分代替了紫色部分 共修改两个FORM,每个FORM修改一处。
1. 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.
* screen-input = 0.
ENDIF.
ENDIF.
ENDFORM. "KFRST_SET
2. 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.
*修改条件表时,勾选“带有审批状态”更改对应条件表,条件表中加入KBSTAT-定价*的处理状态 本段为插入
ELSEIF SY-TCODE = 'V/04’ “销售定价表格修改
SY-TCODE = ‘T_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-717026/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9859323/viewspace-717026/