zoukankan      html  css  js  c++  java
  • SAP 实例- 下拉框

    效果图

     源代码

    REPORT rsdemo_dropdown_listbox .
    
    DATA  init.
    TABLES scarr.
    
    TABLES spfli.
    TABLES sflight.
    TABLES sbook.
    DATA  save_ok LIKE sy-ucomm.
    DATA  ok_code LIKE sy-ucomm.
    
    CALL SCREEN 100.
    
    *&---------------------------------------------------------------------*
    *&      Module  STATUS_0100  OUTPUT
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    MODULE status_0100 OUTPUT.
      IF init is initial.
        SET PF-STATUS 'GRUND'.
        SET TITLEBAR '100'.
    
    * preset of listboxes
        spfli-carrid = 'LH'.
        sflight-carrid = 'LH'.
        sbook-carrid = 'LH'.
      ENDIF.
    
    ENDMODULE.                             " STATUS_0100  OUTPUT
    *&---------------------------------------------------------------------*
    *&      Module  SET_DATA_CARRID  INPUT
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    MODULE set_data_carrid INPUT.
      TYPES: BEGIN OF type_carrid,
             carrid LIKE spfli-carrid,
             carrname LIKE scarr-carrname,
             END OF type_carrid.
    
      DATA itab_carrid TYPE STANDARD TABLE OF type_carrid WITH HEADER LINE.
    
      SELECT carrid carrname
                    FROM scarr
                    INTO CORRESPONDING FIELDS OF TABLE itab_carrid.
    
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
           EXPORTING
                retfield        = 'CARRID'
                value_org       = 'S'
           TABLES
                value_tab       = itab_carrid
           EXCEPTIONS
                parameter_error = 1
                no_values_found = 2
                OTHERS          = 3.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    
    
    ENDMODULE.                             " SET_DATA_CARRID  INPUT
    *&---------------------------------------------------------------------*
    *&      Module  FILL_CARRID  OUTPUT
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    MODULE fill_carrid OUTPUT.
    * Do not use this process (but it works)
    
      TYPE-POOLS vrm.
      DATA values TYPE vrm_values WITH HEADER LINE.
    
      IF init is initial.
        SELECT * FROM scarr.
          values-text = scarr-carrname.
          values-key = scarr-carrid.
          APPEND values.
        ENDSELECT.
        CALL FUNCTION 'VRM_SET_VALUES'
             EXPORTING
                  id              = 'SBOOK-CARRID'
                  values          = values[]
             EXCEPTIONS
                  id_illegal_name = 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.
    
      ENDIF.
      scarr-carrid = 'LH'.
      init = 'X'.
    ENDMODULE.                             " FILL_CARRID  OUTPUT
    *&---------------------------------------------------------------------*
    *&      Module  EVENT_FROM_LISTBOX  INPUT
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    MODULE event_from_listbox INPUT.
      save_ok = ok_code.
      CLEAR ok_code.
      CASE save_ok.
        WHEN 'LISTBOX_2'.
          MESSAGE i300(eu) WITH save_ok.
        WHEN 'LISTBOX_3'.
          MESSAGE i300(eu) WITH save_ok.
      ENDCASE.
    ENDMODULE.                             " EVENT_FROM_LISTBOX  INPUT
    *&---------------------------------------------------------------------*
    *&      Module  EXIT  INPUT
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    MODULE exit INPUT.
      LEAVE PROGRAM.
    ENDMODULE.                             " EXIT  INPUT

    屏幕逻辑流

  • 相关阅读:
    呵呵,庆祝偶的blog开张了~
    把.NET程序部署到没有安装.NETFramwork的机器上
    1842005 日记
    So In Love
    windows网络编程经典入门
    水木穿梭
    c++智能指针的使用,shared_ptr,unique_ptr,weak_ptr
    c++的左值(lvalue),右值(rvalue),移动语义(move),完美转发(forward)
    (一)深入理解JVM第三版JDK的发展历史
    处理在多参数情况下分页参数的完整性
  • 原文地址:https://www.cnblogs.com/JackeyLove/p/14605470.html
Copyright © 2011-2022 走看看