There are couple of Opentext/Microfocus programs which are used to call the API, which have the Additional Directives of nsymbol(national) and intlevel(6). What "COBOL Dialect" should be used in VS 2022 program settings to compile these programs. Should it be "Enterprise COBOL for z/OS" or "MicroFocus" or something else?
------------------------------
Keerthi Shekar Shivaprasad
Software Development Lead
Owens & Minor
Mechanicsville VA US
------------------------------
Hi Keerthi,
As you may be aware directives can typically be set depending on what syntax your COBOL program uses, or in which context it run in, e.g. Enterprise Server (CICS or JCL etc) then you may consider to use DIALECT(ENTCOBOL) to enable mainframe API syntax to be supported. In which context is your COBOL program/application running in, is in a Enterprise Server region or a stand alone native COBOL program? Which APIs are you calling which have nsymbol(national) and intlevel(6) ?
You can review the information for these directives in the product documentation to gain an understanding what they are used for:
Here I notice that DIALECT"ENTCOBOL" sets NSYMBOL"NATIONAL" and intlevel is intended for internal use meaning it is not recommended to change that.
For information in case helpful:
DIALECT(ENTCOBOL) - Is typically used to emulate IBM mainframe behaviour on Enterprise Server.
DIALECT(MF) - Used to enable a specific set of features and behaviours that are compatible with Rocket Software (formerly Micro Focus) COBOL systems.
Please let me know if that helps, or if you have any questions.
------------------------------
Kim Hoskin
Lead Technical Support Specialist
Rocket Internal - All Brands
------------------------------
Hi Keerthi,
As you may be aware directives can typically be set depending on what syntax your COBOL program uses, or in which context it run in, e.g. Enterprise Server (CICS or JCL etc) then you may consider to use DIALECT(ENTCOBOL) to enable mainframe API syntax to be supported. In which context is your COBOL program/application running in, is in a Enterprise Server region or a stand alone native COBOL program? Which APIs are you calling which have nsymbol(national) and intlevel(6) ?
You can review the information for these directives in the product documentation to gain an understanding what they are used for:
Here I notice that DIALECT"ENTCOBOL" sets NSYMBOL"NATIONAL" and intlevel is intended for internal use meaning it is not recommended to change that.
For information in case helpful:
DIALECT(ENTCOBOL) - Is typically used to emulate IBM mainframe behaviour on Enterprise Server.
DIALECT(MF) - Used to enable a specific set of features and behaviours that are compatible with Rocket Software (formerly Micro Focus) COBOL systems.
Please let me know if that helps, or if you have any questions.
------------------------------
Kim Hoskin
Lead Technical Support Specialist
Rocket Internal - All Brands
------------------------------
The INTLEVEL directive no longer needs to be specified. It was required when we first introduced PIC N NATIONAL support.
If your program is non-mainframe based you will still need to specify NSYMBOL(NATIONAL) as it controls the meaning of PIC N and N" literals.
------------------------------
Steven Lalewicz
Lead Software Engineer
Rocket Software Forum Member
------------------------------
Hi Keerthi,
As you may be aware directives can typically be set depending on what syntax your COBOL program uses, or in which context it run in, e.g. Enterprise Server (CICS or JCL etc) then you may consider to use DIALECT(ENTCOBOL) to enable mainframe API syntax to be supported. In which context is your COBOL program/application running in, is in a Enterprise Server region or a stand alone native COBOL program? Which APIs are you calling which have nsymbol(national) and intlevel(6) ?
You can review the information for these directives in the product documentation to gain an understanding what they are used for:
Here I notice that DIALECT"ENTCOBOL" sets NSYMBOL"NATIONAL" and intlevel is intended for internal use meaning it is not recommended to change that.
For information in case helpful:
DIALECT(ENTCOBOL) - Is typically used to emulate IBM mainframe behaviour on Enterprise Server.
DIALECT(MF) - Used to enable a specific set of features and behaviours that are compatible with Rocket Software (formerly Micro Focus) COBOL systems.
Please let me know if that helps, or if you have any questions.
------------------------------
Kim Hoskin
Lead Technical Support Specialist
Rocket Internal - All Brands
------------------------------
Thanks Kim.
------------------------------
Keerthi Shekar Shivaprasad
Solutions Architect
Owens & Minor
Mechanicsville VA US
------------------------------
The INTLEVEL directive no longer needs to be specified. It was required when we first introduced PIC N NATIONAL support.
If your program is non-mainframe based you will still need to specify NSYMBOL(NATIONAL) as it controls the meaning of PIC N and N" literals.
------------------------------
Steven Lalewicz
Lead Software Engineer
Rocket Software Forum Member
------------------------------
Thanks Steven.
------------------------------
Keerthi Shekar Shivaprasad
Solutions Architect
Owens & Minor
Mechanicsville VA US
------------------------------