SAP IRPA ---LoginSAP

本文介绍如何通过编写自动化脚本实现SAP GUI的批量登录操作。具体步骤包括:从Excel读取登录信息、选择SAP服务器、输入登录凭证并完成登录。通过自定义控件和JavaScript脚本来实现这一过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景:

从EXCEL读取了账号密码,客户端等等信息,然后登陆到对应的SAP GUI

第一步:添加应用程序

一共需要识别三个页面
在这里插入图片描述
(上图可以看到我的saplogon是用的列表视图,而不是工作区视图,原因是因为:只有列表视图才能识别到可以点击的元素,其他的识别不出来,可以自己试试。我写的另一篇博客的登陆方式更简单,完美去除了这种限制,可以看看。更简单方式
在这里插入图片描述
除此以外,还要双击页面,然后添加页面上自己稍后会用到的元素。比如:
在这里插入图片描述
(要登陆到哪一个也是从EXCEL里面读取出来的,所以我需要识别这些,以便于后面登陆到对应的服务器)
在这里插入图片描述

第二步:创建工作流

在如下工作流里,首先读取EXCEL文件里面的东西,然后启动SAPLogon,然后分别进入上一步识别到的三个页面。
在这里插入图片描述
在这里插入图片描述
双击页面,编辑其具体活动。
双击第一个页面
在这里插入图片描述
(我个人都喜欢使用custom控件,然后自己写代码,不喜欢拖其他控件,然后给控件属性赋值的方式。这完全看个人喜好)

在第一个页面里面放一个custom控件,然后给它改个名字,改成click,表示在第一个页面即SAPLogon页面上,需要点击哪个地方。custom里面具体的代码在第三步写。

双击第二个页面
在这里插入图片描述
在第二个页面里面放一个custom控件,然后给它改个名字,改成set&Enter,表示在第二个页面即Login页面上,需要设置上值,然后点击Enter键。custom里面具体的代码在第三步写。

第二个页面的流程结束后,我添加了一个Wait控件,等待一秒。如下:
在这里插入图片描述
最后,点击构建按钮
在这里插入图片描述

第三步:编写脚本代码

因为我们用到了EXCEL,所以需要添加EXCEL的脚本库
右键,然后包含,然后添加EXCEL集成
在这里插入图片描述
在这里插入图片描述
点击根据自己的工作流构建出来的脚本,然后开始写代码。
在这里插入图片描述
找到代码里面对应的步骤,和自己要写代码的地方。

Step: ReadExcelViaCode_Login

在这里插入图片描述
ReadExcel

//ReadExcel
	ctx.options.excel.visible = false;
	ctx.excel.initialize();
	ctx.excel.file.open("C:\\Users\\wenj\\Desktop\\LoginSAP.xlsx");
	rootData.LoginData.Data = ctx.excel.sheet.getFullRangeValues('A',1,'E',1,undefined);
	ctx.log(JSON.stringify(rootData.LoginData.Data));
	ctx.excel.file.close();
 	ctx.excel.end();

这里是从A列读到E列,然后从1行到1行。
这里从EXCEL读取出来的数据存放在LoginData.Data里面的。
LoginData.Data是怎么来的?如下:
返回到工作流步骤,然后创建上下文。
最右边打勾表示这个是一个数组对象。
在这里插入图片描述

Step: pLogon_management

在这一步,是根据从EXCEL里面读取出来的数据,来判断登录到哪个SAP服务器
在这里插入图片描述

// Describe functionality to be implemented in JavaScript later in the project.
//Click which Client
var clickWhere = rootData.LoginData.Data[0][0];
ctx.log(clickWhere);
SAPLogon760.pLogon[clickWhere].clickDouble();

Step: pLogin_management

这一步是输入Client、账号、密码、登陆语言,然后点击键盘Enter键,登陆到SAP系统里。
在这里插入图片描述

// Describe functionality to be implemented in JavaScript later in the project.
		SAPLogon760.pLogin.ed集团.set(rootData.LoginData.Data[0][1]);
		SAPLogon760.pLogin.ed用户.set(rootData.LoginData.Data[0][2]);
		SAPLogon760.pLogin.o密码.set(rootData.LoginData.Data[0][3]);
		SAPLogon760.pLogin.ed登录语言.set(rootData.LoginData.Data[0][4]);
		// Sends a key sequence to a page.
		SAPLogon760.pLogin.keyStroke(e.SAPScripting.key._Enter_);

Step: pSAP_Menu_management

这一步是进入SAP系统后,在输入事务码的地方,输入EXCEL里面自己的事务码,然后点击Enter。(这里的代码有问题,并没有生效,我懒得改)
在这里插入图片描述

// Describe functionality to be implemented in JavaScript later in the project.
SAPLogon760.pSAP_Menu.oGuiOkCodeField.set(rootData.LoginData.Data[0][5]);
ctx.log(rootData.LoginData.Data[0][5]);
// Sends a key sequence to a page.
SAPLogon760.pSAP_Menu.keyStroke(e.SAPScripting.key._Enter_);

另一种点击Enter键的方式,貌似不生效。

SAPLogon760.pSAP.keyStroke(e.key.Enter);

至此,整个流程已经完毕。然后点击调试,就可以登陆了。
最后,放一下EXCEL里面的数据长什么样子:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值