EXTFH seems to have no transaction operations I found these in common.h line 2531 #define OP_COMMIT 0xFADC #define OP_ROLLBACK 0xFADD GnuCOBOL 4's support for RDBMS Can you lead me to get more info about this?
Few weeks ago I read a post about transaction support for files. If you develop new app, to support transactions your best approach would be the use of RDBMS and code your application using embedded SQL: GC + DB2 LUW is a good combination and the DB2 community version limits are very reasonable for medium app (4 cores, 16G RAM, 100G data). I guess Oracle's PRO* COBOL works well but XE is very limited (2 cores, 2G RAM, 12G data) and, if you have money to buy Oracle, you should have money to keep whatever...
from GCOS mainframes That migration make sense because such OS is obsolete, as you said you aren't replacing MF however I think the decision driver was cos.
from GCOS mainframes That migration make sense because such OS is obsolete, as you said you aren't replacing MF however I think the decision driver was cos.
I still don't understand what's your complain. Does the compiled program fails or give wrong results?
I didn't knew about "superbol", definitely will take a look.
Hi @sf-mensch Don't get me wrong, I like and I use GC and I pretty sure is used by some companies and they save a lot of money but not for critical /core apps.
Another unnamed "government" agency. Please guys! And I have no doubt that GC is a "robust compiler" but is not enough reason to get into migration adventure.
Which office and what app. What bothers me all the time is that is "some organization" and "some app". If you want GNUCOBOL to be taken seriously give more concise information.
Hi @sf-mensch Banks and local government If you know who are those and what apps please let us know. I really doubt someone using GC for critical business apps but I may be wrong. Regards!
"nobody got fired for buying IBM" - Sounds familiar? GNU COBOL in its current state is a mature compiler but I wouldn't use it for critical / enterprise app. IMHO there no justification on migrating apps from MF to GNU COBOL: The most expensive piece in the app development and maintenance is the developer. Lets face it: GNU COBOL is and will continue a hobbyist compiler.
Just build GNU COBOL from source and test this: IDENTIFICATION DIVISION. PROGRAM-ID. ONE. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-VARS. 05 WS-EYE-CATCHER PIC X(12) VALUE "EYE-CATCHER". 01 WS-IDA-VERSION-CONTROL PIC X(20) VALUE "%%%%IDA10020 ". PROCEDURE DIVISION. UNIQUE. DISPLAY WS-EYE-CATCHER. STOP RUN. END PROGRAM ONE. Compiling to executable and so contains the string. ssamayoa@sess-win11-lap:/mnt/c/gnu-cobol-tests$ strings one | grep IDA %%%%IDA1H ssamayoa@sess-win11-lap:/mnt/c/gnu-cobol-tests$...
There is still debate as to whether SQL is really a full programming language. Hum? I never saw a claim that SQL is a programming language, even its name states that is a QUERY language. BTW, in case you want to challenge my assertion, PL/SQL, DB2/PL and so aren't SQL. I imagine you are talking about MongoDB Cassadra Allegro Neptune and others. And all of them, sooner or later, implemented SQL layer XD XD XD XD
Windows everywhere? Yes, in the users's desk but in the data center mostly runs linux and all those Windows machines serving as terminals. COBOL in the modern world is mostly for the backend doing stuff that is too costly to rewrite, applications needs massive power because need to handle enormous traffic so can only run on mainframe or both. I earn a live interfacing new applications to those backends running CICS, DB2 and sometimes IMS - and other not so fancy platforms like IBM-i.
I use "IBM Z Open Editor" plug-in because I write mainframe COBOL frequently, this plugin does what you want but admits Enterprise COBOL syntax only. Recently I installed and used the BitLang's COBOL plug-in and that peaks the definition with ctrl-hover, haven't tried copy books. Finally, GNU-COBOL from BitLang does not peeks definitions only navigation which is weird because is from same author(s).
I used mostly "IBM Z Open Editor" plug-in because I write mainframe COBOL frequently, this plugin does what you want but admits Enterprise COBOL syntax only. I used for a simple program the BitLang's COBOL plug-in and seems that it peaks the definition with ctrl-hover, haven't tried copy books. Finally, GNU-COBOL from BitLang does not peeks definitions only navigation which is weird because is from same author(s).
Hi, I just noticed that Ubuntu 22.04 offers gnucobol4 package: Package: gnucobol4 Architecture: amd64 Version: 4.0~early~20200606-6 Priority: optional Section: universe/devel Origin: Ubuntu Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Thorsten Alteholz <debian@alteholz.de> ... What are the differences with 3.1 and 3.2? Will be an official dist? Regards!
Hi guys, Have you tried "IBM Z Open Editor" in VS Code? Latest version have "format document" for COBOL sources.
Crazy stuff. What is the license? Is open source?
I wrote some POC DB2 programs but those worked only with specific version(s) both in Windows and Linux. I also did some with esql (https://github.com/opensourcecobol/Open-COBOL-ESQL) + Postgres and found that combination far more stable than DB2's pre-processor. I had the intention on writing my own pre processor for ODBC - just for fun - but have been too busy to do so. Bottom line: You choose well.
Hi, Dumb question... How to compile from trunk? There is no "configure" executable :( Regards!
Follow up: No matter what compile time switched I use it never uses big endian but little endian: IDENTIFICATION DIVISION. PROGRAM-ID. ENDIAN-TEST. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-SIGNED-INT32 PIC S9(9) COMP-5 VALUE 168496141. 01 WS-SIGNED-INT32-AS-BYTES REDEFINES WS-SIGNED-INT32 BINARY-CHAR OCCURS 4 TIMES. 01 WS-INDEX PIC S9(5) COMP-5. PROCEDURE DIVISION. MAIN. DISPLAY "ORIGINAL :" WS-SIGNED-INT32. PERFORM VARYING WS-INDEX FROM 1 BY 1 UNTIL WS-INDEX > 4 DISPLAY WS-INDEX " " WS-SIGNED-INT32-AS-BYTES...
Actually I was wrong, the value IS stored as little endian in COBOL program but not in big endian which is what I expected. EDIT: Please Stand by, I'm made a mess here and don't know what I should get! @Vincent (Bryan) Coen Just build 3.1.2 but get the same result, FWIW programs compiled with mf-strict & binary-byteorder big-endian :( cobc -std=mf-strict -fbinary-byteorder=big-endian -m prep/EMP-GET.cbl \ -I$IBM_DB_INCLUDE -I$IBM_DB_INCLUDE/cobol_mf -Icopy/ \ -L$DB2LIB -ldb2 \ -o bin/EMP-GET.so ;...
Actually I was wrong, the value IS stored as little endian in COBOL program but not in big endian which is what I expected. @Vincent (Bryan) Coen Just build 3.1.2 but get the same result, FWIW programs compiled with mf-strict & binary-byteorder big-endian :( cobc -std=mf-strict -fbinary-byteorder=big-endian -m prep/EMP-GET.cbl \ -I$IBM_DB_INCLUDE -I$IBM_DB_INCLUDE/cobol_mf -Icopy/ \ -L$DB2LIB -ldb2 \ -o bin/EMP-GET.so ; ssamayoa@SSAMAYOA-WIN10:/mnt/c/http-pipe-adapter/cobol_sources$ cobcrun -V cobcrun...
Hi guys, I have been struggling with big-endian/native endian and seems that binary-byteorder in config file in and -f compiler switch are ignored, I end up always with big endian COMP-5 fields. 05 L-SQLCODE PIC S9(9) COMP-5. Value 100 (not found) is stored as (hex) 64 00 00 00 as little endian should be (hex) 00 00 00 64 Perhaps a bug in 2.2.0 I should be aware of? BTW I'm running GNU COBOL 2.2.0 in WSL 2 / Ubuntu 20.04 Regards!
Never mind, I just found it following the link on another post: https://ci.appveyor.com/project/GitMensch/gnucobol-3-x-vs BTW why is 3.1.1-dev? Shouldn't be 3.2? or 3.2 and 4 are being developed in a private branches? C:\Users\sergi\Downloads\gnucobol\GnuCOBOL_3.1.1-dev_vs_bin\bin_x64>cobc -V cobc (GnuCOBOL) 3.1.1-dev.20210828 Copyright (C) 2021 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html> This is free software; see the source for copying...
Never mind, I just found it following the link on another post: https://ci.appveyor.com/project/GitMensch/gnucobol-3-x-vs BTW why is 3.1.1-dev? Shouldn't be 3.2? or 3.2 and 4 are being developed in a private branches? Regards!
Hi Simon, thanks for your quick response. You potentially want to just grab the binaries from the nightly CI For my current objective that may be better than struggling building it Is possible to do that? If so, were I can grab it? you've downloaded the official source zip, unpacked it and worked your way through build_windows\README.txt, correct? Yep, that's what I did and since I'm not C dev I have been spending time figuring out to build it instead of actually testing DB2's programs.
Hi Simon, thanks for your quick response. You potentially want to just grab the binaries from the nightly CI For my current objective that may be better than struggling building it Is possible to do that? If so, were I can grab it? you've downloaded the official source zip, unpacked it and worked your way through build_windows\README.txt, correct? Yep, that's what I did and since I'm not C dev I have been spending time figuring out to build it instead of actually testing DB2's programs.
Hi, I'm trying to build GNU COBOL with VS 2019 but the instructions in README aren't precise - I managed to compile changing projects configurations (I messed up output with pre-requisites!) but I wish it would be as easy as in linux. Someone can help me understanding the instruction so I can write a noob's guide? FWIW I'm chasing a stable way to use 3.1.2 + Windows (32 & 64) + DB2 Regards!
I took a "day off" from my job (some people will not consider a "day off") and decided to take a look at DB2 + GNU COBOL using Laszlo's programs with WSL on Windows. Updating windows and WSL 2 was simple and, as most stuff of M$, easy. Installing DB2 on WLS also simple but if you haven't used DB2 before you will spend a lot of time googling about how to do stuff. Before getting into the trouble of compiling GNU COBOL I tested example 1 & 2 of Laszlo's programs with 2.2.x - the one you can easily...
I took a "day off" from my job (some people will not consider a "day off") and decided to take a look at DB2 + GNU COBOL using Laszlo's programs using WSL on Windows. Updating windows and WSL 2 was simple and, as most stuff of M$, easy. Installing DB2 on WLS also simple but if you haven't used DB2 before you will spend a lot of time googling about how to do stuff. Before getting into the trouble of compiling GNU COBOL I tested example 1 & 2 of Laszlo's programs with 2.2.x - the one you can easily...
I personally proposed to my bosses to study a switch to gnucobol. Really? Jezz! You are a brave man! Remember: nobody has been fired for buying IBM :p but my management wants a "bug free" release Hahahaha! Ask them to wait sited! I recently came back to "mini / PC" COBOLs, had to install Personal Visual Cobol to ensure that code compiles on GNU and MF and you can easily check how many SP and bugs their product has - of course GNU COBOL may have more but is open source. However the cost of the MF...
Here are mine - Regards! ****************************************************************** IDENTIFICATION DIVISION. FUNCTION-ID. BYTE-TO-HEX. DATA DIVISION. WORKING-STORAGE SECTION. 77 HEX-CHAR PIC X. 77 HEX-CHAR-NUM REDEFINES HEX-CHAR PIC 9. 77 HEX-CHAR-VALUE USAGE BINARY-CHAR UNSIGNED. 77 IGNORE-VALUE USAGE BINARY-LONG. LINKAGE SECTION. 01 BYTE-VALUE USAGE BINARY-CHAR UNSIGNED. 01 HEX-STRING PIC XX. PROCEDURE DIVISION USING BYTE-VALUE RETURNING HEX-STRING. MAIN. MOVE ZEROS TO HEX-STRING. DIVIDE...
https://www.ibm.com/docs/en/cobol-zos/6.2?topic=functions-hex But never mind, I'm writing them from scratch, I will share them when are ready - Newer USAGE made them easier to write than with ancient COBOL 74 I used to work with in the 80s. Regards!
Hi guys, I need intrinsic functions HEX-OF & HEX-TO-CHAR and find out that they didn't exists yet in GNU COBOL. I don't want to invent the wheel so, does someone has implemented in COBOL who can share with me? I'm very rusty in COBOL :S TIA.
Hi Guys, I believe that this is a recurring topic and already read some posts about it but information is disperse and somewhat confusing for VBISAM. I gabbed VBISAM from here: https://sourceforge.net/projects/vbisam/files/vbisam2/vbisam-2.0.tar.gz But that does not compiles, gave me errors this errors: ishelper.c:147:1: error: conflicting types for 'isrelrec' 147 | isrelrec (const int ihandle, const off_t trownumber) | ^~~~~~~~ In file included from isinternal.h:123, from ishelper.c:20: ../vbisam.h:221:12:...
Hi guys, I saw that 3.1 is almost out and wonder if you have somewhere a guide for embedded SQL with PG or another DB, would you please lead me to whatever pre-processor that works with Gnu COBOL? -- Una persona inteligente cree la mitad de lo que oye. Una persona sabia sabe que mitad. Platform Access Is A Civil Right https://humanevents.com/2019/05/03/platform-access-is-a-civil-right/
Have you tried Visual Studio Code + COBOL plugin? https://marketplace.visualstudio.com/items?itemName=bitlang.cobol IMHO a good replacement for now "difunct" OpenCobolIDE
Have you tried Visual Studio Code + COBOL plugin? https://marketplace.visualstudio.com/items?itemName=bitlang.cobol IMHO a good replacement for now "difunct" OpenCobolIDE
Any open source clone of MF's screen painter?
AFAIK those guys based their compiler on early versions of Open-COBOL.
Hi Guys. There is a project in upwork: "COBOL client for PokitDok API" https://www.upwork.com/applications/308103791...
Hi Tony! You have been writing COBOL programs since the year I was born! Wow! Grad...
Hi Dick. I'm little busy right now but will create a VM to test again DB2 + OC "just...
Some years ago I tried DB2 with OC and wasn't worked very well. Connection worked...
This is a very nice success story for GNU-COBOL. @Klaus: Can you bring more details...