You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
224 lines
9.1 KiB
224 lines
9.1 KiB
/*
|
|
Copyright 2020 Siemens Digital Industries Software
|
|
==================================================
|
|
Copyright 2014.
|
|
Siemens Product Lifecycle Management Software Inc.
|
|
All Rights Reserved.
|
|
==================================================
|
|
Copyright 2020 Siemens Digital Industries Software
|
|
*/
|
|
|
|
/**
|
|
@file
|
|
|
|
This header file declares all data types and constants to be used by clients of
|
|
Fnd0Qualification module.
|
|
|
|
The ITK fnd0qualification functions include:
|
|
<ul>
|
|
<li>A function to create qualification
|
|
<li>A function to assign qualification to user
|
|
<li>A function to remove qualification from user
|
|
<li>A function to append qualification level
|
|
<li>A function to remove qualification level
|
|
<li>A function to update qualification
|
|
</ul>
|
|
|
|
To use these functions, include fnd0qualification.h.
|
|
*/
|
|
|
|
#ifndef TEAMCENTER_FND0QUALIFICATION_H
|
|
#define TEAMCENTER_FND0QUALIFICATION_H
|
|
|
|
#include <unidefs.h>
|
|
#include <common/tc_deprecation_macros.h>
|
|
#include <Fnd0qualification/libfnd0qualification_exports.h>
|
|
|
|
/** object_name property on Fnd0Qualification */
|
|
#define OBJECTNAME_ATTR "object_name"
|
|
|
|
/** object_desc property on Fnd0Qualification */
|
|
#define OBJECTDESCRIPTION_ATTR "object_desc"
|
|
|
|
/** fnd0IsExpiryDateRequired property on Fnd0Qualification. This indicates whenther expiration date needs to be defined while assigning Fnd0Qualification to User */
|
|
#define FND0ISEXPIRYDATEREQUIRED_ATTR "fnd0IsExpiryDateRequired"
|
|
|
|
/** fnd0Levels property on Fnd0Qualification. This represents ordered list of levels */
|
|
#define FND0LEVELS_ATTR "fnd0Levels"
|
|
|
|
/** primary_object property on ImanRelation. */
|
|
#define PRIMARYOBJECT_ATTR "primary_object"
|
|
|
|
/** secondary_object property on ImanRelation. */
|
|
#define SECONDARYOBJECT_ATTR "secondary_object"
|
|
|
|
/** secondary_object property on ImanRelation. */
|
|
#define RELATIONTYPE_ATTR "relation_type"
|
|
|
|
/** fnd0LevelAchieved property on Fnd0UserHasQual. */
|
|
#define FND0LEVELACHIEVED_ATTR "fnd0LevelAchieved"
|
|
|
|
/** fnd0QualAchievedDate property on Fnd0UserHasQual*/
|
|
#define FND0QUALACHIEVEDDATE_ATTR "fnd0QualAchievedDate"
|
|
|
|
/** fnd0QualExpirationDate property on Fnd0UserHasQual*/
|
|
#define FND0QUALEXPIRATIONDATE_ATTR "fnd0QualExpirationDate"
|
|
|
|
/** Relation type name through which User is assigned to Fnd0Qualification. */
|
|
#define FND0USERHASQUAL_REL "Fnd0UserHasQual"
|
|
|
|
/** Relation type name through which Job Activity is related to Fnd0Qualification. */
|
|
#define FND0REQDQUAL_REL "Fnd0ReqdQual"
|
|
|
|
/** The condition name which is used to validate create access. */
|
|
#define FND0CREATEQUALIFICATION_CONDITION "Fnd0CanCreateQualification"
|
|
|
|
/** fnd0LevelReqd property on Fnd0ReqdQual Relation. */
|
|
#define FND0LEVELREQD_ATTR "fnd0LevelReqd"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"{
|
|
#endif
|
|
|
|
|
|
/**
|
|
Structure that holds information to create or update qualification
|
|
*/
|
|
typedef struct
|
|
{
|
|
char * qualification_name; /**< The qualification name */
|
|
char * description; /**< The qualification description */
|
|
logical is_expiration_date_required; /**< If expiration date is required or not */
|
|
int n_qualification_levels; /**< Number of qualification levels */
|
|
char** qualification_levels; /**< Ordered array of string as levels */
|
|
} FND0QUALIFICATION_manage_qualification_info_t;
|
|
|
|
/**
|
|
Structure that holds information to assign a qualification to a user
|
|
*/
|
|
typedef struct
|
|
{
|
|
tag_t user_tag; /**< The user tag which needs to be related to qualification */
|
|
tag_t qualification_tag; /**< The qualification tag which needs to be related to user */
|
|
char * qualification_level; /**< The level of the qualification */
|
|
date_t effective_date; /**< The effective date of qualification */
|
|
date_t expiration_date; /**< The expiration date of qualification */
|
|
} FND0QUALIFICATION_assign_qualification_info_t;
|
|
|
|
/**
|
|
Structure that holds information to remove a qualification from a user
|
|
*/
|
|
typedef struct
|
|
{
|
|
tag_t user_tag; /**< The user tag from which the qualification needs to be removed */
|
|
tag_t qualification_tag; /**< The qualification tag which is assigned to user */
|
|
} FND0QUALIFICATION_remove_qualification_info_t;
|
|
|
|
/* */
|
|
/**
|
|
@deprecated #FND0QUALIFICATION_init_module deprecated in Teamcenter 11.2.
|
|
|
|
Initializes the Fnd0Qualification module. You must call this function before calling any other FND0QUALIFICATION functions.
|
|
*/
|
|
TC_DEPRECATED_NO_REPLACEMENT("11.2","FND0QUALIFICATION_init_module")
|
|
extern FND0QUALIFICATION_API int FND0QUALIFICATION_init_module();
|
|
|
|
/**
|
|
Creates a Qualification object.
|
|
@return
|
|
<ul>
|
|
<li>#ITK_ok on success.
|
|
<li>#FND0QUALIFICATION_create_permission_fail error if user is not privileged to create qualification.
|
|
</ul>
|
|
*/
|
|
extern FND0QUALIFICATION_API int FND0QUALIFICATION_create_qualification
|
|
(
|
|
const FND0QUALIFICATION_manage_qualification_info_t* manage_qualification_info, /**< (I) Information to create a Qualification object.*/
|
|
tag_t* created_qualification /**< (O) Tag of the created Qualification object.*/
|
|
);
|
|
|
|
/**
|
|
Assigns a qualification to a user with the specified qualification level.
|
|
@return
|
|
<ul>
|
|
<li>#ITK_ok on success.
|
|
<li>#FND0QUALIFICATION_assign_user_qualfication_permission_fail error if user is not privileged to assign user qualification.
|
|
<li>#FND0QUALIFICATION_invalid_effective_or_expiration_date_fail error if invalid expiration or effective date is provided.
|
|
<li>#FND0QUALIFICATION_effective_date_greater_fail error if expiration date is less than effective date.
|
|
<li>#FND0QUALIFICATION_level_already_exists_fail error if qualification with same level is already assigned to user.
|
|
</ul>
|
|
*/
|
|
extern FND0QUALIFICATION_API int FND0QUALIFICATION_assign_user_qualification
|
|
(
|
|
const FND0QUALIFICATION_assign_qualification_info_t* assign_user_qualification_info, /**< (I) Information to assign a qualification to a user.*/
|
|
tag_t* added_user_qualification_relation /**< (O) Tag of the relation object created on assigning the qualification to the user.*/
|
|
);
|
|
|
|
/**
|
|
Removes a qualification from the user.
|
|
@return
|
|
<ul>
|
|
<li>#ITK_ok on success.
|
|
<li>#FND0QUALIFICATION_remove_user_qualfication_privilege_fail error if user is not privileged to remove user qualification.
|
|
</ul>
|
|
*/
|
|
extern FND0QUALIFICATION_API int FND0QUALIFICATION_remove_user_qualification
|
|
(
|
|
const FND0QUALIFICATION_remove_qualification_info_t* remove_user_qualification_info, /**< (I) Information to remove a qualification from a user*/
|
|
tag_t* removed_user_qualification_relation /**< (O) Tag of the deleted relation object on removing the qualification from the user.*/
|
|
);
|
|
|
|
/**
|
|
Appends a level to the qualification object.
|
|
@returns
|
|
<ul>
|
|
<li>#ITK_ok on success.
|
|
<li>#FND0QUALIFICATION_level_already_exists_fail error if same level is already in qualification.
|
|
</ul>
|
|
*/
|
|
extern FND0QUALIFICATION_API int FND0QUALIFICATION_append_qualification_level
|
|
(
|
|
tag_t qualification_tag, /**< (I) Tag of the Qualification object to append new level*/
|
|
const char * const qualification_level /**< (I) The new level that needs to be appended to the Qualification's list of levels */
|
|
);
|
|
|
|
/**
|
|
Removes a level from the qualification object.
|
|
@returns
|
|
<ul>
|
|
<li>#ITK_ok on success.
|
|
<li>#FND0QUALIFICATION_qualification_level_referenced_fail error if level is assigned to users.
|
|
<li>#FND0QUALIFICATION_level_not_exist_fail error if qualification level is not present.
|
|
</ul>
|
|
*/
|
|
extern FND0QUALIFICATION_API int FND0QUALIFICATION_remove_qualification_level
|
|
(
|
|
tag_t qualification_tag, /**< (I) Tag of the Qualification object to remove the level */
|
|
const char * const qualification_level /**< (I) The level that needs to be removed from the Qualification's list of levels */
|
|
);
|
|
|
|
/**
|
|
Updates the qualification object based on the given information.
|
|
@returns
|
|
<ul>
|
|
<li>#ITK_ok on success.
|
|
<li>#FND0QUALIFICATION_update_qualification_privilege_fail error if user is not privileged to modify qualification.
|
|
<li>#FND0QUALIFICATION_qualification_level_referenced_fail error if level to be removed is assigned to users or tasks.
|
|
<li>#FND0QUALIFICATION_cannot_change_exp_date_requirement_fail error if expiration date requirement cannot be changed
|
|
because the qualification has been assigned to users.
|
|
</ul>
|
|
*/
|
|
extern FND0QUALIFICATION_API int FND0QUALIFICATION_update_qualification
|
|
(
|
|
tag_t qualification_tag, /**< (I) Tag of the Qualification object to update. */
|
|
const FND0QUALIFICATION_manage_qualification_info_t* qualification_info /**< (I) Information to update the Qualification object. */
|
|
);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#include <Fnd0qualification/libfnd0qualification_undef.h>
|
|
|
|
#endif
|