SAP GUI 表现SAP UI5应用,并实现SSO同一登陆
想用SAP UI5 做一写界面,又不想给用户用标准的Fiori APP怎么办?我以为可以用可配置物料标准功能的思绪,在SAP GUI中表现UI5界面,而不是跳转到欣赏器。https://i-blog.csdnimg.cn/img_convert/c94f2a7dbc812d442247ddc5575c1897.png
代码实现后的效果如下:
1、调用UI5应用,实用于自开辟的,参考前几篇文章做的应用,没有配置Fiori LanuchPad。
https://i-blog.csdnimg.cn/img_convert/4018d909f39aae07433b676e55e768f8.png
2、调用 Firoi lanuchPad,然后表现的应用,标准的应用,这种走远了。用户容易既要又要的。
https://i-blog.csdnimg.cn/img_convert/b290251f97124afb0118c50b430236b6.png
实现原理很简朴,逻辑就是接纳HTML控件调用URL地点,且不要跳转到欣赏器,直接表现在SAP GUI 中。代码如下:
DATA: lo_html_control TYPE REF TO cl_gui_html_viewer,
fcode LIKE sy-ucomm,
lo_container TYPE REF TO cl_gui_custom_container,
lo_http_client TYPE REF TO if_http_client,
lv_url(2048).
START-OF-SELECTION.
SET SCREEN 100.
" 创建屏幕容器
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
IF lo_container IS INITIAL.
lo_container = NEW cl_gui_custom_container(
container_name = 'CO1'
).
ENDIF.
" 创建 HTML 控件
IF lo_html_control IS INITIAL.
lo_html_control = NEW cl_gui_html_viewer(
parent = lo_container
).
IF sy-subrc NE 0.
RAISE cntl_error.
ENDIF.
ENDIF.
" 设置 SAPUI5 应用的 URL(需替换为实际地址)
lv_url = 'https://IP:Port/sap/bc/ui5_ui5/sap/zbook'.
IF sy-subrc = 0.
IF sy-subrc = 0.
* lo_html_control->enable_sapsso( enabled = 'X' ).
"加载页面
lo_html_control->show_url( url = lv_url )."不跳转到浏览器
* lo_html_control->detach_url_in_browser( url = lv_url ).
cl_gui_cfw=>flush( ).
ENDIF.
ENDIF.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
CASE fcode.
WHEN 'BACK'.
IF NOT lo_html_control IS INITIAL.
CALL METHOD lo_html_control->free.
FREE lo_html_control.
ENDIF.
IF NOT lo_container IS INITIAL.
CALL METHOD lo_container->free
EXCEPTIONS
OTHERS = 1.
IF sy-subrc <> 0.
ENDIF.
FREE lo_container.
ENDIF.
LEAVE PROGRAM.
WHEN OTHERS.
CALL METHOD cl_gui_cfw=>dispatch.
ENDCASE.
CLEAR fcode.
ENDMODULE. SSO,接纳SAP GUI 当前用户账号密码直接登录的代码如下:
lo_html_control->enable_sapsso( enabled = 'X' ). 增加SSO认证代码后,如果出现以下题目:
https://i-blog.csdnimg.cn/img_convert/28bb178ca8437310de7c2e2542a3388b.png
按照note 612670办理办法,通过事件代码SE38实行实行 SAPHTML_SSO_DEMO
https://i-blog.csdnimg.cn/img_convert/84e7c35fa6d1de87043d7e5a461c1da7.png
测试标准demo程序能不能正常运行,可以验证是系统设置题目照旧代码题目。
调用deepseek网页,效果一样的,在GUI里摸鱼。
https://i-blog.csdnimg.cn/img_convert/6affddc43a5f9c991890724c74460bd1.png
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]