REPORT TAIL-F NO STANDARD PAGE HEADING.
******************************************************
* Tail -f implemented as an ABAP
* The unix file has to be readeable by SIDadm
******************************************************
*
PARAMETER FILE(60) LOWER CASE.
DATA: LASTLINE TYPE I, FIRSTLINE TYPE I,
BEGIN OF ITAB OCCURS 100,
    L(200),
END OF ITAB.
*
START-OF-SELECTION.
  CALL FUNCTION 'Z_ENQUEUE_DELAY'
         STARTING NEW TASK 'WAIT'
         PERFORMING WHEN_FINISHED ON END OF TASK.
  WRITE: ''.
*
AT USER-COMMAND.
  SY-LSIND = SY-LSIND - 1.
  WRITE: SY-DATUM, SY-UZEIT.
  WRITE: / 'tail -f', FILE.
  ULINE.
  CLEAR ITAB. REFRESH ITAB.
  OPEN DATASET FILE FOR INPUT IN TEXT MODE.
  IF SY-SUBRC = 0.
    DO.
      READ DATASET FILE INTO ITAB.
      IF SY-SUBRC <> 0. EXIT. ENDIF.
      APPEND ITAB.
    ENDDO.
  ENDIF.
  CLOSE DATASET FILE.
*
  DESCRIBE TABLE ITAB LINES LASTLINE.
  FIRSTLINE = LASTLINE - 25.
  IF FIRSTLINE < 1. FIRSTLINE = 1. ENDIF.
  IF LASTLINE >= FIRSTLINE.
    LOOP AT ITAB FROM FIRSTLINE TO LASTLINE.
      WRITE: / ITAB.
    ENDLOOP.
  ENDIF.
*
  CALL FUNCTION 'Z_ENQUEUE_DELAY'
       STARTING NEW TASK 'INFO'
       PERFORMING WHEN_FINISHED ON END OF TASK.
*
FORM WHEN_FINISHED USING TASKNAME.
  RECEIVE RESULTS FROM FUNCTION 'Z_ENQUEUE_DELAY'.
  SET USER-COMMAND 'BUMM'.
ENDFORM.