zoukankan      html  css  js  c++  java
  • ALV报表——选择屏幕SELECT-OPTION变量赋值

    ABAP选择屏幕变量赋值

    运行效果:

    代码:

    ************************************************************************
    * Program Name      :
    * Descriptions      :
    * T-Code            :
    * Updates Tables    :
    * Input  Parameters :
    * Output Parameters :
    * Return Codes      :
    * Special Logic     :
    * Includes          :
    ************************************************************************
    * Modification Log
    ************************************************************************
    *   Date   Ver. Programmer   Descriptions
    * -------- ---- ------------ -------------------------------------------
    * 2011 01.01  Original Create
    *
    ************************************************************************
    REPORT ZMMRTEST.
    ***********************************************************************
    * Tables Definitions
    ************************************************************************
    *TABLES:.
    ************************************************************************
    TABLES: mard.
    * Data Definitions
    ************************************************************************
    
    ************************************************************************
    * Includes Module
    ************************************************************************
    
    ************************************************************************
    * Selection Screen
    ************************************************************************
    PARAMETERS: p_werks LIKE marc-werks DEFAULT '2000'.
    SELECT-OPTIONS: s_date FOR sy-datum,  "日期范围
                             s_matnr FOR mard-matnr,
                             s_lgort  FOR mard-lgort.
    
    ************************************************************************
    * Initialization
    ************************************************************************
    INITIALIZATION.
     PERFORM screen_data.
    ************************************************************************
    * At Selection Screen
    ************************************************************************
    AT SELECTION-SCREEN.
    
    ************************************************************************
    * At Selection Screen Output
    ************************************************************************
    AT SELECTION-SCREEN OUTPUT.
    
    ************************************************************************
    * Report Format
    ************************************************************************
    TOP-OF-PAGE.
    
    END-OF-PAGE.
    ************************************************************************
    * Main Process
    ************************************************************************
    START-OF-SELECTION.
    
    END-OF-SELECTION.
    
    FORM screen_data.
      DATA:  lt_mdlg  LIKE mdlg occurs 0 WITH HEADER LINE.
    
      DATA: l_firstday_tm TYPE sy-datum, "本月第一天
                l_lastday_lm TYPE sy-datum, "上个月最后一天
                l_firstday_lm TYPE sy-datum. "上个月第一天
    
      CONCATENATE sy-datum+(6) '01' INTO l_firstday_tm.
      l_lastday_lm = l_firstday_tm - 1.
      CONCATENATE l_lastday_lm+(6) '01' INTO l_firstday_lm.
    
      "上个月范围
      s_date-sign     = 'I'.
      s_date-option = 'BT'.
      s_date-low = l_firstday_lm.
      s_date-high = l_lastday_lm.
      APPEND s_date.CLEAR s_date.
    
      "单一值物料
      s_matnr-sign = 'I'.
      s_matnr-option = 'EQ'.
      s_matnr-low = 'ATBA3002-XX'.
      APPEND s_matnr.CLEAR s_matnr.
    
      s_matnr-sign = 'I'.
      s_matnr-option = 'EQ'.
      s_matnr-low = 'C60011-14-BT'.
      APPEND s_matnr.CLEAR s_matnr.
    
      IF p_werks = '2000'.
        SELECT * INTO TABLE lt_mdlg
                     FROM mdlg
                     WHERE berid = '2000_ND'.
      ELSEIF p_werks = '3000'.
        SELECT * INTO TABLE lt_mdlg
                     FROM mdlg
                     WHERE berid = '3000_ND'.
      ENDIF.
    
      "不包含单一值
      LOOP AT lt_mdlg.
        s_lgort-sign = 'E'.
        s_lgort-option = 'EQ'.
        s_lgort-low = lt_mdlg-lgort.
        APPEND s_lgort.CLEAR s_lgort.
      ENDLOOP.
    
    ENDFORM.
    木叶飞舞之处,火亦生生不息
  • 相关阅读:
    Mac从零配置Vim
    Mac效率:配置Alfred web search
    看看你的邻居在干什么
    成功破解邻居的Wifi密码
    MacBook安装Win10
    C陷阱:求数组长度
    Nexus 6P 解锁+TWRP+CM
    搭建树莓派手机远程开门系统
    Ubuntu下配置ShadowS + Chrome
    JS传参出现乱码(转载)
  • 原文地址:https://www.cnblogs.com/StephenAmell/p/8991229.html
Copyright © 2011-2022 走看看