❶ 大數據學習要多久
這是看你選擇的自學還是跟班學習
一般來說自學周期時間長,因為每一個固定的學習計劃,時間較分散,進度較緩慢。且對知識點的把控能力較差,學習效率低,相對於跟班學習時間還是比較長的。
如果你選擇跟班學習的話,有基礎的學習大數據大概要3個月時間,0基礎小白的學習的話還需要學習java基礎 時間就會再多兩個月,一共5個月左右時間,跟班學習主要是有個完整的學習環境,科學的學習規劃,還有老師鞭策,不會像自學那麼散漫。
關於大數據的學習還有方向選擇,現在大部分分為兩個方向一個是大數據開發另一個是大數據分析,這兩個方向是現在較為主要的兩個發展方向,未來前景也很不錯,如果想了解更多可以咨詢我
❷ abap怎樣抽取數據到內表
REPORT ZFIRSTEXAM1.tables:mard.data:begin of gt_data occurs 0, matnr like mard-matnr, werks like mard-werks, lgort like mard-lgort, labst like mard-labst, end of gt_data.select matnr werks lgort labstinto corresponding fields of table gt_data from mard where werks = '1100'.loop at gt_data. write: / gt_data-matnr,gt_data-werks,gt_data-lgort,gt_data-labst. endloop.這樣寫,能成。 這樣寫的效率,是不是比樓主的第慶宏一,第二種櫻枝還要高譽頌冊呢。
❸ 請問abap開發和java開發哪個好一點會java基礎的話,abap就不難嗎
abap開發和java開發差不多。會java基礎的話,abap相對上手比較快。有關開發問題,推薦千鋒教育,千鋒教育採用全程面授高品質、高體驗培養模式,學科大綱緊跟企業需求,擁有國內一體化教學管理及學員服務,在職業教育發展道路上不斷探索前行。
ABAP開發環境包括設計和開發程序、屏幕、菜單、功能模塊等所需的一切工具。它還包括了程序調試、性能和在線分析、測山擾豎試所需的實用程序。ABAP/4是SAP自己的第四代編程語言。從4.0版本開始,它簡稱為ABAP;它是經技術改進的I刮名語言,主要添加了新特性以成為面向對象的語言。李蘆ABAP的意思是「先進經營應用編程語言」,這表明SAP編程語言用於開發R/3套件中所有的標准經營應用程序。java開發經常涉及的幾個主要技術內容包括java的流技術、線程、網路通信、jdbc技術、web編程、struts框架、分布式編程、ejb、java數據結構等。
想要了解更多有關開發的相關信息,推薦咨詢千鋒教育。千鋒教育成立教研學科中心,推出貼近企業需求的線下技能培訓課程。課程包含HTML5大前端培訓、JavaEE+分布式開發培訓、Python人工智慧+數據分析培訓、全鏈路UI/UE設計培訓、雲計算培訓、全棧軟體測試培訓、大數據+人工智慧培訓、智能物聯網+嵌入式培訓、Unity游戲開發培訓、網路安全培訓、區塊鏈培訓、影視剪輯包裝培訓、游戲原畫培訓、全媒體運營培訓。逗大採用全程面授高品質、高體驗培養模式,非常值得選擇。
❹ 如何提高ABAP程序運行效率
程序的效率是每個程序員都應該重視的,無論您是採用哪一種語言進行開發. 程序有時候越短,並不
一定越快,有時候程序很多代碼,但不一定會很慢. 性能是一把雙刃劍, 獲得時間效率的森槐虛同時, 犧牲
的是空間的開銷. 這里提供一些建議以提高你的程序運行速度和減低系統荷載。
首先是盡此燃量減少I/O操作,類似對硬碟的讀寫的I/O操作是最耗費時間的, 比如讀寫資料庫。以下是
減少I/O操作的例子:
1, 減少資料庫DB的讀寫操作, 當使用VIEW視圖的時候, 當被視圖join的table有數據更新操作的時
候, 同時系統也會更新到這個view裡面, 使得它們之間的數據一樣, 所以使用視圖會對這些日常操
作帶來效率問題. 如果視圖join的表多數是日常事物需要更新的事物數據表(如EKET), 就要避免
使用視圖.
2, 避免使用SELECT *, 盡量使用SELECT A B C INTO TABLE ITAB這樣的語句。這個操作會將所有符
合條件的數據一次性地讀進內表,這比在SELECT A B C INTO WA... APPEND... ENDSELECT的循環中
添加數據到內表要快。不用頻繁的讀DB.
3, 避免頻繁使用SELECT SINGLE語句, 特別是在LOOP和SELECT...ENDSELECT裡面用, 應該把要讀取
的數據用SELECT FOR ALL ENTRIES IN 一次全部取得, 然後用READ TABLE WITH KEY ... BINARY
SEARCH.
雖然說操作內存比磁碟操作要高效,但是如果對內存的使用不加以控制,可能有些時候不得不對硬碟
的交換空間操作, 這樣就增加了對磁碟的I/O讀寫操作.正如下面所說:
4, 當你定義內表的時候可以也會出現這樣的問題, 比如你定義一個內表使用的是OCCURS 100,而不
是OCCURS 0, 會導致內表長度大於100的時候,就會佔用系統頁面緩存。
5, Field-groups對於多層次的排序和顯示是非常有用的。它是將數據寫入系統的頁面文件,而不是
內存(內表一般是使用內存的)。基於這個原因,field-groups比較適合於處理大量數據的列表(
一般超過50000條記錄)。如果涉及大量的數據處理,應該首先和系統管理員協商來決定這個程序最
多能使用多少內存,以計算這個程序需要使用多少資源。然後你就可以決定是把數據寫入內存還是
交換空明笑間。
6, 用SORT代替ORDER BY, ORDER BY從句是執行在資料庫伺服器上, 而SORT是ABAP語句執行在應用服
務器上的. 資料庫伺服器通常會形成性能瓶頸問題, 所以最好是吧數據導入內表做SORT.
7, 避免使用SELECT DISTINCT語句, 因為當你用來判斷唯一的欄位為非索引欄位時, 效率是十分的
低, 所以請導入內表SORT後, 使用DELETE ADJACENT DUPLICATES 來去重復.
其次就是要減輕CPU的負載, 可以通過優化程序來改善,比如在程序中語句和演算法, 以下是減低CPU
負載的優化例子:
1, 使用宏代替頻繁函數調用. ABAP沒有內聯函數這個說法, 所以我們如果需要頻繁調用函數時, 函
數調用有棧內存創建和釋放的開銷. 在ABAP中可以用宏代碼提高執行效率,宏代碼不是函數但使用
起來像函數,編譯器用復制宏代碼的方式取代函數調用,省去了參數壓棧、從而提高速度。注意使
用宏有缺點:(1)容易出錯, 宏不能pass-by-value按值傳遞,用於代替實現函數功能時要十分注意!
(2)不可調試; (3)無法操作類的私有數據成員.
2, 避免使用過得的LOOP 和SELECT .... END SELECT. 避免使用嵌套的LOOP 和SELECT .... END
SELECT.
3, 盡可能多地使用表的KEY FIELD作為Where分句的條件選項。比如SELECT * FROM BSEG WHERE
BUKRS = '1000' AND BELNR = '0100000007' AND GJAHR =
'2006' AND BUZEI = '003'. 這里的四個欄位BUKRS,BELNR,GJAHR,BUZEI 都
是BSEG表的KEY欄位.
4, 如果某些數據需要頻繁的從不同表提取, 使用視圖VIEW實現讀取緩存可以提高效率. 當視圖連接
的是讀取次數較多, 但寫入不頻繁的表時(比如物料主數據表MARA), 可以使用視圖, 這樣比在程序
裡面簡單用join要快,理論上join語句每次讀取的速度都是一樣的, 而視圖是從讀二次開始就快了,
而且cache使得網路負載減低.
5, 使用SQL語句裡面的JOIN時候, 應該避免JOIN的表不要超過3個, 否則嚴重影響效率. 如果真的要
JOIN表3個以上的話, 正確的方法不是用視圖VIEW, 而是使用SELECT ... INTO TABLE ... FOR ALL
ENTRIES IN 以及 READ TABLE WITH KEY BINARY SEARCH.例如我們要提高讀取BSEG表的性能,首先我
們會根據GJAHR主鍵從BKPF表取出部分數據到內表itab,然後使用FOR ALL ENTRIES IN itab WHERE
BSEG~BELNR = itab~BELNR 這樣的的方法取得符合itab里所有條件的BSEG數據.注意使用FOR ALL
ENTRIES要先CHECK作為條件的內表itab是否為空,還有作為WHERE的條件在這個內表裡面是否會有空
值存在,否則無效.
6, 注意使用CORRESPONDING FIELDS OF 和 MOVE-CORRESPONDING 時候會進行欄位比較, 帶來CPU的
開銷大.
7, 避免過得而頻繁的數據類型轉換,比如N轉換為C,但是從N轉換成STRING卻是很快的,因為操作
STRING比CHAR類型少了比較長度的時間.
8, 使用二級索引提高DDIC的讀寫效率, 可以根據你的需要在SE11裡面創建INDEX, 並讓你程序里的
SQL查詢語句里WHERE條件的順序與你的索引順序一致.
9, 二分查找比線性查找要高效,READ TABLE的之前使用SORT TABLE BY XXX 某個表關鍵欄位進行排
序, 然後使用READ TABLE WITH KEY XXX = 'XXX' BINARY SEARCH. 這個就是所謂的二分
查找法的應用.
10, 避免使用SQL語句動態查詢條件,動態表名和動態欄位名, 必要時候用宏或者子程序模塊代替.
11, 對於同一功能的函數和方法, 調用METHOD比調用FUNCTION要快.
12, SORTED TABLE可以使用二分查找法取得節點, 其時間復雜度是O(log N),但是插入節點會慢,因
為要移動很多節點. 而HASHED TABLE則是基於哈希演算法的,其高效主要體現在把數據的存儲和查找時
間大大降低,幾乎可以看成是常數時間O(1),而代價是消耗比較多的內存,然而在硬體技術越來越
發達的今天,用空間換時間的做法在某種意義上是值得的。但是使用哈希表必須注意鍵值的唯一性
!如果鍵值會出現重復的話, 不能使用哈希表,只能用排序表和標准表。
13, 使用APPEND LINES(或者INSERT LINES) OF ITAB1 TO ITAB2 比 LOOP AT ITAB1 INTO WA.
APPEND(INSERT) WA TO ITAB2. ENDLOOP. 要高效.
14, 使用效率比較高的COLLECT, DELETE ADJACENT DUPLICATES FROM語句。
15, 使用高效的CONTEXT SQL語句.如以下代碼2比代碼1要快10倍以上!
代碼1:
SELECT * FROM SBOOK INTO SBOOK_WA UP TO 10 ROWS.
SELECT SINGLE AIRPFROM AIRPTO INTO (AP1, AP2)
FROM SPFLI
WHERE CARRID = SBOOK_WA-CARRID
AND CONNID = SBOOK_WA-CONNID.
SELECT SINGLE NAME INTO NAME1 FROM SAIRPORT
WHERE ID = AP1.
SELECT SINGLE NAME INTO NAME2 FROM SAIRPORT
WHERE ID = AP2.
ENDSELECT.
代碼2:
SELECT * FROM SBOOK INTO SBOOK_WA UP TO 10 ROWS.
SUPPLY CARRID = SBOOK_WA-CARRID
CONNID = SBOOK_WA-CONNID
TO CONTEXT TRAV1.
DEMAND AIRPFROM = AP1
AIRPTO = AP2
NAME_FROM = NAME1
NAME_TO = NAME2
FROM CONTEXT TRAV1.
ENDSELECT.
最後是注意內存的使用,以下是內存優化方面的例子:
1, 雖然ABAP擁有垃圾處理的機制, 但是這個是在程序運行完成後實現的. 所以我們盡量把無用的變
量,內表,對象都釋放掉;
2, 盡量減少無用的靜態定義的變數,內表和對象, 因為靜態定義的對象會在編譯開始就佔有內存空
間;
3, 盡量減少網路的傳輸負載, 比如在設計RFC遠程調用傳回的內表數據要盡量精簡, 數據量越大,對
CPU和內存需求越多;
4, 內存使用緊張的情況下, 使用FREE語句, 以及SQL語句的PACKAGE SIZE n 選項.
SELECT vbeln erdat
FROM vbak
INTO TABLE li_vbak PACKAGE SIZE 50.
❺ abap 怎麼截取後面的10位數字,漢字不要
1、先得到去除漢態侍字後字元串的長度,從長扒改度-10處開始取,取後面的10位。
2、選取全部字元串,將字元串翻轉,然後取前十春閉判位。以上就是abap截取後面的10位數字的方法。
❻ abap怎樣抽取數據到內表 順便想求教關於ABAP程序執行效率和優化
定義一個內表,然後按照內表中的欄位進行select into到內表中。例如:
data:begin of gt_data occurs 0,
matnr like mard-matnr,
werks like mard-werks,
lgort like mard-lgort,
labst like mard-labst,
end of gt_data.
上面的表示一個內表gt_data定義出來了。然後我們在把對應的數據提取出來,
select matnr
werks
lgort
labst
into table gt_data
from mard
where werks = '1100'.
這樣的話,數據就會按照物料號、工廠、庫存地點、非限制庫存 提取放到內表gt_data中了。
也可以寫成:
select *
into corresponding fields of table gt_data
from mard
where werks = '1100'.
上面的這兩種sql語句的冊春歷區別在於: 第一種程序會只針對matnr werks lgort labst 這四個欄位去提取數據,第二種,程序會提取mard表中所有欄位,然後按照matnr werks lgort labst 來mapping上去。 相對效率而言,第一種效率好些。
至於程序森枝優化上面,盡量減少對資料庫的訪問,盡量避州搜開那幾個大表,比如 mseg ,bseg 等這類的表。 盡量把數據放在內存中計算, 別的倒也沒什麼了,其實在內表上關於一些sort table 和 hash table 來說,雖然在速度上會快一些(「比如在處理幾十萬條數據」),如果在幾萬到十幾萬條數據的話,性能上其實沒什麼太大的變化,但是在後期程序修改上,會比較的麻煩一點,一般這種內表我們只是運用在比較大的表上用。OK。說完了。就這樣吧。
❼ ABAP和大數據哪個更有前途
應該是後者,abap比較局限於sap,脫離了sap就沒有用處了,而大數據是未來的趨勢!
❽ SAP各大模塊的用途_SAP五大模塊
1SAPMM(物料管理模塊):SAP產品中最常用的一個模塊,它涉及到物料管理的全過程,與財務、生產、銷售、成本等模塊均有密切的關系。主要有采購、庫房與庫存管理、MRP、供應商評價等管理功能。
2SAPSD(銷售與分銷模塊):其中包括銷售計劃、詢價報價、訂單管理、運輸發貨、發票等的管理,同時可對分銷網路進行有效的管理。
3SAPFI(財務會計模塊):它可提供應收、應付、總賬、合並、投資、基金、現金管理等功能,這些功能可以根據各分支機構的需要來進行調整,並且往往是多語種的。同時,科目的設置會遵循任何一個特定國家中的有關規定。
4SAPCO(管理會計模塊):它包括利潤及成本中心、產品成本、項目會計、獲利分析等功能,它不僅可以控製成本,還可以控制公司的目標,另外還提供信息以幫助高級管理人員作出決策或制定規劃。
5SAPPS(項目管理模塊):具有項目計劃、項目預算、能力計劃、資源管理、結果分析等功能。
6SAPQM(質量管理模塊):可提供質量計劃、質量檢測、質量控制、質量文檔等功能。
7SAPPP(生產計劃模塊):可實現對工廠數據、生產計劃、MRP、能力計劃、成本核算等的管理,使得企業能夠有效的降低庫存,提高效率。同時各個原本分散的生產流程的自動連接,也使得生產流程能夠前後連貫的進行,而不會出現生產脫節,耽誤生產交貨時間。
8SAPPM(工廠維修模塊):可提供維護及檢測計劃、交易所處理、歷史數據、報告分析。
9SAPBW(商務智能集成化組件):為SAP數據和非SAP數據的採集、存儲、分析和管理提供一個集成的,面向商務仔中咐的平台。使企業對市場反應更靈敏快捷,整個企業也更具有生命力和競爭力。
10SAPABAP(SAP開發模塊):作為SAP的應用編程語言,ABAP現在用於編寫SAP的幾乎全部產品源代碼。同時也是挑戰FICO顧問、MM顧問、SD顧問等具體崗位的基石。
11SAPHANA(SAP大數據):HANA是一個軟體結合體,提高性能的數據數據查詢功能,用戶可以對大量實時業務數據進行查詢和分析。通過HANA,為SAP優化技術應用,轉變人們的念純思考、規劃和工作方式。
(8)abap大數據提取辦法擴展閱讀:
SAP是該軟體培頌的總稱,它也分為多個模塊,每一個模塊都有它相應的專攻專業,能學好其中的一門就已經是十分了得的了。下面我們來了解一些常用的模塊。
一、ABAP。這是SAP中最為重要的模塊。它是一款高級的編程語言,為程序員提供方便、快捷、無流量壓力的工作成效。其本身對於其他模塊的聯系也是最密不可分的,所有模塊都是在此模塊的基礎上進行的。不過想要成為該模塊的專家,需要的努力是不可少的。
二、財務管理。對於會計專業的人才來說,在應用這方面應該已經熟能生巧了。因此學習SAP也就容易了許多。對於資產負債的權衡、對於會計賬目的規劃、對於會計報表的製作,通過SAP軟體也將方便許多。SAP能幫你分析出適合你的情況的規劃,並且列出相應注意點,甚至能檢測出一些錯誤,大大加強會計管理能力。
三、人力資源類型。大公司往往員工眾多,光靠人力部門人工管理、排序也是極為辛苦的,對著厚厚的名單,一般得花很長時間才能管理好人員分配。對於舊問題的未處理與新問題的不斷出現,人力部門總是壓力很大。
在應用SAP軟體系統化地幫助管理人力事物之後,依靠人工去統計的數據就減少了,SAP能依照具體情況制定出一系列的計劃,幫助提高公司運營。
四、采購銷售。SAP中重要模塊之一,涉及到物料、供應商、客戶之間的關系、數據、信息的維護和運行。
❾ ABAP 提取采購訂單的項目文本時 有誤
應該是你的ID寫錯了,呵呵~
告訴你一個方法啊,給'READ_TEXT'裡面加一個斷點,然後運行me23n查看long text.
debug模式裡面,你可知辯余以參考一下SAP系灶友統使用的參數,照著弄一下就行了搭滾!
good luck!
❿ SAP ABAP程序中 BDC錄屏步驟 簡要說
首先知道BDC是什麼?SAP實施工作導數據給SAP系統。正常情況,例如新建物料,就是MM01中一點點KEY值進去保存。那麼如果大數據量,客戶還不得累死,幾百萬條數據做到什麼時候。所以使用BDC,upload數據到程序里,程序進行loop,每一次loop,就是模仿操作一次MM01,最後call trancation,提交一次。成功或者失敗拋出消息。BDC原理就是這樣。
知道了原因,如何操作錄屏,SHDB,選擇下需要使用什麼事物代碼,然後開始錄屏,進到MM01添加該添加欄位值,保存,回退到SHDB中,再次保存。這里SHDB就是錄屏操作步驟,網上相關錄屏操作截圖有很多。可以網路查查。
最後生成程序,在程序中把固定值變成變數,這樣就可以每次loop時候,填充欄位。
這就是BDC相關操作。