<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to define arguments for callable programs written in COBOL in Operating System - OpenVMS</title>
    <link>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998046#M34969</link>
    <description>Richard,&lt;BR /&gt;&lt;BR /&gt;In the "By Descriptor" example, is it the LIB$SCOPY_DXDX call that handles size mismatches in parameters between calling and called programs?&lt;BR /&gt;&lt;BR /&gt;I want to code my sub-program with, say, a 1000 byte string variable for some text manipulation.  But I want the calling program to be able to define that at any lengnth 1 to 1000.  No need to define 1000 byte field when I know I will only need 20 bytes in a particular main program.&lt;BR /&gt;&lt;BR /&gt;See my attached examples.  A1.exe works because the sizes match.  A2.exe hangs.  B.cob currently doesn't do anything special to resolve the size differences.&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;&lt;BR /&gt;John</description>
    <pubDate>Mon, 21 Aug 2006 16:38:34 GMT</pubDate>
    <dc:creator>John T. Farmer</dc:creator>
    <dc:date>2006-08-21T16:38:34Z</dc:date>
    <item>
      <title>How to define arguments for callable programs written in COBOL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998035#M34958</link>
      <description>What is the proper syntax for call arguments in a called COBOL program.  I wish to adhere to the standard calling procedures used by the RTL ("By Descriptor", "By Referenc" &amp;amp; "By Value").  I have seen that coded in COBOL where upon entering the called program, it had to resolve the variable addresses and again, upon exiting, it had to copy the information back to any return arguments.  My only experience has been in passing fixed field length data on the "Procedure Division Using" line.&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;&lt;BR /&gt;John&lt;BR /&gt;OpenVMS v7.2&lt;BR /&gt;COBOL v2.6-1060&lt;BR /&gt;Alpha hardware</description>
      <pubDate>Thu, 17 Aug 2006 14:02:16 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998035#M34958</guid>
      <dc:creator>John T. Farmer</dc:creator>
      <dc:date>2006-08-17T14:02:16Z</dc:date>
    </item>
    <item>
      <title>Re: How to define arguments for callable programs written in COBOL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998036#M34959</link>
      <description>John,&lt;BR /&gt;&lt;BR /&gt;[Welcome to the HP ITRC OpenVMS Forum]&lt;BR /&gt;&lt;BR /&gt;All this is nswerred in great detail in the Cobol Users Guide: "Interprogram Communication&lt;BR /&gt;12.4 Accessing Another Programâ  s Data Division"&lt;BR /&gt;You can only receive by reference. &lt;BR /&gt;You'll have to play games (typically LIB$COPYxxxx and LIB$MOVxxx calls, or even cobol helper functions) to deal with descriptors. And "SET {pointer-id} . . . TO REFERENCE OF identifier" to get at data passed by value.&lt;BR /&gt;&lt;BR /&gt;"A called COBOL subprogram must have arguments passed to it using&lt;BR /&gt;BY REFERENCE, which is the default, or BY CONTENT. BY VALUE,&lt;BR /&gt;OMITTED, and BY DESCRIPTOR are HP extensions and will not work&lt;BR /&gt;as expected if passed to a COBOL program. These argument-passing&lt;BR /&gt;mechanisms are necessary when calling Run-Time Library Routines and&lt;BR /&gt;system service routines as described in Chapter 13."&lt;BR /&gt;&lt;BR /&gt;Good luck,&lt;BR /&gt;Hein.&lt;BR /&gt;</description>
      <pubDate>Thu, 17 Aug 2006 14:45:11 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998036#M34959</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2006-08-17T14:45:11Z</dc:date>
    </item>
    <item>
      <title>Re: How to define arguments for callable programs written in COBOL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998037#M34960</link>
      <description>Hein,&lt;BR /&gt;&lt;BR /&gt;Thank you for the detailed response.  I have been away from VMS for about 4 years.  A little rusty, but that info sounds familiar. Thanks for the doc reference.&lt;BR /&gt;&lt;BR /&gt;John</description>
      <pubDate>Thu, 17 Aug 2006 14:57:59 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998037#M34960</guid>
      <dc:creator>John T. Farmer</dc:creator>
      <dc:date>2006-08-17T14:57:59Z</dc:date>
    </item>
    <item>
      <title>Re: How to define arguments for callable programs written in COBOL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998038#M34961</link>
      <description>Hi John,&lt;BR /&gt;&lt;BR /&gt;Attached is a COBOL example program that receives arguments BY DESCRIPTOR (or more specifically, receives Descriptors BY REFERENCE :-)&lt;BR /&gt;&lt;BR /&gt;Look for the TIP_LOGON routine, and also the OUT_MSG that is called by SYS$PUTMSG with the message text passed BY DESCRIPTOR.&lt;BR /&gt;&lt;BR /&gt;I don't think there's and BY VALUE passing in there but, as Hein pointed out, you just SET WS_POINTER_VAR TO REFERENCE LINKAGE_SECTION_VAR and the 32-bit value will be stuck in your pointer. (What if it's a pointer-64?)&lt;BR /&gt;&lt;BR /&gt;Regards Richard Maher</description>
      <pubDate>Fri, 18 Aug 2006 05:47:21 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998038#M34961</guid>
      <dc:creator>Richard J Maher</dc:creator>
      <dc:date>2006-08-18T05:47:21Z</dc:date>
    </item>
    <item>
      <title>Re: How to define arguments for callable programs written in COBOL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998039#M34962</link>
      <description>Many years ago I taught the class, Utilizing&lt;BR /&gt;VMS Features from Cobol.  If you search the data base, there are a bunch of examples of various calls.&lt;BR /&gt;&lt;BR /&gt;Search under Example-COBOL.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 18 Aug 2006 07:38:54 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998039#M34962</guid>
      <dc:creator>comarow</dc:creator>
      <dc:date>2006-08-18T07:38:54Z</dc:date>
    </item>
    <item>
      <title>Re: How to define arguments for callable programs written in COBOL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998040#M34963</link>
      <description>I'm sorry, where would I do that search?  I am new to this group.&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;&lt;BR /&gt;John</description>
      <pubDate>Fri, 18 Aug 2006 14:13:00 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998040#M34963</guid>
      <dc:creator>John T. Farmer</dc:creator>
      <dc:date>2006-08-18T14:13:00Z</dc:date>
    </item>
    <item>
      <title>Re: How to define arguments for callable programs written in COBOL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998041#M34964</link>
      <description>John,&lt;BR /&gt;&lt;BR /&gt;It appears they are in an older database.&lt;BR /&gt;If you give me your email address I'll send you some examples, or log a call.&lt;BR /&gt;&lt;BR /&gt;Bob C.&lt;BR /&gt;</description>
      <pubDate>Fri, 18 Aug 2006 14:45:09 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998041#M34964</guid>
      <dc:creator>comarow</dc:creator>
      <dc:date>2006-08-18T14:45:09Z</dc:date>
    </item>
    <item>
      <title>Re: How to define arguments for callable programs written in COBOL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998042#M34965</link>
      <description>John,&lt;BR /&gt;&lt;BR /&gt;PLEASE, no plain e-mail adresses!&lt;BR /&gt;It is easy enough to morph them such tat a human can reconstruct it.&lt;BR /&gt;&lt;BR /&gt;These fora, like so many others, are quite popular for address-minibg!.&lt;BR /&gt;&lt;BR /&gt;I wil ask a moderator to change it aASAP.&lt;BR /&gt;&lt;BR /&gt;Proost.&lt;BR /&gt;&lt;BR /&gt;Have one on me.&lt;BR /&gt;&lt;BR /&gt;jpe</description>
      <pubDate>Fri, 18 Aug 2006 15:53:35 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998042#M34965</guid>
      <dc:creator>Jan van den Ende</dc:creator>
      <dc:date>2006-08-18T15:53:35Z</dc:date>
    </item>
    <item>
      <title>Re: How to define arguments for callable programs written in COBOL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998043#M34966</link>
      <description>I sent a collection of old VAX examples.&lt;BR /&gt;Not much has changed.</description>
      <pubDate>Fri, 18 Aug 2006 16:27:32 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998043#M34966</guid>
      <dc:creator>comarow</dc:creator>
      <dc:date>2006-08-18T16:27:32Z</dc:date>
    </item>
    <item>
      <title>Re: How to define arguments for callable programs written in COBOL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998044#M34967</link>
      <description>Hi John,&lt;BR /&gt;&lt;BR /&gt;Here's one I prepared earlier :-)&lt;BR /&gt;&lt;BR /&gt;I knew I had a reasonable example of BY VALUE passing in COBOL so here it is. (A good example of I$CC calling also, if I do say so myself)&lt;BR /&gt;&lt;BR /&gt;Good luck!&lt;BR /&gt;&lt;BR /&gt;Regards Richard Maher</description>
      <pubDate>Mon, 21 Aug 2006 09:02:55 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998044#M34967</guid>
      <dc:creator>Richard J Maher</dc:creator>
      <dc:date>2006-08-21T09:02:55Z</dc:date>
    </item>
    <item>
      <title>Re: How to define arguments for callable programs written in COBOL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998045#M34968</link>
      <description>Thanks to all for examples.  For me, that is the best way to learn.  Knocking off the rust on my COBOL skills and this is very helpful.&lt;BR /&gt;&lt;BR /&gt;John</description>
      <pubDate>Mon, 21 Aug 2006 10:07:00 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998045#M34968</guid>
      <dc:creator>John T. Farmer</dc:creator>
      <dc:date>2006-08-21T10:07:00Z</dc:date>
    </item>
    <item>
      <title>Re: How to define arguments for callable programs written in COBOL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998046#M34969</link>
      <description>Richard,&lt;BR /&gt;&lt;BR /&gt;In the "By Descriptor" example, is it the LIB$SCOPY_DXDX call that handles size mismatches in parameters between calling and called programs?&lt;BR /&gt;&lt;BR /&gt;I want to code my sub-program with, say, a 1000 byte string variable for some text manipulation.  But I want the calling program to be able to define that at any lengnth 1 to 1000.  No need to define 1000 byte field when I know I will only need 20 bytes in a particular main program.&lt;BR /&gt;&lt;BR /&gt;See my attached examples.  A1.exe works because the sizes match.  A2.exe hangs.  B.cob currently doesn't do anything special to resolve the size differences.&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;&lt;BR /&gt;John</description>
      <pubDate>Mon, 21 Aug 2006 16:38:34 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998046#M34969</guid>
      <dc:creator>John T. Farmer</dc:creator>
      <dc:date>2006-08-21T16:38:34Z</dc:date>
    </item>
    <item>
      <title>Re: How to define arguments for callable programs written in COBOL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998047#M34970</link>
      <description>Richard,&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt; In the "By Descriptor" example, is it the LIB$SCOPY_DXDX call that handles size mismatches in parameters between calling and called programs?&lt;BR /&gt;&lt;BR /&gt;Yeah, but you want to focus on the STR$COPY calls IMHO.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt; I want to code my sub-program with, say, a 1000 byte string variable for some text manipulation. But I want the calling program to be able to define that at any lengnth 1 to 1000. No need to define 1000 byte field when I know I will only need 20 bytes in a particular main program.&lt;BR /&gt;&lt;BR /&gt;How is the called program to know how much data to work on. You'll need to pass an explicit length in a param, or pass by descriptor and decode the descriptor, or... use a terminator: yuck!&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt; . A2.exe hangs. B.cob currently doesn't do anything special to resolve the size differences.&lt;BR /&gt;&lt;BR /&gt;Righth. So B will just display 1000 bytes starting at the buffer pointend to by A2, but that only points to 200 initialized values. Beyond that, it it 'pot luck'. The program will send semi-random data to the terminal, which apparently manged to hang it. The program 'hang' is just it waiting for terminal IO to finish.&lt;BR /&gt;&lt;BR /&gt;Hein.&lt;BR /&gt;</description>
      <pubDate>Mon, 21 Aug 2006 22:04:29 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998047#M34970</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2006-08-21T22:04:29Z</dc:date>
    </item>
    <item>
      <title>Re: How to define arguments for callable programs written in COBOL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998048#M34971</link>
      <description>See, what I'm getting at is, being able to write a COBOL program (like program B) using the calling mechanism like the lib$ or str$ functions.  Like STR$TRIM.  I don't have to match the parameters exact size.  The calling program handles that.  So yes, I'd like to be able to handle 'BY DESCRIPTOR' for variable sizes.&lt;BR /&gt;&lt;BR /&gt;I actually did one of these years ago (using another example from our tech staff) and remembered having to do some system calls to resolve the length and copy to the actual work string inside the CALLED program.&lt;BR /&gt;&lt;BR /&gt;I feel like the code I need is in one of these examples, I'm just overlooking it.&lt;BR /&gt;&lt;BR /&gt;Thanks for your patience, guys...&lt;BR /&gt;&lt;BR /&gt;John</description>
      <pubDate>Tue, 22 Aug 2006 07:48:55 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998048#M34971</guid>
      <dc:creator>John T. Farmer</dc:creator>
      <dc:date>2006-08-22T07:48:55Z</dc:date>
    </item>
    <item>
      <title>Re: How to define arguments for callable programs written in COBOL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998049#M34972</link>
      <description>&lt;!--!*#--&gt;No takers?&lt;BR /&gt;&lt;BR /&gt;First, to 'see' what went wrong with your A2, do a $define/user sys$output a2.log.&lt;BR /&gt;Then $run A2&lt;BR /&gt;and $dump/record a2.log&lt;BR /&gt;&lt;BR /&gt;---- solution 1 ----&lt;BR /&gt;Change the caller to call "BY DESCRITOR data-element".&lt;BR /&gt;&lt;BR /&gt;Use a helper routine to de-reference the argument. The first layer, accepts the descriptor as a structure and passed on teh firrst element as the length, and then passes the VALUE of the next element which in fact is the address of the data element.&lt;BR /&gt;The Real McCoy, takes the low word from the length and uses that in a reference modification to the data.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;IDENTIFICATION DIVISION.&lt;BR /&gt;PROGRAM-ID.     CALLEDPROG.&lt;BR /&gt;DATA DIVISION.&lt;BR /&gt;WORKING-STORAGE SECTION.&lt;BR /&gt;LINKAGE SECTION.&lt;BR /&gt;01 DESC.&lt;BR /&gt;03  DESC_LENGTH         PIC 9(9) COMP.&lt;BR /&gt;03  DESC_ADDRESS        USAGE POINTER.&lt;BR /&gt;01  L-1000-CHAR         PIC X(1000).&lt;BR /&gt;&lt;BR /&gt;PROCEDURE DIVISION USING DESC.&lt;BR /&gt;0000.&lt;BR /&gt;        CALL "REALMCCOY" USING DESC_LENGTH, BY VALUE DESC_ADDRESS.&lt;BR /&gt;        EXIT PROGRAM.&lt;BR /&gt;&lt;BR /&gt;-----&lt;BR /&gt;&lt;BR /&gt;IDENTIFICATION DIVISION.&lt;BR /&gt;PROGRAM-ID.     REALMCCOY.&lt;BR /&gt;DATA DIVISION.&lt;BR /&gt;WORKING-STORAGE SECTION.&lt;BR /&gt;LINKAGE SECTION.&lt;BR /&gt;01  DESC_LENGTH.&lt;BR /&gt;03  DESC_LENGTH_WORD    PIC 9(4) COMP.&lt;BR /&gt;03  FILLER              PIC XX.&lt;BR /&gt;01  L-1000-CHAR         PIC X(1000).&lt;BR /&gt;&lt;BR /&gt;PROCEDURE DIVISION USING DESC_LENGTH, L-1000-CHAR.&lt;BR /&gt;0000.&lt;BR /&gt;        DISPLAY 'L-1000-CHAR=' L-1000-CHAR(1:DESC_LENGTH_WORD).&lt;BR /&gt;        EXIT PROGRAM.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;---- solution 2 ----&lt;BR /&gt;Change the caller to call "BY DESCRITOR data-element".&lt;BR /&gt;Now use library routines to play with the descriptor. Where thy expect an argmument by descriptor, just pass along the address of the received descriptor.&lt;BR /&gt;&lt;BR /&gt;IDENTIFICATION DIVISION.&lt;BR /&gt;PROGRAM-ID.     CALLEDPROG.&lt;BR /&gt;DATA DIVISION.&lt;BR /&gt;WORKING-STORAGE SECTION.&lt;BR /&gt;01  DESC_LENGTH         PIC 9(9) COMP.&lt;BR /&gt;01  DESC_ADDRESS        USAGE POINTER.&lt;BR /&gt;01  L-1000-CHAR         PIC X(1000).&lt;BR /&gt;&lt;BR /&gt;LINKAGE SECTION.&lt;BR /&gt;01 DESC PIC X.&lt;BR /&gt;&lt;BR /&gt;PROCEDURE DIVISION USING DESC.&lt;BR /&gt;0000.&lt;BR /&gt;        CALL "STR$ANALYZE_SDESC"  USING BY REFERENCE DESC,&lt;BR /&gt;                BY REFERENCE DESC_LENGTH,  BY REFERENCE DESC_ADDRESS.&lt;BR /&gt;        CALL "STR$COPY_DX" USING BY REFERENCE DESC,  BY DESCRIPTOR L-1000-CHAR.&lt;BR /&gt;        DISPLAY 'length=', DESC_LENGTH with conversion.&lt;BR /&gt;        DISPLAY 'L-1000-CHAR=' L-1000-CHAR(1:DESC_LENGTH).&lt;BR /&gt;&lt;BR /&gt;        EXIT PROGRAM.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Enjoy,&lt;BR /&gt;Hein.&lt;BR /&gt;</description>
      <pubDate>Tue, 22 Aug 2006 23:09:21 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998049#M34972</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2006-08-22T23:09:21Z</dc:date>
    </item>
    <item>
      <title>Re: How to define arguments for callable programs written in COBOL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998050#M34973</link>
      <description>I found the solution to be with LIB$CVT_DX_DX.  See attached examples.  Thanks to all for putting me on the right trail.&lt;BR /&gt;&lt;BR /&gt;John</description>
      <pubDate>Wed, 23 Aug 2006 12:22:02 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998050#M34973</guid>
      <dc:creator>John T. Farmer</dc:creator>
      <dc:date>2006-08-23T12:22:02Z</dc:date>
    </item>
    <item>
      <title>Re: How to define arguments for callable programs written in COBOL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998051#M34974</link>
      <description>John,&lt;BR /&gt;&lt;BR /&gt;perhaps now would be a good time to check&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://forums1.itrc.hp.com/service/forums/helptips.do?#33" target="_blank"&gt;http://forums1.itrc.hp.com/service/forums/helptips.do?#33&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;and quantify your thanks to those who helped.&lt;BR /&gt;&lt;BR /&gt;Proost.&lt;BR /&gt;&lt;BR /&gt;Have one on me.&lt;BR /&gt;&lt;BR /&gt;jpe</description>
      <pubDate>Wed, 23 Aug 2006 13:20:52 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998051#M34974</guid>
      <dc:creator>Jan van den Ende</dc:creator>
      <dc:date>2006-08-23T13:20:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to define arguments for callable programs written in COBOL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998052#M34975</link>
      <description>Hi Hein,&lt;BR /&gt;&lt;BR /&gt;I'm Richard, he's John :-)&lt;BR /&gt;&lt;BR /&gt;The only thing about the STR$ versions is they they often wish to signal errors and one really shouldn't rely on cob$handler's behaviour in these circumstances. So unless you've lib$established a condition handler (or at least lib$sig_to_ret) then I'd opt for the lib$ versions.&lt;BR /&gt;&lt;BR /&gt;Didn't fancy the Bruden gig?&lt;BR /&gt;&lt;BR /&gt;Hi John,&lt;BR /&gt;&lt;BR /&gt;Lib$cvt_dx appears to do a lot more than you were looking for but if it works for you then great.&lt;BR /&gt;&lt;BR /&gt;As you've seen, you don't have to use lib$analyze_sdesc to break up the descriptor as you already have it in the Linkage Section (Some validation of what classes will be handled maybe useful)&lt;BR /&gt;&lt;BR /&gt;Also, don't be afraid to subsequently pass the Linkag Section Descriptor "By Reference" to a routine that is asking for an argument "By Descriptor" (That is, you can dispense with the intermediate step of copying the string to your local WS-VAR and then passing that by descriptor.&lt;BR /&gt;&lt;BR /&gt;Regards Richard Maher&lt;BR /&gt;&lt;BR /&gt;PS. UPPER CASE IS NOT COMPULSORY FOR cobol</description>
      <pubDate>Sat, 26 Aug 2006 18:49:30 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998052#M34975</guid>
      <dc:creator>Richard J Maher</dc:creator>
      <dc:date>2006-08-26T18:49:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to define arguments for callable programs written in COBOL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998053#M34976</link>
      <description>&amp;gt;&amp;gt; Hi Hein,&lt;BR /&gt;&amp;gt;&amp;gt; I'm Richard, he's John :-)&lt;BR /&gt;&lt;BR /&gt;Ooops.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt; The only thing about the STR$ versions is &amp;gt;&amp;gt; they they often wish to signal errors and &lt;BR /&gt;&lt;BR /&gt;Yeah STR$ seems the heaviest, next LIB$ then OTS$SCOPY__DXDX&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt; As you've seen, you don't have to use lib$analyze_sdesc to break up the descriptor &lt;BR /&gt;&lt;BR /&gt;Right, my example shows that also.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt; PS. UPPER CASE IS NOT COMPULSORY FOR cobol&lt;BR /&gt;&lt;BR /&gt;But is is so ADDICTIVE...&lt;BR /&gt;&lt;BR /&gt;Hein.&lt;BR /&gt;</description>
      <pubDate>Sun, 27 Aug 2006 21:59:06 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998053#M34976</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2006-08-27T21:59:06Z</dc:date>
    </item>
    <item>
      <title>Re: How to define arguments for callable programs written in COBOL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998054#M34977</link>
      <description>Thanks to all that replied. JF</description>
      <pubDate>Mon, 16 Oct 2006 08:14:42 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/how-to-define-arguments-for-callable-programs-written-in-cobol/m-p/4998054#M34977</guid>
      <dc:creator>John T. Farmer</dc:creator>
      <dc:date>2006-10-16T08:14:42Z</dc:date>
    </item>
  </channel>
</rss>

