UDF Introduction

 

All applications created with m-Power employ SQL to access the database. SQL, by itself, is a very powerful language. A database User Defined Function (UDF) allows users to extend the power of SQL. UDF's are a powerful yet simple way to perform routine data transformations, calculations, and complex SQL logic. Database vendors (IBM, Oracle, Microsoft, Sun, etc.) have specific requirements for creating UDFs; most allow the UDF to be written in SQL or another programming language such as C or RPG.

m-Power makes it easy to employ this new feature. A UDF can be defined at a global level to m-Power. An m-Power logical field can be defined at a table level to return a value from a UDF call. m-Power users then can select this logical UDF field as if it were any other database field and use it to display, sort, and select data in any m-Power application.

The uses for such a powerful feature are endless. A short list of examples:

Dates: Convert a numeric date field into a true date field for use in selecting or sequencing records. Or extract the year and month to perform on-the-fly period subtotaling in reports.

Order Totals: Access other DB tables and calculate an order total value by summing the order line price times the line quantity over many Order Detail records, making it available as a selectable field from the order header table.

On Hand Quantity: Calculate a product's current on hand valuation by combining several fields, if your database requires some logic to calculate such a value.

The use of UDF's in m-Power is well-documented in the following articles. Please see these documents for further details:

Register your UDF:

http://www.mrc-productivity.com/docs/data-dictionary/user-defined-functions/how-to-create-and-register-a-udf/

Create Logical Fields with UDF's:

http://www.mrc-productivity.com/docs/data-dictionary/create-a-logical-field-via-the-data-dictionary/

mrc Date Conversion UDF's:

http://www.mrc-productivity.com/docs/data-dictionary/mrc-date-conversion-udfs/

Sample UDF Source Code:

http://www.mrc-productivity.com/docs/data-dictionary/sample-udf-code/

Created: October 20, 2008 | Modified: December 27, 2011