[Info-vax] Calling $CREPRC in COBOL

Richard Maher maher_rjSPAMLESS at hotmail.com
Sat Jun 11 04:17:04 EDT 2022


On 11/06/2022 9:05 am, Richard Maher wrote:
> On 11/06/2022 1:39 am, VAXman- 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



More information about the Info-vax mailing list