Try OpenEdge Now
skip to main content
Programming Interfaces
External Program Interfaces : Host Language Call Interface : Overview of HLC
 

Overview of HLC

You can use HLC to add virtually any feature to ABL that is written in C and that follows HLC programming rules. To use HLC, you should be familiar with the following topics:
*Using the ABL client.
*Using the OEBuild utility. For more information on the OEBuild Utility, see the appendix on building executables in OpenEdge Deployment: Managing ABL Applications.
*Designing, compiling, and linking C programs. See the C documentation for more information.
The following figure illustrates the steps to build an HLC executable.
Figure 63. Steps to build an HLC executable
To build an HLC executable:
1. Write your C functions and update the PRODSP() dispatch routine contained in hlprodsp.c.
2. Compile your C routine source files and the hlprodsp.c dispatch routine source file.
3. Use the OEBuild utility to generate a link script for your executable.
4. Link your C object files, the hlprodsp.c dispatch routine object file, and ABL object files, using the link script that OEBuild generates.
For more information on the OEBuild utility, see the appendix on building executables in OpenEdge Deployment: Managing ABL Applications.
To use HLC you must build an HLC executable. An HLC executable is an ABL module with your C functions linked. Once you build an HLC executable, you can use the CALL statement to execute a linked C function from an ABL procedure.
* Using the CALL statement
* Mapping routine identifiers using PRODSP()