[Info-vax] Calling $CREPRC in COBOL

Richard Maher maher_rjSPAMLESS at hotmail.com
Wed Jun 15 04:54:05 EDT 2022


On 11/06/2022 6:10 pm, Phil Howell wrote:
> On Saturday, 11 June 2022 at 6:17:11 pm UTC+10, Richard Maher wrote:
>> On 11/06/2022 9:05 am, Richard Maher wrote:
>>> On 11/06/2022 1:39 am, VAX... at SendSpamHere.ORG wrote:
>>>>     10  ENQ-TYPE      PIC X(1)  VALUE EXTERNAL PQL$_ENQLM.
>>>> ..............^
>>>> %COBOL-E-EXTREFVAL, VALUE EXTERNAL clause ignored - valid only on COMP
>>>> data-item
>>>>
>>>> How do you put PQL$ items in to a COBOL "byte"?
>>>>
>>>
>>> Unfortunately COBOL has never supported by integers but there are
>>> several ways to do it. (I haven't fired up my VMS machines in 5 years
>>> otherwise I'd give you an example. Back in the day when google groups
>>> could search the archives you could find one of several $creprc examples
>>> with all parameters including TCB)
>>>
>>> Cumbersome: -
>>>
>>> 01 enqlm_word pic 9(4) comp value external pql$_enqlm.
>>> 01 enqlm_byte redefines enqlm_word.
>>>     03  pql_enqlm pic x.
>>>
>>> move pql_enqlm to somewhere.
>>>
>>> Lose external symbols and hard code: -
>>>
>>> Hexadecimal literals:
>>>
>>> 10  ENQ-TYPE      PIC X(1)  VALUE x"00".
>>>
>>> Special Names:
>>>
>>> SPECIAL-NAMES.
>>>      PQL$_ENQLM value is 44. (I don't know the value)
>>>
>>> 10  ENQ-TYPE      PIC X(1)  VALUE PQL$_ENQLM.
>>>
>>> The way I do it: -
>>>
>>> Define a global .PSECT in the same .MAR file that you already probably
>>> do for $pqldef GLOBAL
>>>
>>> Just lay it out as you would for macro.
>>>
>>> .psect fred long, gbl,shr,wrt,blah
>>>
>>> .byte pql$_enqlm
>>>
>>> Then declare an EXTERNAL variable as the same name as your global psect.
>>>
>>> 01 fred external.
>>>     03 pql$_enqlm pic x. (doesn't have to be same name)
>>>     03 pic x.
>>>
>>> * The last byte is NECESSARY to round up the psect size on Alpha, and
>>> * Itanium. Macro does this automatically.
>>>
>>> Again many examples in cov over the years
>> Below is an entry response. Need to find whole conversation or
>> view-as-tree: -
>>
>> https://groups.google.com/g/comp.os.vms/c/xJptlKOregU/m/y0s3fbcoqtQJ
>>
>> https://groups.google.com/g/comp.os.vms/c/xJptlKOregU/m/y0s3fbcoqtQ
>>
>> https://groups.google.com/g/comp.os.vms/c/TAmi6i8fMo0/m/1f1JnjqS8RsJ
> 
> Boldly going where no COBOL has been before
> 
> Nice to see dclexh used in anger again
> 
> I always found that compiling with /LIST and /MAP=DECLARED
> showed you what the layout actually is, rather than what you thought it was
> 

My not be strictly COBOL but the memory lingers: -

https://github.com/RichardMaher/Brotkrumen/blob/master/testmap.html


	<script type="application/javascript">
		'use strict';
		
/* identification division.
  * program-id.    YouCantTouchThis-BreakItDown.
  * author.        Richard Maher.
  * version.       1.0
  */

Because of the hard-coded Google Map Key, you must copy the file to your 
local system to run it.

Seems a lot of effort to get smooth marker movement but it's not up to me.



More information about the Info-vax mailing list