You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: COBOL Programming Course #2 - Learning COBOL/COBOL Programming Course #2 - Learning COBOL.md
+15-11
Original file line number
Diff line number
Diff line change
@@ -212,7 +212,7 @@ COBOL programming language has many words with specific meaning to the COBOL com
212
212
213
213
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:
@@ -335,7 +335,7 @@ This section provides useful resources in the form of manuals and videos to assi
335
335
336
336
### Professional manuals
337
337
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.
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
837
841
838
842
Where cs is any valid currency symbols such as the dollar sign ($).
839
843
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).
841
845
842
846
843
847
### Coding COBOL variable / data-item names
@@ -2721,7 +2725,7 @@ The sign condition determines whether the algebraic value of a numeric operand i
2721
2725
2722
2726
**Note**: To read more information about these conditions please visit the link:
@@ -2904,7 +2908,7 @@ COMPUTE | Restriction does not apply
2904
2908
2905
2909
*Table 2. How the composite of operands is determined*
2906
2910
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).
2908
2912
2909
2913
2910
2914
@@ -3134,7 +3138,7 @@ Previous COBOL industry specifications included intrinsic functions, which remai
3134
3138
3135
3139
-**Categories of intrinsic functions**
3136
3140
3137
-
-**Intrinsic functions in Enterprise COBOL for z/OS V6.3**
3141
+
-**Intrinsic functions in Enterprise COBOL for z/OS V6.4**
3138
3142
3139
3143
-**Mathematical example**
3140
3144
@@ -3214,9 +3218,9 @@ Intrinsic functions operate against alphanumeric, national, numeric, and integer
3214
3218
3215
3219
-**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.
3216
3220
3217
-
## Intrinsic functions in Enterprise COBOL for z/OS V6.3
3221
+
## Intrinsic functions in Enterprise COBOL for z/OS V6.4
3218
3222
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.
Copy file name to clipboardExpand all lines: COBOL Programming Course #3 - Advanced Topics/COBOL Programming Course #3 - Advanced Topics.md
+18-14
Original file line number
Diff line number
Diff line change
@@ -25,7 +25,7 @@ This section provides useful resources in the form of manuals and videos to assi
25
25
26
26
## Professional manuals
27
27
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.
@@ -270,7 +274,7 @@ COMP-2 supersedes COMP-1 for more precise scientific data storage as well as com
270
274
# Dynamic-Length Item
271
275
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.
272
276
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.
274
278
275
279
## Dynamic-Length Elementary Items
276
280
@@ -280,7 +284,7 @@ If the content received is longer than the current length, a new larger buffer w
280
284
281
285
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.
282
286
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).
284
288
285
289
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.
286
290
@@ -375,7 +379,7 @@ Generally speaking, a UTF-8 data item can be moved only to those of category Nat
375
379
376
380
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.
377
381
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).
379
383
380
384
\newpage
381
385
# 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
687
691
688
692
**(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.
689
693
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).
691
695
692
696
## Specifying compiler options
693
697
@@ -709,7 +713,7 @@ The precedence options in a SYSOPTF data set will depend on where the OPTFILE co
709
713
710
714
Note that this order of precedence also determines which options are in effect when there are conflicting or mutually exclusive options.
711
715
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).
713
717
714
718
### Specifying options in the PROCESS statement
715
719
@@ -914,7 +918,7 @@ In a multithreaded environment, there are some limitations on COBOL programs. In
914
918
915
919
- 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.
916
920
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).
918
922
919
923
\newpage
920
924
# Program tuning and simplification
@@ -932,7 +936,7 @@ Having a robust algorithm with the appropriate data structure is essential to im
932
936
933
937
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.
934
938
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).
936
940
937
941
938
942
-**Optimal programming style**
@@ -1087,7 +1091,7 @@ Our choice of performance-related compiler options can affect how well our progr
1087
1091
1088
1092
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.
1089
1093
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).
1091
1095
1092
1096
\newpage
1093
1097
# COBOL Challenges
@@ -1318,9 +1322,9 @@ We will be working on a Hacker News 2015-2016 dataset from Kaggle with a full ye
1318
1322
1319
1323
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:
1320
1324
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)
1322
1326
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)
1324
1328
1325
1329
1326
1330
6. Run and debug until the front page looks ready! Which posts ranked among the highest? Here's a look at the generated report:
Copy file name to clipboardExpand all lines: TRANSLATION.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ If you are interested in contributing translations of the course into this proje
6
6
## Course #1 - Getting Started
7
7
| Version | Language | Author |
8
8
|:-------:|:--------:|:------:|
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 |
0 commit comments