Example: Business Function Header File

Assume that Business Function Design created this header file. This file contains only the required components in a business function header file:

Header File Begin
/*****************************************************************************
* Header File: B99TEST.h
*
* Description: test Header File
*
* History:
*  Date Programmer SAR# - Description
*  ---------- ---------- ------------------------------------------
* Author 10/14/2003 DEMO Unknown - Created
*
*
* Copyright (c) 1994 Oracle 2003
*
* This unpublished material is proprietary to Oracle.
* All rights reserved. The methods and techniques described
* herein are considered trade secrets and/or confidential. Reproduction
* or distribution, in whole or in part, is forbidden except by express
* written permission of Oracle.
****************************************************************************/
#ifndef __B99TEST_H
#define __B99TEST_H
/*****************************************************************************
* Table Header Inclusions
****************************************************************************/
/*****************************************************************************
* External Business Function Header Inclusions
****************************************************************************/
/*****************************************************************************
* Global Definitions
****************************************************************************/
/*****************************************************************************
* Structure Definitions
****************************************************************************/
/*****************************************************************************
* DS Template Type Definitions
****************************************************************************/
/*****************************************
* TYPEDEF for Data Structure
* Template Name: Test Data Structure
* Template ID: D59TEST
* Generated: Tue Oct 14 16:53:08 2003
*
* DO NOT EDIT THE FOLLOWING TYPEDEF
* To make modifications, use the EnterpriseOne Data Structure
* Tool to Generate a revised version, and paste from
* the clipboard.
*
**************************************/
#ifndef DATASTRUCTURE_D59TEST
#define DATASTRUCTURE_D59TEST
typedef struct tagDSD59TEST
{
 JCHAR  cEverestEventPoint01;
 JCHAR  szNameAlpha[41];
 MATH_NUMERIC mnAmountField;
} DSD59TEST, *LPDSD59TEST;
#define IDERRcEverestEventPoint01_1  1L
#define IDERRszNameAlpha_2   2L
#define IDERRmnAmountField_3   3L
#endif
/*****************************************************************************
* Source Preprocessor Definitions
****************************************************************************/
#if defined (JDEBFRTN)
 #undef JDEBFRTN
#endif
#if defined (WIN32)
 #if defined (WIN32)
 #define JDEBFRTN(r) __declspec(dllexport) r
 #else
 #define JDEBFRTN(r) __declspec(dllimport) r
 #endif
#else
 #define JDEBFRTN(r) r
#endif
/*****************************************************************************
* Business Function Prototypes
****************************************************************************/
JDEBFRTN(ID) JDEBFWINAPI F0101Test  
 (LPBHVRCOM lpBhvrCom, LPVOID lpVoid, LPDSD0100018 lpDS);
/*****************************************************************************
* Internal Function Prototypes
****************************************************************************/
#endif /* __B99TEST_H */
Header File End

This table describes the contents of the various lines in the header file:

Header File Line

Where Input

Description

Header File

OMW

Verify the name of the business function header file.

Description

OMW

Verify the description.

History

IDE

Manually update the modification log with the programmer name and the appropriate SAR number.

#ifndef

Business Function Design

Symbolic constant prevents the contents from being included multiple times.

Table Header Inclusion

Business Function Design

When business functions access tables, related tables are input and Business Function Design generates an include statement for the table header file.

External Business Function Header Inclusions

Business Function Design

No external business functions for this application.

Global Definitions

IDE

Constants and definitions for the business function. It is not recommended that you use this block. Global variables are not recommended. Global definitions go in .c not .h.

Structure Definitions

IDE

Data structures for passing information between business functions, internal functions, and database APIs.

TYPEDEF for Data Structure

Business Function Design

Data structure type definition. Used to pass information between an application or report and a business function. The programmer places it on the clipboard and pastes it in the header file. Its components include:

  • Comment Block, which describes the data structure.

  • Preprocessor Directives, which ensure that the data type is defined only once.

  • Typedef, which defines the new data type.

  • #define, which contains the ID to be used in processing if the related data structure element is in error.

  • #endif, which ends the definition of the data structure type definition and its related information.

Source Preprocessor Definitions

Business Function Design

All business function header files contain this section to ensure that the business function is prototyped and declared based on where this header is included.

Business Function Prototype

Business Function Design

Used for prototypes of the business function.

JDEBFRTN(ID) JDEBFWINAPI CheckForInAddMode

Business Function Design

Business Function Standard

All business functions share the same return type and parameter data types. Only the function name and the data structure number vary between business functions.

Parameters include:

  • LPBHVRCOM

    Pointer to a data structure used for communicating with business functions. Values include an environment handle.

  • LPVOID

    Pointer to a void data structure. Currently used for error processing; will be used for security in the future.

  • LPDS#####

    Pointer to a data structure containing information that is passed between the business function and the application or report that invoked it. This number is generated through Object Librarian.

  • JDEBFRTN(ID)JDEBFWINAPI

    All business functions will be declared with this return type. It ensures that they are exported and imported properly.

Parameter names (lpBhvrCom, lpVoid, and lpDS) will be the same for all business functions.

Internal Function Prototypes

Business Function Design

Internal function prototypes required to support the business functions in this source file.