本文主要是介绍使用按键将SAP列表屏幕数据复制到Excel文件中,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目的
了解如何使用在 SAP 屏幕上创建的按钮将列表屏幕数据复制到 excel。为了解释这一点,我们将指导您完成以下步骤。
- 添加按钮以调用函数
- 创建一个函数以从“列表”屏幕复制数据,并将其分配给数组
- 创建将数据复制到 excel 文件的函数
注意:确保放置wsoffice.dll并RVKRED02。E1000.sjs 文件。
用户界面
用户界面
//在脚本文件夹中创建此文件,用于自定义 SD 文档屏幕RVKRED01。E0120.sjs
//现在,让我们开始将 Liquid UI 脚本添加到上面的文件中并保存它。
定制屏幕
- 登录 SAP,然后导航到 VKM1(阻止的 SD 文档)屏幕。
屏幕脚本
- 添加一个标签为滚动的按钮,以在单击时执行进程z_readfromlist。
<span style="color:#333333"><span style="background-color:#f5f5f5"><span style="color:#888888">// Creates a pushbutton with the label as <strong>scroll</strong> to call a function when clicked.</span> pushbutton([<span style="color:#f00000">TOOLBAR</span>],"<span style="color:#f00000">"scroll"</span>",{<span style="color:#848484">"process":z_readfromlist</span>});</span></span>
- 使用 load 命令将 wsoffice.dll 文件添加到RVKRED01。E0120.sjs;这允许您访问其中包含的功能。
<span style="color:#333333"><span style="background-color:#f5f5f5"><span style="color:#888888">// wsoffice.dll is required to be installed</span> load('<span style="color:#f00000">wsoffice</span>'); </span></span>
- 现在,将以下 Liquid UI 脚本添加到此文件,并保存它。
<span style="color:#333333"><span style="background-color:#f5f5f5">// function to read data from the List screen and assign it to an arrayfunctionz_readfromlist(){z_doc = []; // array to store data z_doc1 = []; // array to store data z_doc2 = []; // array to store data ifvrow = 1; onscreen '<span style="color:#f00000">RVKRED01.0120</span>' SCROLL_NEXT:; enter("<span style="color:#f00000">/scrolltoline=&V[lfvrow]"</span>); //scroll the list vertically onscreen '<span style="color:#f00000">RVKRED01.0120</span>' enter("<span style="color:#f00000">/hscrollto=0"</span>); //scroll list horizontally //To go to the end of the function when the end of the List screen is reached.if(lfvrow >= _listlastvisiblerow){ goto END; }START:; ifvrow = _listfirstvisiblerow; llvrow = _listlastvisiblerow; z_row = 3; LOOP:; set("<span style="color:#f00000">V</span>[<span style="color:#f00000">V[doc_val]</span>]","<span style="color:#f00000">&#["+z_row+",30]</span>");set("<span style="color:#f00000">V</span>[<span style="color:#f00000">V[doc_val1]</span>]","<span style="color:#f00000">&#["+z_row+",72]</span>");set("<span style="color:#f00000">V</span>[<span style="color:#f00000">V[doc_val2]</span>]","<span style="color:#f00000">&#["+z_row+",97]</span>");z_doc.push(doc_val);z_doc1.push(doc_val1);z_doc2.push(doc_val2);lfvrow = lfvrow+1; if(lfvrow <= _listlastvisiblerow){ z_row = z_row+1;goto LOOP;}else{ goto SCROLL_NEXT } END;// To display array elements on Cornelius output windowfor(i=0;i<z_doc.length;i++){println("*******************************************************");println("document number at z_doc["+i+"]="+z_doc[i]); println("document Name at z_doc["+i+"]="+z_doc1[i]);println("document City at z_doc["+i+"]="+z_doc2[i]);println("*******************************************************");} copy_To_Excel(zdoc,zdoc1,zdoc2)}//function to copy the data from list screen to excel file. function copy_To_Excel(zdoc,zdoc1,zdoc2)var ExcelApp = new ActiveXObject("Excel.Application"); var ExcelSheet = new ActiveXObject("Excel.Sheet"); ExcelSheet.ActiveSheet.Cells(1,1).Value = "Document Number"; ExcelSheet.ActiveSheet.Cells(1,2).Value = "Name of the Person";ExcelSheet.ActiveSheet.Cells(1,3).Value = "City"; for(i=2;i<z_doc.length;i++) { ExcelSheet.ActiveSheet.Cells(i,1).Value = z_doc[i]; ExcelSheet.ActiveSheet.Cells(i,2).Value = z_doc1[i];ExcelSheet.ActiveSheet.Cells(i,3).Value = z_doc2[i]; } var str = "C:\\LiquidUI\\scripts\LISTSCREENDATA.XLS"; var fso = new ActiveXObject("Scripting.FileSystemObject"); if(fso.FileExists(str)){ message(<span style="color:#f00000">"E:FILE ALREADY EXISTS PLEASE REMOVE OLD FILE"</span>); } else{ ExcelSheet.SaveAs(str); ExcelSheet.Application.Quit(); } }</span></span>
SAP流程
- 现在,刷新 SAP 屏幕,然后单击“执行”按钮,如下所示。
- 然后出现以下屏幕,现在单击滚动工具栏按钮将值存储到数组中。
- 然后出现一个屏幕,其中包含存储的数据,如下图所示。 注意:将在脚本目录中创建一个名称为 LISTSCREENDATA.xls 的新 excel 文件。
- 现在,打开 Cornelius 窗口以查看输出,即从列表屏幕复制到数组的数据,如下图所示。
- 最后,打开 excel 文件LISTSCREENDATA.xls,该文件创建并存储在 scripts 文件夹中,以查看输出,即从“列表”屏幕复制的数据,如下图所示。
这篇关于使用按键将SAP列表屏幕数据复制到Excel文件中的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!