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