Code: Alles auswählen.
FUNCTION C13Z_RAWDATA_READ.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(I_FILE) LIKE RCGIEDIAL-IEFILE
*" EXPORTING
*" VALUE(E_FILE_SIZE) LIKE DRAO-ORLN
*" VALUE(E_LINES) TYPE I
*" TABLES
*" E_RCGREPFILE_TAB STRUCTURE RCGREPFILE
*" EXCEPTIONS
*" NO_PERMISSION
*" OPEN_FAILED
*"----------------------------------------------------------------------
* lokal data -----------------------------------------------------------
DATA : L_LEN LIKE SY-TABIX.
* function body --------------------------------------------------------
* check the authority for file
CALL FUNCTION 'AUTHORITY_CHECK_DATASET'
EXPORTING
* PROGRAM =
ACTIVITY = SABC_ACT_READ
FILENAME = I_FILE
EXCEPTIONS
NO_AUTHORITY = 1
ACTIVITY_UNKNOWN = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
RAISE NO_PERMISSION.
ENDIF.
* 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.
ENDFUNCTION.