Userexits

Functions
C/C++ userexits

Functions

int bvb_usx_chk_mfr ()
 The userexit checks if the current widget is displayed as main form (in case of a combined mask). More...
 
int bvb_usx_set_mfr ()
 Sets the widget buffer entry "MAINFORM" for a combined mask. More...
 
int bvb_usx_uns_mfr ()
 Removes the widget buffer entry "MAINFORM" from a combined mask. More...
 
int cal_usx_inp ()
 Opens the calculator form and prepares the form for the expected user interaction. More...
 
int cal_usx_syn ()
 Opens the syntax assistant of the calculator. More...
 
int dde_cal ()
 Sends data to an application over a communication channel. More...
 
int dde_com ()
 Starts a client application in asynchronous mode. More...
 
int dde_com_wai ()
 Starts a client application in synchronous mode. More...
 
int dde_opn ()
 Opens a communication channel to a client application. More...
 
int dde_put ()
 Sends data to the specified client application. More...
 
int edb_ief_blank_to_0 ()
 This userexit replaces all blanks with "0". More...
 
char * edb_ief_ctr_chr ()
 This userexit is a control function for all possible functions in PLM IEF. More...
 
int edb_ief_ctr_men ()
 This userexit is a control function for all possible functions in PLM IEF. More...
 
int edb_ief_def_val ()
 The field userexit inserts a default value if the field is empty. More...
 
int edb_ief_del_lead_0 ()
 This userexit aligns the field content to the left or to the right. More...
 
int edb_ief_gen_fld_dsc ()
 Generates a field definition from the mask definition for a newly created format. More...
 
int edb_ief_get_buf_elm ()
 This userexit is called from a decision table to get the buffer element from the LogiView string with the function zag_get_buf_elm(). More...
 
int edb_ief_get_sep_fld ()
 This userexit imports the contents of the field n from the file to the EDB field. More...
 
int edb_ief_grpid_2_name ()
 This userexit converts DataView's group ID to group name. More...
 
int edb_ief_grpname_2_id ()
 This userexit converts DataView's group name to group ID. More...
 
int edb_ief_ign_dat_usx ()
 This userexit sets an error code to ignore the current data record. More...
 
int edb_ief_left_just ()
 This userexit aligns field content to the left. More...
 
int edb_ief_lgv_usx_ret ()
 This routine identifies the current return value of a userexit and adds it to the parameter value string. More...
 
int edb_ief_lgvstr_2_mas ()
 This userexit is called from a decision table or LogiView procedure to convert data from the LogiView string to the EDB mask. More...
 
int edb_ief_log_cls ()
 Closes the log file which contains the transferred data. More...
 
int edb_ief_lowercase ()
 This userexit changes all letters to lowercase. More...
 
int edb_ief_mas_2_lgvstr ()
 This userexit is called from a decision table or LogiView procedure to convert data of the EDB mask to a LogiView string. More...
 
int edb_ief_mas_2_str ()
 This function enables the conversion of the mask contents of the current EDB mask to a character string. More...
 
int edb_ief_no_log_usx ()
 This userexit deactivates the trace log for the current data record. More...
 
int edb_ief_put_sta ()
 Puts the element to the requested state/maturity level. More...
 
int edb_ief_read_buf ()
 This userexit enables reading several lines of data records from the file. More...
 
int edb_ief_right_just ()
 This userexit aligns field contents to the right. More...
 
int edb_ief_run ()
 This IEF userexit executes an operating system command (start of a command procedure or a program for instance). More...
 
int edb_ief_set_buf_elm ()
 This userexit is called from the decision table to set the buffer element in a LogiView string with the function zag_set_buf_elm(). More...
 
int edb_ief_set_val ()
 This IEF-int function enables the transfer of a value modified in the userexit to the IEF functions. More...
 
int edb_ief_str_2_mas ()
 This function enables the conversion of a string contents to the field of an EDB mask. More...
 
int edb_ief_tor_rr_vr ()
 This pre-action userexit sets the values for "Valid from" and "Valid until" for transitions and changes the state values to RELEASED. More...
 
int edb_ief_tst_usx ()
 This userexit is used to test the userexit function. More...
 
int edb_ief_uppercase ()
 This userexit changes all letters to uppercase. More...
 
int edb_ief_usrid_2_name ()
 This userexit converts the DataView user ID to a user name. More...
 
int edb_ief_usrname_2_id ()
 This userexit converts DataView's user name to its user id. More...
 
int edb_ief_wri_ascii ()
 This userexit enables filling an EDB field or an output file with non-printable characters by using ASCII code. More...
 
int edb_ief_write_buf ()
 This IEF field userexit enables to write data records in several lines of the output file during the export. More...
 
int exm_snd_ext ()
 Triggers the sending of mail via external mail program. More...
 
int ief_bau_end ()
 This trigger combines edb_mrl_art_lst_cls() and ief_ntm_end(). More...
 
int ief_bau_start ()
 This trigger combines edb_mrl_art_lst_opn() and ief_ntm_start(). More...
 
int ief_ntm_del_fld ()
 This field import trigger reads the current field (must be NTM_REF). More...
 
int ief_ntm_end ()
 This trigger closes the note widget and resets the virtual mode. More...
 
int ief_ntm_exp_fld ()
 This import field trigger is used for note ID fields in items or refine lists. More...
 
int ief_ntm_get_fld ()
 This IEF field trigger retrieves the saved value from a buffer. More...
 
int ief_ntm_imp_fld ()
 This IEF import field trigger is used at note ID fields in items or refine lists. More...
 
int ief_ntm_sav_fld ()
 This IEF field trigger saves the content of the current field in a buffer. More...
 
int ief_ntm_start ()
 This trigger is called as IEF start userexit. More...
 
int lgv_usx_get_tra_lev ()
 This userexit returns the current EPQ transaction level. More...
 
int pwd_chk (const char *param, const char *ignore)
  More...
 
int sig_chk_use_sta ()
 Checks the state of a digital signature usage. More...
 
int sig_cre_tic ()
 Creates an access ticket and stores it into the LogiView system variable. More...
 
int xapp_exc ()
 Starts an external application (by evaluating table T_APP_DAT). More...
 
int xapp_prt_inf ()
 Shows information about the application that will be started when calling xapp_exc. More...
 
int xapp_rea_fld ()
 This userexit can be used by LogiView to determine specific external application entries. More...
 
int xchg_get_cfg (const char *param, const char *ignore)
  More...
 
int xchg_is_active (const char *param, const char *ignore)
  More...
 
int xchg_log_opr_bas_und (const char *param, const char *ignore)
  More...
 
int xcps_vrf_get_pse (const char *param, const char *ignore)
  More...
 
int xewm_crm_elm_mod ()
 Transfers the elements of the assigned folder into the the state 'IN MODIFICATION' (only if WORK_TYPE=CHANGE). More...
 
int xewm_crm_elm_sta ()
 Depending on the entry in the field WORK_TYPE, this userexit checks the element state of the assigned folder. More...
 
int xmail_action ()
 Edit action userexit to check for query mode. More...
 
int xmail_post_action ()
 If the field M_SND_U exists and includes a valid uic the corresponding user name is added to the field M_SND_USER. More...
 
int xmail_pre_action ()
 If the mask name includes 'SND' and is longer than 3 digits, The uic of the current user is inserted into the field M_SND_U to search for all mail entries. More...
 
int xmail_snd_to_dbl ()
 Creates a message for all users and groups in a distribution list. More...
 
int xmail_snd_to_grp ()
 Creates a message for a certain group. More...
 
int xmail_snd_to_usr ()
 Creates a message for a certain user. More...
 
int xmgt_drp_fnc ()
 Drag&Drop userexit when a Drag&Drop action is performed in the target widget. More...
 
int xoffice_chk (const char *param, const char *ignore)
  More...
 
int xoffice_chk_cli (const char *param, const char *ignore)
  More...
 
int xoffice_del_prp (const char *param, const char *ignore)
  More...
 
int xoffice_drp_chk (const char *param, const char *ignore)
  More...
 
int xoffice_rea_prp (const char *param, const char *ignore)
  More...
 
int xoffice_reg_cli (const char *param, const char *ignore)
  More...
 
int xoffice_wri_prp (const char *param, const char *ignore)
  More...
 
int xpac_act ()
 Set the first selected record to the current element packet. More...
 
int xpac_act_asg ()
 Opens the specified refine widget for the currently chosen elements and inserts all selected records from the current widget. More...
 
int xpac_act_cls ()
 The current element will be closed. More...
 
int xpac_act_cnt ()
 Opens the widget with the content of the currently chosen element and the respective entity. More...
 
int xpac_act_opn ()
 Opens a widget with all records of the desired entity. More...
 
int xpdw_clr_acc_tmp (const char *param, const char *ignore)
  More...
 
int xpdw_cre_acc_tmp (const char *param, const char *ignore)
  More...
 
int xpdw_has_obj_acc (const char *param, const char *ignore)
  More...
 
int xpdw_is_pdw_ent (const char *param, const char *ignore)
  More...
 
int xpdw_is_tmp_dis (const char *param, const char *ignore)
  More...
 
int xprg_cls ()
 Closes the progress reporter form. More...
 
int xprg_opn ()
 Opens a passed or dynamically generated progress reporter form. More...
 
int xprg_upd ()
 Updates an already opened progress reporter form. More...
 
int xpvm_bat_run (const char *param, const char *ignore)
  More...
 
int xpvm_chk_new_mrk (const char *param, const char *ignore)
  More...
 
int xpvm_del_dat (const char *param, const char *ignore)
  More...
 
int xrel_set_rel ()
 The reference to the given entity is set in the multi list of the folder. More...
 
int xwfl_act_access ()
 Userexit to check if access to the given activity is allowed. More...
 
int xwfl_act_restart ()
 Userexit to restart an activity which was already rejected. More...
 
int xwfl_batch_call ()
 Userexit to start a post-action on a process or activity. More...
 
int xwfl_res_typ_chk ()
 Userexit to check if the chosen resource type makes sense for the type of given activity. More...
 
int xwfl_upd_ibx ()
 Userexit to update all currently open work item lists (inboxes). More...
 
int xwfl_workitem_abort ()
 Userexit to cancel a work item. More...
 
int xwfl_workitem_accept ()
 Userexit to accept a work item. More...
 
int xwfl_workitem_forward ()
 Userexit to forward a work item to another user and send an email to this user (receiver). More...
 
int xwfl_workitem_reject ()
 Userexit to reject a work item to another user who forwarded it before or to the system that created it. More...
 
int xwfl_wrkitm_get_pv_bywid_i18n ()
 Userexit to get the value of a process variable associated with a work item, which is defined by the given id. More...
 
int xwfl_wrkitm_prea ()
 Userexit to execute a LogiView procedure that is defined in the onComplete field of an activity shortly before completion. More...
 

Detailed Description

Function Documentation

int bvb_usx_chk_mfr ( )

The userexit checks if the current widget is displayed as main form (in case of a combined mask).

A main form is a combined mask which contains all mandatory fields to perform a critical operation like an insert operation. This feature is used for combined masks that do not display all mandatory fields in the header form. In this case the combination of the header form and the sub form is called the main form. To indicate that the sub form is a part of the main form the folder definition (see bvb_usx_cmb_rpl()) contains the MAINFORM option.

Returns
0 OK, current widget is a main form or is not a combined mask or it could be replaced with a main form.
1 Current widget is a combined mask but is not a main form (and a main form cannot be opened automatically).
2 No current widget
See Also
bvb_usx_set_mfr, bvb_usx_uns_mfr
Note
This userexit may also be called as an edit-action or pre-action userexit (since it does not have any arguments).
The userexit should be called for the current widget only!
In virtual mode the userexit will always return 0.
int bvb_usx_set_mfr ( )

Sets the widget buffer entry "MAINFORM" for a combined mask.

The widget buffer entry is used to decide if a combined mask is displayed as main form.

Parameters
None
Returns
0 OK
Else No current widget
See Also
bvb_usx_set_mfr, bvb_usx_chk_mfr
int bvb_usx_uns_mfr ( )

Removes the widget buffer entry "MAINFORM" from a combined mask.

Parameters
None
Returns
0 OK
Else No current widget
See Also
bvb_usx_chk_mfr, bvb_usx_set_mfr
int cal_usx_inp ( )

Opens the calculator form and prepares the form for the expected user interaction.

The form CAL_INP is used to display the modal dialog.

Returns
0 OK
1 Could not create form or menu
int cal_usx_syn ( )

Opens the syntax assistant of the calculator.

The calculator select menu CAL_FUNC is displayed.

Returns
0 OK
int dde_cal ( )

Sends data to an application over a communication channel.

Use the userexit dde_opn() to open the communication channel to the application that you want to call.

Parameters
cp_parParameter to control the behavior of this function.
Syntax:
"channel_no, functioncode, item, buffer"

With possible arguments:
channel_no Channel number (return value of dde_opn()
functioncode Combination of IPC mode and IPC code:
Modes are:
  • W : Wait (synchron).
  • N : Nowait (asynchron).
  • S : Stack.

The mode may be omitted, 'N' is default.
Codes are:
  • P : Poke.
  • X : eXecute.
  • T : Terminate.
item Identifier, which must be recognized by the external application.
buffer Data for the external application
Returns
0 OK
-1 Invalid parameters
-2 No IPC connection available
>0 Return code of gfi_cal_ipc
Example:
// working example
int i_Channel = dde_opn("GUI_CLIENT,STR");
if (i_Channel > 0) {
sprintf(caCommand, "%i,NP,GANTT CREATE-LAY,EDB-USR-TERMINE", i_Channel);
iRc = dde_cal(caCommand);
}
int dde_com ( )

Starts a client application in asynchronous mode.

Calls the passed command on the host where the graphic client is running in asynchronous mode (i.e. the userexit will not wait for the application to end). The command string can be an environment variable that contains the command to be executed.

Note
The command must be separated from its argument(s) by a comma.
Parameters
cp_parCommand string to start the application.
Returns
0 OK
-1 Graphic interface not initialized
-2 RPC buffer overflow
>0 Error (see file ipcerr.h)
Example:
// This example shows how to call 'dde_com' from a C function
// in order to invoke the application Notepad with a specified file
// (you have to use double quotes (\") for the filename as it contains blanks):
int iRc = dde_com("notepad.exe,\"c:\temp\abc with 2 blanks.txt\"");
int dde_com_wai ( )

Starts a client application in synchronous mode.

Calls the passed command on the host where the graphic client is running in synchronous mode (i.e. the userexit will wait for the application to end). The command string can be an environment variable that contains the command to be executed.

Note
The command must be separated from its argument(s) by a comma.
Parameters
cp_parCommand string to start the application.
Returns
0 OK
-1 Graphic interface not initialized
-2 RPC buffer overflow
>0 Error (see file ipcerr.h)
Example:
// This example shows how to call 'dde_com' from a C function
// in order to invoke the application Notepad with a specified file
// (you have to use double quotes (\") for the filename as it contains blanks):
int iRc = dde_com_wai("notepad.exe,\"c:\temp\abc with 2 blanks.txt\"");
int dde_opn ( )

Opens a communication channel to a client application.

The userexit opens a communication channel by using the passed arguments and returns the communication channel number for later calls to dde_cal().

Parameters
cp_parParameter to control the behavior of this function.
Syntax:
"application,topic"

With possible arguments:
application Unique application name for the external application.
topic Topic within the application
Returns
>0 IPC channel number
-1 Illegal parameter
-2 Could not open IPC connection
Example:
// This example shows how to open a conection:
int i_Channel = dde_opn("GUI_CLIENT,STR");
int dde_put ( )

Sends data to the specified client application.

Opens a communication channel by using the passed arguments and sends the data to the client application.

Parameters
cp_parParameter to control the behavior of this function.
Syntax:
"functioncode,application,topic,item,buffer"

With possible arguments:
functioncode Combination of IPC mode and IPC code:
Modes are:
  • W : Wait (synchron).
  • N : Nowait (asynchron).
  • S : Stack.

The mode may be omitted, 'N' is default.
Codes are:
  • P : Poke.
  • X : eXecute.
  • T : Terminate.
application Unique application name for the external application.
topic Topic within the application.
item Identifier, which must be recognized by the external application.
buffer Data for the external application.
Returns
0 OK
-1 Invalid parameters
-2 No IPC connection available
>0 Return code of gfi_cal_ipc
Example:
This example demonstrates how the internal function "FileOpen" of "Microsoft Word" is used to open a file via DDE. The example shows also how you can insert text into the test document. The triggers 'dde_com' and 'dde_put' are called from LogiView. Here is an example LogiView procedure that demonstrates these DDE-Userexits:
C -- Start application (MS Word).
APP = "C:\Programme\Microsoft Office\OFFICE11\WINWORD.EXE"
RES = @dde_com(APP)
C -- Define specific DDE command to open the test document
CMD = "[FileOpen(\"\"c:\temp\test.doc\"\")]"
C -- Concatenate command string:
C -- functioncode = X (eXecute)
C -- application = Winword (defined by MS Word)
C -- topic = System (defined by Windows)
C -- item = Item (no special item)
C -- buffer = CMD (defined DDE command, see above)
CMD = strcat("WX,Winword,System,Item,",CMD)
C -- Put DDE command to the application and wait for execution
RES = @dde_put(CMD)
C -- Define specific DDE command to insert test into the test document
CMD = "Welcome to the BASIC DDE client test for Microsoft Word for Windows."
C -- Concatenate command string:
C -- functioncode = P (Poke)
C -- application = Winword (defined by MS Word)
C -- topic = C:\temp\test.doc (defined by the document)
C -- item = \Startofdoc (defined by MS Word)
C -- buffer = CMD (Text to insert, see above)
CMD = strcat("P,Winword,C:\temp\test.doc,\Startofdoc,",CMD)
C -- Put DDE command to application
RES = @dde_put(CMD)
The following LogiView variables are necessary for this example:
APP, CMD of type 'S'
RES of type 'I'
int edb_ief_blank_to_0 ( )

This userexit replaces all blanks with "0".

Parameters
parParameter to control the behavior of this function. Syntax like:
"/FIELD=<value>"

With possible arguments:
FIELD value All blanks in value are replaced with "0"
Returns
0 OK
char* edb_ief_ctr_chr ( )

This userexit is a control function for all possible functions in PLM IEF.

This functions can be switched on or off with the transfer parameters, e.g. for the trace output, logging etc.

Parameters
parParameter to control the behavior of this function. Syntax like:
"{I[nit] | T[est] {E[in] | A[us]} | P[aram] <Parameter> <Value> | C}"

With possible arguments:
C[heck] Check password
I[nit] Re-initialize
L[ogging] E[in] Switch logging on
A[us] Switch logging off
F[ehler] Switch logging on as error log. Means: Only faulty data records are recorded
T[est] E[in] Activate trace log
A[us] Deactivate trace log
P[aram] Parameter value Set parameter to certain value
V[ersion] Display the current internal EDB IEF version on the screen
Returns
If a value has been specified The specified value is returned
If no value has been specified The current value is returned
For values of the data type "Integer" The userexit "edb_ief_ctr_men" must be used
int edb_ief_ctr_men ( )

This userexit is a control function for all possible functions in PLM IEF.

This functions can be switched on or off with the transfer parameters, e.g. for the trace output, logging etc.

Parameters
parParameter to control the behavior of this function. Syntax like:
"{I[nit] | T[est] {E[in] | A[us]} | P[aram] <Parameter> <Value> | C}"

With possible arguments:
C[heck] Check password
I[nit] Re-initialize
L[ogging] E[in] Switch logging on
A[us] Switch logging off
F[ehler] Switch logging on as error log. Means: Only faulty data records are recorded
T[est] E[in] Activate trace log
A[us] Deactivate trace log
P[aram] Parameter value Set parameter to certain value
V[ersion] Display the current internal EDB IEF version on the screen
Returns
If a value has been specified The specified value is returned
If no value has been specified The current value is returned
For values of the data type "Char" The userexit "edb_ief_ctr_chr" must be used
int edb_ief_def_val ( )

The field userexit inserts a default value if the field is empty.

The value which has to be inserted must be transferred as a parameter.
If the value starts with "@", a default value with this name is searched and its content is inserted. It is therefore possible to insert user-specific default values.
If the first character is "\", the following "@" is not interpreted as a default but inserted in the field as specified.

Parameters
parParameter to control the behavior of this function. Syntax like:
"/FIELD=<contents> /PARAM=<default>"

With possible arguments:
FIELD contents Contents of the field
PARAM default Default value of the field
Returns
0 OK
int edb_ief_del_lead_0 ( )

This userexit aligns the field content to the left or to the right.

The userexit deletes leading zeros.

Parameters
parParameter to control the behavior of this function. Syntax like:
"/FIELD=<value> /PARAM={LEFT | RIGHT} /K-ROW=<row>"

With possible arguments:
FIELD value Contents of the field
PARAM LEFT Aligns field contents to the left
RIGHT Aligns field contents to the right
K-ROW row Row that shall be changed
Returns
0 OK
int edb_ief_gen_fld_dsc ( )

Generates a field definition from the mask definition for a newly created format.

It reads the field description of the mask from the DataView dictionary and inserts the field names, the start and end positions for the system as well as the sequence number into the format description. Depending on the default settings, it is also possible to generate the file positions. If a format has no mask entry, a form asks for the mask which is saved in the format. If a field description does already exist it won't be changed. If, however, a new description shall be generated, the old field description must be deleted first (also from the trashbasket).

The generated format description must be reviewed generally and if necessary some additions must be made (e.g. selection fields set). The sequence numbers start with 100 and are counted upwards in steps of 10 in order to have space for the extension (e.g. transaction code). The Agile e6 start position is always "1" and the length of the field in the data base determines the end position. The file line identification is always "01". The file position of fields starts with "1" and is counted upwards continuously.

Parameters
parParameter to control the behavior of this function. Syntax like:
"{Y | y | N | n}"

With possible arguments:
{Y|y} File positions are to be generated
{N|n} File start and end has the value "1"
Returns
0 OK
int edb_ief_get_buf_elm ( )

This userexit is called from a decision table to get the buffer element from the LogiView string with the function zag_get_buf_elm().

Parameters
cp_parParameter to control the behavior of this function. Syntax like:
"<Buffer> <Key> <Value>"

With possible arguments:
Buffer IN/OUT buffer
Key IN key
Value IN value
Returns
0 OK
int edb_ief_get_sep_fld ( )

This userexit imports the contents of the field n from the file to the EDB field.

The file fields are divided by separating characters. The separating character is always the same for all fields. The old field content is used as default, the new content is a mixture of the old content and the file field. The separator "t" stands for the '\t' character, "n" for '\n' and "r" for '\r'.

Parameters
parParameter to control the behavior of this function. Syntax like:
"<Field separator>[<Text separator>],<Field number>"

With possible arguments:
Data delimiter Exactly one character, must be the same for all fields.
Text separator Exactly one character, must be the same for all texts.
Field number Specifies the number of the field to be read out in the file line (starting with one).
Returns
0 OK
Example:
// Data delimiter = \t, Text separator = '"' Field number = 11
int iRc = edb_ief_get_sep_fld("t\",11");
// Data delimiter = ;, Field number = 2
int iRc = edb_ief_get_sep_fld(";,2");
Remarks
23.07.98 hor
These changes were performed in context with FIS ID 4497. If you exceed the limit of your import file (perhaps you want to read the 99th field, but there are only 98 fields) a warning message will appear in tst____.trc (error-trace has to be switched on) and corresponding fields will be filled with blanks.
int edb_ief_grpid_2_name ( )

This userexit converts DataView's group ID to group name.

With this userexit, the group name can be transferred to the external system when exporting.

Parameters
parParameter to control the behavior of this function. Syntax like:
"/FIELD=<group-id>"

With possible arguments:
FIELD group-id GIC of the group
Returns
0 OK
int edb_ief_grpname_2_id ( )

This userexit converts DataView's group name to group ID.

With this userexit, the group ID can be transferred to the external system when exporting.

Parameters
parParameter to control the behavior of this function. Syntax like:
"/FIELD=<group-name>"

With possible arguments:
FIELD group-name Name of the group
Returns
0 OK
int edb_ief_ign_dat_usx ( )

This userexit sets an error code to ignore the current data record.

If this IEF userexit is called as a field userexit in a conversion line of the field description, it is ignored in the current conversion line.
In case the userexit is called up as a pre-action userexit, the complete data record is ignored. In such a case a report message is issued.

Parameters
parReserved
Returns
0 OK
int edb_ief_left_just ( )

This userexit aligns field content to the left.

The field content will be aligned to the left within the start and end position of the current configuration line defined in the configuration.

Parameters
parParameter to control the behavior of this function. Syntax like:
"/FIELD=<value> /K-ROW=<row>"

With possible arguments:
FIELD value Content of the field
K-ROW row Row that shall be changed
Returns
0 OK
int edb_ief_lgv_usx_ret ( )

This routine identifies the current return value of a userexit and adds it to the parameter value string.

The LogiView variables are reset. If combining userexits with LogiView, this LogiView function must be called with the LogiView variable (IEF_PARAMETER) after a C-IEF userexit is called from LogiView.

Parameters
cp_parDefault parameter for LogiView variable
Returns
0 OK
int edb_ief_lgvstr_2_mas ( )

This userexit is called from a decision table or LogiView procedure to convert data from the LogiView string to the EDB mask.

It enables the conversion of the string content to the field of an EDB mask within a decision table or a LogiView procedure. The call-up of this function is only allowed in a decision table or LogiView procedure.

Parameters
cp_parParameter to control the behavior of this function. Syntax like:
"<format> <version> <widget> <row> <str> <len> <act> <pos> <log> <ctr>"

With possible arguments:
format Format name of the IEF format to be applied.
version Format version of the IEF format.
widget Widget ID of the mask or "0" for the current widget.
row Line number of the mask from which the field content is read.
str Character string to which the data is to be written.
len Length of the character string.
act Transaction code which is written into the string at the position "@ACTION".
pos Position number which is written to the string at the position "@INDEX".
log Report output which is defined in the format with "@LOGINFO".
ctr Control character for filling the string:
  • "F" - Filling the string with the mask content.
  • "M" - Marking the row (DTV: mas_set_drt_rec).
  • "W" - Marking the row and saving the widget content in the database (DTV: mas_set_drt_rec and wdh_wri_lis). The mask content is not changed.
Returns
0 OK
Example:
RES = #edb_ief_lgvstr_2_mas (format, version, widget, row, str, len, act, pos, log, ctr);
int edb_ief_log_cls ( )

Closes the log file which contains the transferred data.

Returns
0 OK
int edb_ief_lowercase ( )

This userexit changes all letters to lowercase.

The userexit converts the field content within the start and end position, defined in the configuration, to lowercase letters.

Parameters
parParameter to control the behavior of this function. Syntax like:
"/FIELD=<value>"

With possible arguments:
FIELD value All uppercase letters in value are replaced by lowercase letters
Returns
0 OK
int edb_ief_mas_2_lgvstr ( )

This userexit is called from a decision table or LogiView procedure to convert data of the EDB mask to a LogiView string.

It enables the conversion of the mask content of the current EDB mask to a character string in LogiView. The call-up of this function is only allowed in a decision table or LogiView procedure.

Parameters
cp_parParameter to control the behavior of this function. Syntax like:
"<format> <version> <widget> <row> <str> <len> <act> <pos> <log> <ctr>"

With possible arguments:
format Format name of the IEF format to be applied.
version Format version of the IEF format.
widget Widget ID of the mask or "0" for the current widget.
row Line number of the mask from which the field content is read.
str Character string to which the data is to be written.
len Length of the character string.
act Transaction code which is written into the string at the position "@ACTION".
pos Position number which is written to the string at the position "@INDEX".
log Report output which is defined in the format with "@LOGINFO".
ctr Control character for filling the string:
  • "I" - Implementation of the string.
  • "F" - Filling the string with the mask content.
Returns
0 OK
Example:
RES = #edb_ief_mas_2_lgvstr (format, version, widget, row, str, len, act, pos, log, ctr);
int edb_ief_mas_2_str ( )

This function enables the conversion of the mask contents of the current EDB mask to a character string.

It allows to use the IEF format definition from any userexit desired. The function must first be called up with the control character 'I' and then with the control character 'F' (also with different formats).

Parameters
cp_parParameter to control the behavior of this function. Syntax like:
"<format> <version> <widget> <row> <str> <len> <act> <pos> <log> <ctr>"

With possible arguments:
format Format name of the IEF format to be applied.
version Format version of the IEF format.
widget Widget ID of the mask or "0" for the current widget.
row Line number of the mask from which the field content is read.
str Character string to which the data is to be written.
len Length of the character string.
act Transaction code which is written into the string at the position "@ACTION".
pos Position number which is written to the string at the position "@INDEX".
log Report output which is defined in the format with "@LOGINFO".
ctr Control character for filling the string:
  • "I" - Implementation of the string.
  • "F" - Filling the string with the mask content.
Returns
0 OK
Example:
RES = #edb_ief_mas_2_str (format, version, widget, row, str, len, act, pos, log, ctr);
int edb_ief_no_log_usx ( )

This userexit deactivates the trace log for the current data record.

The IEF pre-action userexit sets the error status to "No protocol output" for the current data record.

Parameters
parReserved
Returns
0 OK
int edb_ief_put_sta ( )

Puts the element to the requested state/maturity level.

Checks if the group is authorized. If yes,

  1. Change to next state/maturity level
  2. Call pre-action userexit
  3. If required
    1. Enter new state/maturity level
    2. Set owner, group and access rights
    3. Send release mail
  4. Call post-action userexit
Parameters
cp_parParameter to control the behavior of this function. Syntax like:
"{r|m|y|f|n|b}"

With possible arguments:
r Release
m Modify (Change)
{y|f} Forward
{n|b} Backward
Returns
0 OK
Else Error
int edb_ief_read_buf ( )

This userexit enables reading several lines of data records from the file.

The line number in the file for a data record must be constant. The userexit must be called up as an import field userexit in an individual line in which the column EDB field is occupied with @XIT and the column file line with @XIT. The last line of a data record must not be written to the file with this function.

Parameters
parParameter to control the behavior of this function. Syntax like:
"/ROW=<value>"

With possible arguments:
ROW value Read data from the mask at value
Returns
0 OK
int edb_ief_right_just ( )

This userexit aligns field contents to the right.

The field content will be aligned to the right within the start and end position of the current configuration line defined in the configuration.

Parameters
parParameter to control the behavior of this function. Syntax like:
"/FIELD=<value> /K-ROW=<row>"

With possible arguments:
FIELD value Content of the field
K-ROW row Row that shall be changed
Returns
0 OK
int edb_ief_run ( )

This IEF userexit executes an operating system command (start of a command procedure or a program for instance).

All call-up parameters are determined by the transferred userexit. It can be called up as a pre-action or post-action userexit. The first value in the userexit parameter is an operating system variable in which the real operating system call-up is defined. All other values in the user parameters determine the content of the action parameter which has to be transferred as a parameter to the system call-up.

Parameters
parParameter with operating system command
Returns
0 OK
Example:

Userexit entry:
edb_ief_run(CPY_FIL_SYM,FILE,FUNCTION)

Content of variables:
  • Content of CPY_FIL_SYM = "$EDB_COM/cpy_file.com"
  • Content of FILE = EDB_ART_EXP_DAT
  • Content of EDB_ART_EXP_DAT = "$EDB_TMP/export.dat"
  • Content of FUNCTION = "EXPORT"
The call-up of the operating system command will then be as follows:
$EDB_COM/cpy_file.com "EDB_ART_EXP_DAT" "EXPORT"
int edb_ief_set_buf_elm ( )

This userexit is called from the decision table to set the buffer element in a LogiView string with the function zag_set_buf_elm().

Parameters
cp_parParameter to control the behavior of this function. Syntax like:
"<Buffer> <Key> <Value>"

With possible arguments:
Buffer IN/OUT buffer
Key IN key
Value IN value
Returns
0 OK
int edb_ief_set_val ( )

This IEF-int function enables the transfer of a value modified in the userexit to the IEF functions.

The values must be set with this function and must not be transferred as a CHAR-RETURN value.

Returns
0 OK
Example:
RES = #edb_ief_set_val (0, cp_return);
int edb_ief_str_2_mas ( )

This function enables the conversion of a string contents to the field of an EDB mask.

It allows to use the IEF format definition from any userexit desired.

Parameters
cp_parParameter to control the behavior of this function. Syntax like:
"<format> <version> <widget> <row> <str> <len> <act> <pos> <log> <ctr>"

With possible arguments:
format Format name of the IEF format to be applied.
version Format version of the IEF format.
widget Widget ID of the mask or "0" for the current widget.
row Line number of the mask from which the field content is read.
str Character string to which the data is to be written.
len Length of the character string.
act Transaction code which is written into the string at the position "@ACTION".
pos Position number which is written to the string at the position "@INDEX".
log Report output which is defined in the format with "@LOGINFO".
ctr Control character for filling the string:
  • "F" - Fills the string with the mask content.
  • "M" - Marks the row as changed (DTV: mas_set_drt_rec).
  • "W" - Marks the row as changed and saves the widget content to the database (DTV: mas_set_drt_rec and wdh_wri_lis). The mask contents is not changed.
Returns
0 OK
Example:
RES = #edb_ief_str_2_mas (format, version, widget, row, str, len, act, pos, log, ctr);
int edb_ief_tor_rr_vr ( )

This pre-action userexit sets the values for "Valid from" and "Valid until" for transitions and changes the state values to RELEASED.

Thus it is not necessary to enter the date manually.

Parameters
parReserved
Returns
0 OK
int edb_ief_tst_usx ( )

This userexit is used to test the userexit function.

All given parameters are written to "stderr". It can be used do determine the parameters given to this userexit by the current version of IEF.

The values for the following parameters are printed to "stderr" (alphabetical order):

  • ACTION
  • ERROR
  • FIELD
  • FILE
  • FORMAT
  • FUNCTION
  • IS_ACTION
  • K-ROW
  • MASK
  • OLD_FIELD
  • PARAM
  • PART_ID
  • REVISION
  • ROW
  • SHEET
  • VERSION
  • WHAT
  • WIDGET
Parameters
parThe parameter of the userexit function.
Returns
0 OK
int edb_ief_uppercase ( )

This userexit changes all letters to uppercase.

The userexit converts the field content within the start and end position, defined in the configuration, to uppercase letters.

Parameters
parParameter to control the behavior of this function. Syntax like:
"/FIELD=<value>"

With possible arguments:
FIELD value All letters in value are replaced by uppercase letters
Returns
0 OK
int edb_ief_usrid_2_name ( )

This userexit converts the DataView user ID to a user name.

With this userexit, the user name can be transferred to the external system when exporting.

Parameters
parParameter to control the behavior of this function. Syntax like:
"/FIELD=<user-id>"

With possible arguments:
FIELD user-id UIC of the user
Returns
0 OK
int edb_ief_usrname_2_id ( )

This userexit converts DataView's user name to its user id.

With this userexit, the user id can be transferred to the external system when exporting.

Parameters
parParameter to control the behavior of this function. Syntax like:
"/FIELD=<user-name>"

With possible arguments:
FIELD user-name Name of the user
Returns
0 OK
int edb_ief_wri_ascii ( )

This userexit enables filling an EDB field or an output file with non-printable characters by using ASCII code.

The TAB character is represented by ASCII code 9 for instance. Only one value is possible.

Parameters
cp_parParameter to control the behavior of this function. Syntax like:
"/PARAM=<value>"

With possible arguments:
PARAM value Integer representation of the ASCII character.
Returns
0 OK
int edb_ief_write_buf ( )

This IEF field userexit enables to write data records in several lines of the output file during the export.

It must be called up as an export field userexit in its own individual line in which the EDB field is occupied with @XIT and the column file line with @XIT. The buffer content, collected up this moment, is written into the file.
All following configuration lines describe the structure of further lines in the file for a data record.
The last line of a data record should not be written to the file with this function. The buffer area must be deleted, if necessary, after calling this function (@BLANK).

Parameters
parParameter to control the behavior of this function. Syntax like:
"/BUFFER=<value>"

With possible arguments:
BUFFER value PPS-Buffer
Returns
0 OK
int exm_snd_ext ( )

Triggers the sending of mail via external mail program.

Supports client- and server-side sending for mail. In case of client-side sending, a mail client defined by Windows operating system is started and can be used interactively.
In case of server-side sending, the mail is sent in the background not requiring any user interaction.
To use the server-side sending from your LogiView procedure append the " /MAILER=NOTIFIER" string at end of your parameter string for the exm_snd_ext trigger. For client-side sending do not append anything.
To enable server-side sending, set the variable EDB-EXM-MAILSND-SITE to SERVER in the "DEFAULT DATA" mask. To enable client-side sending, set the variable to CLIENT. If this variable does not exist, you need to create it first.

Description of possible parameters used in the char string for server-side sending via Notifier:

ATTACHMENTS "-a" ATTACHMENTS must have the same PATH as the FILES. If you use TEXT instead of FILES, you need to set the PATH for ATTACHMENTS. Please refer also to the configuration parameter: EXM-MAX-FILE-SIZE
ECI_LOOP "-e" Eci topic "eci_dde_loop"
PATH "-i" The PATH is set always independent of the FILENAME as ATTACHMENTS use the same path.
ENCODING "-k" Example: "ISO8859-1".
LANGUAGE "-l" Default entry is ENG, GER is also possible.
MIMETYPE "-n" Default entry is "text/plain". If you want to use html, set the MIMETYPE to "text/html"
RECIPIENT(S) "-r" The delimiter between RECIPIENTS is the comma. The prefix CC: will set all following RECIPIENTS to cc, also all RECIPIENTS after the prefix "BCC:" are set to bcc.
SUBJECT "-s" The SUBJECT of this mail. The default entry is "no subject".
TEXT "-t" The mail text. Not required if you use file, see FILENAME. Do not forget to set the PATH for ATTACHMENTS.
SENDER "-u" Just the user name! NOT the email address and NOT the uic.
FILENAME "-x" Only the file name where the mail text is stored, NO path.


Description of possible parameters used in the char string for client-side sending:

ATTACHMENTS "-a" ATTACHMENTS must have the same PATH like the FILES. If you use TEXT instead of FILES you need to set the PATH for ATTACHMENTS. Please refer also to the configuration parameter: EXM-MAX-FILE-SIZE
INTERFACE "-c" Mail interface CMC or MAPI.
DOCUMENT "-d" Documents and assigned files seperated by comma
ECI_LOOP "-e" Eci topic "eci_dde_loop".
PATH "-i" The PATH is always set independent of the FILENAME, because ATTACHMENTS use the same path.
SEND-FLAG "-p" not set = default behavior, set to 0 = avoid client window (a receiver must be specified), set to 1 = force client window.
RECIPIENT(S) "-r" The delimiter between RECIPIENTS is the comma. The prefix CC: will set all following RECIPIENTS to cc, also all RECIPIENTS after the prefix "BCC:" are set to bcc.
SUBJECT "-s" The SUBJECT of this mail. The default entry is "no subject".
TEXT "-t" The mail text. Not required if you use file, see FILENAME. Do not forget to set the PATH for ATTACHMENTS.
FILENAME "-x" Only the file name where the mail text is stored, NO path.
LOGFILE "-y" Log file for debug information.


Please note: The parameter ENCODING | "-k" | Example: "UTF-8" should only be set if the text file encoding differs from client encoding.
If the encoding is not set, the notifier will detect the clinet language encoding automatically from the system!

The combination: [-<character>'<string_value>'] defines a complete set with identifier (-<character>) and its value ('<string_value>').
The value is limited by apostrophes (single quotation marks) at the beginning and at the end.
If you use an apostrophe within the string_value, the parser will stop parsing at this point. The rest string does not start with an identifier and will be ignored.
The sender (-u) is set automatically as last parameter before /MAILER=NOTIFIER by the system!

Code sample for server-side sending in LogiView:
To use this code, copy this description into a file "ExtMailTest.dat" in the C:\Temp directory.
Copy the LogiView code, replace the email addresses with existing ones and start this procedure.

10 EP_MAIL_OPT = "-s'ext mail test'-k'ISO8859-1'-e'eci_dde_loop'-r'eu-support@agile.com,CC:eu-support@agile.com,BCC:eu-support@agile.com'-i'C:\temp\'-x'ExtMailTest.dat'-a'ExtMailTest.dat'/MAILER=NOTIFIER"
20 RES=@exm_snd_ext(EP_MAIL_OPT)
30 put(EP_MAIL_OPT)
40 put(RES)



Code sample for minimum entries for server-side sending in LogiView:
Result will be a mail with 'no subject' and 'Hello World' as Text.

10 RES=@exm_snd_ext("-r'<email-address>'-t'Hello World'/MAILER=NOTIFIER")
20 put(RES)


The combination: [-<character>'<string_value>'] defines a complete set with identifier (-<character>) and its value ('<string_value>').
The value is limited by apostrophes (single quotation marks) at the beginning and at the end.
If you use an apostrophe within the string_value, the parser will stop parsing at this point.
Depending of the following characters, severe errors might appear, until a server crash.
So: Do not use apostrophes in the string_values!

Parameters
cp_opt: char string with options for starting external mail-interface. String is created in LogiView functions (in logic model EP_EXTMAIL).
cp_ignore: Second userexit parameter (ignored)
Returns
0 OK
-1 Error
int ief_bau_end ( )

This trigger combines edb_mrl_art_lst_cls() and ief_ntm_end().

Parameters
parSame as ief_ntm_end()
Returns
0 OK
int ief_bau_start ( )

This trigger combines edb_mrl_art_lst_opn() and ief_ntm_start().

Parameters
parSame as ief_ntm_start()
Returns
0 OK
int ief_ntm_del_fld ( )

This field import trigger reads the current field (must be NTM_REF).

If the value is greater than zero, all notes with the read note_id are deleted. The note reference is reset.

Parameters
parParameter to control the behavior of this function. Syntax like:
"/ROW=<row> /OLF_FIELD=<note>"

With possible arguments:
ROW row Row number
OLD_FIELD note ID of the note
Returns
0 OK
int ief_ntm_end ( )

This trigger closes the note widget and resets the virtual mode.

Parameters
parReserved
Returns
0 OK
int ief_ntm_exp_fld ( )

This import field trigger is used for note ID fields in items or refine lists.

The converting line must be the last line in an IEF field definition. This trigger opens a virtual widget for the note management, checks whether a note ID exists and writes all notes with this note ID to a file.

To open a note widget, use the IEF start userexit ief_ntm_open_widget.

Parameters
parParameter to control the behavior of this function. Syntax like:
"/PARAM={(WRITE_FIRST)|(WRITE_ALL)} /ROW=<row> /BUFFER=<buffer> /FIELD=<note>"

With possible arguments:
FIELD (WRITE_FIRST) When notes are present: write buffer before writing note records.
(WRITE_ALL) Write buffer every time this userexit is called, no matter whether notes are present or not.
ROW row Row number
BUFFER buffer The buffer that shall be used
FIELD note Note ID
Returns
0 OK
int ief_ntm_get_fld ( )

This IEF field trigger retrieves the saved value from a buffer.

The buffer name is given as a parameter. It then sets the current field to this value.

Parameters
parParameter to control the behavior of this function. Syntax like:
"/PARAM=<buffer> /ROW=<row>"

With possible arguments:
PARAM buffer The buffer that shall be used.
ROW row Row number
Returns
0 OK
int ief_ntm_imp_fld ( )

This IEF import field trigger is used at note ID fields in items or refine lists.

This converting line must be the last one in the IEF field definition. The userexit opens a virtual widget for managing notes, checks whether a note ID exists and inserts the given or a new note ID into the parent element and into the note mask.

This trigger checks the action if the parameter is (/TRA-STRICT=1). LogiView: definition of system variable "IEF_NOTE_ID" is necessary, which must contain the new note ID after the LogiView userexit is called.

Action is used from parent format (ex. Item). The note mask must be a special mask without userexits.

Parameters
parParameter to control the behavior of this function. Syntax like:
"/SEL-FLG={0|1} /ID=<value> /CIRCLE=<cycle> /LGV=<dt>"

With possible arguments:
SEL-FLG {0|1} This parameter defines whether a pre-selection in NTM widget with keys from IEF format is done.
ID OLD Old style locking (without number server).
NSV Note ID is generated by number server (default).
CID C_ID of origin record is taken for note ID.
LGV C_ID of origin record is generated by LogiView.
CIRCLE cycle Number cycle for generating note ID (/ID=NSV is automatically set)
LGV dt Name of decision table to be called (/ID=LGV is automatically set)
Returns
0 OK
int ief_ntm_sav_fld ( )

This IEF field trigger saves the content of the current field in a buffer.

The name of the buffer is given as a parameter. The content can be read with ief_ntm_get_fld().

Parameters
parParameter to control the behavior of this function. Syntax like:
"/PARAM=<buffer> /ROW=<row> /FIELD=<field>"

With possible arguments:
PARAM buffer Buffer that shall be used.
ROW row Row number
FIELD field Field that shall be saved.
Returns
0 OK
int ief_ntm_start ( )

This trigger is called as IEF start userexit.

This function opens a widget for notes. You can define the widget type, the IEF format and parameters to open the widget. Because the userexit column in IEF is short, you can define the widget parameters as a default value. The name of the value is passed with a '@'.

Note
When this function is called, you must call ief_ntm_end() as IEF end userexit to close the note widget.
Parameters
parSpecial IEF Parameter has the form:
  • "( <Type> , IEFFmt ,@Default )".
  • "( <Type> , IEFFmt , Entity1 , Mask ,,)".
  • "( <Type> , IEFFmt , Entity1 , DocType , Mask ,)".
  • "( <Type> , IEFFmt , Entity1 , Entity2 , View , Mask )".
Type is one character ('E', 'T', 'R'). Additionally modifiers are allowed:
  • /F = name of note ID field.
  • /T = datatype of note ID field 'C' or 'I'.
  • /I = name of index field 'POS_NO'... or empty.
  • /P = Entity1,Entity2,...
Returns
0 OK
int lgv_usx_get_tra_lev ( )

This userexit returns the current EPQ transaction level.

The level is less than zero if a nested transaction calls epqabo().

Returns
The current EPQ transaction level
int pwd_chk ( const char *  param,
const char *  ignore 
)

Userexit to check the password of a user.

Note
Due to security restriction this userexit can only check the password for the current user.
Parameters
contextThe userexit context
paramEmpty for the current user
Returns
0 The password is valid
1 The user / password is invalid
2 The user aborted the dialog
-2 Error during creating the password mask
int sig_chk_use_sta ( )

Checks the state of a digital signature usage.

Parameters
cpParParameter to control the behaviour of this function. Syntax like:
"/USAGE=type"

with possible arguments:
USAGE type Available usage types:
  • "RELEASE" Signing on release.
  • "EMAIL" Not supported jet.
  • "NETMEETING" Not supported jet.
cpIgnnot used
Returns
0 on
1 off
int sig_cre_tic ( )

Creates an access ticket and stores it into the LogiView system variable.

No more supported!

Parameters
cpParthe name of the Lgv system variable
cpIgnnot used
Returns
0 ok
1 error
int xapp_exc ( )

Starts an external application (by evaluating table T_APP_DAT).

The executed shell command depends on the passed parameters. These parameters are used to find the appropriate command from the list of external applications.

Parameters
cp_parParameters to execute a specific shell command contained in the table of external applications (T_APP_DAT).
These parameters are used to build-up the search structure for the command that should be executed.
Syntax like:
"/FILE=<file name> [/PARAM=<parameters>] [/MODE=<application mode>] [/TYPE=<file type>] [/WAIT] [/NOWAIT]"
With possible arguments:
FILE filename Filename (including the complete path). If there is a s in your command string the filename is inserted there. Otherwise, the filename is added at the end of the command string.
PARAM parameters Same as the FILE option except that no conversion of path separators is performed (i.e. the original parameter is passed to the application).
MODE V View mode
E Edit mode
R Redline mode
P Plot mode
C Convert mode
U Unwrap mode
H Help mode
O Office Suite mode
TYPE file type File type (file extension). If the option is not chosen it is determined by the filename.
WAIT If this option is chosen, the client will wait until the called application has been closed.
If this option is not chosen, the userexit returns immediately.
NOWAIT If this option is chosen, the userexit returns immediately.
If this option and the WAIT option is not chosen, the system uses the NOWAIT option as default.
Returns
0 Application started (& finished) successfully
-1 Error when executing command
-2 No application (for this parameters) found
-3 Environment variable not set (check CLI_HWS)
Example:
// Search the list of external applications for the command you defined for
// html files (filetype=html) and mode (view)
// The option /WAIT forces the PLM server to wait until your application has closed.
// The filename & path should be written in 'quotes' to avoid
// confusions with other options of the parameter.
int iRc = xapp_exc("/FILE='C:\tmp\demo.html' /MODE=V /WAIT");
int xapp_prt_inf ( )

Shows information about the application that will be started when calling xapp_exc.

This userexit shows the startup information that is used by the external application module when the userexit xapp_exc() is called with the same parameters.
This information is displayed in the message window.

Parameters
cp_parThe parameter is identical to the input parameter of xapp_exc() Please refer to the userexit xapp_exc() for a detailed syntax description.
Returns
0 Application info is printed successfully.
-2 No application found (for this parameter).
-3 Environment variable not set (check CLI_HWS).
int xapp_rea_fld ( )

This userexit can be used by LogiView to determine specific external application entries.

The parameter EP_APP_PAR has the same syntax as described in xapp_exc().

Parameters
cpParLogiView parameter that is divided into the following arguments.
EP_APP_PAR Parameter for xapp_exc() (input) Input parameter used for the userexit xapp_exc().
EP_FLD field name (input) Field name of the table T_APP_DAT that belongs to the row matching with the parameter EP_APP_PAR.
EP_CONTENTS field content (output) Field contents of the found external application entry.
Returns
0 OK
Else Error
Example:
10 EP_APP_PAR = "/FILE=example.html /MODE=E"
20 EP_FLD = "T_APP_DAT.APP_CMD"
30 EP_CONTENTS = ""
40 RES = #xapp_rea_fld(EP_APP_PAR, EP_FLD, EP_CONTENTS)
50 put(strprint("Use command %s to start application !"))
The contents (EP_CONTENTS) could be "cmd.exe /c start %s".
int xchg_get_cfg ( const char *  param,
const char *  ignore 
)

Retrieves the change management configuration of a specific entity or entity relation.

Parameters
contextContext of the userexit
paramParameter to get the different change management configuration information. Syntax like:
"/FIELD={EDB_CHG_FLG | EDB_PAR_VER_MOD | EDB_PAR_EFF_MOD} /EN1=<entity1> [/EN2=<entity2> /VIEW=<view>]

with possible fieldnames:
FIELD EDB_CHG_FLG Change management flag
EDB_PAR_VER_MOD Parallel versioning flag
EDB_PAR_EFF_MOD Parallel effectivity flag
EN1 entity1 Name of entity1
EN2 entity2 Name of entity2
VIEW view Name of view
Do not pass options EN2 and VIEW for entity configurations
Returns
Depends on the value of "/FIELD":
Field NameReturn ValuesDescription
EDB_CHG_FLG 0 No control [StatusControlModeEnum::OFF]
1 Manual control (status transition) [StatusControlModeEnum::MANUAL]
2 Controlled by work set from approved on [StatusControlModeEnum::WITH_RELEASE]
3 Controlled by work set from create on [StatusControlModeEnum::WITH_CREATE]
EDB_PAR_VER_MOD 0 No parallel versioning
1 Parallel versioning enabled
2 Parallel versioning enabled with confirm
EDB_PAR_EFF_MOD 0 No parallel effectivity
1 Parallel effectivity enabled
int xchg_is_active ( const char *  param,
const char *  ignore 
)

Check if the Change Management is active.

Check if the configuration parameter EDB-CHG-SET-ACTIVE is set to ON.

Parameters
contextThe context of the userexit
paramReserved
Returns
0 Change Management is switched off.
1 Change Management is active.
int xchg_log_opr_bas_und ( const char *  param,
const char *  ignore 
)

Call the undo operation method of the base implementation of the given change operation. This userexit provides a userexit wrapper for the undo operation of a change operation's base class. Basically the undo framework works like this:

  1. The undo button calls the userexit 'xchg_log_opr_und' (ChgLogPresenter::undoChangeOperation)
  2. The userexit checks if the trashbasket is empty and optionally asks for confirmation
  3. The userexit creates a change operation instance and calls ChgChangeOperation::undo()
  4. The undo method checks again if the trashbasket is empty
  5. The Work Set is locked and a transaction is opened
  6. All children of this change operation are undone in reverse order by calling ChgChangeOperation::undoOperation(ChgChangeOperationContextR) [see below]
  7. The change operation itself is undone by calling its undo userexit
  8. The default undo userexit performs the following steps:
    1. Checks if new and old objects of this operation are "undoable"
    2. undoNewObjects is called: For each object, the FROM operation is cleared and the delete userexit is called.
    3. undoOldObjects is called: For each object, the UNTIL operation is cleared.
  9. The trashbasket is emptied and the transaction is closed.

If an exception is thrown during this process, the transaction is rolled back.

Looking at this process, at least the method ChgChangeOperation::undoOperation(ChgChangeOperationContextR) must be accessible from the customizers world (i.e. LogiView), otherwise (s)he would have to code too much stuff (with the respective risk). So the 'undo userexit' stored in the change operation LUT is in fact a customizer written replacement for the undoOperation method.

Parameters
contextThe context of the userexit
paramParameter to control the behavior of this function. Syntax like:
"/CHGCTX=<operation context id>]"

With possible arguments:
CHGCTX operation context id Pass the EDB_ID of the change operation. The base operation of the passed change operation will be determined and its ChgChangeOperation::undoOperation() method will be called
Returns
0 OK
Else Error
int xcps_vrf_get_pse ( const char *  param,
const char *  ignore 
)

Determines the product structure elements corresponding to the specified BOM position. Userexit can be called from LGV to get a product structure element.

LGV parameters:

I_PAR_EDB_ID Integer variable with EDB_ID of parent item (0 if I_BOM_EDB_ID is given) (input)
I_POS_NO Integer variable with POS_NO of BOM position (0 if I_BOM_EDB_ID is given) (input)
I_BOM_EDB_ID Integer variable with EDB_ID of BOM position (0 if I_PAR_EDB_ID and I_POS_NO are passed) (input)
D_VAL_FROM Date variable with "valid from" value for timeframe (input)
D_VAL_UNTIL Date variable with "valid until" value for timeframe (input)
S_VIEW_MODE String variable with view mode ("PRD" = production, "DEV" = development (input)
I_ELM_EDB_ID Integer variable with EDB_ID of (first) corresponding product structure element (output)
I_ELM_NUM Integer variable with number of found product structure elements (output)
I_ELM_ERROR Integer variable with error code (output)

The default variable EDB-CPS-ELM-EDBIDS (of type string) is set, containing a comma separated list of all found T_CPS_ELM_DAT.EDB_IDs.

Parameters
contextMenu userexit context
paramReserved
Returns
0 OK
Else Error
Example:
// LGV code
RES = #xcps_vrf_get_pse(I_PAR_EDB_ID, I_POS_NO, I_BOM_EDB_ID, D_VAL_FROM, D_VAL_UNTIL,
S_VIEW_MODE, I_ELM_EDB_ID, I_ELM_NUM, I_ELM_ERROR)
int xewm_crm_elm_mod ( )

Transfers the elements of the assigned folder into the the state 'IN MODIFICATION' (only if WORK_TYPE=CHANGE).

Parameters
cpParDefault parameter with current mode and current row.
Returns
0 OK
Else Error
int xewm_crm_elm_sta ( )

Depending on the entry in the field WORK_TYPE, this userexit checks the element state of the assigned folder.

WORK_TYPE What check is done?
START it is checked if all elements are in the lowest state.
CHANGE it is checked if all elements are in the state "RELEASED".
otherwise no check is performed


Parameters
cpParDefault parameter with current mode and current row.
Returns
0 OK
1 Not all elements are in the desired state
int xmail_action ( )

Edit action userexit to check for query mode.

Modes other than query are not allowed!

Returns
0 OK
1 Mode is not Q
int xmail_post_action ( )

If the field M_SND_U exists and includes a valid uic the corresponding user name is added to the field M_SND_USER.

Returns
0 OK
1 Mode is not Q
int xmail_pre_action ( )

If the mask name includes 'SND' and is longer than 3 digits, The uic of the current user is inserted into the field M_SND_U to search for all mail entries.

Returns
0 OK
1 Mode is not Q
int xmail_snd_to_dbl ( )

Creates a message for all users and groups in a distribution list.

Parameters
parParameter to control the behaviour of this function. The parameter includes the following arguments in the described order separated by '\n'::
1 Send User Id
2 Receive Group Id
3 Mail trigger
4 Mail trigger parameter
5 Mail text
6 Mail Id (user-defined)
7 Comment for sender
8 Activation date = Wake date
9 Start date
10 End date
11 Priority
Returns
0 Message was sent
1 Error
2 Error in resolving dbl
int xmail_snd_to_grp ( )

Creates a message for a certain group.

Parameters
parParameter to control the behaviour of this function. Syntax like: The parameter includes the following arguments in the described order separated by '\n'::
1 Send User Id
2 Receive Group Id
3 Mail trigger
4 Mail trigger parameter
5 Mail text
6 Mail Id (user-defined)
7 Comment for sender
8 Activation date = Wake date
9 Start date
10 End date
11 Priority


To send external mails, the default parameter EDB-MAL-SND-EXT must be set to off(0), on(1), inter(2)

Returns
0 Message was sent
other Error
int xmail_snd_to_usr ( )

Creates a message for a certain user.

Parameters
parParameter to control the behaviour of this function. The parameter includes the following arguments in the described order separated by '\n'::
1 Send User Id
2 Receive Group Id
3 Mail trigger
4 Mail trigger parameter
5 Mail text
6 Mail Id (user-defined)
7 Comment for sender
8 Activation date = Wake date
9 Start date
10 End date
11 Priority
12 Name of role
13 Usr Id(role)


To send external mails, the default parameter EDB-MAL-SND-EXT must be set to (off(0), on(1), inter(2))

Returns
0 Message was sent
1 Incorrect parameters
2 Insert into database not possible
int xmgt_drp_fnc ( )

Drag&Drop userexit when a Drag&Drop action is performed in the target widget.

Calls the LogiView procedure if passed by xmgt_drp_prm and writes the record C_ID and the parent record C_ID to the widget buffer of the target widget.

Note
The function pointer for Drag&Drop operation is set to this userexit by xmgt_drp_prm .
Parameters
h_DstWdgId of target widget by a Drag&Drop operation.
Returns
0 OK
1 Error
See Also
xmgt_drp_prm
int xoffice_chk ( const char *  param,
const char *  ignore 
)

Userexit to check if the office suite client components are installed.

Parameters
contextThe userexit context
paramReserved
Returns
1 The client components are available
Else The client components are not available
int xoffice_chk_cli ( const char *  param,
const char *  ignore 
)

Userexit to check if the office suite client is online.

Parameters
contextThe userexit context
paramReserved
Returns
1 The client components are online
Else The client components are not online
int xoffice_del_prp ( const char *  param,
const char *  ignore 
)

Delete all document properties from the widget buffer.

Parameters
contextThe userexit context
paramthe widget id whose buffer contains the document properties.
Returns
1 Values written -1 Widget not valid ]
int xoffice_drp_chk ( const char *  param,
const char *  ignore 
)

Userexit to check if the target table is valid for file drag & drop operations.

Parameters
contextThe userexit context
paramThe table name
Returns
1 The drop target is valid
Else The drop target is invalid
int xoffice_rea_prp ( const char *  param,
const char *  ignore 
)

Get all properties value from java client with one call and set them in the widget buffer of trash. The document properties in the widget buffer of trash have the prefix: PRP.

Parameters
contextThe userexit context
paramthe trash widget id.
Returns
int
1 Values written -1 Widget not valid
-2 Client communication failed
int xoffice_reg_cli ( const char *  param,
const char *  ignore 
)

Registers the client start-up values on the client machine. The method writes registry values to HKEY_CURRENT_USER.

Parameters
contextThe userexit context
paramnot used
Returns
1 Values written
Else Error
int xoffice_wri_prp ( const char *  param,
const char *  ignore 
)

Get all properties from widget buffer and send it to client within one call. The document properties have the following prefix: docProps.BuiltInPropWrite. for the built in properties; docProps.CustomerPropWrite. for the customer properties;

Parameters
contextThe userexit context
paramthe widget id whose buffer contains the document properties.
Returns
1 Values written -1 Widget not valid
-2 Client communication failed
int xpac_act ( )

Set the first selected record to the current element packet.

You have to have write permission to this element. If an element already exist, you are asked whether to close this element first, or leave it as is.

Returns
0 OK
1 Error
int xpac_act_asg ( )

Opens the specified refine widget for the currently chosen elements and inserts all selected records from the current widget.

Parameters
char*cpPar => Name of entity1 and entity2 (e.g. "EDB-PACKET EDB-PROJECT")
Returns
0 OK
1 Unable to open refine widget
int xpac_act_cls ( )

The current element will be closed.

The value of the static data xpaActElm is set to 0L ( = initial value).

Returns
Always 0
int xpac_act_cnt ( )

Opens the widget with the content of the currently chosen element and the respective entity.

Parameters
char*cpEntity => Name of the entity (e.g. EDB-PACKET)
Returns
0 OK
1 Unable to open widget with content of the entity.
int xpac_act_opn ( )

Opens a widget with all records of the desired entity.

You can choose one entity to be the current element for further operations. You have to have write permission to this element. If an element already exist, you are asked whether to close this element first, or leave it as is.

Parameters
char*cpPar -> Name of entity (e.g. EDB-PACKET)
Returns
0 OK
1 Unable to open widget to choose current element
int xpdw_clr_acc_tmp ( const char *  param,
const char *  ignore 
)

Cleans up the temporary access table. Deletes the entries that were created by the userexit xpdw_cre_acc_tmp from the temporary access table.

Parameters
ctxThe userexit context.
paramParameter to control the behavior of this userexit. Syntax like:
"[/KEY=key]"

With possible arguments:
KEYunique key The key that is used to select the records from the temporary table. All records with this key are removed from T_PDW_ACC_TMP. If no /KEY parameter is passed, the unique id is calculated from the current widget and the current user.
Returns
0 OK
1 Error
See Also
xpdw_cre_acc_tmp
int xpdw_cre_acc_tmp ( const char *  param,
const char *  ignore 
)

Creates the data for the object access list of the current object. This userexit is similar to xpdw_frm_acc, but does not display the access mask interactively. Instead, it only creates the data in the temporary table T_PDW_ACC_TMP. To remove the entries from the table, call the userexit xpdw_clr_acc_tmp.

Parameters
ctxThe userexit context.
paramParameter to control the behavior of this userexit. Syntax like:
"[/KEY=key][/HIGHEST_ONLY][/NO_COLLAPSE_VIEW_ALL]"

With possible arguments:
KEYunique key The key which is used to store the records in the temporary table. If no /KEY parameter is passed, a unique id is calculated from the current widget and the current user.
HIGHEST_ONLYThis optional parameter is used to display the highest privilege for each user or group. If this parameter is not passed, each privilege granted through any role is displayed, together with the role through which the privilege is granted. If this parameter is passed, only the highest privilege is displayed, i.e. if the same user has read access and additional write access through a specific role, only the write access is displayed.
NO_COLLAPSE_VIEW_ALLBy default, only one entry is created for read access if the VIEW_ALL flag of the record is set, showing that "Everyone" has "Read" access. If this parameter is passed, the various read access entries for the groups and users who would have read access, if the VIEW_ALL flag was not set, are created instead.
Returns
0 OK
1 Error
Example:
xpdw_cre_acc_tmp /KEY=MyUniqueKey /HIGHEST_ONLY
See Also
xpdw_clr_acc_tmp
int xpdw_has_obj_acc ( const char *  param,
const char *  ignore 
)

Checks if an user has access to an object.

Parameters
usxCtxThe userexit context.
paramParameter to control the behavior of this userexit. Syntax is:
"/CID=objectCid /ENT=entityName [/CFG]"

With arguments:
objectCidC_ID of object
entityNameEntity of object
CFGCheck is only done if configuration parameter EDB-PDW-CHK-OBJ-BY-EDB has value "yes".
Returns
0 User has no PDW access to object.
1 User has PDW access to object.
-1 PDW (MPA/MOA) is not activated.
-2 Configuration parameter EDB-PDW-CHK-OBJ-BY-EDB has value "no" or is not available
int xpdw_is_pdw_ent ( const char *  param,
const char *  ignore 
)

Checks if an entity is under control of multi project or multi organization access rights.

Parameters
usxCtxThe userexit context.
paramParameter to control the behavior of this userexit. Syntax like:
"[entityname] | [/EN1=entity1 /EN2=entity2 /VIEW=view]"

With possible arguments:
entitynamename of entity Name of entity to check whether it is under control of multi project or multi organization access rights or not.

Instead of the entity, it is also possible to check if the relation is protected by multi project or multi organization access rights (needed for xcpy_str). The following parameters can be used for this check:

EN1entity name Name of first entity.
EN2entity name Name of second entity.
VIEWview name Name of view.
Returns
0 Entity is not under control of multi project or multi organization access rights.
1 Entity is under control of multi project or multi organization access rights.
int xpdw_is_tmp_dis ( const char *  param,
const char *  ignore 
)

Checks if the PDW views have been temporarily disabled by using xpdw_view_off.

Parameters
usxCtxThe userexit context.
paramAdditional userexit parameters. Currently none.
Returns
0 The PDW views are not temporarily disabled.
1 The PDW views are temporarily disabled.
int xprg_cls ( )

Closes the progress reporter form.

Checks if a widget opened by xprg_opn() is open and closes it.

Returns
0 OK
5 User aborted (XPRG_USER_ABORTED)
Else Error
Example:
// working example
int iRc = xprg_cls();
int xprg_opn ( )

Opens a passed or dynamically generated progress reporter form.

If the /FORM option is set, the passed form will be opened and the title, theme, action and image field (if in the form) will be set to the corresponding value. If the /FORM option is not set, a form with the desired fields (optional parameters /THEME, /ACTION, /IMAGE, /REMAINING) will be generated dynamically with the following layout:

1st column 2nd column
1st row Image Theme
2nd row Action
3rd row Remaining Progress

If an item in the first column is missing, the item(s) in the second column will be aligned to the left side.

The widget ID and the current system time will be stored in module global variables. The progress indicator (float value, truncated to integer when displayed in the form) will be set to 0.0.

Parameters
cpParameterParameter to control the behavior of this function. Syntax is:
"<title> [/THEME=<theme>] [/ACTION=<action>] [/IMAGE=<image>] [/FORM=<form>] [/REMAINING] [/PROGRESS]"

with possible arguments:
title Title of the generated form.
THEME theme Theme (chapter) displayed in the form.
ACTION action Action displayed in the form.
IMAGE image Image displayed in the form.
FORM form Name of the form to be displayed.
REMAINING Remaining time shall be displayed.
PROGRESS Progress bar shall be displayed.
|| ABORTABLE | | Allow the user to abort the operation? ]
Remarks
The image field has a column size of 14 and a row size of 4, the other fields have a length of 40.
Returns
0 OK
Else Error
Example:
// working example
int iRc = xprg_opn("EER Export /FORM=\"EDB-EER-PRG-SFR\" /THEME=\"Working on N*Tree\""
"/ACTION=\"Initializing\" /IMAGE=\"#eerini00.gif\"");
int xprg_upd ( )

Updates an already opened progress reporter form.

It determines if a progress reporter widget has already been opened by xprg_opn(). If not, return with error. Updates all fields in the form with the corresponding values or leaves the fields unchanged for which the option is not set.
The remaining-time field is only updated it following condition is met: The process must run since TIME_THRSHD seconds and the progress indicator must be at least PROG_THRSHD. The remaining time is calculated with

\[ RemainingTime = (CurrentTime - StartTime) \frac{100.0}{Progress - 1.0} \]

and exponential smoothing (smooth = 0.8) is applied with

\[ RemainingTime(t+1) = RemainingTime(t) + smooth (RemainingTime(t-1) - RemainingTime(t)) \]

Parameters
cpParameterParameter to control the behavior of this function. Syntax is:
"[/THEME=<theme>] [/ACTION=<action>] [/IMAGE=<image>] [/PROGRESS=<progress>]"

with possible arguments:
THEME theme Theme (chapter) displayed in the form.
ACTION action Action displayed in the form.
IMAGE image Image displayed in the form.
PROGRESS progress Current progress to be displayed in the form (float value).
Returns
0 OK
5 User aborted
Else Internal Error
Example:
// working example
int iRc = xprg_upd("/THEME=\"Working on N*Tree\" /ACTION=\"Starting n*tree\"");
int xpvm_bat_run ( const char *  param,
const char *  ignore 
)

Starts the batch job. The method sets the default value "EDB-PVM-BATCH-<site>" to "RUN" and executes the batch loop.

Parameters
contextThe context of the userexit
paramnot used
Returns
0 OK
1 Error
int xpvm_chk_new_mrk ( const char *  param,
const char *  ignore 
)

Executes the check to create a new markup document.

Parameters
contextThe context of the userexit
paramnot used
Returns
0 OK
1 Error
int xpvm_del_dat ( const char *  param,
const char *  ignore 
)

Deletes the temporary viewing data in error case. The userexit deletes the file list and the DMS properties of the passed view ID from T_PVM_FIL_DAT and T_PVM_DMS_DAT.

Parameters
usxContextThe userexit context.
viewIdThe view ID

candcpp

Returns
0 OK
1 Data could not be deleted.
int xrel_set_rel ( )

The reference to the given entity is set in the multi list of the folder.

The reference to the given entity is created.

Parameters
cp_EntityThe entity to activate
Returns
0 OK
1 Error
int xwfl_act_access ( )

Userexit to check if access to the given activity is allowed.

Parameters
cpPar: Activity c_id
cpIgn: Second userexit parameter (ignored)
Returns
0 OK
1 Error
2 No access to activity
int xwfl_act_restart ( )

Userexit to restart an activity which was already rejected.

Used in LogiView procedure EP_WFL/RestartActivity.

If a work item is initially rejected the respective activity is stopped. The process responsible user has the possibility to change the resource of the activity. With this userexit the activity can be restarted.

Parameters
cpPar: Activity c_id
cpIgn: Second userexit parameter (ignored)
Returns
0 OK
1 Error
Example: Refer to LogiView procedure EP_WFL/RestartActivity
int xwfl_batch_call ( )

Userexit to start a post-action on a process or activity.

Used in LogiView procedure EP_WFL_BATCH/BATCH_EXECUT.

Parameters
cpPar: Parameter to control the behavior of this function. Syntax like:
"<activity c_id> <table name>"

With possible arguments:
activity c_id Activity c_id
table name The table name of the respective entity (T_ACT_DAT/T_PRC_DAT)
cpIgn: Second userexit parameter (ignored)
Returns
0 OK
1 Error
Example: Refer to LogiView procedure EP_WFL_BATCH/BATCH_EXECUT
int xwfl_res_typ_chk ( )

Userexit to check if the chosen resource type makes sense for the type of given activity.

For example only Split-Xor or Split-Or activities can use distribution lists as resources. Used in LogiView procedure EP_WFL/CheckResourceChoise.

Parameters
cpPar: Parameter to control the behavior of this function. Syntax like:
"<activity c_id> <recourse type> <recourse id>"

With possible arguments:
activity c_id Activity C_ID
recourse type Possible types are: USER, GROUP, ROLE, DISTRIBUTOR; Forbidden: AUTOMATIC
recourse id Corresponding to the type: User id, group id, role id, distributor id
cpIgn: second userexit parameter (ignored)
Returns
0 OK
1 Error
2 Resource type not allowed
// working example
field_read(WDG, "T_ACT_DAT.C_ID", ROW, EP_WFL_ACT_POS)
field_read(WDG, "T_ACT_DAT.RES_TYPE", ROW, EP_WFL_RES_NAME)
field_read(WDG, "T_ACT_DAT.RES_REF", ROW, EP_WFL_OBJ_ID)
RES = #xwfl_res_typ_chk(EP_WFL_ACT_POS, EP_WFL_RES_NAME, EP_WFL_OBJ_ID)
Example: Refer to LogiView procedure EP_WFL/CheckResourceChoise
int xwfl_upd_ibx ( )

Userexit to update all currently open work item lists (inboxes).

Used in LogiView procedure EP_WFL/MEN_XOpenWorkItemForm.

Parameters
cpPar: First userexit parameter (not used)
cpIgn: Second userexit parameter (ignored)
Returns
0 OK
1 Error
Example: Refer to LogiView procedure EP_WFL/MEN_XOpenWorkItemForm
int xwfl_workitem_abort ( )

Userexit to cancel a work item.

This userexit is called if an ad hoc process is cancelled.

Parameters
cpPar: First userexit parameter (not used)
cpIgn: Second userexit parameter (ignored)
Returns
0 OK
1 Error
int xwfl_workitem_accept ( )

Userexit to accept a work item.

It is not possible to accept an already accepted work item again. To forward a work item it has to be accepted first.
Used in LogiView procedure EP_WFL/AcceptWrkItm_sel.

Parameters
cpPar: Workitem c_id
cpIgn: Second userexit parameter (ignored)
Returns
0 OK
1 Error
Example: Refer to LogiView procedure EP_WFL/AcceptWrkItm_sel
int xwfl_workitem_forward ( )

Userexit to forward a work item to another user and send an email to this user (receiver).

Used in LogiView procedure EP_WFL/ForwardWrkItmMaskInit_sel.

Parameters
cpPar: Parameter to control the behavior of this function. Syntax like:
"<work item c_id> <receiver> <message text>"

With possible arguments:
work item c_id Work item C_ID
receiver Name of the receiver
message text Message text
cpIgn: Second userexit parameter (ignored)
Returns
0 OK
1 Error
Example: see LogiView procedure EP_WFL/ForwardWrkItmMaskInit_sel
int xwfl_workitem_reject ( )

Userexit to reject a work item to another user who forwarded it before or to the system that created it.


An email is sent to this user (receiver) or to the process responsible user in case of a newly created workitem. Used in LogiView procedure EP_WFL/RejectWrkItmMaskInit_sel.

   <table> Difference between "normal reject" and "initial reject":
     <tr><th>normal reject</th>
         <td>
             If a user rejects a forwarded work item the "normal reject" case happens
             FORWARDEDREJECTED. This means that the work item, which was forwarded by 
             another user, can be rejected and a mail is sent to this user.
         </td></tr>
     <tr><th>initial reject</th>
         <td>
             If a work item is rejected, which was just created from the system and 
             sent to the user, the "initial reject" is used INITIALREJECTED. 
             Because there is no receiver for the rejected work item, the respective 
             process is stopped and the current activity is REJECTED. The work item will 
             be deleted and the "process responsible user" will be informed about it. 
             The resource of the activity can be changed and the activity can be restarted.
         </td></tr>
   </table>
Parameters
cpPar: Parameter to control the behavior of this function. Syntax like:
"<work item c_id> <message text>"

With possible arguments:
work item c_id Work item C_ID
message text Message text
cpIgn: Second userexit parameter (ignored)
Returns
0 OK
1 Error
Example: Refer to LogiView procedure EP_WFL/RejectWrkItmMaskInit_sel
int xwfl_wrkitm_get_pv_bywid_i18n ( )

Userexit to get the value of a process variable associated with a work item, which is defined by the given id.

This userexit gets the work item id as parameter.

Parameters
cpPar: Parameter to control the behavior of this function. Syntax like:
"<process var>,<workitem id>"

With possible arguments:
process var Process variable ( like C_*)
workitem id Id of work item
result Value of process var
cpIgn: Second userexit parameter (ignored)
Returns
0 OK
1 Error
Example
RES=#xwfl_wrkitm_get_pv_bywid(EP_LIST,EP_STRING,EP_STR2)
See Also
xwfl_wrkitm_get_pv
int xwfl_wrkitm_prea ( )

Userexit to execute a LogiView procedure that is defined in the onComplete field of an activity shortly before completion.

This userexit is called if a work item has to be completed.

Parameters
cpPar: Activity c_id
cpIgn: Second userexit parameter (ignored)
Returns
0 OK
1 Error