ای ار پی های از دو جنبه تکنیکال و فانکشنال قابل بررسی و کار هستند ، ، یک متخصص فانکشنال خوب بودن راهی جز اشنایی با جنبه های تکنیکال ای ار پی نخواهد داشت ، این یک فرضیه نیست به تجربه با آن رسیده اند و رسیده ام .
1. ABAP for FunctionalConsultants
Anthony Cecchini, President, INFORMATIONTECHNOLOGYPARTNERS
Founded in 1993,Women Owned 8(M), Small Business Certified with a GSA IT 70 Schedule,
we focus solely on SAP. IT Partners has 20 years of experience helping both large and midsize
companies,andGovernmentEntities.
Anthonyhas17 yearsofexperienceinSAPR/3businessprocessanalysisandSAPsystems
integration.His areasofexpertiseincludeSAPNetWeaver integration;ALE development;
RFC,BAPI,IDoc, Dialog,andWeb Dynpro development;andcustomizedWorkflowdevelopment.
ITPartners,Inc. Experience Matters…. www.itpsap.com
2. SAPconsultants comein all shapes
and sizesfrom the extreme techie
guysthat canonly communicate in
binary code, to those smoothtalking
‘gift of the gab’salesmanlike
functional consultants who run in
fear at the thought of discussing
anything technical. When aproject
gets on the way, somehowthe two
must meet and work together. Being
a“Techie”- I want tohelp bridge this
chasmand help functional
consultants “Crack the Code” and
gain somefooting with this
presentation.
“CrackingtheCode”
ITPartners,Inc. Experience Matters…. www.itpsap.com
3. Afunctional consultant evaluates the
demandsin talking with the customer's
representatives, transforms the essence
into an abstract and algorithmic business
model. Hence,he/she identifies the use
casesand transforms them into logical
views.
Thenthe main task starts: customizing the
respective businessareaand making sure
the systemreacts in the manneraccording
to the constraints of the requested use
case.
Along with this an SAPfunctional
consultant needsto develop functional
specifications.
FunctionalConsultant
ROLES
ITPartners,Inc. Experience Matters…. www.itpsap.com
4. Technicalconsultants plan the technical
requirements for an object with the
Functional Consultant and the manager
of the technical team and then carry out
the required technical tasksin the
system. Dependingon the scopeand
complexity of the implementation,
technical consultants maywork in
severalareas,for example, system
administration, databaseadministration,
network administration, operating
systemadministration, development of
cross-application components, or ABAP
Development.
Along with this an SAPTechnical
consultant needsto developTechnical
specifications.
TechnicalConsultant
ROLES
ITPartners,Inc. Experience Matters…. www.itpsap.com
5. While the Functional Consultant defines
and isolates the GAPin the UseCase,the
TechnicalConsultant decides the best
TechnicalRealization in achievingthe
“Goal” or end statedesired.
My assertion is, the quality, stability,and
overall integrity of the processis
increased(x) fold by collaboration from
start to finish.
GAPANALYSIS
ITPartners,Inc. Experience Matters…. www.itpsap.com
7. ThePresentation layer contains user
interface like SAPGUI, and the
Enterprise Portal for the user to view
the data from the applicationlayer
TheABAPprograms run in the
Application layer.TheABAP
programs then read the dataneeded
for processingfrom thedatabase.
Database layer is the lowest level.
Data is managedusingthe relational
databasemanagement system
(RDBMS)concept.
Client ServerArchitecture
ITPartners,Inc. Experience Matters…. www.itpsap.com
8. TheRepository consists of all system
development objects in the SAPR/3.
Somedevelopment objects are:
• Report Program
• Function Groupsand FunctionModules
• DDICTables
• Dynpro Components
• Classes& Methods
• Packages….etc.
Therepository is divided accordingto the
application components. Within the
application component there are several
packageswhich contains relevant object for
logical subdivision. Whenever an application
object is developed it must be assignedto a
package.
What isRepository?
ITPartners,Inc. Experience Matters…. www.itpsap.com
9. There is aSearchtool you canuseto search
the repository informationsystem.
Thisis usedto makerandom searcheslike
“searchfor all programs bya particular
package…”
Toget to the repository information system,
follow the menu path from SAPaccess
Menu. Tools->ABAPWorkbench->Overview-
>Information systemor usetransaction
SE84orSE80
Searching theRepository
ITPartners,Inc. Experience Matters…. www.itpsap.com
10. ABAPWorkbench includes tools that are requiredfor
the creation and editing of repository objects.
Thesetools cover the entire softwaredevelopment
life cycle.
ABAP Editor: It is used for editing the sourcecode.
ABAP Dictionary: It is used for creation ofdatabase
table definitions, data types, data elements and so
on.
Screen painter: It is used forconfiguring screen
alongwith the functions for user dialogs.
Menu painter: It is used for defining user interfaces
like menu bar, standard toolbar, application tool bar
and function keysettings.
FunctionBuilder: It is usedfor creationand
maintenance of functionmodules.
Class builder: It is used for maintaining global classes
and interfaces.
ABAP Workbench
ITPartners,Inc. Experience Matters…. www.itpsap.com
11. Eachof the repository objects canbe
edited using arespective tool. For
our conveniencewe canaccessall
these tools in TheObject navigator,
Transaction SE80.
TheObject navigator is split into two
areas:
ToolArea
NavigationArea
ABAP Workbench
ITPartners,Inc. Experience Matters…. www.itpsap.com
12. NavigationArea: Navigation areaon the
left hand sideof the screen displays the
hierarchy of the objects. Wecaneither
displayor hide the navigation areain the
screen by selecting full screen mode onor
off. Double clicking on an object in the
navigation areadisplays the object in its
corresponding editor in the tool area. For
exampleif you chooseaprogram it will be
displayed in the ABAPEditor in the tool
areaand if you chooseaclass it will be
displayed in the classbuilder.
Tool Area: It is the area for displaying and
editing the development object using the
appropriate tool like class builder or ABAP
editor etc.
ABAP Workbench
ITPartners,Inc. Experience Matters…. www.itpsap.com
13. AdvancedBusiness Application
Programming
ABAPis platform independent. It is
independent of the databaseand
operating system
ABAPprograms haveindividual
statements
Thefirst word is the ABAPKeyword.
Endstatements with aperiod.
Introduction to ABAP ProgrammingLanguage
REPORTTEST.
WRITE'Hello World'.
ITPartners,Inc. Experience Matters…. www.itpsap.com
14. Chained statements
Consecutive statements with an
identical first (leftmost) part canbe
combined into a"chained" statement
using the chain operator ":"(colon).
Thecommon part of the statements is
written to the left of the colon, the
differing parts are written to the right
of the colon and separatedbycommas.
Introduction to ABAP ProgrammingLanguage
WRITE: FLIGHTINFO-CITYFROM,
FLIGHTINFO-CITYTO,
FLIGHTINFO-AIRPTO.
ITPartners,Inc. Experience Matters…. www.itpsap.com
WRITEFLIGHTINFO-CITYFROM.
WRITEFLIGHTINFO-CITYTO.
WRITEFLIGHTINFO-AIRPTO.
15. Where do you thinkABAP
programs Run?
Introduction to ABAP ProgrammingLanguage
ITPartners,Inc. Experience Matters…. www.itpsap.com
16. Where do you thinkABAP
programs Run?
Where is the Data the
ABAP programneeds?
Introduction to ABAP ProgrammingLanguage
ITPartners,Inc. Experience Matters…. www.itpsap.com
17. Where do you thinkABAP
programs Run?
Where is the Data the
ABAP programneeds?
Introduction to ABAP ProgrammingLanguage
ITPartners,Inc. Experience Matters…. www.itpsap.com
18. ABAP is platform
independent.It is
independent of the
database andoperating
system…
How do we readand
write data from the
RDBMS?
Introduction to ABAP ProgrammingLanguage
ITPartners,Inc. Experience Matters…. www.itpsap.com
19. OPEN SQL
OpenSQLconsists of aset of
ABAPstatements that perform
operations on the central
databasein the SAPSystem.
Theresults of the operationsand
anyerror messagesare
independent of the database
system in use.
Introduction to ABAP ProgrammingLanguage
SELECT* FROMFLIGHTINFO
WHERECLASS= 'Y' "Y=economy
ORCLASS='C'. "C=business
ITPartners,Inc. Experience Matters…. www.itpsap.com
*****************************************
** Program: BOOKINGS
** Author: JoeByte, 07-Jul-2007
** ***************************************
REPORTBOOKINGS.
* Readflight bookings from the database
(...)
20. FinalThoughts..
ABAPdoesnot differentiate
between upper and lowercase for
keywords.
Comment lines begin with a‘*’
Double quotes indicate the rest
of the statement iscomment
Introduction to ABAP ProgrammingLanguage
*****************************************
** Program: BOOKINGS
** Author: JoeByte, 07-Jul-2007
** ***************************************
REPORTbookings.
* Readflight bookings from the database
SELECT* FROMFLIGHTINFO
WHERECLASS= 'Y' "Y=economy
ORCLASS='C'. "C=business
(...)
ITPartners,Inc. Experience Matters…. www.itpsap.com
23. What is a DataDictionary?
Adata dictionary in computing terms is the source ofinformation
in which the system data is defined in alogical way. Thedata
dictionary is the core of awell-structured development
environment. Theelements that makeup adictionary are known
asmetadata.
TheABAPdata dictionary data is the core of the R/3development
system.Theintegration of the ABAPdictionary with the
development and runtime environments is an activeintegration.
ITPartners,Inc. Experience Matters…. www.itpsap.com
24. Structures allows to combine
values that logically belong to
one data object.
Youcandefine astructure using
transaction SE11.
When defined usingSE11,it
becomes part of the Repository
and canbe usedbyALL
developers.Theseare referred to
as“GLOBAL”
Structures
Nameof
structure
Nameof
component
Type to which
component is
assigned
ITPartners,Inc. Experience Matters…. www.itpsap.com
25. Structure variables are defined in the ABAPprogram with DATAstatements
DATAwa_zaddress TYPEzaddress . Using Global Type
“LOCAL”Structure variables are defined in the ABAPprogram with DATAstatements
DATABEGIN OFls_zaddress,
name TYPEsurname,
street(30)TYPEc,
city TYPEspfli_type-cityfrom,
END OFls_zaddress.
Structures
ITPartners,Inc. Experience Matters…. www.itpsap.com
26. Internal table is adata object to keep identically structured data records atruntime.
ABAPinternal tables are STORED IN MEMORY not on the RDBMS.
Individual records are known astable rows or tableentries.
Usedin retaining data from databasetables or sequential files for future processing.
DATAgt_tab TYPE<Type>OCCURS0TIMES.
DATAgt_itab TYPETABLEOF<Table_type>.
DATAgt_itab TYPETABLEOF<Struc_type>.
InternalTables
ITPartners,Inc. Experience Matters…. www.itpsap.com
27. ABAPinternal tables are STORED IN MEMORY not on theRDBMS.
InternalTables
ITPartners,Inc. Experience Matters…. www.itpsap.com
29. InternalTables
YoucanREAD,CHANGE,or
DELETErows of an InternalTable.
Youalsoserially read an Internal
Tableusing the LOOPAT–
ENDLOOPConstruct.
LOOPAT<ITAB>INTO<WA>
WHERE<Condition>.
*Process the DataFrom<WA>
ENDLOOP.
ITPartners,Inc. Experience Matters…. www.itpsap.com
30. ABAPinternal tables are STORED IN MEMORY not on theRDBMS.
Internal Tables – Final Thoughts
ITPartners,Inc. Experience Matters…. www.itpsap.com
31. TransparentTables
Transparenttables defined using
transaction SE11
Transparenttables defined in the
application asapart of the
corresponding databasetable
that stores the actualdata.
Thefields of the transparent
table point to thecorresponding
columns on the databasetable.
Dataelements refer to domains
for technicalproperties.
ITPartners,Inc. Experience Matters…. www.itpsap.com
32. TransparentTables
In addition to list of fields we
need more information to create
adatabasetable someof them
are –
Keyfields are to declared at the
beginning of the table. This
determines the Primary keyofthe
table
Technical properties that are needed
to create the database table like size
and mode of access
Secondaryindexes and buffering to
speedup access
ITPartners,Inc. Experience Matters…. www.itpsap.com
34. SAPHANA
INTRODUCING THESAP HIGH-PERFORMANCE ANALYTICAPPLIANCE
SAP HANA is thenext
generation of SAP’sin-memory
computing technology.
SAP HANA is a multi-purpose,
data-source agnostic,in-memory
appliance that combines SAP
software components optimized
on hardware provided,and
delivered, by SAP’sleading
hardware partners.
ITPartners,Inc. Experience Matters…. www.itpsap.com
36. USER Exits / BADIs
In SAP,auser exit is aplacein a
software program where a
customer canarrange for their
own tailor-made solution to be
called.
USEREXIT– Form orfunction
call
BADI- Businessadd-ins are
enhancements to the
standard version of the
system using OOPsConcept
ITPartners,Inc. Experience Matters…. www.itpsap.com
37. USER Exits / BADIs
TheR/3 enhancement concept
allows you to add your own
functionality to SAP’sstandard
businessapplications without
having to modify the original
applications
Advantage-
Theydo not affectstandard
SAPsourcecode
Theydo not affectsoftware
updates and upgrades
ITPartners,Inc. Experience Matters…. www.itpsap.com
39. ALEand IDocs
Application Link Enabling EnablesSAPto
communicate to othersystems.
Supports data consistencyand data
availability in distributedsystems.
Integrating systemthrough asynchronous
messagingusingIDOCs. (EDI)
Enablesdistribution between systems
with differentversions.
Providesfunctions for administration,
monitoring anddevelopment.
Library of DeliveredALEbusiness
processesto cover important business
functions.
ITPartners,Inc. Experience Matters…. www.itpsap.com
40. ALEand IDocs
AnIntermediate DOCument is acontainer
for the data of abusinessobject or
technical R/3 object.
EachIDOChasamessagetype. This
indicates the type of businessobjector
the businessfunction of thedata.
Messagetypes haveprocessingrules in
the receivingsystem.
AnIDOCcontains segment hierarchy. The
IDOCtype describesthe technical
structure of theIDOC.
IDOCtypes haveversions.
ITPartners,Inc. Experience Matters…. www.itpsap.com
41. ALEand IDocs
AnIDocconsistsof 3 types of records.
Control Record.
OneControl Recordper IDoc.
Data Record. Multiple data records per
IDoc.
Data Recordscontain Data to be
transferred
Status Record.Status Recordwill have
give the status of theIDoc.
IDocstatus canbe checkedusingTCodes
WE02,WE05and WE09
IDocscanbe reprocessedusingTCode
BD87
.
ITPartners,Inc. Experience Matters…. www.itpsap.com
42. ALEand IDocs
Common IDoc Status
03 - Data passedto portOK
12 - DispatchOK
51 - Application document notposted
68 - Error - no furtherprocessing
70 - Original of an IDocwhich wasedited
Youcanget acomplete list and details by
usingTransactionCodeWE47
.
ITPartners,Inc. Experience Matters…. www.itpsap.com
44. ‘Debugging’is aterm, which is directly associated with programming. It is ageneral term
used by all Software Professionals, irrespective of the language and platform.‘Debugging’,
asthe name suggests, is used to debug the program.
In other words it is slow motion, step by step execution of the program, sothat one can
closely find, how the program/software is working. Debugging is typically used to fix the
Bugsin the program but in SAPdebugging is invariably used for understanding the flowof
program itself.
In SAP,debugging had been aquite easytask. In SAPthere are various waysto debug a
program.
ABAP Debugger
ITPartners,Inc. Experience Matters…. www.itpsap.com
45. ABAP Debugger
Debugger in SAPcan be started
by typing ‘/h’ in the command
field before execution.
ITPartners,Inc. Experience Matters…. www.itpsap.com
46. ABAP Debugger
Initially, Dynpro Flow logic is
displayed in the window if
debugging hasbeen started for
module pool. If areport programis
being debugged then direct
program codeis displayed.
ITPartners,Inc. Experience Matters…. www.itpsap.com
47. ABAP Debugger
Before going into details, it is
necessary to discuss the term
‘BREAK-POINT’.
Abreak point is atechnique to stop
the execution at particular line in
the codeduring the debugging.
Justdouble-click on the line ofcode
you want the debugger to stop at
when the transaction isexecuted.
ITPartners,Inc. Experience Matters…. www.itpsap.com
48. ABAP Debugger
Sonow I have executed ME53again
and the debugger hasstopped at
the line of code where I placed a
BREAK-POINT.
Now I candouble-click onEBAN-
BANFNand I canseeit’s value.
Thiscanbe done for Internal Tables,
Structures and TransparentTables.
ITPartners,Inc. Experience Matters…. www.itpsap.com
49. ABAP Debugger
Navigating in theDebugger
There are four different waysin
which you cangothrough the
sourcecode of aprogram you want
to analyze
ITPartners,Inc. Experience Matters…. www.itpsap.com
50. ABAP Debugger
Debuggingcanbe done for
programs scheduledto runin
background.in background.
Jobshould be either in Scheduled or
Released status.
After scheduling the program to run
in background, select the job in
SM37and enter jdbg in the
command area.
Now the debugger isactivated.
ITPartners,Inc. Experience Matters…. www.itpsap.com
51. ABAP Debugger
Runningprograms (i.e. jobs with status
Active)can also be debugged
UseTransactionSM50to get the list of
processescurrently running.
Identify the processrelated to the
program you want to debugand clickor
highlight.
UseMenu Path:
AdministrationProgramDebugging
TheDebuggerwill beactivated
ITPartners,Inc. Experience Matters…. www.itpsap.com
53. Let me highlight someof the benefits that learning some of the techie
stuff will do foryou, your colleaguesand customers.
First of all, learning anew skill canonly be positive for your career.If you want tomove into anew
role within your companyor move onto another organization, adding to your skill set is always a
great thing to do.
When your customerswant something new or changeand existing process,you will be able to give
amuch more informed response and be able to challenge them from aslightly differentangle.
Thetechie guyswill be more willing to discussother possible solutions with you asthey will see
that you understand what they are saying.Thiswill quite often result in abetter solution thatyou
canoffer your customers.
Why bother to learnthis?
ITPartners,Inc. Experience Matters…. www.itpsap.com
54. Let me highlight someof the benefits that learning some of the techie
stuff will do foryou, your colleaguesand customers.
Weall know that some times the work estimates given for some development work can be exaggerated
some what. Don’t let this happen at your expense; challenge the estimates by making it known you know
what you are talking about and that you have agood idea just how much work should be involved for
certain types of development work.
Quite often, your customers invite their own techie guysto meetings. Being able toexpress possible
solutions in atechnical manner can help build their confidence in you and yourcompany.
By learning and having a good grasp of the underlying SAPtechnologies that are used throughout the SAP
landscape, you will be in a much better position to understand and get up to speed on new solutions SAP
introduce further down theline.
Why bother to learnthis?
ITPartners,Inc. Experience Matters…. www.itpsap.com
55. In Businessfor 20years
WomenOwned (8m)
SmallBusiness Certified
GSAIT70Schedule.
WWW.ITPSAP.COM
Connect with me on LinkedIn- http://www.linkedin.com/in/ajcecchini
“LIKEUS”on Facebook- http://www.facebook.com/itpsapinc
Follow uson Twitter - https://twitter.com/itpsapinc
View my SocialMedia PressKit - http://whywebpr.com/anthonycecchini
Thank You& CompanyInfo.
ITPartners,Inc. Experience Matters…. www.itpsap.com