簡體   English   中英

如何使用“呼叫交易'se11'並跳過第一個屏幕”來激活ABAP中的搜索框?

[英]How do I use the “call transaction 'se11' and skip first screen” to activate the search box in ABAP?

我想做的是使用

Set Parameter ID 'DTB' Field 'z*'.
Call Transaction 'SE11' and skip First Screen.

此時,我想激活搜索框並將結果放入內部表中。 有什么想法嗎? 還是有一種使用數據庫統計信息來更快地獲取此信息的方法?

下面的代碼將滿足您的需要,您可能需要添加一些where子句以僅獲取活動表(AS4LOCAL EQ'A')或僅透明表(TABCLASS EQ'TRANSP'),因為該表還包含結構。

DATA: t_tabname TYPE STANDARD TABLE OF tabname.
SELECT tabname INTO TABLE t_tabname FROM dd02l WHERE tabname LIKE 'Z%'.

您可能要使用半官方的API,而不是直接訪問表,該API不僅處理激活狀態,而且還要考慮權限:

  DATA: lt_tables TYPE STANDARD TABLE OF rpy_tabl.

  FIELD-SYMBOLS: <ls_table> TYPE rpy_tabl.

  CALL FUNCTION 'RPY_TABLE_SELECT'
    EXPORTING
      table_name       = 'Z*'
    TABLES
      tabl_inf_tab     = lt_tables
    EXCEPTIONS
      cancelled        = 1
      not_found        = 2
      permission_error = 3
      OTHERS           = 4.
  IF sy-subrc <> 0.
*   Implement suitable error handling here
  ELSE.

    LOOP AT lt_tables ASSIGNING <ls_table>.
      CASE <ls_table>-tablclass.
        WHEN 'TRANSP'.  " Transparent table
*         ...
        WHEN 'INTTAB'.  " Structure
*         ...
        WHEN 'CLUSTER'. " Cluster table
*         ...
        WHEN 'POOL'.    " Pooled table
*         ...
        WHEN 'VIEW'.    " Generated view structure
*         ...
        WHEN 'APPEND'.  " Append structure
*         ...
      ENDCASE.
    ENDLOOP.

  ENDIF.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM