![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: I am trying to obtain information about files in a directory with a view to deleting them, but need to do this within a COBOL program. Are there any examples on equivalent COBOL calls to f$search and delete in DCL? The Answer is : lib$find_file and lib$delete_file would be the calls involved. Attached is an example of these calls from within a COBOL program. Identification Division. Program-ID. filefind. Environment Division. Configuration Section. Data Division. file section. working-storage section. 01 answer pic x. 01 file-spec pic x(7) value '*.tmp;*'. 01 result-spec pic x(255) value spaces. 01 context pic 9(5) comp value zero. 01 stat pic s9(9) comp value zero. 01 counter pic s9(9) comp value zero. 01 rms$_nmf pic s9(9) comp value external rms$_nmf. 01 rms$_normal pic s9(9) comp value external rms$_normal. procedure division. loop. move "N" to answer. call 'lib$find_file' using by descriptor file-spec by descriptor result-spec by reference context omitted omitted omitted giving stat. if stat = rms$_nmf then go to fini. display result-spec. display "Delete? " with no advancing. accept answer. if answer = "y" then move "Y" to answer. if answer not equal "Y" then go to loop. call 'lib$delete_file' using by descriptor file-spec giving stat. if stat = rms$_normal then go to loop. display "Delete status = ", stat with conversion. go to loop. fini. call 'lib$find_file_end' using by reference context. stop run.
|