7.2 User Exits in Native Mode

User exits can now be a native mode DLL and you don't have to link the exit code into native mode Extract/Replicat.

If you are sending in an Extract/Replicat ZZSA that used a native mode DLL userexit, then you need to PAK the userexit DDL with the zzsa and its associated object file.

The paramfile syntax change for native mode Extract/Replicat is:

CUSEREXIT <DLL filename> [, DEBUG | VERBOSE] 
TALUSEREXIT <DLL filename> [, DEBUG | VERBOSE] 
COBOLUSEREXIT <DLL filename> [, DEBUG | VERBOSE]

The DEBUG | VERBOSE options set the the dllmode for dlopen() to be OR'd with 'RLD_VERBOSE(8)', which will cause the run time loader to display all data items and entry points that need to be resolved.

In the following :

<linker> is eld on Itanium machines

<linker> is xld on x86 machines

The DLL float type must be tandem_float or neutral_float because Extract and Replicat have to use tandem_float due to SQL/MP.

Build a C userexit as a DLL

#frame
#push _options
#set _options -l rld -l cre -l crtl -unres_symbols warn
#set _options [_options] -export_all -b semi_globalized
<linker> -ul -o <DLL filename> <linkable C userexit> [_options]
<linker> -change floattype tandem_float <DLL filename>
#unframe 

Build a TAL userexit as a DLL

#frame
#push _options
#set _options -l rld -unres_symbols warn
#set _options [_options] -export_all -b semi_globalized
<linker> -ul -o <DLL filename> <linkable TAL userexit> [_options]
<linker> -change floattype tandem_float <DLL filename> 
#unframe 

Build a COBOL userexit as a DLL

#frame
#push _options
#set _options -l rld -l cob -unres_symbols warn
#set _options [_options] -export_all -b semi_globalized
<linker> -ul -o <DLL filename> <linkable COBOL userexit> [_options]
<linker> -change floattype tandem_float <DLL filename>
#unframe 

Example

#frame
#push _options
#set _options -l rld -l cre -l crtl -unres_symbols warn
#set _options [_options] -export_all -b semi_globalized
xld -ul -o exitdll userexco [_options]
xld -change floattype tandem_float exitdll
#unframe