zoukankan      html  css  js  c++  java
  • 动态选择屏幕

    不是自创的,群里大神分享的,应该是QA32,QA16等程序里都有的。

    *&---------------------------------------------------------------------*
    *& Report  ZLYTEST_SCREEN
    *&
    *&---------------------------------------------------------------------*
    *&
    *&
    *&---------------------------------------------------------------------*
    
    REPORT ZLYTEST_SCREEN.
    DATA: LV_SELECTION_ID TYPE                   RSDYNSEL-SELID,
          LT_TABLES_TAB   TYPE STANDARD TABLE OF RSDSTABS,
          LS_TABLES_TAB   TYPE                   RSDSTABS.
    DATA: LT_FIELDS_TAB    TYPE STANDARD TABLE OF RSDSFIELDS,
          LT_WHERE_CLAUSES TYPE                   RSDS_TWHERE,
          GS_WHERE_CLAUSES LIKE LINE OF           LT_WHERE_CLAUSES.
    DATA:GT_ZTSD_LSXY TYPE TABLE OF ZTSD_LSXY.
    DATA:LV_TABNAME TYPE TABNAME VALUE 'ZTSD_LSXY'.
    "可以多个表,字段等
    LS_TABLES_TAB-PRIM_TAB = LV_TABNAME.
    APPEND LS_TABLES_TAB TO LT_TABLES_TAB.
    CALL FUNCTION 'FREE_SELECTIONS_INIT'
      EXPORTING
        KIND                     = 'T'
      IMPORTING
        SELECTION_ID             = LV_SELECTION_ID
      TABLES
        TABLES_TAB               = LT_TABLES_TAB
      EXCEPTIONS
        FIELDS_INCOMPLETE        = 1
        FIELDS_NO_JOIN           = 2
        FIELD_NOT_FOUND          = 3
        NO_TABLES                = 4
        TABLE_NOT_FOUND          = 5
        EXPRESSION_NOT_SUPPORTED = 6
        INCORRECT_EXPRESSION     = 7
        ILLEGAL_KIND             = 8
        AREA_NOT_FOUND           = 9
        INCONSISTENT_AREA        = 10
        KIND_F_NO_FIELDS_LEFT    = 11
        KIND_F_NO_FIELDS         = 12
        TOO_MANY_FIELDS          = 13
        DUP_FIELD                = 14
        FIELD_NO_TYPE            = 15
        FIELD_ILL_TYPE           = 16
        DUP_EVENT_FIELD          = 17
        NODE_NOT_IN_LDB          = 18
        AREA_NO_FIELD            = 19
        OTHERS                   = 20.
    IF SY-SUBRC EQ 0.
      CALL FUNCTION 'FREE_SELECTIONS_DIALOG'
        EXPORTING
          SELECTION_ID    = LV_SELECTION_ID
          TITLE           = '选择'
          FRAME_TEXT      = '查询条件'
          AS_WINDOW       = 'X'
        IMPORTING
          WHERE_CLAUSES   = LT_WHERE_CLAUSES
        TABLES
          FIELDS_TAB      = LT_FIELDS_TAB
        EXCEPTIONS
          INTERNAL_ERROR  = 1
          NO_ACTION       = 2
          SELID_NOT_FOUND = 3
          ILLEGAL_STATUS  = 4
          OTHERS          = 5.
      IF SY-SUBRC EQ 0.
        CLEAR GS_WHERE_CLAUSES.
    
      ENDIF.
    ENDIF.
    
    "根据不同的查询表,将查询参数一次加入各个表
    READ TABLE LT_WHERE_CLAUSES INTO GS_WHERE_CLAUSES
          WITH KEY TABLENAME = LV_TABNAME.
    IF SY-SUBRC = 0.
      SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_ZTSD_LSXY
      FROM ZTSD_LSXY WHERE ZJLH <> '' AND (GS_WHERE_CLAUSES-WHERE_TAB) .
    ENDIF.
    
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
      EXPORTING
        I_CALLBACK_PROGRAM = SY-REPID
        I_STRUCTURE_NAME   = 'ZTSD_LSXY'
      TABLES
        T_OUTTAB           = GT_ZTSD_LSXY
      EXCEPTIONS
        PROGRAM_ERROR      = 1
        OTHERS             = 2.
    IF SY-SUBRC <> 0.
    ENDIF.

  • 相关阅读:
    linux权限补充:rwt rwT rws rwS 特殊权限
    关于Linux操作系统下文件特殊权限的解释
    Java学习笔记——Java程序运行超时后退出或进行其他操作的实现
    Java实现 蓝桥杯 算法提高 判断名次
    Java实现 蓝桥杯 算法提高 判断名次
    Java实现 蓝桥杯 算法提高 日期计算
    Java实现 蓝桥杯 算法提高 日期计算
    Java实现 蓝桥杯 算法提高 概率计算
    Java实现 蓝桥杯 算法提高 概率计算
    Java实现 蓝桥杯 算法提高 复数四则运算
  • 原文地址:https://www.cnblogs.com/sapSB/p/4815569.html
Copyright © 2011-2022 走看看