Upload
writeme670
View
257
Download
1
Embed Size (px)
Citation preview
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 1/113
Advanced Techniques in ABAP Programming
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 2/113
Course Objectives
In this Course, the participant will learn:
• ABAP Workbench Environment and Tools
• An Introduction to ABAP Programming
• Advanced techniques in ABAP Programming
• BDCs and Interfacing in the SAP Environment
• Enhancements & Modifications to SAP R/3
• Designing and Using SAP Forms (SAP Script)
• Dialog Programming
Advanced Techniques in ABAP Programming
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 3/113
Topic Objectives
In this Topic, the participant will learn:
• To Define and Call Subroutines
• To Maintain and Call Function Modules
• Selection Criteria for ABAP Report Programs
• Advanced Reporting using ABAP
• ALV Reporting
• Logical Databases and usage
• Background Processing of Programs
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 4/113
Topic Objectives
In this Topic, the participant will learn:
• To Define and Call Subroutines
• To Maintain and Call Function Modules
• Selection Criteria for ABAP Report Programs
• Advanced Reporting using ABAP
• ALV Reporting
• Logical Databases and usage
• Background Processing of Programs
To Define and Call Subroutines
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 5/113
In this section, we will…
• Describe Subroutines
• Define and Call Subroutines
• Explain how subroutines are used
• Define Parameters
• Define Global and Local Data
• Define Local Field Values
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 6/113
Subroutines: What and Why?
PROGRAM RSDEM001. PROGRAM RSDEM004.
Calculate tax
Calculate tax
Call calculate_tax
Call calculate_tax
Subroutine
Calculate_tax
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 7/113
Defining and Calling Subroutines
Syntax:• Defining a Subroutine:
FORM <form_name> [tables <tab1> <tab2>…][using <var1> <var2> value(<var3>)…]
[changing <cvar1>…].ENDFORM.
• Calling a Subroutine:
PERFORM <form_name> [tables <tab1> <tab2>…][using <var1> value(<var3>)…][changing <cvar1>…].
Example:
PERFORM CALCULATE_TAX USING FL1.
FORM CALCULATE_TAX USING F1.
CLEAR ITAB.
MOVE: F1 TO ITAB-FL1.
APPEND ITAB.
ENDFORM .
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 8/113
Using Parameters to Pass Data
USINGPass By Reference
Pass By Value
TABLES Pass By Reference
CHANGING Pass By Value & Result
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 9/113
Parameters Example
Actual Parameters
PERFORM CALCULATE_TAX USING FL1 FL2.
FORM CALCULATE_TAX USING F1 F2.
CLEAR ITAB.
MOVE F1 TO ITAB-FL1.
APPEND ITAB.ENDFORM . Formal Parameters
In this example, parameters are passed byreference. This is the most common, and most
cost effective, method of parameter passing.
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 10/113
Passing Parameters
PROGRAM <name> .
TABLES: ....
DATA: ....
...PERFORM <name> USING
<a1> <a2>
<a3> <a4>.
..
.FORM <name> USING
VALUE(<f1>)
VALUE(<f2>)
<f3>
<f4>.
ENDFORM.
<statements>
X
YX
Y
f1 f2
a1 a2 a3 a4
Pass by value
2 Pass by reference
1 21
1
2
Internal Tables as Passed
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 11/113
Internal Tables as Passed
Parameters
REPORT B170D094
DATA: BEGIN OF TAB,
F1 LIKE TABNA-COUNTRY,
F2 LIKE TABNA-NAME1,END OF TAB.
DATA: X.
PERFORM SUB1 TABLES TAB
USING X.
FORM SUB1 TABLES T USING Z.
LOOP AT T.
WRITE: / T.
ENDLOOP.
MOVE . . . TO T.
APPEND T.
ENDFORM.
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 12/113
Global and Local Data
REPORT B170D091
TABLES: . . .
DATA: . . .
Global Data
X1 Y1
Call Subroutine
Subroutines
Passed Parameters X Y
DATA: … local data
statements
Passes Parameters
Data: … local data X1
statements
X1 Y1
Persistent Local Variables:
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 13/113
Persistent Local Variables:
STATICS
REPORT B170D092.
DATA: RESULT TYPE I.
PERFORM RANDOM_NUMBER CHANGING RESULT.
FORM RANDOM_NUMBER CHANGING P_RESULT TYPE I.
STATICS: L_STATE TYPE I.
L_STATE = ( L_STATE * 113 + 34 ) MOD 256.
P_RESULT = L_STATE.
ENDFORM.
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 14/113
Topic Objectives
In this Topic, the participant will learn:
• To Define and Call Subroutines
• To Maintain and Call Function Modules
• Selection Criteria for ABAP Report Programs
• Advanced Reporting using ABAP
• ALV Reporting
• Logical Databases and usage
• Background Processing of Programs
To Maintain and Call Function Modules
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 15/113
In this section, we will…
• Define Function Modules
• Define Function Groups
• Describe Interfaces• Explain Exception Processing
• Define Global Data / Local Memory• Explain Remote Function Call (RFC)
• Search the Function Library
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 16/113
Introduction to Function Modules
Clear import andClear import and
export parametersexport parameters
SearchSearchCreateCreate
ChangeChangeDocumentDocument
ExceptionExceptionhandlinghandling
High ReusabilityHigh Reusabili tySTRING_CONCENATE/ READ_CALENDAR/CURRENCY_CONVERSION/ ACCOUNT_CHECK/ ...
TestTestEnvironmentEnvironment
Application Application
Remote Function CallRemote Function Call
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 17/113
Function Groups
Tools
ABAP Workbench
Function Builder
Development
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 18/113
Calling a Function Module
Function Module
Maintenance
FM_02
Interface
Import
ExportTables
Exceptions
Program
Documentation Administration
How to call a
Function Module
CALL FUNCTION
'FM_02'
EXPORTING ...
IMPORTING ...TABLES ...
(EXCEPTIONS ...)
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 19/113
Interfaces
IMPORT
EXPORT
TABLES
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 20/113
Exception Processing
Table Parameters/Exceptions STRING_SPLIT
Exceptions
FUNCTION STRING_SPLIT.
...IF ...
RAISE NO_DATA.
ENDIF
NO_DATA DATA_NOT_VALID
STRING_TOO_LONG
...
CALL FUNCTION ‘STRING_SPLIT’
EXPORTING DELIMITER = ‘-’
STRING = TEXT
IMPORTING HEAD = HEAD
TAIL = TAILEXCEPTIONS NO_DATA = 01
STRING_TOO_LONG = 02
OTHERS = 03.
CASE SY-SUBRC.
WHEN 1. .... . WHEN 2. .... .
WHEN 3. .... .
ENDCASE.
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 21/113
An Example of a Function Module
Import
Parameters
Export
Parameters
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 22/113
Global Data / Local Memory
Global Data
FUNCTION-POOL <gr >.
DATA: X.
TABLES: ... .
L<gr > TOP
FORM SUB1 USING ... .
DATA:... .
MOVE ... TO X.
ENDFORM.
L<gr > F01FUNCTION ... .
DATA:... .
MOVE X TO ... .
ENDFUNCTION.
SubroutinesFunction module
L<gr > U01
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 23/113
Remote Function Call
System
R/3System
R/3System
RFCRFCRFC
RFC
RFC with
C-interface
Mainframe
R/3Presentation
server
AP
DB DB
AP
R/2System
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 24/113
Searching the Function Builder
Tools
ABAP Workbench
Development
Function Builder
Function module
Short description
Function group
Development class
ABAP Repository Information System
Standard selections
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 25/113
Creating a Function Module
Import/Export ParametersImport/Export Parameters
Create
Table Parameters/Exceptions
Documentation
Source code
Administration
Function module
ABAP Function Builder: Initial Screen
Z_FUNC_DEMO1
Tools
ABAP Workbench
Function Builder
Development
SE37
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 26/113
Creating a Function Module – Step 1 of 7
Initial Parameters
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 27/113
Creating a Function Module – Step 2 of 7
General Attributes
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 28/113
Creating a Function Module – Step 3 of 7
Import and Changing Interface Parameters
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 29/113
Creating a Function Module – Step 4 of 7
Export Interface Parameters
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 30/113
Creating a Function Module – Step 5 of 7
Tables Interface Parameters
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 31/113
Creating a Function Module – Step 6 of 7
Exceptions
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 32/113
Creating a Function Module – Step 7 of 7
Source Code and Activation
Example of Calling a FunctionM d l i P
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 33/113
Module in a Program
Function ‘ZCONVERT_TEMPERATURE
* Local interface:
* IMPORTING VALUE (TEMP_UNIT) TYPE C
* VALUE (DEGREES) TYPE P
* EXPORTING REFERENCE (CONV_DEGREES) TYPE P
IF TEMP_UNIT = ‘F’.CONV_DEGREES = ( DEGREES - 32 ) * 5 / 9.
ELSE.
CONV_DEGREES = DEGREES * 9 / 5 + 32.
ENDIF.ENDFUNCTION.
This function can be called as follows:
DATA DEG TYPE P.CALL FUNCTION ‘ZCONVERT_TEMPERATURE’
EXPORTING TEMP_UNIT = ‘F’
DEGREES = 100
IMPORTING CONV_DEGREES = DEG.
T i Obj ti
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 34/113
Topic Objectives
In this Topic, the participant will learn:
• To Define and Call Subroutines
• To Maintain and Call Function Modules
• Selection Criteria for ABAP Report Programs
• Advanced Reporting using ABAP
• ALV Reporting
• Logical Databases and usage
• Background Processing of Programs
Selection Criteria for ABAP Report Programs
In this section we will
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 35/113
In this section, we will…
• Describe Selection Screens
• Define Parameters
• Define Select Options• Customize the selection screen
• Describe Selecting from Tables using LogicalDatabases
• Define the Check and Reject Statement
Selection Screen
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 36/113
Selection Screen
REPORT <name> .
TABLES: SPFLI, SFLIGHT.PARAMETERS: FLTYPE
GET SPFLI.
CHECK CARRID.
SPFLI Carrier ID to
Flight Selection
Flight Type
Search str ing
General selections
Client ID to
Date of f lights to
Declaring Fields with PARAMETERS
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 37/113
Declaring Fields with PARAMETERS
Syntax:PARAMETERS <name>[(<length>)] [TYPE <data type>]
[DEFAULT<default>] [ AS CHECKBOX].
REPORT ZTESTRPT1.
TABLES: SFLIGHT.
PARAMETERS: p_CARRID LIKE SFLIGHT-CARRID,
p_CONNID LIKE SFLIGHT-CONNID,
p_FLDATE LIKE SFLIGHT-FLDATE
DEFAULT SY-DATUM,
p_RESV_FLG AS CHECKBOX.
SELECT *
FROM SFLIGHT
WHERE CARRID = p_CARRID
AND CONNID = p_CONNID
AND FLDATE = p_FLDATE
ENDSELECT.
Example:
The SELECT OPTIONS Statement
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 38/113
The SELECT-OPTIONS Statement
Syntax: SELECT-OPTIONS <selection name> FOR <field>.
REPORT <name>.
TABLES: SPFLI, LFA1.
SELECT-OPTIONS:
CONNECTID FOR SPFLI-CONNID
DEFAULT '1984' TO ' 3517 '.
Internal
table
POSTCODE
SIGN OPTION LOW HIGH
I BT 1984 3517
Program selections
CONNECT ID 1984 3517
Value Sets
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 39/113
Value Sets
from to Incl. Excl.
Connection id
0010 0400
1900 3600
3799Connection id
SIGN OPTION LOW HIGH
ABAP ABAP
Selection Texts
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 40/113
Selection Texts
REPORT <name> .
TABLES: SPFLI, AIRPROM.
SELECT-OPTIONS:
FLTIME FOR SPFLI-FLTIME
DEFAULT '06:01:00' TO 10:00:00',
AIRPFROM FOR SPFLI- AIRPFROM...
.
..
Flight Time 06:01 10:00
Airport From
Text elements/selection texts<field name> <text>
FLTIME Flight time
AIRPFROM Airport from
Text Elements
Customizing the Selection Screen
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 41/113
Customizing the Selection Screen
Syntax:• Selection Screen Block
SELECTION-SCREEN BEGIN OF LINE.…SELECTION-SCREEN END OF LINE.
• Selection Screen Formatting Statements
SELECTION-SCREEN SKIP <n>.
SELECTION-SCREEN POSITION <pos>.
SELECTION-SCREEN ULINE.
SELECTION-SCREEN COMMENT <g> TEXT-<xxx>.
Customizing the Selection Screen:Example
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 42/113
Example
REPORT <name>.
TABLES: SPFLI, SFLIGHT, SBOOK.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 10 TEXT-001.SELECTION-SCREEN POSITION 50.
PARAMETERS: CARRID LIKE SPFLI-CARRID
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN ULINE /10(50).
.
.
Text-001
Please enter carr ier ID
Text-001
Please enter carr ier ID
Please enter carrier ID
col.50col.50col.10col.10
CALL SELECTION-SCREEN
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 43/113
CALL SELECTION SCREEN
• Additional selection screen during processing.
• Selection screen within another selection screen
• Submit a report using selection screen.
FEATURES
APPLICATIONSReduces number of fields on the standard selection screen.
Starting reports with different selection screens.
Pop-up window.Initial screen of a regular screen painter transaction.
CALL SELECTION-SCREENExample
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 44/113
Example
Repor t …. . .SELECTI ON- SCREEN: BEGI N OF BLOCK b1 WI TH FRAME TI TLE <var 1>.
SELECT- OPTI ONS: car r i er f or sf l i ght - car r i d.
SELECTI ON- SCREEN: END OF BLOCK b1.
SELECTI ON- SCREEN: BEGI N OF SCREEN 2000 AS WI NDOW,I NCLUDE BLOCKS b1,
BEGI N OF BLOCK b2 WI TH FRAME TI TLE a1.
SELECT- OPTI ONS: scust FOR sbook- cust omi d.SELECTI ON- SCREEN: END OF BLOCK b2,
END OF SCREEN 2000.. . .AT LI NE- SELECTI ON.
CALL SELECTI ON- SCREEN 2000 STARTI NG AT 5 5,
Repor t …. . .SELECTI ON- SCREEN: BEGI N OF BLOCK b1 WI TH FRAME TI TLE <var 1>.
SELECT- OPTI ONS: car r i er f or sf l i ght - car r i d.
SELECTI ON- SCREEN: END OF BLOCK b1.
SELECTI ON- SCREEN: BEGI N OF SCREEN 2000 AS WI NDOW,I NCLUDE BLOCKS b1,
BEGI N OF BLOCK b2 WI TH FRAME TI TLE a1.
SELECT- OPTI ONS: scust FOR sbook- cust omi d.SELECTI ON- SCREEN: END OF BLOCK b2,END OF SCREEN 2000.
. . .AT LI NE- SELECTI ON.
CALL SELECTI ON- SCREEN 2000 STARTI NG AT 5 5,
The CHECK Statement
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 45/113
The CHECK Statement
.
.
.
Carrier id 7100 7500
Price
Work area SPFLI
D 71000
Internal Table CARRIERID
LAND1 PSTLZ ORT01
CHECK <selection name>.
CHECK <logical expression>.
REPORT <name> .
TABLES: SPFLI, SFLIGHT.
SELECT-OPTIONS:
CARRIERID FOR SPFLI-CARRID
PARAMETERS: PRICE LIKE SFLIGHT-
PRICE.
GET SPFLI.
CHECK SPFLI-CARRIER NE 'BA'.
GET SFLIGHT.CHECK: CARRIERID...
GET SBOOK .
I BT 7100 7500
SPFLI
The REJECT Statement
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 46/113
REJECT <name>.
REPORT ZZ70D132.TABLES: SPFLI, SBOOK.
.
.
.GET SBOOK.
IF ... .
REJECT ’SPFLI'.
ENDIF....
SPFLI SPFLI
SFLIGHT
SBOOK
SFLIGHT
G o e s b a
c k
t o S P F L
I
Topic Objectives
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 47/113
p j
In this Topic, the participant will learn:
• To Define and Call Subroutines
• To Maintain and Call Function Modules
• Selection Criteria for ABAP Report Programs
• Advanced Reporting using ABAP
• ALV Reporting
• Logical Databases and usage
• Background Processing of Programs
Advanced Reporting Using ABAP
In this section, we will…
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 48/113
,
• Explain variations of the WRITE statement
• Explain printing Icons, Lines and Symbols
• Explain other formatting options
• Describe the different events in ABAP Reports
• GUI Status and Title for reports
• Interactive (Drilldown) Reporting and its
advantages
• Define Open SQL Statements
• Explain File Handling in ABAP
WRITE Statement
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 49/113
• Syntax:WRITE [AT] [/P(L)] v1[+O(SL)]
[UNDER v2 | NO-GAP]
[USING EDIT MASK m | USING NO EDIT MASK][mm/dd/yy | dd/mm/yy | mm/dd/yyyy |
dd/mm/yyyy | mmddyy | ddmmyy | yymmdd]
[NO-ZERO][NO-SIGN]
[DECIMALS n]
[ROUND n][LEFT-JUSTIFIED | CENTERED | RIGHT-JUSTIFIED]
[COLOR col]
WRITE Statement – Printing Symbols
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 50/113
• Symbols are two-color pictures like Square,Circle, Folder, Document etc…
• Most symbols take one character space in theoutput list
• Include the following statement at the top of the
program:INCLUDE <symbol>.
WRITE Statement – Printing Icons & Lines
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 51/113
• Icons are similar to Symbols, but they are multi-colored
• Most icons occupy two character spaces in theoutput list
• Include the following statement in the program:
INCLUDE <icon>.
• Horizontal and Vertical Lines can also be printed
• Include the following statement for printing lines:INCLUDE <list>.
WRITE Statement – Printing Icons & Lines
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 52/113
• Icons are similar to Symbols, but they are multi-colored
• Most icons occupy two character spaces in theoutput list
• Include the following statement in the program:
INCLUDE <icon>.
• Horizontal and Vertical Lines can also be printed
• Include the following statement for printing lines:INCLUDE <list>.
Formatting Options – Using Colors
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 53/113
• Format Statement – Syntax:
FORMAT <option1> [ON|OFF] <option2> [ON|OFF]….
• Colors can be printed in List using: – FORMAT COLOR <color_code> [ON|OFF]
[INTENSIFIED [ON|OFF] ] [INVERSE [ON|OFF] ].
– WRITE <field> COLOR <color_code> [ON|OFF].
• Generally, Background colors are changed byColor Codes, but foreground can be changed bysetting parameter INVERSE ON.
Other Formatting Options
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 54/113
• Uline
• New-line
• New-page
• Skip
• Back
• Position
• Set blank lines
Events in ABAP Runtime Environment
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 55/113
Events in ABAP Report Programming
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 56/113
List Processor Events
• AT LINE SELECTION• AT PFn (obsolete)
• AT USER-COMMAND
•TOP-OF-PAGE
• END-OF-PAGE
Secondary List events
Basic List events
Report Processor Events
• INITIALIZATION• AT SELECTION SCREEN
• START-OF-SELECTION
• GET• END-OF-SELECTION
Interactive Reporting - Overview
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 57/113
Secondary lists Windows
Calling atransaction
Calling a report
Interactive Reporting
Events in Interactive Reporting
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 58/113
Report RSDEMO00*Basic list
START-OF-SELECTION.
END-OF-SELECTION
GET…
TOP-OF-PAGE/END-OF-PAGE
*Interactive Reporting
AT PFnn.
AT LINE –SELECTION.
AT USER-COMMAND.
TOP-OF-PAGE DURING LINE-SELECTION
Page Headings
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 59/113
Basic list
Secondary l ist
Text elements
Report RSBBB06C
.
.
.
TOP-OF-PAGE DURING LINE-SELECTION.
TOP-OF-PAGE
Choose
Secondary Lists and the System Field SY-LSIND
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 60/113
SY-LSIND:0
SY-LSIND:1
SY-LSIND:2
Choose
Choose
Choose
Basic list
1.Secondary list
2.Secondary list 3.Secondarylist
REPORT RSBBB06A
GET SFLIGHT
.
.
.
AT LINE-SELECTION.
CASE SY-LSIND.
WHEN ‘1’
.
.
.
WHEN ‘2’.
.
.
.
WHEN ‘3’.
SY-LSIND =
SY-LSIND = 1.
.
.
Line Selection I: System Field SY-LISEL
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 61/113
Carrid Connid Flight date
AA 0169 12121994
AA 0192 26081994
LH 0108 25011995
Choose
LH 0108 25011995
SY-LISEL
AT LINE-SELECTION.
MOVE: SY-LISEL(3) TO SFLIGHT-CARRID,
SY-LISEL+6(4) TO SFLIGHT-CONNID,
SY-LISEL+14(8) TO SFLIGHT-FLDATE.
SELECT * FROM SBOOK
WHERE CARRID = SFLIGHT-CARRID
AND CONNID = SFLIGHT-CONNID
AND FLDATE = SFLIGHT-FLDATE.
WRITE : SBOOK-PRICE,……….
Line Selection II
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 62/113
Carrid Connid Flight date
AA 0169 12121994
LH 0454 17111994
Choose
HIDE <Field>.
HIDE area
“ SFLIGHT-CARRID” AA
“ SFLIGHT-CONNID” 0169“ SFLIGHT-FLDATE 12121994
“ SFLIGHT-CARRID” LH
“ SFLIGHT-CONNID” 0454
“ SFLIGHT-FLDATE” 17111994
REPORT RSBBB06C
.
.
GET SFLIGHT.
WRITE : SFLIGHT-CARRID, 18 SFLIGHT-CONNID,….
HIDE: SFLIGHT-CARRID,SFLIGHT-CONNID,SFLIGHT-FLDATE.
Line Selection III
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 63/113
Carrid Connid Flight date
AA 0169 12121994
LH 0454 17111995
Choose
HIDE <Field>.
HIDE area
“SFLIGHT-CARRID” AA
“SFLIGHT-CONNID” 0169
“SFLIGHT-FLDATE 12121994
“SFLIGHT-CARRID” LH
“SFLIGHT-CONNID” 0454
“SFLIGHT-FLDATE” 17111994
REPORT RSBBB06C
AT LINE-SELECTION.
SELECT * FROM SBOOK WHERE…..
WRITE : SBOOK-CARRID ,SBOOK-CONNID,…..
?
SFLIGHT-PRICE
LH 0454 17111994
SY-LISEL
LH 0454 17111994
SFLIGHT
-CARRID
SFLIGHT-CONNID SFLIGHT-
FLDATE
Valid Line Selection
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 64/113
Header
Footer
Hide area
“SFLIGHT-CARRID” AA
“SFLIGHT-CARRID” LH
REPORT RSBBB06D.
GET SFLIGHT.
WRITE: SFLIGHT-CARRID,HIDE: SFLIGHT-CARRID,…..
.
.
.
END-OF-SELECTION.
CLEAR SFLIGHT-CARRID.
AT LINE-SELECTION.
CHECK NOT SFLIGHT-CARRID IS INITIAL.
.
.
.
CLEAR SFLIGHT-CARRID.
System Fields
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 65/113
SY-CUROW
SY-CUCOL
SY-CPAGE
SY-STARO
SY-STACO
SY-LSIND=0
SY-LSIND =1
SY-LSIND =2
GUI Status and Title bar for reports
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 66/113
• Use the “SET PF-STATUS” statement to choose aGUI Status dynamically for a report
– Syntax: SET PF-STATUS <pfstat>.
• The button the user presses is trapped in the
system variable SY-UCOMM and handled in theevent AT USER-COMMAND
• Use “SET TITLEBAR” statement to set a programwindow title text dynamically
– Syntax: SET TITLEBAR <title>.
Open SQL
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 67/113
Open SQL – SELECT Statement
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 68/113
• Syntax:SELECT [SINGLE] [DISTINCT] <result>
INTO <target> FROM <source>
[WHERE <condition>] [GROUP BY <fields>][HAVING <cond>] [ORDER BY <fields>].
• INTO clause:
... INTO [CORRESPONDING FIELDS OF] <wa>
| INTO|APPENDING [CORRESPONDING FIELDS OF] TABLE <itab>
| INTO (<f 1>, <f 2>,...)
• FROM clause:... FROM [<tab> [INNER]|LEFT [OUTER] JOIN] <dbtab> [AS <alias>]
[ON <cond>][CLIENT SPECIFIED][BYPASSING BUFFER]
[UP TO <n> ROWS]
Open SQL – Joins in SELECT
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 69/113
• Inner Joins – Allow access to multiple tables with a single
SELECT statement
– Creates a temporary table based on condition inthe ON clause
– Multiple tables joined based on key fields specified
• Left Outer Joins – Allow access to multiple tables
– Creates a temporary table
– BUT, field values in driving (left-hand) table thatDO NOT correspond to values in the right-handtable are added to the temporary result table
Open SQL – INSERT Statement
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 70/113
• Inserts a row or several rows into a databasetable
• Syntax:
INSERT <dbtab> FROM <wa>.
INSERT <dbtab> FROM TABLE <itab> [ACCEPTING DUPLICATE
KEYS].
• Possible to insert one or more rows from aninternal table
• Duplicate entries could be discarded by using theclause ‘ACCEPTING DUPLICATE KEYS’
Open SQL – UPDATE Statement
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 71/113
• Updates a row or several rows in a databasetable
• Syntax:
UPDATE <dbtab> SET <si> = <f >
[WHERE <cond>].
UPDATE <dbtab> FROM <wa>.
UPDATE <dbtab> FROM TABLE <itab>.
Open SQL – DELETE Statement
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 72/113
• Deletes one or more rows in a database table• Syntax:
DELETE FROM <dbtab> WHERE <cond>.
DELETE <dbtab> FROM <wa>.
DELETE <dbtab> FROM TABLE <itab>.
File Handling – OPEN DATASET
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 73/113
• Opens a file for reading, writing or for appending• Syntax:
OPEN DATASET <dsn> [FOR INPUT|OUTPUT|APPENDING]
[IN BINARY|TEXT MODE]
[AT POSITION <pos>]
[MESSAGE <mess>]
[FILTER <filt
>].• <dsn> can be a logical or physical file names
File Handling – READ DATASET
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 74/113
• Reads a file• Syntax:
READ DATASET <dsn> INTO <f > [LENGTH <len>].
• <dsn> can be a logical or physical file names
• Logical file names can be created in customizing
File Handling – TRANSFER DATASET
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 75/113
• Syntax:
– Writing to a datasetTRANSFER <f > TO <dsn> [LENGTH <len>].
– Closing a datasetCLOSE DATASET <dsn>.
Topic Objectives
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 76/113
In this Topic, the participant will learn:
• To Define and Call Subroutines
• To Maintain and Call Function Modules
• Selection Criteria for ABAP Report Programs
• Advanced Reporting using ABAP
• ALV Reporting
• Logical Databases and usage
• Background Processing of Programs
ALV Reporting
In this section, we will…
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 77/113
• Explain the concept of ALV Reports• The Data Declaration for ALV Reports
• Database Selection, Event Handling and FormHandling in ALV reports
• Different Function Modules for displaying ALV
reports
The Concept of ALV Reports
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 78/113
The Data Declaration
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 79/113
Type Pool SLIS for ALV ReportingType Pool SLIS for ALV Reporting
ALV Tables to passevents and triggers to ALV Function Modules
ALV Tables to passevents and triggers to ALV Function Modules
Saving the VARIANT
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 80/113
Database selection, Events and Forms
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 81/113
Calling FunctionREUSE_ALV_GRID_DISPLAY
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 82/113
Dynamic calling of form top_of_page
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 83/113
Call FunctionREUSE_ALV_COMMENTARY_WRITE
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 84/113
Topic Objectives
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 85/113
In this Topic, the participant will learn:
• To Define and Call Subroutines
• To Maintain and Call Function Modules
• Selection Criteria for ABAP Report Programs
• Interactive Reporting using ABAP
• ALV Reporting
• Logical Databases and usage
• Background Processing of Programs
Logical Databases and usage
In this section, we will…
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 86/113
• Explain Logical Databases• Describe Report Driven Reading of VendorMaster Data
• Describe Reading Data• Compare Logical Databases v. Select
• Define the structure of a Logical Database• Explain Event Keywords
• Describe the interaction of Logical Databases
and Reports
What are Logical Databases?
D b i hi d b b l i ll d i hi i i
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 87/113
• Database within a database, but logically stored within existing(physical) tables.
Physical Database
LogicalDatabase
LogicalDatabase
LogicalDatabase
Structure of a Logical Database
L i l D t b Di l St t f KDF
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 88/113
Vendor master data
Documents
LFB5 LFC1 LFC3
LFAS LFB1LFBK
LFA1
BKPF
BSIK
BSEG
GSEG
LFAS
LFBK
LFB5
LFC1
LFC3
BSIK
LFB1
LFA1
BKPF
BSEG
GSEG
Logical Databases: Display Structure of KDF
Reading Data
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 89/113
ABAP Dictionary
1 2
REPORT ... .
TABLES: SPFLI,SFLIGHT.
SELECT SPFLI.
SELECT SFLIGHT.
....
....ENDSELECT.
ENDSELECT.
Processing
Without Logical
Database
Processing
Processing
Logical Database
REPORT ... .TABLES:SPFLI,SFLIGHT.
GET SPFLI.
GET SFLIGHT.
Event Key Words: Overview
START OF SELECTION Introduces any init ial processing to be done
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 90/113
START-OF-SELECTION Introduces any init ial processing to be doneprior to next event keyword (usually GET).
END-OF-SELECTION Introduces any statements that are to beprocessed after all logical database records
have been read and processed.
GET <dbtab > Retrieves the table <dbtab> for processing via the logical database
program SAPD<db><a>.
GET <dbtab > LATE Introduces statements that are only processedonce subordinate tables have been read and
processed. These statements are processed
before the next loop is performed.
Interaction of Logical Databasesand Report
Read programRead program KDF
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 91/113
Read programRead program
REPORT RSDEMO00.
TABLES: LFA1,
LFBK,
LFB5 .
GET LFA1.
REPORT SAPDBKDF...
FORM PUT LFA1 .
SELECT * FROM LFA1... .
PUT LFA1 .
ENDSELECT .
ENDFORM .
FORM PUT_LFBK .
SELECT * FROM LFBK... .
PUT LFBK. GET LFBK.
ENDSELECT.ENDFORM.
FORM PUT_LFB1.
SELECT * FROM LFB1... .
PUT LFB1.
ENDSELECT.ENDFORM.
FORM PUT_LFB5.
SELECT * FROM LFB5... .
PUT LFB5. GET LFB5.
ENDSELECT.
ENDFORM.
KDF
LFB5 LFC1 LFC3 BSIK
LFB1LFBK
LFA1LogicalLogical
database KDFdatabase KDF
Overview: Events in the Context ofLogical Databases
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 92/113
START-OF-SELECTION
END-OF-SELECTION
LFA1
LFB1
LFC1 LFC1 LFC1 LFC1 LFC1
LFA1
LFB1
GET LFA1
GET LFB1
GET LFC1
GET LFB1 LATE
GET LFA1 LATE
1
2
3
4
5
1 1
2 2
3 3 3 3 3
4 4
5 5
Report-Driven Reading of VendorMaster Data
REPORT ZZ70D121
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 93/113
REPORT ZZ70D121.TABLES: LFA1, LFB1, LFC3.
SELECT * FROM LFA1
WHERE LIFNR ...
SELECT * FROM LFB1
WHERE LIFNR = LFA1-LIFNR.
SELECT * FROM LFC3
WHERE LIFNR = LFA1-LIFNR
AND BUKRS = LFB1-BUKRS.
ENDSELECT.
ENDSELECT.
ENDSELECT.
Processing LFA1
Processing LFB1
Processing LFC3
The STOP Statement
REPORT ZZ70D124
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 94/113
REPORT ZZ70D124.
TABLES: LFA1.
DATA: COUNTER TYPE I.
GET LFA1. WRITE: ‘GET LFA1’, 15 LFA1-LIFNR,
LFA1-NAME.
COUNTER = COUNTER + 1.
SKIP.IF COUNTER > 1.
STOP.
ENDIF.
END-OF-SELECTION. WRITE: / ‘END-OF-SELECTION’,
TEXT-001.
* TEXT-001: ‘That’s it buddy !’.
Logical Database vs. Select
GETTh f i l i SELECTF h l i l
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 95/113
GET• The functional connectionalready exists
• Beginners can find the
database they are aftereasier
• The logic is reusable
• Select-Options are flexible
• Authority check is madeautomatically
SELECT• Faster than logicaldatabases
• More powerful than logical
databases - – select into
– order by
• More flexible• More specific coding is
easier work for the database.
BUT:
Logical databases are slower
Changes to a logical database
affect all programs that use it
BUT: Authority check missing
Parameters for select-options have to be
coded
Classic Scenario verses FunctionModule LDB_PROCESS
Classic Scenario
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 96/113
Classic Scenario
LDB_PROCESS
Topic Objectives
In this Topic the participant will learn:
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 97/113
In this Topic, the participant will learn:• To Define and Call Subroutines
• To Maintain and Call Function Modules• Selection Criteria for ABAP Report Programs
• Advanced Reporting using ABAP• ALV Reporting
• Logical Databases and usage• Background Processing of ProgramsBackground Processing of Programs
In this section, we will…
• Describe the Process Flow of BackgroundJ b
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 98/113
• Describe the Process Flow of BackgroundJobs
• Define the Scheduling and Processing of
Background Jobs• Describe the Job Results for a Job Log and
Spool Requests
• Define the Authorization Objects
• Describe the Automatic Generation of Jobs
• Define the Function Modules forGenerating Jobs
Background Processing
Characteristics
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 99/113
Characteristics
Execution of ABAP programs without
dialog (no specific job-control language
for operating system required)
Execution of ABAP programs without
dialog (no specific job-control language
for operating system required)
Complete integration in the SAP SystemComplete integration in the SAP System
Parallel background and online operationParallel background and onl ine operation
Ease of useEase of use
Distributed processingDistributed processing
Process Flow Overview
PROCESS
PROCESS OVERVIEW
OVERVIEWSCHEDULE
SCHEDULE
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 100/113
Background
Workprocess
Background
Workprocess
ABAPPROGRAM.
VARIANT
Date & Time
JOBJob Log
Scheduling Background Jobs
Function " Job definition"
Function " Job definition"
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 101/113
StepsSteps
Job name ............
.
.
.
Print dataPrint data
Start dateStart date
PeriodPeriod
SaveSave
Processing Jobs – Job Status
Scheduled
Scheduled
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 102/113
CancelledCancelled
Active Active
FinishedFinished
ReleasedReleased
ReadyReady
Job Results – Job Log
Job Log
Job Log
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 103/113
Date Time Msg. ID Message
07.21.1998
07.21.1998
.
.
.
.
.
07.21.1998
14:00:20
14:00:21
.
.
.
.
.
14:00:56
00516
00550
.
.
.
.
.
00517
Job Started
step001 started
(program ZTEST, variant
ZVAR, . ..
.
.
.
Job Finished
Job Results – Spool Request
Job list
Job list
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 104/113
Job name
User name
Start date
Job name
User name
Start date WRITE...
JOBA
Smith
10/29/92
Spool
Passing Data To Memory
Step 1:
Job:
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 105/113
Global
ABAP
Memory
Global
ABAP
Memory
REPORT. . .DATA FLAG, F1, BEGI N OF TAB OCCURS.I F SY- BATCH NE SPACE
IMPORT FLAG TAB LFA1 F1FROM MEMORY.I F SY- SUBRC NE SPACEAND FLAG NE SPACE.
. . .
p
Step 2:
TABLES: LFA1.REPORT…DATA FLAG, F1, BEGI N OF TAB OCCURSI F. . .EXPORT FLAG TAB LFA1 F1 TO MEMORY.
ENDI F.FLAG
F1
TAB
Objects Fields Values Description
Objects Fields Values Description
S_BTCH_JOB Job activities DELE Delete job
S_BTCH_JOB Job activities DELE Delete job
Authorizations and BackgroundProcessing
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 106/113
PLAN Schedule job
LIST Display job list
PROT Display job log
RELE Release jobSHOW Display job
S_BTCH_NAM User name <User names> User names that can
be specified when
scheduling a job
S_PROGRAM Authorization <Auth. group> Programs that belong
group to the authorization
groups entered here canbe specified when
User action BTCSUBMIT scheduling a job.
PLAN Schedule job
LIST Display job list
PROT Display job log
RELE Release jobSHOW Display job
S_BTCH_NAM User name <User names> User names that can
be specified when
scheduling a job
S_PROGRAM Authorization <Auth. group> Programs that belong
group to the authorization
groups entered here canbe specified when
User action BTCSUBMIT scheduling a job.
S_BTCH_ADM <Usernames>Batch
Administrator ID
User names that can
be specified to
maintain batch jobs
Generating Jobs Automatically
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 107/113
Create jobCreate job
Insert job stepsInsert job steps
Complete jobComplete job
Function Modules for GeneratingJobs
JOB_OPEN
JOB_OPEN
Job name JOBNAME
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 108/113
Job number JOBCOUNT
JOB_SUBMITJOB_SUBMIT
Job name JOBNAME
Job number JOBCOUNT
Report name REPORT
Variant VARIANT
JOB_CLOSEJOB_CLOSE
Job name JOBNAME
Job number JOBCOUNT
Function Module ‘JOB_OPEN’
CALL FUNCTION ’JOB OPEN’
CALL FUNCTION ’JOB OPEN’
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 109/113
CALL FUNCTION JOB_OPENCALL FUNCTION JOB_OPEN
EXPORTING
DELANFREP = <delete internal report>JOBNAME = <job name>
IMPORTINGJOBCOUNT =<job number>
EXCEPTIONS
CANT_CREATE_JOB = 1INVALID_JOB_DATA = 2
JOBNAME_MISSING = 3...
EXPORTING
DELANFREP = <delete internal report>JOBNAME = <job name>
IMPORTINGJOBCOUNT =<job number>
EXCEPTIONS
CANT_CREATE_JOB = 1INVALID_JOB_DATA = 2
JOBNAME_MISSING = 3...
Function Module ‘JOB_SUBMIT’
CALL FUNCTION ’JOB SUBMIT’
CALL FUNCTION ’JOB SUBMIT’
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 110/113
CALL FUNCTION JOB_SUBMITCALL FUNCTION JOB_SUBMIT
EXPORTING
AUTHCKNAM = <user>JOBCOUNT = <job number>
JOBNAME = <job name>
REPORT = <report name>
VARIANT = <report variant>
EXCEPTIONS..
.
EXPORTING
AUTHCKNAM = <user>JOBCOUNT = <job number>
JOBNAME = <job name>
REPORT = <report name>
VARIANT = <report variant>
EXCEPTIONS...
Function Module ‘JOB_CLOSE’
CALL FUNCTION ’JOB CLOSE’
CALL FUNCTION ’JOB CLOSE’
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 111/113
CALL FUNCTION JOB_CLOSECALL FUNCTION JOB_CLOSE
EXPORTING
JOBCOUNT = <job number>JOBNAME = <job name>
SDLSTRTDT = <start date>
SDLSTRTTM = <start time>
STRTIMMED = <immediate start>
..
.
IMPORTING
JOB_WAS_RELEASED = <job released indicator>
EXCEPTIONS...
EXPORTING
JOBCOUNT = <job number>JOBNAME = <job name>
SDLSTRTDT = <start date>
SDLSTRTTM = <start time>
STRTIMMED = <immediate start>
..
.
IMPORTING
JOB_WAS_RELEASED = <job released indicator>
EXCEPTIONS...
Example: Program to Generate aJob
REPORT B180D025.
DATA: JOBCOUNT LIKE TBTCO-JOBCOUNT.
PARAMETERS: JOBNAME LIKE TBTCO-JOBNAME
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 112/113
PARAMETERS: JOBNAME LIKE TBTCO JOBNAME,REPORT LIKE SY-REPID, VARIANT LIKE RALDB-VARIANT,BTCHUSER LIKE SY-UNAME.
START-OF-SELECTION.
CALL FUNCTION ’JOB_OPEN’EXPORTING JOBNAME = JOBNAMEIMPORTING JOBCOUNT = JOBCOUNT.
CALL FUNCTION ’JOB_SUBMIT’EXPORTING AUTHCKNAM = BTCHUSER
JOBCOUNT = JOBCOUNTJOBNAME = JOBNAMEREPORT = REPORT
VARIANT = VARIANT. WRITE: / JOBNAME, JOBCOUNT,
REPORT, VARIANT, BTCHUSER.
CALL FUNCTION ’JOB_CLOSE’EXPORTING JOBCOUNT = JOBCOUNT
JOBNAME = JOBNAME.
Other Function Modules forGenerating a Job
BP JOBLOG READ
BP JOBLOG READBP JOBLOG SHOW
BP JOBLOG SHOW
7/24/2019 03 - Advanced ABAP Programming
http://slidepdf.com/reader/full/03-advanced-abap-programming 113/113
BP_JOBLOG_READBP_JOBLOG_READBP_JOBLOG_SHOWBP_JOBLOG_SHOW
Display job logDisplay job log Read job logRead job log
BP_JOB_COPYBP_JOB_COPY
Copy jobCopy job
BP_JOB_DELETEBP_JOB_DELETE
Delete jobDelete job
BP_CHECK_EVENTIDBP_CHECK_EVENTIDBP_EVENT_RAISEBP_EVENT_RAISE
Check event nameCheck event nameTrigger eventTrigger event