SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Как узнать имя пользователя Windows в ABAP программе?



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
Leshik
Участник
Участник



Joined: 14 Nov 2007
Posts: 8

PostPosted: Wed Jan 16, 2008 11:33 am    Post subject: Как узнать имя пользователя Windows в ABAP программе? Reply with quote

Доброе утро.
Вопрос в теме.
Back to top
View user's profile Send private message
John Doe
Модератор
Модератор


Age: 45
Joined: 05 Nov 2007
Posts: 725
Location: КраснАдар

PostPosted: Wed Jan 16, 2008 12:55 pm    Post subject: Reply with quote

Это какой-то шаманский трюк, но работает...
Code:
DATA: NAME TYPE STRING,
      WORKDIR TYPE STRING.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>GET_USER_NAME
  CHANGING
    USER_NAME = NAME.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>GET_SAPGUI_WORKDIR
  CHANGING
    SAPWORKDIR = WORKDIR.

Причем добился я этого сейчас случайно и NAME заполняется после второго метода... Shocked

ЗЫ Вообще-то хотел имя из строки рабочего каталога SAP выдрать, но так даже красивше.
Back to top
View user's profile Send private message Blog
admin
Администратор
Администратор



Joined: 01 Sep 2007
Posts: 1639

PostPosted: Wed Jan 16, 2008 1:13 pm    Post subject: Reply with quote

John Doe wrote:
Это какой-то шаманский трюк, но работает...
Причем добился я этого сейчас случайно и NAME заполняется после второго метода... Shocked


Не, не шаманский. Просто дергается rfc функция на десктопе, после которой flush нужен, чтобы ушел запрос Wink

Есть еще обертка под эти же функции:
Code:
DATA: user(32).
CALL FUNCTION 'GUI_GET_DESKTOP_INFO'
  EXPORTING
    type = '5'
  CHANGING
    return = user.
WRITE: user.
Back to top
View user's profile Send private message
John Doe
Модератор
Модератор


Age: 45
Joined: 05 Nov 2007
Posts: 725
Location: КраснАдар

PostPosted: Wed Jan 16, 2008 2:59 pm    Post subject: Reply with quote

Точно, flush нужен был.
Code:
DATA: NAME TYPE STRING.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>GET_USER_NAME
  CHANGING
    USER_NAME = NAME.

CALL METHOD CL_GUI_CFW=>FLUSH
  EXCEPTIONS
    CNTL_SYSTEM_ERROR = 1
    CNTL_ERROR        = 2.
Back to top
View user's profile Send private message Blog
Shaman
Участник
Участник


Age: 40
Joined: 11 Jan 2008
Posts: 27
Location: Киев

PostPosted: Wed Feb 13, 2008 7:34 pm    Post subject: Reply with quote

А как потянуть всю (или часть) инфу о системе не вызывая CALL FUNCTION 'GUI_GET_DESKTOP_INFO' для каждого поля (type '1' - '12')?
Back to top
View user's profile Send private message Blog
vga
Мастер
Мастер


Age: 155
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Wed Feb 13, 2008 8:59 pm    Post subject: Reply with quote

Shaman wrote:
А как потянуть всю (или часть) инфу о системе не вызывая CALL FUNCTION 'GUI_GET_DESKTOP_INFO' для каждого поля (type '1' - '12')?


А потреба какая?

Можно вытянить в 12 разных переменных, запустив один раз flush, чтобы все 12 пакетов ушли одним запросом. Будет быстро.
Back to top
View user's profile Send private message Blog Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.