External classes act as placeholders for components outside your application. For example, they might represent a library or application. Alternatively, they might be a place holder for an unspecified, future inclusion. An external class has no stereotype.
Methods of External classes can be used to access entrypoints in MCP libraries. Methods of external classes are also equivalent to CALL logic command invocations in Enterprise Application Developer release 3.3. Refer to the Agile Business Suite Programming Reference Manual for more information on the migration of CALL commands in Agile Business Suite.
Migrated External classes use the built-in attribute Glb.Param to pass data to and from a called procedure. Glb.Param has a default size of 2000 characters and a maximum size of 99999 characters. The size of Glb.Param is entered using the Glb.Param Size Segment configuration property under the Runtime Options category.
For Algol style libraries, invoked from Agile Business Suite as external classes, the use of the SIZE/RESIZE intrinsic to manage the supplied string (ebcdic array) parameter is only supported if the calling LDL+ logic passes either Glb.Param or an attribute defined under a folder in the segment that conforms to the following rules:
The folder containing the attribute has the IsUnique property set to True.
The folder name is GLBPARAMxxx. That is, the first 8 bytes of the folder name are GLBPARAM. For example, GLBPARAM_MINE. The maximum folder name length is 18.
Within the folder there is only 1 attribute (STRING or STRING array) or a single group.
Failure to adhere to the rules might result in an invalid operator runtime failure.
If the Algol library does not use the SIZE/RESIZE intrinsic against the passed string (ebcdic array) parameter, any user defined string variable/attribute might be passed as the parameter.
For MCP, AB Suite supports the following data types or combinations of the following data types for external method parameter:
Real
Integer
Boolean
File
Ebcdic Array
Supported external method return types are Real, Integer, Boolean, and String.
The following table summarizes the features and capabilities of the CALL; logic command interface method.
Capability/Feature | Scope/Limitations |
---|---|
Host types | All |
To other Systems | No (only shared access to common library) |
To external systems | No (only shared access to common library) |
Transaction Initiated by | System |
Response from other system | Yes (can be achieved via a parameter or the return type of the method.) |
Multithreading | Depends on your programming language (COBOL libraries are single threading) |
External user program | Procedure name within the Library should exist at run time |