Personal Growth Abap Objects Horst Keller Pdf


Sunday, June 16, 2019

The rights of Horst Keller and Sascha Krüger to be identified as Authors of this ABAP objects: introduction to programming SAP applications / Horst Keller and. ABAP Programming in SAP NetWeaver™ 6 Advanced Concepts in ABAP Objects. Horst Keller would like to thank his wife Ute, as always, who again. Hi there,I am looking for a good book on ABAP Objects for a beginner in OOPS. The first book by Horst Keller whose pdf link i have mentioned is the best.

Abap Objects Horst Keller Pdf

Language:English, Spanish, German
Genre:Personal Growth
Published (Last):22.10.2015
ePub File Size:20.33 MB
PDF File Size:11.24 MB
Distribution:Free* [*Regsitration Required]
Uploaded by: HORTENSE

ABAP Objects: Introduction to Programming SAP Applications (SAP Press). Home · ABAP Objects: Author: Horst Keller | Sascha Kruger DOWNLOAD PDF. Download as DOCX, PDF, TXT or read online from Scribd Based on ABAP Objects, this + page book describes all concepts of modern ABAP up to About the Authors Dr. Horst Keller is a Knowledge Architect working in the SAP. Why Use ABAP Object by Horst Keller - Download as PDF File .pdf), Text File . txt) or read online. Why Use ABAP Object by Horst Keller.

Memory overwriting, even for references! Not permitted on numeric data objects Field symbols: No implicit type assignment, compatible initial values only, passing sy-subrc not permitted, raising undefined exceptions not permitted Program calls: Only performed on character-type or byte-type ranges, and only on flat character-type initial parts of structures Memory accesses: No access to memory outside a data object Separation of byte string and character string processing: When assigning and comparing you must take the Unicode fragment view into consideration File interface: Implicitly opening files not permitted; access, storage, and coding type must be specified explicitly; no write access to read-only files Conversions: Screen handling in function modules Screen handling in function modules Further step: SAP Press Books: Articles in Journals: Feedback Thank You!

The information contained herein may be changed without prior notice.

Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. All other product and service names mentioned are the trademarks of their respective companies.

All Rights Reserved. Flag for inappropriate content. Related titles. Jump to Page. Search inside document. Konstantinidis Antonis. Muhammad Asghar Khan. John Son.

ABAP Objects- ABAP Programming in SAP NetWeaver

Allen Qiu. Sankar S Uma. More From desiguy Popular in Computer Engineering. Pearl Kimberly Quidor Lavarez. Luis Sahua Villegas. E E Module pool A module pool can contain all possible declarative statements. All processing blocks are supported except for the reporting event blocks and function modules.

Subroutine pool A subroutine pool can contain all possible declarative statements. You can call the subroutines, but you can also execute methods using transaction codes. You cannot call or execute a type group.

In addition to the mentioned compilation units, that is, programs that can be compiled independently, there are also include programs, which will be discussed separately in Chapter 4, Section 4.

In ABAP, a program execution means that the system loads a program into the memory and executes one or more of its processing blocks.

Called program execution In the called program execution, a running program calls a procedure method, function module, or subroutine of another program that is loaded into the internal session of the caller if required see Chapter 6, Section 6. The program flow within the standalone program execution depends on the selected program type and the type of the program call: E E In a program call via a transaction, you must differentiate between object-oriented OO transaction and dialog transactions.

For object-oriented transactions, the transaction code is linked with a method of a local or global class. The pro- 52 21 Program Type and Program Attributes 3.

Abap 21 days book

Dialog transactions, however, are linked with a classical dynpro of the program. Here, the program flow is determined by the associated dynpro flow logic.

You must select the program type taking into account the technical attributes of a program mentioned here and the requirements on the program execution. Not all mentioned program types can still be used reasonably for new developments.

EE For the implementation of completed functionality that is not supposed to be displayed in the class library, you can use the program type, subroutine pool, for local classes. Furthermore, you must use function groups to wrap classical dynpros or selection screens. EE If an execution is required within the scope of a background processing, this automatically results in the executable program type. E E No new module pools and type groups are supposed to be created any longer. Details The hierarchy provided in Rule 3.

The following list further describes the specific aspects: 2 As of Release 7. The call is done either via a method call or an OO transaction if you want a standalone program execution. To implement closed functionality that is not supposed to be called via a method call but instead by using a transaction code, which additionally neither requires a parameter transfer nor has a user interface UI , you can use the subroutine pool program type.

The implementation will be carried out only via local classes, and the program call will be carried out via an OO transaction.

Get FREE access by uploading your study materials

Subroutine pools were as the name suggests originally intended for subroutines that were called from other programs. Because subroutines, and particularly their external call, are declared as obsolete within these programming guidelines, this intended use for subroutine pools is no longer given. Instead, subroutine pools are proposed as independent containers for local classes because they are hardly impacted by implicit processes of the ABAP runtime environment otherwise.

Remote-enabled Function Modules RFM , which provide functionality via the RFC interface either across servers or across systems or are used for parallelization, can only be created in a function group. The implementation of the actual functionality, however, is to be carried out in a class, for example, in a local class within the function group see Rule 6.

Programs with a classical dynpro interface or selection screens as far as they should still be required; see Rule 5. This program type is suitable because it can contain both classical dynpros and an external functional interface in the form of function modules.

The dialog modules of the function group called by the dynpro flow logic should basically contain method calls only, for instance, for methods of local classes.

E E An executable program includes several event blocks that are executed when the various reporting events occur. This form of event control is largely obsolete 54 23 Program Type and Program Attributes 3. Executable programs should only be used where they are technically required, thus mainly for background processing. In this case, too, the actual implementation should be carried out in methods, for example, via methods of a local class within the executable program.

E E The module pool used to be the program type, which was traditionally used for the classical dialog programming with dynpros. As discussed in Chapter 2, Section 2. For this reason you should not create any new module pools. Instead, you should encapsulate classical dynpros in function groups if they still need to be used.

E E The type group program type was initially implemented as a workaround because occasionally it was not possible to define any types for internal tables in the ABAP Dictionary. The same applied to the global storage of constants. Both gaps have been closed in the meantime. In the ABAP Dictionary, you can define any types, and in global classes and interfaces, it is possible to create both types and constants for package-wide or system-wide use.

For this reason, the type group program type is obsolete, and no new type groups are supposed to be created any longer in Chapter 6, see Section 6. Note In cases in which you still use program types other than class and interface pools, you should activate the check Obsolete Statements OO Context in the extended program check see Section 3. Fixed point arithmetic For considering the decimal separator in operations with packed numbers.

Logical database For connecting an executable program with a logical database. You define the program attributes when you create a program using the corresponding tool Class Builder, Function Builder, ABAP Editor , and it is technically possible to change them later. Rule Rule 3.

Once the program attributes are set, you should not change them retroactively. Details Different behaviors or check severities are only provided for compatibility reasons to keep existing programs compilable and executable.

New programs should not use obsolete settings by any means. EE When you create a new program, the Unicode Checks Active attribute is already set as a default setting. This attribute must never be reset. Only when the Unicode checks are activated can you ensure that the program can be executed both in Unicode systems and in non-unicode systems and that it provides the same results, respectively.

On a Unicode system, you can only execute Unicode programs; Unicode programs, however, can also be executed on non- Unicode systems. The programs provided by SAP are usually Unicode programs. The activation of the Unicode checks only provides benefits for the developer, for instance, in the form of a more stringent static type check and a stricter separation of byte and character string processing.

When you create a new program, the Fixed Point Arithmetic attribute is already set as a default setting. If the fixed point arithmetic is deactivated, the position of the decimal separator of packed numbers type p is only considered for the display in a classical dynpro or for the formatting using WRITE TO but not for calculations.

Today, such behavior meets the developer s expectations only in rare cases.

If the calculation is supposed to be carried out with packed numbers without any decimal places, this must be specified by adding DECIMALS 0 in the declaration. When you create a new executable program, the Logical Database attribute is empty. Via this attribute, the executable programs are assigned to a logical database, 4 which combines the selection screen and the flow of the program with the selection screen and the flow of the logical database. Logical databases should no longer be used because they are based on the cross-program use of global data, implicit subroutine calls, and the reporting event control, and are therefore contrary to modern concepts.

You should no longer create new logical databases. Instead, you should provide a corresponding service via a global class. Because a subsequent change to the program attributes potentially involves changeover effort, you should set the correct attributes right from the start and not change them later on.

Particularly for attributes that influence the syntax check currently the Unicode check you should always decide for the highest possible check severity to be well prepared for subsequent, possibly requested changeovers. The following sections assume that you only work with the activated Unicode check and the fixed point arithmetic and without the logical databases.

For obsolete or problematic language constructs, which are only available if the Unicode 4 A logical database is a special development object that is processed in the Logical Database Builder and provides other ABAP programs with data from the nodes of a hierarchical tree structure. A logical database includes a hierarchical structure, a database program written in ABAP, and its own standard selection screen.

They are only mentioned briefly within the list of the obsolete language elements see Appendix A, Obsolete Language Constructs. Bad Example Figure 3.

Figure 3. The result in the components depends on the alignment gaps, the internal presentation of the numeric values byte order , and the used code page, and it is therefore extremely platform-dependent.

A live program must not contain such code by any means. This usually results in erroneous data or runtime errors that are difficult to reproduce. Unwanted subfield accesses are prohibited just like any other unwanted accesses to structures or other parts of the working memory. If it is possible to statically determine them, this results in a syntax error similar to the one in the example shown here.

Otherwise, a runtime error occurs with a meaningful short dump while the program is executed. This is done implicitly using the current logon language. All texts of the development object, which are created during the development and can be translated, such as descriptive short and long texts, text elements of a program, and also the documentation of data types or interfaces, are assigned to the specified original language.

The creation of the texts in other languages is implemented in a translation process, which is detached from development, from the original language into the target languages.

Customers who viewed this item also viewed

Currently, there is no technical support for the project-wide replacement of the previously selected original language with another language. Developers may create their development objects only in the original language determined for the respective project or for a subproject in exceptional cases.

Details When you determine the original language, you should proceed as follows: E E In case of a unilingual staff assignment of all development groups that participate in a project, the original language of all development objects is the native language of all developers involved unilingual development. E E In case of a multilingual staff assignment of the development groups, EE EE the original language of all development objects is either a language that all people involved understand, which is usually English unilingual development , or the original language of the development objects in individual parts of the project is based on the native language of the developers that mainly work on these parts multilingual development.

The two possible settings for multilingual developer groups unilingual or multilingual development meet two different requirements, which are contradictory: EE EE When a user logs on to a system in a language different from the original language, it is usually not possible to reasonably work with a product that is still being developed or newly developed until the relevant texts are available in the respective target language.

The translation is usually carried out in a downstream translation system and then transported back into the development system. For this reason, an efficient development, particularly in internationally staffed development groups that are possibly distributed across multiple locations , is only possible if a uniform original language is determined for the entire project at the beginning. This original language then enables all persons involved in the development and validation process to use the product at least for testing.

In case of a unilingual development in multilingual development groups, some or even all developers of a project must create texts in a language that is not their native language.

Usually, there is no support provided in the form of tools or defined processes for linguistic or stylistic checks of the UI texts and documentations, which developers create in languages that are not their native language. Therefore, it is desirable that the developers that participate in the development of user dialogs and documentations work in their native language and that trained translators translate these texts into their native language based on specified terminology.

The latter is the reason why English is not claimed as the comprehensive uniform original language of all development projects. Instead, unilingual development groups should definitely work in their native language with a possibly downstream translation. In multilingual development groups, it ultimately depends on the case to specify the original language for each development object.

The first reason usually outweighs so that a unilingual development must be implemented in international development to use the development resources of a project as effectively as possible. In individual cases, it can absolutely make sense to specify the native language of the developers as the original language in subprojects in which a high quantity of text must be created. Table contents should also be created in a uniform language. Tip Because the original language is determined by the logon language when a repository object is created, you must deliberately decide on a logon language when creating and processing repository objects.

Note Irrespective of whether you implement a unilingual or multilingual development with a project, you must always create a uniform terminology for all texts created in the project before you start a development and adhere to it consistently. In a multilingual development, you should implement the translation of the terminology into the languages used, preferably before the development starts so that the developers can use it. In addition, you must always comply with the existing standards for UI texts and documentation in Chapter 2, see Section 2.

Further developments of the ABAP language are either extensions of the existing language attributes to implement new functionality or to replace existing functionality with more advanced concepts. The replacement of existing language elements with new ones usually makes the existing language elements superfluous or obsolete. The only exception is the changeover to Unicode systems for which the ABAP programs must be converted into Unicode programs with slightly changed syntax rules.

ABAP beginners get confused by the multitude of options available to do one and the same thing. If in doubt, older programs serve as templates, and the obsolete concepts are frequently used instead of the new ones.

To remedy these problems, you can use the following simple rule. It is also recommended to incrementally change over to newer concepts as they are available.

Details Newer language elements are always the better language elements. Obsolete language elements are only provided for downward compatibility reasons. A statement or statement addition is declared as obsolete only when a more powerful alternative exists or when the language element is determined as prone to errors in the sense that it invites insecure and nonrobust programming. For this reason, secure and robust programming is not possible if obsolete language elements are used, which makes the use of such obsolete language elements out of the question for new developments.

If ABAP Objects is used, the majority of the obsolete statements and additions are already prohibited syntactically. For this purpose, Appendix A, Obsolete Language Constructs, provides an overview of the obsolete statements and statement additions.

ABAP® Objects.pdf - Horst Keller Sascha Krger ABAP Objects...

A procedure is supposed to replace all occurrences of a substring in a text with a new character string new if the substring is not at the end of a word. CLEAR subrc. Furthermore, as of Releases 7.

Good Example Listing 3. The latter increases the execution 64 33 Checks for Correctness 3. Note In connection with Rule 3. There is only one area in which this is clearly syntactically defined, that is, the use of the classical and the class-based exception concept in Chapter 5, see Section 5.

Else, obsolete language elements can be directly next to new language elements in a program part. In this context, it is recommended to design the use as consistently as possible within a context, that is, to not use different statements, such as FIND and SEARCH, in parallel for the same purpose.

However, this does not mean that if already existing procedures are extended, you should still use obsolete language elements for consistency reasons just because they already exist there. You should rather use the opportunity and directly change the entire procedure to the corresponding new language elements.

By covering the procedures to be changed with module tests, you can ensure that no surprises occur during such a changeover. This section now particularly discusses the syntactic correctness of ABAP programs, which is controlled using the syntax check and the extended program check as well as the standard check of the Code Inspector and the new ABAP Test Cockpit ATC Syntax Check Background The syntax check provides syntax errors and syntax warnings: E E As soon as a syntax error occurs, the system ends the check and displays a corresponding error message.

Programs with syntax errors can be activated, but they cannot be generated and therefore executed. In the extended program check, the syntax errors are reported as fatal errors. Syntax errors must be remedied by all means.About the Authors Dr. Joy Bhattacharjee added it Sep 20, If u have this report means kindly forwarde to me. The thing is, I don't know whether there is some content in the book that already obsolete.

The latter is the reason why English is not claimed as the comprehensive uniform original language of all development projects. A live program must not contain such code by any means.

The extended program check outputs errors, warnings, and messages. Popular in Computer Engineering.