SlideShare a Scribd company logo
1 of 70
Download to read offline
Dialog Programming Overview
SAP System : Dialog Processing (Report)
Database Server
Application Server
Dispatcher
Request
Queue
D D D D
…
SAP Buffer
Program
…
…
1
3
4
5
6
8
9
10
Report zpsm1.
Tables customers.
Select single * from
customers where id = 1.
Write: / customers-name.
Execute ABAP
statement
Check Program in Program Buffer 7
Load&Gen Program
SQL Request
Send List
Generate Screen(List)
Send Request
Request
List
2 Search for free WP
Store request to queue
Send request to WP
SAP GUI
Dialog WP : Executable Program
Dialog WP
TaskHandler
DYNPRO Processor
ABAP Processor
Database
Local Memory
Memory Space
DB Interface
List Buffer
Result Set Memory
Types of ABAP Report
1. Report Listing
2. Drill-down Report
3. Control-break Report
4. ALV Report
1
3
4
SAP System : Dialog Processing (DIALOG)
Database Server
Application Server
Dispatcher
Request
Queue
D D D D
…
SAP Buffer
Program
…
…
1
3
4
5
6
8
9
10
Program sapmzex001.
Include ….
Set screen 100.
…
Execute ABAP
statement
Check Program in Program Buffer 7
Load&Gen Program
SQL Request
Send List
Generate Dialog Screen
Send Request
Request
Screen
2 Search for free WP
Store request to queue
Send request to WP
SAP GUI
Dialog WP : Dialog Program
Dialog WP
TaskHandler
DYNPRO Processor
ABAP Processor
Database
Local Memory
ABAP Memory
DB Interface
Screen Buffer
Result Set Memory
Dialog Program : Transaction
Dialog Program Components
Transaction Code
Screen : 100
(Screen Layout)
Screen : 200
(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…
SAP Transaction
 An 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 display
 In the course of a Dialog step,The PAI modules belonging to the
current screen and the PBO modules belonging to the next
screen
DB Commit DB Commit
Data Transfer (Local Memory)
Screen Buffer
ABAP Memory Space
Screen Work Area ABAP Work Area
PBO
PAI
customers-id
customers-name
customers
id name city …
0000000
ok_code
ok_code
Local Memory
Element List
Flow Logic
 Process Before Output(PBO)
 After 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.
 Process After Input(PAI)
 Before it processes the first module in the PAI
processing block, the system copies the contents
of the fields in the screen work area to their
corresponding fields in the ABAP work area.
OK Code Field in Screen
OK Code Field or
Command Field
(ok_code in Element List)
Defining Screen (4 Steps)
 Screen Attribute
 Screen Layout
 Flow Logic
 Element List
Element List(ok_code field)
Flow Logic in Screen 100
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
PBO in Screen 100
MODULE status_0100 OUTPUT.
SET PF-STATUS ‘0100’.
SET TITLEBAR ‘0100’.
ENDMODULE.
PAI in Screen 100
MODULE user_command_0100 INPUT.
CASE ok_code.
WHEN ‘EXIT’. “Leave program
SET SCREEN 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 Program
 Transaction SE80 : Create Dialog Program
 Create Screen(4 steps)
 Screen Attribute
 Screen Layout
 Flow Logic(PBO,PAI)
 Define Variable ok_code in Element List
 Define Data Object in ABAP Work Area at TOP
Include(Tables, Data,...)
 Check and Activate Dialog Program
 Create Transaction Code
Example I
Maintain Customers Data
Screen : 100 Screen : 200
Example I
 Create Dialog Program SAPMZEX<nn> for
changing Customers table
 Screen 100
 Field customers-id
 Screen 200
 Field customers-id and customers-name
Example I
 Screen 100
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
Example I
 Screen 100
MODULE status_0100 OUTPUT.
SET PF-STATUS ‘0100’.
SET TITLEBAR ‘0100’.
ENDMODULE.
Example I
 Screen 100
MODULE user_command_0100 INPUT.
CASE ok_code.
WHEN ‘BACK’.
LEAVE PROGRAM. “leave to screen 0
WHEN space. “if not assign Enter Key
SELECT SINGLE * FROM customers
WHERE id = customers-id.
LEAVE TO SCREEN 200.
ENDCASE.
ENDMODULE.
Example I
 Screen 200
PROCESS BEFORE OUTPUT.
MODULE STATUS_0200.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0200.
Example I
 Screen 200
MODULE status_0200 OUTPUT.
SET PF-STATUS ‘0200’.
SET TITLEBAR ‘0200’.
ENDMODULE.
Example I
 Screen 200
MODULE user_command_0200 INPUT.
CASE ok_code.
WHEN ‘BACK’.
LEAVE TO SCREEN 100. “set screen 100
WHEN ‘SAVE’.
UPDATE customers.
MESSAGE S000(38) WITH ‘Update OK!’.
LEAVE TO SCREEN 100.
ENDCASE.
ENDMODULE.
Example I
 TOP Include
TABLES customers.
DATA ok_code TYPE sy-ucomm.
 Create Transaction Code
Transaction Code : ZEX<nn>
Exercise
Create Dialog Program : SAPMZCUST<nn>
Transaction Code : ZCUST<nn>
Exercise : Customers Maintenance
Screen : 100 Screen : 200
Setting the Cursor Position Dynamically
Cursor Position
PROCESS 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 Field
1. Auxiliary OK_CODE Variable
 TOP Include
TABLES customers.
DATA ok_code TYPE sy-ucomm.
DATA save_ok TYPE sy-ucomm.
Example I - Change
 Screen 100 : PAI
MODULE 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 - Change
 Screen 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 Status
Check Enter Function
 Screen 100 : PAI
MODULE 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 PBO
 Screen 100 : Flow Logic
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
MODULE clear_ok_code.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
Clear OK_CODE at PBO
 Screen 100 : PBO
MODULE status_0100 OUTPUT.
SET PF-STATUS ‘0100’.
SET TITLEBAR ‘0100’.
ENDMODULE.
MODULE clear_ok_code OUTPUT.
CLEAR ok_code.
ENDMODULE.
Checking User Input
Example II
Maintain Customers Data
 Check Input Data Manually
Example II
 Screen 100 : PAI
MODULE 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 III
Maintain Customers Data
 Check Input Data Using Field Command
Example III – Field Statement
 Screen 100 : Flow Logic (PAI)
PROCESS AFTER INPUT.
FIELD customers-id MODULE user_command_0100.
Example III
 Screen 100 : PAI
MODULE user_command_0100 INPUT.
...
WHEN SPACE.
SELECT SINGLE * FROM customers WHERE id = customers-id.
IF sy-subrc <> 0.
MESSAGE E000(38) WITH ‘Customers data not found’.
ELSE.
LEAVE TO SCREEN 200.
ENDIF.
ENDCASE.
ENDMODULE.
Field Input Checking
 If 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.
 If the module results in an error(E) or
warning(W) message,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 Field
 Screen 100 : Flow Logic (PAI)
PROCESS AFTER INPUT.
CHAIN.
FIELD: customers-id,customers-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 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 a
•Transfer f1
•Call module b
•Transfer f2
•Call module c
•Call module d
Required Field
Required Field
Required Field
At exit-command
Function Type : Exit Command
 When user chooses a function with type
E,the screen flow logic jumps directly to the
following statement
MODULE <module> AT EXIT-COMMAND
 No other screen fields are transported to the
program except OK Code field
At exit-command
At exit-command
 Screen 100 : Flow Logic
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
PROCESS AFTER INPUT.
MODULE exit AT EXIT-COMMAND.
MODULE USER_COMMAND_0100.
At exit-command
 Screen 100 : PAI
MODULE exit INPUT.
CASE ok_code.
WHEN ‘EXIT’.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.
LEAVE PROGRAM.
Function Module
(POPUP_TO_CONFIRM_LOSS_OF_DATA)
Example IV
Maintain Customer Data
 Popup confirmation data using function
‘POPUP_TO_CONFIRM_LOSS_OF_DATA’
Example IV
 TOP Include
...
DATA ans.
Example IV
 Screen 100 : PAI
MODULE exit INPUT.
CALL FUNCTION ‘POPUP_TO_CONFIRM_LOSS_OF_DATA’
EXPORTING
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 Object
SAP Transaction & DB Transaction
 Each Dialog step can contain update
requests(INSERT,DELETE,UPDATE)
 After 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
transactions
 A rollback in one Dialog step has no effect on
database updates performed in previous Dialog
steps
SAP Transaction(LUW)
DB Commit DB Commit
SAP LUW
DB LUW
SAP Database Maintenance Steps
 Check data locking by calling function
‘ENQUEUE_<lock object>’
 Read data from Database Ex. Select single …
 Data Processing Ex. Update ...
 Release lock by calling function
‘DEQUEUE_<lock object>’
SAP Lock Object
 Transaction SE11 : Lock object
 ENQUEUE_<lock object>
 DEQUEUE_<lock object>
SAP Lock Object : Function Module
Example IV
 ENQUEUE /DEQUEUELock Object(SE11)
CALL FUNCTION ‘ENQUEUE_EZCUST<nn>’
CALL FUNCTION ‘DEQUEUE_EZCUST<nn>’
User 1 User 2
Example IV (I)
 Screen 100 : PAI
MODULE user_command_0100 INPUT.
...
WHEN SPACE.
CALL FUNCTION ‘ENQUEUE_EZCUST00’
EXPORTING
…
id = customers-id
EXCEPTIONS
...
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
SELECT SINGLE * FROM customers WHERE id = customers-id.
...
Example IV (II)
 Screen 100 : PAI
MODULE user_command_0100 INPUT.
...
WHEN SPACE.
CALL FUNCTION ‘ENQUEUE_EZCUST00’
EXPORTING
id = customers-id
...
IF sy-subrc <> 0.
CONCATENATE ‘Data was locked by :’ sy-msgv1 INTO mess.
MESSAGE E000(38) WITH mess.
ELSE.
SELECT SINGLE * FROM customers WHERE id = customers-id.
...
message id sy-msgid type sy-msgty number
sy-msgno with sy-msgv1 sy-msgv2
sy-msgv3 sy-msgv4.
Example IV
 Screen 200 : PAI
MODULE user_command_0200 INPUT.
...
WHEN ‘BACK’.
CALL FUNCTION ‘DEQUEUE_EZCUST00’
EXPORTING
…
id = customers-id.
LEAVE TO SCREEN 100.
…
Example IV
 Screen 200 : PAI
MODULE user_command_0200 INPUT.
...
WHEN ‘SAVE’.
UPDATE customers.
MESSAGE S000(38) WITH ‘Update OK!’.
CALL FUNCTION ‘DEQUEUE_EZCUST00’
EXPORTING
…
id = customers-id.
LEAVE TO SCREEN 100.
...
...
Monitoring Enqueue Lock : SM12

More Related Content

What's hot

Table maintenance generator and its modifications
Table maintenance generator and its modificationsTable maintenance generator and its modifications
Table maintenance generator and its modificationsscribid.download
 
SAP Modularization techniques
SAP Modularization techniquesSAP Modularization techniques
SAP Modularization techniquesJugul Crasta
 
SAP ABAP HR TRAINING
SAP ABAP HR TRAININGSAP ABAP HR TRAINING
SAP ABAP HR TRAININGJoshiRavin
 
Object oriented approach to ALV Lists in ABAP
Object oriented approach to ALV Lists in ABAPObject oriented approach to ALV Lists in ABAP
Object oriented approach to ALV Lists in ABAPNoman Mohamed Hanif
 
Chapter 01 user exits
Chapter 01 user exitsChapter 01 user exits
Chapter 01 user exitsKranthi Kumar
 
Core Data Service
Core Data ServiceCore Data Service
Core Data ServiceSujoy Saha
 
Introduction to SAP Gateway and OData
Introduction to SAP Gateway and ODataIntroduction to SAP Gateway and OData
Introduction to SAP Gateway and ODataChris Whealy
 
Sap sapscripts tips and tricks
Sap sapscripts tips and tricksSap sapscripts tips and tricks
Sap sapscripts tips and tricksKranthi Kumar
 
08.Abap Dialog Programming Overview
08.Abap Dialog Programming Overview08.Abap Dialog Programming Overview
08.Abap Dialog Programming Overviewsapdocs. info
 
ABAP for Beginners - www.sapdocs.info
ABAP for Beginners - www.sapdocs.infoABAP for Beginners - www.sapdocs.info
ABAP for Beginners - www.sapdocs.infosapdocs. info
 
Adding custom fields to the fi report fbl5 n using bt es
Adding custom fields to the fi report fbl5 n using bt esAdding custom fields to the fi report fbl5 n using bt es
Adding custom fields to the fi report fbl5 n using bt esKranthi Kumar
 
SAP IDoc Overview and Outbound IDoc.pptx
SAP IDoc Overview and Outbound IDoc.pptxSAP IDoc Overview and Outbound IDoc.pptx
SAP IDoc Overview and Outbound IDoc.pptxAshwaniKumar207236
 

What's hot (20)

Module pool programming
Module pool programmingModule pool programming
Module pool programming
 
Table maintenance generator and its modifications
Table maintenance generator and its modificationsTable maintenance generator and its modifications
Table maintenance generator and its modifications
 
SAP Modularization techniques
SAP Modularization techniquesSAP Modularization techniques
SAP Modularization techniques
 
SAP ABAP HR TRAINING
SAP ABAP HR TRAININGSAP ABAP HR TRAINING
SAP ABAP HR TRAINING
 
Object oriented approach to ALV Lists in ABAP
Object oriented approach to ALV Lists in ABAPObject oriented approach to ALV Lists in ABAP
Object oriented approach to ALV Lists in ABAP
 
Chapter 01 user exits
Chapter 01 user exitsChapter 01 user exits
Chapter 01 user exits
 
Dialog programming ABAP
Dialog programming ABAPDialog programming ABAP
Dialog programming ABAP
 
Core Data Service
Core Data ServiceCore Data Service
Core Data Service
 
Sap abap
Sap abapSap abap
Sap abap
 
Introduction to SAP Gateway and OData
Introduction to SAP Gateway and ODataIntroduction to SAP Gateway and OData
Introduction to SAP Gateway and OData
 
Sap sapscripts tips and tricks
Sap sapscripts tips and tricksSap sapscripts tips and tricks
Sap sapscripts tips and tricks
 
Field symbols
Field symbolsField symbols
Field symbols
 
SAP HR Configuration Guide
SAP HR Configuration Guide SAP HR Configuration Guide
SAP HR Configuration Guide
 
Sap scripts
Sap scriptsSap scripts
Sap scripts
 
07.Advanced Abap
07.Advanced Abap07.Advanced Abap
07.Advanced Abap
 
08.Abap Dialog Programming Overview
08.Abap Dialog Programming Overview08.Abap Dialog Programming Overview
08.Abap Dialog Programming Overview
 
Badis
Badis Badis
Badis
 
ABAP for Beginners - www.sapdocs.info
ABAP for Beginners - www.sapdocs.infoABAP for Beginners - www.sapdocs.info
ABAP for Beginners - www.sapdocs.info
 
Adding custom fields to the fi report fbl5 n using bt es
Adding custom fields to the fi report fbl5 n using bt esAdding custom fields to the fi report fbl5 n using bt es
Adding custom fields to the fi report fbl5 n using bt es
 
SAP IDoc Overview and Outbound IDoc.pptx
SAP IDoc Overview and Outbound IDoc.pptxSAP IDoc Overview and Outbound IDoc.pptx
SAP IDoc Overview and Outbound IDoc.pptx
 

Similar to Module-Pool-Tutorial.pdf

ABAP Dialog Programming Overview.ppt
ABAP Dialog Programming Overview.pptABAP Dialog Programming Overview.ppt
ABAP Dialog Programming Overview.pptGaneshP820675
 
08.abap dialog programming overview
08.abap dialog programming overview08.abap dialog programming overview
08.abap dialog programming overviewRaj Rajesh
 
Sangam 19 - PLSQL still the coolest
Sangam 19 - PLSQL still the coolestSangam 19 - PLSQL still the coolest
Sangam 19 - PLSQL still the coolestConnor McDonald
 
ReadyNow: Azul's Unconventional "AOT"
ReadyNow: Azul's Unconventional "AOT"ReadyNow: Azul's Unconventional "AOT"
ReadyNow: Azul's Unconventional "AOT"Doug Hawkins
 
Meg bernal insight2014 4219
Meg bernal insight2014 4219Meg bernal insight2014 4219
Meg bernal insight2014 4219Peter Schouboe
 
Complete reference to_abap_basics
Complete reference to_abap_basicsComplete reference to_abap_basics
Complete reference to_abap_basicsAbhishek Dixit
 
Run report from menu Personalization كيفية تشغيل تقرير أو ما شابة من خلال شا...
Run report from menu  Personalization كيفية تشغيل تقرير أو ما شابة من خلال شا...Run report from menu  Personalization كيفية تشغيل تقرير أو ما شابة من خلال شا...
Run report from menu Personalization كيفية تشغيل تقرير أو ما شابة من خلال شا...Ahmed Elshayeb
 
Create your own OPC UA information model
Create your own OPC UA information modelCreate your own OPC UA information model
Create your own OPC UA information modelStephane Potier
 
Avr generator
Avr generatorAvr generator
Avr generatorHarie Tr
 
ppt_project_group_2.ppt amnd project report
ppt_project_group_2.ppt amnd project reportppt_project_group_2.ppt amnd project report
ppt_project_group_2.ppt amnd project reportsobanmoriwala1
 
Dell Cctk support for newly added bios tokens
Dell Cctk support for newly added bios tokensDell Cctk support for newly added bios tokens
Dell Cctk support for newly added bios tokensartisriva
 
Database Development Replication Security Maintenance Report
Database Development Replication Security Maintenance ReportDatabase Development Replication Security Maintenance Report
Database Development Replication Security Maintenance Reportnyin27
 
OpenWorld Sep14 12c for_developers
OpenWorld Sep14 12c for_developersOpenWorld Sep14 12c for_developers
OpenWorld Sep14 12c for_developersConnor McDonald
 
Sitrain s7 1200 pwm pid
Sitrain s7 1200 pwm pidSitrain s7 1200 pwm pid
Sitrain s7 1200 pwm pidconfidencial
 
Sitrains7 1200pwmpid-150301123045-conversion-gate01
Sitrains7 1200pwmpid-150301123045-conversion-gate01Sitrains7 1200pwmpid-150301123045-conversion-gate01
Sitrains7 1200pwmpid-150301123045-conversion-gate01confidencial
 

Similar to Module-Pool-Tutorial.pdf (20)

ABAP Dialog Programming Overview.ppt
ABAP Dialog Programming Overview.pptABAP Dialog Programming Overview.ppt
ABAP Dialog Programming Overview.ppt
 
08.abap dialog programming overview
08.abap dialog programming overview08.abap dialog programming overview
08.abap dialog programming overview
 
merged
mergedmerged
merged
 
Sangam 19 - PLSQL still the coolest
Sangam 19 - PLSQL still the coolestSangam 19 - PLSQL still the coolest
Sangam 19 - PLSQL still the coolest
 
ReadyNow: Azul's Unconventional "AOT"
ReadyNow: Azul's Unconventional "AOT"ReadyNow: Azul's Unconventional "AOT"
ReadyNow: Azul's Unconventional "AOT"
 
CATS Approval.pdf
CATS Approval.pdfCATS Approval.pdf
CATS Approval.pdf
 
User Exits
User ExitsUser Exits
User Exits
 
Meg bernal insight2014 4219
Meg bernal insight2014 4219Meg bernal insight2014 4219
Meg bernal insight2014 4219
 
Info plc net_sinamics hmi lab (1)
Info plc net_sinamics hmi lab (1)Info plc net_sinamics hmi lab (1)
Info plc net_sinamics hmi lab (1)
 
Complete reference to_abap_basics
Complete reference to_abap_basicsComplete reference to_abap_basics
Complete reference to_abap_basics
 
Run report from menu Personalization كيفية تشغيل تقرير أو ما شابة من خلال شا...
Run report from menu  Personalization كيفية تشغيل تقرير أو ما شابة من خلال شا...Run report from menu  Personalization كيفية تشغيل تقرير أو ما شابة من خلال شا...
Run report from menu Personalization كيفية تشغيل تقرير أو ما شابة من خلال شا...
 
Create your own OPC UA information model
Create your own OPC UA information modelCreate your own OPC UA information model
Create your own OPC UA information model
 
Avr generator
Avr generatorAvr generator
Avr generator
 
ppt_project_group_2.ppt amnd project report
ppt_project_group_2.ppt amnd project reportppt_project_group_2.ppt amnd project report
ppt_project_group_2.ppt amnd project report
 
Dell Cctk support for newly added bios tokens
Dell Cctk support for newly added bios tokensDell Cctk support for newly added bios tokens
Dell Cctk support for newly added bios tokens
 
Database Development Replication Security Maintenance Report
Database Development Replication Security Maintenance ReportDatabase Development Replication Security Maintenance Report
Database Development Replication Security Maintenance Report
 
OpenWorld Sep14 12c for_developers
OpenWorld Sep14 12c for_developersOpenWorld Sep14 12c for_developers
OpenWorld Sep14 12c for_developers
 
Sitrain s7 1200 pwm pid
Sitrain s7 1200 pwm pidSitrain s7 1200 pwm pid
Sitrain s7 1200 pwm pid
 
Sitrains7 1200pwmpid-150301123045-conversion-gate01
Sitrains7 1200pwmpid-150301123045-conversion-gate01Sitrains7 1200pwmpid-150301123045-conversion-gate01
Sitrains7 1200pwmpid-150301123045-conversion-gate01
 
Abap reports
Abap reportsAbap reports
Abap reports
 

Recently uploaded

Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 

Recently uploaded (20)

Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 

Module-Pool-Tutorial.pdf

  • 2. SAP System : Dialog Processing (Report) Database Server Application Server Dispatcher Request Queue D D D D … SAP Buffer Program … … 1 3 4 5 6 8 9 10 Report zpsm1. Tables customers. Select single * from customers where id = 1. Write: / customers-name. Execute ABAP statement Check Program in Program Buffer 7 Load&Gen Program SQL Request Send List Generate Screen(List) Send Request Request List 2 Search for free WP Store request to queue Send request to WP SAP GUI
  • 3. Dialog WP : Executable Program Dialog WP TaskHandler DYNPRO Processor ABAP Processor Database Local Memory Memory Space DB Interface List Buffer Result Set Memory
  • 4. Types of ABAP Report 1. Report Listing 2. Drill-down Report 3. Control-break Report 4. ALV Report 1 3 4
  • 5. SAP System : Dialog Processing (DIALOG) Database Server Application Server Dispatcher Request Queue D D D D … SAP Buffer Program … … 1 3 4 5 6 8 9 10 Program sapmzex001. Include …. Set screen 100. … Execute ABAP statement Check Program in Program Buffer 7 Load&Gen Program SQL Request Send List Generate Dialog Screen Send Request Request Screen 2 Search for free WP Store request to queue Send request to WP SAP GUI
  • 6. Dialog WP : Dialog Program Dialog WP TaskHandler DYNPRO Processor ABAP Processor Database Local Memory ABAP Memory DB Interface Screen Buffer Result Set Memory
  • 7. Dialog Program : Transaction
  • 8. Dialog Program Components Transaction Code Screen : 100 (Screen Layout) Screen : 200 (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…
  • 9. SAP Transaction  An 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 display  In the course of a Dialog step,The PAI modules belonging to the current screen and the PBO modules belonging to the next screen DB Commit DB Commit
  • 10. Data Transfer (Local Memory) Screen Buffer ABAP Memory Space Screen Work Area ABAP Work Area PBO PAI customers-id customers-name customers id name city … 0000000 ok_code ok_code Local Memory Element List
  • 11. Flow Logic  Process Before Output(PBO)  After 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.  Process After Input(PAI)  Before it processes the first module in the PAI processing block, the system copies the contents of the fields in the screen work area to their corresponding fields in the ABAP work area.
  • 12. OK Code Field in Screen OK Code Field or Command Field (ok_code in Element List)
  • 13. Defining Screen (4 Steps)  Screen Attribute  Screen Layout  Flow Logic  Element List Element List(ok_code field)
  • 14. Flow Logic in Screen 100 PROCESS BEFORE OUTPUT. MODULE STATUS_0100. PROCESS AFTER INPUT. MODULE USER_COMMAND_0100.
  • 15. PBO in Screen 100 MODULE status_0100 OUTPUT. SET PF-STATUS ‘0100’. SET TITLEBAR ‘0100’. ENDMODULE.
  • 16. PAI in Screen 100 MODULE user_command_0100 INPUT. CASE ok_code. WHEN ‘EXIT’. “Leave program SET SCREEN 0. LEAVE SCREEN. “Leave to screen 0 WHEN ‘SAVE’. UPDATE customers. MESSAGE S000(38) WITH ‘Update OK’. SET SCREEN 50. LEAVE SCREEN. ENDCASE. ENDMODULE.
  • 17. How to Create Dialog Program  Transaction SE80 : Create Dialog Program  Create Screen(4 steps)  Screen Attribute  Screen Layout  Flow Logic(PBO,PAI)  Define Variable ok_code in Element List  Define Data Object in ABAP Work Area at TOP Include(Tables, Data,...)  Check and Activate Dialog Program  Create Transaction Code
  • 18. Example I Maintain Customers Data Screen : 100 Screen : 200
  • 19. Example I  Create Dialog Program SAPMZEX<nn> for changing Customers table  Screen 100  Field customers-id  Screen 200  Field customers-id and customers-name
  • 20. Example I  Screen 100 PROCESS BEFORE OUTPUT. MODULE STATUS_0100. PROCESS AFTER INPUT. MODULE USER_COMMAND_0100.
  • 21. Example I  Screen 100 MODULE status_0100 OUTPUT. SET PF-STATUS ‘0100’. SET TITLEBAR ‘0100’. ENDMODULE.
  • 22. Example I  Screen 100 MODULE user_command_0100 INPUT. CASE ok_code. WHEN ‘BACK’. LEAVE PROGRAM. “leave to screen 0 WHEN space. “if not assign Enter Key SELECT SINGLE * FROM customers WHERE id = customers-id. LEAVE TO SCREEN 200. ENDCASE. ENDMODULE.
  • 23. Example I  Screen 200 PROCESS BEFORE OUTPUT. MODULE STATUS_0200. PROCESS AFTER INPUT. MODULE USER_COMMAND_0200.
  • 24. Example I  Screen 200 MODULE status_0200 OUTPUT. SET PF-STATUS ‘0200’. SET TITLEBAR ‘0200’. ENDMODULE.
  • 25. Example I  Screen 200 MODULE user_command_0200 INPUT. CASE ok_code. WHEN ‘BACK’. LEAVE TO SCREEN 100. “set screen 100 WHEN ‘SAVE’. UPDATE customers. MESSAGE S000(38) WITH ‘Update OK!’. LEAVE TO SCREEN 100. ENDCASE. ENDMODULE.
  • 26. Example I  TOP Include TABLES customers. DATA ok_code TYPE sy-ucomm.  Create Transaction Code Transaction Code : ZEX<nn>
  • 27. Exercise Create Dialog Program : SAPMZCUST<nn> Transaction Code : ZCUST<nn>
  • 28. Exercise : Customers Maintenance Screen : 100 Screen : 200
  • 29. Setting the Cursor Position Dynamically Cursor Position PROCESS BEFORE OUTPUT. MODULE STATUS_0200. MODULE set_cursor. MODULE set_cursor OUTPUT. SET CURSOR FIELD ‘CUSTOMERS-CITY’ OFFSET 3. ENDMODULE.
  • 30. Avoiding the Unexpected Processing Step of ok_code Field
  • 31. 1. Auxiliary OK_CODE Variable  TOP Include TABLES customers. DATA ok_code TYPE sy-ucomm. DATA save_ok TYPE sy-ucomm.
  • 32. Example I - Change  Screen 100 : PAI MODULE 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.
  • 33. Example I - Change  Screen 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.
  • 34. 2. Specify the Enter Function at GUI Status
  • 35. Check Enter Function  Screen 100 : PAI MODULE 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.
  • 36. 3. Clear OK_CODE at PBO  Screen 100 : Flow Logic PROCESS BEFORE OUTPUT. MODULE STATUS_0100. MODULE clear_ok_code. PROCESS AFTER INPUT. MODULE USER_COMMAND_0100.
  • 37. Clear OK_CODE at PBO  Screen 100 : PBO MODULE status_0100 OUTPUT. SET PF-STATUS ‘0100’. SET TITLEBAR ‘0100’. ENDMODULE. MODULE clear_ok_code OUTPUT. CLEAR ok_code. ENDMODULE.
  • 39. Example II Maintain Customers Data  Check Input Data Manually
  • 40. Example II  Screen 100 : PAI MODULE 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.
  • 41. Example III Maintain Customers Data  Check Input Data Using Field Command
  • 42. Example III – Field Statement  Screen 100 : Flow Logic (PAI) PROCESS AFTER INPUT. FIELD customers-id MODULE user_command_0100.
  • 43. Example III  Screen 100 : PAI MODULE user_command_0100 INPUT. ... WHEN SPACE. SELECT SINGLE * FROM customers WHERE id = customers-id. IF sy-subrc <> 0. MESSAGE E000(38) WITH ‘Customers data not found’. ELSE. LEAVE TO SCREEN 200. ENDIF. ENDCASE. ENDMODULE.
  • 44. Field Input Checking  If 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.  If the module results in an error(E) or warning(W) message,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
  • 45. Field Statement With More Than 1 Field  Screen 100 : Flow Logic (PAI) PROCESS AFTER INPUT. CHAIN. FIELD: customers-id,customers-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.
  • 46. Field Statement & Data 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 a •Transfer f1 •Call module b •Transfer f2 •Call module c •Call module d
  • 51. Function Type : Exit Command
  • 52.  When user chooses a function with type E,the screen flow logic jumps directly to the following statement MODULE <module> AT EXIT-COMMAND  No other screen fields are transported to the program except OK Code field At exit-command
  • 53. At exit-command  Screen 100 : Flow Logic PROCESS BEFORE OUTPUT. MODULE STATUS_0100. PROCESS AFTER INPUT. MODULE exit AT EXIT-COMMAND. MODULE USER_COMMAND_0100.
  • 54. At exit-command  Screen 100 : PAI MODULE exit INPUT. CASE ok_code. WHEN ‘EXIT’. LEAVE PROGRAM. ENDCASE. ENDMODULE. LEAVE PROGRAM.
  • 56. Example IV Maintain Customer Data  Popup confirmation data using function ‘POPUP_TO_CONFIRM_LOSS_OF_DATA’
  • 57. Example IV  TOP Include ... DATA ans.
  • 58. Example IV  Screen 100 : PAI MODULE exit INPUT. CALL FUNCTION ‘POPUP_TO_CONFIRM_LOSS_OF_DATA’ EXPORTING 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.
  • 59. SAP Transaction : Enqueue Lock Object
  • 60. SAP Transaction & DB Transaction  Each Dialog step can contain update requests(INSERT,DELETE,UPDATE)  After 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 transactions  A rollback in one Dialog step has no effect on database updates performed in previous Dialog steps
  • 61. SAP Transaction(LUW) DB Commit DB Commit SAP LUW DB LUW
  • 62. SAP Database Maintenance Steps  Check data locking by calling function ‘ENQUEUE_<lock object>’  Read data from Database Ex. Select single …  Data Processing Ex. Update ...  Release lock by calling function ‘DEQUEUE_<lock object>’
  • 63. SAP Lock Object  Transaction SE11 : Lock object  ENQUEUE_<lock object>  DEQUEUE_<lock object>
  • 64. SAP Lock Object : Function Module
  • 65. Example IV  ENQUEUE /DEQUEUELock Object(SE11) CALL FUNCTION ‘ENQUEUE_EZCUST<nn>’ CALL FUNCTION ‘DEQUEUE_EZCUST<nn>’ User 1 User 2
  • 66. Example IV (I)  Screen 100 : PAI MODULE user_command_0100 INPUT. ... WHEN SPACE. CALL FUNCTION ‘ENQUEUE_EZCUST00’ EXPORTING … id = customers-id EXCEPTIONS ... IF sy-subrc <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ELSE. SELECT SINGLE * FROM customers WHERE id = customers-id. ...
  • 67. Example IV (II)  Screen 100 : PAI MODULE user_command_0100 INPUT. ... WHEN SPACE. CALL FUNCTION ‘ENQUEUE_EZCUST00’ EXPORTING id = customers-id ... IF sy-subrc <> 0. CONCATENATE ‘Data was locked by :’ sy-msgv1 INTO mess. MESSAGE E000(38) WITH mess. ELSE. SELECT SINGLE * FROM customers WHERE id = customers-id. ... message id sy-msgid type sy-msgty number sy-msgno with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  • 68. Example IV  Screen 200 : PAI MODULE user_command_0200 INPUT. ... WHEN ‘BACK’. CALL FUNCTION ‘DEQUEUE_EZCUST00’ EXPORTING … id = customers-id. LEAVE TO SCREEN 100. …
  • 69. Example IV  Screen 200 : PAI MODULE user_command_0200 INPUT. ... WHEN ‘SAVE’. UPDATE customers. MESSAGE S000(38) WITH ‘Update OK!’. CALL FUNCTION ‘DEQUEUE_EZCUST00’ EXPORTING … id = customers-id. LEAVE TO SCREEN 100. ... ...