08-abapdialogprogrammingoverview-090715081222-phpapp02

70
Dialog Programming Overview

Transcript of 08-abapdialogprogrammingoverview-090715081222-phpapp02

Page 1: 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

Page 2: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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

Page 3: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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

Page 4: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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

Page 5: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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

Page 6: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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

Page 7: 08-abapdialogprogrammingoverview-090715081222-phpapp02

8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02

http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 7/70

Dialog Program : Transact ion

Page 8: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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«

Page 9: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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

Page 10: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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

Page 11: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 12: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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)

Page 13: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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)

Page 14: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 15: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 16: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 17: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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

Page 18: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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

Page 19: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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

Page 20: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 21: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 22: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 23: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 24: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 25: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 26: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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>

Page 27: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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>

Page 28: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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

Page 29: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 30: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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

Page 31: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 32: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 33: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 34: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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

Page 35: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 36: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 37: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 38: 08-abapdialogprogrammingoverview-090715081222-phpapp02

8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02

http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 38/70

Checking User Input 

Page 39: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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

Page 40: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 41: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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

Page 42: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 43: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 44: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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

Page 45: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 46: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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

Page 47: 08-abapdialogprogrammingoverview-090715081222-phpapp02

8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02

http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 47/70

RequiredField

Page 48: 08-abapdialogprogrammingoverview-090715081222-phpapp02

8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02

http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 48/70

Required Field

Page 49: 08-abapdialogprogrammingoverview-090715081222-phpapp02

8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02

http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 49/70

Required Field

Page 50: 08-abapdialogprogrammingoverview-090715081222-phpapp02

8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02

http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 50/70

 At exit-command

Page 51: 08-abapdialogprogrammingoverview-090715081222-phpapp02

8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02

http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 51/70

Funct ion Type : Exit Command

Page 52: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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

Page 53: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 54: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 55: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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)

Page 56: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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¶

Page 57: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 58: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 59: 08-abapdialogprogrammingoverview-090715081222-phpapp02

8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02

http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 59/70

SAP Transact ion : Enqueue Lock Object 

Page 60: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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

Page 61: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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

Page 62: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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 >¶

Page 63: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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 >

Page 64: 08-abapdialogprogrammingoverview-090715081222-phpapp02

8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02

http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 64/70

SAP Lock Object  :Funct ion Module

Page 65: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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

Page 66: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

...

Page 67: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 68: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

Page 69: 08-abapdialogprogrammingoverview-090715081222-phpapp02

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.

...

...

Page 70: 08-abapdialogprogrammingoverview-090715081222-phpapp02

8/3/2019 08-abapdialogprogrammingoverview-090715081222-phpapp02

http://slidepdf.com/reader/full/08-abapdialogprogrammingoverview-090715081222-phpapp02 70/70

Monit oring Enqueue Lock : SM12