Userexits

Functions
Pre-Action userexits

Functions

int bvb_uti_pre_qry ()
 This is a pre-action userexit used to set a query value for a single field. More...
 
int bvb_uti_qry_fmt ()
 Format the field contents to a valid query string. More...
 
DtvLong dal_cch_nop_ins_mod ()
 Calls cch_nop_ins only in 'I'nsert mode. More...
 
int nsv_pra ()
 Old pre-action userexit to generate a number via 'number-server'. More...
 
int nsv_usx_gen_eid ()
 Fills field EDB_ID with new generated unique number. More...
 
int nsv_usx_pra ()
 Edit- or pre-action userexit to generate a number via 'number-server'. More...
 
int sig_pra ()
 Checks if a record is signed and denies delete actions. More...
 
int sig_tab_pra ()
 Updates the entity id field, which depends on the entity name. More...
 
int tol_pre_act ()
 Pre-action userexit to calculate fields of the current mask. More...
 
int tpr_doc_art_poa ()
 Post action userexit for document widgets to assign an item. More...
 
int xartic_pre_action ()
 Pre-action userexit for item widgets. More...
 
int xartst_pre_action (const char *param1, const char *param2)
  More...
 
int xase_hie_pra (const char *param1, const char *param2)
  More...
 
int xatt_pra (const char *param1, const char *param2)
  More...
 
int xchg_chk_opr_pra (const char *param1, const char *param2)
  More...
 
int xchg_chk_vie_nam (const char *param1, const char *param2)
  More...
 
int xchg_dup_pos_ok (const char *param1, const char *param2)
  More...
 
int xchg_ewo_pra (const char *param1, const char *param2)
  More...
 
int xchg_ewr_ewo_pra (const char *param1, const char *param2)
  More...
 
int xchg_ewr_pra (const char *param1, const char *param2)
  More...
 
int xchg_opr_act_pra (const char *param1, const char *param2)
  More...
 
int xchg_set_pra (const char *param1, const char *param2)
  More...
 
int xcls_agg_pra (const char *param1, const char *param2)
  More...
 
int xcls_att_set_pra (const char *param1, const char *param2)
  More...
 
int xcls_chk_abs_pra (const char *param1, const char *param2)
  More...
 
int xcls_chk_cls_pra (const char *param1, const char *param2)
  More...
 
int xcls_chk_ent_pra (const char *param1, const char *param2)
  More...
 
int xcls_chk_set_pra (const char *param1, const char *param2)
  More...
 
int xcls_set_abs_pra (const char *param1, const char *param2)
  More...
 
int xcls_set_att_pra (const char *param1, const char *param2)
  More...
 
int xcls_set_pra (const char *param1, const char *param2)
  More...
 
int xcnf_cat_spc_pra (const char *param1, const char *param2)
  More...
 
int xcnf_cpa_spc_cat_pra (const char *param1, const char *param2)
  More...
 
int xcnf_cpa_spc_pra (const char *param1, const char *param2)
  More...
 
int xcnf_cps_elm_pra (const char *param1, const char *param2)
  More...
 
int xcnf_cps_elm_str_pra (const char *param1, const char *param2)
  More...
 
int xcnf_cps_hie_pra (const char *param1, const char *param2)
  More...
 
int xcnf_cps_sol_pra (const char *param1, const char *param2)
  More...
 
int xcnf_filt_cls_pra (const char *param1, const char *param2)
  More...
 
int xcnf_mdl_spc_pra (const char *param1, const char *param2)
  More...
 
int xcnf_ord_pra (const char *param1, const char *param2)
  More...
 
int xcnf_ord_spc_pra (const char *param1, const char *param2)
  More...
 
int xcnf_ord_spc_sel_pra (const char *param1, const char *param2)
  More...
 
int xcnf_prd_cla_pra (const char *param1, const char *param2)
  More...
 
int xcnf_prd_var_pra (const char *param1, const char *param2)
  More...
 
int xcnf_spc_cat_pra (const char *param1, const char *param2)
  More...
 
int xcnf_spc_del_pra (const char *param1, const char *param2)
  More...
 
int xcnf_spc_pra (const char *param1, const char *param2)
  More...
 
int xcnf_spc_var_pra (const char *param1, const char *param2)
  More...
 
int xcnf_var_mdl_pra (const char *param1, const char *param2)
  More...
 
int xcnf_var_spc_pra (const char *param1, const char *param2)
  More...
 
int xcol_rsl_rul_pra (const char *param1, const char *param2)
  More...
 
int xcpa_ali_pra ()
 Pre-action userexit for the Alias IDs constraint lists (e.g. EDB-CPA-ART-CNS-SLI). More...
 
int xcpa_ewo_ali_pra (const char *param1, const char *param2)
  More...
 
int xcpa_obj_pra (const char *param1, const char *param2)
  More...
 
int xcpa_pra (const char *param1, const char *param2)
  More...
 
int xcps_alt_pra (const char *param1, const char *param2)
  More...
 
int xcps_cmp_pra (const char *param1, const char *param2)
  More...
 
int xcps_cnf_bom_sel_pra (const char *param1, const char *param2)
  More...
 
int xcps_cre_spc_rul_pra (const char *param1, const char *param2)
  More...
 
int xcps_elm_pra (const char *param1, const char *param2)
  More...
 
int xcps_fam_cmp_pra (const char *param1, const char *param2)
  More...
 
int xcps_flt_pra (const char *param1, const char *param2)
  More...
 
int xcps_grp_cmp_pra (const char *param1, const char *param2)
  More...
 
int xcps_mdl_bom_pra (const char *param1, const char *param2)
  More...
 
int xcps_mdl_bom_sel_pra (const char *param1, const char *param2)
  More...
 
int xcps_mdl_sel_pra (const char *param1, const char *param2)
  More...
 
int xcps_ntr_bom_pra (const char *param1, const char *param2)
  More...
 
int xcps_prl_chk_elm_pra (const char *param1, const char *param2)
  More...
 
int xcps_prl_chk_vie_pra (const char *param1, const char *param2)
  More...
 
int xcps_prl_pra (const char *param1, const char *param2)
  More...
 
int xcps_set_apl_str (const char *param1, const char *param2)
  More...
 
int xcps_sol_mul_pra (const char *param1, const char *param2)
  More...
 
int xcps_sol_pra (const char *param1, const char *param2)
  More...
 
int xcps_sol_spc_pra (const char *param1, const char *param2)
  More...
 
int xcps_vrf_bom_pos_pra (const char *param1, const char *param2)
  More...
 
int xctx_ctx_pra (const char *param1, const char *param2)
  More...
 
int xdocfi_pra ()
 Pre-action userexit for document-file relation masks. More...
 
int xdocfi_sto_pra ()
 Pre-action userexit for file-vault relation masks. More...
 
int xdocfi_str_pra ()
 Pre-action userexit for file-vault relation masks. More...
 
int xdocst_pre_action ()
 Pre-action userexit for widgets with document structures. More...
 
int xdocum_pre_action ()
 Pre-action userexit for document master masks. More...
 
int xedb_hie_pre_act (const char *param1, const char *param2)
  More...
 
int xedb_pra ()
 Basic pre-action userexit. More...
 
int xedb_pra_del_pac ()
 Delete current record if it is used in one or more folders. More...
 
int xedb_pra_str ()
 Basic pre-action userexit for relation widgets. More...
 
int xedb_pra_vie ()
 Basic pre-action userexit. More...
 
int xedb_rel_pra ()
 Basic pre-action userexit for relation widgets. More...
 
int xedb_rpl_pra ()
 Replace a position in the structure. More...
 
int xewm_ewr_ews_pra ()
 Only work requests with a release index are selected for adding to a work order. More...
 
int xewm_ews_pra ()
 Checks if mandatory field ELEM_ID is empty. More...
 
int xfile_chk_del_rel ()
 Checks if the file - vault relation can be deleted. More...
 
int xgroup_pre_action ()
 Pre-action userexit for class form or list (e.g.EDB-GRP-CFR, EDB-GRP-SLI). More...
 
int xgrpst_pre_action ()
 Pre-action userexit for classification group structure. More...
 
int xhisto_pre_action ()
 Pre-action userexit for object history relation widgets. More...
 
int xknl_itm_set_ufk (const char *param1, const char *param2)
  More...
 
int xknl_rel_pra (const char *param1, const char *param2)
  More...
 
int xknl_set_qry_buf (const char *param1, const char *param2)
  More...
 
int xmgt_str_pra ()
 Pre-action userexit for the 'As built item structure' widget. More...
 
int xntm_del_pra ()
 Pre-action userexit to delete related notes when a record is deleted. More...
 
int xntm_pra ()
 Pre-action userexit for notes administration widgets. More...
 
int xord_art_pre_act ()
 Pre-action userexit for order specific item assignment widget (EDB-ORD-ART-RLI). More...
 
int xord_pre_action ()
 Pre-action userexit for order module widgets. More...
 
int xord_str_pre_act ()
 Pre-action userexit for lists with order specific item structure (BOM). More...
 
int xpac_pra ()
 Pre-action userexit at the mask of the master and type element packet. More...
 
int xpdw_frm_acc_pra (const char *param1, const char *param2)
  More...
 
int xpdw_ksa_ass_act_pre (const char *param1, const char *param2)
  More...
 
int xpdw_mas_pre (const char *param1, const char *param2)
  More...
 
int xpdw_obj_pre (const char *param1, const char *param2)
  More...
 
int xpdw_obj_typ_pre (const char *param1, const char *param2)
  More...
 
int xpdw_pdw_pre (const char *param1, const char *param2)
  More...
 
int xpdw_ppj_pre (const char *param1, const char *param2)
  More...
 
int xpdw_pro_obj_pre (const char *param1, const char *param2)
  More...
 
int xpdw_pro_str_pre (const char *param1, const char *param2)
  More...
 
int xpdw_rel_pre (const char *param1, const char *param2)
  More...
 
int xpdw_ver_pre (const char *param1, const char *param2)
  More...
 
int xpdw_vfg_str_pre (const char *param1, const char *param2)
  More...
 
int xproje_pre_action ()
 Pre-action userexit for widgets with project data. More...
 
int xprost_pre_action ()
 Pre-action userexit for widget with project structures. More...
 
int xpvm_chk_map (const char *param1, const char *param2)
  More...
 
int xrel_mul_xba ()
 Check on insert-mode if a valid entry was made. More...
 
int xrel_pre_act ()
 The C_ID, the ori-, and the join-table entries of deleted elements are captured by temporary deleting. More...
 
int xrel_ref_xba ()
 Set EDB-version-view on query mode. More...
 
int xrel_ref_xea ()
 Checks access to the parent element on INSERT-, UPDATE and COPY-operations. More...
 
int xsml_chk_dup ()
 Pre-action userexit to check double records in classification lists. More...
 
int xsml_post_action ()
 
Post-action userexit creates a parallel record in 'TYR'relation.
More...
 
int xsml_pre_action ()
 
Pre-action userexit for master forms which are classified in classes of type TYP.
More...
 
int xsmlc_pra ()
 Pre-action userexit for the item form with class attributes for ATC classes (e.g. More...
 
int xsmlc_pra_lis ()
 Pre-action userexit for the classification attribute folder (for ATC classes) in the item form. More...
 
int xsmlc_pra_lis_agg ()
 Pre-action userexit for the classification aggregate list (only for classes of ATC type). More...
 
int xsmldf_pre_action ()
 Pre-action userexit for class attributes definition mask. More...
 
int xstare_pra ()
 Pre-action userexit for the vault definition mask. More...
 
int xstate_chk_obj_sta_pra (const char *param1, const char *param2)
  More...
 
int xstate_pre_action ()
 Pre-action trigger for masks with release procedure. More...
 
int xstate_pre_mail_act (const char *param1, const char *param2)
  More...
 
int xstate_set_vie_pra (const char *param1, const char *param2)
  More...
 
int xstr_pre_action (const char *param1, const char *param2)
  More...
 
int xtask_chk_pra ()
 Checks for permission for a given privilege. More...
 
int xtrf_pra ()
 Creates and sets the reference number of a transformation record. More...
 
int xtxt_bom_txt_pos (const char *param1, const char *param2)
  More...
 
int xtxt_chk_del_pra (const char *param1, const char *param2)
  More...
 
int xtxt_ctg_tmp_pra (const char *param1, const char *param2)
  More...
 
int xtxt_ins_pra (const char *param1, const char *param2)
  More...
 
int xtxt_ins_sel_pre (const char *param1, const char *param2)
  More...
 
int xtxt_pli_pre_act (const char *param1, const char *param2)
  More...
 
int xtxt_tpl_ctg_pra (const char *param1, const char *param2)
  More...
 
int xtxt_tpl_ins_pra (const char *param1, const char *param2)
  More...
 
int xtyp_del_mst ()
 Pre-action userexit to be called from a type mask. More...
 
int xutil_acc_pra (const char *param1, const char *param2)
  More...
 
int xutil_chk_ent_pra (const char *param1, const char *param2)
  More...
 
int xutil_cpy_fld_by_prf_pra (const char *param1, const char *param2)
  More...
 
int xvar_art_prefer_pra ()
 
Pre-action userexit for 'Preferred Variants' list (EDB-ART-PRF-RLI) and 'Products to preferred
    variant' (EDB-ART-PRF-ALI).
More...
 
int xvar_pre_action ()
 
Pre-action userexit for the variant list.
More...
 
int xvardf_pre_var_act ()
 
Pre-action userexit for variant attributes list.
More...
 
int xvardf_pre_vfl_act ()
 
Pre-action userexit for variant masks (e.g.
More...
 
int xver_chk_max ()
 Checks the current revision number. More...
 
int xwfl_process_preaction ()
 Pre-action userexit to fill the EDB_ID attribute of a process. More...
 

Detailed Description

Function Documentation

int bvb_uti_pre_qry ( )

This is a pre-action userexit used to set a query value for a single field.

If working mode is 'Q'uery: Sets the "query_value" into the query buffer for the "field_name" field.

Note
The query string may contain blanks. Query values for logical fields are 'y' or 'n'. The query string may be quoted with '"' (max. 80 chars). The wildcard characters '?' and '' are replaced with the currently defined. Any occurence of {} is replaced with the current date. If the limit of 80 chars for the query string would be broken, the replacement is omitted.
Parameters
cp_parStandard parameter with working mode and current row.
cp_usrparQuery parameter to set. Syntax is:
"field_name query_value /ADDQ"

With possible arguments:
field_name Field name where query value is set.
query_value Query value to use.
/ADDQ This is an optional parameter called "ADDQUERY". If the query is set, instead of replacing the query buffer a value is added to the query buffer. This is only works for query_values that are not combined and do not have the & and | operators.
Returns
0 OK
Example:

To pre-select current items call the 'bvb_uti_pre_qry' userexit with the following parameter string:

T_MASTER_DAT.CUR_FLAG y

To pre-select all currently effective items call the 'bvb_uti_pre_qry' userexit with the following parameter string:

T_MASTER_DAT.VAL_UNTIL ">='{@NOW}' | ''"

To pre-select bom positions greater than 20, but allow the user to insert additional conditions, call the 'bvb_uti_pre_qry' userexit with the following parameter string:

T_MASTER_STR.POS_NO >20 /ADDQ
int bvb_uti_qry_fmt ( )

Format the field contents to a valid query string.

If not recognizable, do not touch the field contents.

Note
Formatting is only done in working mode 'Q'uery.
Parameters
cpParStandard parameter with working mode and current row
cpArgumentFields to format (or ""). Syntax is:
"FIELDNAME1,FIELDNAME2,..."

With possible arguments:
FIELDNAMEx The field name where the query value is formatted. If cpArgument == "" all 'string' type fields are formatted.
Returns
0 OK
Else Error
Example:
- convert "a b or c" to "%a% | %b% | %c%"
- convert "a b and c" to "%a% | %b% & %c%"
- convert "'a b c'" to "'%a b c%'"
DtvLong dal_cch_nop_ins_mod ( )

Calls cch_nop_ins only in 'I'nsert mode.

If the action is 'I', cch_nop_ins is called. Otherwise, nothing is done and 0 is returned.

The DataView standard userexit cch_nop_ins also checks for 'C'opy mode, which is not always appropriate.

Parameters
cpPar1Standard action userexit parameter
Returns
0 OK
Else Error
int nsv_pra ( )

Old pre-action userexit to generate a number via 'number-server'.

Deprecated:
Please use nsv_usx_pra instead
Parameters
cp_parStandard parameter (working mode and current row)
Returns
0 OK
1 Error
int nsv_usx_gen_eid ( )

Fills field EDB_ID with new generated unique number.

If the number cycle to use is not provided as a parameter the number cycle "#EDB-EDBID" is used.

Note
For type widgets the join record is always used (e.g. for documents always T_DOC_DAT.EDB_ID).

This userexit deals with the following actions:

'I'nsert Fills EDB_ID field with new generated id.
'U'pdate Fills EDB_ID field with new generated id when field is empty.
Parameters
cpParameterStandard parameter defining working mode and current row.
cpArgumentsParameter to control the behavior of this function. Syntax is:
"[numcyc][/JOIN]"

With possible arguments:
numcyc The number cycle to use.
JOIN Generate the EDB_ID for join record (in relation records).
Returns
0 OK
Else Error
int nsv_usx_pra ( )

Edit- or pre-action userexit to generate a number via 'number-server'.

Parameters
cp_parStandard parameter (working mode and current row)
Returns
0 OK
1 Error
int sig_pra ( )

Checks if a record is signed and denies delete actions.

Parameters
cpParnot used
cpIgnnot used
Returns
0 ok
1 error
int sig_tab_pra ( )

Updates the entity id field, which depends on the entity name.

Parameters
cpParstandard paramaters
cpIgnnot 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 tol_pre_act ( )

Pre-action userexit to calculate fields of the current mask.

Parameters
cp_parStandard parameter defining working mode and current row
Returns
0 OK
Else Error
int tpr_doc_art_poa ( )

Post action userexit for document widgets to assign an item.

The item assignment can be executed in virtual or non-virtual mode.

This userexit deals with the following actions:

'I'nsert Inserts document item assignment.
'U'pdate Updates document item assignment.

The userexit can be modified via following default parameters:

TPR-ART-INP Name of widget to use for item query instead of widget TPR-ART-INP.
TPR-ART-OPN-USX Userexit to open item input form.
TPR-ART-OPN-PAR Parameter for userexit to open item input form
TPR-ART-SEL-PAR Parameter for userexit "iwf_lis_ent" which opens the item select widget.
TPR-ART-DOC-RLI Parameter for userexit "iwf_lis_ref" which opens the item document widget.

In widget EDB-ART-DOC-RLI pre mask userexit "tpr_glb_docst_prm" must exist.

If the document widget has been opened in virtual mode, the keys for /INS or /UPD arguments changes as following:
If 1st digit is 2 then it is set to 1.
The 2nd, 3rd, 4th, 5th digit is set to 0.

Note
This userexit should not be used anymore.
Parameters
cp_par1Standard parameter defining working mode and current row.
cp_par2Parameter to control the behavior of this function. Syntax is:
"/INS=<key> /UPD=<key> /LGV=<proc>"

With possible arguments:
arg Main argument.
INS key Key consists of six digit with
1st digit: Insert/update item: 0 - no, 1 - yes, 2 - ask
2nd digit: Map item query widget: 0 - no, 1 - yes
3rd digit: Map item document relation widget: 0 - no, 1 - yes
4th digit: Use item list to insert/update item: 0 - no, 1 - if more than 1 item, 2 - always
5th digit: Is more than one item allowed? 0 - no, 1 - yes
6th digit: If relation already exists: 0 - do nothing, 1 - update record, 2 - insert record in parallel
UPD key Key consists of six digit with
1st digit: Insert/update item: 0 - no, 1 - yes, 2 - ask
2nd digit: Map item query widget: 0 - no, 1 - yes
3rd digit: Map item document relation widget: 0 - no, 1 - yes
4th digit: Use item list to insert/update item: 0 - no, 1 - if more than 1 item, 2 - always
5th digit: Is more than one item allowed? 0 - no, 1 - yes
6th digit: If relation already exists: 0 - do nothing, 1 - update record, 2 - insert record in parallel.
LGV proc Name of LGV procedure to call to determine item which should be assigned to the document.
This procedure must write the T_MASTER_DAT.C_ID of the item(s) into the widget buffer of the document widget with key "TPR_LGV_CID". More than one C_ID must be concatenated with " </td><td> ".
Returns
0 OK
Else Error
Deprecated:
int xartic_pre_action ( )

Pre-action userexit for item widgets.

Calls xedb_pra for all modes and performs the following additional actions:

'I'nsert In CopyMode, initializes LEV_IND by calling xstate_put_frs_sta. Checks unique key for item by calling xartic_pid_distinct.
'T'emporary delete Checks for reservation by calling xedb_chk_res and checks for variant assignments.
'D'elete Update BOM_FLAG and AGG_FLAG and delete entry in EDB-ARTICLE by calling xtyp_del_elm_from_typ.
'Q'uery Sets the view filter by calling xstate_set_vie_pra.
Parameters
cpParameterStandard parameter with working mode and current row.
cpArgumentsCurrently none.
Returns
0 OK
-1 EPQ error (while checking item keys).
1 Item already exists.
2 Item is reserved.
3 Item is assigned to variant element.
4 Item is assigned to variant definition.
5 BVB-ARTICLE record could not be deleted.
See Also
xedb_pra
int xartst_pre_action ( const char *  param1,
const char *  param2 
)

Pre-action userexit for relation widgets with item structures.

  • Sets progress indicator if corresponding field is empty.
  • Calls transformation pre-action userexit xtrf_pra.

Depending on the mode, one of the following actions is then performed:

  • For 'Q'uery: Set query values for current release management view by calling userexit xstate_set_vie_pra.
  • For 'I'nsert:
    • Check for recursion.
    • Check for unique position number.
    • Check and get item number for child, create a temporary item number if necessary.
    • Check unique position number considering the assigned contexts.
  • For 'U'pdate:
    • Check for unique position number.
    • Check unique position number considering the assigned contexts.
  • For 'T'emporary delete:
    • Check write access on parent record.
    • Update STR/AGG-Flags.
Remarks
If an empty string (or a NULL pointer) is passed as a parameter, the parameter string is explicitly set to one of the following values to check for a distinct position number:
  • If change management is activated and parallel versioning is deactivated, it is set to "POS_NO /VERS=T_MASTER_STR.EDB_IN_CONTEXTS".
  • Otherwise, it is set to "POS_NO /VERS=T_MASTER_DAT.PART_VERSION, T_MASTER_STR.IN_CONTEXT_FAT(+)".

This userexit can also be used for inserting in aggregate lists (skipping the unique position number check in 'I'nsert and 'U'pdate mode).

Parameters
ctxThe action userexit context.
paramParameter to control the behaviour of this userexit. Syntax like:
"field [/VERS=field1[, field2[, ...]] /AGG /NO_CHECK"
AGGUse this flag if the userexit is used in aggregate lists. This skips checking the unique position number and adjusting the BOM and AGG flags in 'I'nsert and 'U'pdate mode.

The following parameters are evaluated by xedb_chk_chg_pnr only:

fieldtable.column or column Names the field to be checked.
VERSfield list Option to set the name of the version field and other fields used for identifying different versions of the same element. It is also possible to append a '(+)' to a particular field name. This defines empty fields as matching to any other field contents.
NO_CHECKDo not execute the unique position number check.
Returns
0 OK
1 Position number check failed.
int xase_hie_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for heterogeneous structure explosion list. Sets query condition for OPERATION_ID.

Parameters
usxCtxPreaction userexit context.
paramReserved.
Returns
0 OK
int xatt_pra ( const char *  param1,
const char *  param2 
)

Pre action userexit for classification lists Teh userexit enters the values from the database table (e.g. T_GRP_ART) in the attributes columns of the classification list. This is necessary as the classification list is not a standard DataView mask, the attribute columns were dynamically created and added in the pre-mask userexit.

This userexit deals with the following actions:

'I'nsert or 'U'pdate Creates new ATT_NO (number server) for new inserted line in classification/variant list. Checks for double elements in classification list (controlled by default EDB-DUB-SML-ELM)
'T'emporary delete Sets the C_IDs of all temporarilly deleted records from classification list to negative numbers in the database table containing the attribute values. If parameter /SUB is active (container classes), the delete operation is not allowed.
'D'elete Deletes the corresponding records from the database and deletes other existing attributes records connected to the deleted line in the classification list from the database table
'Q'uery If the user searches in attribute fields, a conversion is done: All records which meet selection conditions of each attribute field are stored in table T_REC_DAT. The join condition is dinamically updated for the list with results for T_REC_DAT and the corresponding relation list.
'R'ollback Resets the negative C_IDs of the attributes records in the database.
Parameters
contextUserexit context.
cp_UserParAdditional parameter for the pre-action userexit, syntax like:
  • /TABLE=table_name Table name with attribute values (standard value is T_MASTER_ATT). If another table is used, then the option /VAR is mandatory.
  • /VAR if the userexit is called for a variant and if the attributes are updated, only the userexits xatt_prm and xvar_pre_mas can be called. The option /VAR is mandatory if another table than T_MASTER_ATT is used.
  • /SUB if key /SUB is set, the current class is a container class and the delete operation is not allowed.
Returns
0 OK
Else Error
Remarks
If the pre-mask userexit has not been called yet (e.g. for virtual widgets), it will be called by this userexit.
int xchg_chk_opr_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit to check assignments to the change operation. Basic pre-action userexit to create a PLM object under control of a Work Set (e.g. creating new item version). It checks that the PLM object is assigned to a change operation of a Work Set. Called by the system pre-action userexit.

mode 'I'nsert or 'C'opy: Check If entity/relation is controlled by Work Set Check Change operation fields Check Work Order fields Check Work Set fields

Parameters
contextThe context of the userexit
paramReserved
Returns
0 OK
Else Error
int xchg_chk_vie_nam ( const char *  param1,
const char *  param2 
)

Userexit to check whether the database view name exists.

Parameters
contextthe userexit context
paramReserved
Returns
0 OK
else Error
int xchg_dup_pos_ok ( const char *  param1,
const char *  param2 
)

Pre-action userexit to check if duplicated position numbers are allowed. Check for the Change Management if the position number should be unique. For the different configuration modes (currently 0,1,2,3) the following behavior is foreseen:

0 Change Management is OFF - position numbers should be checked
1 Change Management is set to MANUAL - no check for position no.
2,3 Change Management is active and the check, if the position number of the old and the new object differ, should be done.

Do in 'I'nsert mode or 'U'pdate mode:
If the change operation is in mode MANUAL or the position number of the origin object corresponds with the position number of the new object, then return 1, otherwise 0.

Parameters
contextThe context of this userexit
paramReserved
Returns
0 Duplicated position number not allowed
1 Duplicated position number is allowed
Note
This userexit is called by xedb_chk_pnr
int xchg_ewo_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for the Work Order mask. This userexit should be used for the Work Order mask.

The userexit supports the following modes:

'I'nsert, 'C'opy If the Change Management is active, the userexit creates the default Work Set and assigns the default Work Set to the Work Order.
'T'emp Delete If the Change Management is active, the userexit checks if the delete operation was triggered from the Work Request object. In this case initially created Work Sets can be deleted otherwise the deletion of initially Work Sets (e.g. default Work Set) and the deletion of the Work Order is prohibited.
Parameters
contextThe context of the userexit
paramReserved
Returns
0 OK
Else Error
int xchg_ewr_ewo_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for refine or aggregate masks that contain Work Orders.

The check of the initial flag is omitted if the widget buffer value 'TRIGGERED_FROM_EWR' is set to an arbitrary value. This behavior is mainly used if a Work Request shall be removed, refer to ChgWorkRequest::deleteInitialWorkOrder().

This userexit covers the following actions:

'T'emp-Delete-Action
  • If the EWO record has the initial flag, the delete action is prohibited. Deletion of an initial record is only allowed if the related Work Request triggered it.
Parameters
contextThe context of this userexit
paramReserved
Returns
0 OK
Else Error.
int xchg_ewr_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for the Work Request mask. The userexit supports the following modes:

'I'nsert If the Change Management is active, the userexit creates the preliminary Work Order for the newly created work request.
Parameters
contextThe context of the userexit
paramReserved
Returns
0 OK
Else Error
int xchg_opr_act_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit to check if a change operation is currently active. In 'I'nsert mode or 'U'pdate mode check: If the PLM object is under control of the Change Management and a change operation is currently active, then return 1, otherwise 0

Parameters
contextThe context of the userexit
paramReserved
Remarks
This userexit is called by xedb_chk_pnr
Returns
1 Change operation currently active
0 Otherwise
int xchg_set_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for the Work Set mask. This pre-action userexit should be used for Work Request masks.

The userexit supports the following modes:

'I'nsert, 'U'pdate If the EBD_INTERCHANGE field is dirty, the (ChgWorkSet::interchangeabilityChanged ) method of the Work Set is called.
'T'emp delete, 'D'elete If the Change Management is active the userexit calls the (ChgWorkSet::isDeleteable ) method of the Work Set to determine if the Work Set can be deleted.
Parameters
contextThe context of the userexit
paramReserved
Returns
0 OK
Else Error
int xcls_agg_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for aggregate relation widgets in lassification. E.g. class attributes folder in item form.

'I'nsert or 'C'opy Generates a new ATT_NO. This is needed by inserting in classifcation list.
'I'nsert or 'U'pdate Checks if the class record which is stored, is compatible with entity1. E.g. Only item classes (EDB-ARTICLE) are stored in class attributes folder of item form.
Parameters
contextPre-action userexit context
cpArgumentsReserved parameter, not used yet.
Returns
0 Success Else Error
int xcls_att_set_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for the attribute set folder in attribute form. It checks the primary set usage in the other classes of the class structure. If the attribute set is a primary set in at least one class, then the defined set cannot be deleted.

Parameters
contextpre-action userexit context
paramReserved, not used yet
Returns
0 OK Else Error
int xcls_chk_abs_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit to check the container flag of the parent classes.

'I'nsert or 'U'pdate Puts an error message on the screen and returns 1 if the class entry is of container class type.
Parameters
ContextPre-action userexit context
cpArgumentsReserved, not used yet.
Returns
0 OK 1 the class is of container type
Remarks
Is called by xcls_set_abs_pra, but can also be used on its own.
int xcls_chk_cls_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit to check if the superclass is a container class (class is abstract) and if the parent class contains entries in the classification list. Is used when a subclass is assigned to a superclass. If the superclass is a container class and there are no entries in the classification list then the new entry is stored. If the superclass is not a container class and there are no entries in the classification list then the entry is stored and the superclass container flag is set to "yes". If the superclass is a container class and if there are entries in the classification list then a message is displayed saying the superclass contains entries in the classification list, the entry is not stored in this case.

Parameters
contextPre-action userexit context
cpArgumentsReserved parameter, not used yet.
Returns
0 Success Else Error
int xcls_chk_ent_pra ( const char *  param1,
const char *  param2 
)

Pe-action userexit for sub-classes folder of class form. Checks if the subclass record to be stored is compatible with the parent class type (e.g. you can assign only EDB-ARTICLE classes for an EDB-ARTICLE parent class). Checks if entity1 of the current widget and entity1 of the current class entry (T_GROUPDAT.ENTNAM) are the same.

Parameters
contextpre-action usx context
paramnot used yet
Returns
0 Success Else Error
int xcls_chk_set_pra ( const char *  param1,
const char *  param2 
)

Pre action userexit for class attributes mask to check the attribute set assignment. If a primary set is given, the attribute assignment to set(insert or update mode) is checked.

Parameters
contextPre-action userexit context
cpArgumentsReserved userexit parameter, not used yet.
Returns
0 Success Else Error
int xcls_set_abs_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit to check the container flag of the class in update mode. If the class has sub-classes, the class can only be a container class. If there are entries in the classification list, the class is not a container. If there are no entries in the classification list and no entries in the sub-classes list, the class can be either a container or a normal class. If the class is not a container and there are no entries in the classification list, then the update operation is allowed.

Parameters
contextPre-action userexit context
cpArgumentsReserved userexit parameter, not used yet.
Returns
0 Success Else Error
int xcls_set_att_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for attribute folder in set form to check if attribute set is used as primary set in classes. If the set is given as primary set for the attribute in at least one class, then the attribute cannot be deleted.

Parameters
paramReserved, not used yet
Returns
0 OK Else Error
int xcls_set_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for class attribute set mask to check class primary set when a class attribute is deleted. If the set is given as primary set for at least one class attribute, then the class set cannot be deleted.

Parameters
contextPre-action userexit context
cpArgumentsReserved userexit parameter, not yet used.
Returns
0 Success Else Error
int xcnf_cat_spc_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for specification widgets (submask of the specification category combined widget). This userexit covers the following action:

'I'nsert,'U'pdate Checks if the same specification already exists in the current specification category.

Copies some common fields from the specification category widget (parent) (T_CLA_DAT) into the corresponding fields of the current specification widget (T_AVL_DAT). T_CLA_DAT.INTERN into T_AVL_DAT.INTERN T_CLA_DAT.STEP_INT_ID_REF into T_AVL_DAT.STEP_INT_ID_REF

Parameters
cpArgumentsStandard parameter defining working mode and current row.
Returns
0 OK
1 Specification already exists in the specification category
int xcnf_cpa_spc_cat_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for submask specification category of the Cooperation Partner combined widget. This userexit covers the following actions:

'Q'uery Filters all specification categories.
'I'nsert, 'U'pdate Checks if the same specification category already exists within the current organization.
Parameters
contextStandard parameter defining working mode and current row.
paramStandard parameter (reserved).
Returns
0 OK
1 Specification category already exists in the organization.
int xcnf_cpa_spc_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for specification widgets (submask of the cooperation partner combined widget).

'Q'uery Filters all specification categories
'I'nsert', U'pdate Checks if the same specification already exists in the current specification category.

Checks if mandatory field C_FLD_NAME of table T_CLA_DAT is filled. Checks if the value of the field STEP_INT_ID_REF from table T_AVL_DAT and T_CLA_DAT is the same, otherwise shows a message. Copies some fields from the specification category widget (parent) (T_CLA_DAT) into the corresponding fields of the current specification widget (T_AVL_DAT). T_CLA_DAT.INTERN into T_AVL_DAT.INTERN T_CLA_DAT.STEP_INT_ID_REF into T_AVL_DAT.STEP_INT_ID_REF

Parameters
contextStandard parameter defining working mode and current row.
paramStandard parameter (reserved).
Returns
0 OK
1 Specification already exists in the category
2 Category is from another organization
3 Mandatory field is not filled
int xcnf_cps_elm_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for order specific product structure element widgets. Checks if it is allowed to update the order element. Only order specific elements can be updated.

Parameters
contextStandard parameter defining working mode and current row.
paramStandard userexit parameter (reserved).
Returns
0 OK
1 Error
int xcnf_cps_elm_str_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for order specific product structure element positions.

'U'pdate Sets the record and the field T_CPS_ELM_DAT.EDB_STR_REF dirty.
Temp-Delete Checks if it is allowed to delete the structure element. Only order specific structure elements can be deleted.
'I'insert Checks the position number, must be greater 0.
Parameters
contextStandard parameter defining working mode and current row.
paramStandard userexit parameter (reserved).
Returns
0 OK
1 Error
int xcnf_cps_hie_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for product structure element hierarchy widgets.

Parameters
contextStandard parameter defining working mode and current row.
paramStandard userexit parameter (reserved).
Returns
0 OK
1 Error
int xcnf_cps_sol_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for product structure element.

Parameters
contextStandard parameter defining working mode and current row.
paramStandard userexit parameter (reserved).
Returns
0 OK
1 Error
int xcnf_filt_cls_pra ( const char *  param1,
const char *  param2 
)

Post-Mask userexit for product variant specification widget.

Parameters
paramPost-Mask userexit parameter, not used yet
Returns
0 OK
1 Error
int xcnf_mdl_spc_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for model specification select widgets.

Parameters
param
Returns
0 = o.k. 1 = error

private action

int xcnf_ord_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for the configuration order widget.

Parameters
contextStandard parameter defining working mode and current row.
paramParameter to control the behavior of this function. Syntax is:
"param /NOASK"

With possible arguments:
param Main argument.
NOASK - If the parameter NOASK is passed to the userexit, the user will not be asked before the record will be deleted.
Returns
0 OK
1 error
int xcnf_ord_spc_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for Order specification aggregate lists. Sets the corresponding child class record for the order. The userexit covers the following actions:

'U'pdate , Temp Delete Checks the state and the source of the record if it is allowed to update or to delete the record. If the specification comes from the model (T_GRP_ORD.EDB_SOURCE='MODEL') it is not allowed to update or to delete the specification.
'I'nsert, C'opy The userexit creates the relation record between the order record and the product variant record specified on the order.
Parameters
contextStandard parameter defining working mode and current row.
paramStandard parameter, (reserved).
Returns
0 OK
Else Error
int xcnf_ord_spc_sel_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for specification select widgets to filter those specifications which are assigned to the product variant specified on the order.

Parameters
paramStandard userexit parameter, (reserved).
Returns
0 OK
Else Error
int xcnf_prd_cla_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for product variants. This userexit checks if the abbreviation for the product variant (T_GROUP_STR.EDB_ABBREVIATION) is already used within this product family.

Parameters
contextStandard parameter defining working mode and current row.
Returns
0 OK
1 Error
int xcnf_prd_var_pra ( const char *  param1,
const char *  param2 
)

Checks whether a specification is defined for a cooperation partner or not. Checks STEP_IND_ID_REF of parent (T_AVL_DAT) and child (T_GROUP_DAT) mask. If they are not equal, print message EDB-CNF-COOP-NO-SPEC and return 1

Parameters
contextStandard parameter with working mode and current row.
paramParameter to control the behavior of this function. Not currently used.
Returns
0 OK
Else Error
int xcnf_spc_cat_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for the specification category widgets. This userexit covers the following actions:

'Q'uery Filter for specification categories, sets T_CLA_DAT.EDB_CLA_TYPE="SPEC_CAT".
'I'nsert,'U'pdate Checks if the same specification category already exists within the current organization.
Parameters
contextStandard parameter defining working mode and current row.
paramStandard userexit parameter (reserved).
Returns
0 OK
1 Specification category exists already in the organization
int xcnf_spc_del_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit to check deletion of a specification constraint record.

Temp-DeleteChecks, if the C_ID is in T_CPS_GRP_CNS.
Parameters
contextStandard action userexit parameter
param(reserved)
Returns
0 OK
1 Constraint is assigned to the product variant
int xcnf_spc_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for specification widget.

'Q'uery Writes "SPEC_CAT" in the specification category type (T_CLA_DAT.EDB_CLA_TYPE).
'U'pdate, 'I'nsert Checks if the same specification already exists within the current specification category.
Checks if mandatory field specification category (T_CLA_DAT.C_FLD_NAME) is filled in the current widget. When it is filled, write the values of some fields from the specification category (T_CLA_DAT) into the corresponding specification table fields (T_AVL_DAT). T_CLA_DAT.INTERN into T_AVL_DAT.INTERN T_CLA_DAT.STEP_INT_ID_REF into T_AVL_DAT.STEP_INT_ID_REF T_CLA_DAT.EDB_ID into T_AVL_DAT.CLA_REF
Parameters
contextStandard action userexit parameter
param(reserved)
Returns
0 OK
1 Specification already exists in the category
2 Mandatory field is not filled
int xcnf_spc_var_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit to filter product classes from other classes. The userexit can be used to separate product class (product families and product variants) from normal classes used in classification lists.

Parameters
contextStandard parameter defining working mode and current row.
paramStandard userexit parameter (reserved).
Returns
0 OK
1 Error
int xcnf_var_mdl_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for product variant model submask.

Parameters
contextStandard parameter defining working mode and current row.
paramStandard userexit parameter (reserved).
Returns
0 OK
1 Error
int xcnf_var_spc_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for product variant specification widget.

Parameters
contextStandard parameter defining working mode and current row.
paramStandard userexit parameter (reserved).
Returns
0 OK
1 Error
int xcol_rsl_rul_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for work order masks. The action userexit creates the default work set to the work order. Defined fields of the assigned work request are copied into the work set.

Parameters
contextthe current context of the trigger
paramaddition paramaters (none at this time)
Returns
the error code (0 = ok)
int xcpa_ali_pra ( )

Pre-action userexit for the Alias IDs constraint lists (e.g. EDB-CPA-ART-CNS-SLI).

This userexit must be used with the edit-action userexit xcpa_ali_eda and the post-action userexit xcpa_ali_eda.

'I'nsert Sets the value of the field C_DEFAULT of the current object (for example item or document) when no record exist where the default is already set.
'T'emporary Delete Deletes the default Alias ID for the different CPA objects (for example T_CPA_ART_DAT or T_CPA_DOC_DAT). It is not allowed to delete the default Alias ID if more than one Alias ID is assigned. If only one Alias ID is assigned (if no other Alias IDs from this object are in the trash) simply delete it. If more than one Alias ID is assigned to the object, the default Alias ID must be set to another Alias ID first.
Parameters
paramAdditional argument string (reserved).
Returns
0 OK
1 Error from EPQ
2 Delete default Alias ID at last
3 Field not found
4 No record in edit mode
5 No widget is active
See Also
xcpa_ali_eda , xcpa_ali_poa
int xcpa_ewo_ali_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit on the widget component displaying the Work Order from/until with the Alias ID of the Work Orders. Deactivates the standard behavior for selecting the Alias ID if the organization code or another view field is entered in query mode.

Parameters
contextStandard parameter defining the working mode and the current row.
paramAdditional argument string (reserved).
Returns
0 OK
1 Error from epq.
2 Field not found.
3 Cannot read field value.
4 No widget is active.
int xcpa_obj_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for objects that support Alias ID (for example item or document).

'I'nsertWhen an entry exists in a field of the Alias ID table, it will be checked if the mandatory fields (STEP_INT_ID_REF, ALIAS_ID) of the Alias ID table are filled, too.
Sets the value of the field C_DEFAULT of the current object (for example item or document) when no record exists where the default is already set.
Example:
xcpa_obj_pra(/TABLE=V_CPA_ART_DAT /ENTITY=EDB-CPA-ARTICLE)
Parameters
contextStandard parameter defining working mode and current row.
paramAdditional argument string. Syntax is:
"ARG /TABLE=<view table> /ENTITY=<entity name>"

With possible arguments :
ARG Main argument.
/TABLE <view table>=""> Name of the view table (e.g. V_CPA_ART_DAT).
/ENTITY<entity name>="">Name of the Alias ID entity (e.g. EDB-CPA-ARTICLE).
Returns
0OK
1Error from EPQ.
2Field not found.
3Error when getting the entity id.
4Error when getting the table name via entity.
5Mandatory CPA fields not filled.
6No parameter set.
7No record in edit mode.
8Key ENTITY not set.
9Cannot read field value.
10Key TABLE not set.
11No widget is active.
See Also
xcpa_obj_eda, xcpa_obj_poa
int xcpa_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for Cooperation Partner widgets.

'I'nsert Checks if the current value of the field T_ORG_DAT.STEP_INT_ID already exists in the database.
'U'pdate Checks if a reference exist with the value from the database before the update of the field STEP_INT_ID will be done. When a reference exists write the value from the database back into the field.
Parameters
paramAdditional argument string (reserved).
Returns
0 OK
1 Error from epq.
2 No constraint found.
3 No record found.
4 Record with value already exist.
5 Field not found.
6 No record in edit mode.
7 Cannot read field value.
8 No widget is active.
int xcps_alt_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for variant mask (modular BOM solutions).

This userexit deals with the following actions:

'I'nsert Assigns the "EDB-NULL" item if the current position is a text position.
Checks if the product and the implementing item constraints are valid and unique.
Creates and assigns a specification rule.
Sets the field access by using the userexit (xutil_acc_fld ).
'U'pdate Assigns the "EDB-NULL" item if the current position is a text position.
Checks if the product and the implementing item constraints are valid and unique.
Creates and assigns a specification rule.
Sets the field access by using the userexit (xutil_acc_fld ).
'C'opy Assigns the "EDB-NULL" item if the current position is a text position.
Checks if the product and the implementing item constraints are valid and unique.
Creates and assigns a specification rule.
Sets the field access by using the userexit (xutil_acc_fld ).
'Q'uery Sets the current filter condition in the appropriate query field buffers.
Parameters
contextAction userexit context
paramReserved
Returns
0 OK
Else Error
int xcps_cmp_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for product components.

This userexit deals with the following actions:

'I'nsert Assigns the created product structure element to the new created product component.
Sets modular product component flag.
'Q'uery Sets view filter.
Parameters
contextAction userexit context
paramReserved
Returns
0 OK
Else Error
int xcps_cnf_bom_sel_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for modular BOM selector list.

This userexit deals with the following actions:

'Q'uery Writes unique user key as query criteria in USERIDD field.
Parameters
contextAction userexit context
paramReserved
Returns
0 Ok
Else Error
int xcps_cre_spc_rul_pra ( const char *  param1,
const char *  param2 
)

Creates a specification rule for the current variant (modular BOM solutions).

This userexit deals with the following actions:

'I'nsert Creates a specification rule and assigns the specification rule to the variant.
'U'pdate Creates a specification rule and assigns the specification rule to the variant if needed. When the value of the field EDB_RULE_SHORT was deleted then the userexit clears the specification rule reference fields.
Parameters
contextAction userexit context
paramReserved
Returns
0 OK
Else Error
See Also
xcps_cls_spc_rul_eda
int xcps_elm_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for product structure elements.

This userexit deals with the following actions:

'I'nsert Checks that the POS_NO is not empty.
Checks for recursion.
'U'pdate Checks that the POS_NO is not empty.
Checks for recursion.
'Q'uery Sets reference to the parent product structure element (EDB_STR_REF).
Sets filter query.
Parameters
contextAction userexit context
paramParameter to control the behavior of this function. Syntax like:
"/TOP /NOCHECK"

With possible arguments:
TOP Userexit is called from sublist of combined product component widget
NOCHECK Do not check for unique positions
Returns
0 Ok
EDB_CPS_INTERNAL No widget
EDB_CPS_NO_ACT_ROW No current row
EDB_CPS_NO_FIELD Field EDB_IS_MODULARBOM is missing in widget
EDB_CPS_ERR_PAR Wrong syntax in parameter
int xcps_fam_cmp_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for product family - product component relation masks.

This userexit deals with the following actions:

'I'nsert Checks if the current product family is already assigned to an effective product component and displays a message in this case.
Sets the current product component effective if no one else is effective and the parameter /SET_EFF is not set.
Checks that the assigned product component is released before the relation can be set effective (if the parameter /CHK_RLS is set).
'T'emp delete Sets the current product component ineffective if it was effective.
Parameters
contextAction userexit context
paramParameter to control the behavior of this function. Syntax is:
"/SET_EFF=[0|1] /CHK_RLS=[0|1]"

With possible arguments:
SET_EFF 0 Do not set the effectivity immediately
1 Product family/product component relation record is set immediately effective (when no other effective relation record exists)
CHK_RLS 0 No check necessary.
1 Checks that the assigned product component is released before the relation can be set effective.
Returns
0 OK
Else Error
int xcps_flt_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for filters.

This userexit deals with the following actions:

'Q'uery Copies the value of the EDB_ID field of the product structure element of the parent mask into the query buffer of the EDB_ELM_REF field.
Parameters
contextAction userexit context
paramReserved
Returns
0 OK
Else Error
int xcps_grp_cmp_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for the class - product component relation widgets. Checks if the class - product component relation is valid.

This userexit deals with the following actions:

'I'nsert Checks if the assigned classification object is of the type 'EDB-ARTICLE'.
Checks if the assigned classification object is not a container class.
Checks if the product component is already assigned to a classification object.
'C'opy Checks if the assigned classification object is of the type 'EDB-ARTICLE'.
Checks if the assigned classification object is not a container class.
Checks if the product component is already assigned to a classification object.
Parameters
contextAction userexit context
paramReserved
Returns
0 OK
Else Error
int xcps_mdl_bom_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for the BOM overview sublist.

This userexit deals with the following actions:

'Q'uery Writes the user key as query criteria into the USERIDD field.
Parameters
contextAction userexit context
paramReserved
Returns
0 OK
Else Error
int xcps_mdl_bom_sel_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for modular BOM selector list.

This userexit deals with the following actions:

'Q'uery In "COPY_TO" mode the userexit executes the modular BOM explosion.
Parameters
contextAction userexit context
paramReserved
Returns
0 OK
Else Error
int xcps_mdl_sel_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for product structure element selector form. Dummy userexit.

Parameters
contextAction userexit context
paramReserved
Returns
0 OK
int xcps_ntr_bom_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for the BOM overview widget. Modifies the widget's query buffer to pass key fields of the current parent to the report view.

Parameters
contextAction userexit context
paramReserved
Returns
0 OK
Else Error
int xcps_prl_chk_elm_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for parallel structure - product component widgets.

This userexit deals with the following actions:

'I'nsert Checks that the top level module (modular product component) of the selected module element refers to the same parallel structure.
'U'pdate Checks that the top level module (modular product component) of the selected module element refers to the same parallel structure.
Parameters
contextAction userexit context
paramReserved
Returns
0 OK
1 Product structure element is not from assigned modular BOM
2 No product structure element selected.
int xcps_prl_chk_vie_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for parallel structure view lookup widgets.

This userexit deals with the following actions:

'I'nsert Checks that the inserted or updated record is a new text category (T_CPS_VIEW_LUT.EDB_KEY (new) != T_TXT_CTG_DAT.EDB_CTG_ID).
'U'pdate Checks that the inserted or updated record is a new text category (T_CPS_VIEW_LUT.EDB_KEY (new) != T_TXT_CTG_DAT.EDB_CTG_ID).
Parameters
contextAction userexit context
paramReserved
Returns
0 OK
1 Same name as text category.
int xcps_prl_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for parallel structure widgets.

This userexit deals with the following actions:

'I'nsert Checks that the position number for the constraint relation is unique.
'U'pdate Checks that the position number for the constraint relation is unique.
Parameters
contextAction userexit context
paramReserved
Returns
0 OK
1 Element with same position number exists.
int xcps_set_apl_str ( const char *  param1,
const char *  param2 
)

Pre-action userexit in classification list.

This userexit deals with the following actions:

'I'nsert If an item is assigned to a class which is assigned to a product component and for this relation the EDB_APPLY_STRUCTURE flag is set to 'true', then the EDB_APPLY_CPS flag for the item is set to 'true'.
Parameters
contextAction userexit context
paramReserved
Returns
0 OK
Else Error
int xcps_sol_mul_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for multi-edit solution list.

This userexit deals with the following actions:

'U'pdate Checks the uniqueness of the solution record and his data.
Creates the specification rule.
Sets the field access which is defined by using the information of the field userexit 'xutil_acc_fld'.
'Q'uery Sets the unique user key (user name and widget ID).
Sets the filter query by using 'xedb_sea_vie'
Parameters
contextAction userexit context
paramReserved
Returns
0 OK
Else Error
int xcps_sol_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for solutions list of neutral product structure elements.

This userexit deals with the following actions:

'I'nsert Checks if the product and the implementing item constraints are valid. The method displays a message which constaint has to be filled by the user.
'U'pdate Checks if the product was changed and displays an error message on product changes (products or items cannot be changed).
Sets the field access (xutil_set_acc)
'Q'uery Sets the current filter conditions.
Parameters
contextAction userexit context
paramParameter to control the behavior of this function. Syntax is:
"[/STRICT]"

With possible arguments:
STRICT Suppresses the insert of a new solution record when any error occurs while creating the BOM position. Without this parameter, the solution is created even if the verification of the BOM fails.
Returns
0 OK
Else Error
int xcps_sol_spc_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for solution space sublist of product structure element.

This userexit deals with the following actions:

'Q'uery Sets the query buffer of the C_ID field to "0".
int xcps_vrf_bom_pos_pra ( const char *  param1,
const char *  param2 
)

Pre-transition userexit for BOM position. If the item structure is verified, the BOM position will be verified against the effective conceptual product structures for the parent item.

The userexit supports the following view scopes:

Production view (PRD) In production view the product component, product structure element, classification and the relation between them have to be released or set effective to be considered in the verification process. If the flag /SOFT is set, BOM positions that are not released yet are also considered. The objects which will be released are also considered and the effectivity of the assigned work sets is used.
Development view (DEV) Same as the production view, but product strucure elements of the conceptual product structure that are not released yet are also considered during the verification.
Parameters
contextAction userexit context
paramParameter to control the behavior of this function. Syntax is:
"/PRD|/DEV [/SOFT] [/STRICT][/SILENT][/SHORTMSG][/ALT={ALL|DETECT}][/ANALYSE]"

With possible arguments:
PRD Verify in production view.
DEV Verify in development view (default).
SOFT Not released BOM positions are allowed.
STRICT Userexit returns an error if verification fails.
SILENT Do not print any messages.
SHORTMSG Print only "important" messages.
ALT ALL: Check all alternatives, DETECT: One successful verification of a BOM position is enough.
ANALYSE Uses step-by-step algorithm for verification and displays all verification messages.
Returns
0 OK
Else Error
int xctx_ctx_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for the list of contexts.

This userexit deals with the following actions:

'T'emp. delete Checks if a context which is to be deleted is still used by any object.
'I'nsert, 'U'pdate Clears context cache.
Parameters
ctxAction userexit context.
paramReserved.
Returns
0 OK
Else Error
int xdocfi_pra ( )

Pre-action userexit for document-file relation masks.

The userexit supports the following modes:

'I'nsert Executed tasks:
  • Copies the file physically into the vault and insert the file characteristics.
  • Checks which file mode is set in the widget buffer "/FILE_MODE={COPY|DUPLICATE}".
    • COPY: The file will be copied from the local location into the vault.
    • DUPLICATE: The file will be duplicated in the same vault or into the vault specified by the field STORAGE_AREA
'T'emporary delete Executed tasks:
  • Shows informtion that distributed files would be deleted.
  • Checks the reservation state of document.
    The userexit reports an error if the document is reserved by another user.
  • Checks if the user has the necessay access rights to copy the document - file relation record.
    The userexit reports an error if the if the user has the necessay access rights.
'D'elete Executed tasks:
  • Deletes the file from the vault.
Parameters
cp_Parameterstandard action parameter
cp_Argumentsnot used
Returns
0 OK
1 Server error
2 Record is reserved
3 Status error
4 Aborted by the user, no file deleted (interactive mode)
int xdocfi_sto_pra ( )

Pre-action userexit for file-vault relation masks.

The userexit supports the following modes:

'T'emporary delete Executed tasks:
  • Checks if the file - vault relation can be deleted (see. xfile_chk_del_rel() for a detailed description of the executed checks)
'D'elete Executed tasks:
  • Deletes the relation and the file from the vault.
Parameters
cp_Argumentsnot used
Returns
0 OK
Else Error
int xdocfi_str_pra ( )

Pre-action userexit for file-vault relation masks.

The userexit supports the following modes:

'I'nsert Executed tasks:
  • Checks for recursion.
Parameters
cp_Argumentsnot used
Returns
0 OK
Else Error
int xdocst_pre_action ( )

Pre-action userexit for widgets with document structures.

xstate_pre_action is called to set the progress indicator if the corresponding field is empty. Afterwards one of the following actions is performed depending on the execution mode:

  • 'Q'uery mode: the query conditions for the current view are set.
  • 'I'nsert mode: checks for recursive structure and for unique position numbers.
  • 'U'pdate mode: a check for unique position numbers is executed.
  • 'T'emporary delete mode: the userexit checks if the element is reserved, if write access on the parent record exists and finally updates the BOM and AGG flags.
Parameters
parStandard parameter defining working mode and current row.
cp_ArgumentsParameter to control the behaviour of this userexit. Syntax like:
"field [/VERS=vers_field[, field2..]]"

with possible arguments:
fieldfield name Primary field to use for the unique position number check.
VERSlist of field names Defines the version fields that are used to check for unique position numbers. It is also possible to append the postfix '(+)' for a particular field. This postfix defines empty fields as matching to any other field contents. If no parameter is passed, the parameter string is implicitly set to "POS_NO /VERS=T_DOC_DAT.DOC_VERSION,T_DOC_STR.STEP_REL_TYPE".
Returns
0 OK
1 Check not required
int xdocum_pre_action ( )

Pre-action userexit for document master masks.

The userexit covers the following actions:

'T'emporary delete Checks for related elements. Then checks if document is used by other elements.
'D'elete Sets new values for AGG_FLAG and BOM_FLAG. Deletes all sub-documents.
Parameters
parStandard parameter with working mode and current row
Returns
0 OK
else Error
int xedb_hie_pre_act ( const char *  param1,
const char *  param2 
)

Pre-action userexit for masks with structure explosion or a 'where-used' structure to prevent deletion and to set selection values.

This userexit deals with the following actions:

'Q'uery Copy combination of user ID and widget ID to the selected buffer of the field "USERIDD".
'T'emp. delete Prevent delete operation.
Parameters
usxCtxAction userexit context.
cp_parReserved.
Returns
0 OK
Else Error.
int xedb_pra ( )

Basic pre-action userexit.

This userexit deals with the following actions:

'I'nsert If element has been copied (widget buffer STA_COP is set, then LEV_IND is initialized and reservation fields are cleared.
If LEV_IND field is empty, initialize progress indicator.
'U'pdate If LEV_IND field is empty, initialize progress indicator.
'T'emporary delete Check if element is reserved.
'D'elete Check if element exists in the folder and delete it.
Parameters
cp_ParameterStandard parameter with working mode and current row.
Returns
0 Success
1 Element is reserved
int xedb_pra_del_pac ( )

Delete current record if it is used in one or more folders.

This userexit deals with the following actions:

'D'elete Delete current record if it is used in one or more folders.
Parameters
cp_ParameterStandard parameter with working mode and current row.
cp_ArgumentsReserved.
Returns
0 OK
1 Database error.
2 Out of memory.
int xedb_pra_str ( )

Basic pre-action userexit for relation widgets.

The BOM_FLAG of the parent record of the homogenous structure (entity entity STR) for the deleted record is corrected .

This userexit deals with the following action:

'D'elete The BOM_FLAG of parent element is corrected.
Parameters
cpParameterStandard parameter with working mode and current row.
cpArgumentsReserved.
Returns
0 OK
1 Error
@see  xedb_rel_pra
      xedb_rel_poa
int xedb_pra_vie ( )

Basic pre-action userexit.

This userexit deals with the following action:

'Q'uery EDB view will be set as query value if fields CUR_FLAG, VAL_FROM and VAL_UNTIL exist in current widget.
Note
Userexit should be called in combination with post-action userexit 'xedb_poa_vie'
Parameters
cp_ParameterStandard parameter with working mode and current row.
Returns
0 OK
1 Error
See Also
xedb_poa_vie
int xedb_rel_pra ( )

Basic pre-action userexit for relation widgets.

This userexit deals with the following actions:

'I'nsert Check for recursion if flag /NO_RECU is set. If a field name (e.g. "POS_NO") is given (see argument 'field' and option /VERS) it will be checked if the content of this field is unique within the structure..
'U'pdate If a field name (for example "POS_NO") is given (see argument 'field' and option /VERS) it will be checked if the content of this field is unique within the structure.
'T'emporary delete The BOM_FLAG of the parent record and the AGG_FLAG of the current record will be corrected if the widget represents a homogeneous structure (e.g. item-item relation) with relation view 'STR'.
Note
Userexit should be called in combination with post-action userexit 'xedb_rel_poa'. Userexit 'xedb_pra_str' should be defined as pre-action userexit for the widget with the master data. Otherwise the STR-/TOP-values might become inconsistent!
Parameters
cp_ParameterStandard parameter with working mode and current row.
cp_ArgumentsParameter to control the behavior of this function. Syntax is:
"[<fieldset> [/VERS=<vers_field>[, <vers_field2>..]]] [/FAT_ACCESS={d|w|r}] [/NO_RECU]"

With possible arguments:
field Name of field to be checked (syntax like: "TABLE.COLUMN" or "COLUMN") if unique.
VERS vers_field Option to set the name of the version field and other fields to be used to identify different versions of the same element. If this option is set, another element with identical values for the given fields may exist, if the key attributes are identical but only the version is different. Syntax of 'vers_field', 'vers_field2', ... has to be "TABLE.COLUMN".
FAT_ACCESS d Checks delete access on parent record when trying to delete the current record.
w Checks write access on parent record when trying to delete the current record.
r Checks read access on parent record when trying to delete the current record.
NO_RECU If you specify this key then it is forbidden to insert the parent record as child record (no recursion).
Returns
0 OK
1 Error
See Also
xedb_rel_poa xedb_pra_str zag_dbi_chk_dis
int xedb_rpl_pra ( )

Replace a position in the structure.

This userexit deals with the following actions:

'A'bort If replace position is activated (configuration parameter "Entity-RPL" is set to "REPLACE_POS"), then set for all fields (master and relation) the dirty flag.
'U'pdate Reset dirty flag for master fields.
Parameters
cpParameterStandard parameter with working mode and current row.
cpArgumentsReserved.
Returns
0 OK
1 Error
int xewm_ewr_ews_pra ( )

Only work requests with a release index are selected for adding to a work order.

Parameters
cpPar- Standard userexit parameter of pre-action userexit (working mode and row)
cpChkName- Release procedure name
Returns
0 OK
1 Error
int xewm_ews_pra ( )

Checks if mandatory field ELEM_ID is empty.

Parameters
CpPar- Standard userexit parameter of pre-action userexit (working mode and row)
Returns
0 Field ELEM_ID is filled
1 Field ELEM_ID is empty
int xfile_chk_del_rel ( )

Checks if the file - vault relation can be deleted.

The userexit is called by the userexit xdocfi_sto_pra().

The userexit executes the following checks (If a check fails the userexits aborts the checks and report an error):

  • Checks the access rights to the assigned document.
  • Checks for the original file - vault relation. Use the document - file relation to delete the original relation. The deletion of the original file - vault relation is permitted.
  • Checks the vault type. For the deletion of a file - vault relation of a backup vault (type BCK) the user is asked if the operation should be executed.
  • For non backup vaults the following checks are executed:
    • Checks the state of the file - vault relation. Outdated files are allowed to be deleted (file state N).
    • If more than one current file exists the file - vault realtion can be deleted. File - vault realtions in the trash are not considered.
Note
The userexit does not check the action parameter and should be called by another pre-action userexit!
Parameters
cp_ParameterStandard parameter with working mode and current row.
Returns
0 ok
1 error
int xgroup_pre_action ( )

Pre-action userexit for class form or list (e.g.EDB-GRP-CFR, EDB-GRP-SLI).

This userexit covers the following actions:

'I'nsert Creates new unique number for the new class and writes it into SML_NUM field. Sets the level indicator in LEV_IND field if necessary.
'T'emporary delete Checks if the class has related records, or if it is used by other elements, or if if it has classified objects.'D'elete Corrects values for AGG_FLAG and BOM_FLAG field
Parameters
contextUserexit context.
Returns
0 OK
Else Error
int xgrpst_pre_action ( )

Pre-action userexit for classification group structure.

This userexit covers the following actions:

'I'nsert Fills a possibly empty progress indicator field.
Checks for direct recursion.
'U'pdate Fills a possibly empty progress indicator field.
'T'emp. delete Increments entry for BOM-flag of parent record.
Increments entry for AGG-flag of child record.
Parameters
cp_ParStandard parameter defining working mode and current row.
Returns
0 OK
1 Recursion detected.
See Also
xgrpst_action xgrpst_post_action
int xhisto_pre_action ( )

Pre-action userexit for object history relation widgets.

This userexit covers the following actions:

'I'nsert Checks for write access to the parent record. Creates new history ID. If flag "/SEQ" is set then database sequence <history_table>_HSEQ is used to get next HIST_ID (e.g. For table T_DOC_HIS sequence T_DOC_HIS_HSEQ). If the default EDB-HIS-MEM-ADD-STA has the value "on", then the fields CHANGE_STATUS and CHANGE_REV are set.
'T'emporary delete Delete is only allowed for "MEMO" entries and if write access to the parent record is granted.
Parameters
cpParameterStandard parameter with working mode and current row.
cpArgumentsParameter to control the behavior of this function. Syntax is:
"{/SEQ}}"

With possible arguments:
SEQ Use database sequence to genereate HIST_ID .
Returns
0 OK
1 Error
int xknl_itm_set_ufk ( const char *  param1,
const char *  param2 
)

Pre-action userexit to set VONMEHR and NACHMEHR in the Unit Conversions mask based on EDB_VONMEHR and EDB_NACHMEHR.

Parameters
contextContext of the userexit
paramStandard parameter with working mode and current row
Returns
0 OK
1 Error

Pre-action userexit to set VONMEHR and NACHMEHR.

int xknl_rel_pra ( const char *  param1,
const char *  param2 
)

Basic pre-action userexit for relation widgets.

This userexit deals with the following actions:

'I'nsert, 'U'pdate, 'C'opy Checks for recursion in the structure on the first level (parent record is not allowed to appear as child element).
Parameters
ctxAction userexit context.
paramReserved
Returns
0 OK
Else Recursion on first level detected.
int xknl_set_qry_buf ( const char *  param1,
const char *  param2 
)

Copies specified field values from parent record to query buffer in child widget. If /OUTER is specified for a target field, the string " | ''" is added to the query buffer.

Parameters
contextPre action userexit context.
paramParameter to control the behavior of this function. Syntax is:
"childField=parentField[,childField=parentField]*"
Returns
0 OK
Else Error
int xmgt_str_pra ( )

Pre-action userexit for the 'As built item structure' widget.

This userexit deals with the following actions:

'I'nsert Writes current date into field T_PCO_STR.ASSEMBLY_DATE.
Parameters
cp_ModeStandard parameter defining working mode and current row.
cp_ParameterReserved.
Returns
0 OK
Else Error
int xntm_del_pra ( )

Pre-action userexit to delete related notes when a record is deleted.

If more than one reference exists the note will not be deleted. Except, for document types you need to add this userexit only in the document master list/form. In document type masks this userexit has no effect, because xdocty_post_action deletes in 'T' mode the master record, so that no master record exists when xntm_del_pra (mode 'D') is called.

This userexit deals with the following actions:

'D'elete Deletes notes related to current record.
Note
An index should exist for NTM_REF in the table T_NTM_DAT for performance reasons.
Parameters
cp_ParStandard parameter with working mode and current row.
Returns
0 OK
1 Error
int xntm_pra ( )

Pre-action userexit for notes administration widgets.

This userexit covers the following actions:

'I'nsert, 'C'opy Generates a new note reference number and writes it to the field NTM_REF
'D'elete Deletes notes related to current record.
Note
An index should exist for NTM_REF in the table T_NTM_DAT to increase the performance of the note administration userexits.
Parameters
cp_ParStandard parameter defining working mode and current row.
Returns
0 OK
1 Error during insert or copy
Else Database error
int xord_art_pre_act ( )

Pre-action userexit for order specific item assignment widget (EDB-ORD-ART-RLI).

This userexit deals with the following actions:

'I'nsert Checks for unique record and calls number server.
'T'emporary delete Checks for dependent entries in T_MASTER_VAR
Parameters
parStandard parameter with working mode and current row.
Returns
0 OK
1 Error
int xord_pre_action ( )

Pre-action userexit for order module widgets.

This userexit deals with the following actions:

'I'nsert Resets change management fields if record has been copied.
Parameters
parStandard parameter with working mode and current row.
Returns
0 OK
1 Error
int xord_str_pre_act ( )

Pre-action userexit for lists with order specific item structure (BOM).

The argument string is used to check if the current position number is distinct. A newer feature allows to set the attribute '(+)' for a particular field. This attribute defines empty fields as matching to any other field contents.

This userexit deals with the following actions:

'I'nsert Sets order key fields.
'U'pdate Checks for unique position numbers.
'T'emporary delete Checks for dependent records in T_MASTER_VAR.
'Q'uery Sets selection values.
Note
If you pass an empty string (or NULL pointer) for 'cp_Arguments', the parameter string to check for a distinct position number is set to: "POS_NO,ORD_ID,ORD_VERSION,ORD_REVISION,ORD_POS_NO /VERS=T_MASTER_DAT.PART_VERSION,T_MASTER_VAR.IN_CONTEXT_FAT(+) "
Parameters
parStandard parameter with working mode and current row.
cp_ArgumentsParameter to control the behavior of this function. Syntax is:
"<field>[,<field2>...] [/VERS=<vers_field>[, <vers_field2>..]]"

With possible arguments:
field Name of key field
VERS vers_field Name of revision field
Returns
0 OK
1 Error
int xpac_pra ( )

Pre-action userexit at the mask of the master and type element packet.

  • If working mode is 'D'elete:
    Element packets are generally deleted by using the trash, together with their content. If the element packet is filled, an interactive delete inquiry takes place.
    If the parameter DELETE is set, no interactive delete inquiry appears. This is necessary for the virtual mode (batch). Type element packets can be deleted either in the master mask or in the type mask.
  • If working mode is 'I'nsert:
    When an element packet is copied an interactive copy inquiry appears if the content of the folder should be copied, too. If the parameter COPY is set, no interactive copy inquiry appears. This is necessary for the virtual mode (batch).
Parameters
cp_ParameterStandard parameter with working mode and current row
cp_ArgumentsAdditional argument string
/DELETE Gets no interactive delete inquiry.
/COPY={"0</th><td>1"}0 : Does not copy content of the folder
1 : Copies content of the folder
Returns
0 OK
other Error
10 Virual mode set and no DELETE parameter given
int xpdw_frm_acc_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit for the object access mask. Depending on the mode, the following actions are performed:

  • 'Q'uery: The query buffer of the EDB_USERIDD field is set to the appropriate value so that only records from the current mask are displayed.
  • 'D'elete and 'T'emporary delete: The delete operation is suppressed.
Remarks
Has to be attached to the mask that shows the access list.
Parameters
usxCtxThe userexit context.
paramReserved.
Returns
0 OK
1 Error
int xpdw_ksa_ass_act_pre ( const char *  param1,
const char *  param2 
)

Changes the PDW_GENERATE project for the child object and creates a history entry for the project alteration.

Parameters
ctxThe userexit context.
paramAdditional userexit parameters. Currently none.
Returns
0 OK
1 Error
int xpdw_mas_pre ( const char *  param1,
const char *  param2 
)

Pre-action userexit to temporarily enable the global multi access rights view. This userexit disables the multi access rights view in 'Q'uery mode and therefore, enables the global multi access rights view.

Remarks
Has to be called in combination with the post-action userexit xpdw_mas_poa. Additionally, the count function of the mask (both button and menu) has to be replaced by the userexit xpdw_men_cnt_lis.
Parameters
usxContextThe userexit context.
paramParameter to control the behavior of this userexit. Syntax like:
"[/FORCE]"

With possible arguments:
FORCEForce disabling the multi access rights view, without taking care of nested calls to disable or enable the view.
Returns
0 OK
Else Error
See Also
xpdw_mas_poa, xpdw_men_cnt_lis, xpdw_lgv_vie_on, xpdw_lgv_vie_off
int xpdw_obj_pre ( const char *  param1,
const char *  param2 
)

Pre-action userexit for object widgets. Before the temporary deletion of a record it is checked that you have PDW access for the record.

PDW access: Check if the origin principal of the record is visible from the current selected principal.

The entity specific configuration parameters are grouped under configuration rubric EDB-PDW-ENT-n with n representing a sequence number for the entities under PDW control (e.g. EDB-PDW-ENT-2 / EDB-PDW-CHK-OBJ-ACC-ENT-2 represent the settings for entity EDB-ARTICLE).

If configuration parameter EDB-PDW-CHK-OBJ-ACC-ENT-n for the parent entity has value "no" the PDW access check is skipped.

This userexit deals with the following actions:

'T'emporary Delete Checks for PDW access and reset relation check flags.
'D'elete Deletes principal view to origin principal.
Note
This userexit has to be the last pre-action userexit in the object widget.
Parameters
cpParameterStandard parameter defining working mode and current row.
cpArgumentsAdditional userexit parameters. Currently none.
Returns
0 OK
PDW_NO_ACCESS (730) Access denied
Else Error
See Also
xpdw_obj_eda, xpdw_obj_poa

public pre-action

int xpdw_obj_typ_pre ( const char *  param1,
const char *  param2 
)

Pre-action userexit for object type widgets. Before the temporary deletion of a record it is checked that you have PDW access for the record.

PDW access: Check if the origin principal of the record is visible from the current selected principal.

The entity specific configuration parameters are grouped under configuration rubric EDB-PDW-ENT-n with n representing a sequence number for the entities under PDW control (e.g. EDB-PDW-ENT-2 / EDB-PDW-CHK-OBJ-ACC-ENT-2 represent the settings for entity EDB-ARTICLE).

If configuration parameter EDB-PDW-CHK-OBJ-ACC-ENT-n for the parent entity has value "no" the PDW access check is skipped.

This userexit deals with the following actions:

'T'emporary Delete Checks for PDW access.
Note
This userexit has to be the last pre-action userexit in the object type widget.
Parameters
cpParameterStandard parameter defining working mode and current row.
cpArgumentsAdditional userexit parameters. Currently none.
Returns
0 OK
PDW_NO_ACCESS (730) Access denied
Else Error
See Also
xpdw_obj_eda, xpdw_obj_poa

public pre-action

int xpdw_pdw_pre ( const char *  param1,
const char *  param2 
)

Pre-action userexit for PDW views.

  • In 'I'nsert mode, a check for duplicate views is performed.
  • In 'T'emporary delete mode, the access to the view is checked.
  • In 'D'elete mode, the tolerance is adjusted.
Parameters
usxContextThe userexit context.
paramReserved.
Returns
0 OK
Else Error
int xpdw_ppj_pre ( const char *  param1,
const char *  param2 
)

Pre-action userexit for the template project widgets. Depending on the mode, one of the following actions is performed:

  • 'I'nsert: The userexit checks if the template project is already stored.
  • 'T'emporary delete: The userexit checks if the template project is currently active, and if this is the case it deactivates it in the current session.
Parameters
usxContextThe userexit context.
paramAdditional userexit parameters. Currently none.
Returns
0 OK
1 Error
See Also
xpdw_ppj_poa
int xpdw_pro_obj_pre ( const char *  param1,
const char *  param2 
)

Pre-action userexit for the principal object relation mask. This userexit has to be attached to relation widgets for relations between the principal object (project or organizational unit) and objects which are under control of multi access rights.

Depending on the mode, the following actions are performed:

  • 'Q'uery: The mask join to filter PDW_STRUCTURE relation is added if it has not been set by the pre-mask userexit xpdw_pro_obj_prm. It is necessary to do this in this pre-action userexit because in virtual mode (that also applies for the browser) no pre-mask userexits are executed.
  • 'I'nsert: If the new multi access rights scheme (using the usual relationship tables like T_PRO_MASTER instead of special multi access rights tables) is activated, the userexit checks if the object is already assigned to the project. With the new multi access rights scheme, creating an object-project relation automatically creates the multi access rights view so this operation implies an "assign to additional project" operation.
  • 'T'emporary delete: If the new multi access rights scheme (using the usual relationship tables like T_PRO_MASTER instead of special multi access rights tables) is activated, the userexit checks if the relation is a PDW_GENERATE relation. If this is the case, the delete operation is denied because PDW_GENERATE relations are not to be deleted manually.
Parameters
usxContextThe userexit context.
paramAdditional userexit parameters. Currently none.
Returns
0 OK
1 Error
See Also
xpdw_pro_obj_prm
int xpdw_pro_str_pre ( const char *  param1,
const char *  param2 
)

Pre-action userexit for project or organizational unit structure widgets. Depending on the mode, the following actions are performed:

  • 'I'nsert: Checks
    • if a non-hierarchical project or organizational structure would be created by the insert. If this is the case, the insert operation is denied because multi access rights only allows strict project or organizational unit hierarchies.
    • if the child project or organizational unit is identical to the current project or organizational unit. This is not allowed and in this case the insert operation is denied.
    • if the insert operation would lead to a recursion in the project or organizational unit structure. In this case, the insert operation is also denied.
  • 'D'elete: The multi access right views to the child project or organizational unit are deleted.
  • 'U'pdate: The multi access rights views to the child project or organizational unit are adjusted according to the inclusion flag. If the inclusion flag was set by the edit operation, the child projects or organizational units are included in the view otherwise, they are excluded.
  • 'Q'uery: Sets the mask join to filter PDW_STRUCTURE relations, if this join is not already set.
  • 'T'emporary delete: If the new multi access rights scheme (using the usual relationship tables like T_PRO_STR instead of special multi access rights tables) is activated, it checks if the relation is a PDW_GENERATE relation. If it is, the deletion is denied because PDW_GENERATE relations are not to be deleted manually.
Parameters
usxContextThe userexit context.
paramReserved.
Returns
0 OK
1 Error
See Also
xpdw_pro_str_poa
int xpdw_rel_pre ( const char *  param1,
const char *  param2 
)

Pre-action userexit for object relation widgets. PDW access: Check if the origin principal of the parent record is visible from the current selected principal.

The entity specific configuration parameters are grouped under configuration rubric EDB-PDW-ENT-n with n representing a sequence number for the entities under PDW control (e.g. EDB-PDW-ENT-2 / EDB-PDW-CHK-OBJ-ACC-ENT-2 represent the settings for entity EDB-ARTICLE).

If configuration parameter EDB-PDW-CHK-OBJ-ACC-ENT-n for the parent entity has value "no" the PDW access check is skipped.

If configuration parameter EDB-PDW-CHK-OBJ-BY-EDB has value "yes" the PDW access is skipped here but done by xedb_rel_pra. Depending on the value of default EDB_REL_ACT_INS the following access checks are done: Check for access by LogiView decision table EP/Insert_Str. If access is denied then check for "w"rite access to parent record. If access is still denied then check for PDW access to parent record (when EDB-PDW-CHK-OBJ-ACC-ENT-n for parent entity has value "yes").

This userexit deals with the following actions:

'T'emporary delete Checks for PDW access to parent record.
'D'elete Updates the tolerance.

Please be aware that the deletion of relation records of homogeous structures (like item-item T_MASTER_STR) is only supported for refine widgets.

Parameters
cpParameterStandard parameter defining working mode and current row.
cpArgumentsAdditional userexit parameters. Currently none.
Returns
0 OK
Else Error
See Also
xpdw_rel_eda, xpdw_rel_poa

public pre-action

int xpdw_ver_pre ( const char *  param1,
const char *  param2 
)

Post-action userexit for version structures. Depending on the mode, the following actions are performed:

  • 'I'nsert: The multi access rights views for the version predecessors are created.
  • 'D'elete: The multi access rights views for the version predecessors are deleted.
Parameters
usxContextThe userexit context.
paramReserved.
Returns
0 OK
1 Error
int xpdw_vfg_str_pre ( const char *  param1,
const char *  param2 
)

Pre-action userexit for object refine structures. Suppresses display of structure if VIEW_ALL flag is set.

Parameters
usxContextThe userexit context.
paramReserved.
Returns
0 OK PDW_NO_STR_ACC No access to structure because VIEW_ALL flag is set Else Error
See Also
xpdw_vfg_str_poa
int xproje_pre_action ( )

Pre-action userexit for widgets with project data.

The generic pre-action userexit xedb_pra is called first. Then performs the following actions depending on the work mode:

  • 'Q'uery: Sets the user view by calling the userexit xstate_set_vie_pra.
  • 'T'emporary delete: Checks for related elements. Checks if the project is used by other elements.
  • 'D'elete: Corrects the values of AGG_FLAG and BOM_FLAG.
Parameters
parStandard parameter defining working mode and current row. Not currently used by this userexit, but the parameter string is passed to xedb_pra.
Returns
0 OK
int xprost_pre_action ( )

Pre-action userexit for widget with project structures.

If the corresponding field is empty, the level indicator is set by calling xstate_pre_action.

This userexit covers the following actions:

  • 'Q'uery: The query values for the current view are set.
  • 'I'nsert: Checks for recursion and for a unique position number.
  • 'U'pdate: Checks for unique a position number.
  • 'T'emporary delete: Checks write access on parent record and updates the BOM and AGG flags.
Remarks
This userexit can also be used for inserting in aggregate lists. In this case it does not check for unique position numbers in 'I'nsert and 'U'pdate mode.
Parameters
parStandard parameter defining working mode and current row.
cp_ArgumentsParameter to control the behavior of this userexit. Syntax like:
"field [/VERS=vers_field[, field2..]][/AGG]"

With possible arguments:
fieldfield name Primary field to check for unique position numbers.
VERSlist of field names Defines the version fields which are used to check for unique position numbers. It is also possible to append the postfix '(+)' for a particular field. This postfix defines empty fields as matching to any other field content. If no parameter is passed, the parameter string is implicitly set to "POS_NO /VERS=T_PRO_DAT.PROJ_VERSION".
/AGGUsed for aggregate lists. In this case does not check for a unique position number.
Returns
0 OK
1 Error, action could not be performed
int xpvm_chk_map ( const char *  param1,
const char *  param2 
)

Pre action user exit to check if the current created mapping is already used. The property mappings should be initialized before this user exit is used (see xpvm_ini_prp_map).

Parameters
contextThe context of the userexit
paramNot used at the moment.
Returns
0 OK
1 Error
int xrel_mul_xba ( )

Check on insert-mode if a valid entry was made.

There must be a record chosen with xtools_chs_rec. Called from Field-Trigger of the Field PAC_LEVEL.

Parameters
cp_ParameterDTV mask parameter
Returns
0 OK
Else Error
int xrel_pre_act ( )

The C_ID, the ori-, and the join-table entries of deleted elements are captured by temporary deleting.

Parameters
cp_ParameterParameter of the calling function
Returns
0 OK 1 Parent entity not found
2 Error by creating the virtual reference widget
-1 No repeated reference
>10 Error from original pre-action userexit (error code + 10)
int xrel_ref_xba ( )

Set EDB-version-view on query mode.

Checks access to parent element on temporary delete operation.(Must have delete access)

Parameters
cp_ParameterDTV mask parameter
Returns
0 OK
Else Error
int xrel_ref_xea ( )

Checks access to the parent element on INSERT-, UPDATE and COPY-operations.

(Must always have write access) Checks access to parent element on temporary delete operations.

Parameters
cp_ParameterDTV mask parameter
Returns
0 OK
1 No access to parent element
int xsml_chk_dup ( )

Pre-action userexit to check double records in classification lists.

This userexit covers the following actions:

'I'nsert 'C'opy If the default EDB-DUP-SML-ELM has the value 1, it checks if the current record is already assigned to the current classification list. In this case, an error message is displayed on the screen and it returns 1. If the default EDB-DUP-SML-ELM has the value 2, it checks if the current record is already assigned to any classification list.
Parameters
cp_parStandard parameter with working mode and current row.
Returns
0 OK
1 The current record is already assigned to the current classification list (EDB-DUP-SML-ELM: 1) or The current record is already assigned to a classification list (EDB-DUP-SML-ELM: 2)
-1 Data base error or the ATT_NO field does not exist in the mask.
int xsml_post_action ( )

Post-action userexit creates a parallel record in 'TYR'relation.

This userexit covers the following actions:

'I'nsert 'C'opy When a record is assigned to the TYP class, then a parallel record is inserted in the corresponding relation table (with view TYR). When the assigned record in the class (of TYP type) is deleted, the parallel record is used to find the corresponding relation record, which must be deleted together with the master record. If the TYR relation record would not exist, then the query would have to include all existing relation records. This decreases the performance with increasing number of TYP classes.
Parameters
parUserexit context.
Returns
0 OK
Else Error
int xsml_pre_action ( )

Pre-action userexit for master forms which are classified in classes of type TYP.

Checks double records in classification list and deletes the corresponding relation record (TYR relation) for the classified objects.

Parameters
parUserexit context.
Returns
0 OK
Else Error
int xsmlc_pra ( )

Pre-action userexit for the item form with class attributes for ATC classes (e.g.

EDB-ART-CFR-S).

This userexit covers the following actions:

'Q'uery Query in the shadow widget (virtual widget for classification list) instead of querying in the current item form and folder. To query in the item form is prohibited when setting the query-criteria "WHERE C_ID = 0" in the Id field. For numeric attributes (if the classification attributes folder is activated) set the query criteria only for the I-fields and ignore the S-fields. Every String attribute field has a visible integer field in the class attributes folder and a correspondent invisible string field (the so called S-field). If another folder than the classification attributes folder is activated, then copy the query criteria in the shadow widget and search there.
Parameters
cp_ModeUserexit context.
cp_ArgumentsUserexit parameter, reserved.
Returns
0 OK
Else Error
int xsmlc_pra_lis ( )

Pre-action userexit for the classification attribute folder (for ATC classes) in the item form.

This userexit is called after the post-action userexit of the head item form (which copies the found record in the attributes list folder) is called. The userexit returns 1 so that the copied records are not overwritten by DataView. If the virtual mode is set, then the shadow widget is active and returns 0.

Parameters
cp_ModeUserexit context.
cp_ArgumentsUserexit parameter, not used yet.
Returns
1 OK, the folder records are not overwritten
0 The virtual mode is set, allows querying in shadow list
int xsmlc_pra_lis_agg ( )

Pre-action userexit for the classification aggregate list (only for classes of ATC type).

Updates the attribute titles and deletes the query criteria in the C_ID field (written by xtyp_typ_agg).

Parameters
cp_ModeUserexit context.
cp_ParameterUserexit parameter, reserved
Returns
0 OK
Else Error
int xsmldf_pre_action ( )

Pre-action userexit for class attributes definition mask.

This userexit covers the following actions:

'I'nsert 'U'pdate Checks unique position number
'T'emporary delete Checks the class access before deleting the attribute definition. For classes of type ATT checks if records with values are already assigned in the calssification list for the correspondent attribute.
Parameters
parStandardUserexit context.
Returns
0 OK
Else Error
int xstare_pra ( )

Pre-action userexit for the vault definition mask.

The userexit supports to following modes:

'I'nsert
  • Concatenates the contenet of the fields STORE_DISC and STORE_PATH and writes the value into the field STORE_DISCPATH"</b>. </td></tr><tr> <th> 'C'opy </th><td> @li Concatenates the contenet of the fields <b>STORE_DISC</b> and <b>STORE_PATH</b> and writes the value into the field <b>STORE_DISCPATH".
'U'pdate
  • Concatenates the contenet of the fields STORE_DISC and STORE_PATH and writes the value into the field STORE_DISCPATH".
  • Checks the field T_STORE_AREA.STORAGE_AREA if the value was changed. The user is asked id he is agree with it, because the renaming of the vault is time consuming.
Parameters
cp_ParameterStandard parameter with working mode and current row.
cp_ArgumentsAdditional argument string.
Returns
0 OK
Else Error
int xstate_chk_obj_sta_pra ( const char *  param1,
const char *  param2 
)

Pre-action userexit that checks if related objects have a certain state. This userexit works on relation records and can be used to check the parent- or the child record of the relation record. It further checks if related objects given by the parameter /PARENT, /CHILD or /USX have the state given by the parameter /STATE.

Parameters
usxContextThe userexit context.
paramParameter to control the behavior of this userexit. Syntax like:
"/STATE=state /CHILD|/PARENT|/USX [/S][/ALLCTX]"

with possible arguments:
STATE APPROVED|RELEASED#x7c;VERSIONABLE::x7c;WITHDRAWN::x7c;INWORKThe state which related objects must have.
CHILD Checks the child object
PARENT Checks the parent object
USXuserexitUserexit to use for selecting the related object

Additionally, the following parameters are optional:

S Strict check. Also perform the checks if the current user is a DataView manager user. The default setting is not to check in this case
ALLCTX Checks all related records, not only those which are valid in the currently set context.
Returns
0The related objects have the right state.
>0At least one of the related objects does not have the right state.
See Also
xstate_chk_obj_sta_prt, xstate_chk_obj_sta_eda
int xstate_pre_action ( )

Pre-action trigger for masks with release procedure.

Sets - if necessarey - the start value for the level indicator in dependency of the release procedure.

Parameters
cp_parstandard parameter (working mode and row)
Returns
  • 0 ok
  • 1 error during determination of level indicator
int xstate_pre_mail_act ( const char *  param1,
const char *  param2 
)

Insert the current group as a search string in the query mode. Sets the query buffer of the field T_CHK_MAL.CHK_GROUP to the current group.

Parameters
usxContextThe userexit context.
paramReserved.
Returns
0OK ElseError occurred.
int xstate_set_vie_pra ( const char *  param1,
const char *  param2 
)

Sets the view filter condition in the appropriate field query buffers. The query buffers in the mask are set according to the currently selected view (including phase and preliminary flag), if the action mode is QUERY and no row is specified. Otherwise the userexit returns immediately.

If a specific table name is passed, the necessary fields are looked up using the given table name. Otherwise they are looked up using the origin table name of the widget. If the fields cannot be found using this approach, the fields are looked up using the join table name of the widget.

Parameters
usxContextThe userexit context.
paramParameter to control the behavior of this userexit. Syntax like:
"[/TAB=tableName]"

with possible arguments:
TABtableNameTable name that is used to look up the necessary fields in the mask. Without this parameter, the fields are looked up using the origin table name of the widget; if the fields cannot be found, they are looked up using the join table name of the widget.
Returns
0OK
ElseError occurred.
See Also
xstate_set_eff_vie, xstate_rst_vie_poa
int xstr_pre_action ( const char *  param1,
const char *  param2 
)

Pre-action userexit for masks with release procedure. Sets - if necessary - the start value for the level indicator in dependency of the release procedure when a record is created or copied. This is done by executing the field userexits on the field CHK_NAM, i.e. by simulating that the lifecycle has been changed.

This userexit is used to insert the level indicator if it has not been written before saving the record. This is possible if the release procedure is entered as default and the post-field userexit at the release procedure has not been called. This userexit may be called as C-function from all pre-action userexits which belong to masks with release procedure fields. The caller has to provide a suitable standard parameter (mode and row). Changes in the post-field userexit 'xstate_post_chk_fld' may be performed here if necessary.

Parameters
usxContextThe userexit context.
paramReserved.
Returns
0OK
ElseError occurred.
int xtask_chk_pra ( )

Checks for permission for a given privilege.

Can only be called as pre action userexit.

Parameters
cpParameterStandard parameter defining working mode and current row.
cpArgumentsName of privilege to check
Returns
0 Permission granted
Else Permission denied
Example:
// working example
int iRc = xtask_chk_pra("I1", "EDB-ART-INS");
See Also
int xtrf_pra ( )

Creates and sets the reference number of a transformation record.

This userexit deals with the following actions:

'I'nsert Creates and sets reference number of a transformation record.
'U'pdate Creates and sets reference number of a transformation record.
Parameters
cp_ParameterStandard parameter with working mode and current row.
Returns
0 OK
1 Unable to create transformation ID
int xtxt_bom_txt_pos ( const char *  param1,
const char *  param2 
)

Handles text position type and EDB_NULL_ITEM.

This userexit deals with the following actions:

'I'nsert
'U'pdate Checks for position type text (T).
Replaces the placeholder in the text instance text with the new values.
Clears fields QUANTITY_BOM and EDB_UNIT and sets access to r(ead).
Checks for EDB-NULL-ITEM (EDB-ID = -1).
Sets C_ID for EDB-NULL-ITEM.
Parameters
cpParameterStandard parameter with working mode and current row.
cpArgumentsParameter to control the behaviour of this userexit. Not currently used.
Returns
0 OK
Else Error
int xtxt_chk_del_pra ( const char *  param1,
const char *  param2 
)

Checks if the selected element relates to a Where-Used object. If there is a Where-Used-Result, the userexit prints the message EDB-ELMTMPUSED and returns 1. This is very helpful, to avoid the deletion of a Text-Instance or Glossary or Text-Template, which is currently assigned to an object. 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
ctxUserexit context
paramParameter to control the behavior of this function. Not currently used.
Returns
0 OK
Else Error
int xtxt_ctg_tmp_pra ( const char *  param1,
const char *  param2 
)

Checks the assignement or deletion of a category to/of a template/glossary.

This userexit covers with the following actions:

'I'nsert Check if the entered category is in this list unique.
'T'emporary Delete Checks before deleting a category, if this category is the default category of the corresponding template.
Parameters
cpParameterStandard parameter with working mode and current row.
cpArgumentsParameter to control the behavior of this function. Syntax is:
"<arg>"

With possible arguments:
arg Main argument.
Returns
0 OK
Else Error
int xtxt_ins_pra ( const char *  param1,
const char *  param2 
)

Creates or updates placeholders for a text instance.

This userexit deals with the following actions:

'I'nsert Sets field T_TXT_TPL_DAT.EDB_TPL_ID to mandatory.
Initializes instance text with text template definition.
Probate placeholders of the corresponding template.
'U'pdate Sets T_TXT_TPL_DAT.EDB_TPL_ID to mandatory
Checks if the template Id (T_TXT_TPL_DAT.EDB_ID) has changed.
Deletes old placeholders of the corresponding template.
Initializes instance text with text template definition.
Probate placeholders of the corresponding template.
Parameters
cpParameterStandard parameter with working mode and current row.
cpArgumentsParameter to control the behavior of this function. Not currently used.
Returns
0 OK
Else Error
int xtxt_ins_sel_pre ( const char *  param1,
const char *  param2 
)

Pre-action userexit for instance selection widget which calls the post-field userexit of the field EDB_TXT_GLS_REF_x if the field is dirty and visible and not empty. Calls the post-field userexit of the field EDB_TXT_PLH__x if the field is dirty and visible. Checks if a existing instance with same placeholder-values already exists. If so, a message is printed asking if the current entered instance should be used or not. Store the created Text-Instance with the defined placeholder-values

Parameters
ctxField userexit context.
paramReserved parameter for the pre-field userexit.
Returns
0 Ok.
Else Error
int xtxt_pli_pre_act ( const char *  param1,
const char *  param2 
)

Checks value type of placeholder from the glossary reference.

Note
This userexit is is required when a user selects a glossary reference and pushes the Store button directly.
Parameters
cpParameterStandard parameter with working mode and current row.
cpArgumentsParameter to control the behavior of this function. Not currently used
Returns
0 OK
Else Error
int xtxt_tpl_ctg_pra ( const char *  param1,
const char *  param2 
)

Checks the assignment or deletion of a category to/of a template/glossary.

This userexit deals with the following actions:

'I'nsert Check if the entered category is unique in this list.
'T'emporary Delete Checks before deleting a category, wether this category is the default category of the corresponding template
Parameters
cpParameterStandard parameter with working mode and current row.
cpArgumentsParameter to control the behavior of this function. Not currently used.
Returns
0 OK
Else Error
int xtxt_tpl_ins_pra ( const char *  param1,
const char *  param2 
)

Initializes the instance text with the text template definition.

Parameters
cpParameterStandard parameter with working mode and current row.
cpArgumentsParameter to control the behavior of this function. Not currently used.
Returns
0 OK
Else Error
int xtyp_del_mst ( )

Pre-action userexit to be called from a type mask.

Puts the master record of the current element (type record) into the waste basket, if the working mode is 'T' (temporary delete).

Parameters
cp_ParameterStandard parameter with working mode and current row.
Returns
0 OK
Else Error
Remarks
int xutil_acc_pra ( const char *  param1,
const char *  param2 
)

Pre action userexit, checks if mandatory fields are filled by xutil_acc_fld.

This userexit deals with the following actions:

'I'nsert Checks that mandatory fields are filled by xutil_acc_fld.
'U'pdate Checks that mandatory fields are filled by xutil_acc_fld.
Parameters
contextUserexit context
paramReserved.
Returns
0 OK
1 Mandatory field is empty.
See Also
xutil_acc_fld
int xutil_chk_ent_pra ( const char *  param1,
const char *  param2 
)

Checks whether entity1-entity2-view combination is valid for current relation mask.

This userexit deals with the following actions:

'I'nsert Checks valid entity1-entity2-view combination.
'U'pdate Checks valid entity1-entity2-view combination.
Parameters
contextAction userexit context.
cpParameterParameter to control the behavior of this function. Syntax is:
"/EN1=<field_entity1> /EN2=<field_entity2> /VIEW=<field_view>"

With possible arguments:
EN1 field_entity1 Fieldname containing entity1 name.
EN2 field_entity2 Fieldname containing entity2 name.
VIEW field_view Fieldname containing view name.
Returns
0 OK
Else Error
int xutil_cpy_fld_by_prf_pra ( const char *  param1,
const char *  param2 
)

Copies the field content to the same field with the prefix. In the mask this userexit is called for, the contents of all fields for which a field with the same name but an additional specific prefix exists, are copied from the field without prefix to the field with prefix. The default prefix is "ORG_".

This userexit deals with the following actions:

'I'nsert Copies the field content to the same field with the prefix.
'U'pdate Copies the field content to the same field with the prefix.
Parameters
usxCtxAction userexit context.
cpParameterParameter to control the behavior of this function. Syntax is:
"[/PREFIX=<prefix>]"

With possible arguments:
PREFIX prefix Prefix to use (default: "ORG_").
Returns
0 OK
1 Error
Example:
If the following fields exist in the mask:
T_DOC_PRS.ORG_COMPANY
T_DOC_PRS.ORG_COMPANY2
T_PERSON.COMPANY
T_PERSON.COMPANY2
T_PERSON.EDB_ID
T_PERSON.NAME
T_PERSON.CITY
then this userexit copies the contents of T_PERSON.COMPANY and T_PERSON.COMPANY2 to T_PERSON.ORG_COMPANY and T_PERSON.ORG_COMPANY2.
int xvar_art_prefer_pra ( )

Pre-action userexit for 'Preferred Variants' list (EDB-ART-PRF-RLI) and 'Products to preferred
    variant' (EDB-ART-PRF-ALI).

This userexit covers the following actions:

'I'nsert The VAR_NUM field is set to 0, so that only product variants can be inserted.
'Q'uery Sets 0 as query criteria for VAR_NUM field, so only product variants are found.
Parameters
cp_ParamterUserexit context.
Returns
0 OK
Else Error
int xvar_pre_action ( )

Pre-action userexit for the variant list.

This userexit covers the following actions:

'I'nsert 'C'opy Checks if the item is a variant.
'Q'uery Sets the version number corresponding to the variant placeholder as a query value for the reference field VERS_REF. The query value for the C_ID field includes empty values in order to consider the case when the item has no version (T_MASTER_DAT.PART_VERSION is NULL).
'D'elete Deletes the TYP table for TYP variants.
Parameters
parUserexit context.
Returns
0 OK
Else Error
int xvardf_pre_var_act ( )

Pre-action userexit for variant attributes list.

This userexit covers the following actions:

'Q'uery Allows queries only for variant parts.
'T'emporary delete Checks if variant has defined attributes, if parts exist in the variant form and if the variant is used somewhere else.
Parameters
cp_ParameterStandard parameter with working mode and current row.
cp_ArgumentsUserexit parameter, syntax like:
/TABLE = VariantAttributesTable Table with defined variant attributes. If this option is not given, then the table T_MASTER_FLD is used.
Returns
0 OK
Else Error
int xvardf_pre_vfl_act ( )

Pre-action userexit for variant masks (e.g.

EDB-ART-VAR-SLI, EDB-ART-VAR-SFR).

This userexit covers the following actions:

'I'nsert Checks the unique position number before inserting a new one.
'U'pdate Checks the unique position number.
'T'emporary delete Checks if the current user has 'w'rite access to the variant to be deleted.
Parameters
cp_ParameterUserexit context.
cp_ArgumentsUserexit parameter, syntax like: /TABLE=TableName where TableName is the table with the defined variant attributes. This option must be used, when another table than T_MASTER_ATT must be used.
Returns
0 OK
Else Error
int xver_chk_max ( )

Checks the current revision number.

The number must be equal or higher than any existing revision number of the records with identical keys.

This userexit deals with the following actions:

'I'nsert Checks that current revision number is valid.
'U'pdate Checks that current revision number is valid.
Parameters
cpParStandard parameter with working mode and current row.
Returns
0 OK
1 Invalid revision number
int xwfl_process_preaction ( )

Pre-action userexit to fill the EDB_ID attribute of a process.

This userexit covers the following actions:

'I'nsert Copies the content of the ACT_REF field to the EDB_ID field.

The content of the field "T_PRC_DAT.ACT_REF" is copied to "T_PRC_DAT.EDB_ID". This userexit returns an error if one of the fields do not exist in the currently active widget.

The primary key attribute of a process is "ACT_REF". Unfortunately the "EDB_ID" attribute cannot be used without having a deep impact on the application code.

Parameters
cpParWorking mode and row of the pre-action userexit
cpIgnCurrently not used
Returns
0 OK
1 Error