• SAP 实例 12 List Box with Value List from PBO Module


    REPORT demo_dynpro_dropdown_listbox.
    
    DATA: name  TYPE vrm_id,
          list  TYPE vrm_values,
          value LIKE LINE OF list.
    
    DATA: wa_spfli TYPE spfli,
          ok_code TYPE sy-ucomm,
          save_ok TYPE sy-ucomm.
    
    TABLES demof4help.
    
    name = 'DEMOF4HELP-CONNID'.
    
    CALL SCREEN 100.
    
    MODULE cancel INPUT.
      LEAVE PROGRAM.
    ENDMODULE.
    
    MODULE init_listbox OUTPUT.
    
      CLEAR: demof4help-connid,
             list.
    
      SELECT  connid, cityfrom, cityto, deptime
              FROM spfli
              WHERE carrid = @demof4help-carrier2
              INTO CORRESPONDING FIELDS OF @wa_spfli.
    
        value-key  = wa_spfli-connid.
    
        WRITE wa_spfli-deptime TO value-text USING EDIT MASK '__:__:__'.
    
        value-text =
          |{ value-text } { wa_spfli-cityfrom } { wa_spfli-cityto }|.
        APPEND value TO list.
    
      ENDSELECT.
    
      IF sy-subrc <> 0.
        MESSAGE 'No connections for that airline' TYPE 'I' DISPLAY LIKE 'E'.
        LEAVE TO SCREEN 100.
      ENDIF.
    
      CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          id     = name
          values = list.
    
    ENDMODULE.
    
    MODULE user_command_100.
      save_ok = ok_code.
      CLEAR ok_code.
      IF save_ok = 'CARRIER' AND NOT demof4help-carrier2 IS INITIAL.
        LEAVE TO SCREEN 200.
      ELSE.
        SET SCREEN 100.
      ENDIF.
    ENDMODULE.
    
    MODULE user_command_200.
      save_ok = ok_code.
      CLEAR ok_code.
      IF save_ok = 'SELECTED'.
        MESSAGE i888(sabapdemos) WITH text-001 demof4help-carrier2
                                              demof4help-connid.
        CLEAR demof4help.
      ENDIF.
    ENDMODULE.

    Description

    The static next screen number of screen 100 is 200. The input field has been assigned the component CARRIER2 of the structure DEMOF4HELP from the ABAP Dictionary. Its dropdown attribute is L, the output length is 15, the value list attribute is empty, and it has been assigned the function code CARRIER. The function code of the pushbutton is CANCEL with function type E. The screen flow logic is as follows:

    PROCESS BEFORE OUTPUT.
    PROCESS AFTER INPUT.
      MODULE cancel AT EXIT-COMMAND.
      MODULE user_command_100.

    The static next screen number of screen 200 is 100. The input field has been assigned the component CONNID of the structure DEMOF4HELP from the ABAP Dictionary. Its dropdown attribute is L, the output length is 30, the value list attribute is A, and it has been assigned the SELECTED function code. The function code of the pushbutton is CANCEL with the function type E. The screen flow logic is as follows:

    PROCESS BEFORE OUTPUT.
      MODULE init_listbox.
    PROCESS AFTER INPUT.
      MODULE cancel AT EXIT-COMMAND.
      MODULE user_command_200.

    The user is not allowed to enter values in the screen fields. When choosing the input field on screen 100, the user sees a value list in the list box derived from the input help of the DEMOF4HELP-CARRIER2 field. In this case, this is the search help H_SCARR assigned to the SCARR check table in the Dictionary. The value list contains the names of the airlines. When the user selects an entry, the screen field is filled with the ID of the airline, and the event PAI is triggered. The module user_command_100 checks the OK field and calls screen 200.

    In the PBO event of screen 200, the system fills an internal table called list with values from database table SPFLI. The key component is filled with flight connection numbers, and the corresponding information is stored in text. The list table is passed to the VRM_SET_VALUES function module. When the user chooses the input field on screen 200, the internal table column text is displayed in the list box. When the user selects an entry, the screen field is filled with the associated entry from the key column, and the event PAI is triggered. The module user_command_200 checks and processes the OK field.

  • 相关阅读:
    oculus按键大全
    10 soundJs 初体验
    09 获取服务器时间
    08 基本数据类型转换
    07 如果再使用animateCC2018或者苹果系统使用animate时出现Uncaught ReferenceError: lib is not defined的错误
    AS3.0和php数据交互POST方式
    06 显示fps帧频
    05 js利用ajax向服务器发送请求并返回json值
    04 ajax执行php并传递参数
    03php拉取服务器信息并生成json
  • 原文地址:https://www.cnblogs.com/JackeyLove/p/13490038.html
Copyright © 2020-2023  润新知