HOME  NEWS  FORUM  DOWNLOAD  LINK
OpenCOBOL - an open-source COBOL compiler
Main Menu
Download
Documentation
Development
Who's Online
11 user(s) are online (5 user(s) are browsing Forum)

Members: 0
Guests: 11

more...
Powered by
SourceForge

Xoops

Creative Commons

OpenCOBOL Forum Index
   OpenCOBOL
     Easter rabbit.
Register To Post

Threaded | Newest First Previous Topic | Next Topic | Bottom
Poster Thread
marcellom
Posted on: 2012/3/29 18:52
Quite a regular
Joined: 2006/1/4
From: Italy
Posts: 62
Easter rabbit.
Hi,
Santa Claus brought nothing.
Easter Rabbit has empty hands.
Shall we conclude that 1.1 is not the latest but the last version?
Marcellom
jcurrey
Posted on: 2012/3/30 12:15
Home away from home
Joined: 2009/3/19
From: Texas
Posts: 181
Re: Easter rabbit.
Marcello,

What is it that you need OpenCOBOL to do that it does not do now?

Is your concern about longevity?

Are there features that you need to make your programming less time consuming?

jimc
mrcool
Posted on: 2012/3/30 18:45
Quite a regular
Joined: 2009/1/28
From:
Posts: 44
Re: Easter rabbit.
I'm satisfied that OpenCobol 1.1 handles all of ANSI Cobol-85 very well. I've run extensive tests. Then I did a file compare of over 100,000 output lines with previous tests run in MF and AcuCobol. I was surprised that they were all identical except for the few tests that had a date and time stamp within the data. Thanks for that. I'm impressed.

I don't know about Marcello, but for me I can't use 1.1 because there is a defect in the Accept statement using absolute cursor positioning (Accept ws-txt line x position y).

For one, it prompts with spaces when no prompting is specified. It erases my screen when it should not. If I just press return, it should accept whatever was displayed there with the previous Display statement.

For another, the function keys F1 through F5 work ok, but the rest go haywire.

I can't use OC until these issues are fixed.

Sure, I could fix them myself. But then I'd be working on a fork of 1.1. When 2.0 comes out, all of my work would be wasted.

Please release 2.0. If I have to fix it, I want to work on something that will not fork out of existence.
jcurrey
Posted on: 2012/3/30 20:33
Home away from home
Joined: 2009/3/19
From: Texas
Posts: 181
Re: Easter rabbit.
@Mrcool

Yes,

We never did use the SCREEN SECTION or fancy ACCEPTS and DISPLAYS (COBOL68 did not support them).

We did write a routine that simulates an HP2645 terminal (block mode). Did accepts one character at a time with the help of a very small c program.

I doubt that it would help but you are welcome to it.

jimc
marcellom
Posted on: 2012/4/2 10:33
Quite a regular
Joined: 2006/1/4
From: Italy
Posts: 62
Re: Easter rabbit.
Hi Jim.

Please see "Santa Claus".

1) split-keys missing. A work-around is proposed but not really working.

       select partia
              assign                   to  dirpartia
              organization             is  indexed
              file status              is  pra-tus
              access                   is  dynamic
              lock mode                is  manual
                           record key  is  pra-key
              alternate    record key  is  pra-descr1
                                           with duplicates
              alternate    record key  is  pra-barcode
                                           with duplicates
              alternate    record key  is  pra-catdes =
                                           pra-catalogo
                                           pra-descr1
                                           with duplicates
              alternate    record key  is  pra-classdes =
                                           pra-classe
                                           pra-descr1
                                           with duplicates
              alternate    record key  is  pra-catclass =
                                           pra-catalogo
                                           pra-classe
                                           pra-descr1
                                           with duplicates
              alternate    record key  is  pra-gmcmkey =
                                           pra-gruppo
                                           pra-classe
                                           pra-codarti
                                           pra-varian.


       fd  partia.
       01  pra-rec.
           02  pra-key                                 pic x(30).
           02  pra-key1 redefines pra-key.
               03  pra-codarti                         pic x(09).
               03  pra-varian                          pic x(21).
           02  pra-key2 redefines pra-key.
               03  pra-catalogo                        pic x(05).
               03  pra-codint                          pic x(25).
           02  pra-descrx.
               03  pra-descr1                          pic x(36).
               03  pra-descr2                          pic x(36).
           02  pra-descri redefines pra-descrx         pic x(72).
           02  pra-unitrat.
               03  pra-unimis                          pic x(02).
               03  pra-unisec                          pic x(02).
               03  pra-coetrasf                        pic 9(03)v9(03).
               03  pra-uniconf                         pic 9(04).
               03  pra-desconf                         pic x(30).
           02  pra-barcode                             pic x(20).
           02  pra-plux.
               03  pra-numplu                          pic x(05).
               03  pra-desplu                          pic x(30).
           02  pra-mps                                 pic x(01).
           02  pra-grmerce.
               03  pra-gruppo                          pic x(05).
               03  pra-classe                          pic x(05).
           02  pra-przuffi                             pic 9(07)v9(04).
           02  pra-consorzio                           pic 9(05)v9(04).
           02  pra-vend.
               03  pra-vndtabe occurs 3.
                   04  pra-przvprezzo                  pic 9(07)v9(04).
                   04  pra-przvarrot                   pic 9(01).
                   04  pra-przvivasn                   pic x(01).
                   04  pra-przvsctabe                  pic 9(02).
                   04  pra-przvsccalc                  pic 9(03)v9(02).
                   04  pra-przvscdaapp                 pic 9(01).
                   04  pra-przvrictabe                 pic 9(02).
                   04  pra-przvriccalc                 pic s9(03)v9(02).
                   04  pra-przvrcdaapp                 pic 9(01).
                   04  pra-przvprovvig                 pic 9(02).
                   04  pra-przvdatini                  pic 9(08).
                   04  pra-przvdatfin                  pic 9(08).
                   04  pra-przvsctid occurs 3          pic 9(03)v9(02).
               03  pra-przvf occurs 3                  pic 9(01).
               03  pra-offvtabe occurs 3.
                   04  pra-offvprezzo                  pic 9(07)v9(04).
                   04  pra-offvarrot                   pic 9(01).
                   04  pra-offvivasn                   pic x(01).
                   04  pra-offvsctabe                  pic 9(02).
                   04  pra-offvsccalc                  pic 9(03)v9(02).
                   04  pra-offvscdaapp                 pic 9(01).
                   04  pra-offvrictabe                 pic 9(02).
                   04  pra-offvriccalc                 pic s9(03)v9(02).
                   04  pra-offvrcdaapp                 pic 9(01).
                   04  pra-offvqtamin                  pic 9(02).
                   04  pra-offvdatini                  pic 9(08).
                   04  pra-offvdatfin                  pic 9(08).
               03  pra-offvf occurs 3                  pic 9(01).
           02  pra-acq.
               03  pra-forpri                          pic 9(06).
               03  pra-cdartforpri                     pic x(30).
               03  pra-forsec                          pic 9(06).
               03  pra-cdartforsec                     pic x(30).
               03  pra-acqtabe.
                   04  pra-przaprezzo                  pic 9(07)v9(04).
                   04  pra-przaarrot                   pic 9(01).
                   04  pra-przaivasn                   pic x(01).
                   04  pra-przasctabe                  pic 9(02).
                   04  pra-przasccalc                  pic 9(03)v9(02).
                   04  pra-przascdaapp                 pic 9(01).
                   04  pra-przadatini                  pic 9(08).
                   04  pra-przadatfin                  pic 9(08).
               03  pra-przaf                           pic 9(01).
               03  pra-offatabe.
                   04  pra-offaprezzo                  pic 9(07)v9(04).
                   04  pra-offaarrot                   pic 9(01).
                   04  pra-offaivasn                   pic x(01).
                   04  pra-offasctabe                  pic 9(02).
                   04  pra-offasccalc                  pic 9(03)v9(02).
                   04  pra-offascdaapp                 pic 9(01).
                   04  pra-offadatini                  pic 9(08).
                   04  pra-offadatfin                  pic 9(08).
               03  pra-offaf                           pic 9(01).
           02  pra-misure.
               03  pra-dime.
                   04  pra-alt                         pic 9(06)v9(02).
                   04  pra-lar                         pic 9(06)v9(02).
                   04  pra-prf                         pic 9(06)v9(02).
               03  pra-peso.
                   04  pra-pnetto                      pic 9(07)v9(03).
                   04  pra-plordo                      pic 9(07)v9(03).
           02  pra-imb.
               03  pra-iprovenienza                    pic x(18).
               03  pra-inatura                         pic x(15).
               03  pra-iqualita                        pic x(15).
               03  pra-icolore                         pic x(06).
               03  pra-iannata                         pic 9(04).
           02  pra-dst.
               03  pra-dspirito                        pic x(01).
               03  pra-dnatura                         pic x(25).
               03  pra-dcatacce                        pic x(03).
               03  pra-dcontrass                       pic x(02).
      *    in cblmric contiene sottogruppo numero protocollo
               03  pra-utfcodprod                      pic x(18).
               03  pra-utfcapitolo                     pic x(05).
           02  pra-grado                               pic 9(03)v9(02).
           02  pra-mgspctabe.
               03  pra-magspec occurs 3                pic x(02).
           02  pra-contab.
               03  pra-cntcst                          pic 9(07).
               03  pra-cntric                          pic 9(07).
               03  pra-codiva                          pic 9(02).
               03  pra-contriva                        pic x(03).
           02  pra-surrogatabe.
               03  pra-surrogato occurs 3              pic x(30).
      *            pra-surrogato (01) contiene CPA utf
      *            pra-surrogato (02) contiene disciplinare
           02  pra-datingre                            pic 9(08).
           02  pra-datcess                             pic 9(08).
           02  pra-statotabe.
               04  pra-stato                           pic x(01).
               04  pra-stdatini                        pic 9(08).
               04  pra-stdatfin                        pic 9(08).
           02  pra-sinomag                             pic x(01).


           move spaces to dirpartia
           string
                 mf-fmd                       delimited spaces
                 "/"                          delimited size
                 mf-azienda                   delimited spaces
                 "/"                          delimited size
                 "partia"                     delimited size
                 into dirpartia
           end-string.


As you can see, you cannot avoid using real split-keys.

You cannot even use mysql as OC 1.1 does not allow handling so many fields.

2) MF support is asserted to work but, as an esample, "invalid key" still gives compiling error.

3) We were promised a full current ANSI support (see NIST matter).

4) Nested copy does not work.

5) Someone spoke as Roger's voice ( some months ago) and said work was in progress. No further new!

From time to time someone comes and asks if OC is totally working in real environment and someone answers with usual Nagasaki prefecture.
They probably try converting a few programs and then disappear.
I spent months with OC but I still have not what I need, no matter what I try.
OC 1.1 does a lot, but a "quid" is still missing and that quid is critical.
Cheers,
Marcellom

jgt
Posted on: 2012/4/2 14:06
Just can't stay away
Joined: 2010/1/18
From: 44.21.48N 80.50.15W
Posts: 76
Re: Easter rabbit.
Quote:
As you can see, you cannot avoid using real split-keys.

Why not just duplicate the split key fields at the end of the record in the correct order so that it is no longer split.
human
Posted on: 2012/4/3 7:07
Home away from home
Joined: 2007/5/15
From: GERMANY
Posts: 1416
Re: Easter rabbit.
Quote:

jgt wrote:
[...]
Why not just duplicate the split key fields at the end of the record in the correct order so that it is no longer split.

That's the way all OC users I know of that work with ISAM solved this issue. OK, it's definitely not a solve but a workaround. Real split keys would be nice (and I thought someone was working on a patch for OC 1.1 to implement them), but as it is working that way...

human
marcellom
Posted on: 2012/4/3 9:44
Quite a regular
Joined: 2006/1/4
From: Italy
Posts: 62
Re: Easter rabbit.
Hi,
just because the same field is present in more than one duplicated key and cobol does not allow duplicated field-names inside a record.
I know someone is working on it (the news is several months old) but so far .....
And so is for all other topics I high-lighted, but, so far 1.1 is still pre-release and it has been so for years.
Marcellom
federico
Posted on: 2012/4/3 17:16
Home away from home
Joined: 2010/2/7
From:
Posts: 220
Re: Easter rabbit.
I also think that (actual) solution could be code the split key adding them at the end of the record and managing them using the reference group name.

..... added "split" key...
             02  pra-catdes.
                 03  pra-catalogo                 pic x(05).
                 03  pra-descr1                   pic x(36).


      move all "x" to pra-descr1 of pra-descrx

      move pra-descr1 of pra-descrx to
           pra-descr1 of pra-catdes



And compiling way a pre-processor to add the changed cobol into the cobol.. looking at move and write and rewrite statements with inline code. These changes could be made also using a macro with strong editor..

But I think you could solve this..of course as human told not a really solution.. but more a workaround..

Federico






jcurrey
Posted on: 2012/4/3 20:59
Home away from home
Joined: 2009/3/19
From: Texas
Posts: 181
Re: Easter rabbit.
@marcellom

I understand and respect your position.

Some things need to be clarified however.

"You cannot even use mysql as OC 1.1 does not allow handling so many fields."


Actually MySQL is quite usable with OpenCOBOL 1.1.  

There is a problem (see http://www.opencobol.org/modules/newbb/viewtopic.php?viewmode=thread&topic_id=1406&forum=1&post_id=7198#7198) with extremely large calls that we have encountered in one program.

The problem occurs because we want to get the whole row (record) in a single FETCH and the row has a lot of columns (fields).  

Most SQL programs only request the individual fields (columns) that they want for the particular I/O operation and do not process all of the columns in a row (record).

We were able to get the data we needed by breaking our rules and asking for only the columns (fields) that we needed.  This is a minor inconvenience.

We are not using any form of ISAM with OpenCOBOL.  We do all of of our file processing with MySQL, random, and sequential files.



"From time to time someone comes and asks if OC is totally working in real environment and someone answers with usual Nagasaki prefecture.
They probably try converting a few programs and then disappear."

We are developing new applications and modifying old ones every day with OpenCOBOL 1.1.

As of today (April 4, 2012) we have over 300 new programs (with over 300,000 lines of code) running in production environments.

As far as disappearing goes, I cannot promise what will happen in the future but we are in our 38th year and hope to stay viable in order to support our customers. :-)


I wrote my first Cobol program in 1969. I have never had a compiler that implemented everything that I wanted. OpenCOBOL is no exception.

(1) 2 3 »
Threaded | Newest First Previous Topic | Next Topic | Top

Register To Post
 
Copyright (C) 2005 The OpenCOBOL Project. All rights reserved.
Powered by Xoops2 | PHP | MySQL | Apache
ocean-net