Skip to content

Commit 9f46689

Browse files
committed
Prepare for v3.0.0 release
Signed-off-by: Hartanto Ario Widjaya <[email protected]>
1 parent da3b402 commit 9f46689

File tree

7 files changed

+38
-30
lines changed

7 files changed

+38
-30
lines changed

COBOL Programming Course #1 - Getting Started/Front_Matter.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ \section*{
66
\\[35pt]
77
\Huge COBOL Programming Course 1 \\[10pt]
88
\Huge Getting Started \\[15pt]
9-
\Large Version 2.3.0}\label{cobol-programming-course-1}}
9+
\Large Version 3.0.0}\label{cobol-programming-course-1}}
1010
\end{center}
1111

1212
\pagebreak

COBOL Programming Course #2 - Learning COBOL/COBOL Programming Course #2 - Learning COBOL.md

+15-11
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ COBOL programming language has many words with specific meaning to the COBOL com
212212

213213
A few COBOL reserved words pertinent to this book are: PERFORM, MOVE, COMPUTE, IF, THEN, ELSE, EVALUATE, PICTURE, etc. You can find a table of all COBOL reserved words is located at:
214214

215-
[https://www.ibm.com/docs/en/cobol-zos/6.3?topic=appendixes-reserved-words](https://www.ibm.com/docs/en/cobol-zos/6.3?topic=appendixes-reserved-words)
215+
[https://www.ibm.com/docs/en/cobol-zos/6.4?topic=appendixes-reserved-words](https://www.ibm.com/docs/en/cobol-zos/6.4?topic=appendixes-reserved-words)
216216

217217

218218
### What is a COBOL statement?
@@ -335,7 +335,7 @@ This section provides useful resources in the form of manuals and videos to assi
335335

336336
### Professional manuals
337337

338-
As Enterprise COBOL experience advances, the need for professional documentation is greater. An internet search for Enterprise COBOL manuals includes: “Enterprise COBOL for z/OS documentation library - IBM”, link provided below. The site content has tabs for each COBOL release level. As of April 2020, the current release of Enterprise COBOL is V6.3. Highlight the V6.3 tab, then select product documentation.
338+
As Enterprise COBOL experience advances, the need for professional documentation is greater. An internet search for Enterprise COBOL manuals includes: “Enterprise COBOL for z/OS documentation library - IBM”, link provided below. The site content has tabs for each COBOL release level. As of December 2022, the current release of Enterprise COBOL is V6.4. Highlight the V6.4 tab, then select product documentation.
339339

340340
[https://www.ibm.com/support/pages/enterprise-cobol-zos-documentation-library](https://www.ibm.com/support/pages/enterprise-cobol-zos-documentation-library)
341341

@@ -344,15 +344,15 @@ Three ‘Enterprise COBOL for z/OS” manuals are referenced throughout the chap
344344

345345
1. Language Reference - Describes the COBOL language such as program structure, reserved words, etc.
346346

347-
[http://publibfp.boulder.ibm.com/epubs/pdf/igy6lr30.pdf](http://publibfp.boulder.ibm.com/epubs/pdf/igy6lr30.pdf)
347+
[https://publibfp.dhe.ibm.com/epubs/pdf/igy6lr40.pdf](https://publibfp.dhe.ibm.com/epubs/pdf/igy6lr40.pdf)
348348

349349
2. Programming Guide - Describes advanced topics such as COBOL compiler options, program performance optimization, handling errors, etc.
350350

351-
[http://publibfp.boulder.ibm.com/epubs/pdf/igy6pg30.pdf](http://publibfp.boulder.ibm.com/epubs/pdf/igy6pg30.pdf)
351+
[https://publibfp.dhe.ibm.com/epubs/pdf/igy6pg40.pdf](https://publibfp.dhe.ibm.com/epubs/pdf/igy6pg40.pdf)
352352

353353
3. Messages and Codes - To better understand certain COBOL compiler messages and return codes to diagnose problems.
354354

355-
[http://publibfp.boulder.ibm.com/epubs/pdf/c2746481.pdf](http://publibfp.boulder.ibm.com/epubs/pdf/c2746481.pdf)
355+
[https://publibfp.dhe.ibm.com/epubs/pdf/c2746482.pdf](https://publibfp.dhe.ibm.com/epubs/pdf/c2746482.pdf)
356356

357357
### Learn more about recent COBOL advancements
358358

@@ -368,6 +368,10 @@ Three ‘Enterprise COBOL for z/OS” manuals are referenced throughout the chap
368368

369369
[https://www.ibm.com/support/pages/cobol-v63-was-announced-whats-new](https://www.ibm.com/support/pages/cobol-v63-was-announced-whats-new)
370370

371+
- What’s New in Enterprise COBOL for z/OS V6.4:
372+
373+
[https://www.ibm.com/docs/en/cobol-zos/6.4?topic=wn-what-is-new-in-enterprise-cobol-zos-64-cobol-64-ptfs-installed](https://www.ibm.com/docs/en/cobol-zos/6.4?topic=wn-what-is-new-in-enterprise-cobol-zos-64-cobol-64-ptfs-installed)
374+
371375
## Lab
372376

373377
In this lab exercise, you will connect to an IBM Z system, view a simple COBOL hello world program in VSCode, submit JCL to compile the COBOL program, and view the output. Refer to "Installation of VSCode and extensions" to configure VSCode if you have not already done so. You can either use Z Open Editor and Zowe Explorer, or Code4z.
@@ -837,7 +841,7 @@ The maximum length of a picture clause is dependent upon the data type and compi
837841

838842
Where cs is any valid currency symbols such as the dollar sign ($).
839843

840-
All PIC clause symbols are described in the [Enterprise COBOL for z/OS Language Reference manual](http://publibfp.boulder.ibm.com/epubs/pdf/igy6lr30.pdf).
844+
All PIC clause symbols are described in the [Enterprise COBOL for z/OS Language Reference manual](https://publibfp.dhe.ibm.com/epubs/pdf/igy6lr40.pdf).
841845

842846

843847
### Coding COBOL variable / data-item names
@@ -2721,7 +2725,7 @@ The sign condition determines whether the algebraic value of a numeric operand i
27212725

27222726
**Note**: To read more information about these conditions please visit the link:
27232727

2724-
[https://www.ibm.com/docs/en/cobol-zos/6.3?topic=structure-conditional-expressions](https://www.ibm.com/docs/en/cobol-zos/6.3?topic=structure-conditional-expressions)
2728+
[https://www.ibm.com/docs/en/cobol-zos/6.4?topic=structure-conditional-expressions](https://www.ibm.com/docs/en/cobol-zos/6.4?topic=structure-conditional-expressions)
27252729

27262730

27272731
## Lab
@@ -2904,7 +2908,7 @@ COMPUTE | Restriction does not apply
29042908

29052909
*Table 2. How the composite of operands is determined*
29062910

2907-
In all arithmetic statements, it is important to define data with enough digits and decimal places to ensure the required accuracy in the result. Arithmetic precision details are available in the [IBM Enterprise COBOL Programming Guide Appendix A](http://publibfp.boulder.ibm.com/epubs/pdf/igy6pg30.pdf).
2911+
In all arithmetic statements, it is important to define data with enough digits and decimal places to ensure the required accuracy in the result. Arithmetic precision details are available in the [IBM Enterprise COBOL Programming Guide Appendix A](https://publibfp.dhe.ibm.com/epubs/pdf/igy6pg40.pdf).
29082912

29092913

29102914

@@ -3134,7 +3138,7 @@ Previous COBOL industry specifications included intrinsic functions, which remai
31343138

31353139
- **Categories of intrinsic functions**
31363140

3137-
- **Intrinsic functions in Enterprise COBOL for z/OS V6.3**
3141+
- **Intrinsic functions in Enterprise COBOL for z/OS V6.4**
31383142

31393143
- **Mathematical example**
31403144

@@ -3214,9 +3218,9 @@ Intrinsic functions operate against alphanumeric, national, numeric, and integer
32143218

32153219
- **Integer** functions are of class and category numeric. The returned value is always considered to have an operational sign and is an integer intermediate result. The number of digit positions in the value returned is determined by the function definition.
32163220

3217-
## Intrinsic functions in Enterprise COBOL for z/OS V6.3
3221+
## Intrinsic functions in Enterprise COBOL for z/OS V6.4
32183222

3219-
The current release of Enterprise COBOL for z/OS V6.3 includes 70 intrinsic functions. Each one of these functions falling into one of the aforementioned six categories. While an entire book could be written on intrinsic functions, a single example for each of the six categories is provided in this section.
3223+
The current release of Enterprise COBOL for z/OS V6.4 includes 82 intrinsic functions. Each one of these functions falling into one of the aforementioned six categories. While an entire book could be written on intrinsic functions, a single example for each of the six categories is provided in this section.
32203224

32213225

32223226
### Mathematical example

COBOL Programming Course #2 - Learning COBOL/Front_Matter.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ \section*{
66
\\[35pt]
77
\Huge COBOL Programming Course 2 \\[10pt]
88
\Huge Learning COBOL \\[15pt]
9-
\Large Version 2.3.0}\label{cobol-programming-course-2}}
9+
\Large Version 3.0.0}\label{cobol-programming-course-2}}
1010
\end{center}
1111

1212
\pagebreak

COBOL Programming Course #3 - Advanced Topics/COBOL Programming Course #3 - Advanced Topics.md

+18-14
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ This section provides useful resources in the form of manuals and videos to assi
2525

2626
## Professional manuals
2727

28-
As Enterprise COBOL experience advances, the need for the professional documentation is greater. An internet search for Enterprise COBOL manuals includes: “Enterprise COBOL for z/OS documentation library - IBM”, link provided below. The site content has tabs for each COBOL release level. As of April 2020, the current release of Enterprise COBOL is V6.3. Highlight V6.3 tab, then select product documentation.
28+
As Enterprise COBOL experience advances, the need for professional documentation is greater. An internet search for Enterprise COBOL manuals includes: “Enterprise COBOL for z/OS documentation library - IBM”, link provided below. The site content has tabs for each COBOL release level. As of December 2022, the current release of Enterprise COBOL is V6.4. Highlight the V6.4 tab, then select product documentation.
2929

3030
[https://www.ibm.com/support/pages/enterprise-cobol-zos-documentation-library](https://www.ibm.com/support/pages/enterprise-cobol-zos-documentation-library)
3131

@@ -34,15 +34,15 @@ Three ‘Enterprise COBOL for z/OS” manuals are referenced throughout the chap
3434

3535
1. Language Reference - Describes the COBOL language such as program structure, reserved words, etc.
3636

37-
[http://publibfp.boulder.ibm.com/epubs/pdf/igy6lr30.pdf](http://publibfp.boulder.ibm.com/epubs/pdf/igy6lr30.pdf)
37+
[https://publibfp.dhe.ibm.com/epubs/pdf/igy6lr40.pdf](https://publibfp.dhe.ibm.com/epubs/pdf/igy6lr40.pdf)
3838

3939
2. Programming Guide - Describes advanced topics such as COBOL compiler options, program performance optimization, handling errors, etc.
4040

41-
[http://publibfp.boulder.ibm.com/epubs/pdf/igy6pg30.pdf](http://publibfp.boulder.ibm.com/epubs/pdf/igy6pg30.pdf)
41+
[https://publibfp.dhe.ibm.com/epubs/pdf/igy6pg40.pdf](https://publibfp.dhe.ibm.com/epubs/pdf/igy6pg40.pdf)
4242

4343
3. Messages and Codes - To better understand certain COBOL compiler messages and return codes to diagnose problems.
4444

45-
[http://publibfp.boulder.ibm.com/epubs/pdf/c2746481.pdf](http://publibfp.boulder.ibm.com/epubs/pdf/c2746481.pdf)
45+
[https://publibfp.dhe.ibm.com/epubs/pdf/c2746482.pdf](https://publibfp.dhe.ibm.com/epubs/pdf/c2746482.pdf)
4646

4747
## Learn more about recent COBOL advancements
4848

@@ -58,6 +58,10 @@ Three ‘Enterprise COBOL for z/OS” manuals are referenced throughout the chap
5858

5959
[https://www.ibm.com/support/pages/cobol-v63-was-announced-whats-new](https://www.ibm.com/support/pages/cobol-v63-was-announced-whats-new)
6060

61+
- What’s New in Enterprise COBOL for z/OS V6.4:
62+
63+
[https://www.ibm.com/docs/en/cobol-zos/6.4?topic=wn-what-is-new-in-enterprise-cobol-zos-64-cobol-64-ptfs-installed](https://www.ibm.com/docs/en/cobol-zos/6.4?topic=wn-what-is-new-in-enterprise-cobol-zos-64-cobol-64-ptfs-installed)
64+
6165
\newpage
6266

6367
# Numerical Data Representation
@@ -270,7 +274,7 @@ COMP-2 supersedes COMP-1 for more precise scientific data storage as well as com
270274
# Dynamic-Length Item
271275
So far during this course, we have only explored data items that have a fixed length. In other words, you need to define the length you need for each data type. But in this section, we will explore a fairly new concept in Enterprise COBOL - dynamic-length items.
272276

273-
Enterprise COBOL v6.3 supports dynamic-length items, which are items whose logical length might change at runtime.
277+
Starting from Enterprise COBOL v6.3 dynamic-length items, which are items whose logical length might change at runtime, are supported.
274278

275279
## Dynamic-Length Elementary Items
276280

@@ -280,7 +284,7 @@ If the content received is longer than the current length, a new larger buffer w
280284

281285
Now, if the dynamic-length elementary item is used to receive data and we reference-modified it, the item will be treated as a fixed-length item with with a length equals to the current length of the dynamic-length item. In such cases, the compiler will not allocate or reallocated the buffer.
282286

283-
Note that not all statement supports dynamic-length elementary items. Common statement like REDEFINE or RENAME will not work. Additionally, we cannot take their address using the ADDRESS-OF special register. The full list of the statements supported is available on the [Language Reference](https://www.ibm.com/docs/en/cobol-zos/6.3?topic=relationships-dynamic-length-items).
287+
Note that not all statement supports dynamic-length elementary items. Common statement like REDEFINE or RENAME will not work. Additionally, we cannot take their address using the ADDRESS-OF special register. The full list of the statements supported is available on the [Language Reference](https://www.ibm.com/docs/en/cobol-zos/6.4?topic=relationships-dynamic-length-items).
284288

285289
When we compare a dynamic-length item with a fixed-length item, the comparison will follow the normal comparison rules (the shorter item will be extended to the right with enough spaces to make both items equal in length and then each character will be compared). Meanwhile, if you compare two dynamic-length elementary items, the lengths will be compared first and if they matched, the characters will then be examined.
286290

@@ -375,7 +379,7 @@ Generally speaking, a UTF-8 data item can be moved only to those of category Nat
375379

376380
Additionally, we can use the intrinsic function DISPLAY-OF to convert national to UTF-8 and UTF-8 to alphanumeric or the intrinsic function NATIONAL-OF to convert UTF-8 to national.
377381

378-
**Note** : For more information, please refer to the [Programming Guide](https://www.ibm.com/docs/en/cobol-zos/6.3?topic=cobol-converting-from-utf-8-unicode-representation).
382+
**Note** : For more information, please refer to the [Programming Guide](https://www.ibm.com/docs/en/cobol-zos/6.4?topic=cobol-converting-from-utf-8-unicode-representation).
379383

380384
\newpage
381385
# COBOL Application Programming Interface (API)
@@ -687,7 +691,7 @@ Chances are you will not need to manually write any JCL to compile a program. Ho
687691

688692
**(7):** The SYSIN DD statement defines the data set to be used as input to the job step, or in other words, the source code.
689693

690-
For more information on the input and output data set that the Enterprise COBOL compiler can use, please refer to the [IBM Documentation](https://www.ibm.com/docs/en/cobol-zos/6.3?topic=zos-defining-compiler-input-output).
694+
For more information on the input and output data set that the Enterprise COBOL compiler can use, please refer to the [IBM Documentation](https://www.ibm.com/docs/en/cobol-zos/6.4?topic=zos-defining-compiler-input-output).
691695

692696
## Specifying compiler options
693697

@@ -709,7 +713,7 @@ The precedence options in a SYSOPTF data set will depend on where the OPTFILE co
709713

710714
Note that this order of precedence also determines which options are in effect when there are conflicting or mutually exclusive options.
711715

712-
For a full list of compiler options, please refer to the [IBM Documentation](https://www.ibm.com/docs/en/cobol-zos/6.3?topic=program-compiler-options).
716+
For a full list of compiler options, please refer to the [IBM Documentation](https://www.ibm.com/docs/en/cobol-zos/6.4?topic=program-compiler-options).
713717

714718
### Specifying options in the PROCESS statement
715719

@@ -914,7 +918,7 @@ In a multithreaded environment, there are some limitations on COBOL programs. In
914918

915919
- Older COBOL programs: To run your COBOL programs on multiple threads of a multithreaded application, we must compile them with Enterprise COBOL using the THREAD option.
916920

917-
To see more details on the limitation of COBOL with multithreading, check out the [Programming Guide](https://www.ibm.com/docs/en/cobol-zos/6.3?topic=multithreading-handling-cobol-limitations).
921+
To see more details on the limitation of COBOL with multithreading, check out the [Programming Guide](https://www.ibm.com/docs/en/cobol-zos/6.4?topic=multithreading-handling-cobol-limitations).
918922

919923
\newpage
920924
# Program tuning and simplification
@@ -932,7 +936,7 @@ Having a robust algorithm with the appropriate data structure is essential to im
932936

933937
We can also write programs that result in more efficient use of the available services. We can also use coding techniques to improve our productivity.
934938

935-
If you are interested in learning more about performance tuning with COBOL, check out the [Enterprise COBOL for z/OS Performance Tuning Guide](http://publibfp.dhe.ibm.com/epubs/pdf/igy6tg30.pdf).
939+
If you are interested in learning more about performance tuning with COBOL, check out the [Enterprise COBOL for z/OS Performance Tuning Guide](https://publibfp.dhe.ibm.com/epubs/pdf/igy6tg40.pdf).
936940

937941

938942
- **Optimal programming style**
@@ -1087,7 +1091,7 @@ Our choice of performance-related compiler options can affect how well our progr
10871091

10881092
Another compiler feature to consider is the USE FOR DEBUGGING ON ALL PROCEDURES statement which can greatly affect the compiler optimizer. The use of the ON ALL PROCEDURES option will generate extra code at each transfer to a procedure name. Although these are useful for debugging, they will make your program larger and thus inhibit optimization.
10891093

1090-
For a listing of performance-related compiler options, please check the [IBM Documentation](https://www.ibm.com/docs/en/cobol-zos/6.3?topic=performance-related-compiler-options).
1094+
For a listing of performance-related compiler options, please check the [IBM Documentation](https://www.ibm.com/docs/en/cobol-zos/6.4?topic=performance-related-compiler-options).
10911095

10921096
\newpage
10931097
# COBOL Challenges
@@ -1318,9 +1322,9 @@ We will be working on a Hacker News 2015-2016 dataset from Kaggle with a full ye
13181322
13191323
5. Next add a new step in the JCL member to run the `DFSORT` utility on the output dataset from the previous step. The sort should be done on the ranking score field, from highest to lowest. Use `DFSORT` to also print headers for our front page. As this is a new utility not covered in the course, please check out these links to explore this very powerful and versatile tool:
13201324
1321-
[Getting started with DFSORT](https://www.ibm.com/docs/en/zos/2.4.0?topic=dfsort-zos-getting-started)
1325+
[Getting started with DFSORT](https://www.ibm.com/docs/en/zos/2.5.0?topic=dfsort-zos-getting-started)
13221326
1323-
[Example with DFSORT](https://www.ibm.com/docs/en/zos/2.4.0?topic=examples-example-10-sort-outfil)
1327+
[Example with DFSORT](https://www.ibm.com/docs/en/zos/2.5.0?topic=examples-example-10-sort-outfil)
13241328
13251329
13261330
6. Run and debug until the front page looks ready! Which posts ranked among the highest? Here's a look at the generated report:

COBOL Programming Course #3 - Advanced Topics/Front_Matter.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ \section*{
66
\\[35pt]
77
\Huge COBOL Programming Course 3 \\[10pt]
88
\Huge Advanced Topics \\[15pt]
9-
\Large Version 2.3.0}\label{cobol-programming-course-3}}
9+
\Large Version 3.0.0}\label{cobol-programming-course-3}}
1010
\end{center}
1111

1212
\pagebreak

ROADMAP.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ This roadmap lists out the possible and planned future contents for the COBOL Pr
99
- Object-Oriented COBOL
1010
- Subprograms
1111
- Sorting and Merging
12+
- Processing JSON and XML
1213

1314
## Possible Future Contents
1415

@@ -17,4 +18,3 @@ This roadmap lists out the possible and planned future contents for the COBOL Pr
1718
- COBOL Dynamic Link Libraries
1819
- Communication with Java Methods
1920
- Debugging and Testing
20-
- Processing JSON and XML

TRANSLATION.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ If you are interested in contributing translations of the course into this proje
66
## Course #1 - Getting Started
77
| Version | Language | Author |
88
|:-------:|:--------:|:------:|
9-
| [2.3](https://github.com/openmainframeproject/cobol-programming-course/releases/download/2.3.0/COBOL-Programming-Course-1-Getting-Started-French.pdf) | French | Bernard Zisermann |
9+
| [2.3.0](https://github.com/openmainframeproject/cobol-programming-course/releases/download/2.3.0/COBOL-Programming-Course-1-Getting-Started-French.pdf) | French | Bernard Zisermann |
1010

1111
## Course #2 - Advanced Topics
1212
| Version | Language | Author |

0 commit comments

Comments
 (0)