在TC中设置F4帮助

PAI

在逻辑流中输入以下代码

PROCESS ON VALUE-REQUEST.
FIELD G_BKPF-BLART MODULE SET_F4_HELP.

注意这个语句不能放在loop前,也不能放在user_command前。否则报错:Module specification possible only with FIELD.

 

具体module代码:

MODULE SET_F4_HELP.
  
DATA:L_LOW TYPE SY-TABIX,
       GT_RETTAB 
TYPE TABLE OF DDSHRETVAL,
       G_RETTAB 
LIKE LINE OF GT_RETTAB,
       GT_SYSTEMS 
TYPE DYNPREAD OCCURS 0 WITH HEADER LINE.
*
获取当前行号
  
CALL FUNCTION 'DYNP_GET_STEPL'
    
IMPORTING
      POVSTEPL        = L_LOW
    
EXCEPTIONS
      STEPL_NOT_FOUND = 
1
      
OTHERS          = 2.
  
IF SY-SUBRC <> 0.
  
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
          
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  
ENDIF.
*
调用F4帮助FUNCTION
  
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
    
EXPORTING
      TABNAME                   = 
'BKPF'
      FIELDNAME                 = 
'BLART'
      DYNPNR                    = 
'9000'
      DYNPROFIELD               = 
'G_BKPF-BLART'
    
TABLES
      RETURN_TAB                = GT_RETTAB
    
EXCEPTIONS
      FIELD_NOT_FOUND           = 
1
      NO_HELP_FOR_FIELD         = 
2
      INCONSISTENT_HELP         = 
3
      NO_VALUES_FOUND           = 
4
      
OTHERS                    = 5
            .
  
IF SY-SUBRC <> 0.
  
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
          
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  
ELSE.
    
READ TABLE GT_RETTAB INTO G_RETTAB INDEX 1.
    
SELECT SINGLE BLART
      
INTO G_BKPF-BLART
      
FROM BKPF
     
WHERE BLART = G_RETTAB-FIELDVAL.

 ENDIF.
*更新屏幕上已经修改的字段
    GT_SYSTEMS-FIELDNAME = G_BKPF-BLART.
    GT_SYSTEMS-STEPL = L_LOW.
    GT_SYSTEMS-FIELDVALUE = G_RETTAB-FIELDVAL.
    
APPEND GT_SYSTEMS.
*
更新屏幕上修改的字段值
    
CALL FUNCTION 'DYNP_VALUES_UPDATE'
      
EXPORTING
        DYNAME                     = SY-REPID
        DYNUMB                     = 
'9000'
      
TABLES
        DYNPFIELDS                 = GT_SYSTEMS
      
EXCEPTIONS
        INVALID_ABAPWORKAREA       = 
1
        INVALID_DYNPROFIELD        = 
2
        INVALID_DYNPRONAME         = 
3
              .
    
IF SY-SUBRC <> 0.
  
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
          
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    
ENDIF.
 
ENDMODULE.                    "SET_F4_HELP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值