IT评测·应用市场-qidao123.com技术社区

标题: SAP GUI 表现SAP UI5应用,并实现SSO同一登陆 [打印本页]

作者: 我可以不吃啊    时间: 2025-4-14 07:44
标题: SAP GUI 表现SAP UI5应用,并实现SSO同一登陆
想用SAP UI5 做一写界面,又不想给用户用标准的Fiori APP怎么办?我以为可以用可配置物料标准功能的思绪,在SAP GUI中表现UI5界面,而不是跳转到欣赏器。


代码实现后的效果如下:
1、调用UI5应用,实用于自开辟的,参考前几篇文章做的应用,没有配置Fiori LanuchPad。


2、调用 Firoi lanuchPad,然后表现的应用,标准的应用,这种走远了。用户容易既要又要的。


实现原理很简朴,逻辑就是接纳HTML控件调用URL地点,且不要跳转到欣赏器,直接表现在SAP GUI 中。代码如下:
  1. DATA: lo_html_control TYPE REF TO cl_gui_html_viewer,
  2.       fcode           LIKE sy-ucomm,
  3.       lo_container    TYPE REF TO cl_gui_custom_container,
  4.       lo_http_client  TYPE REF TO if_http_client,
  5.       lv_url(2048).
  6. START-OF-SELECTION.
  7.   SET SCREEN 100.
  8.   " 创建屏幕容器
  9. *&---------------------------------------------------------------------*
  10. *& Module STATUS_0100 OUTPUT
  11. *&---------------------------------------------------------------------*
  12. *&
  13. *&---------------------------------------------------------------------*
  14. MODULE status_0100 OUTPUT.
  15.   IF lo_container IS INITIAL.
  16.     lo_container = NEW cl_gui_custom_container(
  17.       container_name = 'CO1'
  18.     ).
  19.   ENDIF.
  20.   " 创建 HTML 控件
  21.   IF lo_html_control IS INITIAL.
  22.     lo_html_control = NEW cl_gui_html_viewer(
  23.       parent = lo_container
  24.     ).
  25.     IF sy-subrc NE 0.
  26.       RAISE cntl_error.
  27.     ENDIF.
  28.   ENDIF.
  29.   " 设置 SAPUI5 应用的 URL(需替换为实际地址)
  30.   lv_url = 'https://IP:Port/sap/bc/ui5_ui5/sap/zbook'.
  31.   IF sy-subrc = 0.
  32.     IF sy-subrc = 0.
  33. *      lo_html_control->enable_sapsso( enabled = 'X' ).
  34.       "加载页面
  35.       lo_html_control->show_url( url = lv_url )."不跳转到浏览器
  36. *      lo_html_control->detach_url_in_browser( url = lv_url ).
  37.       cl_gui_cfw=>flush( ).
  38.     ENDIF.
  39.   ENDIF.
  40. ENDMODULE.
  41. *&---------------------------------------------------------------------*
  42. *&      Module  USER_COMMAND_0100  INPUT
  43. *&---------------------------------------------------------------------*
  44. *       text
  45. *----------------------------------------------------------------------*
  46. MODULE user_command_0100 INPUT.
  47.   CASE fcode.
  48.     WHEN 'BACK'.
  49.       IF NOT lo_html_control IS INITIAL.
  50.         CALL METHOD lo_html_control->free.
  51.         FREE lo_html_control.
  52.       ENDIF.
  53.       IF NOT lo_container IS INITIAL.
  54.         CALL METHOD lo_container->free
  55.           EXCEPTIONS
  56.             OTHERS = 1.
  57.         IF sy-subrc <> 0.
  58.         ENDIF.
  59.         FREE lo_container.
  60.       ENDIF.
  61.       LEAVE PROGRAM.
  62.     WHEN OTHERS.
  63.       CALL METHOD cl_gui_cfw=>dispatch.
  64.   ENDCASE.
  65.   CLEAR fcode.
  66. ENDMODULE.
复制代码
SSO,接纳SAP GUI 当前用户账号密码直接登录的代码如下:
  1. lo_html_control->enable_sapsso( enabled = 'X' ).
复制代码
增加SSO认证代码后,如果出现以下题目:


按照note 612670办理办法,通过事件代码SE38实行实行 SAPHTML_SSO_DEMO


测试标准demo程序能不能正常运行,可以验证是系统设置题目照旧代码题目。
调用deepseek网页,效果一样的,在GUI里摸鱼。



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4