PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

PLM之家PLMHome-国产软件践行者

Teamcenter二次开发源码分享: 报告用户登录信息

[复制链接]

2017-11-20 13:49:47 2793 0

admin 发表于 2017-11-20 13:49:47 |阅读模式

admin 楼主

2017-11-20 13:49:47

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
Teamcenter二次开发源码分享: 报告用户登录信息9 ]' V5 u8 Y) U/ z; t! Z9 @
& _, n4 i" Y) K. c2 E

% Q. |8 v& o. N  f; sTeamcenter c++ 方式:8 G" f& T4 v# e5 U5 u! ?
! F- D! o2 c  k+ t# t
9 _4 m, e8 L" `1 e# U
#include <iostream>
4 X! @3 z  T# k6 _( z9 r#include <sa/group.h># h; z4 U2 s0 y/ I; D
#include <sa/user.h>" w, h5 P; K+ N- S9 ^. r8 O
#include <TC/LoggedInUser.hxx>* D) Y) A1 ]! q& H0 S
7 e' o  R. A0 {0 t1 k
7 U! x2 G9 t7 q+ {
using namespace Teamcenter;
0 n: U1 v; g: O2 H- pusing namespace Core;' [  G& X7 Z' y" \7 S
using namespace std;0 A" W) e2 y& g' M2 B6 v

4 d0 p! y6 ~% K5 f* |' V
1 V8 o  I6 m4 S( h9 \
static void reportCurrentLoginInfomation()
0 a7 s+ z0 j; ?& w- Y& z' [0 q# u, L{
, r' m, I$ I# B: Z    int ifail = ITK_ok;+ L: H3 I' J# T" h+ C7 o
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();
6 N) m! b% F" w  l& R3 d   
! j# Y' S' Y+ i* y- f1 W4 O  x    tag_t currentUserTag = loggedInUser->getCurrentUserTag();2 C1 }$ y4 o8 M+ e, [; V
    cout << "    currentUserTag: " << currentUserTag << endl;! b# W! x2 |" x
   
- c% S+ o* q. n8 r" H- S* D! Y    char *personName = NULL;* G: j  t7 p$ E9 L, X* ^3 Z9 H+ T
    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));. ^: v8 x1 q( F8 `9 }- s+ ~1 ]
    cout << "    personName: " << personName << endl;
' X/ ^& N. C4 S" V5 U    if(personName) MEM_free(personName);! v% d. M+ R" B: x# }) W& }
   
- h, x5 I1 R1 G6 m8 D0 f    const char* userID = loggedInUser->getCurrentUserID();2 L' V/ y  H$ T6 p6 {
    cout << "    userID: " << userID << endl;3 ^) A- K# P/ Y* F' G& l

; M' ~, y& w) j0 X

+ V. J% R0 r: i- j! r1 s$ |    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();- n; K8 p$ h5 a( p1 {" i4 t9 r$ g
   
' R$ t2 c7 `: V# o    char *groupName = NULL;
$ F% }  \+ _% C3 x    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
0 P" d8 r( [# z% P3 K, J5 B2 ?    cout << "    groupName: " << groupName << endl;
9 N- Z7 U8 w  i  ?& `0 o# `( n8 Q    if(groupName) MEM_free(groupName);) Y6 K! q7 N% y6 Z

' D( ]1 b2 C# q% P4 a1 R

4 V  e8 }0 a. d0 s& Q2 _1 k    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
& g  _: F/ b' }/ _% ?    char *roleName = NULL;
/ d' f+ F& s7 m+ t) Y* Y+ Z7 |$ d    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));# X" G& ^6 ^: E) p( k1 {
    cout << "    roleName: " << roleName << endl;
) Y$ y! H& ]' v" G2 f$ h) l/ S    if(roleName) MEM_free(roleName);
# s1 k9 n+ z  `1 O   
0 {5 U% b. z, h5 ^$ u    logical isDba = loggedInUser->isUserSystemAdministrator();
$ W2 }# X+ j8 z$ c/ c- z+ u    if(isDba == TRUE) cout << "    User is dba member "<< endl;) D7 f1 A6 x" N7 v4 v
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;      
* G# c/ X) g. ?+ z% a}5 H9 \) n! u. p
4 ?7 x( O2 a$ n4 e' r  F
0 |/ d; K8 l' g

6 ~8 h  N' b5 h9 K: ?$ d8 d
4 b& }8 C& F' i3 Z4 R+ ?* N6 n

1 U4 q3 Y) {+ b+ Q0 I- W, u, jTeamcenter ITK 方式:; D, U6 e9 g' T( x: J0 b

4 X! ?9 O; }! E5 e5 Q' `6 N6 T" M
) x. J$ b" m7 I1 f
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */+ h9 ]- k9 h5 h) g! U+ f$ S
static void report_current_login_infomation()- V# A, F$ ~  J, e3 X+ F# _* }
{9 y' R0 J9 U& w8 t+ Q$ J# P
    tag_t " D% S# F- l* g. q) A$ t
        current_member = NULLTAG, + r' k/ C- p6 }4 F1 F1 o
        current_user = NULLTAG,
/ P3 F* ?2 b+ v7 s  Y5 u        current_group = NULLTAG,  
0 ^# n/ E3 n  [5 `) |3 J7 ~) R        current_role = NULLTAG;1 J: |8 `. s6 B" y5 D# T
    char
$ |; L5 W9 {  V' N& E! ?( U        person_name[SA_person_name_size_c+1] = "",
: }" }4 U& k5 R# Z% e: A% j        user_id[SA_user_size_c+1] = "",  
3 E8 M; l" G% Q% g: r; ?) u        group_name[SA_name_size_c+1] = "",$ ?3 ^5 J( n* W& w
        role_name[SA_name_size_c+1] = "";  
& E8 O. Z, X# k7 N" y
3 P  e' ?" Q2 L- ?4 L( ~

9 c( z6 ~- {/ {: X- H/ q+ n% S    IFERR_ABORT(SA_ask_current_groupmember(&current_member));
, N; G+ ?4 z: D0 R5 j( G- a    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
9 ?5 b+ d% V) X5 R   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));
/ j# m0 u) R- ~. Y  u    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));
9 X( Z7 @! n+ A# j4 E- S% S0 Z
) L' Z- U. X) @4 J8 s' S: n

: J% A8 r- M: `+ ?9 B: }    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
& C3 _" k6 j. z# @! Q3 Y    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));5 `/ I3 {+ x% K4 S  j, w5 e" k( j
    IFERR_REPORT(SA_ask_group_name(current_group, group_name));
) G; v  F' B( _9 ]    IFERR_REPORT(SA_ask_role_name(current_role, role_name));" r6 G3 R: t& T% u) X: m2 U9 _

. j+ g6 t+ ]( W8 G

* Q# s$ h' Y3 I' O3 W" P6 |    ECHO("\n        Person: %s\n", person_name);" O7 h9 j1 f9 |
    ECHO("       User ID: %s\n", user_id);
+ j" i. e" d1 L# d. Y    ECHO("         Group: %s\n", group_name);0 x; O% p7 ^. l1 V7 Z, r8 A
    ECHO("          Role: %s\n", role_name);
4 H  }# V1 s* i# V9 n( _}) E. o5 h; y% u( i$ ]+ j2 \

! N! b2 t  a4 h1 H- y& F. }1 T
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了