SAP系统激活脚本工具GUIXT简介
SAP系统激活脚本工具GUIXT简介
-
- 1. GuiXT 的主要作用
- 2. GuiXT 的基本原理
- 3. 常用 GuiXT 脚本命令示例
- 4. 部署与使用
- 5. 优势与局限
- 6. GuiXT 常用命令速查表
- 7.SAP 常见事务脚本示例
-
- 7.1 VA01(创建销售订单)自动填充示例
- 7.2 ME21N(创建采购订单)批量物料输入
- 7.3MIGO(收货过账)自动化脚本
-
8.前窗操作
-
- 启动GUIXT程序
-
- 配置脚本参数
-
- 建立销售订单界面参数设置
-
-
在自定义开发平台中添加图标切换功能
- 9.总结
-
SAP 系统中的 GuiXT 是一种功能增强工具,在无需修改 SAP 标准代码的前提下实现对 SAP GUI 界面 以及业务流程的重新设计与优化。该技术由 Synactive 开发团队开发,并常见地以附加组件的形式集成到 SAP GUI 中运行。简而言之,GuiXT 可以被看作类似于 SAP 界面中的「造型师与助手」组合,在线框图设计阶段通过脚本实现对界面布局、字段设置、按钮功能以及流程操作的动态配置与自动化处理。
1. GuiXT 的主要作用
-
界面简化
删除不必要的字段、标签或按钮,减少用户的视觉负担。 -
增加自定义元素
在标准界面中增加按钮、文本、图片、URL 链接等。 -
自动填充数据
通过脚本在字段中自动输入默认值或根据逻辑计算值。 -
跨屏操作
自动执行一系列事务代码、点击和输入操作,简化业务步骤。 -
与外部系统交互
从 Excel、文本文件、数据库读取数据填充 SAP 界面。 -
流程引导
根据用户输入动态显示提示,帮助用户减少错误。
2. GuiXT 的基本原理
GuiXT 在 SAP GUI 客户端,通过**脚本文件(.txt)**对 SAP 界面做动态修改。
- 存储位置:可以选择本地设备、网络存储位置以及SAP服务器端(便于集中管理维护)。
- 编程语言:采用结构简洁的语义设计,并基于一组核心命令操作(包括删除指令、输入指令、按钮操作指令、文本处理指令、赋值指令以及文本复制指令等)。
- 启动方式:在SAP GUI中配置GuiXT选项以启用该功能,并在程序运行时指定相应的脚本路径文件名和路径定位信息;该功能无需手动干预即可运行该脚本。
3. 常用 GuiXT 脚本命令示例
// 删除字段
Delete F[物料号]
// 输入默认值
Set F[工厂] "1000"
// 增加按钮并绑定事务
Pushbutton (1,1) "查看库存" "/nMMBE"
// 从 Excel 文件读取值填充字段
Set V[myValue] "&cell(1,1)"
Input F[数量] "&V[myValue]"
txt

F[...]代表屏幕上的字段(可通过技术信息查询字段名称)。/nMMBE代表直接执行事务代码 MMBE。
4. 部署与使用
配置激活 * 确保 SAP GUI 已配置GuiXT组件(可从SAP GUI 安装包中选择安装)。
-
在SAP GUI的设置界面→选项→GuiXT设置页面勾选「启用GuiXT」选项。
脚本路径设置 * 指定本地或服务器脚本路径(Script1 到 Script4 支持多路径)。
脚本文件命名规则 * 脚本文件名 = 事务代码 + 屏幕号(如 VA01.txt)。
在本地环境下运行测试后,在网络共享目录或SAP服务器路径上配置脚本文件,并确保所有客户端能够自动生成对该文件的引用
5. 优势与局限
优势
- 不需要 ABAP 开发即可实现功能,并且能够有效避免可能出现的升级相关风险。
- 可以快速配置并适配精简的 UI 设计以及小型功能模块的扩展性。
- 支持批量处理自动化数据输入,并且能够降低对人工干预的需求。
局限
- 该功能仅限于SAP GUI界面,并非可以直接应用于Fiori界面。
- 维护脚本时需熟悉相关命令及屏幕字段的技术信息。
- 进行过多界面修改可能会导致SAP升级过程中出现兼容性问题。
6. GuiXT 常用命令速查表
| 命令 | 作用 | 示例 | 说明 |
|---|---|---|---|
| Delete | 删除界面元素(字段、按钮、标签) | Delete F[物料号] |
F[] 表示字段,P[] 表示按钮,L[] 表示标签 |
| Set | 给字段赋值(变量或常量) | Set F[工厂] "1000" |
支持直接写值或变量 |
| Input | 向字段输入值 | Input F[数量] "50" |
常用于流程自动化 |
| Pushbutton | 添加按钮并绑定功能 | Pushbutton (1,1) "查看库存" "/nMMBE" |
(行,列) 控制按钮位置 |
| Text | 在界面上添加文字 | Text (2,10) "请输入物料号" |
位置用 (行,列) 表示 |
| CopyText | 将文本从一个字段复制到另一个字段 | CopyText F[客户] F[收货方] |
常用于复制相同数据 |
| If / EndIf | 条件判断 | If V[Plant]="1000" ... EndIf |
与变量配合使用 |
| SetCursor | 将光标移动到指定字段 | SetCursor F[物料号] |
提升输入体验 |
| ReadText | 从字段读取内容到变量 | ReadText F[数量] V[qty] |
用于逻辑判断或后续输入 |
| Set V[] | 设置变量值 | Set V[date] "&date(YYYYMMDD)" |
&date 是内置函数 |
| LoadText | 从外部文件读取文本 | LoadText "C:\temp\data.txt" -to V[data] |
可用于批量输入 |
| Enter | 执行回车操作 | Enter "/11" |
/11 表示回车功能码 |
7.SAP 常见事务脚本示例
7.1 VA01(创建销售订单)自动填充示例
// 删除不需要的字段
Delete F[销售组织]
Delete F[分销渠道]
// 设置默认值
Set F[销售组织] "1000"
Set F[分销渠道] "10"
Set F[产品组] "01"
// 自动输入客户
Set F[售达方] "1000001"
// 添加库存查看按钮
Pushbutton (1,10) "库存查询" "/nMMBE"
// 光标定位到物料号
SetCursor F[物料号]
txt

7.2 ME21N(创建采购订单)批量物料输入
// 读取 Excel 值并输入
Set V[file] "C:\PO\items.xlsx"
// 供应商
Set F[供应商] "2000001"
Set F[采购组织] "1000"
Set F[采购组] "001"
// 循环输入物料(假设已通过外部工具转换为 GuiXT 可读取数据)
Set V[row] "1"
Label loop
Set V[mat] "&cell(&V[row],1)"
Set V[qty] "&cell(&V[row],2)"
If V[mat]=""
Goto endloop
EndIf
Input F[物料] "&V[mat]"
Input F[数量] "&V[qty]"
Add V[row] "1"
Goto loop
Label endloop
txt

7.3MIGO(收货过账)自动化脚本
// 选择事务类型
Set F[事务] "收货"
// 输入采购订单号
Set F[采购订单] "4500001234"
// 自动填充工厂和库存地点
Set F[工厂] "1000"
Set F[库存地点] "0001"
// 回车进入明细
Enter "/11"
// 自动勾选全部物料
Pushbutton (15,5) "全选" "/n"
// 光标移动到过账按钮
SetCursor P[过账]
txt

8.前台系统操作
8.1激活GUIXT
在SAP界面中点击激活guiXT ,如下图中所示

激活guiXT后,可以看到前面多了一个标识,说明GuiXT已经被激活

同时SAP中会弹出一个页面,如下图中所示

如果GuiXT窗口未显示,则表明GuiXT已设为处于'隐藏'模式,默认适用于普通用户;但针对脚本开发者则应采用可见的GuiXT视窗。在此情形下,请确保在Windows控制台运行以下命令:guixt visible

8.2、脚本设置
点击页面中的profile

如下图中进行勾选

默认状态下,默认情况下

8.3 创建销售订单窗口设置
执行事务代码VA01
观察GUIXT的界面

在Script中如下图中可以看到脚本存在的路径,

当对应路径中不存在的时候,则手工进行创建对应的文件路径

设置脚本路径—点击profile

在Scripts1 栏位中设置这个这个GuiXT的存放路径。

然后点击Script进行脚本的编写

页面会弹出一个TXT的编辑框,然后可以编写脚本代码

代码解释:
Radiobutton (0,0)
Radiobutton 代表一个单选按钮。(0,0)表示该按钮位于指定位置,并可通过拖放进行调整
“ZKB1/9999/10/00/ZZZZ/ZZZ”
表示:这个栏位的描述,可以自定义
F 产品组合(型号:XX-XXX-XXXX-XXXXX) P 分销区域(区域代码:XX-XXX-XXXX-XXXXX) D 订单类型(订单分类:XX-XXX-XXXX-XXXXX) S 供应方式(供应商编码:XX-XXX-XXXX-XXXXX) C 运营中心(管理单元代码:XX-XXX-XXXX-XXXXX) **Q 生产批次(生产日期代码:XX-XXX-XXXX-XXXXX)
F[产品组]表示必输,后面的"00"则表示必须是内容。

Pushbutton (12,01) “批量查看销售订单” “/OZSDR001”
脚本解释:
Pushbutton (12,01) 表示是一个按钮, (12,01)表示按钮的位置
“批量查看销售订单” ,表示这个按钮的描述
“/OZSDR001”:表示这个按钮跳转到哪个事务代码

Pushbutton (toolbar) “@13@ZSDR001” “/O ZSDR001”
Pushbutton (toolbar)表示:添加按钮并绑定功能
“@13@ZSDR001” 表示:@13@表示使用什么图标样式,ZSDR001表示这个图标的描述
“/O ZSDR001” 表示:跳转到的事务代码
在写完脚本后需要注意的是,TXT文本需要保存为ANSI的格式。

Radiobutton (0,0) "ZKB1/9999/10/00/ZZZZ/ZZZ" F[产品组] "00" F[分销渠道] "10" F[订单类型] "ZKB1" F[销售办事处] "ZZZZ" F[销售组] "ZZZ" F[销售组织] "9999"
Radiobutton (0,25) "ZKB1/1000/10/00/S016/S01" F[产品组] "00" F[分销渠道] "10" F[订单类型] "ZKB1" F[销售办事处] "S016" F[销售组] "S01" F[销售组织] "1000"
Pushbutton (12,01) "批量查看销售订单" "/OZSDR001"
Pushbutton (12,20) "查看库存" "/OMMBE"
Pushbutton (12,34) "查看物料需求" "/OMD04"
Pushbutton (toolbar) "@13@ZSDR001" "/O ZSDR001"
Pushbutton (toolbar) "@13@VA05" "/O va05"
java

以下是这些脚本在页面中的展现

8.4 自定义开发程序中新增图标跳转
在自定义开发程序中,在GUI状态中我们需要添加图标,并切换至目标页面;同样地,在GUIXT功能模块中也可以实现这一功能。
第一步是运行必要的事务代码,在新增页面里查看当前状态。 在批量检查BOM的过程中添加一个MMBE切换按钮。

查看guixt目录下的TXT文件列表;每当运行不同程序时,系统会自动创建相应的TXT文件来保存结果;接着,请点击Script按钮开始编写脚本代码。
Pushbutton (toolbar) "@13@查看物料库存" "/O MMBE "
Pushbutton (toolbar) "@11@批量查看物料库存" "/O MM52 "
java

编写完成后点击保存,然后退出页面重新执行。

9.总结
1、针对每个界面和事务代码的组合, Guixt会创建相应的TXT文件
2、脚本代码对测试系统、开发系统以及正式系统的应用均是即时生效的
3、当更换电脑时, 需要复制并移动相关脚本文档
4、同一台SAP客户端机器上, Guixt的应用可以在多台服务器之间运行, 同时应用层位于图形界面之上, 在单个SAP客户端机器上运行
本文阐述了 SAP 的 [SAP 系统激活脚本工具 GUIXT 简介] 的基本概念及其应用方法。旨在帮助您在实际操作中更好地运用 SAP 系统,并提升工作效率与管理能力。
感谢您的光临!希望本文能为您提供有价值的内容,并期待未来与您共同探讨 SAP 的更多功能与应用。
点击这里查看更多SAP相关内容
原创不易,如果本文对您有所帮助,请点赞!!!
文章中如有错误。敬请指正!
搜索公众号:SAP资料文库
微信号:SPRO_PP
时间:2025-08-12

