关于abap:SAP-GUI-一些实用技巧分享

42次阅读

共计 3344 个字符,预计需要花费 9 分钟才能阅读完成。

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 GUI 里内发现有一个十分古老的 ABAP 包,最初一次批改曾经是 22 年前的 1995 年了。这比 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 模块:

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

屏幕状态:

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

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

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

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

对于 HPGL 的语法手册,能够在这个网站上查阅:

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

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

假如我通过某种跳转形式关上了下图这个 SAP GUI 的屏幕,但我想搞清楚用哪一个事务码能够间接达到这个屏幕,而不通过繁琐的点击,应该怎么做?

步骤 1,点击 Order 字段,按 F1 关上帮忙界面,

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

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

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

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

SAP GUI 零碎登录页面配置的 SAProuter 性能解说

大家在装置完 SAP GUI 后,筹备增加零碎列表进行登录时,留神过这个 SAP router 字段么?

从 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 服务器。


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

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

咱们能够把用 SAP GUI 登录零碎的快捷方式保留到本地,下次双击即可间接用 SAP GUI 登入零碎:

用记事本关上,发现这些 .sap 文件的内容如下:

咱们次要观看红色高亮局部,其中 H 示意主机名,S 示意服务即 Service.

总结

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

正文完
 0