Code: Alles auswählen.
* read the raw-file from the appl.server
OPEN DATASET I_FILE FOR INPUT IN BINARY MODE.
IF SY-SUBRC <> 0.
* RAISE OPEN_FAILED.
ENDIF.
DO.
CLEAR L_LEN.
CLEAR E_RCGREPFILE_TAB.
READ DATASET I_FILE INTO E_RCGREPFILE_TAB-ORBLK LENGTH L_LEN.
IF SY-SUBRC <> 0.
E_FILE_SIZE = E_FILE_SIZE + L_LEN.
APPEND E_RCGREPFILE_TAB.
EXIT.
ENDIF.
E_FILE_SIZE = E_FILE_SIZE + L_LEN.
APPEND E_RCGREPFILE_TAB.
ENDDO.
DESCRIBE TABLE E_RCGREPFILE_TAB LINES E_LINES.
CLOSE DATASET I_FILE.
lg Jens
Code: Alles auswählen.
REPORT ZTEST_PFD_VIEWER.
data ok_code type sy-ucomm. " OK-Code
data fname type string value 'C:\temp\30701.pdf'.
data LT_DATA TYPE STANDARD TABLE OF X255.
data LV_URL TYPE CHAR255.
DATA : G_HTML_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
G_HTML_CONTROL TYPE REF TO CL_GUI_HTML_VIEWER.
INITIALIZATION.
START-OF-SELECTION.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD
EXPORTING
FILENAME = fname
FILETYPE = 'BIN'
CHANGING
DATA_TAB = LT_DATA
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
NOT_SUPPORTED_BY_GUI = 17
ERROR_NO_GUI = 18
others = 19.
IF SY-SUBRC <> 0.
ENDIF.
CALL SCREEN 100.
*---------------------------------------------------------------------*
* Module STATUS_0100 OUTPUT
*--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'S1'.
* SET TITLEBAR 'xxx'.
CREATE OBJECT G_HTML_CONTAINER
EXPORTING
CONTAINER_NAME = 'PDF'.
CREATE OBJECT G_HTML_CONTROL
EXPORTING
PARENT = G_HTML_CONTAINER.
* Load the HTML
CALL METHOD G_HTML_CONTROL->LOAD_DATA(
EXPORTING
TYPE = 'application'
SUBTYPE = 'pdf'
IMPORTING
ASSIGNED_URL = LV_URL
CHANGING
DATA_TABLE = LT_DATA
EXCEPTIONS
DP_INVALID_PARAMETER = 1
DP_ERROR_GENERAL = 2
CNTL_ERROR = 3
OTHERS = 4 ).
* Show it
CALL METHOD G_HTML_CONTROL->SHOW_URL( URL = LV_URL IN_PLACE = 'X' ).
ENDMODULE. " STATUS_0100 OUTPUT
*---------------------------------------------------------------------*
* Module USER_COMMAND_0100 INPUT
*--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.
CASE ok_code.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN OTHERS.
ENDCASE.
CLEAR ok_code.
ENDMODULE. " USER_COMMAND_0100 INPUT