程序调用SM30视图维护并传参

ABAP 在程序中CALL SM30视图维护,并根据选择屏幕仅维护选择屏幕内的数据

 CALL FUNCTION 'VIEW_MAINTENANCE_CALL'

此函数可以跳转到SM30点击维护之后的页面,维护表内容。

import参数:

ACTION:       S = Display U = Change T = Transport 
CORR_NUMBER  传送号(上面的action是t) 
SHOW_SELECTION_POPUP   是否弹出选择画面 
VIEW_NAME    视图名 
NO_WARNING_FOR_CLIENTINDEP  跨集团是否现实警告 
VARIANT_FOR_SELECTION   变式名 
CHECK_DDIC_MAINFLAG     察看是否为可维护对象

FORM frm_call_view.
  DATA ls_dba_sellist TYPE vimsellist.
  DATA lt_dba_sellist TYPE TABLE OF vimsellist.

  CLEAR lt_dba_sellist.

"单值入参
  CLEAR ls_dba_sellist.
  ls_dba_sellist-viewfield = 'GJAHR'.
  ls_dba_sellist-operator  = 'EQ'.
  ls_dba_sellist-value     = p_gjahr.
  APPEND ls_dba_sellist TO lt_dba_sellist.
"范围值入参

"当需要输入选择值范围时,则向表lt_dba_sellist中写入对应的条件。
  IF s_bukre[] IS NOT INITIAL.
    CALL FUNCTION 'VIEW_RANGETAB_TO_SELLIST'
      EXPORTING
        fieldname          = 'BUKRE'
        append_conjunction = 'AND'
      TABLES
        sellist            = lt_dba_sellist
        rangetab           = s_bukre.
  ENDIF.


  IF s_monat[] IS NOT INITIAL.
    CALL FUNCTION 'VIEW_RANGETAB_TO_SELLIST'
      EXPORTING
        fieldname          = 'MONAT'
        append_conjunction = 'AND'
      TABLES
        sellist            = lt_dba_sellist
        rangetab           = s_monat.
  ENDIF.

  CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
    EXPORTING
      action                       = 'U'
      view_name                    = 'ZTFI1185_02'
      check_ddic_mainflag          = 'X'
    TABLES
      dba_sellist                  = lt_dba_sellist
    EXCEPTIONS
      client_reference             = 1
      foreign_lock                 = 2
      invalid_action               = 3
      no_clientindependent_auth    = 4
      no_database_function         = 5
      no_editor_function           = 6
      no_show_auth                 = 7
      no_tvdir_entry               = 8
      no_upd_auth                  = 9
      only_show_allowed            = 10
      system_failure               = 11
      unknown_field_in_dba_sellist = 12
      view_not_found               = 13
      maintenance_prohibited       = 14
      OTHERS                       = 15.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
      WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
ENDFORM.

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值