ABAP 简答查询 DEMO(ALV)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Programmer_FuQiang/article/details/81115547

*&---------------------------------------------------------------------*
*& REPORT  ZFQ_TEST04                                                  *
*&                                                                     *
*&---------------------------------------------------------------------*
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------------------------*

REPORT  ZFQ_TEST04 LINE-SIZE 90 NO STANDARD PAGE HEADING.
"固定写死的
TYPE-POOLS: SLIS.
"需要的数据库表
TABLES: KNA1,KNB1.

DATA: TXT_REPORT LIKE DOKHL-OBJECT.

DATA: BEGIN OF MYLIST OCCURS 10.""行项目数据表
        INCLUDE STRUCTURE KNA1.
*        INCLUDE STRUCTURE KNB1.

DATA: COLINFO TYPE SLIS_T_SPECIALCOL_ALV,"颜色字段
      "ICON_ALLOW(30)," TYPE ICON_D,
      "ICON_REJECT(30)," TYPE ICON_D,
      "ICON_KUNNR(30),
      "KUNNR LIKE KNA1-KUNNR,"客户
       "ADD1,
      "BOX,
      "WERT TYPE P,
      LIGHTS.
DATA: END OF MYLIST.

DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
      GT_SORT     TYPE SLIS_T_SORTINFO_ALV,
      GT_EVENTS   TYPE SLIS_T_EVENT,
      GS_LAYOUT   TYPE SLIS_LAYOUT_ALV.

DATA: GT_COLOR TYPE SLIS_T_SPECIALCOL_ALV WITH HEADER LINE.

DATA: SEED1 TYPE I VALUE '123',                  " RAND NUMBER SEED 1
      SEED2 TYPE I VALUE '2345',                 " RAND NUMBER SEED 2
      SEED3 TYPE I VALUE '23'.                   " RAND NUMBER SEED 3

"主要这个是查询用的
PARAMETERS:
P_NAME LIKE KNB1-KUNNR DEFAULT '' OBLIGATORY. "KNB1 这个表 KUNNR 这个字段

PERFORM FILL_ITAB."读取数据
PERFORM FIELDCAT_INIT USING GT_FIELDCAT[]."ALV字段初始化
"PERFORM LAYOUT_INIT USING GS_LAYOUT."ALV 样式定义
"PERFORM SORT_BUILD   USING GT_SORT[]."ALV数据内容排序
"PERFORM BUILD_DATA TABLES MYLIST."TABLE颜色控制
"PERFORM EVENTTAB_BUILD USING GT_EVENTS[]."事件控制
PERFORM MAIN."ALV展示

*&---------------------------------------------------------------------*
*&      FORM  MAIN
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
FORM MAIN.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
*   I_INTERFACE_CHECK                 = ' '
*   I_BUFFER_ACTIVE                   = ' '
   I_CALLBACK_PROGRAM                = 'ZFQ_TEST04'
*   I_CALLBACK_PF_STATUS_SET          = ' '
*   I_CALLBACK_USER_COMMAND           = ' '
*   I_CALLBACK_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                         = GS_LAYOUT
    IT_FIELDCAT                       = GT_FIELDCAT[]
*   IT_EXCLUDING                      = ' '
*   IT_SPECIAL_GROUPS                 =
    IT_SORT                           = GT_SORT
*   IT_FILTER                         =
*   IS_SEL_HIDE                       =
*   I_DEFAULT                         = 'X'
   "I_SAVE                            = 'A'
*   IS_VARIANT                        =
   IT_EVENTS                         = GT_EVENTS[]
*   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
*   IT_ALV_GRAPHICS                   =
*   IT_HYPERLINK                      =
*   IT_ADD_FIELDCAT                   =
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER           =
*   ES_EXIT_CAUSED_BY_USER            =
    TABLES
      T_OUTTAB                          = MYLIST.
* EXCEPTIONS
*   PROGRAM_ERROR                     = 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.

ENDFORM.                    "MAIN

*&---------------------------------------------------------------------*
*&      FORM  FILL_ITAB
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
FORM FILL_ITAB.
*  DATA: RAN TYPE F,
*        RANI TYPE I,
*        RANP TYPE P DECIMALS 2,
*        BELNR TYPE I VALUE 1600000040,
*        DATE TYPE D.
*
*  DATE = '19920417'.
****抬头层数据读取
"就这句带颜色的 查询的SQL
IF P_NAME <> ''.
  "WRITE: P_NAME.
  SELECT *  INTO CORRESPONDING FIELDS OF TABLE  MYLIST "GT_MAST  GT_TOPMAT "取得物料编码内表
    FROM KNA1 INNER JOIN KNB1 ON KNA1~KUNNR = KNB1~KUNNR
    WHERE KNA1~KUNNR = 
P_NAME.
ENDIF.

"  SELECT *  INTO CORRESPONDING FIELDS OF TABLE  MYLIST "GT_MAST  GT_TOPMAT"取得物料编码内表
 "   FROM KNA1 INNER JOIN KNB1 ON KNA1~KUNNR = KNB1~KUNNR
"    WHERE KNA1~KUNNR = '0000100001'.

ENDFORM.                    "FILL_ITAB

*&---------------------------------------------------------------------*
*&      FORM  FIELDCAT_INIT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
*      -->LT_FIELDCAT  TEXT
*----------------------------------------------------------------------*
FORM FIELDCAT_INIT USING LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
  DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
  CLEAR LS_FIELDCAT.

  LS_FIELDCAT-FIELDNAME    = 'KUNNR'.
**  LS_FIELDCAT-TABNAME      = G_TABNAME_HEADER.
  LS_FIELDCAT-SELTEXT_M = '客户编号'.
*  LS_FIELDCAT-SELTEXT_L = '同意'.
*  LS_FIELDCAT-OUTPUTLEN    = 10.
*  LS_FIELDCAT-NO_OUT       = 'X'.
*  LS_FIELDCAT-INPUT        = ''.
*  LS_FIELDCAT-SP_GROUP = 'A'.
  "LS_FIELDCAT-ICON = 'X'.
  "LS_FIELDCAT-HOTSPOT = 'X'.
  APPEND LS_FIELDCAT TO LT_FIELDCAT.

  LS_FIELDCAT-FIELDNAME    = 'NAME1'.
**  LS_FIELDCAT-TABNAME      = G_TABNAME_HEADER.
  LS_FIELDCAT-SELTEXT_M = '姓名'.
*  LS_FIELDCAT-SELTEXT_L = '同意'.
*  LS_FIELDCAT-OUTPUTLEN    = 10.
*  LS_FIELDCAT-NO_OUT       = 'X'.
*  LS_FIELDCAT-INPUT        = ''.
*  LS_FIELDCAT-SP_GROUP = 'A'.
  "LS_FIELDCAT-ICON = 'X'.
  "LS_FIELDCAT-HOTSPOT = 'X'.
  APPEND LS_FIELDCAT TO LT_FIELDCAT.


  CLEAR LS_FIELDCAT.
  LS_FIELDCAT-FIELDNAME    = 'ORT01'.
**  LS_FIELDCAT-TABNAME      = G_TABNAME_HEADER.
  LS_FIELDCAT-SELTEXT_M = '城市'.
*  LS_FIELDCAT-OUTPUTLEN    = 4.
*  LS_FIELDCAT-NO_OUT       = 'X'.
*  LS_FIELDCAT-INPUT        = ''.
*  LS_FIELDCAT-SP_GROUP = 'A'.
  "LS_FIELDCAT-ICON = 'X'.
  "LS_FIELDCAT-HOTSPOT = 'X'.
  APPEND LS_FIELDCAT TO LT_FIELDCAT.
  CLEAR LS_FIELDCAT.

ENDFORM.                    "FIELDCAT_INIT

猜你喜欢

转载自blog.csdn.net/Programmer_FuQiang/article/details/81115547