Comments (19)
From recent article ---- But just because the technology is several decades old doesn't necessarily mean it's out of date. Because developers have continuously improved COBOL, many companies and government agencies opt to stick with it rather than switch over to newer options, according to Bill Hinshaw, founder and CEO of Cobol Cowboys, a company that connects experienced COBOL programmers with employers.
"I tell people, it's like if you're riding a bicycle, you hop off of it, and you jump on a Harley Davidson,β Hinshaw says. βThat's the type of change you will see from the COBOL mainframes 60 years ago to what it is today. It's not even comparable.β
from cobol-programming-course.
@MrGmaw You should be able to see this:
If not, maybe you have a firewall or something that prevents you from getting it. I could send the file, if you want. I think I can upload it here.
Yes! You're right. Kids DNS restrict it. IT's ok now. Thank you
from cobol-programming-course.
today's COBOL is significantly advanced - which includes features/functions in addition to performance .... those features/functions are not meant for the bicycle COBOL
from cobol-programming-course.
@jellypuno Glad because I've accomplish this challenge. I've learned some important features about zowe as well as to handle data-items and to understand report layouts in COBOL. It was a very good way to practice what I've learned until now. Hope there will be an advanced COBOL course.
from cobol-programming-course.
Check this out: https://developer.ibm.com/technologies/cobol/
from cobol-programming-course.
@zvookiejoo and All:
Have you tried making GROSS-PAY display like this: $1,234.56? Give that a whirl.
Make the number 123 display as $123.00. Make ZERO display as $0.00, or just 0.00, but not 00000.00.
- The SEARCH verb (sequential and binary variations) is used quite often in Cobol programs. Interview question: "Explain table handling in Cobol." Hint: Use the SEARCH verb and the REDEFINES clause in the DATA DIVISION.
- Study 88 level items in the DATA DIVISION, what they are and how to use them. Also involves the SET verb.
- INSPECT and INSPECT REPLACING (older IBM pre-COBOL II compilers used EXAMINE), is used quite often.
- Making 2 fields print on the same line together (e.g. first and last name) without blank space in between, is also a concept. Hint: use the STRING verb.
- Study the UNSTRING verb.
- Look at the COBOL Language Reference Manual, and study all the available reserved words in Chapter 20. Learn their purpose and what they do. IBM Cobol Language Reference Manual v6.3 http://publibfp.boulder.ibm.com/epubs/pdf/igy6lr30.pdf.
- Study the Cobol intrinic functions available, Chapter 21 of the same manual.
- Don't ever use the GO TO verb, no need to use it.
- Don't ever use the ALTER (GO TO) verb, and pray you don't run into any programs that do.
- Avoid tying your program up in "NOT"s (for non-English speakers, this is a play on words; the word "not" vs. the word "knot"), i.e. don't ever use NOT in conditional statements, or at least very sparingly. You can use CONTINUE (nop in other languages) to accomplish the same thing with positive, rather than negative logic.
- Study the case structure verb, EVALUATE, EVALUATE TRUE, and EVALUATE variable-name. Be sure to use WHEN OTHER as a final condition in an EVALUATE statement.
- Next, you should familiarize yourself with JCL. Study the examples. z/OS MVS JCL Reference v2r3, https://www-01.ibm.com/servers/resourcelink/svc00100.nsf/pages/zOSV2R3SA231385/$file/ieab600_v2r3.pdf
- Then after all that, study the DFSORT manual (and also ICETOOL). Sorting (using DFSORT or a 3rd party software product, e.g. SYNCSORT is very common) is heavily used in commercial (real world) environments. If you only learn one general use utility, this is the one to learn. DFSORT Application Programming Guide, v2r3, https://www-01.ibm.com/servers/resourcelink/svc00100.nsf/pages/zOSV2R3sc236878/$file/icea100_v2r3.pdf Most of you here probably already know how to program in other languages better than I. What will be most beneficial to you, is to learn many of the unique things about Cobol (the above items are a start), and understand why Cobol is well suited to process transactions, i.e. processing files containing lines of data to process, whether to update another output "flat" file or a database. Lots of things to study, learn and try. And ask questions in this forum for the benefit of all, perhaps to motivate others here to learn another thing or two that they didn't already know! Good luck!
from cobol-programming-course.
Here's a JCL primer on IBM utilities that some of you might find helpful. Note that with all sample JCL found on the Internet (or anywhere you find sample JCL), the JOBCARD needs to be customized to run on your unique system. Try to understand what each sample JCL does, and what each of the parameters mean before you try running it. Also, the VOL=SER=xxxxxx parameter will be different as well as the UNIT=xxxxxx parameters. All units are basically (some variation of) 3390 these days! Real IBM hardware hasn't used 3330, 3350 and 3380 storage devices in years. The JCL at this link may be dated, but the basic concepts are still relevant today. http://www.bsp-gmbh.com/turnkey/cookbook/utilmvs.html
from cobol-programming-course.
When I had no access to mainframe, i had to install Hercules and tk4- to my PC. There was very old version of COBOL compiler and I had to rewrite CBL0001. And make my own CBL0001J.
You find it in https://github.com/zvookiejoo/cobol.git
from cobol-programming-course.
@zvookiejoo I have a COBOL challenge. maybe you want to give it a try: https://medium.com/@jessielaine.punongbayan/cobol-challenge-covid-19-reports-ee03a946bd23
from cobol-programming-course.
@zvookiejoo I have a COBOL challenge. maybe you want to give it a try: https://medium.com/@jessielaine.punongbayan/cobol-challenge-covid-19-reports-ee03a946bd23
Cannot acces to https://covid19api.com/ nor https://api.covid19api.com/summar nor https://api.covid19api.com/summary
from cobol-programming-course.
Cannot acces to https://covid19api.com/ nor https://api.covid19api.com/summar nor https://api.covid19api.com/summary
@MrGmaw Thank you for letting me know. It seems like the link was broken. I updated it and let me know if you can access it now.
from cobol-programming-course.
@zvookiejoo I have a COBOL challenge. maybe you want to give it a try: https://medium.com/@jessielaine.punongbayan/cobol-challenge-covid-19-reports-ee03a946bd23
Cannot acces to https://covid19api.com/ nor https://api.covid19api.com/summar nor https://api.covid19api.com/summary
Cannot acces to https://covid19api.com/ nor https://api.covid19api.com/summar nor https://api.covid19api.com/summary
@MrGmaw Thank you for letting me know. It seems like the link was broken. I updated it and let me know if you can access it now.
Web site ok. But not the summary one. https://api.covid19api.com/summary
from cobol-programming-course.
@MrGmaw You should be able to see this:
If not, maybe you have a firewall or something that prevents you from getting it. I could send the file, if you want. I think I can upload it here.
from cobol-programming-course.
@zvookiejoo I have a COBOL challenge. maybe you want to give it a try: https://medium.com/@jessielaine.punongbayan/cobol-challenge-covid-19-reports-ee03a946bd23
I've done table-formatted output.
Code: https://github.com/zvookiejoo/cobol/blob/master/covid
JCL: https://github.com/zvookiejoo/cobol/blob/master/COVIDJ
There is a problem with CBL dataset allocated to me: record length is limited to 80 characters. When I upload the new member - CSV lines are truncated and parts of data are lost. Also, some country names in this data set have commas - following record fields are shifted.
Making a HTTP request directly to API and processing of received JSON would be the best way to.
IBM Enterprise COBOL have JSON PARSE statement, but I not found the way to make HTTP Request. Or, may be, there is some program or JCL function, that could receive data from web-server and transfer it to COBOL program input?
from cobol-programming-course.
@zvookiejoo Thank you for trying out the exercise! I hope you had fun. :)
There is a problem with CBL dataset allocated to me: record length is limited to 80 characters. When I upload the new member - CSV lines are truncated and parts of data are lost. Also, some country names in this data set have commas - following record fields are shifted.
I agree. CSV has a different length and I guess I should have said allocate a sequential dataset and upload it to mainframe. I didn't mean to upload it the *.CBL dataset. Thank you for the clarification. I will keep this in mind.
Making a HTTP request directly to API and processing of received JSON would be the best way to.
I agree. I decided to write a different program to do this. It is a combination of Typescript and Zowe CLI.
IBM Enterprise COBOL have JSON PARSE statement, but I not found the way to make HTTP Request. Or, may be, there is some program or JCL function, that could receive data from web-server and transfer it to COBOL program input?
z/OS CONNECT is the only thing that I know that can process API request. And I haven't tried it.
from cobol-programming-course.
@MrGmaw Have you explored this yet: #46?
from cobol-programming-course.
Yes, indeed I have some comments here in issue #46. Some particular comment?
from cobol-programming-course.
@MrGmaw, Yes, look at the third comment, my comment to "zvookiejoo". A small challenge and then a long list of things to study and try.
from cobol-programming-course.
@MrGmaw, Yes, look at the third comment, my comment to "zvookiejoo". A small challenge and then a long list of things to study and try.
Yes, I've done almost all of it. What I didn't read is the pdf about DFSORT and ICETOOL. I'll do it.
I've been testing indexed files, recover a keyed record, deleting, rewriting, controlling file status regarding error code, reading about zowe and Db2 to figure it out how to implement Db2 access.
from cobol-programming-course.
Related Issues (20)
- Improvement: New Features of Enterprise COBOL v6.3
- Descargar Enterprise COBOL v6.3 HOT 1
- Website HOT 7
- Getting started Paragraph 3.2 Basic editing: line numbers are off HOT 1
- Readable and maintainable COBOL code
- Update course with survey result from COBOL WG HOT 6
- Unable to join Slack workspace. HOT 2
- Error in binary-ranges-3.png (Length and Range at S9(9) is wrong HOT 2
- Learning COBOL Programming with VSCode - Restricted acces to #openmainframeproject channel HOT 2
- No Labs or samples provided HOT 1
- Unable to join Slack - Account deactivated HOT 1
- Another COBOL Programming exercise for VSAM indexed file with alternate indices HOT 1
- COBOL compilation output file names are wrongly displayed.
- screen images in documentation use too much ink HOT 1
- API Output for COVID-19 COBOL Challenge is Offline
- Optimization possible in CBL0106.cbl
- lab or exercise with cobol-java-calling HOT 1
- Update content / screenshots for Zowe v3 Explorer
- Addition of content related to CI/CD by using Jenkins
- Create a static site for the book using Docusaurus
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cobol-programming-course.