Userexits

Functions
Post-Action userexits

Functions

int bvb_uti_ins_cns_poa ()
 The post-action userexit copies the inserted record into a widget that is related to the current widget (with a constraint). More...
 
int edb_ief_set_usr_acc ()
 This userexit sets the access rights of the current data record. More...
 
int nsv_usx_blk_poa ()
 Post-action userexit to fill the calculated field for the start column 'NUM_BLK_STARTCOL' considering the value of field 'T_NUM_BLK.STARTCOL'. More...
 
int sig_cfg_poa ()
 Writes field values into the config parameters, if "store" was choosen. More...
 
int sig_chk_sgn ()
 Verifies a digital signature of a data record. More...
 
int sig_poa ()
 Checks if a record is signed and denies delete actions. More...
 
int tol_post_act ()
 Post-action userexit to calculate fields of the current mask. More...
 
int tol_set_log_poa ()
 Post-action userexit to set logic fields to the value TRUE or FALSE, depending on the given origin field. More...
 
int xartic_post_action ()
 Post-action userexit for item widgets. More...
 
int xartst_post_action ()
 Post-action userexit for item structures. More...
 
int xatt_poa (const char *param1, const char *param2)
  More...
 
int xchg_chk_ewo_poa (const char *param1, const char *param2)
  More...
 
int xchg_chk_opr_poa (const char *param1, const char *param2)
  More...
 
int xchg_cpy_ewo_sel_poa (const char *param1, const char *param2)
  More...
 
int xchg_ewo_poa (const char *param1, const char *param2)
  More...
 
int xchg_ewr_poa (const char *param1, const char *param2)
  More...
 
int xchg_log_opr_hie_poa (const char *param1, const char *param2)
  More...
 
int xchg_log_opr_std_poa (const char *param1, const char *param2)
  More...
 
int xclass_chk_rec_poa ()
 Post-action userexit to check if a recursive class structure is created. More...
 
int xcls_chk_att_set_poa (const char *param1, const char *param2)
  More...
 
int xcls_ins_set_poa (const char *param1, const char *param2)
  More...
 
int xcnf_cps_elm_poa (const char *param1, const char *param2)
  More...
 
int xcnf_cps_elm_str_poa (const char *param1, const char *param2)
  More...
 
int xcnf_cps_sol_poa (const char *param1, const char *param2)
  More...
 
int xcnf_cps_sol_rul_poa (const char *param1, const char *param2)
  More...
 
int xcnf_ebo_poa (const char *param1, const char *param2)
  More...
 
int xcnf_ord_poa (const char *param1, const char *param2)
  More...
 
int xcnf_ord_spc_poa (const char *param1, const char *param2)
  More...
 
int xcnf_prd_cla_poa (const char *param1, const char *param2)
  More...
 
int xcpa_ali_art_poa ()
 Post-action userexit for the Alias IDs constraint list, e.g. EDB-CPA-ART-CNS-SLI. More...
 
int xcpa_obj_poa (const char *param1, const char *param2)
  More...
 
int xcps_alt_itm_poa (const char *param1, const char *param2)
  More...
 
int xcps_alt_poa (const char *param1, const char *param2)
  More...
 
int xcps_cmp_poa (const char *param1, const char *param2)
  More...
 
int xcps_elm_poa (const char *param1, const char *param2)
  More...
 
int xcps_flt_poa (const char *param1, const char *param2)
  More...
 
int xcps_mdl_bom_poa (const char *param1, const char *param2)
  More...
 
int xcps_mdl_bom_sel_poa (const char *param1, const char *param2)
  More...
 
int xcps_mdl_sel_poa (const char *param1, const char *param2)
  More...
 
int xcps_prl_chk_vie_poa (const char *param1, const char *param2)
  More...
 
int xcps_sol_item_poa (const char *param1, const char *param2)
  More...
 
int xcps_sol_mul_poa (const char *param1, const char *param2)
  More...
 
int xcps_sol_poa (const char *param1, const char *param2)
  More...
 
int xcps_sol_spc_poa (const char *param1, const char *param2)
  More...
 
int xctx_poa (const char *param1, const char *param2)
  More...
 
int xdocfi_poa ()
 Post-action userexit for document-file relation masks. More...
 
int xdocfi_sto_poa ()
 Post-action userexit for file-vault relation masks. More...
 
int xdocst_post_action ()
 Post-action userexit for document structures. More...
 
int xdocty_post_action ()
 Post-action userexit for document type widgets. More...
 
int xdocum_post_action ()
 Post-action userexit for document master masks. More...
 
int xedb_ofs_hie (const char *param1, const char *param2)
  More...
 
int xedb_poa ()
 Basic post-action userexit. More...
 
int xedb_poa_vie ()
 Basic post-action userexit. More...
 
int xedb_rel_poa ()
 Basic post-action userexit for relation widgets. More...
 
int xgroup_post_action ()
 Post-action userexit for class form and list. More...
 
int xgrpst_post_action ()
 Post-action userexit for classification group structure. More...
 
int xhisto_post_action ()
 Post-action userexit for object history relation widgets. More...
 
int xinfo_srv_inf_poa (const char *param1, const char *param2)
  More...
 
int xknl_cre_itm_poa (const char *param1, const char *param2)
  More...
 
int xknl_del_itm_poa (const char *param1, const char *param2)
  More...
 
int xknl_itm_con_sho (const char *param1, const char *param2)
  More...
 
int xknl_itr_rel_uni (const char *param1, const char *param2)
  More...
 
int xmgt_str_poa ()
 Post-action userexit for the 'As built' item structure. More...
 
int xmtx_poa ()
 Post-action userexit for matrix list. More...
 
int xntm_poa ()
 Post-action userexit for notes administration widgets. More...
 
int xntm_post_act ()
 Post-action userexit for note manager widgets. More...
 
int xntree_upd ()
 Post-action trigger to reread n*tree definitions from the database. More...
 
int xpac_post_act ()
 Post-action userexit at the master or type list of the master and type element packet. More...
 
int xpdw_add_pro_obj_poa (const char *param1, const char *param2)
  More...
 
int xpdw_del_pro_obj_poa (const char *param1, const char *param2)
  More...
 
int xpdw_frm_acc_poa (const char *param1, const char *param2)
  More...
 
int xpdw_mas_poa (const char *param1, const char *param2)
  More...
 
int xpdw_obj_poa (const char *param1, const char *param2)
  More...
 
int xpdw_pdw_poa (const char *param1, const char *param2)
  More...
 
int xpdw_ppj_poa (const char *param1, const char *param2)
  More...
 
int xpdw_pro_poa (const char *param1, const char *param2)
  More...
 
int xpdw_pro_str_poa (const char *param1, const char *param2)
  More...
 
int xpdw_rel_poa (const char *param1, const char *param2)
  More...
 
int xpdw_ver_poa (const char *param1, const char *param2)
  More...
 
int xpdw_vfg_str_poa (const char *param1, const char *param2)
  More...
 
int xproje_post_action ()
 Post-action userexit for widgets with project data. More...
 
int xprost_post_action ()
 Post-action userexit for project structures. More...
 
int xrole_task_poa ()
 Checks if task is assigned to a role and displays a warning message if the task becomes free available to all users. More...
 
int xsmlc_poa ()
 Post-action userexit for the item form with class attributes folder. More...
 
int xsmldf_poa ()
 
 Post-action userexit for attributes definition form.
More...
 
int xstate_chk_poa (const char *param1, const char *param2)
  More...
 
int xstate_chk_vie_poa (const char *param1, const char *param2)
  More...
 
int xstate_cur_poa (const char *param1, const char *param2)
  More...
 
int xstate_rst_vie_poa (const char *param1, const char *param2)
  More...
 
int xstate_tra_poa (const char *param1, const char *param2)
  More...
 
int xtask_chk_poa ()
 Checks for permission for a given privilege. More...
 
int xtxt_ins_poa (const char *param1, const char *param2)
  More...
 
int xtxt_pli_pos_act (const char *param1, const char *param2)
  More...
 
int xtxt_pos_del_chk_fld (const char *param1, const char *param2)
  More...
 
int xtxt_tpl_ins_poa (const char *param1, const char *param2)
  More...
 
int xtxt_tpl_poa (const char *param1, const char *param2)
  More...
 
int xtxt_whr_use_pra (const char *param1, const char *param2)
  More...
 
int xvar_post_action ()
 Post-action userexit for variant lists. More...
 
int xvardf_poa ()
 
Post-action userexit for the variant form (mask EDB-ART-VAR-Sxx).
More...
 
int xwfl_prc_createGroup ()
 Post-action userexit to create a group for process templates and ad hoc processes. More...
 

Detailed Description

Function Documentation

int bvb_uti_ins_cns_poa ( )

The post-action userexit copies the inserted record into a widget that is related to the current widget (with a constraint).

Parameters
cp_parWorking mode and current row.
cp_ConstraintName of constraint to be used.
Returns
0 OK
1 Error
2 Constraint name is missing or invalid
3 Entity for second table does not exist
4 Cannot open widget for second entity
5 Cannot allocate enough memory
6 Field does not exist
7 Unable to create a new record in second widget
8 Cannot write record
int edb_ief_set_usr_acc ( )

This userexit sets the access rights of the current data record.

This IEF post-action userexit determines the owner, the group and the access rights for the read-in data record during reading in. If the user parameter has the value (TOP), the rights and users of the parent element are used for relationships.

It is necessary that always all three values are set. If the userexit is used "@USER", "@GROUP" and "@RIGHTS" must be entered in the field definition. This data records might otherwise belong to the user "SYSTEM" and the group "DATAVIEW".

Parameters
parParameter to control the behavior of this function. Syntax like:
"[/PARAM=(TOP) ]/WIDGET=<widget> /OWNER=<uic> /GROUP=<gic> /RIGHTS=<access> /ROW=<row>"

With possible arguments:
PARAM (TOP) Access rights of the parent are retrieved
WIDGET widget DataView's widget ID
OWNER uic DataView's user ID
GROUP gic DataView's group ID
RIGHTS access DataView's acces rights
ROW row Row of the widget
Returns
0 OK
int nsv_usx_blk_poa ( )

Post-action userexit to fill the calculated field for the start column 'NUM_BLK_STARTCOL' considering the value of field 'T_NUM_BLK.STARTCOL'.

This userexit covers the following actions:

'Q'uery Fills the calculated attribute 'NUM_BLK_STARTCOL'.
Parameters
cp_parStandard parameter with working mode and current row.
Returns
0 OK
Else Error
int sig_cfg_poa ( )

Writes field values into the config parameters, if "store" was choosen.

Parameters
cpParstandard parameters
cpIgnnot used
Returns
0 ok
1 error
int sig_chk_sgn ( )

Verifies a digital signature of a data record.

The function get the certificate of the user which has signed the record and verify the signature. The configuration data for the function is stored in the configuration table (EDB-SIG).

Parameters
cpParParameter to control the behaviour of this function. Syntax like:
"[/OBJ=object] [/NO_CERT]"

with possible arguments:
OBJ object Entity option:
  • "AUTO" = automatic check for the actual entity.
  • "ART" = EDB-ARTICLE.
  • "DOC" = EDB-DOCUMENT.
  • "PRO" = EDB-PROJECT.
NO_CERT If the option is passed, no certificate dialog will be shown.
cpIgnnot used
Returns
0 ok
1 error
int sig_poa ( )

Checks if a record is signed and denies delete actions.

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

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

This userexit is frequently used to complete empty fields by opening related masks (in virtual mode) and reading specified fields.

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

Post-action userexit to set logic fields to the value TRUE or FALSE, depending on the given origin field.

The logic field (target field) will be set to FALSE if the origin field is empty or consists of a value like 0 only. Otherwise TRUE will be set.

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

Post-action userexit for item widgets.

This trigger performs the following actions:

'I'nsert Create an entry in BVB-ARTICLE (base item without version).
Insert history entry (xhisto_put_his).
'T'emporary delete Reset current flag from predecessor version (xver_reset_ver).
'Q'uery Reset user view (xedb_rst_vie).
Parameters
cpParameterStandard parameter with working mode and current row.
cpArgumentsCurrently none.
Returns
0 OK
1 Could not create BVB-ARTICLE record.
2 Could not delete BVB-ARTICLE record.
int xartst_post_action ( )

Post-action userexit for item structures.

In 'I'nsert and 'R'ollback mode, the BOM and the AGG flags are updated. In 'Q'uery mode, the userexit xstate_rst_vie_poa is called to reset the view filter.

Parameters
parStandard parameter defining working mode and current row.
Returns
0 OK
int xatt_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for classification lists.

This userexit deals with the following actions:

'I'nsert Opens a new virtual widget with the classification list (using the given input arguments) and copies the contents of dynamically created attribute fields of the original classification list into this virtual widget. The content of the first dynamic field has already been copied to the attribute field within the pre-action userexit!
'U'pdate Updates the database records only for the changed attribute values.
'Q'uery Copies the query results from the 'cloned' virtual widget into the original classification list, so that they become visible to the user. Deletes temporary entries in table T_REC_DAT.
'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 /REF_LIS=relation /SUB" with:
  • table_name table name for classification list (e.g. T_MASTER_ATT). This table must be a refine table from entity EDB-GROUP to the corresponding entity, e.g. EDB-ARTICLE.
  • relation The parameter string which is passed to the DataView userexit 'iwf_lis_ref' to open the virtual widget for the classification list (e.g. EDB-ARTICLE EDB-ARTICLE ATT EDB-ART-ATT-RLI2). If key /SUB is set, then the class is a container class and the userexit will not see it as an Error if attribute columns are missing, no Error message is put on the screen if attribute columns are missing.
Returns
0 OK
Else Error
int xchg_chk_ewo_poa ( const char *  param1,
const char *  param2 
)

Checks if a Work Order is already used by a predecessor.

Post-action userexit that checks if the Work Order referenced by a new version is the same as the Work Order of the predecessor.
If so, an error is returned.

The predecessor can be determined in two ways:

  • By chain - try to find the predecessor by following the version chain; this will of course only work for entities with a version relation.
  • By field - check for the predecessor by comparing one or more fields,
    for instance EDB_ITM_REF in case of EDB-ARTICLE or POS_NO in case of a BOM.

If the predecessor is determined by field, the list used for the search operation can be specified by the /LIST=someList argument.
If this option is omitted, the current widget is cloned and the search operation is performed at this clone.

Use /LIST to pass the name of a "light" widget for this entity, especially if fired query userexits at the clone widget would take too much time during mass data import.

Parameters
contextAction context
paramControls how predecessors are searched: /BYCHAIN|/BYFIELD={field1,field2,field3,...} [/LIST=someList]
Returns
0 OK, Work Order not used by any predecessor
1 A predecessor referencing this Work Order was found
Exceptions
ChgExceptionWork Order already used by the predecessor, exception code is EDB_CHG_ERR_VER_EWO
int xchg_chk_opr_poa ( const char *  param1,
const char *  param2 
)

Basic post-action userexit used to clear operation view fields in recursive widgets. This is necessary because otherwise 'Take Entry' selection in recursive widgets will copy the old values for the Work Set and change operation into the new relation record.

  • Working mode 'I'nsert, 'U'pdate, 'C'opy or 'Q'uery: Clear view operation fields(V_OPR_EWO_FRM, V_OPR_EWO_UNTIL)
Remarks
This userexit is called by the system userexit xedb_usx_sys_poa
Parameters
contextThe context of the userexit
paramReserved
Returns
0 OK
Else Error
int xchg_cpy_ewo_sel_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for Work Order select-list to select a Work Order for _from/_until Work Sets. This userexit copies the field vaules t_ewo_dat.edb_id and t_ewo_dat.elem_id to the corresponding view fields.

Parameters
cpArgumentsStandard parameter with working mode and current row.
Returns
0 OK
1 Error
int xchg_ewo_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for the Work Order mask. This userexit is for future use of the Work Order mask.

Parameters
contextThe context of the userexit
paramReserved
Returns
0 OK
Else Error
int xchg_ewr_poa ( 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 relation to the preliminary Work Order.
Parameters
contextThe context of the userexit
paramReserved
Returns
0 OK
Else Error
int xchg_log_opr_hie_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit to calculate the hierarchical view of change operations.

The general algorithm to create a hierarchical view of change operations is:

  1. Create a dependency graph (strict hierarchical tree) for all concerned change operations.
  2. Determine the entry point(s) in the dependency graph.
  3. Traverse all entry points in configured order or in chronological order (if /NO_ORDER is passed).
  4. "Pre-Order"-traverse all dependencies of the entry points.

If a new part is assembled in two or more assemblies, it will be listed as a sub-element of the first structure only.

The dependency graph is created as follows:

for (each Change Operation that is not an affected object) do
add Change Operation to Change Operation List;
if (the Change Operation (I) refers to a relation) do
for (each parent object in child relation of other relation refering change operations (II)) do
add dependency from (I) to (II); // II isParentOf I
for (each parent object in object relation of other object refering change operations (II)) do
add dependency from (I) to (II); // II isParentOf I
for (each child object in parent relation of other relation refering change operations (II)) do
add dependency from (II) to (I); // I isParentOf II
for (each child object in object relation of other object refering change operations (II)) do
add dependency from (II) to (I); // I isParentOf II
else
for (each object in parent relation of other relation refering change operations (II)) do
add dependency from (II) to (I); // I isParentOf II
for (each object in child relation of other relation refering change operations (II)) do
add dependency from (I) to (II); // II isParentOf I
Parameters
contextThe context of the userexit
paramParameter to control the behavior of this function. Syntax like:
"[/NO_ORDER]"

With possible arguments:
NO_ORDER Pass this option if a change operations shall not be ordered (for performance reasons).
If this option is not passed, the change operations are ordered based on the configured sort order of the assigned object type(s).
Returns
0 OK
Else Error
Example:

A user performs a "Copy with structure" and moves on modifying the copied structure (legacy objects are grey colored):

dot_inline_dotgraph_1.png

Finally the change operation folder would end up in a representation similar to:

Standard viewDependency graphHierarchical view
Id Level Change Operation
0 0 Copy with Structure Part A1
1 .1 Add Part A1 - Part B
2 .1 Add A1 - Part C
3 0 Create Part D
4 0 Add Part D - Part G
5 0 Add Part A1 - Part H
6 0 Add Part A1 - Part D
7 0 Add Part A2 - Part A1
dot_inline_dotgraph_2.png
Id Level Change Operation
7 0 Add Part A2 - Part A1
0 .1 Copy with Structure Part A1
1 ..2 Add Part A1 - Part B
2 ..2 Add Part A1 - Part C
6 ..2 Add Part A1 - Part D
3 ...3 Create Part D
4 ....4 Add Part D - Part G
5 ..2 Add Part A1 - Part H
int xchg_log_opr_std_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit to calculate the standard view of change operations.

The standard view orders all operations based on the EDB_GROUP attribute. Add option "/NO_ORDER" to get the order of records as it is returned by the database view.

Parameters
contextThe context of the userexit
paramParameter to control the behavior of this function. Syntax like:
"[/NO_ORDER]"

With possible arguments:
NO_ORDER Pass this option if the change operations shall not be ordered (for performance reasons).

If this option is not passed, the change operations are ordered based on the EDB_GROUP attribute.

Returns
0 OK
Else Error
int xclass_chk_rec_poa ( )

Post-action userexit to check if a recursive class structure is created.

This userexit could be used in the class structure refine list as a post-action userexit.

Parameters
cpParStandard parameter with working mode and current row
cpIgnSecond userexit parameter (ignored)
Returns
0 No error occurred
XCLASS_RECURSION_FOUND Recursive class structure
!= 0 Error occurred

Post-action userexit to check if a recursive class structure is created.

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

Post-action userexit for class set form to check max. limit of 255 attributes fields for class. Is called in insert or update mode in the classification list when a set is assigned to a class.

Parameters
contextPre-action userexit context
Returns
0 Success Else Error
int xcls_ins_set_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for class attributes mask. Assigns the primary attribute set to a class, if it was not already assigned (insert and update mode).

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

Post-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_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for order specifc product structure element positions.

'I'insert , 'U'pdate, Temp-Delete Checks if it is allowed to delete the structure element. Only order specific structure elements can be deleted.
Updates the order status.
'Q'uery Sets the order specifc flag.
'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_sol_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for product structure element structure.

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

Post-action userexit for specification rule widgets opened from the solution widget over a hyperlink.

'Query, 'U'pdate Call function "createRuleExplicit" to generate the rule and write the result in the calculated field "Rule Explicit".
Parameters
contextStandard parameter defining working mode and current row.
paramStandard userexit parameter (reserved).
Returns
0 OK
Else Error
int xcnf_ebo_poa ( const char *  param1,
const char *  param2 
)

Post-action user exit for creating EBO's.

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

Post-action userexit for the configuration order widget. If a model is assigned to the configuration order, the userexit assigns all specifications from that model to this configuration order.

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

Post-action userexit for order specification aggragate list. Resets the specifications check date of the associated order if the assignment of the specifications were changed.

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

Post-action userexit for product variant list. This userexit deletes the associated T_GROUP_DAT child record (the product variant) if the T_GROUP_STR record (assignment of the product variant to the product family) is deleted.

Parameters
contextStandard parameter defining working mode and current row.
paramStandard userexit parameter (reserved).
Returns
0 OK
1 Error
int xcpa_ali_art_poa ( )

Post-action userexit for the Alias IDs constraint list, e.g. EDB-CPA-ART-CNS-SLI.

This post-action userexit checks if the Alias ID is already assigned to an item revision which belongs to another item master.

'I'nsert or 'U'pdate This userexit checks if the Alias ID is already assigned to an item revision which belongs to another item master.
Parameters
paramAdditional argument string (reserved).
Returns
0 OK.
1 Error from epq.
2 Field not found.
3 No record in edit mode.
4 No widget is active.
5 Alias ID is already assigned to another item revision which belongs to another item master.
int xcpa_obj_poa ( const char *  param1,
const char *  param2 
)

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

'I'nsert Inserts a record into the Alias ID table (for example, T_CPA_ART_DAT, T_CPA_DOC_DAT) if an Alias ID is entered.
Example:
xcpa_obj_poa(/TABLE=V_CPA_ART_DAT /ENTITY=EDB-CPA-ARTICLE)
Parameters
context
  Standard parameter defining working mode and current row.
param
    Additional argument string. Syntax is:
                  
"param /TABLE=<view table> /ENTITY=<entity name>"

With possible arguments:
param 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
1Field not found.
2No parameter is set.
3No record in edit mode.
4Key ENTITY not set.
5Key TABLE not set.
6Error when reading the field value.
7No widget is active.
8Cannot open widget.
int xcps_alt_itm_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for variant masks (modular BOM solutions).

This userexit deals with the following actions:

'Q'uery If EDB_ITEM_VERSION_REF and EDB_ITEM_MASTER_REF fields are filled, then the user has not selected an explicit item revision. So an asterix '*' is put to the field PART_VERSION.
Parameters
contextAction userexit context
paramReserved
Returns
0 OK
Else Error
See Also
xcps_alt_poa
int xcps_alt_poa ( const char *  param1,
const char *  param2 
)

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

This userexit deals with the following actions:

'Q'uery Resets the current filter condition in the appropriate query field buffers.
Parameters
contextAction userexit context
paramReserved
Returns
0 OK
Else Error
int xcps_cmp_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for product components.

This userexit deals with the following actions:

'I'nsert Update state description fields.
'Q'uery Resets view filter.
Parameters
contextAction userexit context
paramReserved
Returns
0 OK
Else Error
int xcps_elm_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for product structure elements.

This userexit deals with the following actions:

'Q'uery Resets filter query
Parameters
contextAction userexit context
paramReserved
Returns
0 Ok
Else Error
int xcps_flt_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for filters.

This userexit deals with the following actions:

'Q'uery Updates calculated fields.
Parameters
contextAction userexit context
paramReserved
Returns
0 OK
Else Error
int xcps_mdl_bom_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for the BOM overview sublist.

This userexit deals with the following actions:

'Q'uery Sets the offset in the BOM-level field.
Parameters
contextAction userexit context
paramReserved
Returns
0 OK
Else Error
int xcps_mdl_bom_sel_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for product structure element selector list. Dummy userexit.

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

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

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

Post-action userexit for parallel structure view lookup widgets. Dummy userexit.

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

Post-action userexit for the item selector.

This userexit deals with the following actions:

'Q'uery Deletes multiple entries for the same ATT_NO in the select widget.
Parameters
contextAction userexit context
paramParameter to control the behavior of this function. Syntax is:
"/DISTINCT=field [/EFF=[NOT_WITHDRAWN|RELEASED|ALL]]"

With possible arguments:
DISTINCT field Column where duplicates are checked.
EFF If the option is not passed, value NOT_WITHDRAWN is used.
NOT_WITHDRAWN All not yet withdrawn product component-class relations are considered.
RELEASED Only released relations are considered.
ALL All relations are considered.
Returns
0 OK
Else Error
See Also
xcps_sol_item_prm
int xcps_sol_mul_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for multi-edit solution list. The userexit executes a BOM explosion of the modular BOM and writes all solution records into the mask.

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

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

This userexit deals with the following actions:

'I'nsert, 'U'pdate, 'C'opy Sets the default EDB-CPS-SOL-PRD value from field V_CPS_PRD_SOL.PART_ID.
'Q'uery Resets the current filter conditions.
Parameters
contextAction userexit context
paramReserved
Returns
0 OK
Else Error
int xcps_sol_spc_poa ( const char *  param1,
const char *  param2 
)

Post-action userxit for the solution space sub-list of product structure element.

This userexit deals with the following actions:

'Q'uery Copies the query criteria from the current widget to the specified classification list with CPS attributes (e.g. EDB-GRP-ART-CPS-SLI). Determines the correct solutions space records by applying existing filter for the structure position and copies the records into the solution space widget.
Parameters
contextAction userexit context
paramParameter to control the behavior of this function. Syntax is:
"/MASK=list /EFF=[NOT_WITHDRAWN|RELEASED|ALL]"

With possible arguments:
MASK list Name of SML Mask with CPS element (e.g. /MASK=EDB-GRP-ART-CPS-SLI).
EFF NOT_WITHDRAWN All yet not withdrawn product component - class relations are considered (default).
RELEASE Only released relations are considered.
ALL All relations (even withdrawn ones) are considered.
Returns
0 OK
Else Error
int xctx_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for objects which can be assigned to a context, i.e. which can be qualified.

This userexit deals with the following actions:

'Q'uery Updates the values of the calculatory context columns after the object has been fetched from the database. Checks if displaying the context flag columns is switched on. If yes, sets the dynamic context column fields (which have been created by the pre-mask userexit) according to the current contents of the EDB_IN_CONTEXT field.
Parameters
ctxAction userexit context.
paramReserved.
Returns
0 OK
Else Error
See Also
xctx_prm, xctx_eda, xctx_pra
int xdocfi_poa ( )

Post-action userexit for document-file relation masks.

The userexit supports the following modes:

'C'opy Executed tasks:
  • Updates the file - vault relation.
'U'pdate Executed tasks:
  • Updates the file - vault relation.
Parameters
cp_Parameterstandard action parameter
cp_ArgumentsParameter to control the behaviour of this function.
Syntax like:
"[/DIS] [/NO_HIS]"

With possible arguments:
DIS Current file is distributed in this vault and other.
NO_HIS No history entry for the initial check-in ('I'nsert mode).
Returns
0 OK
Else Error
int xdocfi_sto_poa ( )

Post-action userexit for file-vault relation masks.

For future use.

Parameters
cp_Argumentsnot used
Returns
0 OK
Else error
int xdocst_post_action ( )

Post-action userexit for document structures.

In 'I'nsert and 'R'ollback mode, the BOM and the AGG flags are updated. In 'Q'uery mode, the userexit xstate_rst_vie_poa is called to reset the view filter.

Parameters
parStandard parameter defining working mode and current row.
cp_ArgumentsReserved for future use.
Returns
0 ok
1 error
-1 database error
int xdocty_post_action ( )

Post-action userexit for document type widgets.

This userexit covers the following actions:

'I'nsert Inserts a history entry by calling xhisto_put_his.
'U'pdate Synchronizes the fields C_VERSION and C_UPD_DAT of T_DOC_DAT and with the type record, if necessary.
'Q'uery Resets the view filter by calling xedb_rst_vie.
'T'emporary Delete Checks for refine and aggregate relations. Deletes the document master record by calling xtyp_del_mst.
Note
If the default EDB-DMS-DEL-REL-FIL (type int) is defined and different from 0, all relations of the selected document to assigned files are also deleted. In this case, a document cannot be deleted if delete access on at least one document file relation is denied.
Parameters
parStandard action parameter with working mode and current row.
Returns
0 OK
1 Document cannot be deleted ('T' working mode).
-1 EPQ error (while checking document keys) or error reading database.
3 Error deleting document relations.
int xdocum_post_action ( )

Post-action userexit for document master masks.

The userexit covers the following actions:

'Q'uery Calls the userexit xstate_rst_vie_poa.
'U'pdate Updates C_VERSION and C_UPD_DAT of the assigned type record.
'R'estore Resets the "current" flag (CUR_FLAG) of the predecessor.
'D'elete Deletes the assigned files.
Parameters
parStandard parameter with working mode and current row
Returns
0 OK
else Error
int xedb_ofs_hie ( const char *  param1,
const char *  param2 
)

Indents the structure explosion according to the hierarchy level.

This userexit deals with the following actions:

'Q'uery Writes the indentation level to a specified field of the structure explosion.

Records that have a negative C_ID are removed from the widget. These are assumed to be in the trash widget (and shall be out of the user's view). This userexit prepends as many dots to the hierarchy level as it indicates. Thus, level 0 results in "0", level 1 results in "1", level 2 results in ".2" and so on.

Parameters
usxCtxAction userexit context.
cp_parParameter to control the behavior of this function. Syntax is:
"[/FIELD=<field>]"

With possible arguments:
FIELD field Specifies the field that shall be updated. If this option is not passed, the field "HIERARCHY" is used.
Returns
0 OK
-1 Database error
int xedb_poa ( )

Basic post-action userexit.

This userexit deals with the following action:

'I'nsert Insert entry into history table.
Parameters
cp_ParameterStandard parameter with working mode and current row.
Returns
0 OK
1 Error
int xedb_poa_vie ( )

Basic post-action userexit.

This userexit deals with the following action:

'Q'uery Query value for EDB view will be reset if fields CUR_FLAG, VAL_FROM and VAL_UNTIL exist in current widget.
Note
Userexit should be called in combination with pre-action userexit 'xedb_pra_vie'
Parameters
cp_ParameterStandard parameter with working mode and current row.
Returns
0 OK
1 Error
See Also
xedb_pra_vie
int xedb_rel_poa ( )

Basic post-action userexit for relation widgets.

This userexit deals with the following actions:

'I'nsert The BOM_FLAG of parent record and the AGG_FLAG of current record will be corrected if the widget represents an homogeneous structure (for example item-item relation) with relation view 'STR'.
'R'ollback The BOM_FLAG of parent record and the AGG_FLAG of current record will be corrected if the widget represents an homogeneous structure (for example item-item relation) with relation view 'STR'.
Note
Userexit should be called in combination with pre-action userexit 'xedb_rel_pra'. 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.
cpArgumentsReserved.
Returns
0 OK
1 Error
See Also
xedb_rel_pra xedb_pra_str zag_dbi_chk_dis
int xgroup_post_action ( )

Post-action userexit for class form and list.

It resets the query buffer for class code field (T_GROUP_DAT.CLASS_CODE) to the previous value which is stored in the widget buffer.

Parameters
contextUserexit context.
Returns
0 OK
1 Error
int xgrpst_post_action ( )

Post-action userexit for classification group structure.

This userexit covers the following actions:

'I'nsert Increments entry for BOM-flag of parent record.
Increments entry for AGG-flag of child record.
Updates the inheritance attribute cache.
'T'emp. delete Updates the inheritance attribute cache.
'R'ollback Increments entry for BOM-flag of parent record.
Increments entry for AGG-flag of child record.
Updates the inheritance attribute cache.
Parameters
cp_ParStandard parameter defining working mode and current row.
Returns
0 OK
XCLASS_NO_MORE_MEMORY Out of memory.
See Also
xgrpst_action xgrpst_pre_action
int xhisto_post_action ( )

Post-action userexit for object history relation widgets.

This userexit performs the following actions:

'I'nsert For "MEMO" entries, the access is set to "dww".
'R'ollback Rollback is allowed only if write access to parent record is granted.
Parameters
parStandard parameter with working mode and current row.
Returns
0 OK
1 Error
int xinfo_srv_inf_poa ( const char *  param1,
const char *  param2 
)

Updates the system library information.

Parameters
usxContextAction userexit context.
paramReserved.
Returns
0 OK
Else Error
int xknl_cre_itm_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit to create or assign an item master (BVB_ARTIKEL) when an item revision is created.

The item master is not created or assigned if the current widget buffer contains 'CRE_VER'. This is the case if a new item revision is created from an old one.

Parameters
contextContext of the userexit
paramStandard parameter with working mode and current row
Returns
0 OK
Else Error
int xknl_del_itm_poa ( const char *  param1,
const char *  param2 
)

Post action userexit to delete the ItemMaster (BVB_ARTIKEL) if the only ItemRevision is deleted.

Parameters
cp_ParameterStandard parameter with working mode and current row
inthe form
<ChildField>=<ParentField>[,<ChildField>=<ParentField>]
Returns
0 OK
Else Error
Note
This userexit only executes if called in 'D'elete mode.
int xknl_itm_con_sho ( const char *  param1,
const char *  param2 
)

Post-action userexit to set the attributes EDB_VONMEHR, EDB_NACHMEHR, EDB_UNIT_ONE ('1') and EDB_UNIT_EQUAL ('=') in the unit conversion list based on the attributes VONMEHR and NACHMEHR.

This userexit covers the following actions:

'Q'uery The attributes are set if the current mask is 'BVB_ARTMEHUFK_NLI'.
Parameters
contextContext of the userexit
paramStandard parameter with working mode and current row
Returns
0 OK
Else Error
int xknl_itr_rel_uni ( const char *  param1,
const char *  param2 
)

Post-action userexit to set a relationship between an item master and a basic unit.

Parameters
contextContext of the userexit
paramStandard parameter with working mode and current row
Returns
0 OK
Else Error
int xmgt_str_poa ( )

Post-action userexit for the 'As built' item structure.

This userexit deals with the following actions:

'Q'uery Adds the positions from the 'should build' BOM which have not been defined as physical components. It opens the 'should build' BOM in virtual mode and searches for those position.
Parameters
cp_ModeStandard parameter defining working mode and current row.
cp_ParameterReserved.
Returns
0 OK
Else Error
int xmtx_poa ( )

Post-action userexit for matrix list.

If only the database field xxx.QUANTITY has been specified, this field is treated in a special way: If the same item is assigned more than once to one of the alternative items, the quantity is added. So each item will appear only once in the matrix list.

This userexit deals with the following actions:

'Q'uery Copies the content of the database fields (as defined for the pre-mask userexit 'xmtx_prm') into the individual columns of the items. If more than one field has been specified, the values of these fields are concatenated.
Note
This userexit can only be used for the matrix list!
Parameters
cp_ModeStandard parameter with working mode and current row.
cp_ArgumentsReserved.
Returns
0 OK
1 Error
See Also
xmtx_opn,xmtx_poa
int xntm_poa ( )

Post-action userexit for notes administration widgets.

This userexit deals with the following actions:

'I'nsert Creates new note id number.
'D'elete Resets internal global variable.
Parameters
parStandard parameter with working mode and current row.
Returns
0 OK
1 Error
int xntm_post_act ( )

Post-action userexit for note manager widgets.

Note of original record is copied and stored with new number. The new number is assigned as reference to the new record.

This userexit deals with the following actions:

'I'nsert Copies notes and generates new note id in copy mode.
Parameters
cp_parStandard parameter with working mode and current row.
Returns
0 OK
int xntree_upd ( )

Post-action trigger to reread n*tree definitions from the database.

Checks if not in query mode and causes the n*tree module to empty its hashtable because the n*tree structure has potentially been changed.

The complete n*tree structure will be reread from the database the next time an n*tree is invoked.

Parameters
cpParameterDefault post-action parameter provided by DataView
cpIgnoreDefault parameter provided by DataView (reserved)
Returns
0 OK
Else Error
int xpac_post_act ( )

Post-action userexit at the master or type list of the master and type element packet.

During copying, the content of the element packet is checked. After calling of the user the content is copied, too.

Parameters
parDefault parameter with working mode and current row
Returns
0 OK
other Error
int xpdw_add_pro_obj_poa ( const char *  param1,
const char *  param2 
)

Creates the PDW views for a PDW object when the object is assigned to a project or organizational unit. This userexit can be called as post-action userexit in a relation widget (both refine and aggregate), which connects a project or organizational unit to PDW objects like documents or items. In 'I'nsert mode, the userexit retrieves the project id, the object id, and the entity of the PDW object that was assigned, and creates the necessary entries in the PDW table for the entity.

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

Removes PDW views from a PDW object when the object is removed from the project or organizational unit. This userexit can be called as post-action userexit on a relation widget (both refine and aggregate) that connects a project or organizational unit to PDW objects like documents or items. In 'D'elete mode, the userexit retrieves the project id, the object id, and the entity of the PDW object that is deleted, and removes the entries from the PDW table for the entity.

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

Post-action userexit for the object access mask. If the VIEW_ALL flag is set for a record, the value -1 is written into the temporary table to represent read access for "everyone". This userexit writes the string "Everyone" (depending on the current language) into the user name field of the object access list if the user id is -1.

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_mas_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit to reactivate the multi access rights view. Enables the multi access rights view in 'Q'uery mode.

Remarks
Has to be called in combination with the pre-action userexit xpdw_mas_pre. 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 enabling the multi access rights view, without taking care of nested disabling and enabling of the view.
Returns
0 OK
Else Error
See Also
xpdw_mas_pre, xpdw_men_cnt_lis, xpdw_lgv_vie_on, xpdw_lgv_vie_off
int xpdw_obj_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for object widgets in a multi access rights environment. Depending on the mode, the following actions are performed:

  • 'I'nsert: The relation record from the object to the "generate" project or organizational unit is created, so that the new object is visible in its "generate" project or organizational unit. The "generate" project or organizational unit can be passed as parameter (see below), otherwise the current project or organizational unit is taken.
  • '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, the relationship check flag in the repository is adjusted so that the object can be deleted even if the PDW_GENERATE relation record still exists.
Remarks
Has to be the first post-action userexit in the object widget.
Parameters
usxContextThe userexit context.
paramParameter to control the behavior of this userexit. Syntax like:
"[/PROJECT=projCid]|[ORGANIZATION=orgCid]"

With possible arguments:
PROJECTproject id Optional parameter which contains the C_ID of the project for which the PDW_GENERATE relation is created. If this parameter is missing, the relation is created for the current project. This parameter is only valid if the userexit is called in a multi project environment.
ORGANIZATIONorganization id Optional parameter that contains the C_ID of the organizational unit for which the PDW_GENERATE relation is created. If this parameter is missing, the relation is created for the current organizational unit. This parameter is only valid if the userexit is called in a multi organization environment.
Returns
0 OK
Else Error
See Also
xpdw_obj_eda, xpdw_obj_pre
int xpdw_pdw_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for PDW views. In 'I'nsert mode, a new view is created.

Parameters
usxContextThe userexit context.
paramReserved.
Returns
0 OK
Else Error
int xpdw_ppj_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for the template project widgets. Depending on the mode, the following actions are performed:

  • 'I'nsert: The template project is inserted in the multi access rights view table.
  • 'U'pdate: The entries for the template project in the multi access rights view table are updated.
  • 'R'ollback: The entries for the template project in the multi access rights view table are rolled back.
Parameters
usxContextThe userexit context.
paramAdditional userexit parameters. Currently none.
Returns
0 OK
1 Error
See Also
xpdw_ppj_pre
int xpdw_pro_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for principal widgets. This userexit has to be attached as the first post-action userexit in widgets for projects or organizational units.

Depending on the mode, the following actions are performed:

  • 'I'nsert: The multi access rights relation for the "generate" project or organizational unit is created so that the new project or organizational unit is visible in its "generate" project or organizational unit. The "generate" project or organizational unit can be passed as parameter (see below). If it is not passed as parameter, the current project or organizational unit is used.
  • 'U'pdate: The userexit checks if the widget buffer keys OLD_PRO and NEW_PRO contain different values. If this is the case, the field REF_PRO in T_POS_DAT is updated to reflect the new project. This applies only to multi project access rights.
  • '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, the relationship checkbox flag in the repository is adjusted so that the object can be deleted even if the PDW_GENERATE relation record still exists.
Parameters
usxContextThe userexit context.
paramParameter to control the behavior of this userexit. Syntax like:
"[/PROJECT=ProjCid]|[ORGANIZATION=organizationId]"

With possible arguments:
PROJECTproject id Sets the C_ID of the "generate" project. All higher level projects of the generate project have a view to the new project. Only applicable for multi project access rights.
ORGANIZATIONorganization id Sets the C_ID of the "generate" organizational unit. All higher level organizational units of the generate organizational unit have a view to the new organizational unit. Only applicable for multi organization access rights.
Returns
0 OK
1 Error
See Also
xpdw_pro_eda, xpdw_pro_pre
int xpdw_pro_str_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for project or organizational unit structure widgets. 'I'nsert: The entries in the corresponding multi access rights tables for the child structure are corrected. Child projects will be included in the view (if the inclusion flag is set), or not (if the inclusion flag is not set).

Parameters
usxContextThe userexit context.
paramReserved.
Returns
0 OK
1 Error
See Also
xpdw_pro_str_pre
int xpdw_rel_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for object relation widgets. Creates the necessary records for the multi access rights views in 'I'nsert mode. If you add this userexit to a refine list then the view entries for the child record (and its child records etc.) are inserted if a view entry is not already available. Keep in mind that in this case the view to a possible aggregate direction is not added.

If you add these userexits to relation widgets of different entities (e.g. EDB-ART-DOC-RLI) then you have to define the configuration parameter EDB-PDW-REL-<entityname>. Otherwise the tolerance correction userexit will correct only homogeneous object relation entries.

Parameters
usxContextThe userexit context.
paramReserved.
Returns
0 OK
1 Error
See Also
xpdw_rel_eda, xpdw_rel_pre
int xpdw_ver_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for version structures. Depending on the mode, one of the following actions is 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_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for object aggregate structures. Suppresses display of aggregate records if VIEW_ALL flag is set and user has no read access to parent.

Parameters
usxContextThe userexit context.
paramReserved.
Returns
0 OK
Else Error
See Also
xpdw_vfg_str_pra
int xproje_post_action ( )

Post-action userexit for widgets with project data.

Covers the following actions depending on the work mode:

  • 'I'nsert: An entry in the history is created.
  • 'R'ecover: The "current" flag from predecessor version is cleared by calling xver_reset_ver.
  • 'Q'uery: The user "view" filter is cleared by calling xstate_rst_vie_poa.
Parameters
cp_ParameterStandard parameter defining working mode and current row.
Returns
0 OK
int xprost_post_action ( )

Post-action userexit for project structures.

Covers the following actions, depending on the working mode:

  • 'I'nsert: Updates the BOM and AGG flags.
  • 'R'ollback: Updates the BOM and AGG flags.
  • 'Q'uery: Resets the user view by calling xstate_rst_vie_poa.
Parameters
parStandard parameter defining working mode and current row. Reserved by this userexit, but the parameter string is passed to xstate_rst_vie_poa.
Returns
0 OK
int xrole_task_poa ( )

Checks if task is assigned to a role and displays a warning message if the task becomes free available to all users.

This userexit deals with the following actions:

'T'emporary deleted Puts a warning if the task becomes free available.
Parameters
cp_ModStandard parameter with working mode and current row.
cp_UserParReserved.
Returns
0 OK
int xsmlc_poa ( )

Post-action userexit for the item form with class attributes folder.

This userexit covers the following actions:

'I'nsert 'U'pdate If the class attributes folder is active, then the modified relation field values are inserted/updated. This is needed, because the relation fields are not inserted/updated by DataView in a master form.
'Q'uery Copies all found records in the shadow widget to the parent form and to the current active SML-folder. If another folder than the class attributes folder is active, then the found shadow records are copied only in the form. If no records were found, a message is displayed on the screen.
Parameters
cp_ModeUserexit context.
cp_ParameterParameter of the post-action userexit, reserved.
Returns
0 OK
2 Error, no item is selected
Else Other error
int xsmldf_poa ( )

 Post-action userexit for attributes definition form.

Cleans the class information in memory cache.

This userexit covers the following actions:

'I'nsert
'U'pdate
'T'emporary delete
'R'ollback Deletes class information from memory cache as it is not up-to-date anymore.
Parameters
cp_ParUserexit context.
Returns
0 OK
Else Error
int xstate_chk_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for the lifecycle definition mask. Clears the cached lifecycles in Update, Insert and Delete mode.

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

Post-action userexit that adjusts the view settings for new records. It sets the preliminary flag in the current view settings if that flag has not been set and the preliminary flag of the current record has. This userexit can be controlled by the configuration parameter EDB-CHG-CHECK-PRELIMINARY. If the configuration parameter has the value "ON", the preliminary flag of the current record is set and the display of preliminary records is disabled in the current view settings, afterwards the userexit enables the display of preliminary records in the current view settings. There is one exception: If the current view is the production view, the userexit will remain inactive.

Remarks
The userexit is called by xedb_usx_sys_poa(). Without this userexit, after inserting a new record (using preliminary records is enabled in the system), the record would disappear after refreshing when the display of preliminary records is disabled in the current view settings.
Parameters
usxContextThe userexit context.
paramReserved.
Returns
0OK
ElseError occurred.
int xstate_cur_poa ( const char *  param1,
const char *  param2 
)

Updates the current flag within the version chain of the object.

Insert/Copy The current flag will be set to the newly created object
Delete The current flag will be set to the lastly created object
Rollback The current flag will be set to the previously deleted and restored object
Parameters
usxContextThe userexit context.
paramReserved.
Returns
0OK
ElseError occurred
int xstate_rst_vie_poa ( const char *  param1,
const char *  param2 
)

Resets the filter conditions which were saved in the field buffer by xstate_set_vie_pra, if the action mode is QUERY and no row is specified, otherwise the method returns immediately.

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_vie_pra
int xstate_tra_poa ( const char *  param1,
const char *  param2 
)

Post-action userexit for the transition masks. Clears the cached transitions in Update, Insert and Delete mode, i.e. when the transition list is modified.

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

Checks for permission for a given privilege.

Can only be called as post 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_poa("I1", "EDB-ART-INS");
See Also
int xtxt_ins_poa ( const char *  param1,
const char *  param2 
)

Writes the history entries.

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_pli_pos_act ( const char *  param1,
const char *  param2 
)

Checks for duplicate instance placeholders. Updates the instance text.

This userexit deals with the following actions:

'U'pdate Checks, if an instance with same placeholders already exists.
Replaces the placeholder in the text instance text with the new values.
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_pos_del_chk_fld ( const char *  param1,
const char *  param2 
)

Remove the check string of current field from post action. Software GmbH

Parameters
cpParameter
cpArgumentsnot used
Returns
0 OK
Else Error
int xtxt_tpl_ins_poa ( const char *  param1,
const char *  param2 
)

Creates a text instance and its placeholders.

This userexit deals with the following actions:

'I'nsert Creates a text instance and probate the placeholders corresponding to the template.
Writes the history.
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_poa ( const char *  param1,
const char *  param2 
)

Creates placeholders and compute consistency check (multilingual)

This userexit deals with the following actions:

'I'nsert Identifies multilingual placeholders.
Checks multilingual placeholders for consistency.
Creates and copies new placeholders.
'U'pdate Identifies multilingual placeholders.
Checks multilingual place holders for consistency.
Deletes unused placeholders.
Creates and copy new placeholders.
Updates existing place holder description.
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_whr_use_pra ( const char *  param1,
const char *  param2 
)

Refreshes the whole content of the Where-Used list. Works only in mode ACTION_QUERY. The information about the Where-Used root elements are contained in the widget-buffer:

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

Shows the results regarding the Where-Used of an element depending on the Where-Used configuration (EDB-TXT-WHR-USE-SLI). The root element on which the Where-Used will be applied, is the first selected row of the last active widget. It is possible to proceed the Where-Used over three levels (constraints). This means that you can trace the constraints between the root element and another element (you are interested in) over three different tables. For example, if you like to see all BOMs which use a Text-Instances, you need only one level (one constraint):

First level: T_TXT_INS_DAT.EDB_ID <-> T_MASTER_STR.EDB_TXT_INSTANCE_REF

The constraint-field for the Text-Instance is set automatically by the "Main Type" (INS). If you would like to see all BOMs which "indirectly" use a Glossary, and you would like to trace the constraints which are necessary, you need three levels (three constraints): Glossary <-> Placeholder <-> Text-Instance <-> BOM

First level:T_TXT_TPL_DAT.EDB_ID <-> T_TXT_PLI_DAT.EDB_GLS_REF Constraint between Glossary and Placeholder
Second level:T_TXT_PLI_DAT.EDB_TXT_INSTANCE_REF <-> T_TXT_INS_DAT.EDB_ID Constraint between Placeholder and Text-Instance
Third level:T_TXT_INS_DAT.EDB_ID <-> T_MASTER_STR.EDB_TXT_INSTANCE_REF Constraint between Text-Instance and BOM
EDB_ACTION (Action) Check-Box (y/n/null) y=results regarding this configuration should be visible and updatable
''=results regarding this configuration should be ignored (not visible)
'n'= results regarding this configuration should only be visible but not updatable
EDB_TYPE (Main_Type) INS = this is a configuration regarding Text-Instances
TPL= this is a configuration regarding Text-Templates
GLS= this is a configuration regarding Glossaries
EDB_REF_1 (object 1 –> Object Main Ref.) This field contains a table of the first effected Where-Used object (level 1) in combination with referenced field name to the GLS/INS/TPL (depending on the Main_Type).
EDB_VALUE_1 (Object 1 Update Field) Contains the name of the field, which should be updated on level 1. Depending on the status of the object and the status configuration (for level 1). The status is defined with the fields EDB_IN_WORK1 (IW), EDB_APPROVED1 (AP), EDB_RELEASED1 (RL), EDB_REVISIONING1 (RV).
EDB_OBJ_1_TYP (Object 1 Type) The value in this field should be shown as a description for the Where-Used results regarding the configuration on level1.
EDB_IN_WORK1 (IW) Value = 'y': Is the object of level 1 (EDB_Value_1 (Object 1 Update Field)) in state "In Work" then proceed updating!
EDB_APPROVED1 (AP) Value = 'y': Is the object of level 1 (EDB_Value_1 (Object 1 Update Field)) in state "Approved" then proceed updating!
EDB_RELEASED1 (RL) Value = 'y': Is the object of level 1 (EDB_Value_1 (Object 1 Update Field)) in state "Released" then proceed updating!
EDB_REVISIONING1 (RV) Value = 'y': Is the object of level 1 (EDB_Value_1 (Object 1 Update Field)) in state "Revisioning" then proceed updating!
If one state is set to '' the object has no state (no LEV_IND)
If all states are set to '' ==> the check for the state of the corresponding updatable object is ignored.
If all states are set to 'n' an error message "No state set for object_x -> CID:'CID of object' Table:'table name of object'" occurs!
EDB_OBJ_1_REP_1 (Object 1 Info 1) Contains the field whose content should be shown as information regarding the result of the Where-Used configuration on level 1.
EDB_OBJ_1_REP_2 (Object 1 Info 2) Contains the field whose content should be shown as information regarding the result of the Where-Used configuration on level 1.
EDB_OBJ_1_REP_3 (Object 1 Info 3) Contains the field whose content should be shown as information regarding the result of the Where-Used configuration on level 1.
EDB_OBJ_1_REP_4 (Object 1 Info 4) Contains the field whose content should be shown as information regarding the result of the Where-Used configuration on level 1.
EDB_OBJ_1_REP_5 (Object 1 Info 5) Contains the field whose content should be shown as information regarding the result of the Where-Used configuration on level 1.
EDB_OBJ_1_JOIN (Object 1 Join) If necessary, you can enter a DB-Join in this field to involve fields from other tables regarding level 1.
EDB_OBJ_1_ID (Object 1 -> Object 2 Ref.) Contains the name of the field, which represents the constraint from level 1 between Where-Used level 1 and Where-Used level 2.
EDB_OBJ_1_REF (Object 2 -> Object 1 Ref.) Contains the name of the field on where-used level 2, which creates the constraint between Where-Used level 1 and Where-Used level 2.
EDB_VALUE_2 (Object 2 Update Field) Contains the name of the field, which should be updated on level 2. Depending on the status of the object and the status configuration (for level 2). The status is defined with the fields EDB_IN_WORK2 (IW), EDB_APPROVED2 (AP), EDB_RELEASED2 (RL), EDB_REVISIONING2 (RV).
EDB_OBJ_2_TYP (Object 2 Type) The value in this field should be shown as a description for the Where-Used results regarding the configuration on level2.
EDB_IN_WORK2 (IW) Value = 'y': Is the object of level x (EDB_Value_1 (Object x Update Field)) in state "In Work" then proceed updating!
EDB_APPROVED2 (AP) Value = 'y': Is the object of level x (EDB_Value_1 (Object x Update Field)) in state "Approved" then proceed updating!
EDB_RELEASED2 (RL) Value = 'y': Is the object of level x (EDB_Value_1 (Object x Update Field)) in state "Released" then proceed updating!
EDB_REVISIONING2 (RV) Value = 'y': Is the object of level x (EDB_Value_1 (Object x Update Field)) in state "Revisioning" then proceed updating!
If one state is set to '' the object has no state (no LEV_IND)
If all states are set to '' ==> the check for the state of the corresponding updatable object is ignored.
If all states are set to 'n' an error message "No state set for object_x -> CID:'CID of object' Table:'table name of object'" occurs!
EDB_OBJ_2_REP_1 (Object 2 Info 1) Contains the field whose content should be shown as information regarding the result of the Where-Used configuration on level 2.
EDB_OBJ_2_REP_2 (Object 2 Info 2) Contains the field whose content should be shown as information regarding the result of the Where-Used configuration on level 2.
EDB_OBJ_2_REP_3 (Object 2 Info 3) Contains the field whose content should be shown as information regarding the result of the Where-Used configuration on level 2.
EDB_OBJ_2_REP_4 (Object 2 Info 4) Contains the field whose content should be shown as information regarding the result of the Where-Used configuration on level 2.
EDB_OBJ_2_REP_5 (Object 2 Info 5) Contains the field whose content should be shown as information regarding the result of the Where-Used configuration on level 2.
EDB_OBJ_2_JOIN (Object 2 Join) If necessary, you can enter a DB-Join in this field to involve fields from other tables regarding level 2.
EDB_OBJ_2_ID (Object 2 -> Object 3 Ref.) Contains the name of the field, which represents the constraint from level 2 between Where-Used level 2 and Where-Used level 3.
EDB_OBJ_2_REF (Object 3 -> Object 2 Ref.) Contains the name of the field on where-used level 3, which creates the constraint between Where-Used level 2 and Where-Used level 3.
EDB_VALUE_3 (Object 3 Update Field) Contains the name of the field, which should be updated on level 1. Depending on the status of the object and the status configuration (for level 3). The status is defined with the fields EDB_IN_WORK3 (IW), EDB_APPROVED3 (AP), EDB_RELEASED3 (RL), EDB_REVISIONING3 (RV).
EDB_OBJ_3_TYP (Object 3 Type) The value in this field should be shown as a description for the Where-Used results regarding the configuration on level3.
EDB_IN_WORK3 (IW) Value = 'y': Is the object of level 3 (EDB_Value_3 (Object 3 Update Field)) in state "In Work" then proceed updating!
EDB_APPROVED3 (AP) Value = 'y': Is the object of level 3 (EDB_Value_3 (Object 3 Update Field)) in state "Approved" then proceed updating!
EDB_RELEASED3 (RL) Value = 'y': Is the object of level 3 (EDB_Value_3 (Object 3 Update Field)) in state "Released" then proceed updating!
EDB_REVISIONING3 (RV) Value = 'y': Is the object of level 3 (EDB_Value_3 (Object 3 Update Field)) in state "Revisioning" then proceed updating!
If one state is set to '' the object has no state (no LEV_IND)
If all states are set to '' ==> the check for the state of the corresponding updatable object is ignored.
If all states are set to 'n' an error message "No state set for object_x -> CID:'CID of object' Table:'table name of object'" occurs!
EDB_OBJ_3_REP_1 (Object 3 Info 1) Contains the field whose content should be shown as information regarding the result of the Where-Used configuration on level 3.
EDB_OBJ_3_REP_2 (Object 3 Info 2) Contains the field whose content should be shown as information regarding the result of the Where-Used configuration on level 3.
EDB_OBJ_3_REP_3 (Object 3 Info 3) Contains the field whose content should be shown as information regarding the result of the Where-Used configuration on level 3.
EDB_OBJ_3_REP_4 (Object 3 Info 4) Contains the field whose content should be shown as information regarding the result of the Where-Used configuration on level 3.
EDB_OBJ_3_REP_5 (Object 3 Info 5) Contains the field whose content should be shown as information regarding the result of the Where-Used configuration on level 3.
EDB_OBJ_3_JOIN (Object 3 Join) If necessary, you can enter a DB-Join in this field to involve fields from other tables regarding level 3.
  @param ctx Userexit context
 @param param  Parameter to control the behavior of this function. Reserved. 

 @return     <table><tr><th> 0    </th><td> OK </td></tr><tr>
              <th> Else </th><td> Error</td></tr></table>
int xvar_post_action ( )

Post-action userexit for variant lists.

This userexit covers the following actions:

'I'nsert
'C'opy Creates the type reference table for variants of the type TYP.
Parameters
parUserexit context
Returns
0 OK
Else Error
int xvardf_poa ( )

Post-action userexit for the variant form (mask EDB-ART-VAR-Sxx).

It calls the userexit xartic_post_action. If a new variant is inserted, the user is asked if he wants to define the variant list immediately or not. If the current variant is copied to a new version (the key "CRE_VER" is set in the widget buffer) then all related attribute definitions are copied to the new version. Creates a history entry when a variant is inserted.

Parameters
cp_ParameterUserexit context.
cp_ArgumentsUserexit parameter, reserved.
Returns
0 OK
Else Error
int xwfl_prc_createGroup ( )

Post-action userexit to create a group for process templates and ad hoc processes.

This userexit covers the following actions:

'I'nsert Creates a new group record and assigns it to the process.

The group (classification) is used to manage process variables. The group record is created in a virtual widget that is opened by iwf_lis_ent() with the chosen parameter. The classification entry looks like "WFL-PRC:<process-ID>", the name entry is "Created by workflow engine", and the attribute "SML_NUM" of the newly created group is copied to the "GRP_REF" of the process or template.

Parameters
cpWrkWorking mode of the post-action userexit
cpParParameter to control the behavior of this function. Syntax like:
"<arg>"

With possible arguments:
arg String used to open the group's insert widget. This argument is directly passed to iwf_lis_ent().
Returns
0 OK
1 Error
Example:
// working example
int iRc = xwfl_prc_ins_tpl("I1", "EDB-GROUP EDB-GRP-PRC-SLI");