Sap Abap Training Module
Sap Abap Training Module
SYSTEMS, APPLICATIONS,
PRODUCTS FOR DATA PROCESSING
1.HISTORY
PRODUCTION VERSION: BY MNC (SOFTWARE): INSURANCE, BANKING, RETAIL, MANUFACTURING, OIL AND NATURAL
GAS, EDU.INSTITUTIONS, PHARMA
8000+ FORTUNE COMPANIES
2.MODULES :
20+ MODULES
140 APPLICATIONS RUNNING IN SAP
SAP-TESTING, SAP-SECURITY, SAP-HCM,
SAP-CRM , SAP-XI, SAP NETVIEWER (JAVA)
3.PEOPLE:
1.TECHNICAL : SYSTEM : BIW: DATABASE
ADMIN
BC: BASIS :SYSTEM ADMIN
ABAP/CA: PROGRAMMING IN
SAP
WORKFLOW: CONTROLLING OF
JOBS
2.FUNCTIONAL: DOMAIN: SD,MM,HR,FI,CO,
TR,,
3.TECHNO-FUNCTIONAL : ABAP-CRM, ABAP-
ABAP: features
IT IS THE ONLY LANGUAGE USED IN THE SAP
IT IS A SEQUENTIAL LANGUAGE LIKE C, C++
IT IS A EVENT-DRIVEN LANGUAGE (EVENTS: FIRED
IN A PARTICULAR POSITION/PLACE)
IT IS NOT CASE-SENSITIVE LANGUAGE
IT USES TOP-DOWN APPROACH
R/3 ARCHITECTURE
PRESENTATION SERVER LAYER : SAP GUI :
SCREENS
/
APPLICATION SERVER LAYER : SAP
KERNAL (PROCESSING OF JOBS)
/
DATABASE SERVER LAYER : SAP
DATABASE : TABLES (RELATED)
PRES.SERVER LAYER---APPL.SERVER
LAYER----MESSAGE SERVER----DATABASE
SERVER
AUTHORIZATION
HIGH END SECURITY IS PROVIDED
IDES VERSION: DOES NOT IMPLEMENT
ANY SECURITY
ABAP BASICS
LANGUAGE CONSTRUCTIONS
1.COMMANDS:
2.COMMENTS:
* AT THE BEGINNING OF LINE BECOMES LINE
COMMENT
" PART OF LINE COMMENT EX: WRITE / 'HARI'.
"HARI IS GOOD
KEY BOARD SHORTCUTS
CNTRL + A : TO SELECT ALL THE LINES
CNTRL + < : TO COMMENT ALL THE LINES
CNTRL + > : TO UN-COMMENT ALL THE LINES
CNTRL + X : CUT
CNTRL + V : PASTE
CNTRL + C : COPY
LEARNING VERSION
SAP IDES ECC 6.0
ENTERPRISE CENTRAL COMPONENT
PROGRAM
Z______________________
Y______________________
LOG IN
client:
client : 800 (default) it is a 3
digit no.. it is a independent
sap environment
username: sapuser (basis)
password: welcome
lg: en (default language is
de)
continue
prompt: commands
/n to close the current
transaction
/o to create a new session
/i to terminate the session
/nex to close all the
sessions without prompt
/nse38 close the current
transaction and take to
abap editor
Output:
DATA TYPES
1.ELEMENTARY DATA TYPES 1.PRE-DEFINED DATA TYPES : N,C,I,P,F,X,D,T,STRING
2.USER-DEFINED DATA TYPES : TYPES (KEYWORD)
2.STRUCTURED DATA TYPES 1.PRE-DEFINED DATA TYPES: TABLES (KEYWORD)
2.USER-DEFINED DATA TYPE: INTERNAL TABLES
DATA OBJECTS : VARIABLES: THEY CHANGE THEIR VALUE DURING RUNTIME/EXECUTION TIME.
EX: A
A IS ONE CHARACTER BY DEFAULT.
DATA TYPE: WHAT TYPE OF DATA, DATA OBJECT IS GOING TO STORE IN IT IS KNOWN AS DATA
TYPE
A
I (INTEGER IS DATA TYPE)
DATA: KEYWORD TO DEFINE DATA OBJECTS
SYNTAX:
DATA <DATA OBJECT NAME> TYPE <PRE-DEFINED DATA TYPE>.
DATA: <DATA OBJECT NAME> LIKE <EXISTING DATA OBJECT>.
EX: DATA: A TYPE I.
DATA: B LIKE A.
EX: DATA: CNO LIKE KNA1-KUNNR.
KNA1: CUSTOMER TABLE, KUNNR : CUSTOMER NUMBER
CONSTANTS: HAS FIXED VALUE
EX: CONSTANTS : A = 20.
Prog: 2/move
1.
*n,c data types
data : numb(4) type n,
name(30) type c.
name(30) type c.
numb = '1000'.
name = 'ravi krishna'.
b type i,
c type i.
a = 60.
b = 70.
c = a + b.
write:/ c.
parameters : is a
keyword to give input
values at the runtime
*prg using i data type
parameters: a type i,
b type i.
data: c type i.
c = a + b.
write:/ c.
den type p
decimals 2 value
'1.11',
res type p
decimals 14
write:/ res.
"it gives quantant
write:/ res.
"it gives reminder
3.STRUCTURE DATA
OBJECTS
OBJECTS IN
RELATIONSHIP ARE
KNOWN AS STRUCTURE
DATA OBJECTS
CUST
{CNO,CNAME,CITY,PIN}
SYNTAX:
DATA: BEGIN OF
<STRUCTURE DATA
OBJECT NAME>,
<FIELDS>,
END OF
<STRUCTURE DATA
OBJECT NAME>.
no(4) type n,
name(30) type c,
city(30) type c,
end of str1.
data: cust like str1.
data: vend like cust.
str1-no = '1000'.
str1-name = 'raj'.
str1-city = 'hyd'.
write:/5 str1-no, 10 str1-name, 20 str1-city.
uline.
cust-no = '2000'.
cust-name = 'ravi'.
cust-city = 'chennai'.
write:/5 cust-no, 10 cust-name, 20 cust-city.
uline.
vend-no = '3000'.
vend-name = 'hari'.
vend-city = 'delhi'.
write:/5 vend-no, 10 vend-name, 20 vend-city.
uline.
types:beginofzsan_vend,
vno(4)typen,
vname(30)typec,
endofzsan_vend
Save>check>activate
Se11>type
group>zsan>create
emp-no = '1000'.
emp-name = 'raj'.
emp-city = 'hyd'.
write:/5 emp-no, 10 emp-name, 20 emp-city.
uline.
cust-cno = '2000'.
cust-cname = 'ravi'.
write:/5 cust-cno, 10 cust-cname.
uline.
vend-vno = '3000'.
vend-vname = 'hari'.
write:/5 vend-vno, 10 vend-vname.
uline.
save-check-activate-test
standard type-pool: SLIS (it is used in ALV REPORTING) SAP LIST VIEWER/ ABAP LIST
VIEWER
types: is a reserved word to define user-defined objects.
DATA TYPES: ELEMENTARY DATA TYPES 1.PRE-DEFINED
2.USER-DEFINED : TYPES (KEYWORD)
NAME(30) TYPE C.
NUMB = 1000.
NAME = 'RAVI'.
WRITE:/ NUMB, NAME.
CNAME TYPE B,
PIN TYPE C.
DATA: A(4) TYPE N, "CNO
A = '3000'.
B = 'HARI'.
C = '500035'.
WRITE:/ A, B, C.
LOOPS:
1.BRANCHING LOOPS
1.if...else...endif.
2.if...elseif...elseif...else...endi
f
3.case...endcase.
2.LOOPING LOOPS
1.do...enddo
2.while.endwhile
3.LOOP AT ITAB....ENDLOOP
(ONLY FOR INTERNAL
TABLES)
<STMT BLOCK>.
ELSE.
<STMT BLOCK>.
ENDIF.
*prg for if...else..endif
parameters: numb type i.
if numb > 0.
write:/ '+ve number entered'.
else.
write:/ '-ve number entered'.
endif
Se38>zsantanu1>create
Check results..
2.IF...ELSEIF...ELSEIF...ELSEIF...ELSE...ENDIF
SYNTAX: IF <CONDITION>.
<STMT BLOCK>.
ELSEIF <CONDITION>.
<STMT BLOCK>.
ELSEIF <CONDITION>.
<STMT BLOCK>.
...
ELSE.
<STMT BLOCK>.
ENDIF.
SUB2 TYPE I,
SUB3 TYPE I.
DATA: TOT TYPE I.
COMPUTE TOT = ( SUB1 + SUB2 + SUB3 ) / 3.
Se38>zsantanu1>change>
Write prog>save>check>act.
Next..
Case..endcase..
COMPUTE USES BODMAS
PRINCIPLE IN MATHS. IT
IS USED FOR FORMUALE
CALCULATION.
AND, OR
<= LE
>= GE
<> NE
= EQ
CASE...ENDCASE
CASE <F>.
WHEN <F1>.
<1ST STMT BLOCK>.
WHEN <F2>.
<2ND STMT BLOCK>.
WHEN <F3>.
<3RD STMT BLOCK>.
...
WHEN OTHERS.
<STMT BLOCK>.
ENDCASE.
CASE IS CASE-SENSITIVE.
Case..endcase..
*PRG FOR CASE...ENDCASE
PARAMETERS: WEEK TYPE I.
CASE WEEK.
WHEN 1.
WRITE:/ 'SUN'.
WHEN 2.
WRITE:/ 'MON'.
WHEN 3.
WRITE:/ 'TUE'.
WHEN 4.
WRITE:/ 'WED'.
WHEN 5.
WRITE:/ 'THU'.
WHEN 6.
WRITE:/ 'FRI'.
WHEN 7.
WRITE:/ 'SAT'.
WHEN OTHERS.
WRITE:/ 'NO WEEK DAY EXISTS'.
ENDCASE.
CASE(GIFT).
WHEN 'BIKE'.
WRITE:/ 'YOUR CHOICE IS SPLENDOR'.
WHEN 'GOLD'.
WRITE:/ 'YOUR CHOICE IS MALABAR GOLD'.
WHEN OTHERS.
WRITE:/ 'YOUR CHOICE IS', GIFT.
ENDCASE.
LOOPING LOOPS
DO...ENDDO.
SYNTAX: DO
<VALUE> TIMES.
<STMT
BLOCK>.
ENDDO.
*PRG
DO 5 TIMES.
WRITE:/
'SANTANU'.
ENDDO.
*PRG
DO 5 TIMES.
WRITE:/ SY-INDEX.
ENDDO.
RESULT:
1
2
3
4
5
/RESULT???:
*PRG
DO 5 TIMES.
IF SY-INDEX = 1.
WRITE:/ 'HARI'.
ELSEIF SY-INDEX = 2.
WRITE:/ 'LATA'.
ELSEIF SY-INDEX = 3.
WRITE:/ 'RAJU'.
ELSE.
WRITE:/ 'NO-NAME'.
ENDIF.
ENDDO.
RESULT:
HARI
LATA
RAJU
NO-NAME
NO-NAME
FAQ:
DO.
WRITE:/ 'RAJU'.
ENDDO.
SAVE/CHECK/ACTIVATE
IT GOES TO INFINITE LOOP. IT IS KNOWN AS RUN-TIME ERROR.
DO.
WRITE:/ 'RAJ'.
STOP.
ENDDO.
WRITE:/ 'HARI'.
RESULT: RAJ.
DO.
WRITE:/ 'RAJ'.
EXIT.
ENDDO.
WRITE:/ 'HARI'.
RESULT: RAJ
HARI
WHILE...ENDWHILE
SYNTAX: WHILE <CONDITION>.
<STMT BLOCK>.
CNT = CNT + 1.
ENDWHILE.
STRINGS
----------> left
abcdefghij
<---------- right
OPERATIONS:
1.SHIFT
2.STRLEN
= str4.
3.SEARCH str5
shift str5 up to str6.
write:/ str5.
"efghij
4.SPLIT
str5 = str4.
5.CONCATENATE
shift str5 up to str6 left. "efghi9j
write:/ str5.
6.MOVE
= str4.
7.REPLACE str5
shift str5 up to str6 right. "abcdef
write:/ str5.
8.TRANSLATE
9.OVERLAY str5 = str4.
shift str5 up to str6 circular. "efghijabcd
10.CONDENSE
write:/ str5.
WORD2(10) TYPE C,
LEN TYPE I.
LEN = STRLEN( WORD1 ).
WRITE:/ LEN.
"5
LEN = STRLEN( WORD2 ).
WRITE:/ LEN.
"0
LEN = STRLEN( WORD3 ).
WRITE:/ LEN.
"4
LEN TYPE I.
STR8 = STR7.
WRITE:/ STR8.
LEN = STRLEN( STR8 ).
WRITE:/ LEN.
"23
CONDENSE STR8.
WRITE:/ STR8.
"ONE TWO THREE FOUR
LEN = STRLEN( STR8 ).
WRITE:/ LEN.
"18
STR8 = STR7.
CONDENSE STR8 NO-GAPS.
WRITE:/ STR8.
"ONETWOTHREEFOUR
LEN = STRLEN( STR8 ).
WRITE:/ LEN.
"15
p1(10) type c,
p2(10) type c,
p3(10) type c,
p4(10) type c,
STR8(30) TYPE C.
CONCATENATE STR4 STR5 STSR6 STR7 INTO
STR8.
WRITE:/ STR8.
"TODAYISA
CONCATENATE STR4 STR5 STR6 STR7 INTO
STR8 SEPARATED BY SEP.
WRITE:/ STR8
MC2(10) TYPE C.
MOVE MC1 TO MC2 PERCENTAGE
30 LEFT.
WRITE:/ MC2.
MOVE MC1 TO MC2 PERCENTAGE
60 RIGHT.
WRITE:/ MC2.
STRINGS PART 2
replace : replace one string with other string
*prg for replace
data: str2(4) type c value 'cdef',
acegi
ABCDEFGHIJ
aBcDeFgHiJ overlay
str9 = str8.
replace '&' with '#' into str9.
write:/ str9.
str9 = str8.
translate str9 using '&#'.
write:/ str9.
*overlay
data: str7(10) type c value 'a c e g i ',
Overlay
Search..
search: to locate or find
the string
sy-subrc = 0 true/ yes
successful
sy-subrc = 4 false/ no unsuccessful
sy-fdpos = 13 at 13th
position it has located the
string
sy-fdpos = 0 search is
failure
11
10
0 0
Search..output..
ADVANTAGES:
MODULARIZATION
TECHNIQUES
1.INCLUDE
2.SUBROUTINES
3.FUNCTION MODULES
4.MACROS
1.MACROS
macros is abrreviation of code.
advantage: it can be called multiple times
in the same program.
it cannot be called from other programs
no debugging (tool that tells how system
executes the program result)
no nesting of loops is possible
no error handling is possible
syntax:
*macro example 1.
DEFINE SAMPLE.
WRITE:/ 'RAVI'.
END-OF-DEFINITION.
SAMPLE.
SAMPLE.
SAMPLE.
--------------------------------------------------------*MACRO ex 2:
1.DEFINE MACRO:
DEFINE <MACRO NAME>.
<STMT BLOCK>.
END-OF-DEFINITION.
DEFINE EXAMPLE.
WRITE:/ 'RAJ'.
END-OF-DEFINITION.
2.CALL A MACRO:
<MACRO NAME>.
DO 5 TIMES.
EXAMPLE.
ENDDO.
*MACRO
PARAMETERS: A TYPE I,
B TYPE I.
DATA: C TYPE I.
DEFINE ADDT.
C = A + B.
WRITE:/ C.
END-OF-DEFINITION.
ADDT.
*MACRO
PARAMETERS: A TYPE I,
B TYPE I.
DATA: C TYPE I.
DEFINE CALC.
C = &1 &2 &3.
WRITE:/ C.
END-OF-DEFINITION.
CALC
CALC
CALC
CALC
ULINE.
CALC : A + B, A - B, A / B, A * B.
ULINE.
CALC A: + B, - B , / B, * B.
ULINE.
A
A
A
A
+ B.
- B.
/ B.
* B.
CALL A SUBROUTINE
PERFORM <SUBROUTINE NAME>
[PARAMETERS].
1.INTERNAL SUBROUTINE: WE
DEFINE THE SUBROUTINE AND
CALL THE SUBROUTINE IN THE
SAME
EXECUTABLE PROGRAM IT IS
KNOWN INTERNAL SUBROUTINE.
2.EXTERNAL SUBROUTINES: WE
DEFINE THE SUBROUTINE IN
SUBROUTINE POOL.CALLING
SUBROUTINE
IS DONE IN ANY EXECUTABLE
PROGRAM. IT AVAILABLE TO
OTHER PROGRAMS.
FORMAL PARAMETERS:
PARAMETERS WHICH ARE DEFINED BY
FORM STATEMENT ARE KNOWN AS
FORMAL PARAMETERS
ACTUAL PARAMETERS:
THE PARAMETERS THAT ARE DEFINED BY
PERFORM STATEMENT ARE KNOWN AS
ACTUAL PARAMETES.
NOTE: FORMAL PARAMETERS OCCUPY A
DIFFERENT MEMORY LOCATION AND
ACTUAL PARAMETERS
OCCUPY A DIFFERENT MEMORY
LOCATION.
note: subroutines are defined at the end
of the program
b type i.
data: c type i.
perform addt using a b c.
form addt using a b c.
c = a + b.
write:/ c.
endform.
Internal subroutine
*PRG FOR INTERNAL
SUBROUTINE
parameters: a type i,
b type i.
data: c type i.
perform addt using a b c.
form addt using x y z.
z = x + y.
write:/ z.
endform.
Se38>zsantanu1>cha
nge
1.by value
*prg for by value (internal subroutine)
DATA: A TYPE I VALUE '20'.
WRITE:/ 'BEFORE CALLING SUBROUTINE VALUE OF A IS',
A.
PERFORM SUBA USING A.
WRITE:/ 'AFTER CALLING SUBROUTINE VALUE OF A IS', A.
FORM SUBA USING VALUE(P_A).
P_A = 15.
WRITE:/ 'IN THE SUBROUTINE VALUE OF A IS', A.
ENDFORM.
==================================
===========
RESULT:
BCSUB
INSUBR AFTSUBR
20
20
20
BY VALUE: THE VALUE REMAINS UNCHANGED FOR ALL
THE SUBROUTINES
2.by reference
*prg for by REFERENCE (internal subroutine)
DATA: A TYPE I VALUE '20'.
WRITE:/ 'BEFORE CALLING SUBROUTINE VALUE OF A IS',
A.
PERFORM SUBA USING A.
WRITE:/ 'AFTER CALLING SUBROUTINE VALUE OF A IS', A.
INSUBR AFTSUBR
20
15
external
subroutine
Save-check-activate the
following..
MODULES
ADVANTAGES:
Creation of package
package is a transportable object.
it contains programs, function group, screens, tables, views,
structures, sub-packages etc.,,
go to t-code se80: object navigator
IT IS A GLOBAL OBJECT.
IT IS CLIENT DEPENDENT BY
DEFAULT .
IT CAN BE CALLED FROM ANY
PROGRAM.
IT CAN BE CALLED MULTIPLE
TIMES IN THE SAME PROGRAM.
ERROR HANDLING IS
POSSIBLE.
DEBUGGING IS ALSO
POSSIBLE.
NESTING OF LOOPS IS
POSSIBLE.
BUSSINESS LOGIC IS WRITTEN
IN FUNCTION MODULE ITSELF.
12,000 PRE-DEFINED
FUNCTION MODULES ARE
AVAILABLE TO THE USERS IN
THE PROGRAMS.
Se80>select
package..zsantanu1>press enter..
CREATION OF
FUNCTION MODULE
FUNCTION GROUP: ALL THE
RELATED FUNCTION MODULES
ARE PLACED IN ONE FUNCTION
GROUP.
FUNCTION GROUP SAVE AS
PACKAGE WILL BECOME
TRANSPORTABLE
FUNCTION GROUP SAVE AS
LOCAL OBJECT IT WILL BECOME
NON-TRANSPORTABLE.
FUNCTION MODULE IS
ALLWAYS ATTACHED TO A
FUNCTION GROUP
save as zsantanu1package
if a = 0 and b = 0.
raise allz.
else.
c = a + b.
write:/ c.
endif.
save-check-activate-test
Se37>function
builder>zshanfmadd1>create
y type i.
data: z type i.
Contd.
save-check-activate
Se38>zshancalladdfm1
Put A= x
B= y, C= z..save check act.-test.
INCLUDE PROGRAM
include program: it can be called from executable
program
it cannot be called multiple times in the same
program
include program cannot run standalone.
step1: create include program (se38: abap editor)
program: zshaninclude create
title: include program
type: include program
tables: kna1. "customer table
select-options: cno for kna1-kunnr. "to give range
at runtime
select * from kna1 where kunnr in cno.
step 2: go to se38:
abap editor
program: zshancallinclude
create
title; calling program for
include
type: executable program
REPORT ZSHANCALLINCLUDE.
INCLUDE ZSHANINCLUDE.
WRITE:/ KNA1-KUNNR, 20
KNA1-NAME1, 50 KNA1-LAND1.
ENDSELECT.
SAVE THE PROGRAM
STEP 3: GO TO
ZSHANINCLUDE PROGRAM
SAVE-CHECK-ACTIVATE
===============
=========
STEP 4: GO TO
ZSHANCALLINCLUDE
PROGRAM CHANGE
SAVE-CHECK-ACTIVATETEST
tables
TABLES IS A KEYWORD TO ACCESS ANY
DATABASE TABLE.
KNA1: CUSTOMER INFORMATION
ENDSELECT.
SKIP 4.
ULINE.
Se38>zsantables>executable
prog>save as local object.
Se38>Zsantables>change
TABLES: KNA1.
SELECT-OPTIONS: CNO FOR KNA1-KUNNR.
SELECT * FROM KNA1 INTO KNA1 WHERE
KUNNR IN CNO.
ENDSELECT.
SKIP 4.
ULINE.
WRITE:/ 'NO OF RECORDS FETCHED', SY-DBCNT.
ULINE.
TABLES: KNA1.
DATA: BEGIN OF CUST,
END OF CUST.
ENDSELECT.
SKIP 4.
ULINE.
WRITE:/ 'NO OF RECORDS FETCHED', SY-DBCNT.
ULINE.
Tables contd..
*prg using radio buttons
TABLES: KNA1, LFA1.
PARAMETERS: CUSTOMER RADIOBUTTON GROUP
GRP,
VENDOR as checkbox.
Internal tables
Definition: it is a temporary
table created during
runtime/execution time of
the program.
zemp
eno ename sal
1
a 9000
2
b 8000
3
c 7000
body
1
a 9000
2
b 8000
work area is to be
created for this syntax
x type i,
y type i,
end of itab.
do 5 times.
itab-x = sy-index.
itab-y = itab-x * 2.
append itab.
enddo.
loop at itab.
write:/ itab-x, itab-y.
endloop.
end of tab.
data: itab like tab occurs 0 with
header line. "tab acts like work area
loop at itab.
write:/ itab-dno, itab-name, itabcity.
endloop.
Contd..
2.DATA : BEGIN OF ITAB 0CCURS 0,
END OF ITAB.
ITAB HAS SFLIGHT STRUCTURE.
OCCURS 0 CREATES TABLES SPACE FOR THE
INTERNAL TABLE
ITAB HAS HEADER LINE.
3. DATA: BEGIN OF ITAB OCCURS 0,
END OF ITAB.
ITAB HAS SFLIGHT STRUCTURE BUT ONLY 3
FIELDS FROM SFLIGHT IN ITAB.
ITAB HAS HEADER LINE.
ID LIKE SCUSTOM-ID,
END OF ITAB.
ITAB HAS SFLIGHT, SBOOK,
SCUSTOM TABLES INFORMATION, 3
TABLES INFORMATION IN ITAB.
ITAB HAS HEADER LINE.
Contd..
2.POPULATION OF INTERNAL TABLES (ADDING RECORDS :
APPEND)
1.ITAB-DNO = 1.
ITAB-NAME = 'A'.
ITAB-CITY = 'HYD'.
APPEND ITAB.
ITAB-DNO = 2.
ITAB-NAME = 'B'.
ITAB-CITY = 'CHENNAI'.
APPEND ITAB.
2.DO 5 TIMES.
ITAB-DNO = SY-INDEX.
ITAB-NAME = 'RAJ'.
ITAB-CITY = 'HYD'.
APPEND ITAB.
ENDDO.
RESULT:
1 RAJ HYD
2 RAJ HYD
3 RAJ HYD
4 RAJ HYD
5 RAJ HYD
SFLIGHT
CARRID
CONNID
FLDATE
ITAB
CARRID
CONNID
FLDATE
2.LOOP AT ITAB.
(IT WILL DISPLAY ALL THE
RECORDS)
WRITE:/ ITAB-DNO, ITAB-NAME, ITAB-CITY.
ENDLOOP.
ITAB
CARRID
DH
DH
LH...READ
LH READ
LH READ
3.MODIFY
ITAB-CARRID = 'DH'.
MODIFY TABLE ITAB WITH
INDEX 3.
ITAB
CARRID
DH
LH
DH...THIS RECORD IS
MODIFIED.
DH
LH
5.SORTING OF INTERNAL
TABLES
1.SORT ITAB. {IT IS USED
ONLY FOR NON-NUMERIC
SORTING CNAME, CITY}
<STMT BLOCK>.
ENDAT.
*CALCULATE GROSS TOTALS
4.AT LAST.
<STMT BLOCK>.
ENDAT.
*CALCULATE NET TOTALS
itab-name = 'raj'.
itab-sales = '53000.00'.
append itab sorted by sales.
itab-name = 'hari'.
itab-sales = '22000.00'.
append itab sorted by sales.
itab-name = 'jack'.
itab-sales = '41000.00'.
itab-name = 'lata'.
itab-sales = '20000.00'.
append itab sorted by sales.
itab-name = 'harish'.
itab-sales = '61000.00'.
loop at itab.
endloop.
Se38>zsantables>create>prog using
internal tables>save as local object.
date type d,
name(10) type c,
end of itab.
itab-date = '20130924'.
itab-name = 'AAA'.
itab-psales = '12000.45'.
collect itab.
itab-date = '20130924'.
itab-name = 'BBB'.
ITAB-PSALES = '8200.00'.
COLLECT ITAB.
itab-date = '20130924'.
itab-name = 'AAA'.
ITAB-PSALES = '8200.00'.
COLLECT ITAB.
itab-date = '20130924'.
itab-name = 'BBB'.
ITAB-PSALES = '4200.00'.
COLLECT ITAB.
itab-date = '20130924'.
itab-name = 'AAA'.
ITAB-PSALES = '3200.00'.
COLLECT ITAB.
LOOP AT ITAB.
WRITE:/ ITAB-DATE, ITAB-NAME, ITABPSALES, ITAB-NSALES.
ENDLOOP.
DO 3 TIMES.
TND = SY-INDEX.
*
*
*
*
*
*
*
*
*
*
**
WITH
*
*
*
DO 3 TIMES.
ITAB-IND = TND * SY-INDEX.
APPEND ITAB.
ENDDO.
WRITE : / ' '.
LOOP AT ITAB.
WRITE ITAB-IND.
ENDLOOP.
REFRESH ITAB. ''CHECK HERE WITH REFRESH AND
OUT REFRESH
ENDDO.
FREE ITAB.
REPORTZSANINTTABLES.
*REFRESH,FREEITAB
DATA:BEGINOFITABOCCURS3,
INDLIKESY-INDEX,
ENDOFITAB,
TNDLIKESY-INDEX.
DO3TIMES.
TND=SY-INDEX.
DO3TIMES.
ITAB-IND=TND*SY-INDEX.
APPENDITAB.
ENDDO.
WRITE:/''.
LOOPATITAB.
WRITEITAB-IND.
ENDLOOP.
"CHECKHEREWITHREFRESHANDWITHOUTREFRESH
ENDDO.
FREEITAB.
Do..end do..
REPORTZSANINTT
ABLES.
do5times.
write:/'raj'.
do3times.
write:/'hari'.
enddo.
enddo.
VBAK
KUNNR SALES
2
1000
4
8000
KUNNR = ITAB-KUNNR
INNER JOIN
KUNNR NAME SALES
2
B
1000
4
D
8000
end of itab.
select-options: cno for kna1-kunnr. "to give range at runtime of the program
*nested select logic
SELECT * FROM KNA1 INTO CORRESPONDING FIELDS OF ITAB WHERE KUNNR IN CNO.
SELECT * FROM VBAK INTO CORRESPONDING FIELDS OF ITAB WHERE KUNNR = ITABKUNNR.
APPEND ITAB.
ENDSELECT.
ENDSELECT.
LOOP AT ITAB.
**
*LOOP AT ITAB.
**control break events used for formatting report
*AT FIRST. "IT IS USED TO DISPLAY COL HEADINGS
* WRITE:/ 'CUSTOMER NO', 20 'CUSTOMER NAME', 50 'COUNTRY', 60
'SALES DOC NO', 80 'DOC TYPE', 95 'NET SALES'.
* ULINE.
*ENDAT.
*
*AT NEW KUNNR. "REPITITION IS AVOIDED WITH AT NEW FIELD NAME
* WRITE:/ ITAB-KUNNR.
*ENDAT.
*
*AT NEW NAME1.
* WRITE:/20 ITAB-NAME1.
*ENDAT.
*
*AT END OF KUNNR. "CALCULATE GROSS TOTAL
* SUM.
* ULINE.
* WRITE:/80 'GROSS TOTAL:', 95 ITAB-NETWR.
* ULINE.
* ENDAT.
*
*WRITE:/40 ITAB-LAND1, 60 ITAB-VBELN, 75 ITAB-VBTYP, 90 ITABNETWR.
*
*AT LAST. "CALCULATE NET TOTAL
* SUM.
* ULINE.
* WRITE:/80 'NET TOTAL:', 95 ITAB-NETWR.
* ULINE.
* ENDAT.
* ENDLOOP.
JOINS PROGRAM
JOINS ARE TWO TYPES
1.INNER JOIN : CONTAIN THE COMMON FIELD ENTRY THAT IS PRESENT
IN BOTH THE TABLES THEN IT IS REPRESENTED IN INNER JOIN
2.LEFT OUTER JOIN : CONTAIN THE COMMON FIELD ENTRY IN EITHER
OF THE TABLES THEN IT IS REPRESENTED IN LEFT OUTER JOIN.
ZEMP
ENO ENAME DEPTNO SAL
1
A
10
9000
2
B
20
8000
3
C
30
7000
ZDEPT
DEPTNO DNAME
10
IT
20
SALES
30
PURCH
40
FINANCE
50
HR
INNER JOIN
ENO ENAME DEPTNO DNAME SAL
1
A
10 IT 9000
2
B
20 SALES 8000
3
C
30 PURCH 7000
ENO
1
2
3
-
INNER JOIN
ENO ENAME DEPTNO DNAME SAL
1
A
10 IT 9000
2
B
20 SALES 8000
3
C
30 PURCH 7000
ENO
1
2
3
-
Se38>zshanjoins>create
end of itab.
select-options: cno for kna1-kunnr. "to give range at runtime of the program
*INNER JOIN LOGIC
SELECT P~KUNNR P~NAME1 P~LAND1 K~VBELN K~VBTYP K~NETWR INTO CORRESPONDING FIELDS OF TABLE ITAB FROM KNA1 AS
P INNER JOIN VBAK AS K ON P~KUNNR = K~KUNNR WHERE P~KUNNR IN CNO.
LOOP AT ITAB.
*control break events used for formatting report
AT FIRST. "IT IS USED TO DISPLAY COL HEADINGS
WRITE:/ 'CUSTOMER NO', 20 'CUSTOMER NAME', 50 'COUNTRY', 60 'SALES DOC NO', 80 'DOC TYPE', 95 'NET SALES'.
ULINE.
ENDAT.
REPORT ZSHANJOINS.
END OF WA.
DATA: ITAB LIKE SORTED TABLE OF WA WITH
NON-UNIQUE KEY CARRID.
*
SELECT S~CARRID S~CARRNAME P~CONNID
INTO CORRESPONDING FIELDS OF TABLE
ITAB
FROM SCARR AS S
DATA DICTIONARY
1.TABLES 1.TRANSPARENT TABLES
2.POOLED TABLES
3.CLUSTER TABLES
4.INTERNAL TABLES
2.VIEWS 1.PROJECTION VIEW
2.DATABASE VIEW
3.MAITENANCE VIEW
4.HELP VIEW
3.STRUCTURES 1.INCLUDE STRUCTURE 2.APPEND
STRUCTURE
4.SEARCH HELP 1.ELEMENTARY SEARCH HELP
2.COLLECTIVE SEARCH HELP
5.LOCK OBJECTS
PRIMARY KEY, FOREIGN KEY, CARDINALITY, DELIVERY
CLASS, DATA CLASS,
CHECK TABLE, VALUE TABLE, BUFFERRING , TYPES
OF BUFFERING,
INDEX, TYPES OF INDICES
TRANSPARENT TABLES
DEF: THEY EXIST WITH THE SAME STRUCTURE
AND DATA IN BOTH DATA DICTIONARY
AND DATABASE
DATA DICTIONARY(GUI)-------------------SAPDATABASE
TT1
TT1
STRU+DATA
STRU+DATA
SAVE-CHECK
ACTIVATE
(COMMIT)
CREATION OF TRANSPARENT TABLE IS DONE IN
TWO WAYS
1.DATA ELEMENT WAY (RELATIONSHIP WITH THE
OTHER TABLES IS CREATED)
2.PRE-DEFINED TYPE (NO RELATION WITH OTHER
TABLES IN DATABASE)
STEP
STEP
STEP
STEP
STEP
1:
2:
3:
4:
5:
CREATE
CREATE
CREATE
CREATE
CREATE
DOMAIN
DATA ELEMENTS
FIELDS
TECH.SETTINGS
TABLE
SPECIFICATION:
DATABASE TABLE:
ZEMPSAN
FIELDS
DOMAINS
DATAELEMENTS (FIELD LABEL)
ENO
PK UK ZDOENOSAN NUMC 4
ZDEENOSAN
ENO, EMP NO, EMPLOYEE NO, EMPLOYEE
NUMBER
ENAME
ZDOENAMESAN CHAR 30
ZDEENAMESAN
ENAME, EMP NAME, EMPLOYEE NAME
DEPTNO
ZDODEPTNOSAN NUMC 3
ZDEDEPTNOSAN DEPTNO, DEPTNO, DEPARTMENT NO
SAL
ZDOSALSAN DEC 8 2
ZDESALSAN
SAL, SAL, SALARY
DATABASE TABLE
ZDEPTSAN
FIELDS
DEPTNO PK UK ZDODEPTNOSAN NUMC 3
ZDEDEPTNOSAN DEPTNO, DEPTNO, DEPARTMENT NO
DNAME
ZDODNAME
CHAR 30
ZDEDNAMESAN
DNAME, DEPTNAME, DEPARTMENT NAME
Se11>zdoenosan>employe
e no
Dept no
Employee salary
SELECT THE
OPTION DATA
TYPE:
ZDEENOSAN
CREATE
SELECT DATA
ELEMENT
CONTINUE
SHORT DESC:
EMPLOYEE
NUMBER
DOMAIN:
ZDOENOSAN1
Contd..
Dept no
Salary..
Afer this,
click on fields tab
short desc: employee table
delivery class: a application
table
delivery class specifies what
type of table is created in
database
ex: application table, system
table, customizing table,
temporary table etc
Contd..fields add
fields
data elements
eno pk uk zdeenosan
ename
zdeenamesan
deptno
zdedeptnosan
sal
zdesalsan
SAVE AS CLIENT SPECIFIC
TABLE CONTINUE
STEP 4: CLICK ON
TECHNICAL SETTINGS
BUTTON
DATA CLASS: SPECIFY WHAT TYPE OF DATA IS CREATED IN
THE TABLE
APPL0 : MASTER DATA : RARELY CHANGED DATA IS MASTER
DATA
APPL1: TRANSACTION DATA: FREQUENTLY DATA IS CHANGED
SYSTEM DATA: SYSTEM PURPOSE
ORGANIZATIONAL DATA: ORGANIZATION PURPOSE
SIZE : 0 (0-7600)
STEP 5: CREATE
TABLE
SAVE-CHECK-ACTIVATE
(TO AVOID WARNING
ENHANCEMENT CATEGORY IS
MISSING
EXTRAS - ENHANCEMENT
CATEGORY - CONTINUE
SELECT OPTION : CAN BE
ENHANCED DEEP COPY
SAVE-CHECK-ACTIVATE
DATABASE TABLE
ZDEPTSAN1
FIELDS
LEVEL
DEPTNO PK UK
ZDODEPTNOSAN1 NUMC 3
DEPTNO, DEPARTMENT NO
DNAME
ZDODNAME1
CHAR 30
DEPTNAME, DEPARTMENT NAME
DOMAINS
DEPTNO,
ZDEDNAMESAN1
DNAME,
step-6
CREATE RELATIONSHIP
BETWEEN TABLES
GO TO ZEMPSAN1 TABLE
PLACE THE CURSOR ON
DEPTNO FIELD
CLICK ON FOREIGN KEYS
BUTTON
SHORT TEXT: FKEY
CHECK TABLE:
ZDEPTSAN1(CONNECTIN
G TABLE TO CURRENT
TABLE)
CLICK ON GENERATE
PROPOSAL BUTTON
CLICK ON COPY
SAVE-CHECK-ACTIVATE
step-7
1.CREATE RECORDS TO
THE TABLE zdeptsan1
UTILITIES - TABLE CONTENTS CREATE ENTRIES
2.TO DISPLAY RECORDS
CLICK ON CONTENTS BUTTON
OR) UTILITIES - TABLE
CONTENTS - DISPLAY
3.UPDATE RECORDS
SELECT RECORD AND CLICK
ON UPDATE
4.DELETE RECORDS
SELECT RECORD CLICK ON
TABLE ENTRY - DELETE
CONFIRM DELET
Go to zemsan1
table :
utilities>create
entries
Execute>
structures
structures contains field
information that is used in
several tranparent tables
str1{name, city,pin}
tt1
tt2
tt3
include str1 include str1
include str1
advantage: same fields are
available in several transparent
tables
it will maintain integrity of
database tables.
click on tech.settings
data class: appl0 : master data
: rarely changed data
size: 0
save the tech.settings
press back
go to extras - enhancement
category
select (can be enhanced deep)
copy
save-check-activate
step 2: create
include structure
data element
zshanstr
3.creation of
append structure
go to se11: data dictionary
database table: zshancust change
click on append structure button
save..yes
client specific table continue
no append structure is defined continue
append name: zshenappnd continue
short desc: my append structure
component click on pre-defined type
button
faxno
numc 10
fax number
addr
char 60
address
go to extras - enhancement category
can be enhanced deep copy
save-check-activate
Append and
include..conclude..
faq: what is the difference between
append structure and include
structure
include structure is available to
several transparent tables
when as append structure is availble
only to current transparent table
data dictionary
search help, lock objects
Se11> ZdeptnoSANESHLP1
on
on
on
on
paramater assignments
yes
proposal
copy
save-check-activate
Execute>collective search..
LOCK OBJECTS: SIMULTANEOUSLY MORE THEN ONE USER WANTS TO ACCESS THE SAME
INFORMATION .AT THE SAME POINT OF TIME ONLY ONE USER IS GIVEN ACCESS AND
OTHER USERS ARE LOCKED WITH THE HELP OF LOCK OBJECTS
THERE ARE 3 TYPES OF LOCK MODES
INSERT
ALLOWED
ez_____________________
2.cumulative lock: does not allow the current
operation to any other users.it will lock the
the abap program we invoke
operation currently performed
the lock objects using function by the user
modules
ENQUEUE_<LOCK OBJECT
NAME> : TO INVOKE THE
LOCK OBJECT
DEQUEUE_<LOCK OBJECT
NAME> : TO RELEASE THE
locked
be LOCKED
locked
locked
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SYMSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SYMSGV3 SY-MSGV4.
ENDIF.
projection view:
Views:
views are used to display data from
multiple tables
it is created for read-only purpose (display)
4 types of views
1.projection view: single table
selected fields are displayed
==================================
===================
go to t-code se11: data dictionary
select option view: zsanprjv create
select option : projection view
click on copy
short desc: my projection view
basis table: sflight
click on table fields button
select fields: carrid, connid, fldate, price and click on
copy
save-check-activate
click on contents button to view the contents
Click on contents
execute
database view
tables
kna1
vbak
place the cursor on vbak and
click on relationships button
save-check-activate
click on contents to view the contents
result
maitenance view
maitenance view requires maintenance modules
that is table maintenance. it is done by database
administrators
example maitenance view
help view : requires help processor then only it will
display help information
help view h_z____
h_z_____
REPORTING:
DATA IN A PRESENTABLE
FORM IS KNOWN AS
REPORT.
TYPES OF REPORTS
1.CLASSICAL REPORT
2.INTERACTIVE REPORT
1.CLASSICAL REPORT:
IT IS CONSIDERED AS DRAFT(NOT
FORMATTED).
IT DISPLAYS DATA FROM MULTIPLE
TABLES.
2.LIST-PROCESSING EVENTS:
1.TOP-OF-PAGE
EVENTS:
1.STANDARD EVENTS:
1.INITIALIZATION: IT IS USED
TO GIVE DEFAULT VALUES/
INITIAL VALUES TO THE
REPORT.
2.AT SELECTION-SCREEN.
EX: TOP-OF-PAGE.
WRITE:/ 'ABC COMPANY LIMITED' COLOR 4.
ULINE.
WRITE:/ 'CUSTOMER WISE SALES REPORT' COLOR 4.
ULINE.
4.START-OF-SELECTION. :
START OF THE BUSSINES LOGIC
5.END-OF-SELECTION : TO END
THE BUSSINES LOGIC
EX: END-OF-PAGE.
WRITE:/ 'PAGE-NO : ', SY-PAGNO.
3.AT SELECTION-SCREEN ON
<FIELD NAME> : ARE USED
FOR WRITING VALIDATIONS
FOR THE REPORT.
Definitions..
LINE-COUNT 25(4) : LINE COUNT IS
GOING TO SPECIFY THE NUMBER
OF LINES USED IN THE REPORT
IT DISPLAYS 25 LINES OUT OF
WHICH 4 LINES ARE RESERVED FOR
FOOTER INFORMATION
LINE-SIZE 120: IT DISPLAYS NO.OF
CHARACTERS PER LINE OF THE
REPORT, INCLUDING SPACES. (270
PER SCREEN)
3.CONTROL BREAK EVENTS (LOOP
AT ITAB...ENDLOOP)
THERE ARE 4 CONTROL BREAK
STATEMENTS
1.AT FIRST.
<STMT BLOCK>.
ENDAT.
IT WILL DISPLAY COL.HEADINGS
<STMT BLOCK>.
ENDAT.
IT IS USED TO AVOID REPITION OF SAME
FIELD NAME FOR EVERY RECORD IN THE
REPORT
3.AT END OF <FIELD NAME>.
<STMT BLOCK>.
ENDAT.
IT IS USED TO DISPLAY GROSS TOTALS
4.AT LAST.
<STMT BLOCK>.
ENDAT.
IT IS USED TO DISPLAY GRAND TOTALS
Se38>zsanclassical
2.DRILL-DOWN
REPORT
INTERACTIVE
REPORT
WE ARE INTERACTING WITH RUN-TIME
VALUES IN THIS REPORT.
THE FIRST REPORT GENERATED IS KNOWN
AS BASIC LIST.
THE SECOND REPORT GENERATED FROM
BASIC LIST IS KNOWN AS SECONDARY LIST
NO 1.
IT WILL DISPLAY INTERACTIVELY IN DRILLDOWN MANNER UPTO MAX SECONDARY
LIST NO 20.
HIDE <FIELD NAME>. IT IS PASSING THE INPUT VALUE TO THE NEXT REPORT IN
THE INTERACTIVE REPORT.
================================================
===
EVENTS:
AT LINE-SELECTION : IT IS EXECUTED WHEN USER CLICK ON ANY LINE OF THE
REPORT.
AT PF<KEY> : AT THE PRESS OF FUNCTION KEY IT WILL EXECUTE THIS EVENT
AT USER-COMMAND : WHEN USER GIVES A COMMAND IN THE COMMAND
PROMPT.
================================================
================
AT LINE-SELECTION: USER WANTS TO CLICK ON THE LINE OF THE REPORT
*interactive report using AT LINE-SELECTION
WRITE:/ 'WE ARE IN BASIC LIST', SY-LSIND.
START-OF-SELECTION.
AT LINE-SELECTION.
....
END-OF-SELECTION.
====================================================
============
IF SY-LSIND = 1.
WRITE:/ 'WE ARE IN SECONDAR LIST NO 1'.
ELSEIF SY-LSIND = 2.
WRITE:/ 'WE ARE IN SECONDARY LIST NO 2'.
ELSEIF SY-LSIND = 20.
SY-LSIND = 0.
ELSE.
WRITE:/ 'WE ARE IN SECONDARY LIST NO:',
SY-LSIND.
ENDIF.
END-OF-SELECTION.
AT LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
WRITE:/ 'WE ARE IN SECONDAR LIST NO 1'.
WHEN 2.
WRITE:/ 'WE ARE IN SECONDARY LIST NO 2'.
WHEN 20.
SY-LSIND = 0.
WHEN OTHERS.
WRITE:/ 'WE ARE IN SECONDARY LIST NO:',
SY-LSIND.
ENDCASE.
END-OF-SELECTION.
ULINE.
HIDE EKKO-EBELN.
ENDSELECT.
WHEN 2.
WRITE:/ 'ITEM DETAILS INFORMATION' COLOR
6.
ULINE.
SELECT * FROM EKPO WHERE EBELN =
EKKO-EBELN.
WRITE:/ EKPO-EBELP, 30 EKPO-MATNR.
ENDSELECT.
AT LINE-SELECTION.
CASE SY-LSIND.
ENDCASE.
END-OF-SELECTIO
WHEN 1.
AT PF6.
WRITE:/ 'VENDOR INFORMATION' COLOR 5.
ULINE.
SELECT * FROM LFA1.
WRITE:/ MARA-MATNR.
ENDSELECT.
AT PF13.
LEAVE PROGRAM.
END-OF-SELECTION.
AT USER-COMMAND: USER
WANTS TO EXECUTE THE
COMMAND IN COMMAND
PROMPT
AT USER-COMMAND: USER WANTS
TO EXECUTE THE COMMAND IN
COMMAND PROMPT
SY-UCOMM: SYSTEM USER COMMAND
IS A VARIABLE USED TO CAPTURE
THE COMMAND GIVEN BY THE USER.
*at USER-COMMAND AT THE
COMMAND PROMPT
TABLES: KNA1, LFA1, MARA.
WRITE:/ 'C01: CUSTOMER INFO, V01 :
VENDOR INFO, M01: MATERIAL INFO,
EXI: EXIT'.
START-OF-SELECTION.
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'C01'.
WRITE:/ 'CUSTOMER INFORMATION' COLOR 4.
ULINE.
SELECT * FROM KNA1.
WRITE:/ MARA-MATNR.
ENDSELECT.
WHEN 'EXI'.
LEAVE PROGRAM.
WHEN OTHERS.
WRITE:/ 'INVALID COMMAND EXECUTED'.
ENDCASE.
END-OF-SELECTION.
C01>enter
go to t-code se41
program : ZSANINTERACTIVE
status: menu1 create
short text : my menu continue
1.menu bar :
click on (+) icon
display standards
san menu1
san menu2
san menu3
d.clic
code text
code
text
code
text
C01 CUSTOMER INFO V01 VENDOR INFO
M01 MATERIAL INFO
EXI EXIT
CLOSE THE MENU BAR (-)
1.menu bar :
click on (+) icon
display standards
san menu1
san menu2
san menu3
d.clic
code text
code
text
code text
C01 CUSTOMER INFO V01 VENDOR INFO
M01 MATERIAL INFO
EXI EXIT
V01
F7
M01
EXI
F9 (D.CLICK ATTACH FUNCTION KEYS)
Same result
T-CODE :
3.SAP QUARY
REPORT
STEP1: GO TO T-CODE
SQ03: TO CREATE
USER GROUP
INFOSET CONTAINS
INFORMATION TO BE
DISPLAYED IN THE REPORT
INFOSET: ZSHEFINFSET
CREATE
NAME: MY INFOSET
SELECT OPTION : TABLE JOIN
USING BASIS TABLE : LFA1
CLICK ON CONTINUE
CLICK ON INSERT TABLE
BUTTON
CLICK ON ASSIGN INFOSET BUTTON>GO TO LAST PAGE> CHECK THE INFOSET : ZSHEFINFSET>SAVE >PRESS BACK
SAVE
PRESS BACK
CLICK ON SAVE
CLICK ON CONTINUE
CLICK ON EXECUTE
STEP 4: GO TO T-CODE
SQ01: TO CREATE
QUARY REPORT
CLICK ON SAVE
>
CLICK ON EXECUTE
CLICK ON CONTINUE
Assignment..
CREATE A SAP QUARY REPORT
USING TABLES
KNA1: CUSTOMER TABLE
KUNNR ,NAME1, LAND1 , ORT01
VBAK: SALES TABLES
VBELN, VBTYP, NETWR, KUNNR
VBAP : ITEM TABLE
POSNR , MATNR, VBELN
4.LOGICAL
DATABASE REPORT
(LDB)
t-code se36
logical database is used to reduce
the seek time of database.
it is faster access when compared
to direct access of tables.
step1 : creation of ldb
go to t-code se36; logical
database
logical database: zshefldb create
short text: myldb
click on create
save as local object
step 2: click on
selections button (to
create select-options)
click on yes
check all the tables for free
selections
lfa1, ekko , ekpo
check all the tables for field
selection
lfa1, ekko, ekpo
click on transfer
go to t-code se36
step 3: creating
quaries for the ldb
include DBZSHEFLDBN003
. " Node EKPO
d.click on it
select * from ekpo where ebeln = ekkoebeln.
* SELECT (EKPO_FIELDS-FIELDS) INTO
CORRESPONDING FIELDS OF
*
EKPO / TABLE ? " (choose one of them)
*
FROM EKPO
* WHERE EBELN = EKKO-EBELN
*
AND EBELP = ?
*
AND (EKPO_WHERE-WHERE_TAB) ORDER
BY PRIMARY KEY.
PUT EKPO.
ENDSELECT. "uncomment
save-check-activate
press back
press back
save-check-activate
press back
save-check-activate
save the ldb