Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.os.vms    |    DEC's VAX* line of computers & VMS.    |    264,096 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 262,344 of 264,096    |
|    =?UTF-8?Q?Arne_Vajh=C3=B8j?= to All    |
|    Re: Cobol    |
|    04 Feb 25 21:03:10    |
      From: arne@vajhoej.dk              On 2/2/2025 9:55 PM, Arne Vajhøj wrote:       > On 2/2/2025 8:37 PM, Arne Vajhøj wrote:       >> On 2/2/2025 8:30 PM, Arne Vajhøj wrote:       >> > On 1/14/2025 11:06 AM, Arne Vajhøj wrote:       >> >> On 1/13/2025 9:11 PM, John Reagan wrote:       >> >>> COBOL paragraphs behave like C. First routine/PARAGRAPH gets a WEAK       >> >>> transfer address. Linker finds the first one.       >> >>       >> >> I have many prejudices about COBOL developers.       >> >>       >> >> One of them is that they don't create shareable images.       >> >>       >> >> :-)       >> >       >> > But let us say that someone wanted to create a shareable       >> > image in Cobol.       >> >       >> > A typical Cobol program just have all the paragraphs that       >> > get performed and they share state. Simple.       >> >       >> > To make them entry points with arguments in a shareable image,       >> > then I assume one need to make them programs with linkage section       >> > and procedure division using.       >> >       >> > Normal variables are just passed as arguments. Seems entirely       >> > unproblematic to me.       >> >       >> > But how does one share open files between modules?       >> >       >> > Fortran and Basic numeric identifiers work across modules.       >> > Pascal can share via inherit. C can use global variables       >> > or just pass as argument.       >> >       >> > But how does one do that in Cobol?       >> >       >> > Can one mark an fd as global or can one pass a fd as argument?       >>       >> Did some reading.       >>       >> IS GLOBAL in one module and IS EXTERNAL in the other modules?       >       > And what to put in SELECT if FD is EXTERNAL?              Just EXTERNAL everywhere and no GLOBAL and nothing on SELECT       seems to do the trick.              identification division.       program-id.m2.       *       environment division.       input-output section.       file-control.        select in-file assign to "a.dat" organization is sequential.        select out-file assign to "c.dat" organization is sequential.       *       data division.       file section.       fd in-file external record is varying in size depending on line-len.       01 in-record.        03 in-line pic x(100).       fd out-file external record is varying in size from 0 to 100 depending       on line-len.       01 out-record.        03 out-line pic x(100).       working-storage section.       01 line-len pic 9(8) comp external.       *       procedure division.       main-paragraph.        open input in-file        open output out-file        call "docopy" end-call        close in-file        close out-file        stop run.       end program m2.       *       identification division.       program-id. docopy.       *       environment division.       input-output section.       file-control.        select in-file assign to "a.dat" organization is sequential.        select out-file assign to "c.dat" organization is sequential.       *       data division.       file section.       fd in-file external record is varying in size depending on line-len.       01 in-record.        03 in-line pic x(100).       fd out-file external record is varying in size from 0 to 100 depending       on line-len.       01 out-record.        03 out-line pic x(100).       working-storage section.       01 line-len pic 9(8) comp external.       01 eof-flag pic x.       *       procedure division.       main-paragraph.        move "N" to eof-flag        perform until eof-flag = "Y"        read in-file        at end        move "Y" to eof-flag        not at end        move in-line(1:line-len) to out-line        write out-record        end-read        end-perform.       end program docopy.              Arne              --- SoupGate-DOS v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca