SAP小技巧之 全版本的SAPGUI免密登录方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SAP小技巧之 全版本的SAPGUI免密登录方式相关的知识,希望对你有一定的参考价值。

参考技术A

前言

    SAPGUI 7.4以下版本提供了一个创建快捷方式时输入密码的功能(激活这个功能需要调整注册表,搜索SAPGUI免密登录,可以查到很多,这里就不啰嗦了).有多少人为了使用这个免密登录而选择不升级SAP GUI ? 请参与一下这个小统计

    我也曾经在新版本和免密登录这两个选项中徘徊.就好比拿到葵花宝典,又被首页的话吓住了.(捉住了金庸的一个BUG:为什么没有女人去练葵花宝典呢?)

    练,还是不练,这是一个问题.

    那么,怎么才在不丧失男性功能的情况下练习葵花宝典呢?

    下面提供了两种方案,请酌情选用,保你即练成了神功(用上了最新版的SAPUI),又保留了男性特征(保留免密登录功能).

方案一

偷梁换柱

使用SAPGUI的桌面快捷方式.

如下图,创建一个桌面快捷方式

用文本编辑软件修改桌面快捷方式,添加行

password="PW_0BB06A118AF0660F"

常用密码对照

SPRING

这个密码来自一个740版本的GUI保存了密码的快捷方式,准备了一些常用密码的对应关系,你是不是也用过其中一个密码呢.

123456        PW_49B3201CD5F1

asdf1234      PW_19F2774ED1F5330A

1qaz2wsx    PW_49F07252D2B07346

654321        PW_4EB4271BD2F6

Asdfqwer      PW_19F2774E91B0654C

qwer1234    PW_09F6765AD1F5330A

你可以把这些快捷方式拖到WINDOWS的任务栏,这样,右键点击图标,选择系统就可以免密登录了

    第一种方案有个缺陷(没有简单工具把密码转换成加密密码,只能用旧版的GUI转换),如果你无法接受这个缺陷,那么建议你用第二个方案.

方案二

直捣黄龙

    创建一个批处理文件(以 BAT作为文件的后缀). 把下面的语句写入到文件中.(具体的程序路径需要以你的系统为准)

两个重要参数与登录界面字段的对应:

双击这个批处理文件,就可以免密登录了.

但是批处理文件的图标太丑陋了. 你可以为这个批处理文件创建一个快捷方式, 并修改快捷方式的图标.

这样,你就有了一个可直接登录的快捷方式,同时也避免了直接泄露密码

THE

END

SAP GUI 一些实用技巧分享

SAP GUI 是 SAP 的通用客户端,用于访问 SAP 应用程序中提供的开发和业务功能,例如 SAP ERP、SAP Business Suite(SAP CRM、SAP SCM 和 SAP PLM)、SAP Business Intelligence 等。 SAP GUI 既是 SAP 应用的开发环境,也是运行环境。它从 SAP 服务器获取信息,例如在其窗口中需要显示的信息,在何时,何处,以及以什么样的方式来显示。

本文给大家分享笔者使用 SAP GUI 进行开发这些年来,积累的一些实用技巧。

使用 SAP GUI 绘制图形

国内 80 后上的编程课应该都学过​​Logo​​这门编程语言:

Logo 语言是一门专门设计用来进行编程教学的语言,于 1967 年由 Wally Feurzeig, ​​Seymour Papert​​​和​​Cynthia Solomon​​发明。

下图是用 Logo 语言画出来的图案。

SAP

同样,在 SAP GUI 里内发现有一个非常古老的 ABAP 包,最后一次修改已经是 22 年前的 1995 年了。这比 SAP 成都研究院很多新同事的年龄都要大。

SAP

这个包提供了一个 HPGL 接口。Hewlett-Packard Graphics Language,简称为 HPGL,是一种打印机控制语言,由​​Hewlett-Packard​​设计。

下面是我用 ABAP 代码写的一个 HPGL 控制台,可以调用函数 GRAPH_HPGL,像小时候使用Logo 语言那样在屏幕上作图。

REPORT z.

DATA: go_text_edit TYPE REF TO cl_gui_textedit,
go_cust_container TYPE REF TO cl_gui_custom_container,
ok_code TYPE sy-ucomm.
DATA lt_text(256) TYPE c OCCURS 0.
DATA: BEGIN OF lt_hpgl OCCURS 1,
entry(128),
END OF lt_hpgl.

CALL SCREEN 0101.

MODULE status_0101 OUTPUT.

SET PF-STATUS JERRY_CONSOLE.
SET TITLEBAR JERRY_TITLEBAR.

IF go_cust_container IS INITIAL.
go_cust_container = NEW #( container_name = CUSTOM_CONTROL ).
CREATE OBJECT go_text_edit
EXPORTING
parent = go_cust_container
wordwrap_mode = cl_gui_textedit=>wordwrap_at_fixed_position
wordwrap_to_linebreak_mode = cl_gui_textedit=>false.
ENDIF.
ENDMODULE.

MODULE user_command_0101 INPUT.
ok_code = sy-ucomm.
CASE ok_code.
WHEN BACK OR QUIT OR EXIT.
LEAVE TO SCREEN 0.
WHEN EXECUTE.

CLEAR: lt_text, lt_hpgl[].
go_text_edit->get_text_as_r3table( IMPORTING table = lt_text ).

LOOP AT lt_text ASSIGNING FIELD-SYMBOL(<text>).
APPEND INITIAL LINE TO lt_hpgl ASSIGNING FIELD-SYMBOL(<hpgl>).
<hpgl>-entry = <text>.
ENDLOOP.

CALL FUNCTION GRAPH_HPGL
TABLES
data = lt_hpgl.
WHEN OTHERS.
ENDCASE.

ENDMODULE.

Screen 101 的 PBO 和 PAI 模块:

SAP

Screen 101 的界面布局,需要手工创建一个名为 ​​CUSTOM_CONTROL​​ 的控件。

SAP

屏幕状态:

SAP

执行这个 report,点击 Load Local file,从本地加载 Doraemon.txt 文件,内容可以从我的​​github​​下载:

SAP

执行之后,位于本地安装目录下的 gnhpx.exe 文件会根据 txt 里的指令进行图形渲染:

​C:\\Program Files (x86)\\SAP\\FrontEnd\\SAPgui\\gnhpx.exe​

SAP

如果一切正常工作,可以看到一只渲染好的机器猫(哆啦A梦)。

关于 HPGL 的语法手册,可以在这个网站上查阅:

​http://www.isoplotec.co.jp/HPGL/eHPGL.htm​

如何通过一个 SAP GUI 屏幕反查这个屏幕对应的事务码

假设我通过某种跳转方式打开了下图这个 SAP GUI的屏幕,但我想搞清楚用哪一个事务码可以直接到达这个屏幕,而不通过繁琐的点击,应该怎么做?

SAP

步骤1,点击 Order 字段,按 F1 打开帮助界面,

SAP

点上图的图标显示技术信息,得到了实现这个屏幕的程序名称:SAPLCOCU:

SAP

双击程序名,进入程序实现,再点击这个图标:

SAP

从而打开了这个程序所属的 function group COCU,其对应的 ABAP 包为 CO:

SAP

在这个 package CO 里,终于找到了我想要知道的事务码名称:CO01/02/03, 用于操作S/4HANA 里的 production order 即生产订单。

SAP

SAP GUI 系统登录页面配置的 SAProuter 功能讲解

大家在安装完 SAP GUI 后,准备添加系统列表进行登录时,注意过这个 SAP router 字段么?

SAP

从 SAP 的​​帮助文档​​上可以找到 SAProuter 的定义:


SAProuter is an SAP program that acts as an intermediate station (proxy) in a network connection between SAP systems, or between SAP systems and external networks. SAProuter controls the access to your network, and, as such, is a useful enhancement to an existing firewall system (port filter).



Figuratively, the firewall forms an impenetrable “wall”around your network. However, since particular types of connections need to penetrate this wall, a “gate”has to be made in the firewall. SAProuter assumes control of this gate.
In short, SAProuter provides you with the means of controlling access to your SAP system.


SAProuter 是一个 SAP 发布的应用,在 SAP 系统与系统之间,SAP 系统与外部网络之间扮演着代理的角色。SAProuter 能实现对 SAP 系统的访问控制,是企业防火墙的有效补充。

如下图所示,部署于企业局域网的客户端 SAP GUI 进行系统登录,登录请求通过局域网内的 SAP router 转发到 Internet 网络上的另一台 SAP Router,再转发给部署于企业内网的 ERP 服务器。

SAP

SAP

上述描述的场景里,形象的说好比在 ERP 服务器所在的企业内网和 SAP GUI 的客户端所在的内网打了两个洞,在洞里部署两台 SAP router,确保只有受限的网络请求能够进出这两个被防火墙保护的安全网络。

这种 ​​打洞​​ 的思路,在 SAP 另一款解决方案:SAP Cloud Connector 里有类似的用法:

SAP

我们可以把用 SAP GUI 登录系统的快捷方式保存到本地,下次双击即可直接用 SAP GUI 登入系统:

SAP

用记事本打开,发现这些 ​​.sap​​ 文件的内容如下:

SAP

我们主要观看红色高亮部分,其中 H 表示主机名,S 表示服务即 Service.

总结

SAP GUI 是 SAP 的通用客户端,用于访问 SAP 应用程序中提供的开发和业务功能,它既是 SAP 应用的开发环境,也是运行环境。本文分享了笔者使用 SAP GUI 工作多年积累的一些使用小技巧,例如使用 SAP GUI 绘制简单的矢量图,根据一个屏幕反查该屏幕对应事物码,以及 SAP Router 的概念解析。

以上是关于SAP小技巧之 全版本的SAPGUI免密登录方式的主要内容,如果未能解决你的问题,请参考以下文章

ssh 配置免密登录

ssh 配置免密登录

ssh 配置免密登录

SAP GUI 一些实用技巧分享

linux配置了免密,如何不使用免密登录

linux下配置远程免密登录方法教程