# Userexits

Functions

## No-Select-Menu userexits
[Menu userexits]

### Functions
int | dal_mdl_wdg_opn ()
| Userexit to open a modal widget from LogiView.
DtvLong | dal_wdg_map_vir ()
| Maps a widget that has been created in virtual mode.
int | dal_wdg_rfr_cli ()
| Refreshes a widget on client side.
int | edb_ief_get_dat_men ()
| This userexit reads in the data of a file according to a default format.
int | edb_ief_put_dat_men ()
| This userexit writes data from a widget to a file in a predefined format.
int | mas_set_mlf_fld ()
| Sets the multi-language flag of a field.
int | nsv_usx_ren_pnr ()
| No-select menu userexit to set the position numbers of all records in the current list.
int | sig_sel_key ()
| Writes a selection string into the given field to get all records of a matching search string.
int | xapp_upd ()
| No-select menu userexit to update the cached information.
int | xase_cre_tab_vie (const char *param, const char *ignore)
int | xase_is_ase_wdg (const char *param, const char *ignore)
int | xatt_set_vis (const char *param, const char *ignore)
int | xcfg_get_flg (const char *param, const char *ignore)
int | xcfg_set_flg (const char *param, const char *ignore)
int | xchg_cfg_reload (const char *param, const char *ignore)
int | xchg_sel_ord_set (const char *param, const char *ignore)
int | xcls_ins_set_att (const char *param, const char *ignore)
int | xcps_cls_new_cmp (const char *param, const char *ignore)
int | xcps_prl_mdl_bom_sel (const char *param, const char *ignore)
int | xcps_sol_item_show (const char *param, const char *ignore)
int | xctx_app_mas_tit (const char *param, const char *ignore)
int | xdir_opn ()
| Opens list widget to display contents of passed directory.
int | xedb_edit ()
| Starts editor for the passed file.
int | xedb_inf_vie ()
| Displays the current view in the client's message window.
int | xedb_ins_slv ()
| Inserts a slave record into the structure list of the document widget.
int | xedb_iwf_frm_ent ()
| No-select menu userexit.
int | xedb_set_vie ()
| Sets current view of PLM.
int | xedb_usr_inf ()
| No-select menu userexit.
int | xedbch_lng_mod_act ()
| Dummy userexit.
int | xeer_exp ()
| Analyzes requests stored in EER's "SEND-TO"-table and starts the corresponding export procedure.
int | xeer_imp ()
| Imports an EER package.
int | xeer_inf ()
| Analyzes received acknowledgement files inside the EER import directory.
int | xform_ass_exc ()
| Starts or continues execution of an assistant.
int | xform_call_dlg ()
| Opens the existing dialog form with a sublist.
int | xform_call_frm ()
| Opens the form and displays it on the screen.
int | xform_dlg_act ()
| Menu userexit for buttons on dialog form (used for the assistant).
int | xform_get_ass_wdg ()
| Gets the assistant root widget.
int | xgroup_lis (const char *param, const char *ignore)
int | xinfo_open ()
| No-select menu userexit to open a list widget to display status information.
int | xknl_chg_itm_ref (const char *param, const char *ignore)
int | xntm_edt_os ()
| Note manager userexit to edit records with an operating system specific editor.
int | xpdw_auth_pro_sel (const char *param, const char *ignore)
int | xpdw_auto (const char *param, const char *ignore)
int | xpdw_cln_vie (const char *param, const char *ignore)
int | xpdw_ksa_lis_agg (const char *param, const char *ignore)
int | xpdw_ksa_lis_ref (const char *param, const char *ignore)
int | xpdw_ksa_vie_dwn (const char *param, const char *ignore)
int | xpdw_ksa_vie_hom (const char *param, const char *ignore)
int | xpdw_ksa_vie_up (const char *param, const char *ignore)
int | xpdw_ppj_mas (const char *param, const char *ignore)
int | xpdw_pro_dis_mas (const char *param, const char *ignore)
int | xprm_reload (const char *param, const char *ignore)
int | xprt_chs_tpg_rpg ()
| No-select menu userexit to activate the report tool.
int | xprt_rpg_sel ()
| Creates printer menu for report generator.
int | xprt_sel ()
| Creates printer menus.
int | xpvm_bat_exi (const char *param, const char *ignore)
int | xpvm_opn_msk (const char *param, const char *ignore)
int | xpvm_rld_prp_map (const char *param, const char *ignore)
int | xqry_cnd_loa ()
| 'condition mask', which were saved by the user under a logical name.
int | xqry_dat_get_rec ()
| Displays the records which were stored under a logical name in the current widget.
int | xqry_str_opn_mas ()
| Menu userexit to open 'EDB-QRY-STR-SLI' or user given list and write the origin mask as query criteria mask in the field T_QRY_DAT.QRY_MAS and the current user in the field T_QRY_DAT.USER.
int | xrole_get_cfg ()
| Reads value of configuration parameter EDB-ROL-ACTIVE.
int | xsml_hlp_ken ()
| No-select menu userexit to open the help file or the list with attributes descriptions for a classification list.
int | xsmlc_cnt_lis ()
| No-select menu userexit to count entries in the classification lists for classes of type ATC.
int | xstate_ret_show_prl (const char *param, const char *ignore)
int | xstate_set_show_prl (const char *param, const char *ignore)
int | xtask_free ()
| Deletes the cache of the role concept.
int | xtxt_ctg_tak_ent_men (const char *param, const char *ignore)
int | xtxt_whr_use_rsh_men (const char *param, const char *ignore)
int | xtxt_whr_use_up2_men (const char *param, const char *ignore)
int | xutil_dbl_sql_sbg (const char *param, const char *ignore)
int | xutil_del_all_wdg (const char *param, const char *ignore)
int | xutil_ebl_sql_sbg (const char *param, const char *ignore)
int | xutil_frm_lis (const char *param, const char *ignore)
int | xutil_rst_acc_fld (const char *param, const char *ignore)
int | xwfl_prc_ins_adhoc ()
| Menu userexit to create an ad hoc process.
int | xwfl_prc_ins_tpl ()
| Menu userexit to copy a process from a template.
int | xwfl_process_xml ()
| Menu userexit that is called when a xml definition has to be executed by the workflow engine.
int | xwfl_workitem_complete_i18n ()
| Menu userexit that is called when a work item is completed.
int | zag_dlg_iwf_frm_ent ()
| Select menu userexit for lists to display the selected records in opened form.
int | zag_dlg_usr_inf ()
| Opens form and displays information about current user.
int | zag_fli_edit ()
| Starts editor for passed file.
int | zag_tst_box ()
| Starts a dialog box for module traces.
int | zag_tst_ctr ()
| Defines type and complexity of the test output.

### Function Documentation

int dal_mdl_wdg_opn | ( | ) |

Userexit to open a modal widget from LogiView.

The widget will become modal by calling `iwf_cls_edt` and `iwf_ins_elm/iwf_dup_lis/iwf_edt_lis`. It has to be closed by calling `widget_close` after the modal dialog is finished.

In case of the Java or Web client, the client communication is locked and the widget is opened on server side. It will be mapped as a modal widget on client side after `iwf_cls_edt` by `iwf_ins_elm/dup_elm/edt_lis`.

LogiView Example:

        RES = @dal_mdl_wdg_opn("iwf_lis_ent /PAR='EDB-ARTICLE EDB-ART-SLI'")
        RES = @iwf_cls_edt()
        RES = @iwf_ins_elm()
        widget_close(widget_id())

Parameters:

  cpArguments | Additional argument string. Syntax is: "<userexit> [/PAR=<parameter>]" With possible arguments:
  userexit |  | Name of the userexit (e.g. iwf_lis_ent) to open the widget
  PAR | parameter | Arguments for the userexit

Returns:

  0 | OK
  Else | Unable to create the widget

DtvLong dal_wdg_map_vir | ( | ) |

Maps a widget that has been created in virtual mode.

For the Java and Web client, the widget is mapped on the client and set as the current widget.

In case of the DataView client, the pre-mask userexit is executed and the widget is cloned: A virtual widget cannot be converted to an interactive widget.
Caution: The original widget is deleted in this case.

LogiView Example:

         virtual(TRUE)
         RES = @iwf_lis_ent("EDB-ARTICLE")
         WDG = widget_id()
         RES = @wdh_upd_lis()
         virtual(FALSE)
         RES = @dal_wdg_map_vir(strprint("%d", WDG))

Parameters:

  cpArguments | Argument string. Syntax is: "<widget>" With possible arguments:
  widget | ID of the widget to map on the client

Returns:

  0 | OK
  1 | Problems on client side
  2 | Virtual mode active
  3 | Widget invalid

int dal_wdg_rfr_cli | ( | ) |

Refreshes a widget on client side.

Instructs the client to refresh the content of a widget.

In case of the Java or Web client, a `refreshWidget` callback is executed, otherwise, nothing happens.

This userexit should be used if a server side code modifies a widget, but the client does not get this modification automatically.
This can happen if, for instance, a select or no-select menu userexit modifies a widget other than the one it has been called for.

Parameters:

  cpArguments | Additional argument string. Syntax is: "<widget> [/ROW=<val>]" With possible arguments:
  widget |  | ID of the widget to refresh; if no widget is given, the current one is used
  ROW | val | If specified, only this row is refreshed; otherwise, all records are refreshed.
  options | /RELOAD | (optional) additional options to pass to the client. The client will reload the widget layout if this option is specified
  || options| /TAB=selectionName | (optional) additional options to pass to the client. The client will show a sub mask with the given selection name. If the selection name doesn't exists for the main mask, the gerneral sub mask will be shown.]

Returns:

  0 | OK
  Else | Error

LogiView Example:
  Refresh row `EP_INT` in the current widget.

        RES= @dal_wdg_rfr_cli(strprint("WIDGET=%i /ROW=%i", widget_id(), EP_INT))

int edb_ief_get_dat_men | ( | ) |

This userexit reads in the data of a file according to a default format.

It can be called from any menu.

Parameters:

  par | Parameter to control the behavior of this function. Syntax like: "<File symbol> <Format name> <Format version> [/<Option>=<Value>]" With possible arguments:
  File symbol |  | This value defines the name of an environment variable (icon) which contains the file name (with path) of the file to be processed.
  Format name |  | This value defines the name of the format with which the file is read in.
  Format version |  | This value defines the version of the data format.
  Option | REF-DEL | 1 - Deleting the positions existing before the import.
  | TRA-STRICT | 1 - Follow transaction code.
  | ART-UNQ | 1 - Parent (child element must be unique.
  | ENT-DEL-REF | 1 - Delete all relationships when deleting a data record.
  | REF-INT-IDX | 1 - Integer position number for relationships.
  | POS-COL-NAM | Column number for position number.
  | REF-IDX-INC | Increment for position number.
  | ISTART-USX | Start userexit.
  | IPRE-ACT-USX | Pre-action userexit.
  | IPST-ACT-USX | Post-action userexit.
  | IEND-USX | End userexit.
  | ON-IMP-ERROR | ("BREAK", "CONTINUE").
  | PUT-DB-FLD | 1 - Import multilingual fields. 0 - Importing fields only contained in the mask.
  | HEAD | Number of lines to be left out at the beginning of the file.
  | TST-IDX | 1 - Checking the position number.
  | TRA-INSERT | 1 - Transaction code for insertion (refresh).
  | TRA-MODIFY | 2 - Transaction code for modifications.
  | TRA-DELETE | 3 - Transaction code for deleting.
  | ACTION | 1 - Action to be used if the IEF field definition has no keyword.
  | CMP-OLD-NEW | 1 - Comparison of old and new field contents and no saving of the field if both are identical.

Returns:

  0 | OK
  Else | Error

int edb_ief_put_dat_men | ( | ) |

This userexit writes data from a widget to a file in a predefined format.

It can either be called up in the selection menu or the non-selection menu. For selection menus, the selected data records are transferred while for non-selection menus all data records of the mask are transferred.

Parameters:

  par | Parameter to control the behavior of this function. Syntax like: "<File symbol> <Format name> <Format version> <Resolution> [/<Option>=<value>]" With possible arguments:
  File symbol |  | This value defines the name of an environment variable (icon) which contains the file name (with path) of the file to be processed.
  Format name |  | This value defines the name of the format with which the file is read in.
  Format version |  | This value defines the version of the data format.
  Resolution |  | For structure widgets (REF, NRF and STR) this value defines the resolution of the structure, that means which data of the structure is to be issued. LAST - Last data record of the structure. FIRST - First data record of the structure. STR - All data records of the structure.
  Option | ACTION | Transaction code to be used
  | ON-EXP-ERROR | ("BREAK", "CONTINUE").
  | ESTART-USX | Start userexit.
  | ETST-TOP-USX | Test parent userexit.
  | ETST-REF-USX | Test relationship userexit.
  | ETST-BOT-USX | Test component userexit.
  | EEND-USX | End userexit.
  | WHAT | Selection of data records to be exported: SEL - all data records selected. SEL_FIRST - the first data record selected. ALL - all data records in the mask. ROW - only those lines transferred with "/ROW".
  | ROW | Lines to be exported when "/WHAT=ROW".
  | LEN | Number of lines to be exported when "/WHAT=ALL".
  | IGN-VOID-STR | 1 - Do not generate any data records if no position is contained in the structure. 0 - Generate a line in the file for the parent data record of a structure.
  | GET-DB-FLD | 1 - Exporting multilingual fields. 0 - Exporting only fields contained in the mask.
  | TRA-INSERT | Transaction code for insertion.
  | TRA-MODIFY | Transaction code for modification.
  | GET-USR-ACC | 1 - Read user ID, group ID and access rights for each data record from the data base. This should only be carried out when the corresponding files really exist. In data base views (in case of structure derivation for instance) those fields do not exist. 0 - Do not read the access right from the data base. @OWNER, @GROUP and @ACCESS must not be used in the field definition.
  | GET-TOP-ACC | 1 - Set the access rights of the parent element when exporting.

Returns:

  0 | OK
  Else | Error

int mas_set_mlf_fld | ( | ) |

Sets the multi-language flag of a field.

Can be used, for instance, by pre-mask userexits to set a calculatory field to multi-lingual, which is needed to support I18N content in calculatory fields.

The field name must have the suffix of the desired language, because DataView uses the last three characters of the field name to determine the language of the field.
This userexit only calls `mas_ret_mas` to get the mask handle, so the mask needs to be created before calling `mas_set_mlf_fld`.

Parameters:

  cpPar | Arguments for this userexit. Syntax is: "<flag> /MASK=<mask> /FIELD=field" With possible arguments:
  flag |  | y or 1 to set the multi-language flag, any other value to reset it.
  MASK | mask | Name of the mask to use
  FIELD | field | Name of the field to modify

LogiView Example:

      RES = @mas_set_mlf_fld("1 EDB-ART-CFR TEST_FIELD_JAP")

Returns:

  0 | OK
  1 | Illegal arguments
  2 | Mask not found by mas_ret_mas
  3 | Field not found by mas_ret_fld

Since:
  Agile e6.0.2

int nsv_usx_ren_pnr | ( | ) |

No-select menu userexit to set the position numbers of all records in the current list.

This userexit is useful if further records have been added and the position numbers shall be renumbered.

Example:

          Old List        Call of userexit       New list
          ------------                           ------------
          10 Item 4711     nsv_usx_ren_pnr       10 Item 4711
          11 Item 4718     (/STEP=10)            20 Item 4718
          15 Item 4719                           30 Item 4719

Parameters:

  cp_Arguments | Parameter to control the behavior of this function. Syntax like: "FIELD_NAME [/STEP=n]" With possible arguments:
  FIELD_NAME | Name of position field. If the name is omitted, the first integer field is assumed to be the position field.
  /STEP=n | Increments from one position number to the next, e.g. /STEP=10 -> 10, 20, 30, etc., or /STEP=2 -> 2, 4, 6, etc. If this option is not set, STEP will be set according to the width of the position field and the number of existent lines in the current list. If the field width is 3 then the maximum number is 999. /STEP=10 for number of lines <= 99, /STEP=5 for number of lines <= 199, /STEP=2 for number of ines <= 499 and /STEP=1 for number of lines <= 999.

Returns:

  0 | OK
  1 | Position field is not present

Remarks:

This userexit will not affect any records that are not in the list (e.g. the last query fills the list with the valid items only). The current order of the records in the list is determined by their position number, and not by the old value of the position number! The argument /ALL does not affect this function (it is used by nsv_usx_ren_row).

See also:
  nsv_usx_ren_row

int sig_sel_key | ( | ) |

Writes a selection string into the given field to get all records of a matching search string.

Parameters:

  cpPar | Parameter 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.
  cpIgn | not used

Returns:

  0 | on
  1 | off

Note:
  On the first usage of a private key, the key will be verified by the related certificate and the user have to set a new password for the private key.

int xapp_upd | ( | void | ) |

No-select menu userexit to update the cached information.

This userexit can be called from the no-select menu EDB-APP-SLI.
If new applications/commands are inserted into the list of external applications, this userexit is used to publish the new entries within the external application module.

Returns:

  0 | Table of external applications updated
  Else | Error

int xase_cre_tab_vie | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Creates temporary table and view for all heterogeneous structure use cases.

Parameters:

  usxCtx | Menu userexit context.
  cp_par | Reserved.

Returns:

  0 | OK

int xase_is_ase_wdg | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Checks if current widget is an heterogeneous structure widget.

Parameters:

  usxCtx | Menu userexit context.
  param | Reserved.

Returns:

  0 | Widget is no heterogeneous structure widget
  1 | Widget is an heterogeneous structure widget

int xatt_set_vis | ( | const char * | param,
|  | const char * | ignore
| ) |  |

No-Sel Menu/Button userexit for classification list to control class attributes visibility in classification lists.

It opens a setting list with attribute sets assigned to the class. This attribute sets can be to be set visible/invisible. If the OK button is clicked, then the new settings will be applicated immediately to the current opened classification list (the new visible/invisible attribute fields will appear/disappear in/from the classification list).

Parameters:

  context | Userexit context.
  param | parameter of menu userexit, not used yet

Returns:

  0 | OK
  Else | Error | It throws a pdm exception if classification list has no father element

int xcfg_get_flg | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Retrieve a boolean configuration parameter.

Parameters:

  aContext | Menu userexit context
  param | Parameter to control the behavior of this function. Syntax like: "parameterName"

Returns:

  -1 | configuration parameter is not defined or invalid
  0 | configuration parameter is false
  1 | configuration parameter is true

int xcfg_set_flg | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Temporarily define a boolean configuration parameter.

The provided value precedes any value stored in the database.

Parameters:

  aContext | Menu userexit context
  param | Parameter to control the behavior of this function. Syntax like: "parameterName /VALUE={true|false}" if /VALUE is invalid, the parameter is set to false.

Returns:
  the value the parameter had before (0 = false, 1 = true) or -1 if it was not defined or invalid

int xchg_cfg_reload | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Updates the Change Management configuration cache.

Reads the Change Management configuration data from the database and reloads the cache so intermediate changes for the Change Management configuration are valid.

Parameters:

  context | The context of the userexit
  param | Reserved

Returns:

  0 | OK

int xchg_sel_ord_set | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Menu userexit to choose and set the default Work Order and Work Request for the next and all subsequent change operations.

This userexit is usually used for (tool-)button menus. In the interactive mode the modal dialog 'EDB-EWO-SET-SEL-SFR' is displayed and the user can interactively choose the Work Order and Work Request.

Parameters:

  context | Context of this userexit
  param | Parameter to control the behavior of this function. Syntax like: "[/WORKSETMANDATORY][/WORKORDERMANDATORY]" With possible arguments:
  /WORKSETMANDATORY |  | It is mandatory to select a workset. This implies a mandatory workorder, too.
  /WORKORDERMANDATORY |  | It is mandatory to select a workorder.

Returns:

  0 | OK
  Else | Error

- Only EWOs that are in the state 'In Work' have to be displayed
- Only EWSs that belong to the chosen EWO are displayed.
- Only EWSs that are in the state 'In Work' shall be displayed.
- Check the functionality of 'Ok' and 'Cancel' button.
- The default EWO/EWS shall be displayed initially.
- When choosing an EWO with single EWS assigned, the EWS shall be selected automatically.

int xcls_ins_set_att | ( | const char * | param,
|  | const char * | ignore
| ) |  |

No select button/menu userexit to assign class set attributes to a class.

If one of the existent attribute sets is chosen, all attributes assigned to this set and not yet assigned to a class, will be inserted in the class attributes list. The mask remains in edit mode, so the user can decide all of them should be stored or some of them should be deleted.

Parameters:

  cpArguments | Reserved userexit parameter, not yet used.

Returns:

  0 | Success |  | Else | Error

int xcps_cls_new_cmp | ( | const char * | param,
|  | const char * | ignore
| ) |  |

No-select menu userexit for product component - classification relation.

Creates a new product component and assigns it to the current class.
This userexit can be called from the no-select menu of the relation widget between a class and a product component (usually available as folder on the combined form for classes). It opens a modal widget to create a new product component where the EDB_ID of the product component is automatically set from the number server and the name of the component is preset to the name of the class.

Parameters:

  context | Menu userexit context
  param | Reserved

Returns:

  0 | OK
  Else | Error

int xcps_prl_mdl_bom_sel | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Menu userexit for parallel structure - product component widgets.

Opens ModularBom for product component which is assigned to the top level parallel structure record.

Parameters:

  context | Menu userexit context
  param | Parameter to control the behavior of this function. Syntax is: "[/LIST]" With possible arguments:
  LIST |  | Display modular BOM in list instead of combined form.

Returns:

  0 | OK

int xcps_sol_item_show | ( | const char * | param,
|  | const char * | ignore
| ) |  |

No-select menu userexit for the item selector.

Shows all available classified items.

Note:
  Resets the join condition in select mask to the original join to display all items.

Parameters:

  context | Menu userexit context
  param | Reserved

Returns:

  0 | OK
  Else | Error

int xctx_app_mas_tit | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Appends the name of the context with passed ID to the current mask title.

Note:
  Can be called as menu userexit.

Parameters:

  ctx | Menu userexit context.
  param | Parameter to control the behavior of this function. Syntax is: "<contextId>" With possible arguments:
  contextId | ID of the context which name is added to the mask title (e.g. "PRD").

Returns:

  0 | OK
  Else | Error

int xdir_opn | ( | ) |

Opens list widget to display contents of passed directory.

Parameters:

  cp_par | Parameter to control the behavior of this function. Syntax is: "{dir|@W|@L} entity [list][/NAME=<pattern>]" With possible arguments:
  | dir | Name of directory with absolute path.
  | @W | Current working directory.
  | @L | Login directory.
  | entity | Entity name to use (usually "EDB-CENTRAL")
  | list | Name of list to use to display content.
  NAME | pattern | Search pattern for filename containing wildcards (% or ?) e.g. "%.dat". Logical operators (|, &) are not allowed.

Returns:

  0 | OK
  1 | Syntax error in parameter string
  2 | Unable to open widget

int xedb_edit | ( | ) |

Starts editor for the passed file.

Deprecated:
  Use zag_fli_edit instead.

Parameters:

  nam | Complete name (including path) of the file to be edited.

Returns:

  0 | OK
  1 | Error

See also:
  zag_fli_edit

int xedb_inf_vie | ( | ) |

Displays the current view in the client's message window.

Returns:

  0 | Ok

int xedb_ins_slv | ( | ) |

Inserts a slave record into the structure list of the document widget.

Note:
  The selection EDB-SLV-TYP-INS with userexit xedb_ins_slv is available in dump.

Parameters:

  cp_parameter | Parameter to control the behavior of this function. Syntax is: "<entityname> [/T=<typname>][/F=<fieldname>]" With possible arguments:
  | entityname | Name of entity.
  T | typname | Name of type .
  F | fieldname | Name of field to set default.

Returns:

  0 | OK
  1 | Wrong parameter syntax/value

See also:
  xedb_cop_slv,xedb_del_slv

int xedb_iwf_frm_ent | ( | ) |

No-select menu userexit.

Deprecated:
  Use zag_dlg_iwf_frm_ent instead.

Parameters:

  cp_par | Parameter to control the behavior of this function. Syntax is: "<entityname> [<formname>]" With possible arguments:
  entityname | Name of entity.
  formname | Name of form to open.

Returns:

  0 | OK
  1 | Error

See also:
  zag_dlg_iwf_frm_ent

int xedb_set_vie | ( | ) |

Sets current view of PLM.

Possible values:

Id | View | View filter
--- | --- | ---
1 | Production | Date as set by user, current flag is not considered.
2 | Development | Current date, current flag = "y"
3 | Global | Independent of date and current flag
4 | Not yet ineffective | Similar to Production, but filter will only be set to "valid until" date and preliminary flag.

Note:
  If a date (or keyword ) for view 1 (production) is passed with the parameter 'cp_Parameter' no prompt form will be used to ask the user for the date.

Parameters:

  cp_Parameter | Parameter to control the behavior of this function. Syntax is: "<view> [<prod_date>]" With possible arguments:
  view | 1 | Sets production view.
  | 2 | Sets development view.
  | 3 | Sets global view.
  | 4 | Sets not yet ineffective view.
  prod_date |  | Optional parameter to pass the production date. Only valid for view 1 (production).
  |  | @TODAY = current date
  |  | @NOW = keep date dynamic on demand
  |  | or any date, using database format

Returns:

  0 | Ok

See also:
  xedb_vie_set_prd, xedb_vie_shw_prd

Example:

        int iRc = xedb_set_vie("1 @TODAY");

int xedb_usr_inf | ( | ) |

No-select menu userexit.

Deprecated:
  Use zag_dlg_usr_inf instead.

Returns:

  0 | OK

See also:
  zag_dlg_usr_inf

int xedbch_lng_mod_act | ( | ) |

Dummy userexit.

Deprecated:

Returns:

  0 | OK

int xeer_exp | ( | ) |

Analyzes requests stored in EER's "SEND-TO"-table and starts the corresponding export procedure.

Basically an n*Tree , that is defined in the "SEND-TO" table is executed. This n*Tree processes an n-dimensional structure of items, documents, files etc. and executes callbacks of the EER module.

These callbacks, namely xeer_exp_ins_rec() and xeer_exp_chk_out(), mark records and stored documents that have to be exported. All marked records and stored documents are exported to several files and will be combined to a package (if desired) which has to be transmitted to the receiver.

Parameters:

  cpArgument | Default trigger parameter (reserved)

Returns:

  0 | OK
  Else | Error

int xeer_imp | ( | ) |

Imports an EER package.

EER packages are processed as follows:

1. Call the init function of the import module (xeer_imp_init).

2. Read config file entries:

   LocalSite | Local site identification
   RootDir | EER root directory
   MakeIndex | Path to make index command for loader file(s)
   SecureError | Path to move the packets to if the import is faulty
   SecureOk | Path to move the packets to if the import is successful
   UnpackCommand | Path to unpack command(s)
   PackCommand | Path to pack command(s)
   Unpack | List of unpack commands for several pack programs (like unzip)
   Pack | List of pack commands for several pack programs (like zip)

3. The path dependent on the operating system for the import directory (<EER_ROOT> + <IMPORT_DIR>) and the import unpack directory(<EER_ROOT> + <IMPORT_DIR> + <UNPACKED_DIR>) is created and a list of all files (packets) inside the import directory is retrieved.

4. Loop over all received packets. Get the correct unpack command from the list dependent on the extension of the packet. Read the DTV default value indicating whether the import file has to be deleted or it has to be moved to a backup directory. Call a shell command to unpack the packet in the import unpack directory. Read the values of the label file. Check if this packet is destined for this site (key name "TO"). Check if a return file for the sender is desired. If so, create a new label file for the sender.

5. Call a shell command to process the loader file with "mk_index". Before calling the DTV loader with the data file and the import mode 'O'verwrite as parameters, a begin of transaction is set. If an error occurs, the transaction is cancelled otherwise the transaction is committed.

6. Pack the return label file and info file and store it in the acknowledge medium site directory (<EDB_ROOT> + <ACKNOW_DIR> + <MEDIUM_DIR> + <SITE_NAME>). Delete the imported files of the currently extracted packet.

7. Call the exit function of the import module (xeer_imp_exit).

Parameters:

  cp_Parameter | Default trigger parameter (reserved)

Returns:

  EER_IMP_NO_ERROR | OK
  EER_IMP_DTV_LOADER_ERROR | Error in DataView's loader module
  EER_CFG_... | Error in EER's cfg module
  EER_DIR_... | Error in EER's dir module
  EER_LOA_... | Error in EER's loa module
  EER_UTI_... | Error in EER's uti module

int xeer_inf | ( | ) |

Analyzes received acknowledgement files inside the EER import directory.

Records that are replicated successfully will be removed from EER's "SEND-TO" table, records with replication failure will be marked either for a new try ('A'gain) or for an error ('E'rror) after 999 retries.

Parameters:

  cpArgument | Default trigger parameter (reserved)

Returns:

  EER_INF_NO_ERROR | OK
  Else | Error

int xform_ass_exc | ( | ) |

Starts or continues execution of an assistant.

Parameters:

  cp_Parameter | Parameter to control the behavior of this function. Syntax is: "assistant_id" With possible arguments:
  assistant_id | Identifier of assistant.

Returns:

  0 | OK
  1 | Error

int xform_call_dlg | ( | ) |

Opens the existing dialog form with a sublist.

Menu function which opens the existing dialog form with the passed sublists and sets the form in edit mode if option "INSERT" or "UPDATE" is passed. If the calculate field 'TEXT' does not exist in the form, this userexit will automatically add the field. The passed text (option /TEXT) will be written into this field.

Note:
  You have to define the dialog form. Since the entity 'EDB-DIALOG-BOX' is the corresponding entity to the form, the field 'T_DLG_BOX.EDB_ID' must be contained (invisible) in the form. The number of possible working mode combinations is limited for the dialog form and the sublists. If an invalid combination was used an error message will be displayed. The working mode for the dialog form itself will be determined automatically depending on the working mode of the sublists.

Parameters:

  cp_Arguments | Parameter to control the behavior of this function. Syntax is: "form /INSERT=list1[,list2[,...]] /UPDATE=list1[,...] /SELECT=list1[,...] /TEXT=text" With possible arguments:
  | form | Name of (combined) dialog form.
  INSERT | list1 | Sublists in insert mode.
  UPDATE | list1 | Sublists in update mode.
  SELECT | list1 | Sublists in select mode.
  TEXT | text | Text for field "TEXT" in dialog form.

Returns:

  0 | OK
  1 | Error

See also:
  xform_dlg_prm xform_dlg_act

int xform_call_frm | ( | ) |

Opens the form and displays it on the screen.

Note:
  You have to define the form. Since the entity 'EDB-CENTRAL' is the corresponding entity to the form, the field 'T_CENTRAL.COMPARE' must be contained (invisible) in the form.

Parameters:

  cp_Form | Parameter to control the behavior of this function. Syntax is: "form_name" With possible arguments:
  form_name | Name of form.

Returns:

  0 | OK
  1 | Error
  -1 | Event loop has been cancelled.

int xform_dlg_act | ( | ) |

Menu userexit for buttons on dialog form (used for the assistant).

If the widget is in edit mode, the edit mode will be cancelled and the dialog form is deleted.

Note:
  If the option 'NXT' is passed, the buffer of the current widget is saved and will be copied to the next dialog form by its pre-mask userexit 'xform_dlg_prm'. So the widget buffer may be used to pass all entered values from one dialog step (form) to the next. Normally LogiView will be used to set and read the widget buffers contents.

Parameters:

  cp_Parameter | Parameter to control the behavior of this function. Syntax is: "direction" With possible argument:
  direction | NXT | Move to next dialog form.
  | PRV | Move to previous dialog form.
  | ABO | Close dialog form.

Returns:

  0 | OK
  1 | Error

See also:
  xform_call_dlg xform_dlg_prm

int xform_get_ass_wdg | ( | ) |

Gets the assistant root widget.

The widget buffer of this root widget contains all saved values of the current assistant.

Parameters:

  cp_LgvPar | Parameter string from LogiView with pointer to LogiView variables in argument list.

Returns:

  0 | OK
  1 | No assistant root widget saved.
  2 | Wrong LogiView variable passed.

Example:

        // Call this userexit in LogiView like:
         RES = #xform_get_ass_wdg(WDG)
        // where WDG is an integer variable that is set to the value of the
        // assistant root widget.

int xgroup_lis | ( | const char * | param,
|  | const char * | ignore
| ) |  |

No select menu userexit to open the classification list for the selected classification group.

If it is called for a container class, the list "Query incl. sub-classes" is opened. If /SUBLIS option is given, the folder EDB-GRP-ent-SUB-RLIC is opened. If parameter "/FRM" is set and group is an "ATT"-type, a form is displayed instead of the classification list. For "ATT"-type the user can open its own list or form instead of the standard list with the parameter /MASK

Parameters:

  cpArgments | Parameter for the pre-mask userexit, syntax like: /FRM -> open form instead of list /MASK= maskname -> open the given user specific mask (e.g. maskname) instead of the standard mask. /SUBLIS=maskname, where maskname is the name of folder to be opened -> ignore /MASK or /FRM. If only /SUBLIS is given (with no mask name), then the folder name is derived from standard mask, e.g. standard mask for items is EDB-GRP-ART-RLI, the folder is then EDB-GRP-ART-RLI-C

Example:

          xgroup_lis("/FRM")
                     Parameter to open own list named MY-LIST: /MASK=MY-LIST
                     Parameter to open own form named MY-FRM: /FRM /MASK=MY-FRM
                     Parameter to open folder named MY-FOL: /SUBLIS=MY-FOL
                     Parameter to open folder with standard mask: /SUBLIS

Returns:

  0 | OK
  Else | Error ( return code of 'iwf_typ_lis'/'iwf_frm_lis)

int xinfo_open | ( | ) |

No-select menu userexit to open a list widget to display status information.

Parameters:

  cp_List | Parameter to control the behavior of this function. Syntax like: "<listname>" With possible arguments:
  listname | Name of status list to be opened (NULL or empty string: use default "EDB-STA-INF-SLI").

Returns:

  0 | OK
  1 | Unable to open list
  2 | List has already been opened

int xknl_chg_itm_ref | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Opens a select widget of item master (bvb_artikel) to assign a new item master to an item revision.

Parameters:

  cp_par | Parameter, syntax like:

Returns:

  0 | OK
  Else | Error

int xntm_edt_os | ( | ) |

Note manager userexit to edit records with an operating system specific editor.

No-select menu userexit to write the desired column of all records of a list to a temporary file and work on them with an operating system specific editor. The parameter contains the field whose content is to be edited in a temporary file by an external editor. Moreover it could contain the optional character (flags) 'I' or 'D' to indicate whether there should be new records created or unnecessary records deleted.

Note:
  Only callable from lists.

Parameters:

  cp_par | Parameter to control the behavior of this function. Syntax like: "fieldname [ '-' ['I'] ['D'] ] [/CLIENT]" With possible arguments:
  | fieldname | Fieldname which content is to be edited in a file with an OS specific editor.
  - |  | Separator (has to be placed before I, D or ID).
  I |  | Enables insertion of new records.
  D |  | Enables deletion of records.
  CLIENT |  | Parameter to enable the editing of notes on client side. There has to be an entry in EDB-APP-SLI (external applications) for the file type 'ntm' and the application mode 'E' (Edit). For further information please refer to the description of xapp_exc.

Returns:

  0 | OK
  1 | Error

int xpdw_auth_pro_sel | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Called as menu selection userexit when selection in the radio button menu on the job selection form is changed.

Re-Creates the job selection menu in the job selection mask. Depending on the parameter, the menu contains all jobs which are currently assigned to the user (parameter="ASSIGNED"), or only those jobs which are restricted by a principal (project or organization) which is set by the user to be displayed (parameter = "DISPLAY").

Parameters:

  ctx | The userexit context.
  param | Parameter to control the behavior of this userexit. Syntax is: "DISPLAY|ASSIGNED" with possible arguments:
  DISPLAY |  | Show all jobs in the menu which are selected by the user as "principals to display".
  ASSIGNED |  | Show all jobs in the menu which are currently assigned to the user.

Returns:

  0 | OK
  Else | Error

int xpdw_auto | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Menu userexit to authorize a user to work with a certain principal (project or organizational unit).

Remarks:
  The role module has to be active by setting the configuration parameter `EDB-ROLE-ACTIVE` to "3" for multi project access or to "4" for multi organization access.

Parameters:

  ctx | The userexit context.
  param | Parameter to control the behavior of this userexit. Syntax is: "LOGIN|SESSION|NEWSESSION|BATCH" With possible arguments:
  LOGIN |  | The userexit is called during the ePLM login procedure.
  SESSION |  | The userexit is called from a running ePLM session.
  NEWSESSION |  | The userexit is called from a running ePLM session to select a new session.
  BATCH |  | The userexit is called from a batch ePLM session.

Returns:

  0 | OK
  PDW_ERR_DTV | Internal error in DataView function.
  PDW_ERR_DFL | Error while storing default values.
  PDW_ERR_FRM | Form `EDB-JOB-VAL-SFR` or fields do not exist.
  PDW_INI_ROL | Error during initialization of role.
  PDW_NO_JOB | No jobs for user found.
  PDW_USR_ABO | User clicked on ABORT button.

int xpdw_cln_vie | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Corrects entries in the PDW tables for all projects or organizational units.

The tolerance is corrected for all objects starting from specified entity by calling PL/SQL procedure "MOA_MPA.cleanup_views".

Parameters:

  ctx | The userexit context.
  param | Parameter to control the behavior of this userexit. Syntax: "[/ENT=<start_entity>] [/LOG_LEVEL=<log_level>]"
  ENT | start_entity | Name of entity to correct.
  LOG_LEVEL | log_level | 0: No log entries will be written to T_TMP_EDB_LOG.
  |  | 1: A few log entries describing the main phases will be written to T_TMP_EDB_LOG.
  |  | 2: INSERT statements will be logged in addition (new visibility entries).
  |  | 3: (includes log level 2) Relation records, which will be deleted during the correction process,are logged in addition (deleted visibility entries)

Note:
  Old syntax:
  "/ENT=entity /START=start_value [/ALL][/MONITOR]"

Returns:

  0 | OK
  1 | Error

Example:

          xpdw_cln_vie("/ENT=EDB-ARTICLE /LOG_LEVEL=1")

int xpdw_ksa_lis_agg | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Opens an aggregate list in global view.

The global multi access rights view is activated and deactivated by calling `xpdw_vie_out` and `xpdw_vie_on`.

Parameters:

  ctx | The userexit context
  param | Parameter to control the behavior of this userexit. Syntax like: "iwf_lis-parameters" With possible arguments:
  iwf_lis-parameters |  | The parameter list is directly passed to `iwf_lis_agg`. See `iwf_lis_agg` for a description of all possible parameters.

Returns:

  0 | OK
  1 | Error

See also:
  iwf_lis_agg

int xpdw_ksa_lis_ref | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Opens a refine list in global view.

The global multi access rights view is activated and deactivated by calling `xpdw_vie_out` and `xpdw_vie_on`.

Parameters:

  ctx | The userexit context
  param | Parameter to control the behavior of this userexit. Syntax like: "iwf_lis-parameters" With possible arguments:
  iwf_lis-parameters |  | The parameter list is directly passed to `iwf_lis_ref`. See `iwf_lis_ref` for a description of all possible parameters.

Returns:

  0 | OK
  1 | Error

See also:
  iwf_lis_ref

int xpdw_ksa_vie_dwn | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Limits the multi project access rights view to one sub project.

Parameters:

  ctx | The userexit context
  param | Parameter to control the behavior of this userexit. Syntax like: "[listName]" With possible arguments:
  listName |  | The name of the list to use to select the project.

Returns:

  0 | OK
  1 | Error

int xpdw_ksa_vie_hom | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Extends the multi project access rights view to the start project.

Parameters:

  ctx | The userexit context.
  param | Additional userexit parameters. Currently none.

Returns:

  0 | OK
  1 | Error

int xpdw_ksa_vie_up | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Extends the multi project access rights view to the super project.

Parameters:

  ctx | The userexit context.
  param | Additional userexit parameters. Currently none.

Returns:

  0 | OK
  1 | Error

int xpdw_ppj_mas | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Opens the list of the template projects.

This function may only be called for project specific jobs.

Parameters:

  usxContext | The userexit context.
  param | Parameter to control the behavior of this userexit. Syntax is: "[maskName]" With possible arguments:
  maskName |  | The name of the mask to open to display the template projects. If no mask name is provided, the default list is used.

Returns:

  0 | OK
  PDW_NO_PPJ_JOB (757) | No project specific job.

int xpdw_pro_dis_mas | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Opens a mask to allow the user to choose the projects or organizations to display.

Can be called as menu userexit.

Parameters:

  ctx | The userexit context.
  param | Reserved.

Returns:

  0 | OK
  Else | Error

int xprm_reload | ( | const char * | param,
|  | const char * | ignore
| ) |  |

No-select-menu userexit to reload the permission manager cache.

Parameters:

  usxCtx | The userexit context.
  param | Parameter to control the behavior of this userexit. Not currently used.

Returns:

  0 | OK
  Else | Error

int xprt_chs_tpg_rpg | ( | ) |

No-select menu userexit to activate the report tool.

Note:
  If no argument is passed, the report tool has to use the text of the current menu selection. The selections to choose from have the titles: 'RPG ....' (The first three characters are relevant.)

Deprecated:

Parameters:

  cp_Tool | Parameter to control the behavior of this function. Syntax is: "<report_tool>" With possible arguments:
  report_tool | RPG | Use report generator
  |  | Empty: use selection title

Returns:

  0 | OK
  1 | No current menu.
  2 | No selection.
  3 | Userexit has been started from invalid selection.

int xprt_rpg_sel | ( | ) |

Creates printer menu for report generator.

Deprecated:

Returns:

  0 | OK
  1 | Error

int xprt_sel | ( | ) |

Creates printer menus.

Deprecated:

Returns:

  0 | OK
  1 | Error

int xpvm_bat_exi | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Stops the batch job.

The method sets the default value "EDB-PVM-BATCH-<site>" to "STOP".

Parameters:

  context | The context of the userexit
  param | not used

Returns:

  0 | OK
  1 | Error

int xpvm_opn_msk | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Opens a mask, search a field, add the value into the field in query mode and refresh the mask.

If only entity is given the default mask is opened empty. If only entity and mask is given the specified mask is opened empty. If only entity and mask and field is given the specified mask is opened empty. If all parameters are specified and no record can be found for the specified value the specified mask is opened empty. Refresh force a mask refresh even if mask, field and value is missing. The error message about missing mask, field and value parameter is supressed if refresh parameter is set.

Parameters:

  context | The context of the userexit
  param | Parameter to control the behaviour of this function. Syntax like: "/ENTITY=<entity-name> /MASK=<mask-name> /FIELD=<field-name> /VALUE=<field-value> /REFRESH"

Returns:

  0 | OK
  1 | Error

Exceptions:

  IllegalArgumentException | in case parameter entity is missing.

int xpvm_rld_prp_map | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Deletes the current property mappings.

Parameters:

  context | The context of the userexit
  param | Not used at the moment.

Returns:

  0 | OK
  1 | Error

int xqry_cnd_loa | ( | ) |

'condition mask', which were saved by the user under a logical name.

After query conditions are saved, these can be loaded in the query form by choosing the query from a select menu.

Parameters:

  cp_Par | Parameter to control the behavior of this userexit - (Reserved).

Returns:

  0 | OK
  Else | Error

int xqry_dat_get_rec | ( | ) |

Displays the records which were stored under a logical name in the current widget.

If records are stored from the current widget, then the user can choose the respective logical name from a select menu with all existent logical names for this widget.

Parameters:

  cp_Parameter | Parameter to control the behavior of this userexit - (Reserved).

Returns:

  0 | OK
  1 | Error

int xqry_str_opn_mas | ( | ) |

Menu userexit to open 'EDB-QRY-STR-SLI' or user given list and write the origin mask as query criteria mask in the field T_QRY_DAT.QRY_MAS and the current user in the field T_QRY_DAT.USER.

Example:

Parameters:

  cp_Parameter |
       Parameter used to open an user defined
                              query list: "EDB-QUERY listname".
                              Default value for the listname is
                              EDB-QRY-STR-SLI.

Returns:

      0  OK

      Else  Error

See also:

int xrole_get_cfg | ( | ) |

Reads value of configuration parameter EDB-ROL-ACTIVE.

Parameters:

  cpParam | Reserved.
  cpArgument | Reserved.

Returns:

  0 | Roles are not activated.
  1 | Roles are activated (all jobs are used).
  2 | Roles are activated (user has to select one job / not supported yet).
  3 | Roles are activated (project driven working/one job).
  4 | Roles are activated (organization driven working/one job).

int xsml_hlp_ken | ( | ) |

No-select menu userexit to open the help file or the list with attributes descriptions for a classification list.

Parameters:

  cp_par |
  list name | Name of list with class attributes to be opened. The class code and the class name are written in the title of the opened list.
  NULL | If a help file exists it will be displayed

Returns:

  0 | OK
  Else | Error

int xsmlc_cnt_lis | ( | ) |

No-select menu userexit to count entries in the classification lists for classes of type ATC.

Parameters:

  /FRM=<Form> | If this parameter is given, then the given form will be used to count the records instead of current active forms.
  /LIS=<List> | List name to be used when the userexit is called from another form or list (e.g. "EDB-ART-CFR-S" or "EDB-ART-SMLC-RLI"). If parameter /FRM or /LIS is given, then the list or form name must be specified, otherwise the userexit will return error.

Returns:

  >0 | Number of found records
  -1 | No records were found

int xstate_ret_show_prl | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Returns:
  A flag to indicate whether preliminary objects shall also be displayed (`true`) or not (`false`).

int xstate_set_show_prl | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Sets the 'Show Preliminary' flag to true or false.

Parameters:

  isShowing | Value to set the 'isShowing' flag to.

int xtask_free | ( | ) |

Deletes the cache of the role concept.

Returns:

  0 | OK
  1 | Could not create menu EDB-TSK-MEN.

int xtxt_ctg_tak_ent_men | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Menu userexit at the modal glossary list EDB-TXT-GLS-CTG-QRY.

Clears or fills the corresponding field of the widget, which opened the modal glossary list.

Parameters:

  ctx | Field userexit context.
  param | Parameter to control the behavior of this function. Syntax is: "/CLEAR /TAKE" With possible arguments:
  CLEAR | Clears the value in the field EDB_TXT_GLS_REF_x of the widget from which the glossary select list was opened.
  TAKE | Copies the selected glossary-id to the field EDB_TXT_GLS_REF_x of the widget from which the glossary select list was opened.

Returns:

  0 | Ok.
  Else | Error

int xtxt_whr_use_rsh_men | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Refreshes the whole content of the Where-Used list.

Works only in mode ACTION_QUERY. The information about the Where-Used root element are contained in the widget buffer:

WHERUSEDTYPE | Type of the Where-Used root element.
WHERUSEDTYPEEDBID | The EDB-ID of the Where-Used root element.

Parameters:

  ctx | Userexit context
  param | Parameter to control the behavior of this function. Reserved.

Returns:

  0 | OK
  Else | Error

int xtxt_whr_use_up2_men | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Tries to update all Where-Used objects corresponding to a root-element.

It is possible to update objects through 1-3 levels. This depends on the configuration. Regarding the configuration, the fields EDB_VALUE_1 (Object 1 Update Field), EDB_VALUE_2 (Object 2 Update Field), and EDB_VALUE_3 (Object 3 Update Field) contain the field (and therefore the object/value) which should be updated.

EDB_VALUE_x (Object x Update Field) | Contain the name of the field, which should be updated on level x. Depending on the status of the object and the status configuration (for level x). The states in which the object should be updatable are defined with the fields EDB_IN_WORKx (IW), EDB_APPROVEDx (AP), EDB_RELEASEDx (RL), EDB_REVISIONINGx (RV).

In addition, the state of the updatable object has to be checked (except the parameter /IGNORE_STATE is set), therefore, the following entries in the Where-Used configuration have to be taken into account (the x stands for the level 1,2,3):

EDB_IN_WORKx (IW) | Value = 'y', is the object of level x (EDB_Value_1 (Object x Update Field)) in state "In Work" then proceed updating!
EDB_APPROVEDx (AP) | Value = 'y', is the object of level x (EDB_Value_1 (Object x Update Field)) in state "Approved" then proceed updating!
EDB_RELEASEDx (RL) | Value = 'y', is the object of level x (EDB_Value_1 (Object x Update Field)) in state "Released" then proceed updating!
EDB_REVISIONINGx (RV) | Value = 'y', is the object of level x (EDB_Value_1 (Object x Update Field)) in state "Revisioning" then proceed updating!
| If one state is set to '' the object has no state (no LEV_IND)
| If all states are set to '' ==> the check for the state of the corresponding updatable object is ignored.
| If all states are set to 'n' a error message "No state set for object_x -> CID:'CID of object' Table:'table name of object'" occurs!

The lifecycle of the object is identified by the table name of the updatable object (first part of the EDB_VALUx-content) and the CHK_NAME field. The current state of the object is identified by the table name (first part of the EDB_VALUx content) and the LEV_IND field.

Therefore, the updatable mechanism is able to check if the selected state in the Where-Used configuration (IW, AP, RL, RV) regarding the lifecycle name of the current object and the current state value of the object matches. If it matches, the update will proceed, otherwise, an "Object_x is NOT in correct state -> Table:'object-table' CID:'object-C_ID'" occurs and the whole transaction is rolled back.

Parameters:

  ctx | Userexit context
  param | Parameter to control the behavior of this function. Syntax is: "/IGNORE_STATE /STRICT" With possible arguments:
  IGNORE_STATE | The state of all updatable objects has to be ignored.
  STRICT | Default. If one object is not in the correct state, then do not update all objects and proceed a rollback.

Returns:

  0 | OK
  Else | Error

int xutil_dbl_sql_sbg | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Disables PL/SQL-Debug.

Note:
  If no parameters are given, the parameter values are taken from the configuration parameter EDB-DEV-SQL-DBG

Parameters:

  context | Menu userexit context
  cpParameter | Parameter to control the behavior of this function. Syntax like: "/DEBUGTOOL=debugToolName" With possible arguments:
  DEBUGTOOL | debugToolName | Name of debug tool.

Returns:

  0 | Success
  1 | Error

See also:
  xutil_ebl_sql_sbg

int xutil_del_all_wdg | ( | const char * | param,
|  | const char * | ignore
| ) |  |

No-select menu userexit to close all mapped widgets.

Note:
  An open trash widget and SQL trace widget will stay open.

Parameters:

  param | Reserved

Returns:

  0 | OK

int xutil_ebl_sql_sbg | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Enables PL/SQL-Debug.

Note:
  If no parameters are given, the parameter values are taken from configuration parameter EDB-DEV-SQL-DBG

Parameters:

  context | Menu userexit context
  cpParameter | Parameter to control the behavior of this function. Syntax like: "/HOSTORIP=hostnameOrIpAddress /PORT=listenerPort /DEBUGTOOL=debugToolName" With possible arguments:
  HOSTORIP | hostnameOrIpAddress | Hostname or IP address.
  PORT | listenerPort | Listener port.
  DEBUGTOOL | debugToolName | Name of debug tool.

Returns:

  0 | Success
  1 | Error

See also:
  xutil_dbl_sql_sbg

int xutil_frm_lis | ( | const char * | param,
|  | const char * | ignore
| ) |  |

No select userexit for FormToList menu selection to open correspondent list to current form and show all selected records in form in the opened list.

The logic was implemented based on the existent TCL function TCL_Utility22 FormToList.

Activate this userexit by replacing the menu selection EDB-BAS-LIS List iwf_lis_ent EntityName with a new one e.g. EDB-FRM-LIS which has the user exit xutil_frm_list and parameter entityname

Parameters:

  param | the entity name as needed for the TCL function FormToList

Returns:

  0 | OK

int xutil_rst_acc_fld | ( | const char * | param,
|  | const char * | ignore
| ) |  |

Restores the field access changed by the post-field userexit xutil_acc_fld.

For all mask fields in the widget it is checked whether the post-field userexit xutil_acc_fld is in the post-field userexit list. If xutil_acc_fld is found, then the field access is set to the original value it had before the post field changed it.

Parameters:

  cpParameter | Parameter to control the behavior of this function. Syntax like: "ARG /OPT1=val1 /OPT2=val2" With possible arguments:
  | ARG | Main argument.
  OPT1 | val1 | First option.
  OPT2 | val2 | Second option.

Returns:

  0 | Success
  1 | Error

See also:
  xutil_acc_fld xutil_acc_pra

int xwfl_prc_ins_adhoc | ( | ) |

Menu userexit to create an ad hoc process.

This userexit calls iwf_ins_elm().

Parameters:

  cpPar | Default parameter (currently not used).
  cpIgn | Default parameter (currently not used).

Returns:

  0 | OK
  1 | Error

Example:

        // working example
        int iRc = xwfl_prc_ins_adhoc("");

int xwfl_prc_ins_tpl | ( | ) |

Menu userexit to copy a process from a template.

The mandatory part of the parameter is used to open a selection widget for process templates by calling iwf_lis_ent().

The parameter may contain an optional argument to specify the C_ID or the ID of the process template that shall be copied (batch call).

Parameters:

  cpPar | Parameter to control the behavior of this function. Syntax like: "<arg> [/C_ID=<cid>] [/ACT_REF=<actref>]" With possible arguments:
  | arg | String used to open the selection widget.
  C_ID | cid | C_ID of the template to be copied (batch call).
  ACT_REF | actref | ID of the template to be copied (batch call).
  cpIgn | Default parameter (currently not used).

Returns:

  0 | OK
  1 | Error

Example:

        // working example
        int iRc = xwfl_prc_ins_tpl("EDB-PROCESS EDB-PRC-ACT-DEF-SLI");

int xwfl_process_xml | ( | ) |

Menu userexit that is called when a xml definition has to be executed by the workflow engine.

The xml definition is collected via EP_WFL/processXML.
The parameter cpPar is used to extract a xml definition for the workflow engine. The syntax of this xml string is defined by EIGNER_WFL.xsd. The result is written into a second LogiView variable.

Parameters:

  cpPar | : Specifies the xml definition and the success message. Syntax defined by EIGNER_WFL.xsd.
  cpIgn | : Second userexit parameter (ignored)

Returns:

  0 | OK
  1 | Error

Example: Refer to LogiView procedure EP_WFL/processXML for information about
  how to collect a valid xml definition and print the result.

int xwfl_workitem_complete_i18n | ( | ) |

Menu userexit that is called when a work item is completed.

This method reads all fields and values in a XML structure like: <WORKITEM> <FIELDS> <FIELD name="TABLE_1.FIELD_1">VALUE_1</FIELD> <FIELD name="TABLE_2.FIELD_2">VALUE_2</FIELD> </FIELDS> </WORKITEM> and calls xwfl_workitem_complete to complete the work item.

Parameters:

  cpPar | : Contains C_ID of current widget.
  cpIgn | : Second userexit parameter (ignored)

Returns:

  0 | OK
  1 | Error

int zag_dlg_iwf_frm_ent | ( | ) |

Select menu userexit for lists to display the selected records in opened form.

Parameters:

  cp_par | Parameter to control the behavior of this function. Syntax like: "<entityname> [<formname>]" With possible arguments:
  entityname | Name of entity.
  formname | Name of form to open.

Returns:

  0 | OK
  1 | Error

int zag_dlg_usr_inf | ( | ) |

Opens form and displays information about current user.

Returns:

  0 | OK

int zag_fli_edit | ( | ) |

Starts editor for passed file.

No-select menu userexit to call a command procedure which starts an editor of the operating system to edit the passed file.

Note:
  The (path and) name of the command procedure is set with the environment variable 'dtv_edit'.

Parameters:

  nam | Complete name (including path) of the file to be edited.

Returns:

  0 | Success
  1 | Error

int zag_tst_box | ( | ) |

Starts a dialog box for module traces.

Starts a dialog box for module traces where user can select internal PDM modules that should be traced.

Parameters:

  cpParameter | Name of menu to use (Default: EDB-BAS-ZAG-TST)

Returns:

  0 | OK
  1 | Error from zag_dlg_box.
  -1 | Dialog box creation error.
  2 | No selections for menu.
  3 | Not enough space.
  4 | Menu EDB-BAS-ZAG-TST does not exist.
  5 | No parameter for zag_tst_ctr.

int zag_tst_ctr | ( | ) |

Defines type and complexity of the test output.

No-select menu userexit to define type and complexity of the test output which is implemented by calling the function 'zag_tst' in the program sequence. The passed parameter controls whether for example tracing is started or stopped and which module in which complexity should be traced.

Parameters:

  cp_par | Parameter to control the behavior of this function. Syntax is: {ON/NORM | ON/CONT | /TIME | OFF | FLUSH | EPQ | INF | TESTmodul_level | DEFmodules} With possible arguments:
  ON/NORM |  | Start tracing.
  ON/CONT |  | Continue tracing.
  /TIME |  | Additional timestamp.
  OFF |  | Stop tracing.
  FLUSH |  | Empty trace file when trace is ON.
  EPQ |  | Pipe EPQ trace into module trace.
  INF |  | Show info about tracing.
  TEST | modul | Modul-Code (e.g. EDB-BAS).
  | level: | Trace-level:
  | 1 | Show function calls.
  | 2 | Show errors.
  | 3 | Show values and informational messages.
  DEF | modules | Register module for tracings that are possible (separated by blanks).

Returns:

  0 | OK

Copyright © 2007-2012, Oracle and/or its affiliates.