abap 屏幕选择查询自定义客户表

发布时间 2023-03-30 12:43:14作者: 往事只能回味---
*&---------------------------------------------------------------------*
*& Report  ZPARMETERS4
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT zparmeters4.
TYPE-POOLS:slis.
TABLES ztcustomer9.

SELECTION-SCREEN BEGIN OF BLOCK f1 WITH FRAME TITLE text-001.
PARAMETERS cid TYPE ztcustomer9-zecustomerid.
PARAMETERS cname TYPE ztcustomer9-zecompanyname OBLIGATORY.
SELECTION-SCREEN END OF BLOCK f1.


INITIALIZATION.



START-OF-SELECTION.

  DATA list TYPE TABLE OF ztcustomer9.

  DATA query TYPE ztcustomer9-zecompanyname.

  CONCATENATE '%'cname'%' INTO query.


  SELECT * INTO CORRESPONDING FIELDS OF TABLE list FROM ztcustomer9 WHERE zecompanyname LIKE query.

  DATA layout TYPE slis_layout_alv.
  DATA field TYPE slis_fieldcat_alv.
  DATA fieldlist TYPE slis_fieldcat_alv OCCURS 0.


  field-col_pos = 1.
  field-fieldname = 'ZECUSTOMERID'.
  field-datatype = 'INT'.
  field-outputlen = '4'.
  field-seltext_m = '客户编号'.
  APPEND field TO fieldlist.

  field-col_pos = 2.
  field-fieldname = 'ZECOMPANYNAME'.
  field-datatype = 'CHAR'.
  field-outputlen = '100'.
  field-seltext_m = '客户名称'.
  APPEND field TO fieldlist.

  DATA pgm LIKE sy-repid.
  pgm = sy-repid.


  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
*     I_INTERFACE_CHECK                 = ' '
*     I_BYPASSING_BUFFER                = ' '
*     I_BUFFER_ACTIVE                   = ' '
*     I_CALLBACK_PROGRAM                = pgm
*     I_CALLBACK_PF_STATUS_SET          = 'PF_STATUS_SET'
*     I_CALLBACK_USER_COMMAND           = 'USER_COMMAND'
*     I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'
*     I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*     I_CALLBACK_HTML_END_OF_LIST       = ' '
*     I_STRUCTURE_NAME                  =
*     I_BACKGROUND_ID                   = ' '
*     I_GRID_TITLE                      =
*     I_GRID_SETTINGS                   =
      is_layout   = layout
      it_fieldcat = fieldlist
*     IT_EXCLUDING                      =
*     IT_SPECIAL_GROUPS                 =
*     IT_SORT     =
*     IT_FILTER   =
*     IS_SEL_HIDE =
*     I_DEFAULT   = 'X'
*     I_SAVE      = ' '
*     IS_VARIANT  =
*     it_events   = lt_event
*     IT_EVENT_EXIT                     =
*     IS_PRINT    =
*     IS_REPREP_ID                      =
*     I_SCREEN_START_COLUMN             = 0
*     I_SCREEN_START_LINE               = 0
*     I_SCREEN_END_COLUMN               = 0
*     I_SCREEN_END_LINE                 = 0
*     I_HTML_HEIGHT_TOP                 = 0
*     I_HTML_HEIGHT_END                 = 0
*     IT_ALV_GRAPHICS                   =
*     IT_HYPERLINK                      =
*     IT_ADD_FIELDCAT                   =
*     IT_EXCEPT_QINFO                   =
*     IR_SALV_FULLSCREEN_ADAPTER        =
* IMPORTING
*     E_EXIT_CAUSED_BY_CALLER           =
*     ES_EXIT_CAUSED_BY_USER            =
    TABLES
      t_outtab    = list.
* EXCEPTIONS
*   PROGRAM_ERROR                     = 1
*   OTHERS                            = 2
  .
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.