ABAP Prog Propios Emul Simula
- REPORT DO_YOU_WANT_WORK_TODAY.
- PARAMETERS: TIMENOW LIKE SY-UZEIT DEFAULT SY-UZEIT,
- TIMEOUT LIKE SY-UZEIT DEFAULT SY-UZEIT,
- FILEOUT LIKE RLGRAP-FILENAME DEFAULT 'c:\delme.now',
- RANDTIME TYPE I DEFAULT 5.
- DATA: BEGIN OF ITAB OCCURS 0,
- REC(50),
- END OF ITAB,
- GAPTIME LIKE DATATYPE-INTEGER2.
- INITIALIZATION.
- * Creating trash data...
- DO 1000 TIMES.
- ITAB-REC = 'I am working. I am really working. :P'.
- APPEND ITAB.
- ENDDO.
- AT SELECTION-SCREEN OUTPUT.
- * Refresh my data, plis
- TIMENOW = SY-UZEIT.
- IF TIMEOUT < SY-UZEIT. TIMEOUT = SY-UZEIT. ENDIF.
- END-OF-SELECTION.
- * Safety control...
- IF TIMEOUT < SY-UZEIT. EXIT. ENDIF.
- * Let's work, dude...
- WHILE SY-UZEIT < TIMEOUT.
- CALL FUNCTION 'WS_DOWNLOAD'
- EXPORTING FILENAME = FILEOUT
- FILETYPE = 'ASC'
- TABLES DATA_TAB = ITAB
- EXCEPTIONS FILE_OPEN_ERROR = 1
- FILE_WRITE_ERROR = 2
- INVALID_FILESIZE = 3
- INVALID_TABLE_WIDTH = 4
- INVALID_TYPE = 5
- NO_BATCH = 6
- UNKNOWN_ERROR = 7
- GUI_REFUSE_FILETRANSFER = 8
- OTHERS = 9.
- * Human simulation... random time...
- CALL FUNCTION 'RANDOM_I2'
- EXPORTING RND_MIN = 1
- RND_MAX = RANDTIME
- IMPORTING RND_VALUE = GAPTIME
- EXCEPTIONS OTHERS = 1.
- * Human interaction
- CALL FUNCTION 'ENQUE_SLEEP'
- EXPORTING SECONDS = GAPTIME
- EXCEPTIONS SYSTEM_FAILURE = 1
- OTHERS = 2.
- ENDWHILE.