ALV SPLITTER 分割器 需要在屏幕上画个控件

  1 *&---------------------------------------------------------------------*
  2 *& Report  ZTEST4
  3 *&
  4 *&---------------------------------------------------------------------*
  5 *&
  6 *&
  7 *&---------------------------------------------------------------------*
  8 REPORT ZTEST4.
  9 
 10 
 11 DATA :
 12   OK_CODE LIKE SY-UCOMM,
 13   SAVE_OK LIKE SY-UCOMM.
 14 
 15 DATA :
 16   URL(256) TYPE C,
 17   INIT(1)  TYPE C.
 18 
 19 " cl_gui_custom_container container for hosting splitter
 20 DATA CL_GUI_CUSTOM_CONTAINER_OBJ TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
 21 " cl_gui_splitter_container splitter container
 22 DATA CL_GUI_SPLITTER_CONTAINER_OBJ TYPE REF TO CL_GUI_SPLITTER_CONTAINER.
 23 " cl_gui_container objects for splitter
 24 DATA CL_GUI_CONTAINER_1 TYPE REF TO CL_GUI_CONTAINER.
 25 DATA CL_GUI_CONTAINER_2 TYPE REF TO CL_GUI_CONTAINER.
 26 DATA CL_GUI_CONTAINER_3 TYPE REF TO CL_GUI_CONTAINER.
 27 " cl_gui_picture objects
 28 DATA CL_GUI_PICTURE_1 TYPE REF TO CL_GUI_PICTURE.
 29 DATA CL_GUI_PICTURE_2 TYPE REF TO CL_GUI_PICTURE.
 30 DATA CL_GUI_PICTURE_3 TYPE REF TO CL_GUI_PICTURE.
 31 
 32 START-OF-SELECTION.
 33   CALL SCREEN 100.
 34 
 35 END-OF-SELECTION.
 36 
 37 
 38 MODULE STATUS_0100 OUTPUT.
 39 
 40   SET TITLEBAR 'TITLE'.
 41   SET PF-STATUS 'STATUS'.
 42 
 43   IF INIT IS INITIAL.
 44 
 45     CREATE OBJECT CL_GUI_CUSTOM_CONTAINER_OBJ EXPORTING CONTAINER_NAME = 'CUSTOM'.
 46 
 47     " Create SPLITTER and SPLITTER panes
 48     CREATE OBJECT CL_GUI_SPLITTER_CONTAINER_OBJ
 49       EXPORTING
 50         PARENT  = CL_GUI_CUSTOM_CONTAINER_OBJ
 51         ROWS    = 1
 52         COLUMNS = 3.
 53 
 54     CALL METHOD CL_GUI_SPLITTER_CONTAINER_OBJ->GET_CONTAINER
 55       EXPORTING
 56         ROW       = 1
 57         COLUMN    = 1
 58       RECEIVING
 59         CONTAINER = CL_GUI_CONTAINER_1.
 60 
 61     CALL METHOD CL_GUI_SPLITTER_CONTAINER_OBJ->GET_CONTAINER
 62       EXPORTING
 63         ROW       = 1
 64         COLUMN    = 2
 65       RECEIVING
 66         CONTAINER = CL_GUI_CONTAINER_2.
 67 
 68     CALL METHOD CL_GUI_SPLITTER_CONTAINER_OBJ->GET_CONTAINER
 69       EXPORTING
 70         ROW       = 1
 71         COLUMN    = 3
 72       RECEIVING
 73         CONTAINER = CL_GUI_CONTAINER_3.
 74 
 75     DATA REPID TYPE SY-REPID.
 76     DATA DYNNR TYPE SY-DYNNR.
 77     REPID = SY-REPID.
 78     DYNNR = SY-DYNNR.
 79 
 80     CREATE OBJECT CL_GUI_PICTURE_1 EXPORTING PARENT = CL_GUI_CONTAINER_1.
 81     CREATE OBJECT CL_GUI_PICTURE_2 EXPORTING PARENT = CL_GUI_CONTAINER_2.
 82     CREATE OBJECT CL_GUI_PICTURE_3 EXPORTING PARENT = CL_GUI_CONTAINER_3.
 83 
 84     " Request an URL from the data provider by exporting the pic_data.
 85     CLEAR URL.
 86     PERFORM LOAD_PIC_FROM_DB CHANGING URL.
 87 
 88     " load picture
 89     CALL METHOD CL_GUI_PICTURE_1->LOAD_PICTURE_FROM_URL
 90       EXPORTING
 91         URL = URL.
 92 
 93     CLEAR URL.
 94     URL = 'file://C:\sap-logo.gif'.
 95     CALL METHOD CL_GUI_PICTURE_2->LOAD_PICTURE_FROM_URL
 96       EXPORTING
 97         URL = URL.
 98 
 99     CLEAR URL.
100     URL = 'C:\TEST\T1\1.JPG'.
101     CALL METHOD CL_GUI_PICTURE_3->LOAD_PICTURE_FROM_URL
102       EXPORTING
103         URL = URL.
104 
105     INIT = 'X'.
106 
107     CALL METHOD CL_GUI_CFW=>FLUSH
108       EXCEPTIONS
109         CNTL_SYSTEM_ERROR = 1
110         CNTL_ERROR        = 2.
111 
112   ENDIF.
113 
114 ENDMODULE. " STATUS_0100 OUTPUT
115 FORM LOAD_PIC_FROM_DB CHANGING URL.
116 
117   DATA QUERY_TABLE LIKE W3QUERY OCCURS 1 WITH HEADER LINE.
118   DATA HTML_TABLE LIKE W3HTML OCCURS 1.
119   DATA RETURN_CODE LIKE W3PARAM-RET_CODE.
120   DATA CONTENT_TYPE LIKE W3PARAM-CONT_TYPE.
121   DATA CONTENT_LENGTH LIKE W3PARAM-CONT_LEN.
122   DATA PIC_DATA LIKE W3MIME OCCURS 0.
123   DATA PIC_SIZE TYPE I.
124 
125   REFRESH QUERY_TABLE.
126   QUERY_TABLE-NAME = '_OBJECT_ID'.
127   QUERY_TABLE-VALUE = 'ENJOYSAP_LOGO'.
128   APPEND QUERY_TABLE.
129 
130   CALL FUNCTION 'WWW_GET_MIME_OBJECT'
131     TABLES
132       QUERY_STRING        = QUERY_TABLE
133       HTML                = HTML_TABLE
134       MIME                = PIC_DATA
135     CHANGING
136       RETURN_CODE         = RETURN_CODE
137       CONTENT_TYPE        = CONTENT_TYPE
138       CONTENT_LENGTH      = CONTENT_LENGTH
139     EXCEPTIONS
140       OBJECT_NOT_FOUND    = 1
141       PARAMETER_NOT_FOUND = 2
142       OTHERS              = 3.
143   IF SY-SUBRC = 0.
144     PIC_SIZE = CONTENT_LENGTH.
145   ENDIF.
146 
147   CALL FUNCTION 'DP_CREATE_URL'
148     EXPORTING
149       TYPE     = 'image'
150       SUBTYPE  = CNDP_SAP_TAB_UNKNOWN
151       SIZE     = PIC_SIZE
152       LIFETIME = CNDP_LIFETIME_TRANSACTION
153     TABLES
154       DATA     = PIC_DATA
155     CHANGING
156       URL      = URL
157     EXCEPTIONS
158       OTHERS   = 1.
159 
160 ENDFORM. " load_pic_from_db
161 MODULE USER_COMMAND_0100 INPUT.
162 
163   SAVE_OK = OK_CODE.
164   CLEAR OK_CODE.
165 
166   CASE SAVE_OK.
167     WHEN 'EXIT' OR 'CNCL' OR 'BACK'.
168       LEAVE PROGRAM.
169     WHEN OTHERS.
170   ENDCASE.
171 
172 ENDMODULE. " USER_COMMAND_0100 INPUT

 

posted @ 2016-08-26 07:51  Eric.su  阅读(349)  评论(0编辑  收藏  举报