版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Dialog Programming OverviewDialog Program : TransactionDialog Program ComponentsTransaction CodeScreen : 9000(Screen Layout)Screen : 9010(Screen Layout)Flow LogicFlow LogicPBOPAIABAP Module PoolABAP Module PoolPBOPAIABAP Module PoolABAP Module PoolDialog ProgramProgram Naming Convention : SAPMSAP Tr
2、ansactionnAn SAP transaction consists of Dialog steps. A Dialog step begins when the user press Enter,activates a function by pressing a function key,double-clicks or chooses a function from a menu.It ends when the next screen is displaynIn the course of a Dialog step,The PAI modules belonging to th
3、e current screen and the PBO modules belonging to the next screenDB CommitDB CommitData Transfer (Local Memory) Screen BufferABAP Memory SpaceScreen Work AreaABAP Work Areacustomers-idcustomers-namecustomers id name city 0000000ok_codeok_codeLocal MemoryElement ListFlow LogicnProcess Before Output(P
4、BO)nAfter it has processed all of the modules in the PBO processing block, the system copies the contents of the fields in the ABAP work area to their corresponding fields in the screen work area. nProcess After Input(PAI)nBefore it processes the first module in the PAI processing block, the system
5、copies the contents of the fields in the screen work area to their corresponding fields in the ABAP work area. OK Code Field in ScreenOK Code Field orCommand Field(ok_code in Element List)Defining Screen (4 Steps) nScreen AttributenScreen LayoutnFlow LogicnElement ListElement List(ok_code field)Flow
6、 Logic in Screen 9000PROCESS BEFORE OUTPUT.MODULE STATUS_9000.PROCESS AFTER INPUT. MODULE USER_COMMAND_9000.PBO in Screen 9000MODULE STATUS_9000 OUTPUT. CASE SY-TCODE. WHEN ZEG1. 事務(wù)代碼:創(chuàng)建預(yù)制置發(fā)票 GV_TRTYP = GC_TRTYP_CRT. SET PF-STATUS ZSTGUI001. SET TITLEBAR ZTTGUI001 WITH 創(chuàng)建. WHEN ZEG2. 事務(wù)代碼:更改預(yù)制置發(fā)票 GV
7、_TRTYP = GC_TRTYP_MOD. SET PF-STATUS ZSTGUI002. SET TITLEBAR ZTTGUI001 WITH 更改. WHEN ZEG3. 事務(wù)代碼:顯示預(yù)制置發(fā)票 GV_TRTYP = GC_TRTYP_DIS. SET PF-STATUS ZSTGUI003. SET TITLEBAR ZTTGUI001 WITH 顯示. ENDCASE.ENDMODULE. PAI in Screen 9000MODULE user_command_9000 INPUT.CASE ok_code. WHEN EXIT. “Leave program SET SC
8、REEN 0. LEAVE SCREEN. “Leave to screen 0 WHEN SAVE. UPDATE customers. MESSAGE S000(38) WITH Update OK. SET SCREEN 50. LEAVE SCREEN. ENDCASE.ENDMODULE.How to Create Dialog ProgramnTransaction SE80 : Create Dialog ProgramnCreate Screen(4 steps)nScreen AttributenScreen LayoutnFlow Logic(PBO,PAI)nDefine
9、 Variable ok_code in Element ListnDefine Data Object in ABAP Work Area at TOP Include(Tables, Data,.)nCheck and Activate Dialog ProgramnCreate Transaction Code Example IMaintain Object DataScreen : 9000Screen : 9010Example InCreate Dialog Program SAPMZEX for changing Customers tablenScreen 9000nFiel
10、d company-idnScreen 9000nField company-id and company-nameExample InScreen 9000PROCESS BEFORE OUTPUT. MODULE STATUS_9000. PROCESS AFTER INPUT. MODULE USER_COMMAND_9000.Example InScreen 100MODULE status_9000 OUTPUT. SET PF-STATUS 9000. SET TITLEBAR 9000. ENDMODULE.Example InScreen 100MODULE user_comm
11、and_9000 INPUT. CASE ok_code. WHEN BACK. LEAVE PROGRAM. “l(fā)eave to screen 0 WHEN space. “if not assign Enter Key SELECT SINGLE * FROM company WHERE id = company-id. LEAVE TO SCREEN 9010. ENDCASE. ENDMODULE.Example InScreen 9010PROCESS BEFORE OUTPUT. MODULE STATUS_9010. PROCESS AFTER INPUT. MODULE USE
12、R_COMMAND_9010.Example InScreen 9010MODULE status_9010 OUTPUT. SET PF-STATUS 9010. SET TITLEBAR 9010. ENDMODULE.Example InScreen 9010 MODULE user_command_9010 INPUT. CASE ok_code. WHEN BACK. LEAVE TO SCREEN 9000. “set screen 9000 WHEN SAVE. UPDATE customers. MESSAGE S000(38) WITH Update OK!. LEAVE T
13、O SCREEN 9000. ENDCASE. ENDMODULE.Example InTOP IncludeTABLES company.DATA ok_code TYPE sy-ucomm.nCreate Transaction CodeTransaction Code : ZEGExerciseCreate Dialog Program : SAPLZCUSTTransaction Code : ZCUSTExercise : Customers MaintenanceScreen : 100Screen : 200Setting the Cursor Position Dynamica
14、llyCursor PositionPROCESS BEFORE OUTPUT. MODULE STATUS_0200. MODULE set_cursor. MODULE set_cursor OUTPUT. SET CURSOR FIELD CUSTOMERS-CITY OFFSET 3. ENDMODULE.Avoiding the Unexpected Processing Step of ok_code Field1. Auxiliary OK_CODE VariablenTOP IncludeTABLES customers.DATA ok_code TYPE sy-ucomm.D
15、ATA save_ok TYPE sy-ucomm.Example I - ChangenScreen 100 : PAIMODULE user_command_0100 INPUT. save_ok = ok_code. CLEAR ok_code. CASE save_ok. WHEN BACK. LEAVE PROGRAM. WHEN space. SELECT SINGLE * FROM customers WHERE id = customers-id. LEAVE TO SCREEN 200. ENDCASE. ENDMODULE.Example I - ChangenScreen
16、 200 : PAI MODULE user_command_0200 INPUT. save_ok = ok_code. CLEAR ok_code. CASE save_ok. WHEN BACK. LEAVE TO SCREEN 100. WHEN space. LEAVE TO SCREEN 200. WHEN SAVE. UPDATE customers. MESSAGE s000(38) WITH Update OK!. LEAVE TO SCREEN 100. ENDCASE. ENDMODULE.2. Specify the Enter Function at GUI Stat
17、usCheck Enter FunctionnScreen 100 : PAIMODULE user_command_0100 INPUT. CASE ok_code. WHEN BACK. LEAVE PROGRAM. WHEN ENTE. SELECT SINGLE * FROM customers WHERE id = customers-id. LEAVE TO SCREEN 200. ENDCASE. ENDMODULE.3. Clear OK_CODE at PBOnScreen 100 : Flow LogicPROCESS BEFORE OUTPUT. MODULE STATU
18、S_0100. MODULE clear_ok_code. PROCESS AFTER INPUT. MODULE USER_COMMAND_0100.Clear OK_CODE at PBOnScreen 100 : PBOMODULE status_0100 OUTPUT. SET PF-STATUS 0100. SET TITLEBAR 0100. ENDMODULE. MODULE clear_ok_code OUTPUT. CLEAR ok_code. ENDMODULE.Checking User InputExample IIMaintain Customers Datan Ex
19、ample IInScreen 100 : PAIMODULE user_command_0100 INPUT. . WHEN SPACE. SELECT SINGLE * FROM customers WHERE id = customers-id. IF sy-subrc 0. MESSAGE S000(38) WITH Customers data not found. LEAVE TO SCREEN 100. ELSE. LEAVE TO SCREEN 200. ENDIF. ENDCASE. ENDMODULE.Example IIIMaintain Customers Datan
20、Example III Field StatementnScreen 100 : Flow Logic (PAI) PROCESS AFTER INPUT. FIELD customers-id MODULE user_command_0100.Example IIInScreen 100 : PAIMODULE user_command_0100 INPUT. . WHEN SPACE. SELECT SINGLE * FROM customers WHERE id = customers-id. IF sy-subrc 0. MESSAGE E000(38) WITH Customers
21、data not found. ELSE. LEAVE TO SCREEN 200. ENDIF. ENDCASE. ENDMODULE.Field Input CheckingnIf you want to check input values in the module pool and start dialog in the event of a negative result,you use the FIELD statement with the addition MODULE.nIf the module results in an error(E) or warning(W) m
22、essage,the screen is redisplayed without processing the PBO modules.The message text is displayed and only the field being checked by this module becomes ready for input again Field Statement With More Than 1 FieldnScreen 100 : Flow Logic (PAI)PROCESS AFTER INPUT. CHAIN. FIELD: customers-id,customer
23、s-custtype MODULE user_command_0100. ENDCHAIN.PROCESS AFTER INPUT. CHAIN. FIELD customers-id MODULE user_command_0100. FIELD customers-custtype MODULE user_command_0100. ENDCHAIN.Field Statement & Data TransportPROCESS AFTER INPUT. MODULE a. FILED f1 MODULE b. FILED f2 MODULE c. MODULE d. f1f2f3
24、f4Screen 100Transfer f3,f4Call module aTransfer f1Call module bTransfer f2Call module cCall module dRequired FieldRequired FieldRequired FieldAt exit-commandFunction Type : Exit Commandn When user chooses a function with type E,the screen flow logic jumps directly to the following statementn No othe
25、r screen fields are transported to the program except OK Code fieldAt exit-commandAt exit-commandnScreen 100 : Flow LogicPROCESS BEFORE OUTPUT. MODULE STATUS_0100. PROCESS AFTER INPUT. MODULE exit AT EXIT-COMMAND. MODULE USER_COMMAND_0100.At exit-commandnScreen 100 : PAIMODULE exit INPUT. CASE ok_co
26、de. WHEN EXIT. LEAVE PROGRAM. ENDCASE. ENDMODULE.LEAVE PROGRAM.Function Module (POPUP_TO_CONFIRM_LOSS_OF_DATA)Example IVMaintain Customer Datan POPUP_TO_CONFIRM_LOSS_OF_DATAExample IVnTOP Include. DATA ans.Example IVnScreen 100 : PAIMODULE exit INPUT. CALL FUNCTION POPUP_TO_CONFIRM_LOSS_OF_DATA EXPO
27、RTING textline1 = Are you sure? titel = Please Confirm! IMPORTING answer = ans. IF ans = J. “J = Ja in German= Yes in English LEAVE PROGRAM. ELSE. ENDIF. ENDMODULE. SAP Transaction : Enqueue Lock ObjectSAP Transaction & DB TransactionnEach Dialog step can contain update requests(INSERT,DELETE,UP
28、DATE)nAfter each Dialog step,the R/3 system automatically passes a database commit to the database system.The database system then distributes the update requests from the individual dialog steps across several database transactionsnA rollback in one Dialog step has no effect on database updates per
29、formed in previous Dialog stepsSAP Transaction(LUW)DB CommitDB CommitSAP LUWDB LUWSAP Database Maintenance Steps nCheck data locking by calling function ENQUEUE_nRead data from Database Ex. Select single nData Processing Ex. Update .nRelease lock by calling function DEQUEUE_SAP Lock ObjectnTransaction SE11 : Lock objectnENQUEUE_nDEQUEUE_SAP Lock Object : Function ModuleExample IVnENQUEUE /DEQUEUELock Object(SE11)CALL FUNCTION ENQUEUE_EZCUST CALL FUNCTION DEQUEUE_EZCUST User 1User 2Example IV (I)nScreen 100 : PAIMODULE user_command_0100 INPUT. . WHEN SPACE. CALL FUNCTION ENQUEUE_EZ
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中學(xué)學(xué)生社團(tuán)管理制度
- 企業(yè)知識(shí)產(chǎn)權(quán)保護(hù)制度
- 企業(yè)產(chǎn)品研發(fā)管理制度
- 2026年古代文化與歷史知識(shí)要點(diǎn)練習(xí)題
- 2026年食品安全管理與營(yíng)養(yǎng)健康知識(shí)試題
- 2026年天文學(xué)基礎(chǔ)知識(shí)進(jìn)階考試題庫(kù)
- 2025年煤矸石綜合利用技術(shù)開發(fā)合同
- 《JBT 13724-2019內(nèi)燃機(jī) 廢氣再循環(huán)(EGR)系統(tǒng)通 用技術(shù)條件》專題研究報(bào)告
- 古希臘古羅馬知識(shí)
- 古典概率課件
- 裝修工程施工質(zhì)量檢查標(biāo)準(zhǔn)
- 供銷大集:中國(guó)供銷商貿(mào)流通集團(tuán)有限公司擬對(duì)威海集采集配商貿(mào)物流有限責(zé)任公司增資擴(kuò)股所涉及的威海集采集配商貿(mào)物流有限責(zé)任公司股東全部權(quán)益價(jià)值資產(chǎn)評(píng)估報(bào)告
- 干細(xì)胞臨床研究:知情同意的倫理審查要點(diǎn)
- 檢測(cè)實(shí)驗(yàn)室安全管理與操作規(guī)程
- 2025云南保山電力股份有限公司招聘(100人)筆試歷年參考題庫(kù)附帶答案詳解
- (新教材)2026年人教版八年級(jí)下冊(cè)數(shù)學(xué) 21.1 四邊形及多邊形 課件
- 教師職業(yè)行為規(guī)范手冊(cè)
- 急性胸痛患者的快速識(shí)別與護(hù)理配合
- 法律研究與實(shí)踐
- 單招第四大類考試試題及答案
- 《建設(shè)工程總承包計(jì)價(jià)規(guī)范》
評(píng)論
0/150
提交評(píng)論