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

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

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息" W8 V# E. p, {7 r" v. V3 e9 B/ Q

; Y0 F5 q. }4 `' e) Z! e/ A

$ T, l/ l2 |" K/ s9 j, \+ Q7 NTeamcenter c++ 方式:* @4 b; y# a, ?: @" W0 U+ I. Z
+ L- W' `8 X2 t9 b) k7 S
, q$ _8 k- E! s' a
#include <iostream>1 R4 ?7 T1 p* G
#include <sa/group.h>: O7 J8 t; L$ C4 q* u- F6 b
#include <sa/user.h>
9 Z% Z" T/ [  _; c7 ]  c7 V$ ]( u#include <TC/LoggedInUser.hxx>: ], B. L3 Y3 H8 d4 @9 G. O: e" i

: s3 J' T/ N" X3 K

% p, ^7 i" h# T1 B3 Dusing namespace Teamcenter;
" @- s% S9 s' k2 m1 m0 Iusing namespace Core;
2 T) I* B2 p4 s9 n* m: Qusing namespace std;
3 S; T/ \0 `) u- P( p: {# R! I, K5 i! n6 F0 \

2 i$ p7 Z( x6 Ostatic void reportCurrentLoginInfomation()
) n% ]8 h" E! l: I" @+ d{
; v3 m4 E/ u" z    int ifail = ITK_ok;2 E$ u  @4 T( k7 w
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();
7 E5 @8 K6 I0 ^2 k2 ?   
2 F5 P' W4 J/ ]# Z: q0 b( w' ]9 Z    tag_t currentUserTag = loggedInUser->getCurrentUserTag();' D; y! H1 }: w- c3 L, E4 D( e# }
    cout << "    currentUserTag: " << currentUserTag << endl;. P, [' h5 X6 z0 g
    2 B. {0 \5 g& r- F4 }
    char *personName = NULL;
+ I4 f- L5 y+ u  y' e9 H$ z( a    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
9 A4 c! Y+ U1 ^" ]+ D    cout << "    personName: " << personName << endl;3 I9 p$ w; B& B
    if(personName) MEM_free(personName);
, a4 m& X5 `  y) e    4 {. l7 ?! U8 ]) E$ T* o/ t
    const char* userID = loggedInUser->getCurrentUserID();
/ I1 P8 r) g3 Y    cout << "    userID: " << userID << endl;
7 y0 y9 R$ E' f! N% c! ]8 A8 V2 O2 x( x# j9 ~6 |

+ G  I+ L5 k1 ~1 J5 Z7 ?# w5 p    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();4 Z1 J- H( g2 r6 J
   
8 q0 n/ ]9 G3 O    char *groupName = NULL;
+ A( P. i" ~/ E  h4 y    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));1 ]- H; m2 I+ K. J3 c6 s. H
    cout << "    groupName: " << groupName << endl;
4 V: A% {2 h6 R4 y# o1 a    if(groupName) MEM_free(groupName);
# U7 i$ U" x7 l! ?4 ~2 h* q; o
2 J+ u  S( M, L8 y  z- |3 a$ ^) P2 A
# u0 u0 k9 L# U5 \. V2 u
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
, U  V% E0 D6 j. v2 o: E    char *roleName = NULL;( f2 ?- d7 s! T' r1 M
    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));0 U" Y+ \- Q- ^, q' F
    cout << "    roleName: " << roleName << endl;# i' p) P& M( Q
    if(roleName) MEM_free(roleName);+ Q: Z" y; H7 ~8 E# [
    1 j, w1 G: d. n
    logical isDba = loggedInUser->isUserSystemAdministrator();. q. |; \8 s3 Q  y* v4 J$ ~
    if(isDba == TRUE) cout << "    User is dba member "<< endl;; J/ I5 f, C$ D1 ]9 B
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;      
1 b6 O/ a0 A5 c  k}
/ f% ^+ b( @  r( y" e0 K+ o7 O  A# M6 u% e" F
: T6 N( _- t2 Q* I4 ^3 e, h* J
* r+ @' ]) n1 o! K/ q2 w* C9 W

5 n7 x3 [/ m( b1 N2 i
, Z# [+ E6 ^2 A, I+ ?4 r, H% E
Teamcenter ITK 方式:  g% U" d' T( q  S+ ]1 _+ S

2 ~! D" m  d0 [  Y1 F: {% I9 R

/ ^/ J4 v/ E( G9 ?# D1 {/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
5 o( H# G& G7 ^5 }% Hstatic void report_current_login_infomation(): t- t! D# D8 c' b
{/ R) S+ J" b0 x' \7 C
    tag_t
' p0 y, E  i0 z" f. O- ^8 j- F        current_member = NULLTAG,
" X6 i" l7 A; R6 i2 |& z* b        current_user = NULLTAG, ' ^4 _3 {; W' o: o7 m
        current_group = NULLTAG,  5 O( k1 @& s* a2 e- J: {
        current_role = NULLTAG;5 D! O& O' \4 t/ k' y, j2 c: ^4 {% K
    char , W, B( `! L* f+ ?& N& Y
        person_name[SA_person_name_size_c+1] = "",
) g7 r% @8 J0 n! C8 F7 y        user_id[SA_user_size_c+1] = "",  * `1 ^6 o& N1 @6 ?- R9 r
        group_name[SA_name_size_c+1] = "",2 I3 }- p8 {1 d) S6 _9 t
        role_name[SA_name_size_c+1] = "";  
' j6 P" x. h8 Q9 G6 M0 W( ^6 }. V* ]( ~( x) v% X, D

" j1 O! T1 X5 @- I9 c. b. l    IFERR_ABORT(SA_ask_current_groupmember(&current_member));
' i3 E  I4 p5 M* U5 @    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));3 A3 }  `- p7 ]6 R% x' o  u# N
   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));. |7 q& U5 Z% }5 H
    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));- J; x! L0 E1 N: b
/ G* A- s' ~" }* j
/ p: W5 Y# q1 E. O0 e
    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));: Y9 B$ o$ \3 f0 y( ?+ m: A+ ^
    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));% b/ k$ {/ s  `5 a, W/ U
    IFERR_REPORT(SA_ask_group_name(current_group, group_name));8 {: d- e- Y& y4 H5 p  ?3 k
    IFERR_REPORT(SA_ask_role_name(current_role, role_name));0 w4 t+ }( X7 W  E& k1 Q. w& ?1 l4 j

9 K! Z( l( j, d. C# N
4 M1 l, ~7 m6 ^2 w
    ECHO("\n        Person: %s\n", person_name);3 B+ X7 B# Q- i) x# [; F8 K7 ~/ D
    ECHO("       User ID: %s\n", user_id);/ l0 Q7 ?6 @4 n* K7 ~2 s8 m1 H
    ECHO("         Group: %s\n", group_name);4 B' |! {) [9 _% z9 }# B7 u
    ECHO("          Role: %s\n", role_name);
' ?' P& p" r- z}
& r8 @; V" p' E9 W: @5 O; |. i% J' J; r: @& [
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了