189 8069 5689

sap系统录制宏的简单介绍

如何在Excel中使用VB宏连接SAP系统

可以. 但需要对应的用户有RFC权限. 通时应了解BAPI函数及登录的标准样式. 登录后调研bapi即可导出后到excel.

创新互联建站主要从事网站设计、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务康平,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

SAP abap macro怎么用?define and end-of-defination 语法如何用?

define initial_field. “宏的开始

wa_fieldcat-seltext_1 = 1. “1 是第一个参数,2是第二个参数,以此类推

wa_fieldcat-seltext_m = 1.

wa_fieldcat-seltext_s = 1.

wa_fieldcat-fieldname = 2.

append wa_fieldcat to it_fieldcat.

end-of-defination. ”宏的结束

可意这样调用

initial_field: '物料' 'MATNR',

'物料名' 'MAKTX',

'工厂' 'WERKS'.

sap怎么录屏

LSMW里面,你会发现在第一个按钮双击进去,有四个可以选择,第二个就是,recording,录屏,去试试吧!

sap虚拟机不能脚本录制

背景:

实现sap系统自动化前,需要先开启自动录制脚本功能和启用脚本功能。大部分机器默认是关闭这两个功能的,如果没开启这两个功能,后续也无法进行自动化。因此,我们需要先开启这两个功能。

问题现象:

1、如下图,在SAP界面的定制本地布局菜单中,脚本录制和回放功能为灰色,无法进行点击操作,因此也无法进行本地脚本录制。

2、执行sap脚本后,连接不上SAP系统,无法进行自动化操作。

解决方式:

步骤1、开启脚本录制功能

1、 进入事务RZ11。sap界面左上角输入框输入RZ11,回车即可进入对应事务(如果SAP左下角提示您无权限使用事务RZ11,那就找管理员先开事务权限吧。)

进入对应事务

2、 输入 sapgui/user_scripting,并点击显示按钮

3、 检查“当前值”是否为True。如果为False,则改为True。

步骤2、开启脚本功能

1、 如图,进入SAP界面的选项。

2、进行如下设置,点击确定按钮保存即可。(之后好像要重启SAP系统)

自动化脚本录制验证:

1、 点击脚本录制和回放功能

2、 录制脚本前,先设置脚本保存的路径,之后再点击红色按钮开始录制脚本,就可以在SAP系统上进行自动化操作了,结束操作时,点击黄色按钮结束录制。

3、之后打开录制的脚本文件,里面的代码就是自动录制的脚本了。可将其录制的脚本拷贝到Excel的宏里面执行,即可实现SAP自动化。

sap自动化录制的代码

4、补充,必看。

SAP脚本录制时,那录制窗口里面还有个绿色的回放按钮(我这边实测该按钮无效)。此外,因为我这边自动化还需要使用到excel的数据,所以将录制的脚本代码拷贝到excel的宏里面去执行。

代码拷贝到excel后,不要直接执行,我们需要先修改代码里面的application变量名(如上图绿色字体,该变量名会和excel的对象冲突),将其改为其他变量名字(自己随便起个)。

以下是我录制到sap自动化代码,供大家参考。经过和Excel的表格数据结合,生成的VB脚本,直接存放于Excel的宏脚本里面。使用时,仅需要先将Excel数据录好,再登录SAP系统,就可以执行宏脚本了,即可实现SAP的自动化。

Sub 批量创建检验批()

Set SapGuiAuto = GetObject("SAPGUI")

Set AppSAP = SapGuiAuto.GetScriptingEngine

Set Connection = AppSAP.Children(0)

Set session = Connection.Children(0)

Cells(1, 8) = "检验批次"

maxrow = Sheets(1).[A65536].End(xlUp).Row

session.findById("wnd[0]").maximize

session.findById("wnd[0]/tbar[0]/okcd").Text = "QA01"

session.findById("wnd[0]").sendVKey 0

For i = 2 To maxrow

session.findById("wnd[0]/usr/ctxtQALS-MATNR").Text = ""

session.findById("wnd[0]/usr/ctxtQALS-WERK").Text = ""

session.findById("wnd[0]/usr/ctxtQALS-MATNR").Text = Cells(i, 2)

session.findById("wnd[0]/usr/ctxtQALS-WERK").Text = Cells(i, 4)

session.findById("wnd[0]/usr/ctxtQALS-HERKUNFT").Text = "89"

session.findById("wnd[0]/usr/ctxtQALS-HERKUNFT").SetFocus

session.findById("wnd[0]/usr/ctxtQALS-HERKUNFT").caretPosition = 2

session.findById("wnd[0]").sendVKey 0

session.findById("wnd[0]/usr/tabsTABSTRIP/tabpHERK/ssubSUBSCR_TABSTRIP:SAPLQPL1:0212/txtQALS-LOSMENGE").Text = Cells(i, 7)

session.findById("wnd[0]/usr/tabsTABSTRIP/tabpHERK/ssubSUBSCR_TABSTRIP:SAPLQPL1:0212/ctxtQALS-PASTRTERM").SetFocus

session.findById("wnd[0]/usr/tabsTABSTRIP/tabpHERK/ssubSUBSCR_TABSTRIP:SAPLQPL1:0212/ctxtQALS-PASTRTERM").caretPosition = 3

session.findById("wnd[0]").sendVKey 4

session.findById("wnd[1]/usr/cntlCONTAINER/shellcont/shell").selectionInterval = Cells(i, 5) + "," + Cells(i, 5)

session.findById("wnd[0]/usr/tabsTABSTRIP/tabpHERK/ssubSUBSCR_TABSTRIP:SAPLQPL1:0212/txtQALS-KTEXTLOS").Text = Cells(i, 6)

session.findById("wnd[0]/usr/tabsTABSTRIP/tabpHERK/ssubSUBSCR_TABSTRIP:SAPLQPL1:0212/txtRMQEA-NAMEKUNDE").SetFocus

session.findById("wnd[0]/usr/tabsTABSTRIP/tabpHERK/ssubSUBSCR_TABSTRIP:SAPLQPL1:0212/txtRMQEA-NAMEKUNDE").caretPosition = 15

session.findById("wnd[0]/usr/tabsTABSTRIP/tabpVORG").Select

session.findById("wnd[0]/usr/tabsTABSTRIP/tabpVORG/ssubSUBSCR_TABSTRIP:SAPLQPL1:0202/btnVORGSEL").press

session.findById("wnd[0]/usr/tabsTABSTRIP/tabpSTIP").Select

session.findById("wnd[0]/usr/tabsTABSTRIP/tabpSTIP/ssubSUBSCR_TABSTRIP:SAPLQPL1:0203/btnDYNA").press

Cells(i, 8) = session.findById("wnd[0]/usr/subLOT_HEADER:SAPLQPL1:1102/ctxtQALS-PRUEFLOS").Text

session.findById("wnd[0]/tbar[0]/btn[11]").press

Next i

session.findById("wnd[0]/tbar[0]/btn[12]").press

End Sub

引用:

艺赛旗:自己动手实现 SAP GUI 自动化


分享文章:sap系统录制宏的简单介绍
链接URL:http://cdxtjz.cn/article/ddgocjc.html

其他资讯