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 2799 0

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

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息
8 G2 ~" s1 s6 M5 w7 y4 N1 f5 g: U* X8 {% O! m& o6 J

8 ]/ f: m" ^6 I1 y# ]7 y6 qTeamcenter c++ 方式:, r0 i! e9 B  z! \5 J3 W1 ~% M( V$ \

: t. e' Z3 M: q1 U7 y! E9 W9 ~! n% K
7 }$ L; N5 H8 v6 g, ]
#include <iostream>
& t7 d  Z2 p% ]  [9 s#include <sa/group.h>& @* ~) V5 A: n4 x! E. w6 K
#include <sa/user.h>. ]" m' |$ V0 C% Q/ _
#include <TC/LoggedInUser.hxx>
1 ~- z: Q1 y! K# |, m
# K6 Q* K4 Z0 t- V6 m+ J" H
* ]1 M$ o9 f  \" x
using namespace Teamcenter;$ e7 H2 b0 S) P$ s  R
using namespace Core;
. Y2 T! B3 s+ \using namespace std;6 V7 j2 s) t& w/ m) s1 B7 X6 w
, M- q/ ]8 F$ {* }! b
* |( F7 y% S6 Z& \& e0 G
static void reportCurrentLoginInfomation()
7 c) z+ H( x" ?1 ?- E{; c8 e6 F! |6 j0 R/ I" k% a- O
    int ifail = ITK_ok;2 t& ^/ n) ^5 C4 I  C* u1 p+ K; C
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();
* D$ Z/ h5 S  k- s    ; B4 ~* b  }1 }
    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
+ b' O, Q! _$ ^9 q9 I$ r3 t    cout << "    currentUserTag: " << currentUserTag << endl;' A1 B, }' h" f$ Q  Y
    % W$ B+ Q9 g9 m& h
    char *personName = NULL;
! f+ c7 w* I; b    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));/ Q8 H! J: e: i! u, g  N& O
    cout << "    personName: " << personName << endl;& N& G+ {0 F' E" f( |; Z6 m
    if(personName) MEM_free(personName);
7 ]$ o9 _, W8 g6 `. x   
: W' B/ b* V- @5 B, g2 S; I    const char* userID = loggedInUser->getCurrentUserID();
3 O, K% U8 V& S0 z' V9 S    cout << "    userID: " << userID << endl;
7 E, Z' \. g' |8 p( U8 y/ B! u/ u4 Q# Q3 s0 `
3 D) i% \$ f5 r( p
    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
9 U9 O4 U3 ?* \9 E: Z    ' \, E" J7 J8 W" H! }1 n
    char *groupName = NULL;! P' u) T! W/ e/ S$ ^3 r2 f8 o) K7 H
    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));8 e/ l" K2 u: ~" p3 J0 P1 e) d
    cout << "    groupName: " << groupName << endl;
1 i2 I8 [+ R( E    if(groupName) MEM_free(groupName);
% {1 r+ L& i% ~  U4 g+ i/ i' S; E
" Q2 A7 c: @- R, V$ {
" P: n/ T* z4 z
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
: I  K( T# X% @9 O& Z( r    char *roleName = NULL;4 y( }0 X' g: X
    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
+ E  t- z0 Y' Z    cout << "    roleName: " << roleName << endl;+ O" U! R" S2 U
    if(roleName) MEM_free(roleName);
7 m: R0 g8 o" W   
$ W9 w2 |5 P1 Y2 Z( \- `) {    logical isDba = loggedInUser->isUserSystemAdministrator();
- Q6 B" I3 z1 c5 i, m" x- i    if(isDba == TRUE) cout << "    User is dba member "<< endl;: G) ^" U4 [2 g7 v$ C) j
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;      
0 y/ L2 v/ S" P}
# L3 i0 p& F4 B$ ^! K" r/ D  [, k1 O. M& c* z6 K! I# c
( i4 }! z) |- g( L6 E

( [% D7 O" z) F, z
' d" ^& {- v- {1 N" }/ F/ k* B: b

, T* K& o4 J; a# ^Teamcenter ITK 方式:
7 i% w' u: ^8 `( k# K2 x1 m& s9 c, t6 {- }8 I- p/ Y
- B) i4 j  @8 ^
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */4 ?' L# M; z3 a7 t0 d1 V/ E
static void report_current_login_infomation()
1 D7 K( D  j, @. q) P9 L3 s3 b5 D0 Y{! ?; m8 P, {7 y" U0 b
    tag_t
" I) h0 ]) e3 V! B        current_member = NULLTAG,
! R  e2 p# v$ T  P        current_user = NULLTAG,
( S1 _! W9 y5 L! v( y+ A/ \        current_group = NULLTAG,  
( |8 P5 x5 h* d3 h( `/ Y        current_role = NULLTAG;
0 @7 i# U0 }+ Q! j/ J8 i    char
: _+ F- o! z) W. a& h% v        person_name[SA_person_name_size_c+1] = "",
, O% j* v  N; a% _/ m  [. W        user_id[SA_user_size_c+1] = "",  * m' K* E. A3 Z3 i8 [
        group_name[SA_name_size_c+1] = "",/ _5 Q3 O" N9 p( s
        role_name[SA_name_size_c+1] = "";  
  I& a2 M7 X0 J& G5 ^4 M; N$ K4 a" Z6 T

0 L9 ?- w$ p7 V* I    IFERR_ABORT(SA_ask_current_groupmember(&current_member));
; T( n0 M- ^; |& W  b- J6 i% X    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
5 }1 V% f7 n: C9 q   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));
  Z! N- W7 @/ e) Y6 C    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));+ u; ^; ]- s7 F

) v, z; K- U9 {& L: `5 G

# R3 e- @3 U# m% a9 d6 R! g& X8 ]+ s    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));3 ?  W) b& y, y  H* ]2 g& f
    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));+ X0 s- J& J% ~8 v4 C: r* K
    IFERR_REPORT(SA_ask_group_name(current_group, group_name));
4 O9 B+ Y$ M' ^) @8 H$ R    IFERR_REPORT(SA_ask_role_name(current_role, role_name));
) p# K5 V) L# d" M4 q
, K0 z% j" |% c! g0 m2 f
. Z+ `+ S+ |: d2 i% a# m' K0 B
    ECHO("\n        Person: %s\n", person_name);+ {) H4 I& ]1 v0 T. v+ h  Q% U
    ECHO("       User ID: %s\n", user_id);; d8 a$ T& e6 v' z8 q( u' z) p- \
    ECHO("         Group: %s\n", group_name);
" ^. b, O/ Y1 Y5 D' ?. c6 o3 H    ECHO("          Role: %s\n", role_name);
  ~5 h( M( i# v( \# ]& [}
. n. r* `7 b! v. p: }; H" f  n7 b$ A
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了