× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I have here this little example for demonstration:

       IDENTIFICATION DIVISION.
       PROGRAM-ID. DYNSAMPLE. 

      * This program writes a record to the file. 

       ENVIRONMENT DIVISION. 
       INPUT-OUTPUT SECTION. 
       FILE-CONTROL. 
            SELECT OUTPUT-FILE 
              ASSIGN TO DISK-FILE1 
              FILE STATUS IS FS1. 

       DATA DIVISION. 
       FILE SECTION. 
       FD OUTPUT-FILE 
       01 F-RECORD-1. 
          05 F-ITEM-1 PIC X(80). 

       WORKING-STORAGE SECTION. 
       01 FS1 PIC 99. 

       PROCEDURE DIVISION.
      * DISK-file that is unavailable at the time of an 
      * OPEN operation is created dynamically in the same LIBRARY,
      * where the program is placed. 
           OPEN OUTPUT OUTPUT-FILE. 
           IF FS1 NOT = 0 THEN 
              DISPLAY "File Status " FS1 " on OPEN" 
              STOP RUN 
           END-IF.

           MOVE "Hello, this is the first record" TO F-RECORD-1. 
           WRITE F-RECORD-1. 
           IF FS1 NOT = 0 THEN 
              DISPLAY "File Status " FS1 " on WRITE" 
              STOP RUN 
           END-IF.

           CLOSE OUTPUT-FILE.
           IF FS1 NOT = 0 THEN 
              DISPLAY "File Status " FS1 " on CLOSE" 
              STOP RUN 
           END-IF.

           GOBACK. 

       END PROGRAM DYNSAMPLE.


Compile the program with CRTBNDCBL using the OPTION(*CRTF).
The program DYNSAMPLE creates dynamically the program described file 
FILE1  of the type  *FILE   and attribute PF-DTA
in the CURLIB. 

The library for dynamically created file FILE1 can not by probably 
specified, I tried it using the DISK-MYLIB-FILE1, 
but the program created instead of the file MYLIB/FILE1 the file MYLIB in 
my current library.
If you want your dynamically created file should be placed in the given 
library, you should change your CURLIB to that library.
However if you try  CHGCURLIB CURLIB(QTEMP), you get this error: Parameter 
CURLIB value cannot be QTEMP. :-))
Better is using an externally described files instead of program described 
files: 
First add the given library to your LIBL, then create the externally 
described file via DDS or SQL-stetement 
and then run the program on that file - it works.





"Don Stafford" <don.stafford@xxxxxxxxx> 
Sent by: cobol400-l-bounces@xxxxxxxxxxxx
27.01.2006 14:10
Please respond to
COBOL Programming on the iSeries/AS400 <cobol400-l@xxxxxxxxxxxx>


To
"COBOL Programming on the iSeries/AS400" <cobol400-l@xxxxxxxxxxxx>
cc

Subject
[COBOL400-L] File creation questions






I am using *CRTF as a compiler option - and my program does an OPEN OUTPUT 

TextFile

1)  How do I specify both the library is which I want the file created AND 

the file name itself? I coded my SELECT statement as....
             SELECT TextFile
                     ASSIGN TO DISK-ASN001

The created the file in the QTEMP library.
I tried to code the SELECT as.......
             SELECT TextFile
                     ASSIGN TO DISK-UAVPROFL-ASN001
But the compiler stripped off the -ASN001


2) How do I specify *NOMAX for the file being created?  If I don't, my 
program errors out when the maximum number of records has been written...

THANKS for all the help!!


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.