Home      Mainframe Forum      Mainfarme Tutorials      IBM Manuals      Mainframe Interview Questions      Mainframe Books      IT News     SiteMap     Downloads


     
 
MAINFRAME - TIP OF THE DAY : All available storage is assigned to the job or jobstep, If REGION is coded 0K or 0M

Google
 
Web mainframegurukul.com

CALL statement USING logical-file-name

 
Post new topic   Reply to topic    mainframegurukul.com Forum Index -> COBOL
  View previous topic :: View next topic  
Author Message
kiranp78
Member


Joined: 10 Apr 2014
Posts: 5

Answer was approved by Question owner.
Useful Post
0 votes
Not an useful post
Greate Post!! Salute Author
0 salutes

PostPosted: Thu Oct 01, 2015 12:37 pm    Post subject: CALL statement USING logical-file-name Reply with quote

In few of our COBOL programs I see that they are CALLing another program with a logical file name in the USING clause. And the called program has defined the Procedure division USING linkage-storage-variable defined as X(133). refer the sample code provided below.

-----------------------------------------------------------------------------
ProgramA
...
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT INP-FILE ASSIGNED TO INPFILE.
...
DATA DIVISION.
FILE SECTION.
FD INP-FILE.
01 INP-REC PIC X(236).
...
PROCEDURE DIVISION.
...
CALL 'SOMEPGM' USING INP-FILE.

-----------------------------------------------------------------------------
ProgramB
...
DATA DIVISION.
LINKAGE SECTION.
01 WS-LEN PIC S9(04) COMP.
01 WS-INP-FILE PIC X(133).
01 WS-CODE PIC X(01).
...
PROCEDURE DIVISION.
...
ENTRY 'SOMEPGM' USING WS-INP-FILE
WS-CODE.
-----------------------------------------------------------------------------
The variable WS-INP-FILE is never used in the ProgramB after the ENTRY USING statement.

I have never used such CALLs with logical file name and I tried to look at IBM manuals and it just says that the data control block will be passed to the called program. I am trying to understand what exactly is being passed to the "Called" program and how it works? Can anybody who have used such technique can explain, please?
Back to top
View user's profile Send private message
Click here, If this post answer your question. <-- Click on right mark icon. If this post answer your question.

William Collins
Active Member


Joined: 24 May 2012
Posts: 714

Answer was approved by Question owner.
Useful Post
1 votes
Not an useful post
Greate Post!! Salute Author
0 salutes

PostPosted: Thu Oct 01, 2015 3:02 pm    Post subject: Reply with quote

As the documentation has told you, it is the Data Control Block (DCB).

The two programs you show do not match up. You would get a S0C4 in the CALLed program.

The PIC X(133) is garbage, indicating that whoever coded and used it didn't really know what they were doing.

I'd advise against attempting to use it for anything. It is not portable to other COBOL compilers (it is an IBM Extension to the language) and an absolute need for it for a business purpose would be incredibly rate.

If you are just interested, do some search-engineing for IBM Data Control Block layout, there are different ones depending on access method - QSAM for a plain sequential file.


Last edited by William Collins on Thu Oct 01, 2015 4:05 pm; edited 1 time in total
Back to top
View user's profile Send private message
Click here, If this post answer your question. <-- Click on right mark icon. If this post answer your question.
kiranp78
Member


Joined: 10 Apr 2014
Posts: 5

Answer was approved by Question owner.
Useful Post
0 votes
Not an useful post
Greate Post!! Salute Author
0 salutes

PostPosted: Thu Oct 01, 2015 3:48 pm    Post subject: Reply with quote

[quote="William Collins"] The two programs you show do not match up. You would get a S0C4 in the CALLed program. [/quote]

Sorry I did not get exactly why do you say they do not match up. I can not paste the exact code snippet from the programs, so I have extracted lines from the programs pasted here.

[quote="William Collins"] The PIC X(133) is garbage, indicating that whoever coded and used it didn't really know what they were doing.

I'd advise against attempting to use it for anything. It is not portable to other COBOL compilers (it is an IBM Extension to the language) and an absolute need for it for a business purpose would be incredibly rate.[/quote]

Exactly, I am planning to use a different COBOL compiler (migrating from IBM COBOL to Unix based COBOL compilers, which does not support it).

[quote="William Collins"] If you are just interested, do some search-engineing for IBM Datac Control Block layout, there are different ones depending on access method - QSAM for a plain sequential file.[/quote]

Thanks for the pointer.[/quote]
Back to top
View user's profile Send private message
Click here, If this post answer your question. <-- Click on right mark icon. If this post answer your question.
William Collins
Active Member


Joined: 24 May 2012
Posts: 714

Answer was approved by Question owner.
Useful Post
0 votes
Not an useful post
Greate Post!! Salute Author
0 salutes

PostPosted: Thu Oct 01, 2015 5:15 pm    Post subject: Reply with quote

Code:
CALL 'SOMEPGM' USING INP-FILE.


Code:
ENTRY 'SOMEPGM' USING WS-INP-FILE
WS-CODE.


The parameters don't match in number, and they should.
Back to top
View user's profile Send private message
Click here, If this post answer your question. <-- Click on right mark icon. If this post answer your question.
kiranp78
Member


Joined: 10 Apr 2014
Posts: 5

Answer was approved by Question owner.
Useful Post
0 votes
Not an useful post
Greate Post!! Salute Author
0 salutes

PostPosted: Thu Oct 01, 2015 6:17 pm    Post subject: Reply with quote

[quote="William Collins"][code]CALL 'SOMEPGM' USING INP-FILE. [/code]

[code]ENTRY 'SOMEPGM' USING WS-INP-FILE
WS-CODE.[/code]

The parameters don't match in number, and they should.[/quote]

Oops.. Did not notice that, yes. They are actually matching in the Called and Caller programs.
Back to top
View user's profile Send private message
Click here, If this post answer your question. <-- Click on right mark icon. If this post answer your question.
Display posts from previous:   
Post new topic   Reply to topic    mainframegurukul.com Forum Index -> COBOL All times are GMT + 5 Hours
Page 1 of 1



 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Related topics
 Topics   Replies   Author   Views   Last Post 
No new posts Query For IEBPTPCH 3 padmajeet.gaikwad 13445 Mon Feb 01, 2016 10:56 pm
academyindia4 View latest post
No new posts Unable to achieve below scenario using ICETOOL 27 sirianangel 33683 Mon Feb 01, 2016 10:01 pm
academyindia4 View latest post
No new posts Need to put records a Sorting order as mentioned below. 14 Yash1911 12634 Mon Jan 25, 2016 9:50 pm
academyindia4 View latest post
No new posts how to deal with the below scenario using iebgener 7 mainframes_6002 11170 Wed Dec 07, 2011 10:34 am
DikDude View latest post
No new posts Coulu someone explain the parameters in the below code? 1 lovely sweety 11352 Thu Jun 09, 2011 3:50 pm
dbzTHEdinosauer View latest post
 


Cobol Tutorial
This cobol tutorial covers most of the important topics like STRING, UNSTRING, COMP, COMP-3.....
DB2 Tutorial
DB2 Tutorial focuses on DB2 COBOL Programming. Explains in simple language. Some Chapters are locked, Forum members have free access to these chapters
CICS Tutorial
This CICS tutorial covers CICS concepts and CICS Basics, CICS COBOL Programming...
JCL Tutorial
This is most popular JCL tutorial from mainframegurukul. It does contain important jcl ....
SORT Tutorial
This Tutorial covers all important aspects of DFSORT. Has more SORT examples
INTERVIEW Questions
This page covers important interview questions
Mainframe Jobs
Mainframe Jobs posted by members of mainframegurukul forum
FaceBook Page
MainframeGurukul FaceBook Page
LinkedIn Page
MainframeGurkul Linkedin Page

This widget requires Flash Player 9 or better







Go to top of the page
 

Online ABEND Reference ||  JCL References ||  COBOL References ||  VSAM References ||  Tutorials by Drona Series ||  SQL tutorial ||  BOOKS  ||  DB2 INTERVIEW QUESTIONS ||  COBOL INTERVIEW QUESTIONS  ||  JCL INTERVIEW QUESTIONS ||  JCL2 INTERVIEW QUESTIONS ||  VSAM INTERVIEW QUESTIONS ||  CICS INTERVIEW QUESTIONS  ||  Online tutorials ||  Online ABEND Reference ||  JCL References ||  COBOL References ||  VSAM References ||  Tutorials by Drona Series ||  SQL tutorial ||  BOOKS  ||  SiteMap  ||  Expeditor Tutorial  ||  FILE-AID Tutorial  ||  Changeman Tutorial  ||  COBOL   ||  DB2   ||  JCL  ||  CICS  ||  VSAM  ||  DB2 Interview Questions ( 110 )   || Simple JCL Tutorials  || JCL Tutorial from MainframeGurukul.com   || Simple JCL Tutorial - Chapter1 ;|| Mainframe Forum - Tutorials  || Mainframe Tutorials || Mainframe CICS tutorial|| Mainframe COBOL Tutorial

Drona Educational Forums - Mainframe Cobol DB2 CICS Board
Powered by phpBB

mainframetopic-7944.html