ABAP Development Services
Disen Technology's SAP system development team has rich experience in SAP development and provides personalized customized solutions for corporate customers. We have accumulated a range of development assets across numerous projects and are able to quickly match customer needs.
Our professional team fully evaluates the individual needs of customers and gives the best development solution suggestions. The development plan will also fully consider the performance of the system to ensure optimal performance of various customized developments and provide complete development delivery documents.
Introduction to ABAP
ABAP was first developed in the 1980s as a fourth-generation programming language for specific applications. It was originally used as a reporting language on SAP R/2, a platform that helps large companies build raw material management and financial accounting management business applications on mainframes. ABAP was originally the abbreviation of the German AllgemeinerBerichtsaufbereitungsprozessor, which means "universal report preprocessor". For the first time, ABAP introduces the concept of a "logical database", which provides higher-level abstractions at the basic database layer.
Although SAP first released R/3 in 1992, ABAP can still be used to write programs for the R/3 system. In the 1990s, with the development of computer hardware, more and more SAP application software and systems were implemented with ABAP. Until 2001, almost all basic functions were implemented by ABAP programming. In 1999, when SAP released R/3 version 4.6, it also released an object-oriented extension to ABAP called ABAP Objects; SAP's latest development platform NetWeaver supports both ABAP and Java.
Operating environment
All ABAP programs reside in the SAP database. They are not stored in a separate external file like Java or C++ programs. All ABAP codes in the database exist in two forms: source code that can be viewed and edited with ABAP workbench and loaded and interpreted by the ABAP runtime environment. "compiles" the code (technically more precisely "produces" the code). Code generation is performed implicitly when an ABAP source code is invoked for the first time. If the source code changes later or the objects accessed by the program change (for example, new fields are added to the database table), the generated code will be automatically regenerated.
ABAP programs run in the SAP application server under the control of the runtime system (part of the SAP core). The runtime system is responsible for processing ABAP statements, controlling the logical sequence of displays and responding to events (for example, the user presses a button on the screen). A key component of the ABAP runtime system is the database interface, which turns ABAP's database-independent statements ("Open SQL") into statements that the underlying database management system can understand ("Native SQL"). The database interface handles all communication between the ABAP program and the relational database; it also has some other functions, such as caching frequently accessed data into the application server's local storage.
ABAP type
module pool
These programs use a series of screens to define more complex patterns of user interaction. The term "screen" refers to the actual physical image that the user sees. Each screen also has a "flow logic"; this refers to the ABAP code triggered by the screen, such as the logic that initializes the screen, responds to user requests, and controls the sequence between screens in the module pool. Each screen has its own flow logic, and each flow logic is divided into "PBO" (pre-processing output) and "PAI" (post-processing input) sections. In SAP's documentation, the term "dynpro" (dynamic program) is used to denote this combination of screen and flow logic.
Online programs are not called by name, but are associated with a transaction code. User can trigger them through custom, role dependent, transaction menu. In addition to reports and online programs, it is also possible to develop shared code segments in the form of class libraries, function libraries and subroutine pools.
Reporting program
Reporting programs follow a relatively simple programming model in which the user optionally enters a series of parameters (for example, a selection on a subset of data), and the program then generates a report in the form of an interactive list based on the input parameters. The output of the report program is interactive because it is not a passive display; it allows the user to use the ABAP language to obtain a more detailed view of a certain data through the drill-down function, or to trigger more in-depth processing through menu commands, such as Sort data in different ways or filter data by some selection criteria. This method of presenting reports has great advantages, especially for users who need to process large amounts of information but want to examine this information in a flexible way, so that they are no longer restricted to a fixed display format. Or in a tabular report of unmanageable size. This convenient way of developing interactive reports is an important highlight of the ABAP language.
development tools
ABAP Workbench has several different tools for editing container objects. These tools can provide you with assistance covering all stages of the entire software development cycle. The most important tools for creating and editing container objects are:
ABAP Editor: Write program code
ABAP Dictionary: Process database table definitions, retrieve global types
Menu Painter: Design user interface (including menu bar, standard toolbar, application bar, configuration function keys)
Screen Painter: Design screens for user dialogs (dynamic programs)
Function Builder: display and process function blocks
Class Builder: display and process ABAP object classes
Grammatical features
Consists of separate sentences. The first word of each statement must be an ABAP keyword. Words must be separated by at least one space. Each statement must end with a period. A statement can span multiple lines, as long as it does not encounter a period, it is considered a continuation statement.
Multiple statements can be placed on one line. ABAP is not case-sensitive, and the keywords and user operands are the same. For ease of reading, the keywords are generally capitalized and the operands are lowercase. If the first keywords in multiple consecutive lines are the same, you can use chain statements to reduce input.
™data: id type I.
™data: name type c.
™ can be written as:
™data: id type I ,
™ name type c.
Notes:
Comment lines begin with an asterisk (*) in the first column and must be written in the first column without preceding spaces.
Comments at the end of a line are preceded by double quotes (").
™data: id type i. “Define an object num data type as I
Technology Architecture
SAP's system architecture design is undoubtedly worth learning. The following is some relevant information I collected from the Internet, which can also be used as a reference for architecture design.
1. The implementation, development and maintenance processes are managed carefully and roles are clearly divided. Even during the development process of the project, BASIS personnel are still required to manage the operation and maintenance of the system;
2. Three environments: development, QA, production, integrated development process in the three environments;
3. Pay attention to permissions and auditing: all operations are bound to permissions, and each business operation is logged, and the database record is logically deleted. This puts forward corresponding requirements for the system architecture and database design specifications, and also imposes requirements on the system architecture and database design specifications. The implementation and operation and maintenance of the system put forward requirements;
4. Hierarchical definition of application server and database server: Different from the J2EE architecture, on the one hand, the independence of the application is maintained, and on the other hand, the stability of the database server is ensured;
5. System stability is paramount: even if performance is sacrificed, system stability must be ensured;
6. Module quality assurance: For the organization of testing, the complete testing process runs through the entire process of project development and implementation;
7. Performance of maintainability: On the one hand, it is based on operation and maintenance, monitoring all parts of the system software and hardware; on the other hand, the system architecture and programming model can support secondary development;
8. Performance of scalability: two manifestations in system architecture and physical deployment;
9. Usability: The interface operation is standardized, and there are complete tools for document production and interactive teaching courseware production;
10. All processing operations are transaction codes; operations can be tracked and traced;
11. Database table type definitions that conform to business characteristics will solidify the successful practices of database development in the development environment.
Our professional team fully evaluates the individual needs of customers and gives the best development solution suggestions. The development plan will also fully consider the performance of the system to ensure optimal performance of various customized developments and provide complete development delivery documents.
Introduction to ABAP
ABAP was first developed in the 1980s as a fourth-generation programming language for specific applications. It was originally used as a reporting language on SAP R/2, a platform that helps large companies build raw material management and financial accounting management business applications on mainframes. ABAP was originally the abbreviation of the German AllgemeinerBerichtsaufbereitungsprozessor, which means "universal report preprocessor". For the first time, ABAP introduces the concept of a "logical database", which provides higher-level abstractions at the basic database layer.
Although SAP first released R/3 in 1992, ABAP can still be used to write programs for the R/3 system. In the 1990s, with the development of computer hardware, more and more SAP application software and systems were implemented with ABAP. Until 2001, almost all basic functions were implemented by ABAP programming. In 1999, when SAP released R/3 version 4.6, it also released an object-oriented extension to ABAP called ABAP Objects; SAP's latest development platform NetWeaver supports both ABAP and Java.
Operating environment
All ABAP programs reside in the SAP database. They are not stored in a separate external file like Java or C++ programs. All ABAP codes in the database exist in two forms: source code that can be viewed and edited with ABAP workbench and loaded and interpreted by the ABAP runtime environment. "compiles" the code (technically more precisely "produces" the code). Code generation is performed implicitly when an ABAP source code is invoked for the first time. If the source code changes later or the objects accessed by the program change (for example, new fields are added to the database table), the generated code will be automatically regenerated.
ABAP programs run in the SAP application server under the control of the runtime system (part of the SAP core). The runtime system is responsible for processing ABAP statements, controlling the logical sequence of displays and responding to events (for example, the user presses a button on the screen). A key component of the ABAP runtime system is the database interface, which turns ABAP's database-independent statements ("Open SQL") into statements that the underlying database management system can understand ("Native SQL"). The database interface handles all communication between the ABAP program and the relational database; it also has some other functions, such as caching frequently accessed data into the application server's local storage.
ABAP type
module pool
These programs use a series of screens to define more complex patterns of user interaction. The term "screen" refers to the actual physical image that the user sees. Each screen also has a "flow logic"; this refers to the ABAP code triggered by the screen, such as the logic that initializes the screen, responds to user requests, and controls the sequence between screens in the module pool. Each screen has its own flow logic, and each flow logic is divided into "PBO" (pre-processing output) and "PAI" (post-processing input) sections. In SAP's documentation, the term "dynpro" (dynamic program) is used to denote this combination of screen and flow logic.
Online programs are not called by name, but are associated with a transaction code. User can trigger them through custom, role dependent, transaction menu. In addition to reports and online programs, it is also possible to develop shared code segments in the form of class libraries, function libraries and subroutine pools.
Reporting program
Reporting programs follow a relatively simple programming model in which the user optionally enters a series of parameters (for example, a selection on a subset of data), and the program then generates a report in the form of an interactive list based on the input parameters. The output of the report program is interactive because it is not a passive display; it allows the user to use the ABAP language to obtain a more detailed view of a certain data through the drill-down function, or to trigger more in-depth processing through menu commands, such as Sort data in different ways or filter data by some selection criteria. This method of presenting reports has great advantages, especially for users who need to process large amounts of information but want to examine this information in a flexible way, so that they are no longer restricted to a fixed display format. Or in a tabular report of unmanageable size. This convenient way of developing interactive reports is an important highlight of the ABAP language.
development tools
ABAP Workbench has several different tools for editing container objects. These tools can provide you with assistance covering all stages of the entire software development cycle. The most important tools for creating and editing container objects are:
ABAP Editor: Write program code
ABAP Dictionary: Process database table definitions, retrieve global types
Menu Painter: Design user interface (including menu bar, standard toolbar, application bar, configuration function keys)
Screen Painter: Design screens for user dialogs (dynamic programs)
Function Builder: display and process function blocks
Class Builder: display and process ABAP object classes
Grammatical features
Consists of separate sentences. The first word of each statement must be an ABAP keyword. Words must be separated by at least one space. Each statement must end with a period. A statement can span multiple lines, as long as it does not encounter a period, it is considered a continuation statement.
Multiple statements can be placed on one line. ABAP is not case-sensitive, and the keywords and user operands are the same. For ease of reading, the keywords are generally capitalized and the operands are lowercase. If the first keywords in multiple consecutive lines are the same, you can use chain statements to reduce input.
™data: id type I.
™data: name type c.
™ can be written as:
™data: id type I ,
™ name type c.
Notes:
Comment lines begin with an asterisk (*) in the first column and must be written in the first column without preceding spaces.
Comments at the end of a line are preceded by double quotes (").
™data: id type i. “Define an object num data type as I
Technology Architecture
SAP's system architecture design is undoubtedly worth learning. The following is some relevant information I collected from the Internet, which can also be used as a reference for architecture design.
1. The implementation, development and maintenance processes are managed carefully and roles are clearly divided. Even during the development process of the project, BASIS personnel are still required to manage the operation and maintenance of the system;
2. Three environments: development, QA, production, integrated development process in the three environments;
3. Pay attention to permissions and auditing: all operations are bound to permissions, and each business operation is logged, and the database record is logically deleted. This puts forward corresponding requirements for the system architecture and database design specifications, and also imposes requirements on the system architecture and database design specifications. The implementation and operation and maintenance of the system put forward requirements;
4. Hierarchical definition of application server and database server: Different from the J2EE architecture, on the one hand, the independence of the application is maintained, and on the other hand, the stability of the database server is ensured;
5. System stability is paramount: even if performance is sacrificed, system stability must be ensured;
6. Module quality assurance: For the organization of testing, the complete testing process runs through the entire process of project development and implementation;
7. Performance of maintainability: On the one hand, it is based on operation and maintenance, monitoring all parts of the system software and hardware; on the other hand, the system architecture and programming model can support secondary development;
8. Performance of scalability: two manifestations in system architecture and physical deployment;
9. Usability: The interface operation is standardized, and there are complete tools for document production and interactive teaching courseware production;
10. All processing operations are transaction codes; operations can be tracked and traced;
11. Database table type definitions that conform to business characteristics will solidify the successful practices of database development in the development environment.