SAP ABAP Programming
CMIS
495 / CIS 588
Spring 2004
Instructor: Jo Ellen Moore, Ph.D.
joemoor@siue.edu
618-650-5816 (voice)
618-650-3979 (fax)
Founders Hall 2310
http://www.siue.edu/~joemoor
Office hours: TBA
Prerequisites
(1) Proficiency in another programming language (e.g., C++, Cobol)
(2) Understanding of relational database concepts and basic SQL coding
Course
Objectives
+ To understand what SAP R/3 is, why companies adopt it, and the role of ABAP programmers.
+ To differentiate between the two types of ABAP programs (list and dialog) and develop expertise in coding list programs.
+ To develop knowledge and skills needed to work in the SAP R/3 development environment, which includes the ABAP Data Dictionary and the ABAP Workbench.
+ To write ABAP applications commonly needed by SAP R/3 shops, including basic, detail and interactive lists.
+ To effectively utilize sophisticated selection screens, internal tables, subroutines, and other advanced features in ABAP list programming.
Course
Materials
Text:
ABAP/4: Programming the SAP R/3
System (second edition)
by Bernd Matzke
Addison-Wesley (2001)
Hardcopies of Jo Ellen’s slides and other handouts will be distributed in class.
Access to SAP
R/3
You can access SAP R/3 and our training database in both Founders Hall computer labs (FH 301 and FH 2301). You can also access our R/3 training environment via the Internet, but you will need to install the SAP client component on your home PC to do so. More on this in class.
Grading
The following scale will be used to assign grades. No curves will be applied.
Percent of Total
Possible Points
Grade
90% or higher A
80 to 89% B
70 to 79% C
60 to 69% D
Less than 60% E
The following assessments will determine the total points you earn in the class. The total possible points in the course will be 650 for undergraduates (CMIS 495) and 700 for graduate students (CIS 588).
Assessment
Possible Points
Exam 1 100
Exam 2 100
Exam 3 100
Exam 4 50
Project 1 10
Project 2 40
Project 3 50
Project 4 50
Project 5 50
Project 6 50
CMIS 495 students complete one of
the following;
CMIS 588 students complete both.
Article Project 50
Cool Thing Project 50
Total Possible Points: 700
IMPORTANT Course
Policies!
DO YOUR OWN
WORK.
All projects (except the Cool Thing Project) are to be done individually. If it is determined that you copied someone
else’s work, you will receive a failing grade for the course.
This
action is in accordance with the SIUE policy on plagiarism that states:
“…
a student who plagiarizes shall receive a grade of F in the course in which the
act occurs. The offense shall also be reported to the Provost. A student who is
reported a second time shall be suspended for a period of not less than one
term. Should a student who has been suspended for plagiarism be readmitted and
be again found guilty of the offense, he/she shall be permanently expelled from
the University.” For further details, see
http://www.siue.edu/POLICIES/1i6.html .
Don’t
even think about copying someone else’s work. You are here to learn. Doing your own work on assignments is a
crucial part of the learning process.
Exams will be designed to “unmask” students who may not have done their
own work on a homework assignment.
KEEP
UP.
Let’s face it – in a programming class there’s no time to fall behind AND
RECOVER. So you need to not fall
behind.
Each
assignment will carry an explicit due date, always a class meeting date. The assignment is due AT THE BEGINNING
OF CLASS that night. An assignment
submitted after the due date/time will receive a deduction of 10% for each day
it is late (including weekends and holidays). After one full week has passed, the
assignment will receive no credit.
In other words, if a project was due at the beginning of class on Monday
and by the following Monday you still cannot submit it, hang it up baby. It’s too late. You would likely want to make an
appointment with the instructor to discuss the probability that you could still
pass the class without the chunk of knowledge associated with the project you
were unable to complete.
Week-by-Week Plan
Week 1 (Jan
12)
Topics: Course overview
Overview of ERP concept
Overview of SAP R/3 product
Role of ABAP programmers
Initiate the Article Paper project
[ Jan 19 – NO CLASS
due to MLK holiday ]
Week 2 (Jan 26)
Topics: Overview of SAP R/3 Basis architecture
Basics of ABAP Workbench
ABAP Data Dictionary concepts
Project Out: Project 1
Week 3 (Feb
2)
Topics: ABAP Select statement
Data definitions in ABAP
Screen prints in R/3
Due: Project 1
Project Out: Project 2 - Basic List Programming
Week 4 (Feb 9)
Topics: Principle ABAP statements
Basic list programming
Some advanced list techniques
Week 5 (Feb
16)
Topics: Overview of program level events
Internal tables
Due: Project 2
Week 6 (Feb 23)
Exam 1 (up to but not including internal tables)
More on internal tables
Week 7 (Mar
1)
Topics: Review of internal tables
Filling an internal table from a database table
Control level processing
Due: Article Project
Project Out: Project 3 - Control Processing with Internal Tables
Week 8 (NO CLASS due
to Spring Break)
Week 9 (Mar
15)
Topics: Finishing up internal tables
Control level processing (CLP)
Week 10 (Mar 22)
Topics: Advanced selection screen techniques
Due: Project 3
Project Out: Project 4 - Advanced Basic Lists
Week 11 (Mar 29)
Topics: Interactive list programming (drill-down reports)
Due: Project 4
Project Out: Project 5 - Single-Level Interactive List
Week 12 (Apr 5)
Topics: Multiple detail lists
Subroutines
Due: Project 5
Project Out: Project 6 - Multiple-Level Interactive List
Week 13 (Apr 12)
Exam 2 (through internal tables and CLP)
A couple of cool things from me
Week 14 (Apr 19)
Cool Thing presentations
Due: Project 6
Week 15 (Apr 26)
Exam 3
Cool Thing presentations
Distribute Final Exam (Exam 4) as take-home due at Final Exam period
FINAL EXAM WEEK: May 1-7
Final exam day and time TBA