About extended (extgen_) stored procedures

Nearly all the stored procedures in the database have a special check embedded in the code near the beginning of the procedure. This check looks for an extension to the stored procedure, named extgen_baseProcedureName, where baseProcedureName is the name of the stored procedure being extended. If this stored procedure extension exists, then it is called instead of the base version when the stored procedure is invoked.

Within the system, there is a protected table that contains a select list of stored procedures that have this extgen_ capability. System users cannot modify this table in any way. This table simply provides a list of stored procedures that can be extended using the Edit Stored Procedure form.

The primary purpose of this table and the Edit Stored Procedure form is to allow developers working in a cloud environment to create their own extgen_ methods. A typical use would be to modify the data going into reports.

Comparing base with extended versions

There can be situations in which an extended version of a stored procedure gets "out of sync" with the original base version. This can happen, for instance, when Infor makes changes to stored procedures that a customer has made previous extensions for, so that there are discrepancies between the modified dates of the two versions—where the Modified Date of the extended version is older than the current base version.

In such a case, you can use the the EXTGEN Listing form, in conjunction with the Edit Stored Procedure form and the Method Compare form, to compare the current extended version of the stored procedure with the current base version, make any required edits or merges, and then resubmit the extgen_ version to the database.

Restrictions

Because this functionality is designed primarily for use in a cloud environment, special security measures apply to the extended stored procedures. Developers cannot perform these tasks:

  • Alter the table that contains the list of valid extendable stored procedures
  • Create anything other than an extgen_ stored procedure
  • Embed calls to dynamic SQL in the procedure code
  • Include calls to databases outside the current database in the procedure code

Other restrictions also apply.