版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏第一頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第1頁。ABAPTrainingSAP及ABAP/4Overview系統(tǒng)開發(fā)語言創(chuàng)建企業(yè)報表應(yīng)用事務(wù)開發(fā)商用文檔設(shè)計2023/7/22023/7/22第二頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第2頁。SAP介紹ERP巨人SAP:創(chuàng)立于1972年,ERP思想的倡導(dǎo)者,ERP領(lǐng)域中處于領(lǐng)導(dǎo)地位,全球最優(yōu)秀的企業(yè)管理軟件供應(yīng)商SAP:System,ApplicationandProductsinDataProcessing,即數(shù)據(jù)處理的系統(tǒng)、應(yīng)用和產(chǎn)品2023/7/22023/7/23第三頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第3頁。SAPR/3——一體化ERP系統(tǒng)客戶/服務(wù)器FI財務(wù)會計CO財務(wù)控制TR司庫PS項目管理WF工作流程管理IS行業(yè)解決方案MM物料管理HR人事管理SD銷售與分銷PP生產(chǎn)計劃QM質(zhì)量管理PM工廠維護后勤系統(tǒng)財務(wù)系統(tǒng)人力資源客戶及工業(yè)部門的特殊要求2023/7/22023/7/24第四頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第4頁。SAP新的業(yè)務(wù)模塊和組件CRM顧客關(guān)系管理SCM供應(yīng)鏈管理BW商業(yè)信息倉庫APO高級計劃與優(yōu)化(AdvancedPlannerandOptimizer)2023/7/22023/7/25第五頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第5頁。R/3主要業(yè)務(wù)模塊介紹生產(chǎn)計劃控制物料管理銷售與分銷財務(wù)會計管理會計人力資源2023/7/22023/7/26第六頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第6頁。SAP其他業(yè)務(wù)模塊跨應(yīng)用組件(CA,Cross-ApplicationCompo-nents)基礎(chǔ)系統(tǒng)組件(BC,BasisComponents)品質(zhì)管理(QM,QualityManagement)資產(chǎn)管理(AM,AssetsManagement)2023/7/22023/7/27第七頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第7頁。
SAP
業(yè)務(wù)流程S&D
銷售訂單
PP主生產(chǎn)計劃物料需求計劃采購訂單庫存管理生產(chǎn)執(zhí)行開票運輸生產(chǎn)訂單發(fā)票校驗成本財務(wù)MMCO/FI2023/7/22023/7/28第八頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第8頁。ERP實施步驟總體規(guī)劃,分步實施教育和培訓(xùn)原形測試數(shù)據(jù)準(zhǔn)備系統(tǒng)開發(fā)模擬運行切換2023/7/22023/7/29第九頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第9頁。SAP實施結(jié)構(gòu)設(shè)計實施過程中需要多少個R/3系統(tǒng)需要多少個Client,具體任務(wù)是什么各個集團將如何分布在不同的系統(tǒng)中——通常將“開發(fā)”、“質(zhì)量控制(測試)”、“產(chǎn)品”分別置于三個不同系統(tǒng)的不同集團中2023/7/22023/7/210第十頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第10頁。開發(fā)過程中標(biāo)準(zhǔn)制定制定命名規(guī)則:自定制的所有對象應(yīng)當(dāng)以“Z”或“Y”開頭;避免命名沖突界面風(fēng)格指南:應(yīng)與SAP的標(biāo)準(zhǔn)保持一致文檔維護:項目文檔:項目設(shè)計、實施進度等最終用戶文檔:對象說明、程序說明等技術(shù)說明文檔:程序代碼說明、程序規(guī)格等修訂列表維護:對所有對象的修改清單對象模塊化、在線文檔標(biāo)準(zhǔn)等2023/7/22023/7/211第十一頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第11頁。ABAPTrainingSAP及ABAP/4Overview系統(tǒng)開發(fā)語言創(chuàng)建企業(yè)報表應(yīng)用事務(wù)開發(fā)商用文檔設(shè)計2023/7/22023/7/212第十二頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第12頁。R/3開發(fā)平臺介紹R/3體系結(jié)構(gòu)R/3倉庫與開發(fā)平臺系統(tǒng)開發(fā)工具第一個ABAP程序ABAP數(shù)據(jù)字典介紹2023/7/22023/7/213第十三頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第13頁。R/3邏輯體系結(jié)構(gòu)邏輯上分為顯示層、應(yīng)用層、數(shù)據(jù)庫層數(shù)據(jù)庫層:主要業(yè)務(wù)數(shù)據(jù)及開發(fā)過程中的程序和元數(shù)據(jù)通過關(guān)系數(shù)據(jù)庫管理系統(tǒng)進行操作;應(yīng)用層:從數(shù)據(jù)層提取數(shù)據(jù)進行處理或者存儲新數(shù)據(jù)顯示層:SAPGUI,系統(tǒng)和用戶間的接口,用戶通過該層訪問系統(tǒng)應(yīng)用、輸入新數(shù)據(jù)并接受工作過程的處理結(jié)果2023/7/22023/7/214第十四頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第14頁。R/3倉庫R/3倉庫儲存所有SAP系統(tǒng)開發(fā)過程中的對象,這些對象也被稱之為倉庫對象:ABAP程序數(shù)據(jù)庫表結(jié)構(gòu)定義系統(tǒng)數(shù)據(jù)類型倉庫對象不是企業(yè)業(yè)務(wù)數(shù)據(jù),而是系統(tǒng)內(nèi)部數(shù)據(jù),與Client無關(guān)倉庫對象要從R/3系統(tǒng)傳入另一R/3系統(tǒng),需要開發(fā)類別輔助2023/7/22023/7/215第十五頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第15頁。開發(fā)類別倉庫對象創(chuàng)建時,需要指定所屬的開發(fā)類別倉庫對象在R/3倉庫中按照開發(fā)類別分類,這些對象的集合形成的組織單元即為開發(fā)類別開發(fā)類別的主要功能是對倉庫對象進行管理(目錄管理及傳輸控制管理等)開發(fā)類別中所包含的倉庫對象可以通過對象瀏覽器(SE80)查看和維護開發(fā)類是ABAP工作臺對象,其修改通過TransportOrganizer記錄,開發(fā)類別的開發(fā)類別是其自身2023/7/22023/7/216第十六頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第16頁。ABAP工作臺工具介紹(1)對象導(dǎo)航器:ObjectNavigator,通過開發(fā)類別組織R/3對象的瀏覽及維護程序編輯器:ABAPEditor,編輯ABAP程序代碼數(shù)據(jù)建模器:Datamodeler,業(yè)務(wù)數(shù)據(jù)建模工具數(shù)據(jù)字典:ABAPDictionary,定義系統(tǒng)數(shù)據(jù)類型及數(shù)據(jù)庫對象簡單報表創(chuàng)建器:ABAPQuery2023/7/22023/7/217第十七頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第17頁。ABAP工作臺工具介紹(2)函數(shù)創(chuàng)建器:FunctionBuilder,創(chuàng)建功能模塊類創(chuàng)建器:ClassBuilder,創(chuàng)建ABAP類及方法等面向?qū)ο笤夭藛卫L制器:MenuPainter,用于創(chuàng)建屏幕的標(biāo)題、菜單、工具欄中的元素及功能設(shè)定屏幕繪制器:ScreenPainter,用于創(chuàng)建SAP標(biāo)準(zhǔn)屏幕工作臺管理器:WorkbenchOrganizer,用于管理修改請求2023/7/22023/7/218第十八頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第18頁。對象導(dǎo)航器ABAP工作臺的眾多開發(fā)工具的中心入口,可對各種R/3倉庫對象進行維護,具體見下圖事務(wù)碼:SE80包括導(dǎo)航區(qū)域、對象瀏覽及工具區(qū)域三大塊導(dǎo)航區(qū)域:對象列表選擇及名稱輸入?yún)^(qū)域?qū)ο罅斜恚簩ο罅斜頇C上下文菜單(contextmenu)工具區(qū)域:ABAP工作臺工具、工具欄、菜單、標(biāo)準(zhǔn)工具欄、應(yīng)用工具欄及附屬窗口等2023/7/22023/7/219第十九頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第19頁。ABAP對象導(dǎo)航器圖例導(dǎo)航區(qū)域工具區(qū)域?qū)ο罅斜砀綄俅翱?023/7/22023/7/220第二十頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第20頁。ABAP編輯器路徑事務(wù)碼SE382023/7/22023/7/221第二十一頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第21頁。Abap程序及相關(guān)介紹ABAPadvancedbusinessapplicationprogramming
是“高級商業(yè)應(yīng)用編程”的縮寫“HelloWorld”程序系統(tǒng)程序?qū)嵗篈BAPDOCU、DWDM2023/7/22023/7/222第二十二頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第22頁。ABAP(DDIC)數(shù)據(jù)字典介紹數(shù)據(jù)字典:定義和管理數(shù)據(jù)元素及數(shù)據(jù)庫元素的中心工具,所有的數(shù)據(jù)庫表結(jié)構(gòu)及系統(tǒng)全局?jǐn)?shù)據(jù)類型等都需要在其中創(chuàng)建并維護功能:自定義系統(tǒng)共用數(shù)據(jù)類型(基本類型、結(jié)構(gòu)和表)定義數(shù)據(jù)庫對象結(jié)構(gòu)(數(shù)據(jù)庫表、視圖和索引等)進行屏幕字段的格式化、編輯,比如F1和F4幫助事務(wù)碼:SE112023/7/22023/7/223第二十三頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第23頁。ABAPTrainingSAP及ABAP/4Overview系統(tǒng)開發(fā)語言創(chuàng)建企業(yè)報表應(yīng)用事務(wù)開發(fā)商用文檔設(shè)計2023/7/22023/7/224第二十四頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第24頁。企業(yè)報表類型靜態(tài)報表交互式報表2023/7/22023/7/225第二十五頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第25頁。報表格式XXXXXX(公司文本)庫存分析報表頁數(shù):XXX
工廠代碼:XXXX會計年度:XXXX
會計期間:XX庫存總價:XXXX.XX(貨幣碼)
報表生成者:XXXXXXXX
物料類型物料號碼物料描述庫存地點非限制使用庫存限制使用庫存庫存單位價格總價(貨幣碼)HALB100-100GG-25000144.0001138.000PC196.37¥232,109.34
008810.00010.000PC196.37¥3,927.40
sum
54.000
1143.000PC196.37¥236,036.74
sum
xxxxx.xxx
xxxxxx.xxx
Xxxxx.xx
¥xxxxxxx.xx
簽字:_______簽字:_______簽字:_______2023/7/22023/7/226第二十六頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第26頁。報表格式2023/7/22023/7/227第二十七頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第27頁。ABAPTrainingSAP及ABAP/4Overview系統(tǒng)開發(fā)語言創(chuàng)建企業(yè)報表應(yīng)用事務(wù)開發(fā)商用文檔設(shè)計2023/7/22023/7/228第二十八頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第28頁。對話編程簡介事務(wù)是實施與用戶對話的程序。在典型的對話中,用戶可以在系統(tǒng)顯示的屏幕上輸入或請求信息。作為對用戶輸入或請求的響應(yīng),程序執(zhí)行適當(dāng)?shù)膭幼鳎恨D(zhuǎn)到下一個屏幕,顯示輸出或更改數(shù)據(jù)庫。SAP系統(tǒng)中的每個對話都是由動態(tài)程序控制的。動態(tài)程序包含一個屏幕和它的流邏輯并且精確控制一個對話步驟。流邏輯決定在顯示屏幕前(輸出前的PBO處理)和接收到用戶在屏幕上制作的條目后(輸入后的PAI處理)進行的處理。2023/7/22023/7/229第二十九頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第29頁。ABAPTrainingSAP及ABAP/4Overview系統(tǒng)開發(fā)語言創(chuàng)建企業(yè)報表應(yīng)用事務(wù)開發(fā)商用文檔設(shè)計2023/7/22023/7/230第三十頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第30頁。主要工具SMARTFORMSSCRIPT2023/7/22023/7/231第三十一頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第31頁。ABAP基礎(chǔ)ABAP語言概述數(shù)據(jù)定義基本數(shù)據(jù)操作結(jié)構(gòu)控制處理字符數(shù)據(jù)使用內(nèi)表動態(tài)數(shù)據(jù)對象模塊化技術(shù)錯誤處理程序調(diào)試2023/7/22023/7/232第三十二頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第32頁。ABAP程序結(jié)構(gòu)ABAP是一種事件驅(qū)動語言,包括:數(shù)據(jù)定義:整個程序中可見的全局?jǐn)?shù)據(jù)類型和數(shù)據(jù)對象處理塊(Processingblocks):ABAP程序的主要結(jié)構(gòu)單元,除數(shù)據(jù)定義和聲明語句外的所有ABAP語句都必須隸屬于某一個處理塊ABAP程序基本結(jié)構(gòu)如下圖所示:程序內(nèi)部全局?jǐn)?shù)據(jù)定義對話模塊事件塊子程序等ABAP程序2023/7/22023/7/233第三十三頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第33頁。處理塊類型事件塊(Eventblocks):事件關(guān)鍵字開頭,至下一事件關(guān)鍵字出現(xiàn)(或程序結(jié)束),無事件結(jié)束關(guān)鍵字報表事件:Initialization,Start-of-selection列表事件:At-line-selection屏幕事件(對話事件):Processbeforeoutput,processafterinput對話模塊(DialogModules):有開始和結(jié)束關(guān)鍵字,用于事務(wù)程序設(shè)計,從屬于對話事件,在對話事件塊中調(diào)用過程(Procedure):有開始和結(jié)束關(guān)鍵字,獨立的程序單元,包括功能模塊和子程序、ABAP對象的類方法2023/7/22023/7/234第三十四頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第34頁。ABAP處理塊調(diào)用范例REPORTz_processing_blocks.DATA:text1(20)TYPEcVALUE'BasicList:',text2(20)TYPEcVALUE'SecondaryList:'.*Processingblock1:Eventblock--Start-of-selectionSTART-OF-SELECTION.DO5TIMES.PERFORMfrm_output_lineUSINGsy-index.ENDDO.*Processingblock2:Eventblock--atline-selectionATLINE-SELECTION.WRITE:/text2,sy-lsind.*Processingblock3:Procedure--subroutinefrm_output-lineFORMfrm_output_lineUSINGp_index.WRITE:/text1,sy-lsind,'Value:',p_index.ENDFORM.2023/7/22023/7/235第三十五頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第35頁。ABAP處理塊調(diào)用范例——運行結(jié)果2023/7/22023/7/236第三十六頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第36頁。程序類型的設(shè)定程序類型包括應(yīng)用程序類型和其它程序類型,在創(chuàng)建程序時在程序?qū)傩灾性O(shè)定,如下圖所示:2023/7/22023/7/237第三十七頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第37頁。應(yīng)用程序類型可執(zhí)行程序(ExecutableProgram):創(chuàng)建報表,由Report關(guān)鍵字引導(dǎo),可包括屏幕,可包含除功能模塊外的所有處理塊,可直接在ABAP編輯器中運行,類型代碼為1。對應(yīng)為報表程序模塊池(ModulePool):由Program關(guān)鍵字引導(dǎo),包括自定義的屏幕和對話模塊,必須通過事務(wù)碼運行,類型代碼M。對應(yīng)為事務(wù)程序(也叫對話程序、動態(tài)程序)2023/7/22023/7/238第三十八頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第38頁。其它程序類型不可直接運行,可為ABAP程序提供模塊化單元,包括:功能組(FunctionGroup):由Function-pool語句引導(dǎo),包含一個或多個功能模塊,類型代碼為F類庫(ClassPool):由Class-pool語句引導(dǎo),類型代碼K接口庫(InterfacePool):由Interface-pool語句引導(dǎo),類型代碼J子程序池(Subroutinepools):由Program語句引導(dǎo),類型代碼S,包含子程序代碼或類方法類型組(Typegroups):由Type-pool語句引導(dǎo),在數(shù)據(jù)字典中定義,無類型代碼包含程序(IncludeProgram):不需要語句引導(dǎo),類型代碼I,只是代碼復(fù)用,可直接插入其它程序中,成為該程序一部分2023/7/22023/7/239第三十九頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第39頁。ABAP語言概述程序結(jié)構(gòu)程序類型程序元素語句格式程序運行內(nèi)存管理2023/7/22023/7/240第四十頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第40頁。程序元素類型ABAP元素:在ABAP編輯器中維護的元素屏幕元素:通過屏幕繪制器維護的元素GUI元素:通過菜單繪制器維護的元素2023/7/22023/7/241第四十一頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第41頁。程序元素源代碼(sourcecode)變式(Variants):與選擇屏幕相關(guān),用于存放輸入的數(shù)據(jù)選擇值,以便反復(fù)調(diào)用該程序時重復(fù)輸入數(shù)據(jù)文本元素(Textelements):存儲于文本池中的文本,包括文本符號、選擇文本、列表標(biāo)題等文檔(Documentation):寫給用戶的說明,用于解釋程序的功能、使用方法等文本元素和文檔均具有語言相關(guān)性,可以由系統(tǒng)翻譯工具進行翻譯2023/7/22023/7/242第四十二頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第42頁。文本元素維護界面2023/7/22023/7/243第四十三頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第43頁。屏幕元素SAP標(biāo)準(zhǔn)屏幕(Screen):多用于SAP事務(wù)程序設(shè)計,包括屏幕布局(Layout)和流邏輯(FlowLogic)選擇屏幕(SelectionScreen):多用于報表程序中接受用戶輸入報表的選擇標(biāo)準(zhǔn),可通過ABAP語句控制其輸出格式傳統(tǒng)列表屏幕(Lists):只包含列表輸出區(qū)域,伸出內(nèi)容通過write和uline等ABAP語句生成2023/7/22023/7/244第四十四頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第44頁。GUI元素為屏幕的一個組成部分,但設(shè)計時獨立于屏幕存在,各種屏幕都可以獨立分配GUI包括屏幕上方的菜單、標(biāo)準(zhǔn)工具欄、應(yīng)用工具欄以及功能鍵和功能代碼等GUI元素在程序調(diào)用時分為狀態(tài)(GUIstatus)和標(biāo)題(GUITitle)兩部分2023/7/22023/7/245第四十五頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第45頁。ABAP語句結(jié)構(gòu)以一個ABAP語句關(guān)鍵字引導(dǎo),句號結(jié)束ABAP語句中還可以含附加項和操作元素各關(guān)鍵字、選項、操作數(shù)之間應(yīng)至少保留一空格范例:
Reportz_simple_program. DataText(20)VALUE‘Simpleprogram’. Start-of-selection. WRITEtext.2023/7/22023/7/246第四十六頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第46頁。ABAP語句類型(1)聲明語句:用于數(shù)據(jù)元素的定義和聲明(如變量)DATA,PARAMETER,TABLES,TYPES模塊化語句:用于定義運行時的處理代碼塊,分為事件關(guān)鍵字語句和過程定義關(guān)鍵字語句事件關(guān)鍵字包括:AT-SELECTION-SCREEN,START-OF-SELECTION,ATUSER-COMMAND過程定義關(guān)鍵字包括:FORM/ENDFORM,F(xiàn)UNCTION/ENDFUNCTION,MODULE/ENDMODULE控制語句:以條件控制程序處理塊內(nèi)部的程序流程IF/ENDIF,WHILE/ENDWHILE,CASE/ENDCASE2023/7/22023/7/247第四十七頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第47頁。ABAP語句類型(2)調(diào)用語句:用于調(diào)用已定義好的處理塊PERFORM,CALL,SUMBIT,LEAVETO操作語句:用于程序內(nèi)部數(shù)據(jù)操作或輸出WRITE,MOVE,ADD以及運算符等數(shù)據(jù)庫語句:用于數(shù)據(jù)庫操作,含OpenSQL和NativeSQL兩種2023/7/22023/7/248第四十八頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第48頁。語句鏈關(guān)鍵字“:”和“,”可以把連續(xù)使用的相同關(guān)鍵字引導(dǎo)的語句連接在一起,以簡化代碼,如:WRITE:text1,text2.等價于WRITEtext1.WRITEtext2.2023/7/22023/7/249第四十九頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第49頁。注釋“*”,在行的開頭使用,可注釋該行“””,單個雙引號,可注釋該行中其后的文字,如下所示
*Thiswholelineiscomments WRITEtext. “Contentsbehindsthisiscomments2023/7/22023/7/250第五十頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第50頁。程序調(diào)用直接運行:在事務(wù)SE38或SA38中直接運行通過系統(tǒng)目錄或者在命令域中輸入事務(wù)代碼運行內(nèi)部調(diào)用:事務(wù)代碼調(diào)用:LEAVETOTRANSACTION,CALLTRANSACTION(調(diào)用返回)SUBMIT,SUBMITANDRETURN(調(diào)用返回)2023/7/22023/7/251第五十一頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第51頁。程序結(jié)束自動結(jié)束:程序完全運行,自動結(jié)束強制結(jié)束:通過LEAVEPROGRAM.語句可以在任意點結(jié)束程序2023/7/22023/7/252第五十二頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第52頁。內(nèi)存管理(1)運行時內(nèi)存管理與用戶對話相關(guān)(同一個用戶和系統(tǒng)進行最多六個SAPGUI對話),包括SAP內(nèi)存和ABAP內(nèi)存兩部分主對話:又稱外部對話,用戶登錄SAP之后,即開始和應(yīng)用服務(wù)器之間的主對話,各對話間無聯(lián)系內(nèi)部對話:在主對話中運行可執(zhí)行程序或者模塊池程序,開始內(nèi)部對話調(diào)用序列:調(diào)用不返回,新程序內(nèi)部對話代替原程序內(nèi)存,并刪除原程序內(nèi)存;調(diào)用返回時,生成程序調(diào)用序列,生成堆棧,調(diào)用結(jié)束時,恢復(fù)上一級程序內(nèi)存狀態(tài)2023/7/22023/7/253第五十三頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第53頁。內(nèi)存管理(2)ABAP內(nèi)存:主對話內(nèi)部有一個ABAP內(nèi)存區(qū)域,在該對話內(nèi)部,可通過EXPORTTO和IMPORTFROMMEMORY在內(nèi)存堆棧之間進行數(shù)據(jù)傳遞,以隊列的方式存儲SAP內(nèi)存:所有對話都可以訪問的內(nèi)存區(qū)域,可在SAP各對話間共享,通過SETPARAMETER和GETPARAMETER訪問裝載程序:調(diào)用或執(zhí)行程序時,程序?qū)嵗谎b載到ABAP內(nèi)存,第一個被裝載的程序為主程序;程序裝載,觸發(fā)LOAD-OF-PROGRAM事件對象創(chuàng)建:創(chuàng)建對象(CREATEOBJECT),類的實例被裝載到內(nèi)部對話,該內(nèi)部對話中的程序及對象都可以使用該類實例2023/7/22023/7/254第五十四頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第54頁。ABAP基礎(chǔ)ABAP語言概述數(shù)據(jù)定義基本數(shù)據(jù)操作結(jié)構(gòu)控制處理字符數(shù)據(jù)使用內(nèi)表動態(tài)數(shù)據(jù)對象模塊化技術(shù)錯誤處理2023/7/22023/7/255第五十五頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第55頁。數(shù)據(jù)定義與宣告語句DATA:用于定義變量以及內(nèi)表、工作區(qū)間TYPE:定義類型TABLES:宣告某一個系統(tǒng)中的表或者結(jié)構(gòu),以便于程序中使用,同時創(chuàng)建表的工作區(qū)間CONSTANTS:定義一個常量Parameters、selection-options2023/7/22023/7/256第五十六頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第56頁。數(shù)據(jù)對象生存周期:程序的運行期保存:存儲于數(shù)據(jù)庫或者輸出到文件范例:
DATAtxt1(15)TYPEcVALUE‘DataObject’.初始值類型為字符串存儲長度15個字節(jié)2023/7/22023/7/257第五十七頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第57頁。數(shù)據(jù)類型體系基本類型(ElementTypes)分為固定長度和可變長度兩種固定長度(C、N、T、D、I、P、F、X)可變長度String、XString復(fù)雜類型結(jié)構(gòu)類型:結(jié)構(gòu)體表類型:內(nèi)表引用類型:基于基本數(shù)據(jù)定義參考變量的數(shù)據(jù)參考變量的對象2023/7/22023/7/258第五十八頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第58頁?;绢愋凸潭ㄩL度數(shù)據(jù)類型初始值說明示例CSPACE文本字符‘串’‘Name’N‘000..0’數(shù)字文本‘01234’T‘000000’時間‘150028’D‘00000000’日期‘20091231’I0整型345F0浮點數(shù)5E+04P0壓縮數(shù)123,456,789.000X‘0’十六進制數(shù)‘3A’2023/7/22023/7/259第五十九頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第59頁?;绢愋涂勺冮L度String:字符串,如’AString’XString:十六進制字符串,如’A3FF’2023/7/22023/7/260第六十頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第60頁。補充文本文字最長可達255個字符。如果某文本文字包含引號,必須重復(fù)引號,以使系統(tǒng)能夠?qū)?nèi)容識別為文本文字而不是文字的結(jié)尾。新壓縮類型P在系統(tǒng)中存放時所占內(nèi)存空間只有同長度的浮點數(shù)、整數(shù)的一半數(shù)字字符N,實際上是一個字符串,但是其中的字符只能是數(shù)字。如果給該類型變量賦值不足與定義的長度,系統(tǒng)會自動在左邊補零2023/7/22023/7/261第六十一頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第61頁。確定數(shù)據(jù)對象屬性DESCRIBE語法格式:
DESCRIBEFIELDf[LENGTH][TYPEt[COMPONENTSn]][OUTPUT-LENGTHo][DECMIALSd][EDITMASKm][HELP-IDh]變量:LENGTH,對象長度TYPE,對象類型OUTPUT-LENGT,確定輸出長度DECIMALS,確定P類型數(shù)據(jù)對象的小數(shù)位長度EDITMASK確定在數(shù)據(jù)字典中定義轉(zhuǎn)換例程HELP-ID確定數(shù)據(jù)字典中定義的F1幫助信息2023/7/22023/7/262第六十二頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第62頁。其他定義方式DataAlikeB.Emp:Data:matnrlikemara-matnr,datelikesy-datum.2023/7/22023/7/263第六十三頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第63頁。ABAP基礎(chǔ)ABAP語言概述數(shù)據(jù)定義基本數(shù)據(jù)操作結(jié)構(gòu)控制處理字符數(shù)據(jù)使用內(nèi)表動態(tài)數(shù)據(jù)對象模塊化技術(shù)錯誤處理程序調(diào)試2023/7/22023/7/264第六十四頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第64頁。基本的數(shù)據(jù)操作——數(shù)據(jù)賦值MOVE:把源字段的值賦給目標(biāo)變量,如MOVEsourceTOdestination. 等價于Destination=source.注意事項:源對象和目標(biāo)完全兼容(類型,長度等),則賦值過程中結(jié)果不變不完全兼容但可以進行類型轉(zhuǎn)換,按固定的轉(zhuǎn)換規(guī)則轉(zhuǎn)換不兼容且不能轉(zhuǎn)換,則不能賦值,提示語法錯誤或者編譯過程中有錯誤,否則會出現(xiàn)運行時錯誤2023/7/22023/7/265第六十五頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第65頁。基本的數(shù)據(jù)操作——結(jié)構(gòu)體賦值兩個結(jié)構(gòu)體組件結(jié)構(gòu)完全一致,可以直接賦值,如stur1=stur2兩結(jié)構(gòu)體組件結(jié)構(gòu)不完全一致,但有部分組件有對應(yīng)關(guān)系,可逐個組件賦值或者使用move-correspondingstru1tostru2.語句賦值2023/7/22023/7/266第六十六頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第66頁?;镜臄?shù)據(jù)操作——初始值設(shè)定將已經(jīng)賦值的變量值晴空,恢復(fù)為初始狀態(tài),采用clear語句,如:clearg_var1.Clear基本數(shù)據(jù)類型:初始值根據(jù)數(shù)據(jù)類型定Clear結(jié)構(gòu)體類型:逐層、逐個組件拆分按上一規(guī)則執(zhí)行Clear內(nèi)表,清除內(nèi)表表頭數(shù)據(jù)語句為:clearit_test.;清除內(nèi)表標(biāo)題數(shù)據(jù)語句為:clearit_test[].或者refreshit_test.引用類型數(shù)據(jù):恢復(fù)初始狀態(tài),不指向任何數(shù)據(jù)對象2023/7/22023/7/267第六十七頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第67頁。數(shù)值運算——算術(shù)預(yù)算語句運算數(shù)學(xué)表達式語句關(guān)鍵字語句加法n=x+y.ADDyTOx.減法n=x-y.SUBTRACTyFROMx.乘法n=x*y.MULTIPLYxByy.除法n=x/y.DIVIDExBYy.整除n=xDIVy.
取余n=xMODy.
冪n=x**y.
2023/7/22023/7/268第六十八頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第68頁。數(shù)值運算——算術(shù)預(yù)算原則運算后賦值時需要注意類型轉(zhuǎn)換多種數(shù)學(xué)表達式共存時注意優(yōu)先級除法/整除運算時要注意除數(shù)不能為0運算符號及括號都是ABAP關(guān)鍵字,前后都需要有空格使用P類型進行計算時,程序?qū)傩訤ixedPointedarithmetic沒有選中的話,運算時會被當(dāng)作整數(shù)類型進行處理兩個結(jié)構(gòu)體同名字段也可以整體進行算術(shù)運算,語句為ADD-CORRESPONDING,前綴和運算關(guān)鍵字一樣2023/7/22023/7/269第六十九頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第69頁。數(shù)值運算——任意類型參數(shù)的數(shù)學(xué)函數(shù)函數(shù)名稱說明ABS(X)返回輸入?yún)?shù)的絕對值SIGN(X)返回輸入?yún)?shù)符號,正數(shù)返回1,0返回0,負數(shù)返回-1TRUNC(X)返回輸入?yún)?shù)的整數(shù)部分FRAC(X)返回輸入?yún)?shù)的小數(shù)部分CEIL(X)返回不小于輸入?yún)?shù)的最小整數(shù)值FLOOR(X)返回不大于輸入?yún)?shù)的最大整數(shù)值2023/7/22023/7/270第七十頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第70頁。數(shù)值運算——浮點數(shù)類型的數(shù)學(xué)函數(shù)函數(shù)名稱說明Cos,Sin,Tan三角函數(shù)Acos,Asin,Atan反三角函數(shù)Cosh,Sinh,Tanh雙曲函數(shù)Exp底數(shù)為e(2.7182818285)的冪函數(shù)Log/Log10底數(shù)為e/10的對數(shù)SQRT平方根2023/7/22023/7/271第七十一頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第71頁。數(shù)值運算——時間日期運算系統(tǒng)將日期時間先轉(zhuǎn)換為數(shù)值類型,根據(jù)這兩種特殊的類型進行合理的增減,如下所示DATA:secondsTYPEi,hoursTYPEi,time1TYPEtVALUE'100000',time2TYPEtVALUE'080000'.seconds=time1-time2.hours=seconds/3600.WRITE:/'Secondsbetweentime1andtime2:',seconds,/'Hoursbetweentime1andtime2:',hours.2023/7/22023/7/272第七十二頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第72頁。數(shù)據(jù)輸出——基本輸出格式數(shù)據(jù)輸出及格式化語句:WRITE,ULINE,FORMAT,SKIP.基本輸出語法如下:WRITE[/]f.ULINE.FORMATcolor….SKIPn.2023/7/22023/7/273第七十三頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第73頁?;緮?shù)據(jù)類型的默認輸出模式數(shù)據(jù)類型輸出長度對齊方式C變量長度左對齊N變量長度左對齊T6左對齊D8左對齊F2*變量長度右對齊I11右對齊P2*變量長度(+1個小數(shù)位)右對齊2023/7/22023/7/274第七十四頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第74頁。格式化輸出(write語句)語法格式:write…f<format_options>.具體的格式化選項請參考F1幫助在用戶主記錄中,可以設(shè)置輸出時顯示的日期分隔符、小數(shù)點字符和千分符等選項,進入方式為:任意一SAP屏幕的菜單System->UserProfile->Owndata2023/7/22023/7/275第七十五頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第75頁。邏輯表達式基本格式:…f1<operator>f2…通用邏輯表達式列表運算符意義EQ或=等于NE或<>或><不等于LT或<小于LE或<=小于等于GT或>大于GE或>=大于等于2023/7/22023/7/276第七十六頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第76頁。邏輯表達式——特殊操作符ISINITIAL:檢查變量是否是初始值BETWEEN:檢查對象的值是否屬于特定范圍之間:…f1betweenf2andf3…IN:用于檢查數(shù)據(jù)對象的內(nèi)容是否遵從某個選擇表的邏輯條件選擇表:一種特殊的內(nèi)表,每一行包含一個特定的邏輯條件,DATAseltablikerangeoff.組合邏輯表達式:AND,OR,NOT,如下IF(ALTN)and(NGTF).2023/7/22023/7/277第七十七頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第77頁。邏輯表達式——比較兩種類型數(shù)據(jù)兼容類型:不需要做轉(zhuǎn)換,按照通常的比較方式進行不兼容類型:可轉(zhuǎn)換的則先轉(zhuǎn)換,轉(zhuǎn)換規(guī)則:操作數(shù)之一為F類型,則其他操作數(shù)轉(zhuǎn)為F類型操作數(shù)無F類型,之一為P類型,則其他操作數(shù)轉(zhuǎn)為P類型無F,P類型,之一為T或D類型,其他操作數(shù)轉(zhuǎn)為T或D類型無F,P,T,D類型,之一為C類型且其他為X類型,X類型轉(zhuǎn)為C類型操作數(shù)之一為C類型,其他為N類型,則兩種類型均轉(zhuǎn)換為P類型比較結(jié)構(gòu)化數(shù)據(jù):可轉(zhuǎn)換,則逐個組件比較;若不可轉(zhuǎn)換,則先轉(zhuǎn)為C類型在比較比較內(nèi)表:首先決定于行數(shù),若行數(shù)相同,則逐行逐個組件進行比較;如果使用等于之外的操作副,則系統(tǒng)找到不對等的組件即停止比較并返回結(jié)果2023/7/22023/7/278第七十八頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第78頁。ABAP基礎(chǔ)ABAP語言概述數(shù)據(jù)定義基本數(shù)據(jù)操作結(jié)構(gòu)控制處理字符數(shù)據(jù)使用內(nèi)表動態(tài)數(shù)據(jù)對象模塊化技術(shù)錯誤處理程序調(diào)試2023/7/22023/7/279第七十九頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第79頁。結(jié)構(gòu)控制程序處理塊內(nèi)部的代碼由下列三種結(jié)構(gòu)組織順序結(jié)構(gòu):程序順序執(zhí)行分支結(jié)構(gòu):根據(jù)不同的條件執(zhí)行不同的語句塊循環(huán)結(jié)構(gòu):反復(fù)執(zhí)行某個語句塊在ABAP中,控制結(jié)構(gòu)都是在程序處理塊內(nèi)部的,作用范圍不能超出一個處理塊,所以稱為處理塊內(nèi)部塊內(nèi)部控制2023/7/22023/7/280第八十頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第80頁。分支控制包括兩種分支控制條件分支語句:IF/ENDIFIfconditions. ...elseifconditions. …Endif.CASE/ENDCASECASEf.whenf1[orf2or…]…when……whenothers.…Endcase.2023/7/22023/7/281第八十一頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第81頁。循環(huán)控制——無條件循環(huán)無條件循環(huán),使用DO語句實現(xiàn)
DO[ntimes]. … ENDDO.N用于控制循環(huán)次數(shù),可以是數(shù)字或者變量如果N為0或者負數(shù),則不進入該循環(huán);如果不限定N的值,則需要用EXIT(推出當(dāng)前循環(huán)),STOP或REJECT等語句強制結(jié)束循環(huán),避免死循環(huán)系統(tǒng)變量SY-INDEX為已經(jīng)處理過的循環(huán)次數(shù)值,DO循環(huán)可以嵌套,SY-INDEX為當(dāng)前循環(huán)的次數(shù)2023/7/22023/7/282第八十二頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第82頁。無條件循環(huán)范例REPORTz_do_loop.DATA:out_indexTYPEi,in_indexTYPEi.DO2TIMES.out_index=sy-index.WRITE:/out_index.SKIP.DO3TIMES.in_index=sy-index.WRITE:out_indexNO-GAP,'-'NO-GAP,in_indexLEFT-JUSTIFIED.ENDDO.SKIP.ENDDO.2023/7/22023/7/283第八十三頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第83頁。條件循環(huán)使用WHILE語句實現(xiàn),進入循環(huán)之前,先檢查語句中邏輯表達式的值,如果為真,執(zhí)行后面的語句;當(dāng)邏輯值不再為真或者執(zhí)行到中止語句時,結(jié)束循環(huán),語句格式如下:
WHILE<condition>.……ENDWHILE.SY-INDEX包含已執(zhí)行的循環(huán)次數(shù),可以嵌套循環(huán),要避免死循環(huán)問題,一般需要在程序中修改邏輯表達式某變量值,確保一定次數(shù)后語句條件為假,否則語句塊中必須含有循環(huán)中止語句2023/7/22023/7/284第八十四頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第84頁。條件循環(huán)語句范例REPORTz_while_loop.DATA:g_lenthTYPEi,g_str01(30)TYPEcVALUE'Beijing2008'.WHILEg_str01NEspace.g_lenth=sy-index.SHIFTg_str01.ENDWHILE.skip5.WRITE:/'Lengthofg_str01:',g_lenth.注釋:該程序確定字符串的有效長度,每次執(zhí)行循環(huán)時,將字符串左移一位,直到其僅包含空格為止2023/7/22023/7/285第八十五頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第85頁。循環(huán)的中止無條件循環(huán):設(shè)定循環(huán)次數(shù)實現(xiàn)中止條件循環(huán):在循環(huán)過程中修改邏輯表達式中變量的值,使條件語句為假強制結(jié)束循環(huán)語句CONTINUE用于無條件中止當(dāng)前循環(huán),運行該語句后跳過當(dāng)前語句塊所有生于語句執(zhí)行——但并非結(jié)束循環(huán),而是開始下一輪循環(huán)或條件判斷CHECK用于有條件中止當(dāng)前循環(huán),與CONTINUE語句類似EXIT,無條件中止循環(huán),系統(tǒng)退出當(dāng)前循環(huán),繼續(xù)執(zhí)行當(dāng)前循環(huán)后面的代碼,嵌套循環(huán)時執(zhí)行上一級循環(huán)STOP、REJECT,退出循環(huán)并無條件結(jié)束程序2023/7/22023/7/286第八十六頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第86頁。循環(huán)中止范例REPORTz_terminate_loop.DO4TIMES.IFsy-index=2.CONTINUE.ENDIF.WRITEsy-index.ENDDO.SKIP.DO4TIMES.CHECKsy-indexBETWEEN2AND3.WRITEsy-index.ENDDO.SKIP.DO4TIMES.IFsy-index=3.EXIT.ENDIF.WRITEsy-index.ENDDO.2023/7/22023/7/287第八十七頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第87頁。ABAP基礎(chǔ)ABAP語言概述數(shù)據(jù)定義基本數(shù)據(jù)操作結(jié)構(gòu)控制處理字符數(shù)據(jù)使用內(nèi)表動態(tài)數(shù)據(jù)對象模塊化技術(shù)錯誤處理程序調(diào)試2023/7/22023/7/288第八十八頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第88頁。處理字符數(shù)據(jù)字符數(shù)據(jù)操作連接字符串拆分字符串查找字符串替換字符串內(nèi)容確定字符串長度其他操作語句字符串比較定位操作字符串2023/7/22023/7/289第八十九頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第89頁。字符數(shù)據(jù)操作——連接字符串語句關(guān)鍵字:CONCATENATEconcatenates1…snintos_dest[separatedbysep]連接字符串s1~sn并將結(jié)果賦給字符串s_destseparatedby用于指定一個字符(串)作為分隔符如果連接字符串后的總長度超過目標(biāo)字符串長度,則把結(jié)果截斷后賦值;一旦出現(xiàn)截斷情況,sy-subrc為4,否則為0為了避免截斷,可以把目標(biāo)字符串定義為string類型2023/7/22023/7/290第九十頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第90頁。連接字符串范例REPORTz_string_concatenate.data:g_s1(9)typecvalue'Firstname',g_s2(10)typecvalue'Secondname',g_s3(20)typec,g_sp(1)typecvalue'.'.concatenateg_s1g_s2intog_s3.write/g_s3.concatenateg_s1g_s2intog_s3separatedbyg_sp.write/g_s3.2023/7/22023/7/291第九十一頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第91頁。字符數(shù)據(jù)操作——拆分使用SPLIT語句可將字符串拆分未多個小串
splitsourceatsepintos1…sn.在源字符串中搜索分隔符(sep),并根據(jù)該分隔符把源串拆分為多個小串并放到目標(biāo)字串s1~sn中子串中不包括分隔符與連接語句類似,如果目標(biāo)字串長度不夠會進行截斷,且sy-subrc為4,否則為0如果源串拆分的字串?dāng)?shù)量多于目標(biāo)字串?dāng)?shù)量,則源串最后剩余部分包括其后的分隔符都將寫入最后一個字串??刹捎脙?nèi)表來避免這種情況2023/7/22023/7/292第九十二頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第92頁。字符串拆分范例REPORTz_string_split.DATA:textTYPEstring,itabTYPETABLEOFstring.text='ABAPisaprogramminglanguage.'.SPLITtextATspaceINTOTABLEitab.LOOPATitabINTOtext.WRITE/text.ENDLOOP.2023/7/22023/7/293第九十三頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第93頁。字符數(shù)據(jù)操作——查找字串使用search語句:searchcforstr.在變量C中茶中字符串str,如果找到,sy-subrc返回0,sy-fdpos返回變量C中該字符串的位置(從左算起的字符偏移量),否則將sy-subrc返回4字符串str,可以使用通配符‘*’,也可以設(shè)定保存或者忽略str末尾的空格,如下所示:str,搜索str并忽略尾部空格.str.,搜索str不忽略尾部空格*str,搜索以str結(jié)尾的單詞str*,搜索以str開頭的單詞注意:單詞是指以符號(空格,標(biāo)點符號,其他字符)分隔的字串2023/7/22023/7/294第九十四頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第94頁。查找字符串范例REPORTz_string_search.DATAg_str(30)TYPEcVALUE'Thisisatestsentence.'.WRITE:/'Searched','SY-SUBRC','SY-FDPOS'.SEARCHg_strFOR'X'.WRITE:/'X',sy-subrcUNDER'SY-SUBRC',sy-fdposUNDER'SY-FDPOS'.SEARCHg_strFOR'e'.WRITE:/'e',sy-subrcUNDER'SY-SUBRC',sy-fdposUNDER'SY-FDPOS'.SEARCHg_strFOR'.e.'.WRITE:/'.e.',sy-subrcUNDER'SY-SUBRC',sy-fdposUNDER'SY-FDPOS'.SEARCHg_strFOR'*e'.WRITE:/'*e',sy-subrcUNDER'SY-SUBRC',sy-fdposUNDER'SY-FDPOS'.SEARCHg_strFOR's*'.WRITE:/'s*',sy-subrcUNDER'SY-SUBRC',sy-fdposUNDER'SY-FDPOS'.2023/7/22023/7/295第九十五頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第95頁。字符數(shù)據(jù)操作——替換字符串內(nèi)容用其他字符串替換字段的某些部分,使用
replacestr1withstr2intos_dest[lengthl]先對字段s_dest進行搜索,發(fā)現(xiàn)字串str1即用str2替換第一次出現(xiàn)的部分如果指定length,則只搜索前L個字節(jié)如果SY-SUBRC返回為0,則找到并替換成功,否則為進行任何替換2023/7/22023/7/296第九十六頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第96頁。替換字符串范例REPORTz_string_replace.DATAnameTYPEstring.name='Michael-Cheong'.WRITE:/'notreplaced:',name.WHILEsy-subrc=0.REPLACE'-'WITH''INTOname.ENDWHILE.WRITE:/'replaced:',name.2023/7/22023/7/297第九十七頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第97頁。字符數(shù)據(jù)操作——確定字串長度字符串長度:從首字符開始到最后一個非空字符的長度,即不包括結(jié)尾空格,使用:
n=STRLEN(str).將操作數(shù)str作為字符數(shù)據(jù)類型處理,不考慮其實際類型,也不進行轉(zhuǎn)換,范例如下:REPORTz_strlen.DATA:text(24)typecVALUE‘ABAPLanguage’, lenTYPEi.Len=strlen(text).Write:/‘Lengthof‘,text,’is’,len.2023/7/22023/7/298第九十八頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第98頁。字符數(shù)據(jù)操作——其他操作語句SHIFT,將字符串整體或者字串進行位移CONDENSE,刪除字符串中多于的空格TRANSLATE,字符轉(zhuǎn)換CONVERTTEXT創(chuàng)建一個可以排序的格式OVERLAY用一個字符串覆蓋另一個字符串2023/7/22023/7/299第九十九頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第99頁。字符數(shù)據(jù)比較運算符含義s1COs2如果s1僅包含s2中的字符,則為真s1CNs2如果s1還包含s2外的字符,則為真s1CAs2如果s1包含任意一個s2中的字符,則為真s1NAs2如果s1不包含s2中的字符,則為真s1CSs2如果s1包含字符串s2,則為真s1NSs2如果s1不包含字符串s2,則為真s1CPs2如果s1包含模式s2,則為真s1NPs2如果s1不包含模式s2,則為真2023/7/22023/7/2100第一百頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第100頁。定位操作字串通過制定長度及偏移量來操作指定的部分字串,語句為:s[+o][(L)]對變量S從第o+1位開始且長度為L的部分執(zhí)行該語句的操作,如果未指定長度,則對第o+1位至程序末尾之間的所有位進行處理,偏移量和長度可以為變量動態(tài)指定,但是只能是如下情況:MOVE賦值;WRITETO賦值;ASSIGN分配給字段符號;PERFORM將數(shù)據(jù)傳給子程序。范例如下:REPORTz_string_comparison.DATA:f1(8)VALUE‘ABCDEFGH’,f2+6(5)=f1+3(5).2023/7/22023/7/2101第一百零一頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第101頁。系統(tǒng)變量所有的系統(tǒng)字段存放于結(jié)構(gòu)SYST中,可以通過SE11來瀏覽SY-SUBRC,該變量是多數(shù)命令行執(zhí)行成功與否的標(biāo)志,比如數(shù)據(jù)庫操作、功能函數(shù)調(diào)用等等,0表示操作成功,其他為操作失敗。是ABAP編程中最常用、最有用的系統(tǒng)變量2023/7/22023/7/2102第一百零二頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第102頁。建表DataelementDomin2023/7/22023/7/2103第一百零三頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第103頁。謝謝大家Q/A2023/7/22023/7/2104第一百零四頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第104頁。ABAP基礎(chǔ)ABAP語言概述數(shù)據(jù)定義基本數(shù)據(jù)操作結(jié)構(gòu)控制處理字符數(shù)據(jù)使用內(nèi)表動態(tài)數(shù)據(jù)對象模塊化技術(shù)錯誤處理程序調(diào)試2023/7/22023/7/2105第一百零五頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第105頁。結(jié)構(gòu)、工作區(qū)、內(nèi)表結(jié)構(gòu)(Structure)工作區(qū)(Workarea)內(nèi)表(Innertable)2023/7/22023/7/2106第一百零六頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第106頁。結(jié)構(gòu)屬于復(fù)雜類型,內(nèi)容包含定義的數(shù)據(jù)字段
TYPES:BEGINOFline, idTYPEi,name(30), agetypei,ENDOFline.2023/7/22023/7/2107第一百零七頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第107頁。內(nèi)表工作區(qū)內(nèi)表:用于在程序運行期間存儲多行結(jié)構(gòu)相同的數(shù)據(jù)工作區(qū):內(nèi)表是按行進行訪問的。必須使用某個工作區(qū)域作為與表格互相 傳輸數(shù)據(jù)的接口。工作區(qū)與內(nèi)表的定義
data:wa_linetypeline, it_linetypetableofline.表頭行(…withheaderline):隱式工作區(qū)讀取數(shù)據(jù)行更新數(shù)據(jù)行工作區(qū)
內(nèi)表idnameageIdNameage2023/7/22023/7/2108第一百零八頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第108頁。內(nèi)表的分類內(nèi)表種類:標(biāo)準(zhǔn)表排序表哈希表2023/7/22023/7/2109第一百零九頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第109頁。定義內(nèi)表語法格式:
TYPES|DATAitab{TYPE|LIKE}
tablekindOF{LINETYPE|LINEOBJECT}
{WITHkey}{INITIALSIZEn} {withheaderline}.tablekind:內(nèi)表類型linetype|lineobject:行結(jié)構(gòu)key:表關(guān)鍵字Initialsizen:內(nèi)表分配的初始內(nèi)存大小withheaderline:定義表頭行2023/7/22023/7/2110第一百一十頁,共246頁。SAPABAP基礎(chǔ)語法培訓(xùn)教程珍藏講課文檔全文共246頁,當(dāng)前為第110頁。內(nèi)表的重要概念——邏輯索引對于標(biāo)準(zhǔn)表和排序表,每一條數(shù)據(jù)記錄都有一個邏輯索引在對標(biāo)準(zhǔn)表和排序表進行插入、刪除、附加操作的時候,系統(tǒng)自動的對每一條數(shù)據(jù)記錄賦一個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大學(xué)生畢業(yè)登記表自我鑒定(5篇)
- 石河子大學(xué)《歷史教學(xué)技能實訓(xùn)》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《工業(yè)藥物分析綜合實驗》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《教師語言與行為藝術(shù)》2022-2023學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《數(shù)字信號處理》2021-2022學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《美國文學(xué)史》2022-2023學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《機械工程材料》2021-2022學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《翻譯工作坊》2023-2024學(xué)年第一學(xué)期期末試卷
- 合同法81條對應(yīng)民法典
- 高空作業(yè)合同安全責(zé)任書模版
- 胎心聽診技術(shù)最全課件
- 無套利分析方法課件
- ERCP+EST+ENBD相關(guān)知識及護理
- 住院患者導(dǎo)管滑脫危險因素評估表
- 一年級數(shù)學(xué)老師家長會發(fā)言稿
- Linux操作系統(tǒng)應(yīng)用(麒麟系統(tǒng))PPT完整全套教學(xué)課件
- 湖北省旅游PPT簡介湖北省幻燈片模板
- 大學(xué)生創(chuàng)新創(chuàng)業(yè)PPT完整全套教學(xué)課件
- 報關(guān)單位備案信息表
- 寧夏醫(yī)學(xué)會超聲醫(yī)學(xué)分會委員候選人推薦表
- 消費者咨詢業(yè)務(wù)試題及答案(4月4更新)
評論
0/150
提交評論