zoukankan      html  css  js  c++  java
  • SAP Picture Control(图片加载)

    Screen display

    效果

     源代码

    program sap_picture_demo.
    
    set screen 200.
    
    TYPE-POOLS cndp.
    
    ************************************************************************
    * CLASS    c_event_receiver
    * DEFINITION
    ************************************************************************
    class c_event_receiver definition.
    * The class is used to test the events raised by the cl_gui_picture
    * class
      public section.
        methods event_handler_picture_dblclick
                for event picture_dblclick of cl_gui_picture
                importing mouse_pos_x mouse_pos_y sender.
        methods event_handler_context_menu
                for event context_menu of cl_gui_picture
                importing sender.
        methods event_handler_context_menu_sel
                for event context_menu_selected of cl_gui_picture
                importing fcode sender.
      endclass.
    
    
    ************************************************************************
    * DATA
    ************************************************************************
      data function like sy-ucomm.         " OK-Code field in screen 200
      data url  type cndp_url.                " URL-field in screen 200
      data url2 type cndp_url.               " URL-field in screen 200
      data picture_control_1 type ref to cl_gui_picture.
      data picture_control_2 type ref to cl_gui_picture.
      data container_1 type ref to cl_gui_custom_container.
      data container_2 type ref to cl_gui_custom_container.
      data event_receiver  type ref to c_event_receiver.
      data event_tab type cntl_simple_events.
      data event_tab_line type cntl_simple_event.
      data return type i.
    
    ************************************************************************
    * PBO
    * before_output
    ************************************************************************
    module before_output output.
      set pf-status 'MAIN0001'.
      IF PICTURE_CONTROL_1 IS INITIAL.
    
    * Create controls
        create object container_1
          exporting container_name = 'PICTURE_CONTROL_1'.
        create object container_2
          exporting container_name = 'PICTURE_CONTROL_2'.
    
        CREATE OBJECT PICTURE_CONTROL_1 exporting parent = container_1.
        CREATE OBJECT PICTURE_CONTROL_2 exporting parent = container_2.
    
    * Register the events
        EVENT_TAB_LINE-EVENTID = CL_GUI_PICTURE=>EVENTID_PICTURE_DBLCLICK.
        append EVENT_TAB_LINE to EVENT_TAB.
        EVENT_TAB_LINE-EVENTID = CL_GUI_PICTURE=>EVENTID_CONTEXT_MENU.
        append EVENT_TAB_LINE to EVENT_TAB.
     EVENT_TAB_LINE-EVENTID = CL_GUI_PICTURE=>EVENTID_CONTEXT_MENU_SELECTED.
        append EVENT_TAB_LINE to EVENT_TAB.
    
        CALL METHOD PICTURE_CONTROL_1->SET_REGISTERED_EVENTS
          exporting
            EVENTS = event_tab.
    
        CALL METHOD PICTURE_CONTROL_2->SET_REGISTERED_EVENTS
          exporting
            EVENTS = event_tab.
    
    * Create the event_receiver object and set the handlers for the events
    * of the picture controls
        create object event_receiver.
        set handler event_receiver->event_handler_picture_dblclick
                    FOR PICTURE_CONTROL_1.
        set handler event_receiver->event_handler_context_menu
                    FOR PICTURE_CONTROL_1.
        set handler event_receiver->event_handler_context_menu_sel
                    FOR PICTURE_CONTROL_1.
        set handler event_receiver->event_handler_picture_dblclick
                    FOR PICTURE_CONTROL_2.
        set handler event_receiver->event_handler_context_menu
                    FOR PICTURE_CONTROL_2.
        set handler event_receiver->event_handler_context_menu_sel
                    FOR PICTURE_CONTROL_2.
    
    * Set the display mode to 'normal' (0)
        CALL METHOD PICTURE_CONTROL_1->SET_DISPLAY_MODE
             EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_NORMAL.
        CALL METHOD PICTURE_CONTROL_2->SET_DISPLAY_MODE
             EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_NORMAL.
    
    * Set 3D Border
        CALL METHOD PICTURE_CONTROL_1->SET_3D_BORDER
           exporting border = 1.
        CALL METHOD PICTURE_CONTROL_2->SET_3D_BORDER
           exporting border = 1.
    
    
    * new async implementation since 4.6C
    CALL FUNCTION 'DP_PUBLISH_WWW_URL'
      EXPORTING
        OBJID                       = 'HTMLCNTL_TESTHTM2_SAP_AG'
        LIFETIME                    = cndp_lifetime_transaction
      IMPORTING
        URL                         = url
      EXCEPTIONS
        OTHERS                      = 1.
    
    * Load the picture by using the url generated by the data provider.
        if sy-subrc = 0.
          CALL METHOD PICTURE_CONTROL_1->LOAD_PICTURE_FROM_URL_ASYNC
             exporting url = url.
        endif.
    
    CALL FUNCTION 'DP_PUBLISH_WWW_URL'
      EXPORTING
        OBJID                       = 'DEMOWORD97SAPLOGO'
        LIFETIME                    = cndp_lifetime_transaction
      IMPORTING
        URL                         = url2
      EXCEPTIONS
        OTHERS                      = 1.
    
    * load image
        if sy-subrc = 0.
          CALL METHOD PICTURE_CONTROL_2->LOAD_PICTURE_FROM_URL_async
             exporting url = url2.
        endif.
    
      endif.
    endmodule.
    
    
    ************************************************************************
    * PAI
    * after_input
    ************************************************************************
    module after_input input.
      case function.
    * At the end of the program destroy the control
        when 'BACK'.
          CALL METHOD container_1->FREE.
          CALL METHOD container_2->FREE.
          leave to screen 0.
    
    * Change the display mode
        when 'NORMAL'.
          CALL METHOD PICTURE_CONTROL_1->SET_DISPLAY_MODE
               EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_NORMAL.
          CALL METHOD PICTURE_CONTROL_2->SET_DISPLAY_MODE
               EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_NORMAL.
        when 'STRETCH'.
          CALL METHOD PICTURE_CONTROL_1->SET_DISPLAY_MODE
             EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_STRETCH.
          CALL METHOD PICTURE_CONTROL_2->SET_DISPLAY_MODE
             EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_STRETCH.
        when 'FIT'.
          CALL METHOD PICTURE_CONTROL_1->SET_DISPLAY_MODE
               EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_FIT.
          CALL METHOD PICTURE_CONTROL_2->SET_DISPLAY_MODE
               EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_FIT.
        when 'NORMAL_CTR'.
          CALL METHOD PICTURE_CONTROL_1->SET_DISPLAY_MODE
        EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_NORMAL_CENTER.
          CALL METHOD PICTURE_CONTROL_2->SET_DISPLAY_MODE
        EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_NORMAL_CENTER.
        when 'FIT_CTR'.
          CALL METHOD PICTURE_CONTROL_1->SET_DISPLAY_MODE
          EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_FIT_CENTER.
          CALL METHOD PICTURE_CONTROL_2->SET_DISPLAY_MODE
          EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_FIT_CENTER.
    
    * Clear the picture
        when 'CLEAR'.
          CALL METHOD PICTURE_CONTROL_1->CLEAR_PICTURE.
    
    * Load a new picture
        when space.
          CALL METHOD PICTURE_CONTROL_1->LOAD_PICTURE_FROM_URL
               exporting url = url
               importing result = return.
          call method cl_gui_cfw=>flush.
          if return = 0.
            url = text-000.
          endif.
    
      endcase.
    
      clear function.
    endmodule.
    
    
    ************************************************************************
    * CLASS   c_event_receiver
    * IMPLEMENTATION
    ************************************************************************
    CLASS C_event_receiver implementation.
    
    ************************************************************************
    * CLASS   c_event_receiver
    * METHOD  event_handler_picture_dblclick
    ************************************************************************
      METHOD EVENT_HANDLER_PICTURE_DBLCLICK.
    *        for event picture_dblclick of c_picture_control
    *        importing mouse_pos_x mouse_pos_y.
        DATA pos_x(5) type c.
        DATA pos_y(5) type c.
        pos_x = mouse_pos_x.
        pos_y = mouse_pos_y.
    
        IF SENDER = PICTURE_CONTROL_1.
          MESSAGE I000(0K) WITH
            'DoubleClick' 'Upper Picture' POS_X POS_Y. "#EC NOTEXT
        else.
          MESSAGE I000(0K) WITH
            'DoubleClick' 'Lower Picture' POS_X POS_Y. "#EC NOTEXT
        endif.
      endmethod.
    
    ************************************************************************
    * CLASS   c_event_receiver
    * METHOD  event_handler_context_menu
    ************************************************************************
      METHOD EVENT_HANDLER_CONTEXT_MENU.
        data menu type ref to cl_ctmenu.
        create object menu.
        call method menu->ADD_FUNCTION exporting
          fcode = text-001
          TEXT = TEXT-001.
        call method menu->ADD_FUNCTION exporting
          FCODE = TEXT-002
          TEXT = TEXT-002.
        call method menu->ADD_FUNCTION exporting
          FCODE = TEXT-003
          TEXT = TEXT-003.
        call method menu->ADD_FUNCTION exporting
          FCODE = TEXT-004
          TEXT = TEXT-004.
        call method menu->ADD_FUNCTION exporting
          FCODE = TEXT-005
          TEXT = TEXT-005.
    
        CALL METHOD SENDER->DISPLAY_CONTEXT_MENU
          EXPORTING CONTEXT_MENU = MENU.
      endmethod.
    
    ************************************************************************
    * CLASS   c_event_receiver
    * METHOD  event_handler_context_menu_sel
    ************************************************************************
      METHOD EVENT_HANDLER_CONTEXT_MENU_sel.
        DATA DISPLAY_MODE TYPE I.
        IF FCODE = TEXT-001.
          DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_NORMAL.
        ENDIF.
        IF FCODE = TEXT-002.
          DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_STRETCH.
        ENDIF.
        IF FCODE = TEXT-003.
          DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_FIT.
        ENDIF.
        IF FCODE = TEXT-004.
          DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_NORMAL_CENTER.
        ENDIF.
        IF FCODE = TEXT-005.
          DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_FIT_CENTER.
        ENDIF.
        CALL METHOD SENDER->SET_DISPLAY_MODE
             EXPORTING DISPLAY_MODE = DISPLAY_MODE.
    
      endmethod.
    
    endclass.

    屏幕

    program sap_picture_demo_icon.
    
    set screen 200.
    
    TYPE-POOLS cndp.
    
    ************************************************************************
    * CLASS    c_event_receiver
    * DEFINITION
    ************************************************************************
    class c_event_receiver definition.
    * The class is used to test the events raised by the cl_gui_picture
    * class
      public section.
      methods event_handler_control_click
              for event control_click of cl_gui_picture
              importing mouse_pos_x mouse_pos_y.
      methods event_handler_control_dblclick
              for event control_dblclick of cl_gui_picture
              importing mouse_pos_x mouse_pos_y.
    endclass.
    
    
    ************************************************************************
    * DATA
    ************************************************************************
    data function like sy-ucomm.           " OK-Code field in screen 200
    data event1(255) type c.
    data picture_control_1 type ref to cl_gui_picture.
    data picture_control_2 type ref to cl_gui_picture.
    data container_1 type ref to cl_gui_custom_container.
    data container_2 type ref to cl_gui_custom_container.
    data event_receiver  type ref to c_event_receiver.
    data event_tab type cntl_simple_events.
    data event type cntl_simple_event.
    
    
    ************************************************************************
    * PBO
    * before_output
    ************************************************************************
    module before_output output.
      set pf-status 'MAIN0001'.
      IF PICTURE_CONTROL_1 IS INITIAL.
    
    * Create controls
        create object container_1
          exporting container_name = 'PICTURE_CONTROL_1'.
        create object container_2
          exporting container_name = 'PICTURE_CONTROL_2'.
    
        CREATE OBJECT PICTURE_CONTROL_1 exporting parent = container_1.
        CREATE OBJECT PICTURE_CONTROL_2 exporting parent = container_2.
    
    * Register the events
        EVENT-eventid = CL_GUI_PICTURE=>EVENTID_CONTROL_DBLCLICK.
        append event to EVENT_TAB.
        CALL METHOD PICTURE_CONTROL_1->SET_REGISTERED_EVENTS
          exporting
            EVENTS = event_tab.
        clear event_tab.
        EVENT-EVENTID = CL_GUI_PICTURE=>EVENTID_CONTROL_CLICK.
        append event to EVENT_TAB.
        CALL METHOD PICTURE_CONTROL_2->SET_REGISTERED_EVENTS
          exporting
            EVENTS = event_tab.
    
    * Create the event_receiver object and set the handlers for the events
    * of the picture controls
        create object event_receiver.
        set handler event_receiver->event_handler_control_dblclick
                    FOR PICTURE_CONTROL_1.
        set handler event_receiver->event_handler_control_dblclick
                    FOR PICTURE_CONTROL_2.
        set handler event_receiver->event_handler_control_click
                    FOR PICTURE_CONTROL_1.
        set handler event_receiver->event_handler_control_click
                    FOR PICTURE_CONTROL_2.
    
        CALL METHOD PICTURE_CONTROL_1->SET_DISPLAY_MODE
          EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_FIT_CENTER.
        CALL METHOD PICTURE_CONTROL_2->SET_DISPLAY_MODE
          EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_FIT_CENTER.
    
        CALL METHOD PICTURE_CONTROL_1->LOAD_PICTURE_FROM_SAP_ICONS
           exporting icon = '@01@'.
        CALL METHOD PICTURE_CONTROL_2->LOAD_PICTURE_FROM_SAP_ICONS
           exporting icon = '@02@'.
    
      endif.
    endmodule.
    
    
    ************************************************************************
    * PAI
    * after_input
    ************************************************************************
    module after_input input.
      case function.
    * At the end of the program destroy the control
        when 'BACK'.
          CALL METHOD PICTURE_CONTROL_1->FREE.
          CALL METHOD PICTURE_CONTROL_2->FREE.
          CALL METHOD container_1->FREE.
          CALL METHOD container_2->FREE.
          leave to screen 0.
    
    * Change the display mode
        when 'NORMAL'.
          CALL METHOD PICTURE_CONTROL_1->SET_DISPLAY_MODE
               EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_NORMAL.
          CALL METHOD PICTURE_CONTROL_2->SET_DISPLAY_MODE
               EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_NORMAL.
        when 'STRETCH'.
          CALL METHOD PICTURE_CONTROL_1->SET_DISPLAY_MODE
             EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_STRETCH.
          CALL METHOD PICTURE_CONTROL_2->SET_DISPLAY_MODE
             EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_STRETCH.
        when 'FIT'.
          CALL METHOD PICTURE_CONTROL_1->SET_DISPLAY_MODE
               EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_FIT.
          CALL METHOD PICTURE_CONTROL_2->SET_DISPLAY_MODE
               EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_FIT.
        when 'NORMAL_CTR'.
          CALL METHOD PICTURE_CONTROL_1->SET_DISPLAY_MODE
        EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_NORMAL_CENTER.
          CALL METHOD PICTURE_CONTROL_2->SET_DISPLAY_MODE
        EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_NORMAL_CENTER.
        when 'FIT_CTR'.
          CALL METHOD PICTURE_CONTROL_1->SET_DISPLAY_MODE
          EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_FIT_CENTER.
          CALL METHOD PICTURE_CONTROL_2->SET_DISPLAY_MODE
          EXPORTING DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_FIT_CENTER.
    
    * Clear the picture
        when 'CLEAR'.
          CALL METHOD PICTURE_CONTROL_1->CLEAR_PICTURE.
    
    * Load a new picture
        when space.
          CALL METHOD PICTURE_CONTROL_1->LOAD_PICTURE_FROM_SAP_ICONS
               exporting icon = event1.
    
      endcase.
    
      clear function.
    endmodule.
    
    
    ************************************************************************
    * CLASS   c_event_receiver
    * IMPLEMENTATION
    ************************************************************************
    CLASS C_event_receiver implementation.
    
    
    ************************************************************************
    * CLASS   c_event_receiver
    * METHOD  event_handler_control_click
    ************************************************************************
      method event_handler_control_click.
    *        for event control_click of c_picture_control
    *        importing mouse_pos_x mouse_pos_y.
        DATA pos_x(5) type c.
        DATA pos_y(5) type c.
        pos_x = mouse_pos_x.
        pos_y = mouse_pos_y.
    
        MESSAGE I000(0K) WITH
          'Click' 'Lower Picture' POS_X POS_Y. "#EC NOTEXT
      endmethod.
    
    ************************************************************************
    * CLASS   c_event_receiver
    * METHOD  event_handler_control_dblclick
    ************************************************************************
      method event_handler_control_dblclick.
    *        for event control_dblclick of c_picture_control
    *        importing mouse_pos_x mouse_pos_y.
        DATA pos_x(5) type c.
        DATA pos_y(5) type c.
        pos_x = mouse_pos_x.
        pos_y = mouse_pos_y.
    
        MESSAGE I000(0K) WITH
          'DoubleClick' 'Upper Picture' POS_X POS_Y. "#EC NOTEXT
      endmethod.
    
    endclass.
    *&---------------------------------------------------------------------*
    *& Report  RSDEMO_PICTURE_CONTROL                                      *
    *&                                                                     *
    *&---------------------------------------------------------------------*
    *&                                                                     *
    *&                                                                     *
    *&---------------------------------------------------------------------*
    
    REPORT  rsdemo_picture_control        .
    include <icon>.
    DATA container TYPE REF TO cl_gui_custom_container.
    DATA picture TYPE REF TO cl_gui_picture.
    DATA init.
    DATA  ok_code TYPE sy-ucomm.
    DATA save_ok TYPE sy-ucomm.
    TYPE-POOLS cndp.
    
    ##CLASS_FINAL
    CLASS lcl_event_receiver DEFINITION.
    
      PUBLIC SECTION.
        METHODS contextmenurequest
                FOR EVENT context_menu OF cl_gui_picture.
        METHODS contextmenuselected
                FOR EVENT context_menu_selected OF cl_gui_picture
                    IMPORTING fcode.
      ENDCLASS.
      DATA event_receiver TYPE REF TO lcl_event_receiver.
      DATA events TYPE cntl_simple_events.
      DATA wa_events TYPE  cntl_simple_event.
    
      SET SCREEN 100.
    
      CLASS lcl_event_receiver IMPLEMENTATION.
        METHOD contextmenurequest.
          DATA menu TYPE REF TO cl_ctmenu.
          CREATE OBJECT menu.
          CALL METHOD menu->load_gui_status
                      EXPORTING  program    = 'RSDEMO_PICTURE_CONTROL'
                                 status     = 'CONTEXT'
                                 menu       = menu
                      EXCEPTIONS read_error = 1.
    ##NEEDED
          IF sy-subrc ne 0.
    * Fehlerbehandlung
          ENDIF.
          CALL METHOD picture->display_context_menu
                EXPORTING context_menu = menu
                EXCEPTIONS error = 1.
    ##NEEDED
          IF sy-subrc ne 0.
    * Fehlerbehandlung
          ENDIF.
    * <weiterer Aufbau des Kontext Menüs>
        ENDMETHOD.
        METHOD contextmenuselected.
    
          MESSAGE i300(eu) WITH fcode.  "#EC NOTEXT
    
        ENDMETHOD.
      ENDCLASS.
    
    
    
    *&---------------------------------------------------------------------*
    *&      Module  STATUS_0100  OUTPUT
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'STATUS'.
    *  SET TITLEBAR 'xxx'.
      IF init is initial.
        CREATE OBJECT container
           EXPORTING container_name = 'CUSTOM_CONTAINER'.
        CREATE OBJECT picture
           EXPORTING  parent = container
           EXCEPTIONS error = 1.
    ##NEEDED
        IF sy-subrc ne 0.
    * Fehlerbehandlung
        ENDIF.
    
        wa_events-eventid = picture->eventid_context_menu.
        wa_events-appl_event = ' '.
        APPEND wa_events TO events.
        wa_events-eventid = picture->eventid_context_menu_selected.
        wa_events-appl_event = ' '.
        APPEND wa_events TO events.
        CALL METHOD picture->set_registered_events
              EXPORTING  events                    = events
              EXCEPTIONS cntl_error                = 1
                         cntl_system_error         = 2
                         illegal_event_combination = 3.
    ##NEEDED
        IF sy-subrc ne 0.
    * Fehlerbehandlung
        ENDIF.
    
        CREATE OBJECT event_receiver.
        SET HANDLER event_receiver->contextmenurequest FOR picture.
        SET HANDLER event_receiver->contextmenuselected FOR picture.
        init = 'X'.
      ENDIF.
    ENDMODULE.                             " STATUS_0100  OUTPUT
    *&---------------------------------------------------------------------*
    *&      Module  USER_COMMAND_0100  INPUT
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    MODULE user_command_0100 INPUT.
      save_ok = ok_code.
      CLEAR ok_code.
      CASE save_ok.
        WHEN 'LOAD_PICTURE'.
    * Request an URL from the data provider by exporting the pic_data.
    ##DECL_MODUL
        DATA url(255).
        CLEAR url.
        PERFORM load_pic_from_db CHANGING url.
    
    * load picture
        CALL METHOD picture->load_picture_from_url
            EXPORTING url = url.
    ##NEEDED
          IF sy-subrc ne 0.
    * Fehlerbehandlung
          ENDIF.
        WHEN 'DELETE'.
          CALL METHOD picture->clear_picture
               EXCEPTIONS error = 1.
    ##NEEDED
          IF sy-subrc ne 0.
    * Fehlerbehandlung
          ENDIF.
        WHEN 'STRETCH'.
          CALL METHOD picture->set_display_mode
               EXPORTING display_mode = picture->display_mode_stretch
               EXCEPTIONS error = 1.
    ##NEEDED
          IF sy-subrc ne 0.
    * Fehlerbehandlung
          ENDIF.
        WHEN 'NORMAL'.
          CALL METHOD picture->set_display_mode
               EXPORTING display_mode = picture->display_mode_normal
               EXCEPTIONS error = 1.
    ##NEEDED
          IF sy-subrc ne 0.
    * Fehlerbehandlung
          ENDIF.
        WHEN 'LOAD_ICON'.
          CALL METHOD picture->load_picture_from_sap_icons
                EXPORTING icon = '@00@'
                EXCEPTIONS error = 1.
    ##NEEDED
          IF sy-subrc ne 0.
    * Fehlerbehandlung
          ENDIF.
    
      ENDCASE.
    ENDMODULE.                             " USER_COMMAND_0100  INPUT
    *&---------------------------------------------------------------------*
    *&      Module  EXIT  INPUT
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    MODULE exit INPUT.
      CALL METHOD picture->free.
      CALL METHOD container->free.
      LEAVE PROGRAM.
    ENDMODULE.                             " EXIT  INPUT
    *&---------------------------------------------------------------------*
    *&      Form  LOAD_PIC_FROM_DB
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    *
    *----------------------------------------------------------------------*
    ##PERF_NO_TYPE
    FORM load_pic_from_db CHANGING url.
      DATA query_table LIKE w3query OCCURS 1 WITH HEADER LINE.
      DATA html_table LIKE w3html OCCURS 1.
      DATA return_code LIKE  w3param-ret_code.
      DATA content_type LIKE  w3param-cont_type.
      DATA content_length LIKE  w3param-cont_len.
      DATA pic_data LIKE w3mime OCCURS 0.
      DATA pic_size TYPE i.
    
      REFRESH query_table.
      query_table-name = '_OBJECT_ID'.
      query_table-value = 'ENJOYSAP_LOGO'.
      APPEND query_table.
    
    ##FM_OLDED
      CALL FUNCTION 'WWW_GET_MIME_OBJECT'
           TABLES
                query_string        = query_table
                html                = html_table
                mime                = pic_data
           CHANGING
                return_code         = return_code
                content_type        = content_type
                content_length      = content_length
           EXCEPTIONS
                OBJECT_NOT_FOUND    = 1
                parameter_not_found = 2
                OTHERS              = 3.
      IF sy-subrc = 0.
        pic_size = content_length.
      ENDIF.
    
      CALL FUNCTION 'DP_CREATE_URL'
           EXPORTING
    ##NO_TEXT
                type     = 'image'
                subtype  = cndp_sap_tab_unknown
                size     = pic_size
                lifetime = cndp_lifetime_transaction
           TABLES
                data     = pic_data
           CHANGING
                url      = url
    ##FM_SUBRC_OK
           EXCEPTIONS
                OTHERS   = 1.
    
    
    ENDFORM.                               " LOAD_PIC_FROM_DB
  • 相关阅读:
    Caffe_Example之训练mnist
    监督学习和无监督学习
    linux 命令cp拷贝
    Caffe solver.prototxt学习
    caffe下python环境的编译
    ubuntu 绘制lenet网络结构图遇到的问题汇总
    1-6 能否形成三角形
    Python的四个内置数据类型list, tuple, dict, set
    Python 函数(二)
    Python 函数(一)
  • 原文地址:https://www.cnblogs.com/JackeyLove/p/14609426.html
Copyright © 2011-2022 走看看