999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Python編程的SAP財務軟件自動賬務處理設計與實現

2023-06-15 05:26:44吳健
無線互聯科技 2023年2期

吳健

摘要:Python語言因其具有易讀以及可擴展等特性,在各行各業中均得以應用。金融行業存在大量性質相同或完全類似的業務,這些業務若全部由人工處理耗時耗力,通過研究使用Python語言開發程序,利用程序來對SAP財務軟件實現操控,從而實現賬務業務的自動處理,達到替代人工操作的目的,也使得賬務處理的效率和準確率大幅提高。

關鍵詞:Python;SAP財務軟件;賬務處理

中圖分類號:TP311? 文獻標志碼:A

0 引言

Python語言發明于1989年,1991年公開發行。Python語言具有簡單、易學、同時支持面向對象和過程、具有可移植性、可擴展性和可嵌入性等特點[1-3],應用非常廣泛,滲透到各個領域[4-5]。財務行業中一般使用金蝶、用友、SAP等財務軟件,其中SAP財務軟件使用越來越廣泛,軟件使用單位的軟件操作人員難免會遇到一些操作步驟相同或者近似的且重復次數很多的業務,在這種情況下,業務流程的自動化就成了迫切需要和必然的趨勢。

1 相關背景

1.1 SAP介紹

SAP(Systems Applications and Products in Data Processing)財務軟件是全球第三大獨立軟件供應商(前兩位為Microsoft和Oracle),在企業管理軟件領域市場占有率排名第一,是ERP市場的絕對領導者。SAP在中國的發展可以分為3個階段:第一個階段的標志是90年代的“燈塔計劃”,SAP開始進入中國,與部分大型國企進行合作;第二個階段是許多大型集團企業開始實施SAP,SAP在中國迅速擴張;第三個階段是近些年許多中型企業開始選擇SAP以及房地產、醫藥等行業實施SAP。SAP具有功能強大、邏輯嚴謹、財務業務一體化、流程規范、信息可追溯以及功能全面等一系列特點,因此,在國內,SAP擁有超過15 000家客戶,并且越來越多的企業選擇SAP。企業使用SAP后,在進行賬務處理過程中,難免會遇到大量同類型的業務,靠人工輸入,會消耗大量人力和時間,且準確率也會打折扣,此時可以通過程序開發獲得一個替代人工、可用性高、效率高、準確率高的工具。

1.2 流程自動化

業務流程是指按照既定順序執行的相互銜接的工作流程、活動和任務,旨在實現特定的業務成果。流程自動化是指實現部分或所有相關流程的數字化,旨在提升業務流程的效率、敏捷性和合規性。通過程序實現流程自動化,就是用設計的程序流程來完成工作信息與業務的交互,特別是工作信息與業務交互較多時,流程自動化就可以高效地解決這些復雜的流程。流程自動化帶來的好處是可以節約成本、加速轉型、提高質量以及解放人力。

2 系統設計

本次系統開發以Python語言為基礎,以常用的Python模塊如Pandas,Thinter為支撐,結合數據庫技術,以實現前臺人機交互,導入相關數據,調用SAP財務軟件,并在其中自動進行賬務處理,處理完成結果反饋以及錯誤提示判斷等一系列過程。

2.1 架構設計

為實現上述功能,基于C/S架構進行設計與開發。用戶啟動客戶端程序,程序連接服務器進行版本校驗,版本低于服務器上現有版本,則下載服務器現有版本進行替換更新,輸入用戶信息登錄,進入操作界面,根據業務需要提交所需數據信息后,程序調用SAP財務軟件,按照程序編寫預置好的邏輯進行賬務處理,處理結果反饋給程序執行人,執行人檢查核對,若有錯誤做相應調整,直至無誤后保存相關信息,結束程序執行。整個開發將客戶端作為核心應用軟件,后端負責客戶端調用情況監測和版本更新校驗,這樣既利于開發又便于后期維護和用戶使用。系統整體的功能流程如圖1所示。

2.2 具體功能實現

功能的實現基于 Python3.7.7 版本的基本編譯環境,使用Sublime Text 3.1.1版 本 作 為 編 譯 工 具,結 合 了Win32api, Win32gui, Win32con,Pandas,Pymysql等算法庫,使用了SAP配套開發工具Scripting Tracker,確保了程序執行時對SAP操控的穩定性。

2.2.1 啟動SAP軟件

程序啟動后需要調用打開系統中安裝的SAP財務軟件,可以通過調用Win32api算法庫中的ShellExecute()函數,啟動SAP程序。

ShellExecute函數原型及參數含義如下:

win32api.ShellExecute(hWnd:HWND;Operation,FileName,Parameters,Directory: PChar; ShowCmd: Integer): HINST; stdcall。

hWnd:用于指定父窗口句柄。當函數調用過程出現錯誤時,它將作為Windows消息窗口的父窗口。例如,可以將其設置為應用程序主窗口句柄,即Application.Handle,也可以將其設置為桌面窗口句柄(用GetDesktopWindow函數獲得)。

Operation:用于指定要進行的操作。其中“open”操作表示執行由FileName參數指定的程序或打開由FileName參數指定的文件或文件夾;“print”操作表示打印由FileName參數指定的文件;“explore”操作表示瀏覽由FileName參數指定的文件夾。當參數設為nil時,表示執行默認操作“open”。

FileName:用于指定要打開的文件名、要執行的程序文件名或要瀏覽的文件夾名。

Parameters:若FileName參數是一個可執行程序,則此參數指定命令行參數,否則此參數應為nil或PChar(0)。

Directory:用于指定默認目錄。

ShowCmd:若FileName參數是一個可執行程序,則此參數指定程序窗口的初始顯示方式,否則此參數應設置為0。

若ShellExecute函數調用成功,則返回值為被執行程序的實例句柄。若返回值小于32,則表示出現錯誤。

系統中的SAP軟件的默認SAP安裝路徑為“C:\Program Files (x86)\SAP\FrontEnd\SAPgui\SAPgui.exe”,服務器地址為“192.168.1.101”,則啟動ASP程序登錄界面的代碼為:win32api.ShellExecute(0, 'open', r'C:\Program Files (x86)\SAP\FrontEnd\SAPgui\SAPgui.exe', '/M/192.168.1.101/S/sapmsPS7/G/PS7', '',1)。需要注意的是,如果系統中安裝SAP沒有選擇默認路徑安裝,則可能會導致程序調用啟動失敗。

2.2.2 登錄SAP用戶

程序連接SAP登錄界面程序腳本為:

SapGuiAuto =win32com.client.GetObject("SAPGUI")

application = SapGuiAuto.GetScriptingEngine

connection = application.Children(0)

session = connection.Children(0)

輸入用戶名和密碼程序腳本為:

session.findById("wnd[0]/usr/txtRSYST-BNAME").text = username

session.findById("wnd[0]/usr/pwdRSYST-BCODE").text = password

此處username和password為程序執行人的用戶名和密碼,從安全角度考慮,程序不對用戶名和密碼直接做封裝,而是由程序執行人在程序調用時直接輸入,就需要留有接口便于程序執行人做輸入操作,考慮到通過文件讀取的方式獲取到執行人預先保存在文件中的用戶名和密碼的方式交互界面不夠友善,且密碼不能明文保存,決定通過設計一個登錄界面,由程序執行人在界面對話框中輸入用戶名和密碼,于是使用Python的Tkinter模塊做界面設計,登錄界面如圖2所示。Tkinter,即 tk interface,是 Python 的標準 GUI 庫,本質上,它是對 TCL/TK 工具包的一種Python 接口封裝。Tkinter 是 Python 自帶的標準庫,因此無須另行安裝,它支持跨平臺運行,不僅可以在Windows 平臺上運行,還支持在Linux和Mac平臺上運行。Tkinter 編寫的程序,也稱為 GUI 程序,GUI (Graphical User Interface)指的是“圖形用戶界面”,它是計算機圖形學(CG)的一門分支,主要研究如何在計算機中表示圖形以及利用計算機進行圖形的計算、處理和顯示等相關工作。

2.2.3 執行事務操作

SAP自帶了腳本的錄制和回放的功能,在SAP界面的定制本地布局選項下有個腳本錄制和回放的功能,在點下界面上的錄制按鈕后,會自動記錄在當前窗口SAP下的每一步操作記錄,記錄結束后點擊停止,步驟記錄會以VBS格式文件保存到用戶自行指定的目錄。

為了提高開發的效率,使用了SAP配套開發工具Scripting Tracker,用來進行操作步驟的記錄。Scripting Tracker是一個支持SAP GUI腳本開發的實用程序,程序有分析器和記錄器兩個主要功能,分析器為每個腳本對象顯示了許多技術細節,如ID、位置等,在該選項卡中采用了樹結構的顯示,包含了所有SAP會話及其腳本對象。記錄器顯示了用于加載、編輯和執行SAP GUI腳本的基本編輯器,可以選擇并使用所需的會話,以便在此會話中運行腳本。分析器提供了用紅色框架識別SAP GUI的每個腳本對象的可能性。有兩種方法可以實現這一點:第一種方法是從層次中選擇一個對象,然后按鼠標右鍵。第二種方法是從層次結構中選擇一個對象并按下標識按鈕。接下來,需要將鼠標指針移動到選定的會話窗口,識別腳本對象后,可以將其技術名稱(稱為ID)復制到剪貼板并在其他上下文中使用。此功能等同于SAP GUI腳本向導。通過記錄器,該工具可以在PowerShellWindows和PowerShellCore,Visual Basic Script,AutoIt,Python和JShell for Java中記錄、編輯和執行SAPGUI活動。腳本跟蹤程序使用SAP GUI和PowerShellWindows或PowerShellCore、Windows腳本主機(WSH)VBScript、AutoIt腳本或Python引擎。

2.3.4 Pandas庫

程序設計過程中主要用到了Pandas庫Pandas.read_excel函數和DataFrame.to_excel函數用來讀取和寫入Excel文件。

(1)Pandas.read_excel函數。

Pandas.read_excel函數的用法為:

Pandas.read_excel(io,sheet_name=0,header=0,names=None,index_col=None,usecols=None,squeeze=False,dtype=None,engine=None,converters=None,true_values=None,false_values=None,skiprows=None,nrows=None,na_values=None,keep_default_na=True,verbose=False,parse_dates=False,date_parser=None,thousands=None,comment=None,skip_footer=0,skipfooter=0,convert_float=True,mangle_dupe_cols=True,**kwds)

參數說明如表1所示。

(2)DataFrame.to_excel函數。

DataFrame.to_excel函數的用法為:

DataFrame.to_excel(excel_writer,sheet_name="Sheet1",na_rep="",float_format=None,columns=None,header=True,index=True,index_label=None,startrow=0,startcol=0,engine=None,merge_cells=True,encoding=None,inf_rep="inf",verbose=True,freeze_panes=None)

參數說明如表2所示。

3 系統測試

程序編寫完成后,為了確??煽啃裕梢栽跍y試系統進行模擬和測試,通過輸出結果檢驗程序執行是否正確,確認無誤后修改SAP地址移植至生產機進行運行。需要注意的是,在程序執行之前,需在SAP軟件的選項的輔助功能和腳本選項下,禁用在腳本附加到SAP GUI時發出通知和在腳本打開連接時發出通知這兩個功能。如果SAP程序服務器上禁用了SAP GUI腳本,則無法使用SAP自帶的腳本錄制和回放功能,同時,配套開發工具Scripting Tracker也無法使用。

4 結語

本文闡述了使用Python編程語言,通過腳本錄制和編程的方式操作SAP財務軟件,此方法實現了賬務的自動處理,特別是在遇到大量重復工作的時候,用程序替代人工進行賬務處理,很大程度上縮短了處理時間,提高了效率和準確率。

參考文獻

[1]肖旻,陳行.基于Python語言編程特點及應用之探討[J].電腦知識與技術,2014(12):8177-8178.

[2]羅霄,任勇,山秀明.基于Python的混合語言編程及其實現[J].計算機應用與軟件,2004(12):17-18.

[3]嚴婷,文欣秀.基于Python的可視化數據分析平臺設計與實現[J].計算機時代,2017(12):54-57.

[4]李永剛.基于Python的計算機軟件應用技術研究[J].無線互聯科技,2021(18):36-37.

[5]宋永生,黃蓉美,王軍.基于Python的數據分析與可視化平臺研究[J].現代信息科技,2019(21):7-9.

(編輯 王雪芬)

Design and implementation of automatic accounting processing of SAP financial software based

on Python

Wu? Jian

(YangZhou ServiceDepartment,Sinopec Shared Srvices Co., Ltd., Yangzhou 225000, China)

Abstract: Python language is used in all walks of life because of its readability and extensibility. In the financial industry, there are a large number of businesses with the same or completely similar nature, which are time-consuming and labor-intensive if all of them are manually processed. By studying and using Python language to develop programs, we can use programs to manipulate SAP financial software, so as to achieve automatic processing of accounting business, achieve the purpose of replacing manual operations, and also greatly improve the efficiency and accuracy of accounting processing.

Key words: Python; SAP financial software; accounting treatment

主站蜘蛛池模板: 亚洲中文制服丝袜欧美精品| 久久情精品国产品免费| 五月天久久综合| 国产丝袜第一页| 看看一级毛片| 国产乱子伦视频三区| 波多野结衣中文字幕一区二区| 欧美日本一区二区三区免费| 欧美国产精品不卡在线观看| 高清精品美女在线播放| 国产精品美女自慰喷水| 亚洲网综合| 亚洲区视频在线观看| 美女一级免费毛片| 欧美亚洲一区二区三区导航| 日韩午夜片| 国产乱人免费视频| 日本免费新一区视频| 久久人搡人人玩人妻精品一| 99久久99视频| 中文字幕日韩视频欧美一区| 手机精品福利在线观看| AV在线麻免费观看网站| 免费又爽又刺激高潮网址| 国内精品小视频在线| 熟妇丰满人妻| 免费xxxxx在线观看网站| 亚洲日韩精品伊甸| 午夜三级在线| 欧美精品啪啪| 亚洲欧洲美色一区二区三区| 谁有在线观看日韩亚洲最新视频 | 青草视频免费在线观看| 正在播放久久| 91欧美在线| 国产jizz| 亚洲欧美日韩中文字幕在线| 青青热久免费精品视频6| 国产一级裸网站| 国产裸舞福利在线视频合集| 色丁丁毛片在线观看| 亚洲成a人片77777在线播放| 亚洲国产亚洲综合在线尤物| 久久精品只有这里有| 欧美日韩中文国产va另类| 欧美日韩精品在线播放| 国产欧美日韩18| 91精品网站| 伊人无码视屏| 91小视频在线观看免费版高清| 久久大香伊蕉在人线观看热2| 91在线精品麻豆欧美在线| 亚洲婷婷丁香| 在线精品视频成人网| 92午夜福利影院一区二区三区| 国产美女久久久久不卡| 国产乱子精品一区二区在线观看| 国产激情在线视频| 日韩精品免费在线视频| 亚洲国产精品一区二区第一页免 | 四虎影视国产精品| 日韩东京热无码人妻| 麻豆精选在线| 无码内射中文字幕岛国片| 日本午夜影院| 国产激情无码一区二区APP| 久久a级片| 久久精品国产电影| 国产精品短篇二区| 国产精品一老牛影视频| 欧美天堂久久| 精品无码国产一区二区三区AV| 亚洲swag精品自拍一区| 伊人91视频| 欧美日本在线播放| 欧美高清日韩| 71pao成人国产永久免费视频 | 国产精品尤物在线| 色天天综合| 欧美精品aⅴ在线视频| 狠狠色综合久久狠狠色综合| 91青青在线视频|