SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
International Association of Scientific Innovation and Research (IASIR)
(An Association Unifying the Sciences, Engineering, and Applied Research)
International Journal of Engineering, Business and Enterprise
Applications (IJEBEA)
www.iasir.net
IJEBEA 14-228; © 2014, IJEBEA All Rights Reserved Page 48
ISSN (Print): 2279-0020
ISSN (Online): 2279-0039
Database Designing for the Online Examination Application Using SAP-
ABAP
Preeti Singh Bhadoria#1
, Kapil Nimker#2
, Sanjay Ojha#3
School of Management, Centre for Development of Advanced Computing (CDAC), Noida
____________________________________________________________________________________________________
Abstract: The Online Examination Application [1] is an application which utilizes SAP as a platform and is
developed using ABAP language. The Database of this application is thus responsible for holding the various
data right from the time of registration of the candidates to the final module of displaying the results all is
performed using the database tables. This paper thus deals with the different tables as utilized by the
application and hence helps in bringing out the effectiveness of the database in any similar application.
Keywords: SAP, ERP, OEA, DATA TYPES, DATABASE TABLES.
__________________________________________________________________________________________
I. Introduction
A database is essentially an electronic filing system that houses a collection of information organized in such a
way that allows a computer program to quickly find desired pieces of data [2].
In the simplest form, a database is composed of tables, columns (called fields), and rows (called records or
data). A classic example of a database is a telephone book, which is organized alphabetically so as to make it
possible to quickly find a desired piece of data. The telephone book can be considered a table, a storage
container for information. Within this table is typically found three columns (or fields)—name, address, and
telephone number. Within each of these fields exists rows (or records), the simplest form of data in the database.
The basic structure of a database is quite similar to a Microsoft Excel spreadsheet wherein columns (fields) store
row after row of records (data). The biggest difference between a database and a spreadsheet is simply that
databases can contain multiple tables that are connected to one another through relationships. Thus, a database
can be thought of as a much more complex, and ultimately much more useful, spreadsheet.
The database plays a key role in each SAP system, as it houses all the data that are used by that particular SAP
component or product. SAP can use a variety of different brand name database releases ranging from very
expensive and imminently flexible to very inexpensive and yet quite capable.
II. The various data types as used in ABAP
Like every other programming language ABAP also has some predefined data types with defined ranges which
are used with the different variables that come across while composing a program. The data types in ABAP can
be broadly categorized in the following way [4]:
A. Elementary types:
Elementary types are part of the dual-level domain concept for fields in the ABAP Dictionary. The elementary
type has semantic attributes, such as texts, value tables, and documentation, and has a data type. There are two
different ways to specify a data type:
By directly assigning an ABAP Dictionary type: We can assign a predefined ABAP Dictionary type and a
number of characters to an elementary type. The ABAP Dictionary has considerably more predefined types than
the ABAP programming language. The number of characters here is not the field length in bytes, but the number
of valid characters excluding formatting characters. The data types are different because the predefined data
types in the ABAP Dictionary have to be compatible with the external data types of the database tables
supported by the SAP Web AS ABAP. When we refer to data types from the ABAP Dictionary in an ABAP
program, the predefined Dictionary types are converted to ABAP types as follows:
Figure 1 Predefined dictionary data type in ABAP
Dictionary type Meaning Maximum length n ABAP type
DEC Calculation/amount field 1-31, 1-17 in tables P((n+1)/2)
INT1 Single-byte integer 3 Internal only
INT2 Two-byte integer 5 Internal only
INT4 Four-byte integer 10 I
CURR Currency field 1-17 P((n+1)/2)
CUKY Currency key 5 C(5)
QUAN Quantity 1-17 P((n+1)/2)
UNIT Unit 2-3 C(n)
PREC Accuracy 16 Internal only
FLTP Floating point number 16 F(8)
NUMC Numeric text 1-255 N(n)
CHAR Character 1-255 C(n)
Preeti Singh Bhadoria et al., International Journal of Engineering, Business and Enterprise Applications, 8(1), March-May., 2014, pp. 48-52
IJEBEA 14-228; © 2014, IJEBEA All Rights Reserved Page 49
LCHR Long character 256-max C(n)
STRING String of variable length 1-max STRING
RAWSTRING Byte sequence of variable length 1-max XSTRING
DATS Date 8 D
ACCP Accounting period YYYYMM 6 N(6)
TIMS Time HHMMSS 6 T
RAW Byte sequence 1-255 X(n)
LRAW Long byte sequence 256-max X(n)
CLNT Client 3 C(3)
LANG Language internal 1, external 2 C(1)
Assigning a domain: The technical attributes are inherited from a domain. Domains are standalone Repository
objects in the ABAP Dictionary. They can specify the technical attributes of a data element. One domain can be
used by any number of data elements. When you create a domain, you must specify a Dictionary data type (see
above table) and the number of characters.
B. Reference types:
Reference types describe single fields that can contain references to global classes and interfaces from the
ABAP class library. In an ABAP program, we can use the TYPE addition to refer directly to a data element.
The predefined Dictionary data types of the domain are then converted into the corresponding ABAP types.
If we define a local data type in a program by referring to a data element as follows:
TYPES dtype TYPE data_element then the semantic attributes of the data element are inherited and will be
used, for example, when we display a data object with type dtype on the screen. Since all data types in the
ABAP Dictionary are based on data elements, they all contain the corresponding semantic attributes.
C. Structures:
A structure is a sequence of any other data types from the ABAP Dictionary, that is, data elements, structures,
table types, or database tables. When we create a structure in the ABAP Dictionary, each component must have
a name and a data type.
In an ABAP program, we can use the TYPE addition to refer directly to a structure.
If you define a local data type in a program by referring to a structure as follows:
TYPES dtype TYPE structure.
III. Types of database tables
The Database in this application is implemented is implemented by means of tables. These tables can be
grouped into different types based on their usage and requirement. Hence, the different tables are as following
[2]:
A. Transparent tables:
A transparent table is a table that stores data directly. Transparent table is a one to one relation table i.e. when a
transparent table is created then exactly same table will be created in data base and it is basically used to store
transaction data. The transparent table contains a single table. For each transparent table there is one associated
table in the database. The database table has the same name, same number of fields and the fields have the same
names. A single table can have one or more primary keys as well as secondary indexes can also be created. They
can be accessed using open and native SQL. These tables are used to hold master data.
B. Pool tables:
Pooled tables are logical tables that must be assigned to a table pool when they are defined. Pooled tables are
used to store control data. Several pooled tables can be combined in a table pool. The data of these pooled
tables are then sorted in a common table in the database. They are used to hold a large number of very small
tables (stores customizing data or system data).It has a many-to-one relationship with a table in the database. It
is stored with other pooled tables in a single table called table pool in the database. The database table has
different name, different number of fields and fields have different names. Table pools contain more tables than
table clusters. Primary key of each table does not begin with same fields or fields. However, secondary indexes
cannot be created. They can be accessed using open SQL only. They reduce the amount of database resources
needed when many small tables have to be opened at the same time.
C. Cluster tables:
Cluster tables are logical tables that must be assigned to a table cluster when they are defined. Cluster tables can
be used to store control data. They can also be used to store temporary data or texts, such as documentation.
They are used to hold data from a few large tables. It has a many-to-one relationship with table in the database.
Many cluster tables are stored in a single table in the database called a table cluster. The database table has
different name, different number of fields and fields have different names. These tables contain lesser tables
than table pools. Primary key of each table begins with same fields or fields but the secondary indexes cannot be
created. These tables can be accessed using open SQL only. They would be used when the tables have primary
key in common and data in these tables are all accesses simultaneously.
Preeti Singh Bhadoria et al., International Journal of Engineering, Business and Enterprise Applications, 8(1), March-May., 2014, pp. 48-52
IJEBEA 14-228; © 2014, IJEBEA All Rights Reserved Page 50
IV. Database tables in online examination application
The database of the Online Examination Application is basically composed of three main tables apart from the
ones that are automatically created by the system. These tables are required to hold the information of the
registration details of the candidates, show the various questions that can be uploaded along with the possible
options and finally the third table is of the results which holds the correct options as well as computes the total
of the candidates. The different tables thus are as following:
A. The registration table:
The Registration Table is the first table named as ZOES_REGTABLE is responsible for holding the various
entries which are to be made by the candidate through the registration page in order to register him to take up
the test. The candidate is required to make the entries like the email id, his name, address and the contact
number. It is mandatory on the part of the candidate that all the entries are made i.e. the candidate cannot skip
any of the entries otherwise the registration is cancelled. The Registration Table of the Online Examination
Application can be seen as following:
Figure 1: The Registration Table
Data types of the registration table:
In the database tables it is required that the entries have to be specified with a particularly specified data type.
Here also the data types of all the entries have been mentioned. The email, names and address fields have been
mentioned of the type character. The date of birth has been mentioned of type DATS. The pincode and the
contact number have been mentioned of type number. It is interesting to note that there are also various type of
validation checks in the different fields. The email field prevents the use of the different special characters,
spaces and the use of the capital letters. The names field also prevents the use of the special characters and the
numerals. The fields that have been declared of type number have a validation of inserting only numerals and all
other data types have been restricted.
Primary key for the registration table
Primary key is the key which is required to be unique and should always be not null. In the registration table the
email id of the candidate has been declared as the primary key. This is because the email id of each candidate is
always a unique entity which is the foremost requirement for any entry to be declared as the primary key.
The contents of the Registration Table can be seen as following where the different entries are shown:
Figure 2: Entries held in registration table.
Preeti Singh Bhadoria et al., International Journal of Engineering, Business and Enterprise Applications, 8(1), March-May., 2014, pp. 48-52
IJEBEA 14-228; © 2014, IJEBEA All Rights Reserved Page 51
B. The question upload table:
The Question Upload Table is named as the ZOESEXAM. This table is responsible for holding the various
questions along with the four possible options. The last option shows the correct answer for that question. The
ZOESEXAM table can be seen as below with the various table entries:
Figure 3: The Question Upload Table
Data types of the question upload table:
This table consists of the question number which is defined of type number. The next field entry is the question
number which is of type string. Followed by the question are the four options for each question which are again
of type character. Lastly there is option which happens to be the correct answer for that particular question
which of type character.
Primary key for the question upload table:
The primary key for this table is the question number which is unique entity for each table. Hence, as it serves
the uniqueness feature of the primary key therefore, it is chosen as the same. The figure below displays the
contents of the question upload (ZOESEXAM):
Figure 4: Entries held in Question Upload Table
C. The result table:
This table is the final of the three tables created for the Online Examination Application. This table is
responsible for holding the answers to the questions as have been answered by the various candidates. This table
is especially important as it helps in computation of the result of each candidate by comparing his answers with
the correct ones. If the answer happens to be correct than the marks are allotted for the same. However, if the
answer is incorrect than as per the marking scheme the negative marks are deducted from the total and likewise
the result is generated. This table is mentioned as ZOES_RESULT. The table with its various entries is shown in
the figure 5.
Data types of the result table:
The result table consists of four data entry fields. The first entry i.e. the question number is of type number. The
next table entry is the user_name which is the name of the candidate and is defined of type character. The next
field is k_date which signifies the date on which the exam was taken by the candidateis of type DATS. The last
table entry is the Response field which holds the option that has been selected by the candidate as his reply to
the question.
Primary key for the result table:
The primary key for the ZOSE_RESULT table is actually a combination of the three fields i.e. the question
number, user name (user_name) and the date (k_date) on which the exam was taken. These here are combined
by the use of a join operation and then taken as a single primary key for the entire table.
Preeti Singh Bhadoria et al., International Journal of Engineering, Business and Enterprise Applications, 8(1), March-May., 2014, pp. 48-52
IJEBEA 14-228; © 2014, IJEBEA All Rights Reserved Page 52
Figure 5: The Result Table
This was done as taking any of the keys singly would not help to maintain the uniqueness criteria for the
primary key. The question number field is not chosen since the same question as will be answered by the
different candidates will tend to over write the previous question by the next one. Secondly, the user_name field
could not be taken as the primary key as there can possibly be two or more than two candidates by the same
name. finally, the third field i.e. The exam date (k_date) is not chosen as the primary key as, if the test is again
intended to be taken at some future date then it will over write all the previous test details and hence the primary
requirement of data consistency does not stand accomplished. Hence, owing to these reasons the above
mentioned keys have not been mentioned as the primary key instead all the three have been combined together
to form a single and unique primary key.
The table ZOES_RESULT with the contents can be seen as in the figure below. The figure shows the different
questions along with their correct answers and the ones that have been answered by the candidates. Upon
matching the answers with their correct options the marks of the individual candidate are also computed which
can then be sent to the candidate via email.
Figure 6: Entries held in The Result Table
V. Conclusion
Hence, it can be concluded that using the different database tables not only adds to the usability of the system
but also makes it much more convenient to handle. Here also we see that the different tables that have been
created serve the purpose of handling the data effectively and thus they reduce the ambiguity of the data.
VI. References
[1].Kapil, Shwetank Sharma, Sanjay Ojha , “Online Examination Application using SAP ABAP”, Unpublished.
[2].http://www.informit.com/articles/article.aspx?p=425384
[3].http://www.saptechnical.com/Tutorials/ABAP/Pool/Index.htm
[4].http://help.sap.com/saphelp_nw70/helpdata/en/fc/eb3138358411d1829f0000e829fbfe/content.htm
VII. Acknowledgements
It is a well-known fact that no task is achieved single handedly. It is always a collective task that is rewarded.
Hence, in the present task too there are a number of people who are responsible in bringing out this paper in its
current form. We would first of all like to extend our gratitude the entire management at CDAC Noida for
supporting and providing us with the opportunity to utilize such a platform. We would also like to thank Ms.
Mary Jacintha (HOD, School of Management) and all the respective faculty members for their constant support
and guidance.

Más contenido relacionado

La actualidad más candente

Lecture12 abap on line
Lecture12 abap on lineLecture12 abap on line
Lecture12 abap on lineMilind Patil
 
Training MS Access 2007
Training MS Access 2007Training MS Access 2007
Training MS Access 2007crespoje
 
Ms access tutorial
Ms access tutorialMs access tutorial
Ms access tutorialminga48
 
Data resource management and DSS
Data resource management and DSSData resource management and DSS
Data resource management and DSSRajThakuri
 
B.sc i agri u 4 introduction to ms access
B.sc i agri u 4 introduction to ms accessB.sc i agri u 4 introduction to ms access
B.sc i agri u 4 introduction to ms accessRai University
 
Access 2007-Datasheets 1-Create a table by entering data
Access 2007-Datasheets 1-Create a table by entering dataAccess 2007-Datasheets 1-Create a table by entering data
Access 2007-Datasheets 1-Create a table by entering dataOklahoma Dept. Mental Health
 
MS Access Ch 2 PPT
MS Access Ch 2 PPTMS Access Ch 2 PPT
MS Access Ch 2 PPTprsmith72
 
Data Mining with MS Access
Data Mining with MS AccessData Mining with MS Access
Data Mining with MS AccessDhatri Jain
 
Database - R.D.Sivakumar
Database - R.D.SivakumarDatabase - R.D.Sivakumar
Database - R.D.SivakumarSivakumar R D .
 
MS Office Access Tutorial
MS Office Access TutorialMS Office Access Tutorial
MS Office Access TutorialvirtualMaryam
 
Access presentation
Access presentationAccess presentation
Access presentationDUSPviz
 
Databases and its representation
Databases and its representationDatabases and its representation
Databases and its representationRuhull
 
RDAP 15 Excel Archival Tool: Automating the Spreadsheet Conversion Process
RDAP 15 Excel Archival Tool: Automating the Spreadsheet Conversion ProcessRDAP 15 Excel Archival Tool: Automating the Spreadsheet Conversion Process
RDAP 15 Excel Archival Tool: Automating the Spreadsheet Conversion ProcessASIS&T
 
SessionFive_ImportingandExportingData
SessionFive_ImportingandExportingDataSessionFive_ImportingandExportingData
SessionFive_ImportingandExportingDataHellen Gakuruh
 
Starting ms access 2010
Starting ms access 2010Starting ms access 2010
Starting ms access 2010Bryan Corpuz
 
MS Access Ch 1 PPT
MS Access Ch 1 PPTMS Access Ch 1 PPT
MS Access Ch 1 PPTprsmith72
 
Intro to Microsoft Access
Intro to Microsoft AccessIntro to Microsoft Access
Intro to Microsoft AccessDUSPviz
 

La actualidad más candente (20)

Lecture12 abap on line
Lecture12 abap on lineLecture12 abap on line
Lecture12 abap on line
 
Training MS Access 2007
Training MS Access 2007Training MS Access 2007
Training MS Access 2007
 
Access 2010
Access 2010Access 2010
Access 2010
 
Ms access tutorial
Ms access tutorialMs access tutorial
Ms access tutorial
 
Data resource management and DSS
Data resource management and DSSData resource management and DSS
Data resource management and DSS
 
B.sc i agri u 4 introduction to ms access
B.sc i agri u 4 introduction to ms accessB.sc i agri u 4 introduction to ms access
B.sc i agri u 4 introduction to ms access
 
Access 2007-Datasheets 1-Create a table by entering data
Access 2007-Datasheets 1-Create a table by entering dataAccess 2007-Datasheets 1-Create a table by entering data
Access 2007-Datasheets 1-Create a table by entering data
 
MS Access Ch 2 PPT
MS Access Ch 2 PPTMS Access Ch 2 PPT
MS Access Ch 2 PPT
 
Data Mining with MS Access
Data Mining with MS AccessData Mining with MS Access
Data Mining with MS Access
 
Database - R.D.Sivakumar
Database - R.D.SivakumarDatabase - R.D.Sivakumar
Database - R.D.Sivakumar
 
MS Office Access Tutorial
MS Office Access TutorialMS Office Access Tutorial
MS Office Access Tutorial
 
Access presentation
Access presentationAccess presentation
Access presentation
 
Databases and its representation
Databases and its representationDatabases and its representation
Databases and its representation
 
RDAP 15 Excel Archival Tool: Automating the Spreadsheet Conversion Process
RDAP 15 Excel Archival Tool: Automating the Spreadsheet Conversion ProcessRDAP 15 Excel Archival Tool: Automating the Spreadsheet Conversion Process
RDAP 15 Excel Archival Tool: Automating the Spreadsheet Conversion Process
 
MS ACCESS
MS ACCESSMS ACCESS
MS ACCESS
 
SessionFive_ImportingandExportingData
SessionFive_ImportingandExportingDataSessionFive_ImportingandExportingData
SessionFive_ImportingandExportingData
 
Starting ms access 2010
Starting ms access 2010Starting ms access 2010
Starting ms access 2010
 
MS Access Ch 1 PPT
MS Access Ch 1 PPTMS Access Ch 1 PPT
MS Access Ch 1 PPT
 
Data analytics with R
Data analytics with RData analytics with R
Data analytics with R
 
Intro to Microsoft Access
Intro to Microsoft AccessIntro to Microsoft Access
Intro to Microsoft Access
 

Destacado (19)

Ijebea14 240
Ijebea14 240Ijebea14 240
Ijebea14 240
 
Ijetcas14 319
Ijetcas14 319Ijetcas14 319
Ijetcas14 319
 
Ijetcas14 461
Ijetcas14 461Ijetcas14 461
Ijetcas14 461
 
Ijetcas14 400
Ijetcas14 400Ijetcas14 400
Ijetcas14 400
 
Ijetcas14 440
Ijetcas14 440Ijetcas14 440
Ijetcas14 440
 
Ijetcas14 329
Ijetcas14 329Ijetcas14 329
Ijetcas14 329
 
Ijetcas14 379
Ijetcas14 379Ijetcas14 379
Ijetcas14 379
 
Ijebea14 256
Ijebea14 256Ijebea14 256
Ijebea14 256
 
Ijetcas14 591
Ijetcas14 591Ijetcas14 591
Ijetcas14 591
 
Ijebea14 278
Ijebea14 278Ijebea14 278
Ijebea14 278
 
Ijetcas14 525
Ijetcas14 525Ijetcas14 525
Ijetcas14 525
 
Ijetcas14 375
Ijetcas14 375Ijetcas14 375
Ijetcas14 375
 
Ijebea14 225
Ijebea14 225Ijebea14 225
Ijebea14 225
 
Ijetcas14 307
Ijetcas14 307Ijetcas14 307
Ijetcas14 307
 
Ijetcas14 469
Ijetcas14 469Ijetcas14 469
Ijetcas14 469
 
Ijetcas14 577
Ijetcas14 577Ijetcas14 577
Ijetcas14 577
 
Ijetcas14 550
Ijetcas14 550Ijetcas14 550
Ijetcas14 550
 
Ijetcas14 450
Ijetcas14 450Ijetcas14 450
Ijetcas14 450
 
Ijetcas14 632
Ijetcas14 632Ijetcas14 632
Ijetcas14 632
 

Similar a Ijebea14 228

500+ SAP ABAP INTERVIEW QUESTIONS WITH ANSWERS
500+ SAP ABAP INTERVIEW QUESTIONS WITH ANSWERS500+ SAP ABAP INTERVIEW QUESTIONS WITH ANSWERS
500+ SAP ABAP INTERVIEW QUESTIONS WITH ANSWERSIICT Chromepet
 
Sap abap database table
Sap abap database tableSap abap database table
Sap abap database tableDucat
 
Top 35-interview-questions-on-sap-abap
Top 35-interview-questions-on-sap-abapTop 35-interview-questions-on-sap-abap
Top 35-interview-questions-on-sap-abapprathamesh4865
 
SAP ABAP Interview questions
SAP ABAP Interview questionsSAP ABAP Interview questions
SAP ABAP Interview questionsIT LearnMore
 
SAP ABAP Latest Interview Questions
SAP ABAP Latest  Interview Questions SAP ABAP Latest  Interview Questions
SAP ABAP Latest Interview Questions piyushchawala
 
Abap interview questions and answers
Abap interview questions and answersAbap interview questions and answers
Abap interview questions and answersKaustav Pyne
 
Unit 3 - Transparent tables in the ABAP Dictionary
Unit 3 - Transparent tables in the ABAP DictionaryUnit 3 - Transparent tables in the ABAP Dictionary
Unit 3 - Transparent tables in the ABAP Dictionarydubon07
 
Data resource management
Data resource managementData resource management
Data resource managementNirajan Silwal
 
ABAP FAQ S On Reports Scripts BDC Dialogs ABAP Reporting SAP TERMINOLOGY
ABAP FAQ S On Reports   Scripts   BDC   Dialogs ABAP Reporting SAP TERMINOLOGYABAP FAQ S On Reports   Scripts   BDC   Dialogs ABAP Reporting SAP TERMINOLOGY
ABAP FAQ S On Reports Scripts BDC Dialogs ABAP Reporting SAP TERMINOLOGYJustin Knight
 
Introduction to database
Introduction to databaseIntroduction to database
Introduction to databaseSuleman Memon
 
Database Management System Part-1.pptx
Database Management System Part-1.pptxDatabase Management System Part-1.pptx
Database Management System Part-1.pptxArshveerSinghDhillon
 

Similar a Ijebea14 228 (20)

Sap abap material
Sap abap materialSap abap material
Sap abap material
 
Abap faq
Abap faqAbap faq
Abap faq
 
500+ SAP ABAP INTERVIEW QUESTIONS WITH ANSWERS
500+ SAP ABAP INTERVIEW QUESTIONS WITH ANSWERS500+ SAP ABAP INTERVIEW QUESTIONS WITH ANSWERS
500+ SAP ABAP INTERVIEW QUESTIONS WITH ANSWERS
 
Sap abap database table
Sap abap database tableSap abap database table
Sap abap database table
 
Top 35-interview-questions-on-sap-abap
Top 35-interview-questions-on-sap-abapTop 35-interview-questions-on-sap-abap
Top 35-interview-questions-on-sap-abap
 
SAP ABAP Interview questions
SAP ABAP Interview questionsSAP ABAP Interview questions
SAP ABAP Interview questions
 
SAP ABAP Latest Interview Questions
SAP ABAP Latest  Interview Questions SAP ABAP Latest  Interview Questions
SAP ABAP Latest Interview Questions
 
Abap interview questions and answers
Abap interview questions and answersAbap interview questions and answers
Abap interview questions and answers
 
Oracle
OracleOracle
Oracle
 
Unit 3 - Transparent tables in the ABAP Dictionary
Unit 3 - Transparent tables in the ABAP DictionaryUnit 3 - Transparent tables in the ABAP Dictionary
Unit 3 - Transparent tables in the ABAP Dictionary
 
Sql Server Basics
Sql Server BasicsSql Server Basics
Sql Server Basics
 
Data processing
Data processingData processing
Data processing
 
Data resource management
Data resource managementData resource management
Data resource management
 
ABAP FAQ S On Reports Scripts BDC Dialogs ABAP Reporting SAP TERMINOLOGY
ABAP FAQ S On Reports   Scripts   BDC   Dialogs ABAP Reporting SAP TERMINOLOGYABAP FAQ S On Reports   Scripts   BDC   Dialogs ABAP Reporting SAP TERMINOLOGY
ABAP FAQ S On Reports Scripts BDC Dialogs ABAP Reporting SAP TERMINOLOGY
 
Presentation1
Presentation1Presentation1
Presentation1
 
Introduction to database
Introduction to databaseIntroduction to database
Introduction to database
 
Database
DatabaseDatabase
Database
 
Dbms
DbmsDbms
Dbms
 
Database fundamentals
Database fundamentalsDatabase fundamentals
Database fundamentals
 
Database Management System Part-1.pptx
Database Management System Part-1.pptxDatabase Management System Part-1.pptx
Database Management System Part-1.pptx
 

Más de Iasir Journals (20)

ijetcas14 650
ijetcas14 650ijetcas14 650
ijetcas14 650
 
Ijetcas14 648
Ijetcas14 648Ijetcas14 648
Ijetcas14 648
 
Ijetcas14 647
Ijetcas14 647Ijetcas14 647
Ijetcas14 647
 
Ijetcas14 643
Ijetcas14 643Ijetcas14 643
Ijetcas14 643
 
Ijetcas14 641
Ijetcas14 641Ijetcas14 641
Ijetcas14 641
 
Ijetcas14 639
Ijetcas14 639Ijetcas14 639
Ijetcas14 639
 
Ijetcas14 624
Ijetcas14 624Ijetcas14 624
Ijetcas14 624
 
Ijetcas14 619
Ijetcas14 619Ijetcas14 619
Ijetcas14 619
 
Ijetcas14 615
Ijetcas14 615Ijetcas14 615
Ijetcas14 615
 
Ijetcas14 608
Ijetcas14 608Ijetcas14 608
Ijetcas14 608
 
Ijetcas14 605
Ijetcas14 605Ijetcas14 605
Ijetcas14 605
 
Ijetcas14 604
Ijetcas14 604Ijetcas14 604
Ijetcas14 604
 
Ijetcas14 598
Ijetcas14 598Ijetcas14 598
Ijetcas14 598
 
Ijetcas14 594
Ijetcas14 594Ijetcas14 594
Ijetcas14 594
 
Ijetcas14 593
Ijetcas14 593Ijetcas14 593
Ijetcas14 593
 
Ijetcas14 589
Ijetcas14 589Ijetcas14 589
Ijetcas14 589
 
Ijetcas14 585
Ijetcas14 585Ijetcas14 585
Ijetcas14 585
 
Ijetcas14 584
Ijetcas14 584Ijetcas14 584
Ijetcas14 584
 
Ijetcas14 583
Ijetcas14 583Ijetcas14 583
Ijetcas14 583
 
Ijetcas14 580
Ijetcas14 580Ijetcas14 580
Ijetcas14 580
 

Último

Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction managementMariconPadriquez1
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitterShivangiSharma879191
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 

Último (20)

Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction management
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 

Ijebea14 228

  • 1. International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Journal of Engineering, Business and Enterprise Applications (IJEBEA) www.iasir.net IJEBEA 14-228; © 2014, IJEBEA All Rights Reserved Page 48 ISSN (Print): 2279-0020 ISSN (Online): 2279-0039 Database Designing for the Online Examination Application Using SAP- ABAP Preeti Singh Bhadoria#1 , Kapil Nimker#2 , Sanjay Ojha#3 School of Management, Centre for Development of Advanced Computing (CDAC), Noida ____________________________________________________________________________________________________ Abstract: The Online Examination Application [1] is an application which utilizes SAP as a platform and is developed using ABAP language. The Database of this application is thus responsible for holding the various data right from the time of registration of the candidates to the final module of displaying the results all is performed using the database tables. This paper thus deals with the different tables as utilized by the application and hence helps in bringing out the effectiveness of the database in any similar application. Keywords: SAP, ERP, OEA, DATA TYPES, DATABASE TABLES. __________________________________________________________________________________________ I. Introduction A database is essentially an electronic filing system that houses a collection of information organized in such a way that allows a computer program to quickly find desired pieces of data [2]. In the simplest form, a database is composed of tables, columns (called fields), and rows (called records or data). A classic example of a database is a telephone book, which is organized alphabetically so as to make it possible to quickly find a desired piece of data. The telephone book can be considered a table, a storage container for information. Within this table is typically found three columns (or fields)—name, address, and telephone number. Within each of these fields exists rows (or records), the simplest form of data in the database. The basic structure of a database is quite similar to a Microsoft Excel spreadsheet wherein columns (fields) store row after row of records (data). The biggest difference between a database and a spreadsheet is simply that databases can contain multiple tables that are connected to one another through relationships. Thus, a database can be thought of as a much more complex, and ultimately much more useful, spreadsheet. The database plays a key role in each SAP system, as it houses all the data that are used by that particular SAP component or product. SAP can use a variety of different brand name database releases ranging from very expensive and imminently flexible to very inexpensive and yet quite capable. II. The various data types as used in ABAP Like every other programming language ABAP also has some predefined data types with defined ranges which are used with the different variables that come across while composing a program. The data types in ABAP can be broadly categorized in the following way [4]: A. Elementary types: Elementary types are part of the dual-level domain concept for fields in the ABAP Dictionary. The elementary type has semantic attributes, such as texts, value tables, and documentation, and has a data type. There are two different ways to specify a data type: By directly assigning an ABAP Dictionary type: We can assign a predefined ABAP Dictionary type and a number of characters to an elementary type. The ABAP Dictionary has considerably more predefined types than the ABAP programming language. The number of characters here is not the field length in bytes, but the number of valid characters excluding formatting characters. The data types are different because the predefined data types in the ABAP Dictionary have to be compatible with the external data types of the database tables supported by the SAP Web AS ABAP. When we refer to data types from the ABAP Dictionary in an ABAP program, the predefined Dictionary types are converted to ABAP types as follows: Figure 1 Predefined dictionary data type in ABAP Dictionary type Meaning Maximum length n ABAP type DEC Calculation/amount field 1-31, 1-17 in tables P((n+1)/2) INT1 Single-byte integer 3 Internal only INT2 Two-byte integer 5 Internal only INT4 Four-byte integer 10 I CURR Currency field 1-17 P((n+1)/2) CUKY Currency key 5 C(5) QUAN Quantity 1-17 P((n+1)/2) UNIT Unit 2-3 C(n) PREC Accuracy 16 Internal only FLTP Floating point number 16 F(8) NUMC Numeric text 1-255 N(n) CHAR Character 1-255 C(n)
  • 2. Preeti Singh Bhadoria et al., International Journal of Engineering, Business and Enterprise Applications, 8(1), March-May., 2014, pp. 48-52 IJEBEA 14-228; © 2014, IJEBEA All Rights Reserved Page 49 LCHR Long character 256-max C(n) STRING String of variable length 1-max STRING RAWSTRING Byte sequence of variable length 1-max XSTRING DATS Date 8 D ACCP Accounting period YYYYMM 6 N(6) TIMS Time HHMMSS 6 T RAW Byte sequence 1-255 X(n) LRAW Long byte sequence 256-max X(n) CLNT Client 3 C(3) LANG Language internal 1, external 2 C(1) Assigning a domain: The technical attributes are inherited from a domain. Domains are standalone Repository objects in the ABAP Dictionary. They can specify the technical attributes of a data element. One domain can be used by any number of data elements. When you create a domain, you must specify a Dictionary data type (see above table) and the number of characters. B. Reference types: Reference types describe single fields that can contain references to global classes and interfaces from the ABAP class library. In an ABAP program, we can use the TYPE addition to refer directly to a data element. The predefined Dictionary data types of the domain are then converted into the corresponding ABAP types. If we define a local data type in a program by referring to a data element as follows: TYPES dtype TYPE data_element then the semantic attributes of the data element are inherited and will be used, for example, when we display a data object with type dtype on the screen. Since all data types in the ABAP Dictionary are based on data elements, they all contain the corresponding semantic attributes. C. Structures: A structure is a sequence of any other data types from the ABAP Dictionary, that is, data elements, structures, table types, or database tables. When we create a structure in the ABAP Dictionary, each component must have a name and a data type. In an ABAP program, we can use the TYPE addition to refer directly to a structure. If you define a local data type in a program by referring to a structure as follows: TYPES dtype TYPE structure. III. Types of database tables The Database in this application is implemented is implemented by means of tables. These tables can be grouped into different types based on their usage and requirement. Hence, the different tables are as following [2]: A. Transparent tables: A transparent table is a table that stores data directly. Transparent table is a one to one relation table i.e. when a transparent table is created then exactly same table will be created in data base and it is basically used to store transaction data. The transparent table contains a single table. For each transparent table there is one associated table in the database. The database table has the same name, same number of fields and the fields have the same names. A single table can have one or more primary keys as well as secondary indexes can also be created. They can be accessed using open and native SQL. These tables are used to hold master data. B. Pool tables: Pooled tables are logical tables that must be assigned to a table pool when they are defined. Pooled tables are used to store control data. Several pooled tables can be combined in a table pool. The data of these pooled tables are then sorted in a common table in the database. They are used to hold a large number of very small tables (stores customizing data or system data).It has a many-to-one relationship with a table in the database. It is stored with other pooled tables in a single table called table pool in the database. The database table has different name, different number of fields and fields have different names. Table pools contain more tables than table clusters. Primary key of each table does not begin with same fields or fields. However, secondary indexes cannot be created. They can be accessed using open SQL only. They reduce the amount of database resources needed when many small tables have to be opened at the same time. C. Cluster tables: Cluster tables are logical tables that must be assigned to a table cluster when they are defined. Cluster tables can be used to store control data. They can also be used to store temporary data or texts, such as documentation. They are used to hold data from a few large tables. It has a many-to-one relationship with table in the database. Many cluster tables are stored in a single table in the database called a table cluster. The database table has different name, different number of fields and fields have different names. These tables contain lesser tables than table pools. Primary key of each table begins with same fields or fields but the secondary indexes cannot be created. These tables can be accessed using open SQL only. They would be used when the tables have primary key in common and data in these tables are all accesses simultaneously.
  • 3. Preeti Singh Bhadoria et al., International Journal of Engineering, Business and Enterprise Applications, 8(1), March-May., 2014, pp. 48-52 IJEBEA 14-228; © 2014, IJEBEA All Rights Reserved Page 50 IV. Database tables in online examination application The database of the Online Examination Application is basically composed of three main tables apart from the ones that are automatically created by the system. These tables are required to hold the information of the registration details of the candidates, show the various questions that can be uploaded along with the possible options and finally the third table is of the results which holds the correct options as well as computes the total of the candidates. The different tables thus are as following: A. The registration table: The Registration Table is the first table named as ZOES_REGTABLE is responsible for holding the various entries which are to be made by the candidate through the registration page in order to register him to take up the test. The candidate is required to make the entries like the email id, his name, address and the contact number. It is mandatory on the part of the candidate that all the entries are made i.e. the candidate cannot skip any of the entries otherwise the registration is cancelled. The Registration Table of the Online Examination Application can be seen as following: Figure 1: The Registration Table Data types of the registration table: In the database tables it is required that the entries have to be specified with a particularly specified data type. Here also the data types of all the entries have been mentioned. The email, names and address fields have been mentioned of the type character. The date of birth has been mentioned of type DATS. The pincode and the contact number have been mentioned of type number. It is interesting to note that there are also various type of validation checks in the different fields. The email field prevents the use of the different special characters, spaces and the use of the capital letters. The names field also prevents the use of the special characters and the numerals. The fields that have been declared of type number have a validation of inserting only numerals and all other data types have been restricted. Primary key for the registration table Primary key is the key which is required to be unique and should always be not null. In the registration table the email id of the candidate has been declared as the primary key. This is because the email id of each candidate is always a unique entity which is the foremost requirement for any entry to be declared as the primary key. The contents of the Registration Table can be seen as following where the different entries are shown: Figure 2: Entries held in registration table.
  • 4. Preeti Singh Bhadoria et al., International Journal of Engineering, Business and Enterprise Applications, 8(1), March-May., 2014, pp. 48-52 IJEBEA 14-228; © 2014, IJEBEA All Rights Reserved Page 51 B. The question upload table: The Question Upload Table is named as the ZOESEXAM. This table is responsible for holding the various questions along with the four possible options. The last option shows the correct answer for that question. The ZOESEXAM table can be seen as below with the various table entries: Figure 3: The Question Upload Table Data types of the question upload table: This table consists of the question number which is defined of type number. The next field entry is the question number which is of type string. Followed by the question are the four options for each question which are again of type character. Lastly there is option which happens to be the correct answer for that particular question which of type character. Primary key for the question upload table: The primary key for this table is the question number which is unique entity for each table. Hence, as it serves the uniqueness feature of the primary key therefore, it is chosen as the same. The figure below displays the contents of the question upload (ZOESEXAM): Figure 4: Entries held in Question Upload Table C. The result table: This table is the final of the three tables created for the Online Examination Application. This table is responsible for holding the answers to the questions as have been answered by the various candidates. This table is especially important as it helps in computation of the result of each candidate by comparing his answers with the correct ones. If the answer happens to be correct than the marks are allotted for the same. However, if the answer is incorrect than as per the marking scheme the negative marks are deducted from the total and likewise the result is generated. This table is mentioned as ZOES_RESULT. The table with its various entries is shown in the figure 5. Data types of the result table: The result table consists of four data entry fields. The first entry i.e. the question number is of type number. The next table entry is the user_name which is the name of the candidate and is defined of type character. The next field is k_date which signifies the date on which the exam was taken by the candidateis of type DATS. The last table entry is the Response field which holds the option that has been selected by the candidate as his reply to the question. Primary key for the result table: The primary key for the ZOSE_RESULT table is actually a combination of the three fields i.e. the question number, user name (user_name) and the date (k_date) on which the exam was taken. These here are combined by the use of a join operation and then taken as a single primary key for the entire table.
  • 5. Preeti Singh Bhadoria et al., International Journal of Engineering, Business and Enterprise Applications, 8(1), March-May., 2014, pp. 48-52 IJEBEA 14-228; © 2014, IJEBEA All Rights Reserved Page 52 Figure 5: The Result Table This was done as taking any of the keys singly would not help to maintain the uniqueness criteria for the primary key. The question number field is not chosen since the same question as will be answered by the different candidates will tend to over write the previous question by the next one. Secondly, the user_name field could not be taken as the primary key as there can possibly be two or more than two candidates by the same name. finally, the third field i.e. The exam date (k_date) is not chosen as the primary key as, if the test is again intended to be taken at some future date then it will over write all the previous test details and hence the primary requirement of data consistency does not stand accomplished. Hence, owing to these reasons the above mentioned keys have not been mentioned as the primary key instead all the three have been combined together to form a single and unique primary key. The table ZOES_RESULT with the contents can be seen as in the figure below. The figure shows the different questions along with their correct answers and the ones that have been answered by the candidates. Upon matching the answers with their correct options the marks of the individual candidate are also computed which can then be sent to the candidate via email. Figure 6: Entries held in The Result Table V. Conclusion Hence, it can be concluded that using the different database tables not only adds to the usability of the system but also makes it much more convenient to handle. Here also we see that the different tables that have been created serve the purpose of handling the data effectively and thus they reduce the ambiguity of the data. VI. References [1].Kapil, Shwetank Sharma, Sanjay Ojha , “Online Examination Application using SAP ABAP”, Unpublished. [2].http://www.informit.com/articles/article.aspx?p=425384 [3].http://www.saptechnical.com/Tutorials/ABAP/Pool/Index.htm [4].http://help.sap.com/saphelp_nw70/helpdata/en/fc/eb3138358411d1829f0000e829fbfe/content.htm VII. Acknowledgements It is a well-known fact that no task is achieved single handedly. It is always a collective task that is rewarded. Hence, in the present task too there are a number of people who are responsible in bringing out this paper in its current form. We would first of all like to extend our gratitude the entire management at CDAC Noida for supporting and providing us with the opportunity to utilize such a platform. We would also like to thank Ms. Mary Jacintha (HOD, School of Management) and all the respective faculty members for their constant support and guidance.