Текущее время: Пн, июл 28 2025, 06:39

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Запуск транзакции из другого приложения c подстановкой значений выбора
СообщениеДобавлено: Чт, фев 11 2010, 18:23 
Ассистент
Ассистент

Зарегистрирован:
Пт, ноя 30 2007, 10:12
Сообщения: 47
Пол: Мужской
Для запуска использую ФМ ABAP4_CALL_TRANSACTION и подставляю в экран выбора значение из таблицы.
Но мне нужно сделать чтобы подставлялось не одно значение, а несколько.
Т.е. например при запуске транзакции в окне выбора проставились значения
123
234
Подскажите, пожалуйста, как возможно сделать.


Текст программы:
SPAGPA_TAB-PARID = 'FPS'.
SPAGPA_TAB-PARVAL = tabl-fipos.
append SPAGPA_TAB.

CALL FUNCTION 'ABAP4_CALL_TRANSACTION'
EXPORTING
TCODE = 'Z_01000293'
SKIP_SCREEN = ''
TABLES
SPAGPA_TAB = SPAGPA_TAB
EXCEPTIONS
COMMUNICATION_FAILURE = MESSAGE MSG_TEXT
SYSTEM_FAILURE = MESSAGE MSG_TEXT.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запуск транзакции из другого приложения c подстановкой значений выбора
СообщениеДобавлено: Чт, фев 11 2010, 19:18 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
используйте submit и конечно же поиск

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запуск транзакции из другого приложения c подстановкой значений выбора
СообщениеДобавлено: Пт, фев 12 2010, 11:09 
Ассистент
Ассистент

Зарегистрирован:
Пт, ноя 30 2007, 10:12
Сообщения: 47
Пол: Мужской
спасибо за совет ghost.
Только один вопрос - как сделать чтобы отчет запустился в новом режиме?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запуск транзакции из другого приложения c подстановкой значений выбора
СообщениеДобавлено: Пт, фев 12 2010, 11:36 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Используйте Ваш ФМ. Только заполняйте не SPAGPA_TAB, а USING_TAB. А для нового сеанса добавьте STARTING NEW TASK при вызове.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запуск транзакции из другого приложения c подстановкой значений выбора
СообщениеДобавлено: Пт, фев 12 2010, 13:49 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
ABAP4_CALL_TRANSACTION - посмотрите код :) Этот ФМ наверное для этого и написан, что вызывать в отдельной сессий, ну или чтоб вызывать дистанционно. В общем чтоб был ФМ на простой код. :)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запуск транзакции из другого приложения c подстановкой значений выбора
СообщениеДобавлено: Пт, фев 12 2010, 17:40 
Ассистент
Ассистент

Зарегистрирован:
Пт, ноя 30 2007, 10:12
Сообщения: 47
Пол: Мужской
Сделал следующим образом. Не совсем то, что ожидал. Вначале появляется в поле значение 123, а после нажатия на enter 234. А нужно чтобы подставилось сразу 123 и 234.
Поправьте меня если я не правильно cделал.

USING_TAB-PROGRAM = 'Y_REQ'.
USING_TAB-DYNPRO = '1000'.
USING_TAB-DYNBEGIN = 'X'.
USING_TAB-FNAM = 'FIPOS-LOW'.
USING_TAB-FVAL = '123'.
append USING_TAB.
USING_TAB-PROGRAM = 'Y_REQ_PS_MORE'.
USING_TAB-DYNPRO = '1000'.
USING_TAB-DYNBEGIN = 'X'.
USING_TAB-FNAM = 'FIPOS-LOW'.
USING_TAB-FVAL = '234'.
append USING_TAB.

CALL FUNCTION 'ABAP4_CALL_TRANSACTION'
STARTING NEW TASK 'TEST'
EXPORTING
TCODE = 'Z_01000293'
SKIP_SCREEN = ''
TABLES
USING_TAB = USING_TAB
EXCEPTIONS
COMMUNICATION_FAILURE = MESSAGE MSG_TEXT
SYSTEM_FAILURE = MESSAGE MSG_TEXT.

Сделал через submit. Получается как нужно. Неужели нужно будет создавать ФМ?

MOVE: 'FIPOS' TO SELTAB_WA-SELNAME,
'FPS' TO SELTAB_WA-KIND,
'I' TO SELTAB_WA-SIGN,
'EQ' TO SELTAB_WA-OPTION,
'123' TO SELTAB_WA-LOW.
APPEND SELTAB_WA TO SELTAB.
MOVE: 'FIPOS' TO SELTAB_WA-SELNAME,
'FPS' TO SELTAB_WA-KIND,
'I' TO SELTAB_WA-SIGN,
'EQ' TO SELTAB_WA-OPTION,
'234' TO SELTAB_WA-LOW.
APPEND SELTAB_WA TO SELTAB.


SUBMIT Y_REQ
WITH SELECTION-TABLE SELTAB
VIA SELECTION-SCREEN
AND RETURN.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запуск транзакции из другого приложения c подстановкой значений выбора
СообщениеДобавлено: Сб, фев 13 2010, 07:51 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
По коду ФМ-а это обычный пакетник, когда Вы заполняете USING_TAB. Я думаю что надо делать так.
Например, запуск FS10N с двумя счетами.
Code:
DATA: USING_TAB like BDCDATA OCCURS 0 WITH HEADER LINE.

USING_TAB-PROGRAM = 'RFGLBALANCE'.
USING_TAB-DYNPRO = '1000'.
USING_TAB-DYNBEGIN = 'X'.
USING_TAB-FNAM = 'SO_BUKRS-LOW'.
USING_TAB-FVAL = '9900'.
append USING_TAB.

USING_TAB-PROGRAM = 'RFGLBALANCE'.
USING_TAB-DYNPRO = '1000'.
USING_TAB-DYNBEGIN = 'X'.
USING_TAB-FNAM = 'GP_GJAHR'.
USING_TAB-FVAL = '2008'.
append USING_TAB.

USING_TAB-PROGRAM = 'RFGLBALANCE'.
USING_TAB-DYNPRO = '1000'.
USING_TAB-DYNBEGIN = 'X'.
USING_TAB-FNAM = 'BDC_OKCODE'.
USING_TAB-FVAL = '=%000'.
append USING_TAB.

USING_TAB-PROGRAM = 'SAPLALDB'.
USING_TAB-DYNPRO = '3000'.
USING_TAB-DYNBEGIN = 'X'.
USING_TAB-FNAM = 'RSCSEL-SLOW_I(01)'.
USING_TAB-FVAL = '12520100'.
append USING_TAB.

USING_TAB-PROGRAM = 'SAPLALDB'.
USING_TAB-DYNPRO = '3000'.
USING_TAB-DYNBEGIN = 'X'.
USING_TAB-FNAM = 'RSCSEL-SLOW_I(02)'.
USING_TAB-FVAL = '33900100'.
append USING_TAB.

USING_TAB-PROGRAM = 'SAPLALDB'.
USING_TAB-DYNPRO = '3000'.
USING_TAB-DYNBEGIN = 'X'.
USING_TAB-FNAM = 'BDC_OKCODE'.
USING_TAB-FVAL = '=ACPT'.
append USING_TAB.

USING_TAB-PROGRAM = 'RFGLBALANCE'.
USING_TAB-DYNPRO = '1000'.
USING_TAB-DYNBEGIN = 'X'.
USING_TAB-FNAM = 'BDC_OKCODE'.
USING_TAB-FVAL = '=ONLI'.
append USING_TAB.

CALL FUNCTION 'ABAP4_CALL_TRANSACTION'
STARTING NEW TASK 'TEST'
EXPORTING
TCODE = 'FS10N'
SKIP_SCREEN = ''
mode_val = 'E'
TABLES
USING_TAB = USING_TAB.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запуск транзакции из другого приложения c подстановкой значений выбора
СообщениеДобавлено: Пн, фев 15 2010, 10:04 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Galych написал:
Сделал через submit. Получается как нужно. Неужели нужно будет создавать ФМ?

Да, для запуска в новом режиме нужно создать ФМ, внутри него вызвать submit

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запуск транзакции из другого приложения c подстановкой значений выбора
СообщениеДобавлено: Пн, фев 15 2010, 13:24 
Ассистент
Ассистент

Зарегистрирован:
Пт, ноя 30 2007, 10:12
Сообщения: 47
Пол: Мужской
спасибо Besa за совет. Но возник вопрос а как сделать если передаваемых значений больше 9?
Например, значение 20


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запуск транзакции из другого приложения c подстановкой значений выбора  Тема решена
СообщениеДобавлено: Пн, фев 15 2010, 13:55 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Galych написал:
спасибо Besa за совет. Но возник вопрос а как сделать если передаваемых значений больше 9?
Например, значение 20

Ну можно например в буфер скинуть значения (cl_gui_frontend_services=>clipboard_export) и потом нажать кнопку "вставить из буфера" в многократном выборе :)
Можно щелкать по кнопке "вставить строку"...
Это изврат на самом деле. Этот модуль не для этого наверно придумали. Будет проще свой ФМ сделать и в него субмит завернуть как Вам уже посоветовали. Но если принципиально использовать именно этот ФМ то...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запуск транзакции из другого приложения c подстановкой значений выбора
СообщениеДобавлено: Вт, апр 26 2011, 12:12 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, май 19 2010, 12:10
Сообщения: 87
Galych написал:
спасибо Besa за совет. Но возник вопрос а как сделать если передаваемых значений больше 9?
Например, значение 20

понимаю тема не актуальна уже) но для будующих поколений вот еще тему нашел: viewtopic.php?f=13&t=63317&hilit=bdcdata


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запуск транзакции из другого приложения c подстановкой значений выбора
СообщениеДобавлено: Вт, апр 26 2011, 12:36 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, май 19 2010, 12:10
Сообщения: 87
Besa написал:
Code:
USING_TAB-PROGRAM = 'SAPLALDB'.
USING_TAB-DYNPRO = '3000'.
USING_TAB-DYNBEGIN = 'X'.
USING_TAB-FNAM = 'RSCSEL-SLOW_I(01)'.
USING_TAB-FVAL = '12520100'.
append USING_TAB.

а вот эти вещи я так понял заполняются непосредственно при вызове 3000 экрана?
... потому получается если не вызовем экран.. то ничего не заполняется

upd/ а тут програмно они вызываются похоже... но вот только у меня при програмном вызове ок_кодов выскакивает окошко с подтверждением(

upd2/ эх... неужто нет гуманного способа заполнить рэнджы... (


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запуск транзакции из другого приложения c подстановкой значений выбора
СообщениеДобавлено: Вт, апр 26 2011, 13:19 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
[censored] написал(а):
Besa написал:
Code:
USING_TAB-PROGRAM = 'SAPLALDB'.
USING_TAB-DYNPRO = '3000'.
USING_TAB-DYNBEGIN = 'X'.
USING_TAB-FNAM = 'RSCSEL-SLOW_I(01)'.
USING_TAB-FVAL = '12520100'.
append USING_TAB.

а вот эти вещи я так понял заполняются непосредственно при вызове 3000 экрана?
... потому получается если не вызовем экран.. то ничего не заполняется

upd/ а тут програмно они вызываются похоже... но вот только у меня при програмном вызове ок_кодов выскакивает окошко с подтверждением(

upd2/ эх... неужто нет гуманного способа заполнить рэнджы... (
Гуманный способ - через вариант, а там или submit или ct, настроенную на данный вариант

_________________
"После" - не значит "вследствие"


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запуск транзакции из другого приложения c подстановкой значений выбора
СообщениеДобавлено: Вт, апр 26 2011, 13:27 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, май 19 2010, 12:10
Сообщения: 87
sy-uname написал(а):
Гуманный способ - через вариант, а там или submit или ct, настроенную на данный вариант

я вот уже пытаюсь.. только почем-то call function 'RS_HDSYS_CALL_TC_VARIANT' напрочь отказывается его запускать (


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запуск транзакции из другого приложения c подстановкой значений выбора
СообщениеДобавлено: Вт, апр 26 2011, 14:07 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, май 19 2010, 12:10
Сообщения: 87
все, спасибо, сабмит - рулит :) (для заполнения селекшин скрина)

Code:
data: <табл> type table of rsparams.
///
submit прог-нэйм with selection-table <табл>.


Последний раз редактировалось [censored] Вт, апр 26 2011, 15:01, всего редактировалось 1 раз.

Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB