08-abapdialogprogrammingoverview-090715081222-phpapp02

Post on 06-Apr-2018

217 views 0 download

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