{"id":1577,"date":"2023-08-08T10:00:00","date_gmt":"2023-08-08T04:30:00","guid":{"rendered":"https:\/\/zmainframes.com\/zlog\/?p=1577"},"modified":"2023-12-05T12:24:48","modified_gmt":"2023-12-05T06:54:48","slug":"exploring-the-call-statement-in-cobol-programming","status":"publish","type":"post","link":"https:\/\/zmainframes.com\/zlog\/exploring-the-call-statement-in-cobol-programming\/","title":{"rendered":"Exploring the CALL Statement in COBOL Programming"},"content":{"rendered":"\r\n<p><strong>Introduction<\/strong><\/p>\r\n\r\n\r\n\r\n<p><strong>COBOL<\/strong> (Common Business-Oriented Language) has been a workhorse of the programming world for decades, especially in business and financial applications. One of the key features that makes COBOL a versatile and efficient language is its CALL statement. The CALL statement allows programmers to create modular and organized programs by invoking subprograms, also known as subroutines or procedures, from within a main COBOL program. In this article, we will delve into the intricacies of the CALL statement, exploring its various use cases and scenarios, and provide real-world examples to illustrate its functionality.<\/p>\r\n<p><img data-recalc-dims=\"1\" fetchpriority=\"high\" decoding=\"async\" class=\" wp-image-2000 aligncenter\" src=\"https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2023\/08\/Exploring-the-CALL-Statement-in-COBOL-Programming.png?resize=811%2C457&#038;ssl=1\" alt=\"\" width=\"811\" height=\"457\" title=\"\" srcset=\"https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2023\/08\/Exploring-the-CALL-Statement-in-COBOL-Programming.png?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2023\/08\/Exploring-the-CALL-Statement-in-COBOL-Programming.png?resize=1024%2C576&amp;ssl=1 1024w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2023\/08\/Exploring-the-CALL-Statement-in-COBOL-Programming.png?resize=768%2C432&amp;ssl=1 768w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2023\/08\/Exploring-the-CALL-Statement-in-COBOL-Programming.png?resize=1%2C1&amp;ssl=1 1w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2023\/08\/Exploring-the-CALL-Statement-in-COBOL-Programming.png?resize=150%2C84&amp;ssl=1 150w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2023\/08\/Exploring-the-CALL-Statement-in-COBOL-Programming.png?w=1280&amp;ssl=1 1280w\" sizes=\"(max-width: 811px) 100vw, 811px\" \/><\/p>\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n<p><strong>Understanding the CALL Statement<\/strong><\/p>\r\n\r\n\r\n\r\n<p>The CALL statement in COBOL is used to transfer control from the main program to a specified subprogram. This subprogram can be another COBOL program, a COBOL-DB2 program, or any other type of program that is written in a compatible language. The CALL statement facilitates the creation of modular code, as it enables the reuse of existing subprograms across different parts of an application.<\/p>\r\n\r\n\r\n\r\n<p><strong>Basic Syntax of the CALL Statement<\/strong><\/p>\r\n\r\n\r\n\r\n<p>The basic syntax of the CALL statement is as follows:<\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" style=\"font-size: .875rem; font-family: Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; --cbp-line-number-color: #adbac7; --cbp-line-number-width: 7.6999969482421875px; line-height: 1.25rem;\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\"><span style=\"display: flex; align-items: center; padding: 10px 0px 10px 16px; margin-bottom: -2px; width: 100%; text-align: left; background-color: #2d333d; color: #9eadbd;\">COBOL<\/span>\r\n<pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e;\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #f47067;\">CALL<\/span> <span style=\"color: #96d0ff;\">'SUBPROGRAM-NAME'<\/span><span style=\"color: #f47067;\">&lt;code&gt;<\/span><\/span><\/code><\/pre>\r\n<\/div>\r\n\r\n\r\n\r\n<p>Where <code>'SUBPROGRAM-NAME'<\/code> is the name of the subprogram being called. The subprogram can be located within the same source code file or in a separate file altogether.<\/p>\r\n\r\n\r\n\r\n<p><strong>Scenarios of Calling Subprograms<\/strong><\/p>\r\n\r\n\r\n\r\n<p>Let&#8217;s explore various scenarios of using the CALL statement to invoke subprograms from a main COBOL program.<\/p>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\">\r\n<li>Calling an Internal Subroutine: In this scenario, we define a subroutine within the same COBOL program and invoke it using the CALL statement. This approach is useful for breaking down a complex task into smaller, more manageable units of code.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<p><strong>Example:<\/strong><\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" style=\"font-size: .875rem; font-family: Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; --cbp-line-number-color: #adbac7; --cbp-line-number-width: 15.399993896484375px; line-height: 1.25rem;\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\"><span style=\"display: flex; align-items: center; padding: 10px 0px 10px 16px; margin-bottom: -2px; width: 100%; text-align: left; background-color: #2d333d; color: #9eadbd;\">COBOL<\/span>\r\n<pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e;\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #f47067;\">IDENTIFICATION DIVISION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #f47067;\">PROGRAM-ID<\/span><span style=\"color: #adbac7;\">. <\/span><span style=\"color: #dcbdfb;\">MAINPROGRAM<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n\r\n<span class=\"line\"><span style=\"color: #f47067;\">DATA DIVISION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #f47067;\">WORKING-STORAGE SECTION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #6cb6ff;\">01<\/span><span style=\"color: #adbac7;\"> NUM1       <\/span><span style=\"color: #f47067;\">PIC 9<\/span><span style=\"color: #adbac7;\">(<\/span><span style=\"color: #6cb6ff;\">3<\/span><span style=\"color: #adbac7;\">) <\/span><span style=\"color: #f47067;\">VALUE<\/span> <span style=\"color: #6cb6ff;\">100<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #6cb6ff;\">01<\/span><span style=\"color: #adbac7;\"> NUM2       <\/span><span style=\"color: #f47067;\">PIC 9<\/span><span style=\"color: #adbac7;\">(<\/span><span style=\"color: #6cb6ff;\">3<\/span><span style=\"color: #adbac7;\">) <\/span><span style=\"color: #f47067;\">VALUE<\/span> <span style=\"color: #6cb6ff;\">200<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n\r\n<span class=\"line\"><span style=\"color: #f47067;\">PROCEDURE DIVISION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\">    <span style=\"color: #f47067;\">PERFORM<\/span><span style=\"color: #adbac7;\"> CALCULATE-SUM<\/span><\/span>\r\n<span class=\"line\">    <span style=\"color: #f47067;\">DISPLAY<\/span> <span style=\"color: #96d0ff;\">\"Sum: \"<\/span><span style=\"color: #adbac7;\"> NUM1<\/span><\/span>\r\n<span class=\"line\">    <span style=\"color: #f47067;\">STOP RUN<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n\r\n<span class=\"line\"><span style=\"color: #adbac7;\">CALCULATE-SUM.<\/span><\/span>\r\n<span class=\"line\">    <span style=\"color: #f47067;\">ADD<\/span><span style=\"color: #adbac7;\"> NUM1 <\/span><span style=\"color: #f47067;\">TO<\/span><span style=\"color: #adbac7;\"> NUM2.<\/span><\/span><\/code><\/pre>\r\n<\/div>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\" start=\"2\">\r\n<li>Calling an External Subprogram: In this scenario, we have a separate COBOL program that performs a specific task. The main program calls this external program using the CALL statement to leverage its functionality.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<p><strong>Example:<\/strong><\/p>\r\n\r\n\r\n\r\n<p><strong>Main Program (<code>MAINPROGRAM.CBL<\/code>):<\/strong><\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" style=\"font-size: .875rem; font-family: Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; --cbp-line-number-color: #adbac7; --cbp-line-number-width: 15.400001525878906px; line-height: 1.25rem;\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\"><span style=\"display: flex; align-items: center; padding: 10px 0px 10px 16px; margin-bottom: -2px; width: 100%; text-align: left; background-color: #2d333d; color: #9eadbd;\">COBOL<\/span>\r\n<pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e;\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #f47067;\">IDENTIFICATION DIVISION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #f47067;\">PROGRAM-ID<\/span><span style=\"color: #adbac7;\">. <\/span><span style=\"color: #dcbdfb;\">MAINPROGRAM<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n\r\n<span class=\"line\"><span style=\"color: #f47067;\">DATA DIVISION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #f47067;\">WORKING-STORAGE SECTION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #6cb6ff;\">01<\/span><span style=\"color: #adbac7;\"> AMOUNT     <\/span><span style=\"color: #f47067;\">PIC 9<\/span><span style=\"color: #adbac7;\">(<\/span><span style=\"color: #6cb6ff;\">5<\/span><span style=\"color: #adbac7;\">) <\/span><span style=\"color: #f47067;\">VALUE<\/span> <span style=\"color: #6cb6ff;\">5000<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n\r\n<span class=\"line\"><span style=\"color: #f47067;\">PROCEDURE DIVISION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\">    <span style=\"color: #f47067;\">CALL<\/span> <span style=\"color: #96d0ff;\">'CALCSUB'<\/span> <\/span>\r\n<span class=\"line\">    <span style=\"color: #f47067;\">DISPLAY<\/span> <span style=\"color: #96d0ff;\">\"New Amount: \"<\/span><span style=\"color: #adbac7;\"> AMOUNT<\/span><\/span>\r\n<span class=\"line\">    <span style=\"color: #f47067;\">STOP RUN<\/span><span style=\"color: #adbac7;\">.<\/span><\/span><\/code><\/pre>\r\n<\/div>\r\n\r\n\r\n\r\n<p><strong>Subprogram (<code>CALCSUB.CBL<\/code>):<\/strong><\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" style=\"font-size: .875rem; font-family: Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; --cbp-line-number-color: #adbac7; --cbp-line-number-width: 15.400009155273438px; line-height: 1.25rem;\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\"><span style=\"display: flex; align-items: center; padding: 10px 0px 10px 16px; margin-bottom: -2px; width: 100%; text-align: left; background-color: #2d333d; color: #9eadbd;\">COBOL<\/span>\r\n<pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e;\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #f47067;\">IDENTIFICATION DIVISION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #f47067;\">PROGRAM-ID<\/span><span style=\"color: #adbac7;\">. <\/span><span style=\"color: #dcbdfb;\">CALCSUB<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n\r\n<span class=\"line\"><span style=\"color: #f47067;\">DATA DIVISION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #f47067;\">LINKAGE SECTION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #6cb6ff;\">01<\/span><span style=\"color: #adbac7;\"> AMT-IN     <\/span><span style=\"color: #f47067;\">PIC 9<\/span><span style=\"color: #adbac7;\">(<\/span><span style=\"color: #6cb6ff;\">5<\/span><span style=\"color: #adbac7;\">).<\/span><\/span>\r\n\r\n<span class=\"line\"><span style=\"color: #f47067;\">PROCEDURE DIVISION<\/span> <span style=\"color: #f47067;\">USING<\/span><span style=\"color: #adbac7;\"> AMT-IN.<\/span><\/span>\r\n<span class=\"line\">    <span style=\"color: #f47067;\">MULTIPLY<\/span><span style=\"color: #adbac7;\"> AMT-IN <\/span><span style=\"color: #f47067;\">BY<\/span> <span style=\"color: #6cb6ff;\">1.1<\/span> <span style=\"color: #f47067;\">GIVING<\/span><span style=\"color: #adbac7;\"> AMT-IN.<\/span><\/span>\r\n<span class=\"line\">    <span style=\"color: #f47067;\">EXIT PROGRAM<\/span><span style=\"color: #adbac7;\">.<\/span><\/span><\/code><\/pre>\r\n<\/div>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\" start=\"3\">\r\n<li>Calling a COBOL-DB2 Program: COBOL is often integrated with database systems like IBM DB2. You can call a COBOL-DB2 program to perform database operations, such as fetching records, updating data, or executing SQL queries.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<p><strong>Example:<\/strong><\/p>\r\n\r\n\r\n\r\n<p><strong>Main Program (<code>MAINPROGRAM.CBL<\/code>):<\/strong><\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" style=\"font-size: .875rem; font-family: Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; --cbp-line-number-color: #adbac7; --cbp-line-number-width: 15.400001525878906px; line-height: 1.25rem;\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\"><span style=\"display: flex; align-items: center; padding: 10px 0px 10px 16px; margin-bottom: -2px; width: 100%; text-align: left; background-color: #2d333d; color: #9eadbd;\">COBOL<\/span>\r\n<pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e;\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #f47067;\">IDENTIFICATION DIVISION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #f47067;\">PROGRAM-ID<\/span><span style=\"color: #adbac7;\">. <\/span><span style=\"color: #dcbdfb;\">MAINPROGRAM<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n\r\n<span class=\"line\"><span style=\"color: #f47067;\">DATA DIVISION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #f47067;\">WORKING-STORAGE SECTION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #6cb6ff;\">01<\/span><span style=\"color: #adbac7;\"> EMPLOYEE-NAME   <\/span><span style=\"color: #f47067;\">PIC X<\/span><span style=\"color: #adbac7;\">(<\/span><span style=\"color: #6cb6ff;\">30<\/span><span style=\"color: #adbac7;\">).<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #6cb6ff;\">01<\/span><span style=\"color: #adbac7;\"> EMPLOYEE-ID     <\/span><span style=\"color: #f47067;\">PIC 9<\/span><span style=\"color: #adbac7;\">(<\/span><span style=\"color: #6cb6ff;\">6<\/span><span style=\"color: #adbac7;\">) <\/span><span style=\"color: #f47067;\">VALUE<\/span> <span style=\"color: #6cb6ff;\">123456<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n\r\n<span class=\"line\"><span style=\"color: #f47067;\">PROCEDURE DIVISION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\">    <span style=\"color: #f47067;\">CALL<\/span> <span style=\"color: #96d0ff;\">'DB2SUB'<\/span> <span style=\"color: #f47067;\">USING<\/span><span style=\"color: #adbac7;\"> EMPLOYEE-ID EMPLOYEE-NAME<\/span><\/span>\r\n<span class=\"line\">    <span style=\"color: #f47067;\">DISPLAY<\/span> <span style=\"color: #96d0ff;\">\"Employee: \"<\/span><span style=\"color: #adbac7;\"> EMPLOYEE-NAME<\/span><\/span>\r\n<span class=\"line\">    <span style=\"color: #f47067;\">STOP RUN<\/span><span style=\"color: #adbac7;\">.<\/span><\/span><\/code><\/pre>\r\n<\/div>\r\n\r\n\r\n\r\n<p><strong>COBOL-DB2 Subprogram (<code>DB2SUB.CBL<\/code>):<\/strong><\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" style=\"font-size: .875rem; font-family: Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; --cbp-line-number-color: #adbac7; --cbp-line-number-width: 15.387496948242188px; line-height: 1.25rem;\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\"><span style=\"display: flex; align-items: center; padding: 10px 0px 10px 16px; margin-bottom: -2px; width: 100%; text-align: left; background-color: #2d333d; color: #9eadbd;\">COBOL<\/span>\r\n<pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e;\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #f47067;\">IDENTIFICATION DIVISION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #f47067;\">PROGRAM-ID<\/span><span style=\"color: #adbac7;\">. <\/span><span style=\"color: #dcbdfb;\">DB2SUB<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n\r\n<span class=\"line\"><span style=\"color: #f47067;\">DATA DIVISION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #f47067;\">LINKAGE SECTION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #6cb6ff;\">01<\/span><span style=\"color: #adbac7;\"> EMP-ID-IN       <\/span><span style=\"color: #f47067;\">PIC 9<\/span><span style=\"color: #adbac7;\">(<\/span><span style=\"color: #6cb6ff;\">6<\/span><span style=\"color: #adbac7;\">).<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #6cb6ff;\">01<\/span><span style=\"color: #adbac7;\"> EMP-NAME-OUT    <\/span><span style=\"color: #f47067;\">PIC X<\/span><span style=\"color: #adbac7;\">(<\/span><span style=\"color: #6cb6ff;\">30<\/span><span style=\"color: #adbac7;\">).<\/span><\/span>\r\n\r\n<span class=\"line\"><span style=\"color: #f47067;\">PROCEDURE DIVISION<\/span> <span style=\"color: #f47067;\">USING<\/span><span style=\"color: #adbac7;\"> EMP-ID-IN EMP-NAME-OUT.<\/span><\/span>\r\n<span class=\"line\">    <span style=\"color: #f47067;\">EXEC SQL<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #f47067;\">        SELECT EMP_NAME INTO <\/span><span style=\"color: #f69d50;\">:EMP-NAME-OUT<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #f47067;\">        FROM EMPLOYEES<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #f47067;\">        WHERE EMP_ID = <\/span><span style=\"color: #f69d50;\">:EMP-ID-IN<\/span><span style=\"color: #f47067;\">;<\/span><\/span>\r\n\r\n<span class=\"line\"><span style=\"color: #f47067;\">    EXIT PROGRAM.<\/span><\/span><\/code><\/pre>\r\n<\/div>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\" start=\"4\">\r\n<li>Calling a Non-COBOL Program: COBOL can also call programs written in other languages, provided there is interoperability. In this scenario, let&#8217;s consider calling a C program from COBOL.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<p><strong>Example:<\/strong><\/p>\r\n\r\n\r\n\r\n<p>Main COBOL Program (<code><strong>MAINPROGRAM.CBL<\/strong><\/code>):<\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" style=\"font-size: .875rem; font-family: Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; --cbp-line-number-color: #adbac7; --cbp-line-number-width: 15.400001525878906px; line-height: 1.25rem;\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\"><span style=\"display: flex; align-items: center; padding: 10px 0px 10px 16px; margin-bottom: -2px; width: 100%; text-align: left; background-color: #2d333d; color: #9eadbd;\">COBOL<\/span>\r\n<pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e;\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #f47067;\">IDENTIFICATION DIVISION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #f47067;\">PROGRAM-ID<\/span><span style=\"color: #adbac7;\">. <\/span><span style=\"color: #dcbdfb;\">MAINPROGRAM<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n\r\n<span class=\"line\"><span style=\"color: #f47067;\">DATA DIVISION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #f47067;\">WORKING-STORAGE SECTION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #6cb6ff;\">01<\/span><span style=\"color: #adbac7;\"> NUM         <\/span><span style=\"color: #f47067;\">PIC 9<\/span><span style=\"color: #adbac7;\">(<\/span><span style=\"color: #6cb6ff;\">3<\/span><span style=\"color: #adbac7;\">) <\/span><span style=\"color: #f47067;\">VALUE<\/span> <span style=\"color: #6cb6ff;\">50<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n\r\n<span class=\"line\"><span style=\"color: #f47067;\">PROCEDURE DIVISION<\/span><span style=\"color: #adbac7;\">.<\/span><\/span>\r\n<span class=\"line\">    <span style=\"color: #f47067;\">CALL<\/span> <span style=\"color: #96d0ff;\">'CPROG'<\/span> <span style=\"color: #f47067;\">USING<\/span><span style=\"color: #adbac7;\"> NUM<\/span><\/span>\r\n<span class=\"line\">    <span style=\"color: #f47067;\">DISPLAY<\/span> <span style=\"color: #96d0ff;\">\"Squared: \"<\/span><span style=\"color: #adbac7;\"> NUM<\/span><\/span>\r\n<span class=\"line\">    <span style=\"color: #f47067;\">STOP RUN<\/span><span style=\"color: #adbac7;\">.<\/span><\/span><\/code><\/pre>\r\n<\/div>\r\n\r\n\r\n\r\n<p><strong>C Program (<code>CPROG.C<\/code>):<\/strong><\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" style=\"font-size: .875rem; font-family: Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; --cbp-line-number-color: #adbac7; --cbp-line-number-width: 7.6999993324279785px; line-height: 1.25rem;\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\"><span style=\"display: flex; align-items: center; padding: 10px 0px 10px 16px; margin-bottom: -2px; width: 100%; text-align: left; background-color: #2d333d; color: #9eadbd;\">C<\/span>\r\n<pre class=\"shiki github-dark-dimmed\" style=\"background-color: #22272e;\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #f47067;\">#include<\/span> <span style=\"color: #96d0ff;\">&lt;stdio.h&gt;<\/span><\/span>\r\n\r\n<span class=\"line\"><span style=\"color: #f47067;\">void<\/span> <span style=\"color: #dcbdfb;\">cprog_<\/span><span style=\"color: #adbac7;\">(<\/span><span style=\"color: #f47067;\">int<\/span> <span style=\"color: #f47067;\">*<\/span><span style=\"color: #f69d50;\">num<\/span><span style=\"color: #adbac7;\">) {<\/span><\/span>\r\n<span class=\"line\">    <span style=\"color: #f47067;\">*<\/span><span style=\"color: #adbac7;\">num <\/span><span style=\"color: #f47067;\">=<\/span><span style=\"color: #adbac7;\"> (<\/span><span style=\"color: #f47067;\">*<\/span><span style=\"color: #adbac7;\">num) <\/span><span style=\"color: #f47067;\">*<\/span><span style=\"color: #adbac7;\"> (<\/span><span style=\"color: #f47067;\">*<\/span><span style=\"color: #adbac7;\">num);<\/span><\/span>\r\n<span class=\"line\"><span style=\"color: #adbac7;\">}<\/span><\/span><\/code><\/pre>\r\n<\/div>\r\n\r\n\r\n\r\n<p><strong>Conclusion<\/strong><\/p>\r\n\r\n\r\n\r\n<p>The CALL statement is a powerful feature in COBOL that enables modular programming and code reuse. It allows COBOL programs to call internal and external subprograms, including COBOL-DB2 programs and programs written in other languages. By harnessing the capabilities of the CALL statement, developers can create more organized, maintainable, and efficient applications. Whether it&#8217;s breaking down complex tasks, integrating with databases, or collaborating with other programming languages, the CALL statement empowers COBOL programmers to build robust and versatile solutions for a wide range of business and technical requirements.<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>Introduction COBOL (Common Business-Oriented Language) has been a workhorse of the programming world for decades, especially in business and financial [&hellip;]<\/p>\n","protected":false},"author":515,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27],"tags":[306,465,463,342,41,37,464,462],"class_list":["post-1577","post","type-post","status-publish","format-standard","hentry","category-cobol","tag-cobol-2","tag-cobol-db2","tag-cobol-db2-subprogram","tag-common-business-oriented-language","tag-db2","tag-mainframes","tag-subprogram","tag-understanding-the-call-statement"],"amp_enabled":true,"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"zMainframes","author_link":"https:\/\/zmainframes.com\/zlog\/author\/zmainframes\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/zmainframes.com\/zlog\/mainframes\/cobol\/\" rel=\"category tag\">Cobol<\/a>","rttpg_excerpt":"Introduction COBOL (Common Business-Oriented Language) has been a workhorse of the programming world for decades, especially in business and financial [&hellip;]","_links":{"self":[{"href":"https:\/\/zmainframes.com\/zlog\/wp-json\/wp\/v2\/posts\/1577","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zmainframes.com\/zlog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zmainframes.com\/zlog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zmainframes.com\/zlog\/wp-json\/wp\/v2\/users\/515"}],"replies":[{"embeddable":true,"href":"https:\/\/zmainframes.com\/zlog\/wp-json\/wp\/v2\/comments?post=1577"}],"version-history":[{"count":2,"href":"https:\/\/zmainframes.com\/zlog\/wp-json\/wp\/v2\/posts\/1577\/revisions"}],"predecessor-version":[{"id":2001,"href":"https:\/\/zmainframes.com\/zlog\/wp-json\/wp\/v2\/posts\/1577\/revisions\/2001"}],"wp:attachment":[{"href":"https:\/\/zmainframes.com\/zlog\/wp-json\/wp\/v2\/media?parent=1577"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zmainframes.com\/zlog\/wp-json\/wp\/v2\/categories?post=1577"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zmainframes.com\/zlog\/wp-json\/wp\/v2\/tags?post=1577"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}