10метровафигенавапровода написал(а):
Подобная хаутушка тоже есть и тоже есть соблазн использовать этот функционал, но руки пока не доходят.
Как решишь проблему - не поленись опиши полностью что и как делал и чего в ХауТу не написано, плиз..
Разобрался. Очень полезный функционал, как оказалось.
Хаутушка называется: "How To… Call a BPS Web Interface with Predefined Selections"
В общем случае описывет как вызвать web-форму планирования с предустановленными значениями переменных (значения переменных передаются в строке url - что очень удобно)
В коде (в приложении хаутушки) оказалось несколько неточностей и ошибок:
1. Код начинается с такой строчки:
Code:
<<< <%@page language="abap" %>
нужно заменить на
Code:
<%@page language="abap" %>
Что делают символы "<<<" для меня осталось загадкой, но что сводят работоспособность на нет - это точно.
2. Есть путаница с именами параметров:
В табличке, где они описываются, есть следующий текст:
Code:
bps-appl Name of the BSP web interface
bps-page Name of the page within the web application
в то же время, в качестве примера URL предлагается:
Code:
<URL we get from our BSP application>?area=example_area&bsp-appl=Example&bsppage=
Page2&var1=var_year&value1_1=2004&var2=var_cc&value2_1=1000&value2_2=1234
Если присмотреться, то в url, вместо правильного параметра bps-appl, прописывается bsp-appl (перепутаны символы), а вместо bps-page - написали ошибочно bsppage (перепутаны символы и забыт дефис). Названия правильных параметров приведены в табличке. Будьте внимательны при составлении url!
3. В коде из документа есть такой текст:
Code:
<frameset framespacing=0 frameborder=0 border=0>
<frame src="<%= l_url%>" name="x" framespacing=0 frameborder=0 border=0
marginwidth=0 marginheight=0>
</frameset>
Здесь у меня не совсем хотели работать html-инструкции, которые формируют в окне интернет ехплорера frameset. Я их переделал.
Код, вида:
Code:
<%= l_url%>
отвечает за то, как должна будет выглядеть url той web-папки, которую вы хотите открыть. Как мне показалось, url формируется не совсем полной и её вручную нужно слева дополнять текстом http:// с именем серверера, а справа прописать информацию о манданте и языке текста.
С учётом этих замечания мой код стал выглядеть следующим образом:
Code:
<frameset rows="*,0" frameborder="NO" border="0" framespacing="0">
<frame src="http://us7031.wdf.sap.corp:50031<%= l_url%>?sap-client=950&sap-language=RU" name="x">
</frameset>
где
Code:
http://us7031.wdf.sap.corp:50031
название сервера (взял из примера - у каждого из вас тут будет своё)
а,
Code:
?sap-client=950&sap-language=RU
имя манданта и язык диалога.
Вроде всё. Теперь можно формировать url типа:
Code:
http://us7031.wdf.sap.corp:50031/sap/bc/bsp/sap/zbps_var_set/zbps_set_var.htm?area=ZUS8001&bps-appl=ZWEBZBP003&var1=ZUS8002&value1_1=LKKR&var2=ZUS8004&value2_1=0701
исполнения такого url вызовет web-папку планирования ZWEBZBP003 и установит переменную ZUS8002 в значение 'LKKR', а переменную ZUS8004 в значение '0701'
Переменные могут быть любого типа кроме 'User Exit' с отмеченной галочкой "Требуется ограничение значений пользователем".
Так же полезно в IE отключить блокировку всплывающих окон.