A static call is fine (I don't even know if C can do dynamic calls, except 
perhaps using DLLs).  Realize, though, that any time you change the called 
COBOL routine you'll have to relink (or "re-bind") any program that calls that 
routine.  This is because, as mentioned, doing a "static call" causes the IBM 
Binder to "bind the caller and the called modules together" into the same load 
module or "program object".  You may know of "binding" as what used to be call 
"link-editing".  The IBM Binder replaced the IBM linkage editor (some time ago).

As for AS INITIAL, it does not eliminate the need for VALUE clauses or explicit 
initialization.  All it does is it "applies" the VALUE clause to each 
associated working-storage field each time that your COBOL subroutine is 
called, rather than only the first time it is called.

Frank




>________________________________
> From: John Weber <[email protected]>
>To: [email protected] 
>Sent: Friday, October 19, 2012 10:28 AM
>Subject: Re: COBOL Compiler Question
> 
>Thanks Frank.
>
>I read over your email in detail.  It sounds like a static CALL is the way to 
>go.
>
>It's a C++ calling our COBOL module.  He mentioned an IBM BINDER 'binding' the 
>calling and called modules together.  I've never heard that term before.  Is 
>it a C++ term?
>
>Also, will the AS INITIAL cover the need for doing explicit initializations?  
>I'd like to avoid the human error potential.
>
>Thanks!
>
>John
>
>-----Original Message-----
>From: IBM Mainframe Discussion List [mailto:[email protected]] On 
>Behalf Of Frank Swarbrick
>Sent: Friday, October 19, 2012 9:14 AM
>To: [email protected]
>Subject: Re: COBOL Compiler Question
>
>That is so untrue I just don't know what to say.  Look back at my previous 
>response about how to compile with the CICS(NOLINKAGE) option and how to CALL 
>it.  Works great!
>
>But wait; is the called module written in C/C++, not COBOL?  If that is the 
>case then I can't say for sure.  I bet it is still possible, but I couldn't 
>say for sure how it could be done.
>
>Frank
>
>
>
>
>>________________________________
>> From: John Weber <[email protected]>
>>To: [email protected]
>>Sent: Friday, October 19, 2012 8:28 AM
>>Subject: Re: COBOL Compiler Question
>> 
>>Thank you for all inputs.
>>
>>The below information given to us by IBM states we are required by CICS 
>>to use LINK (or XCTL) and can't use CALL; we pass a COMMAREA and use 
>>EXEC CICS commands within our called module.
>>
>>Also, there is no evidence of a performance hit.  But since we can't 
>>use CALL as stated above, we need to use LINK no matter what.
>>
>>Our IBM source stated the following:
>>
>>'According to the z/OS C/C++ Programming  Guide, SC09-4765, the 
>>system() function is not supported under CICS.
>>However, there are two EXEC CICS commands that give you similar 
>>functionality they are:
>>EXEC CICS LINK EXEC CICS XCTL
>>   So to answer your question no a CALL can not be done.'
>>                                                        
>>'As far as high CPU consumption (slow performance) there are no known 
>>issues in the area of a EXEC CICS LINK and high CPU.'
>>
>>John
>>
>>-----Original Message-----
>>From: IBM Mainframe Discussion List [mailto:[email protected]] 
>>On Behalf Of Rick Arellanes
>>Sent: Tuesday, October 16, 2012 8:14 AM
>>To: [email protected]
>>Subject: Re: COBOL Compiler Question
>>
>>The COBOL Performance Tuning paper talks about the performance differences of 
>>using EXEC CICS LINK vs COBOL dynamic CALL. Perhaps this will be helpful to 
>>you. You can find the performance tuning paper on the COBOL page at: 
>>http://www.ibm.com/software/awdtools/cobol/library/ (scroll down near the 
>>bottom of the page). The most current one is Enterprise COBOL Version 4 
>>Release 2 Performance Tuning (which is at the top of the list). The CICS 
>>section starts on page 27.
>>
>>Rick Arellanes
>>IBM COBOL Development and Performance
>>
>>
>>On Fri, 12 Oct 2012 23:21:59 +0000, John Weber <[email protected]> wrote:
>>
>>>We have a COBOL CICS module being called using the LINK command.
>>>
>>>Here is the interface call:
>>>
>>>EXEC CICS
>>>                LINK PROGRAM('PROGRAM1')
>>>                RESP(WS-RESP)
>>>                COMMAREA(WS-COMMAREA)
>>>END-EXEC
>>>
>>>However, it has been brought up that creating  a bound module instead of 
>>>using LINK can speed up response time.
>>>
>>>Is this binding compiler in question CTRCOBMOD?  If so, is this worth 
>>>pursuing?
>>>
>>>Thanks a lot...
>>>
>>>John
>>>
>>>----------------------------------------------------------------------
>>>For IBM-MAIN subscribe / signoff / archive access instructions, send 
>>>email to [email protected] with the message: INFO IBM-MAIN
>>
>>----------------------------------------------------------------------
>>For IBM-MAIN subscribe / signoff / archive access instructions, send 
>>email to [email protected] with the message: INFO IBM-MAIN
>>
>>
>>----------------------------------------------------------------------
>>For IBM-MAIN subscribe / signoff / archive access instructions, send 
>>email to [email protected] with the message: INFO IBM-MAIN
>>
>>
>>
>
>----------------------------------------------------------------------
>For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
>[email protected] with the message: INFO IBM-MAIN
>
>----------------------------------------------------------------------
>For IBM-MAIN subscribe / signoff / archive access instructions,
>send email to [email protected] with the message: INFO IBM-MAIN
>
>
>

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to