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

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

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息& s7 \3 m' t1 B. @1 Y

; c+ S( L' t0 e  o4 t! ?6 m

8 T: T) t# z* a3 ^Teamcenter c++ 方式:" P, t  c+ d* T. m
# ]3 u3 s# b, J- S, x

3 u1 \% ~; Q5 p6 D/ N( G#include <iostream>' M/ u" v+ |  F# E8 {5 k0 y! |0 g
#include <sa/group.h>
. `1 D) R" d' L# I6 K2 G1 q5 L#include <sa/user.h>
! d7 i  u9 Y% \: @4 @4 O  G2 O. t#include <TC/LoggedInUser.hxx>
! p1 W! _. l  Z' Q4 d3 y9 R
  @2 K1 L# \& x
$ A1 ]3 S, ^# }. v7 m; O4 @, |$ L2 H
using namespace Teamcenter;: h- N" M8 S; w' h; b- J4 H$ E
using namespace Core;. s' Y' x- Y* ?- r) z2 C
using namespace std;' G% F$ Q, P2 E( E

% N: N0 g2 d* O6 C

" M1 \" C& F8 G5 `; K  M8 ~6 zstatic void reportCurrentLoginInfomation()! B# `- u& W! W: X5 B
{
4 ?8 T8 z; n/ a) ?" l- {    int ifail = ITK_ok;
9 Z/ e2 k. u+ W; P( U! d& ^    LoggedInUser* loggedInUser = LoggedInUser::getInstance();
- S/ R; h- P" F    6 E; b+ C- y. d3 K% d+ Q( J
    tag_t currentUserTag = loggedInUser->getCurrentUserTag();( ]8 ?  M+ C8 C5 K" O( i
    cout << "    currentUserTag: " << currentUserTag << endl;
2 J6 I8 R. Q* b. h: z    ! ~* j' m; L+ ~2 E! F
    char *personName = NULL;9 m2 f. N3 l- e' f$ A" G
    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));( r1 \# u/ k, N- b+ y1 e2 H
    cout << "    personName: " << personName << endl;7 |  {9 R5 m3 k6 {4 Y  T$ V
    if(personName) MEM_free(personName);
$ y9 p! N0 R( P3 @, l9 B- w. l    ) t  r) w* c' f& V0 R* H2 W
    const char* userID = loggedInUser->getCurrentUserID();
' V9 Z0 W0 Q( M2 `    cout << "    userID: " << userID << endl;, {3 Z; X% x  c7 e; m# p0 ?# o

  I1 I  q8 g: L/ H$ a1 Z

7 e) V# }3 y% r* r2 U. V, c6 i    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();2 p) @0 z$ \  c; H/ F2 L: N/ V
    2 y1 o5 z; B( `& ^1 c
    char *groupName = NULL;  ]3 ~2 @  K4 o7 ]: h
    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));' r: d* o$ b# F) N) P' T
    cout << "    groupName: " << groupName << endl;. a; |9 t; ~9 ?- G
    if(groupName) MEM_free(groupName);
3 F1 d7 E: E4 u3 T
$ ?. m0 h+ z2 L3 L7 P2 v5 o2 ^% }

5 ?; B1 C  S  |    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
+ ?4 V8 F) f  ^    char *roleName = NULL;
! v6 a0 u# ~: B" r' c    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
( @( H0 N, k. ?5 u) j5 x    cout << "    roleName: " << roleName << endl;
9 D) ^1 x* R$ Z7 U6 Z    if(roleName) MEM_free(roleName);
( J7 V* c' G# b/ _0 r+ R   
3 o5 k8 X9 o$ a- F  y0 O& j! O6 N    logical isDba = loggedInUser->isUserSystemAdministrator();
7 v( L( M( C$ j$ n    if(isDba == TRUE) cout << "    User is dba member "<< endl;# _  G0 y! ^6 `2 g" ?; N4 c' ~, E
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       " z# k  x/ R0 i5 z7 a0 j# ?) B
}
( [- V5 s1 Z, T2 D/ [  z
$ `7 \7 x* E, ]; ~
/ Y" d4 l5 D. V5 @# W' a
' A5 N$ u) @6 p, X$ l, W

4 G$ H( W) L3 u* g1 H( F
, x0 n* Z; ]9 C5 Z% y6 _% E
Teamcenter ITK 方式:( w( r6 F  ]/ G

% L/ ?- U4 y. G2 p

' Q9 ]( D& C1 W/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */* J1 O' I4 ?; m+ v, X
static void report_current_login_infomation()
% o& q# N) c* p{
6 z0 U: ~. O7 C  y    tag_t
, b* F: _' o% d3 S        current_member = NULLTAG, 0 Z, H* d( Y( q) r8 \: X) t8 t
        current_user = NULLTAG, 1 [2 y3 Z: d! j, @  y% C6 K
        current_group = NULLTAG,  
3 a7 V) D# F6 ?6 n        current_role = NULLTAG;) H- n: L; `% h/ D
    char 0 o4 ~5 A' @5 L  ]( M
        person_name[SA_person_name_size_c+1] = "",, r) d$ v1 A$ Q/ ?5 n! ?
        user_id[SA_user_size_c+1] = "",  
6 V- U" p( D1 b: `: d        group_name[SA_name_size_c+1] = "",+ c7 ~2 e& Y( m! H
        role_name[SA_name_size_c+1] = "";  / l" ^3 c1 b0 c* m% B& v3 ?' q

+ f: V! G5 t, |7 S* D/ n
! R; a0 w. J) J* g3 `: @
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));
; g3 `1 ~6 h2 X' U# ]    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
- D' U3 m# s) z" }   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));
+ d! U. D4 s& F! w# B0 G+ @. E1 V  y  s    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));9 m+ R' o6 y' d" O# _3 ^
: Y% @( p) s2 f+ F' u) e4 Y% D
# n3 K. t8 z9 `
    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));+ V% _% n* o+ R; ~) C
    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
$ j( Y* y6 U$ M5 N    IFERR_REPORT(SA_ask_group_name(current_group, group_name));
! d/ `' X" I1 N3 Q: W! C2 E    IFERR_REPORT(SA_ask_role_name(current_role, role_name));
/ P1 c7 [3 I' x+ L5 Q! ^6 U( j
, _0 O3 m6 F- ]5 j! l

' I. q2 X- [* N9 y6 Y8 r    ECHO("\n        Person: %s\n", person_name);0 }! g, }5 q1 c% d$ Z
    ECHO("       User ID: %s\n", user_id);' S7 t& A. O9 W1 u/ J
    ECHO("         Group: %s\n", group_name);
) W( {) \  E+ V    ECHO("          Role: %s\n", role_name);
* ^4 Z2 Q, X5 g  i}
. l2 \! K. o9 ^/ ~% \. i, c% J& Y% ~0 [& h$ d8 F9 N4 Z/ a3 B
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了