SAP 选择界面包SM30配置表

效果

20250806145446_rec_

*&---------------------------------------------------------------------*
*& Report ZCHPPF020
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zchppf021.

TABLES:zchppt002.

SELECTION-SCREEN BEGIN OF BLOCK blk01 WITH FRAME TITLE TEXT-001.

*&---范围
  SELECT-OPTIONS: s_werks  FOR zchppt002-werks OBLIGATORY NO-EXTENSION NO INTERVALS,
                  s_matnr  FOR zchppt002-matnr,
                  s_indrk  FOR zchppt002-indrk,
                  s_zwrlf  FOR zchppt002-zwrlf,
                  s_xbname FOR zchppt002-xbname.

SELECTION-SCREEN END OF BLOCK blk01.

START-OF-SELECTION.

  DATA fieldname          TYPE vimsellist-viewfield.
  DATA append_conjunction TYPE vimsellist-and_or.
  DATA sellist            TYPE STANDARD TABLE OF vimsellist.

  CALL FUNCTION 'VIEW_RANGETAB_TO_SELLIST'
    EXPORTING
      fieldname          = 'WERKS'
      append_conjunction = 'AND'
    TABLES
      sellist            = sellist
      rangetab           = s_werks[].

  CALL FUNCTION 'VIEW_RANGETAB_TO_SELLIST'
    EXPORTING
      fieldname          = 'MATNR'
      append_conjunction = 'AND'
    TABLES
      sellist            = sellist
      rangetab           = s_matnr[].

  CALL FUNCTION 'VIEW_RANGETAB_TO_SELLIST'
    EXPORTING
      fieldname          = 'INDRK'
      append_conjunction = 'AND'
    TABLES
      sellist            = sellist
      rangetab           = s_indrk[].

  CALL FUNCTION 'VIEW_RANGETAB_TO_SELLIST'
    EXPORTING
      fieldname          = 'ZWRLF'
      append_conjunction = 'AND'
    TABLES
      sellist            = sellist
      rangetab           = s_zwrlf[].

  CALL FUNCTION 'VIEW_RANGETAB_TO_SELLIST'
    EXPORTING
      fieldname          = 'XBNAME'
      append_conjunction = 'AND'
    TABLES
      sellist            = sellist
      rangetab           = s_xbname[].

  CALL FUNCTION 'VIEW_ENQUEUE'
    EXPORTING
      view_name        = 'ZCHPPT002'
      action           = 'E'
      enqueue_mode     = 'E'
    EXCEPTIONS
      foreign_lock     = 1
      system_failure   = 2
      table_not_found  = 5
      client_reference = 7.

  IF sy-subrc NE 0.
    MESSAGE s017(zchmc01) DISPLAY LIKE 'E' WITH sy-msgv1.
    RETURN.
  ELSE.
    CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
      EXPORTING
        action                       = 'U'
*       CORR_NUMBER                  = '          '
*       GENERATE_MAINT_TOOL_IF_MISSING       = ' '
*       SHOW_SELECTION_POPUP         = ' '
        view_name                    = 'ZCHPPT002'
*       NO_WARNING_FOR_CLIENTINDEP   = ' '
*       RFC_DESTINATION_FOR_UPGRADE  = ' '
*       CLIENT_FOR_UPGRADE           = ' '
*       VARIANT_FOR_SELECTION        = ' '
*       COMPLEX_SELCONDS_USED        = ' '
*       CHECK_DDIC_MAINFLAG          = ' '
*       SUPPRESS_WA_POPUP            = ' '
      TABLES
        dba_sellist                  = sellist
*       EXCL_CUA_FUNCT               = EXCL_CUA_FUNCT
      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.
  ENDIF.

 自动带出工作中心描述代码位置:SE80,配置表函数组,找到PBO位置

20250806145632_rec_

 代码:

  IF zchppt001-arbpl IS NOT INITIAL.
    SELECT SINGLE ktext FROM m_crama INTO gv_ktext WHERE arbpl = zchppt001-arbpl AND spras = '1'.
  ENDIF.

 输入工作中心校验代码

image

image

 如果用户不想配置表被锁,进行以下操作

image

 

posted @ 2025-08-06 14:59  艾靑  阅读(14)  评论(0)    收藏  举报