亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        企業(yè)ABAP程序性能優(yōu)化研究

        2017-03-24 20:38:36馬一然吳衛(wèi)亮范春迎
        中國(guó)科技縱橫 2017年2期
        關(guān)鍵詞:二次開發(fā)

        馬一然++吳衛(wèi)亮++范春迎

        摘 要:近年來鋼鐵行業(yè)形勢(shì)一直處于低迷狀態(tài),不少鋼鐵企業(yè)陷入虧損局面。面對(duì)著嚴(yán)峻的形勢(shì),利用信息化技術(shù)提高生產(chǎn)自動(dòng)化、管理科學(xué)化是增加企業(yè)的競(jìng)爭(zhēng)力的有效方法。本文主要對(duì)企業(yè)信息化建設(shè)中用戶使用的自開發(fā)ABAP程序性能的調(diào)優(yōu)做了深入研究,提升程序的執(zhí)行效率,使信息系統(tǒng)達(dá)到快速、穩(wěn)定運(yùn)行的效果。

        關(guān)鍵詞:ABAP;性能優(yōu)化;二次開發(fā)

        中圖分類號(hào):TP312 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-2064(2017)02-0030-01

        1 引言

        SAP R/3系統(tǒng)是一個(gè)基于客戶/服務(wù)機(jī)結(jié)構(gòu)和開放系統(tǒng)的、集成的企業(yè)資源計(jì)劃系統(tǒng)。依據(jù)業(yè)務(wù)的靈活性,實(shí)際業(yè)務(wù)需求,SAP平臺(tái)上需要進(jìn)行大量的系統(tǒng)二次設(shè)計(jì)、開發(fā)以達(dá)到滿足業(yè)務(wù)需求的目的。隨著系統(tǒng)應(yīng)用的時(shí)間的增長(zhǎng),系統(tǒng)中數(shù)據(jù)量成倍增加,如何在海量數(shù)據(jù)中,使用戶的使用效果達(dá)到最優(yōu)、程序執(zhí)行效率最高,是系統(tǒng)程序開發(fā)人員一直要考慮的問題。

        2 程序調(diào)優(yōu)方法

        2.1 程序邏輯角度

        系統(tǒng)工程師首先要充分了解業(yè)務(wù)需求,針對(duì)特定的業(yè)務(wù)需求制定開發(fā)方案,方案簡(jiǎn)潔,程序效率才會(huì)達(dá)到最優(yōu)。例如采購(gòu)員需要嚴(yán)格按照合同信息進(jìn)行物品采購(gòu)。為了檢驗(yàn)合同的有效性,可能需要查看某采購(gòu)組織、采購(gòu)員、創(chuàng)建日期范圍內(nèi)的相關(guān)合同,都做過哪些修改。要實(shí)現(xiàn)這一功能有兩種方法,一種是根據(jù)特定條件先去合同抬頭表EKKO中篩選符合條件的合同信息,然后根據(jù)范圍的合同信息去合同修改歷史表CDHDR和CDPOS中取合同修改的相關(guān)信息;另外一種是先去合同修改歷史表CDHDR和CDPOS中把所有曾經(jīng)修改的合同信息篩選出來,然后再去合同抬頭表EKKO中去除不符合篩選條件的合同。因?yàn)楹贤男薷男畔⒋嬖谟跉v史表中,數(shù)據(jù)量巨大,很明顯第一種方案程序效率較高,所以程序開發(fā)邏輯是判斷程序性能是否最優(yōu)最重要的因素。

        2.2 調(diào)優(yōu)工具應(yīng)用

        基于SAP開發(fā)平臺(tái)進(jìn)行的程序開發(fā)工作,可以通過系統(tǒng)自帶的工具檢測(cè)程序性能,其中包括:SE30:主要用于某個(gè)事務(wù)、程序或功能模塊的運(yùn)行時(shí)間分析。這個(gè)結(jié)果評(píng)價(jià)界面最重要的信息便是在數(shù)據(jù)庫(kù)和應(yīng)用服務(wù)器層的總共運(yùn)行時(shí)間。對(duì)于一個(gè)ABAP程序來說數(shù)據(jù)庫(kù)和系統(tǒng)的運(yùn)行時(shí)間應(yīng)該比較短,至少不能太大。

        ST05性能分析:不僅提供SQL Trace 功能,還可以進(jìn)行Buffer trace, Enqueue trace 以及RFC trace 等。分析里面是否有重復(fù)FETCH一個(gè)表,看看FETCH一次是否有超過幾十萬微妙的時(shí)間,這樣可以考慮索引是否使用正確,然后是否有重復(fù)open多次的,可以考慮是否存在LOOP select。然后還有雙擊后面的select語句,可以進(jìn)入去看這個(gè)SQL語句的解析。

        2.3 注意程序開發(fā)語言使用

        2.3.1 減少與數(shù)據(jù)庫(kù)的交互

        訪問數(shù)據(jù)庫(kù)非常耗時(shí),盡量減少程序與數(shù)據(jù)庫(kù)的交互操作。對(duì)于取描述字段的需求,可以一次性的把要處理的數(shù)據(jù)讀入到內(nèi)表中。讀取時(shí)盡量不用SELECT * INTO CORESPONDING TABLE語句,使用該語句數(shù)據(jù)庫(kù)會(huì)查詢數(shù)據(jù)庫(kù)表中所有字段,然后再匹配內(nèi)表里面的字段,嚴(yán)重影響程序效率。應(yīng)該使用SELECT...INTO TABLE語句,然后用SORT語句對(duì)內(nèi)表進(jìn)行排序。針對(duì)取到的數(shù)據(jù)讀取時(shí)使用語法read binary search二分法進(jìn)行查找,這樣可以大大的提升程序的效率。但是在表字段很多的情況下,盡量不要使用SELECT*返回所有字段值,最好只返回指定字段的值。如果肯定只有一條記錄返回,也可以使用SELECT SINGLE來讀取記錄,但該語法一定不要放在LOOP和SELECT...ENDSELECT里面用。

        2.3.2 使用正確的索引

        好的索引非常好。不好的索引可能索引比表大,也有的索引讓當(dāng)前程序變快,其它的程序卻變慢了。索引會(huì)占用額外的數(shù)據(jù)庫(kù)空間,還會(huì)降低插入/修改的速度(雖然可提高查詢速度),所以需要考慮實(shí)用性,肯定不是越多越好。如果表中已有類似的索引,則不推薦新建。而對(duì)于容量大的、被多個(gè)程序訪問的表加索引就更要謹(jǐn)慎了,比如VBFA、MSEG、LIPS、VBAP、CDHDR等等。

        2.3.3 INNER JOIN的使用

        INNER JOIN獲取數(shù)據(jù)時(shí),盡量不要用太多的表關(guān)聯(lián),特別是大表關(guān)聯(lián),JOIN超過3個(gè)表會(huì)出現(xiàn)性能問題。對(duì)于MSEG,MKPF,LIPS等表,盡量少用inner join。如果要使用該語法,將有效的查詢條件所對(duì)應(yīng)的表放在前面。換言之,讓查詢第一個(gè)表后所得到的結(jié)果集就盡可能小。比如有業(yè)務(wù)需求是查詢采購(gòu)訂單的收貨情況。需要的數(shù)據(jù)庫(kù)表有EKKP、EKPO、EKBE等。再分析業(yè)務(wù)需求,報(bào)表主要查詢最近幾天創(chuàng)建采購(gòu)訂單的收貨情況。那么最有效的限制條件是訂單的創(chuàng)建日期,表連接的主表就應(yīng)該選用EKKO。

        2.3.4 使用批量修改內(nèi)表代替逐行修改

        不推薦使用逐行修改內(nèi)容語法,如下:

        LOOP AT GT_AGE.

        IF GT_AGE-FLAG IS INITIAL.

        GT_AGE-FLAG = ‘X.

        ENDIF.

        MODIFY GT_AGE.

        ENDLOOP.

        推薦使用批量修改內(nèi)容語法,如下:

        GT_AGE-FLAG = ‘X.MODIFY GT_AGE TRANSPORTING FLAG WHERE FLAG IS INITIAL.

        3 結(jié)語

        隨著企業(yè)應(yīng)用信息化系統(tǒng)時(shí)間的增長(zhǎng),系統(tǒng)中數(shù)據(jù)量成倍增加,龐大的數(shù)據(jù)對(duì)程序的運(yùn)行效率產(chǎn)生巨大的影響,有些程序會(huì)因?yàn)檫\(yùn)行超時(shí)而與數(shù)據(jù)庫(kù)斷開連接,用戶需要長(zhǎng)時(shí)間等待,程序調(diào)優(yōu)工作將會(huì)是一個(gè)任重道遠(yuǎn)的工作。做優(yōu)化不是簡(jiǎn)單的技術(shù)活,既要考慮報(bào)表的實(shí)際需求,也要考慮企業(yè)的業(yè)務(wù)狀況。比如采用零售模式的企業(yè)客戶量很大,批發(fā)模式的企業(yè)客戶量較??;食品飲料行業(yè)的物料號(hào)一般不多,而機(jī)械行業(yè)的物料號(hào)則往往多而繁雜;零售業(yè)的訂單量很大、時(shí)間性很強(qiáng),部分行業(yè)則可能訂單量小但價(jià)值高。只有充分考慮到企業(yè)的業(yè)務(wù)特點(diǎn),與具體業(yè)務(wù)相結(jié)合,才能更有效地提高報(bào)表性能及良好的可擴(kuò)展性。報(bào)表性能的提升不僅可以帶來完美的用戶體驗(yàn),最主要可以提高用戶應(yīng)用SAP系統(tǒng)的效率既而提升生產(chǎn)效率,達(dá)到SAP系統(tǒng)成為企業(yè)高效發(fā)展的一枚利器。

        猜你喜歡
        二次開發(fā)
        淺談基于Revit平臺(tái)的二次開發(fā)
        甘肅科技(2020年20期)2020-04-13 00:30:02
        西門子Operate高級(jí)編程的旋轉(zhuǎn)坐標(biāo)系二次開發(fā)
        淺談Mastercam后處理器的二次開發(fā)
        模具制造(2019年3期)2019-06-06 02:11:02
        基于C#的AutoCAD建筑構(gòu)件庫(kù)二次開發(fā)
        江西建材(2018年2期)2018-04-14 08:01:14
        西門子Easy Screen對(duì)倒棱機(jī)床界面二次開發(fā)
        基于全站儀二次開發(fā)的覆冰厚度測(cè)量與實(shí)現(xiàn)
        Micaps3.2 版本二次開發(fā)入門淺析
        西藏科技(2015年12期)2015-09-26 12:13:51
        基于VB的ANSYS二次開發(fā)在變壓器抗短路性能分析中的應(yīng)用
        基于CATIA的橡皮囊成形毛料展開的二次開發(fā)
        ANSYS Workbench二次開發(fā)在汽車穩(wěn)定桿CAE分析中的應(yīng)用
        汽車零部件(2014年5期)2014-11-11 12:24:32
        91精品国产福利在线观看麻豆| 国产精品久久久久久久专区| av天堂吧手机版在线观看| 风韵人妻丰满熟妇老熟| 97日日碰曰曰摸日日澡| 最新亚洲人成无码网www电影| 欧洲AV秘 无码一区二区三| 国产人妖伦理视频在线观看| 又湿又紧又大又爽a视频国产| 色婷婷综合中文久久一本 | 亚洲精品天堂在线观看| 女优av一区二区在线观看| 久久天天躁狠狠躁夜夜不卡| 亚洲欧洲日产国码无码久久99| 狼狼综合久久久久综合网| 2019最新国产不卡a| 亚洲第一区二区快射影院| 日韩在线一区二区三区中文字幕 | 99re6在线视频精品免费下载| 成人三级a视频在线观看| 国产精品丝袜在线不卡| 我的极品小姨在线观看| 欧美xxxxx在线观看| 亚洲精品久久国产高清情趣图文| 色噜噜狠狠色综合欧洲| 日本午夜艺术一区二区| 狠狠色噜噜狠狠狠777米奇小说| 中文字幕欧美一区| 亚洲一区二区三区乱码在线| 一级r片内射视频播放免费| 日本道精品一区二区三区| 久久男人av资源网站无码| av在线一区二区精品| 青娱乐极品视觉盛宴国产视频 | 亚瑟国产精品久久| 纯肉无遮挡H肉动漫在线观看国产| 中文字幕丰满人妻被公强| 狠狠色噜噜狠狠狠777米奇| 久久中文精品无码中文字幕| 久久久9色精品国产一区二区三区| 亚洲一区二区三区少妇|