Cvcofliverandspleen 140720222447-phpapp02-140820043744-phpapp02
08-abapdialogprogrammingoverview-090715081222-phpapp02
-
Upload
nadinka-karimou -
Category
Documents
-
view
217 -
download
0
Transcript of 08-abapdialogprogrammingoverview-090715081222-phpapp02
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 1/70
Dialog Programming Overview
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 2/70
SAP Syst em : Dialog Processing (Report)
Database Server
Application Server
Dispat cher
RequestQueue
D D D D«
SAP Buffer
Program
«
«
1
3
4
5
68
9
10
Report zpsm1.
Tables cust omers.
Select single * from
cust omers where id = 1.
Writ e: / cust omers-name.
ExecuteABAPstatement
Check Program inProgram Buffer
7
Load&GenProgram
SQL Request
SendList
GenerateScreen(List)
Send Request
Request
List
2 Search for free WP
Store requestto queue
Send requestto WP
SAP
GUI
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 3/70
Dialog WP : Executable ProgramDialog WP : Executable ProgramDialog WP
TaskHandler
DYNPRO Processor
ABAP Processor
Database
Local Memory
Memory
Space
DB Interface
List Buffer
Result Set Memory
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 4/70
Types of ABAP Report
1. Report Listing
2. Drill-down Report
3. Control-break Report
4. ALV Report
1
3
4
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 5/70
SAP Syst em : Dialog Processing (DI ALOG)
Database Server
Application Server
Dispat cher
RequestQueue
D D D D«
SAP Buffer
Program
«
«
1
3
4
5
68
9
10
Program sapmzex001.
Include «.
Set screen 100.
«
ExecuteABAPstatement
Check Program inProgram Buffer
7
Load&GenProgram
SQL Request
SendList
Generate DialogScreen
Send Request
Request Sc
reen
2 Search for free WP
Store requestto queue
Send requestto WP
SAPGUI
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 6/70
Dialog WP : Dialog ProgramDialog WP : Dialog ProgramDialog WP
TaskHandler
DYNPRO Processor
ABAP Processor
Database
Local Memory
ABAP Memory
DB Interface
ScreenBuffer
Result Set Memory
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 7/70
Dialog Program : Transact ion
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 8/70
Dialog Program ComponentsTransaction Code
Screen : 100100(Screen Layout)
Screen : 200200(Screen Layout)
Flow Logic
Flow Logic
PBO
PAI
ABAP Module Pool
ABAP Module Pool
PBO
PAI
ABAP Module Pool
ABAP Module Pool
Dialog Program Program Naming Convention : SAPM«
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 9/70
SAP Transact ion
An SAP t ransact ion consists of Dialog st eps. A Dialog st epbegins when t he user press Ent er,act ivat es a funct ion by pressing a funct ion key,double-clicks or chooses a funct ion froma menu.It ends when t he next screen is display
In t he course of a Dialog st ep,The P AI modules belonging t o t hecurrent screen and t he PBO modules belonging t o t he next screen
DB Commit DB Commit
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 10/70
Dat a Transfer (Local Memory)
Screen Buffer ABAP Memory Space
Screen Work Area ABAP Work Area
PBOPBO
PAIPAI
customers-id
customers-name
customers
id name city «
0000000
ok_code
ok_code
Local Memory
Element List
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 11/70
Flow Logic Process Before Out put (PBO)
After it has processed all of t he modules in t he
PBO processing block, t he syst em copies t hecont ents of t he fields in t he ABAP work area t ot heir corresponding fields in t he screen work area.
Process Af t er Input (P AI) Before it processes t he first module in t he PAI
processing block, t he syst em copies t he cont ents of t he fields in t he screen work area t o t heircorresponding fields in t he ABAP work area.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 12/70
OK Code Field in Screen
OK CodeField orCommand Field
(ok_code in Element List)
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 13/70
Defining Screen (4 St eps) Screen Att ribut e
Screen Layout
Flow Logic
Element List
ElementList(ok_code
field)
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 14/70
Flow Logic in Screen 100PROCESS BEFORE OUTPUT.
MODULE ST ATUS _0100.
PROCESS AFTER INPUT.
MODULE USER_COMM AND_0100.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 15/70
PBO in Screen 100
MODULE st at us _0100 OUTPUT.
SET PF-ST ATUS µ0100¶.SET TITLEBAR µ0100¶.
ENDMODULE.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 16/70
P AI in Screen 100MODULE user_command_0100 INPUT.
C ASE ok_code.
WHENµ
EXIT¶
.L
eaveprogramSET SCREEN 0. LE AVE SCREEN. Leave to
screen 0WHEN µSAVE¶.
UPD ATE cust omers.MESSAGE S000(38) WITH µUpdat e OK ¶.
SET SCREEN 50. LE AVE SCREEN.ENDC ASE.
ENDMODULE.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 17/70
How t o Creat e Dialog Program Transact ion SE80 : Creat e Dialog Program
Creat e Screen(4 st eps)
Screen Att ribut e Screen Layout
Flow Logic(PBO,P AI)
Define Variable ok_code in Element List
Define Dat a Object in ABAP Work Area at TOP Include(Tables, Dat a,...)
Check and Act ivat e Dialog Program
Creat e Transact ion Code
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 18/70
Example I
Maint ain Cust omers Dat aScreen : 100 Screen : 200
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 19/70
Example I
Creat e Dialog Program SAPMZEX <nn> forchanging Cust omers t able
Screen 100
Field cust omers-id
Screen 200
Field cust omers-id and cust omers-name
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 20/70
Example I
Screen 100
PROCESS BEFORE OUTPUT.
MODULE ST ATUS _0100.
PROCESS AFTER INPUT.MODULE USER_COMM AND_0100.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 21/70
Example I
Screen 100
MODULE st at us _0100 OUTPUT.
SET PF-ST ATUS µ0100¶.
SET TITLEBAR µ0100¶.
ENDMODULE.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 22/70
Example I
Screen 100
MODULE user_command_0100 INPUT.C ASE ok_code.
WHEN µBACK ¶.
LE AVE PROGR AM. ³leave t o screen 0
WHEN space. ³if not assign Ent er Key
SELECT SINGLE * FROM cust omers
WHERE id = cust omers-id.
LE AVE TO SCREEN 200.
ENDC ASE.
ENDMODULE.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 23/70
Example I
Screen 200
PROCESS BEFORE OUTPUT.
MODULE ST ATUS _0200.
PROCESS AFTER INPUT.
MODULE USER_COMM AND_0200.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 24/70
Example I
Screen 200
MODULE st at us _0200 OUTPUT.
SET PF-ST ATUS µ0200¶.
SET TITLEBAR µ0200¶.
ENDMODULE.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 25/70
Example I Screen 200
MODULE user_command_0200 INPUT.C ASE ok_code.
WHEN µBACK ¶.
LE AVE TO SCREEN 100. ³set screen 100
WHEN µSAVE¶.
UPD ATE cust omers.MESSAGE S000(38) WITH µUpdat e OK!¶.
LE AVE TO SCREEN 100.
ENDC ASE.
ENDMODULE.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 26/70
Example I
TOP Include
T ABLES cust omers.D AT A ok_code TYPE sy-ucomm.
Create Transaction CodeTransact ion Code : ZEX<nn>
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 27/70
Exercise
Creat e Dialog Program : SAPMZCUST<nn>
Transact ion Code : ZCUST<nn>
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 28/70
Exercise : Cust omers Maint enance
Screen : 100 Screen : 200
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 29/70
Sett ing t he Cursor Posit ion Dynamically
Cursor Position
PROCESS BEFORE OUTPUT.MODULE ST ATUS _0200.
MODULE set _cursor.
MODULE set _cursor OUTPUT.
SET CURSOR FIELD µCUSTOMERS-CITY ¶OFFSET 3.
ENDMODULE.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 30/70
Avoiding t he Unexpect ed
Processing St ep of ok_codeField
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 31/70
1. Auxiliary OK_CODE Variable
TOP Include
T ABLES cust omers.D AT A ok_code TYPE sy-ucomm.
D AT A save_ok TYPE sy-ucomm.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 32/70
Example I - Change
Screen 100 : PAIMODULE user_command_0100 INPUT.
save_ok = ok_code.
CLE AR ok_code.
C ASE save_ok.
WHEN µBACK ¶.
LE AVE PROGR AM.WHEN space.
SELECT SINGLE * FROM cust omers WHERE id = cust omers-id.
LE AVE TO SCREEN 200.
ENDC ASE.
ENDMODULE.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 33/70
Example I - Change Screen 200 : PAI
MODULE user_command_0200 INPUT.
save_ok = ok_code.
CLE AR ok_code.
C ASE save_ok.
WHEN µBACK ¶.
LE AVE TO SCREEN 100.
WHEN space.
LE AVE TO SCREEN 200.WHEN µSAVE¶.
UPD ATE cust omers.
MESSAGE s000(38) WITH µUpdat e OK!¶.
LE AVE TO SCREEN 100.
ENDC ASE.
ENDMODULE.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 34/70
2. Specif y t he Enter Funct ion at GUI St at us
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 35/70
Check Ent er Funct ion
Screen 100 : PAIMODULE user_command_0100 INPUT.
C ASE ok_code.
WHEN µBACK ¶.
LE AVE PROGR AM.
WHEN µENTE¶.
SELECT SINGLE * FROM cust omers
WHERE id = cust omers-id.
LE AVE TO SCREEN 200.
ENDC ASE.
ENDMODULE.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 36/70
3. Clear OK_CODE at PBO
Screen 100 : Flow Logic
PROCESS BEFORE OUTPUT.
MODULE ST ATUS _0100.
MODULE clear_ok_code.
PROCESS AFTER INPUT.
MODULE USER_COMM AND_0100.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 37/70
Clear OK_CODE at PBO
Screen 100 : PBOMODULE st at us _0100 OUTPUT.
SET PF-ST ATUS µ0100¶.
SET TITLEBAR µ0100¶.
ENDMODULE.
MODULE clear_ok_code OUTPUT.CLE AR ok_code.
ENDMODULE.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 38/70
Checking User Input
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 39/70
Example IIMaint ain Cust omers Dat a
Check Input Dat a ManuallyCheck Input Dat a Manually
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 40/70
Example II Screen 100 : PAI
MODULE user_command_0100 INPUT.
...WHEN SP ACE.
SELECT SINGLE * FROM cust omers WHERE id = cust omers-id.
IF sy-subrc <> 0.
MESSAGE S000(38) WITH µCust omers dat a not found¶.
LE AVE TO SCREEN 100.ELSE.
LE AVE TO SCREEN 200.
ENDIF.
ENDC ASE.
ENDMODULE.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 41/70
Example III
Maint ain Cust omers Dat a
Check Input Dat a UsingCheck Input Dat a Using FieldField CommandCommand
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 42/70
Example III ± Field St at ement
Screen 100 : Flow Logic (PAI)
PROCESS AFTER INPUT.
FIELD cust omers-id MODULE user_command_0100.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 43/70
Example III
Screen 100 : PAIMODULE user_command_0100 INPUT.
...
WHEN SP ACE.
SELECT SINGLE * FROM cust omers WHERE id = cust omers-id.
IF sy-subrc <> 0.
MESSAGE E000(38) WITH µCust omers dat a not found¶.
ELSE.
LE AVE TO SCREEN 200.
ENDIF.
ENDC ASE.
ENDMODULE.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 44/70
Field Input Checking If you want t o check input values in t he module
pool and st art dialog in t he event of a negat ive
result ,you use t heFIELD st at ement wit h t headdit ion MODULE.
If t he module results in an error(E) orwarning(W) message,t he screen is redisplayedwit hout processing t he PBO modules.Themessage t ext is displayed and only t he fieldbeing checked by t his module becomes ready forinput again
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 45/70
Field St at ement Wit h More Than 1 Field
Screen 100 : Flow Logic (PAI)PROCESS AFTER INPUT.
CH AIN.FIELD: cust omers-id,cust omers-custtype
MODULE user_command_0100.
ENDCH AIN.
PROCESS AFTER INPUT.CH AIN.FIELD cust omers-id MODULE user_command_0100.FIELD cust omers-custtype MODULE user_command_0100.ENDCH AIN.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 46/70
Field St at ement & Dat a Transport
PROCESS AFTER INPUT.
MODULE a.
FILED f1 MODULE b.
FILED f2 MODULE c.
MODULE d.
f1 f2
f3 f4
Screen 100
Transfer f3,f4
Call module aTransfer f1Call module bTransfer f2
Call module cCall module d
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 47/70
RequiredField
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 48/70
Required Field
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 49/70
Required Field
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 50/70
At exit-command
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 51/70
Funct ion Type : Exit Command
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 52/70
When user chooses a funct ion wit h type
E,t he screen flow logic jumps direct ly t o t he
following st at ement MODULE <module> AT EXITMODULE <module> AT EXIT--COMM ANDCOMM AND
No ot her screen fields are t ransport ed t o t heprogram except OK Code field
At exit-command
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 53/70
At exit-command Screen 100 : Flow Logic
PROCESS BEFORE OUTPUT.
MODULE ST ATUS _0100.
PROCESS AFTER INPUT.
MODULE exit AT EXIT-COMM AND.
MODULE USER_COMM AND_0100.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 54/70
At exit-command Screen 100 : PAI
MODULE exit INPUT.
C ASE ok_code.
WHEN µEXIT¶.
LE AVE PROGR AM.ENDC ASE.
ENDMODULE.
LE AVE PROGR AM.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 55/70
Funct ion Module(POPUP_TO_CONFIRM_LOSS _OF _D AT A)
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 56/70
Example I V
Maint ain Cust omer Dat a
Popup confirmat ion dat a using funct ionPopup confirmat ion dat a using funct ion
µ µ POPUP_TO_CONFIRM_LOSS_OF_DAT A¶
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 57/70
Example I V TOP Include
...
D AT A ans.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 58/70
Example I V Screen 100 : PAI
MODULE exit INPUT.C ALL FUNCTION µPOPUP_TO_CONFIRM_LOSS_OF_DAT A¶
EXPORTINGt ext line1 = µ Are you sure?¶t it el = µPlease Confirm!!!¶
IMPORTINGanswer = ans.
IF ans = µJ¶. ³ J = Ja in German= Yes in EnglishLE AVE PROGR AM.
ELSE.ENDIF.
ENDMODULE.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 59/70
SAP Transact ion : Enqueue Lock Object
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 60/70
SAP Transact ion & DB Transact ion Each Dialog st ep can cont ain updat e
requests(INSERT,DELETE,UPD ATE)
Af t er each Dialog st ep,t he R/3 syst emaut omat ically passes a dat abase commit t o t hedat abase syst em.The dat abase syst em t hendist ribut es t he updat e requests from t heindividual dialog st eps across several dat abaset ransact ions
A rollback in one Dialog st ep has no effect ondat abase updat es performed in previous Dialogst eps
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 61/70
SAP Transact ion(LUW)DB Commit DB Commit
SAP LUW
DB LUW
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 62/70
SAP Dat abase Maint enance St eps Check dat a locking by calling funct ionµENQUEUE_<lock object lock object >¶
Read dat a from Dat abase Ex. Select single «
Dat a Processing Ex. Updat e ...
Release lock by calling funct ionµDEQUEUE_<lock object lock object >¶
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 63/70
SAP Lock Object Transact ion SE11 : Lock object
ENQUEUE_<lock object lock object >
DEQUEUE_<lock object lock object >
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 64/70
SAP Lock Object :Funct ion Module
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 65/70
Example I V ENQUEUE /DEQUEUELock Object(SE11)
C ALL FUNCTION µENQUEUE_EZCUST<nn>¶
C ALL FUNCTION µDEQUEUE_EZCUST<nn>¶
User 1 User 2
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 66/70
Example I V (I) Screen 100 : PAI
MODULE user_command_0100 INPUT.
...
WHEN SP ACE.C ALL FUNCTION µENQUEUE_EZCUST00¶
EXPORTING
«
id = cust omers-id
EXCEPTIONS
...IF sy-subrc <> 0.
MESSAGE ID S Y -MSGID TYPE S Y -MSGTY NUMBER S Y -MSGNO
WITH S Y -MSG V1 S Y -MSG V2 S Y -MSG V3 S Y -MSG V4.
ELSE.
SELECT SINGLE * FROM cust omers WHERE id = cust omers-id.
...
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 67/70
Example I V (II) Screen 100 : PAI
MODULE user_command_0100 INPUT.
...WHEN SP ACE.
C ALL FUNCTION µENQUEUE_EZCUST00¶
EXPORTING
id = cust omers-id
...
IF sy-subrc <> 0.CONC ATEN ATE µDat a was locked by :¶ sy-msgv1 INTO mess.
MESSAGE E000(38) WITH mess.
ELSE.
SELECT SINGLE * FROM cust omers WHERE id = cust omers-id.
...
message id sy-msgidtype sy-msgty number
sy-msgno with
sy-msgv1 sy-msgv2sy-msgv3 sy-
msgv4.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 68/70
Example I V Screen 200 : PAI
MODULE user_command_0200 INPUT.
...WHEN BACK.C ALL FUNCTION DEQUEUE_EZCUST00
EXPORTINGid = cust omers-id.
LE AVE TO SCREEN 100.
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 69/70
Example I V Screen 200 : PAI
MODULE user_command_0200 INPUT.
...WHEN µSAVE¶.
UPD ATE cust omers.
MESSAGE S000(38) WITH µUpdat e OK!¶.
C ALL FUNCTION µDEQUEUE_EZCUST00¶
EXPORTING
«id = cust omers-id.
LE AVE TO SCREEN 100.
...
...
8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02
http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 70/70
Monit oring Enqueue Lock : SM12