Using IBM i? Need to create Excel, CSV, HTML, JSON, PDF, SPOOL reports? Learn more about the fastest and least expensive tool for the job: SQL iQuery.
The UNLINK API can be used from RPG IV to remove files from the IFS. The IFS is the stream file system of the IBM i operating system.
The following example illustrates unlink() (line 27) being used in an RPG IV program. Note that control statements in this example allow it to be compiled at any release level of the IBM i operating system.
Note that the field containing the IFS file name is VARYING (line 20). As of v5r3 this is no longer necessary if the *TRIM option is included on IFS-based prototypes (line 12).
..... /IF DEFINED(*V6R1M0) H MAIN(DLTIFS) /ELSE H BNDDIR('QC2LE') /ENDIF H DFTACTGRP(*NO) BNDDIR('RPGOPEN/RPGOPEN') /INCLUDE rpgopen/qcpysrc,joblog D DLTIFS PR EXTPGM('DLTIFS') D unlink PR 10I 0 extProc('unlink') D ifsFile * VALUE OPTIONS(*STRING:*TRIM) /IF DEFINED(*V6R1M0) P dltIFS B /endif D dltIFS PI D oldFile S 640A Varying /IF NOT DEFINED(*V6R1M0) C EVAL *INLR = *ON /ENDIF /free oldFile = '/userfile/mystuff/sales.xls'; if ( unlink( oldFile ) = -1); joblog('Delete of %s failed.':%trimR(oldFile)); else; joblog('File %s deleted.':%trimR(oldFile)); endif; /end-free /IF DEFINED(*V6R1M0) P dltIFS E /endif
Note that this is just an example and can easily be modified to delete any IFS file by adding an input parameter. The RMVLNK CL command can be used to do that so this is really just an example of how to delete IFS files within RPG IV.