View previous topic :: View next topic
Author
Message
Leshik Участник Joined: 14 Nov 2007 Posts: 8
Posted: Wed Jan 16, 2008 11:33 am Post subject: Как узнать имя пользователя Windows в ABAP программе?
Доброе утро.
Вопрос в теме.
Back to top
John Doe Модератор Age: 46 Joined: 05 Nov 2007 Posts: 725 Location: КраснАдар
Posted: Wed Jan 16, 2008 12:55 pm Post subject:
Это какой-то шаманский трюк, но работает...
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 заполняется после второго метода...
ЗЫ Вообще-то хотел имя из строки рабочего каталога SAP выдрать, но так даже красивше.
Back to top
admin Администратор Joined: 01 Sep 2007 Posts: 1640
Posted: Wed Jan 16, 2008 1:13 pm Post subject:
John Doe wrote: Это какой-то шаманский трюк, но работает...
Причем добился я этого сейчас случайно и NAME заполняется после второго метода...
Не, не шаманский. Просто дергается rfc функция на десктопе, после которой flush нужен, чтобы ушел запрос
Есть еще обертка под эти же функции:
Code: DATA: user(32).
CALL FUNCTION 'GUI_GET_DESKTOP_INFO'
EXPORTING
type = '5'
CHANGING
return = user.
WRITE: user.
Back to top
John Doe Модератор Age: 46 Joined: 05 Nov 2007 Posts: 725 Location: КраснАдар
Posted: Wed Jan 16, 2008 2:59 pm Post subject:
Точно, 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
Shaman Участник Age: 40 Joined: 11 Jan 2008 Posts: 27 Location: Киев
Posted: Wed Feb 13, 2008 7:34 pm Post subject:
А как потянуть всю (или часть) инфу о системе не вызывая CALL FUNCTION 'GUI_GET_DESKTOP_INFO' для каждого поля (type '1' - '12')?
Back to top
vga Мастер Age: 170 Joined: 04 Oct 2007 Posts: 1218 Location: Санкт-Петербург
Posted: Wed Feb 13, 2008 8:59 pm Post subject:
Shaman wrote: А как потянуть всю (или часть) инфу о системе не вызывая CALL FUNCTION 'GUI_GET_DESKTOP_INFO' для каждого поля (type '1' - '12')?
А потреба какая?
Можно вытянить в 12 разных переменных, запустив один раз flush, чтобы все 12 пакетов ушли одним запросом. Будет быстро.
Back to top
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.