Wednesday, May 9, 2012

SAP R/3 ABAP Programming

Here are concise yet in-depth explanations on efficiently coding SAP ABAP programs. Information here has been distilled from several classes and hundreds of pages covering IDE and other tools, program types, contexts, persistence, trace, and other difficult topics.



What Is ABAP?

    The R/3 kernel (system runtime environment) itself is written in standard C or C++.
    But application programs running inside R/3 are written using SAP's proprietary programming language ABAP (pronouced as ahhh-bap).
    Note: the "/4" in "ABAP/4" has been dropped over the confusion that the "4" referred to "R/4", which doesn't exist.
    Netweaver AS (Application Server) combines which SAP calls two "personalities" because WebDynpro (pronouced "web din pro") for ABAP and WebDynpro for Java use the same meta model. WebDynpro components, views, models, and controllers have the same semantics in both ABAP and Java.
    The main difference is the design-time environment, the development infrastructure, and the run-time environment.
 

Go to Top of this page.
Next topic this page

Set screen Architecture

    Components are reusable (nestable) units of the application project. Components appear as nodes within the object list on the left side of the Workbench window.
    The components (sub-objects) of an ABAP program are:
    • Source code - instructions written by ABAP programmers that are interpreted by the SAP ABAP language intrepreter.
    • Variants - input values that can change but are not frequently used.
    • Attributes - properties of each ABAP program, such as its program type, title, creation and last modified date, and active status.
    • Documentation - helps other programmers understand the program flow.
    • Text elements - short descriptions such as report column headings. Some headings can be replaced with the longer text.
    Within SAP, objects are small programs related to screen design, menu design, and other functions.
    Dialog programs and their components are created and edited from menu Workbench > Edit object (Shift+F5)Program.
    Generally, there are two types of ABAP programs:
    • dialogs.
    • reports (interactive and traditional) which displays selection screens (for users to provide filtering criteria) and output (report) screens.
 

  • SAP's Architecture Manual WebDynpro
  • SAP's Tool Maual for WebDynpro for ABAP
  • SAP's Reference Guide WebDynpro for ABAP

Go to Top of this page.
Next topic this page

Set screen Different Types of ABAP object programs

    ABAP Program TypeIntroduced with first partCalled usingCan do
    1 (one) = ExecutableREPORTSUBMIT (LEAVE TO TRANSACTION) &
    SUBMIT AND RETURN (CALL TRANSACTION)
    started by entering the program name or using a transaction code; can have its own screens.
    M = Module (in Module Pool)PROGRAM (using Transaction Maintenance transaction SE93)only by transaction code:
    CALL TRANSACTION or
    LEAVE TO TRANSACTION;
    Can be called using tcode or menu. Have their own dialog screens.
    S = Interface Definition Subroutine poolsPROGRAMnon executable container programs for sub-routines called externallycannot have its own screens.
    F = Function GroupFUNCTION-POOLnon executable container for function modules.can have its own screens.
    K = Class Definition (container programs for global classes)CLASS-POOLnon executable container for classes.cannot have its own screens.
    J = Interface Definition (container programs for global interfaces)CLASS-POOL TABLESnon executable container for interfaces.cannot have its own screens.
    T = Type GroupsTYPE-POOLnon executable container for type definitions.cannot have its own screens.
    I = Include Program non executablecontainer for modularizing ABAP source code.noneINCLUDE statement.-


Go to Top of this page.
Next topic this page

Set screen Transports and Packages

    When an ABAP module is first created, it is stored as an inactive local object in a $TMP temporary transport.
    With ABAP, deployment of components are organized as Transport definitions.
    Objects need to be activated for editing.

Go to Top of this page.
Next topic this page

Set screen Screens

    To invoke the Screen Painter tool, use tcode SE51 or from the Object Navigator tool.
    Screen attributes include its number (default to 0100 for the first screen), short description, subsequent screen number, and type of screen:
    • normal
    • subscreen
    • modal (pop-up) dialog box
    • selection
    Goto Layout (placement) of screen elements (text label, input/output edit fields, text boxes, push buttons, radio buttons, etc.).
    Goto Secondary window to set Attributes for each field screen element in the Element List (Dict. data type (such as numbers only), format, length, etc..
    Flow logic is determined by ABAP program source code events and keywords:
    • TOP where globals are defined.
    • PROCESS BEFORE OUTPUT. (PBO) to display screen
    • PROCESS AFTER INPUT. (PAI)
    • PROCESS ON HELP-REQUEST. (POH) when F1 is pressed
    • PROCESS ON VALUE-REQUEST. when F4 is pressed

Go to Top of this page.
Next topic this page

Set screen ABAP Language Source Code Syntax

    ABAP is a declarative language with a syntax similar to the COBOL language, but enhanced for use to specify both classic procedural and object-oriented processing.
    ABAP doesn�t care where a statement begins on a line. > Each statement (phrase) begins with a command keyword (verb) and
    ends with a period character (instead of the semicolon used in C and Java).
    An ABAP statement can span several lines (without continuation characters as needed in VB programs).
    Spaces separate words.
    Asterisks (*) in front of a line are recognized as comments and not processed.
    Double-quote characters (") mark the beginning of in-line comments. All code is ignored after a double-quote character. For this reason,
    single-quote (') characters encase a text string, which can contain spaces.
     The ABAP editor converts (marks) all text to UPPER CASE unless it's within single quotes.
    Statements with have an identical first part can be concatenated if there is a colon (:) after that first part and individual statements are separated with commas and a period (.) is placed after the last part.
    Object-oriented ABAP coding follow these conventions.
    hide h1. stores in a hide area the value of variable h1 from the current line of the current internal table.
 

     The SAP R/3 Style Guide maintained by the SAP Design Guild provides standards for accessible user interaction design of functions, UI elements (Screens, application and task menus, Fields, Checkboxes, Radio Buttons, Drop-Down List Boxes, Lists, Tables, Trees), hot keys, and presentation of dialogues and texts.
    String processing in German isZeichenkettenverarbeitung.

Go to Top of this page.
Next topic this page

Set screen Command summary

    OperationCommandsDescription
    Object assignmentMOVE variable1 TO variable2 assigns values to data objects to a variable. It works like the equal sign (=).
    MOVE-CORRESPONDING ... TO ...
    WRITE TO passes values to variables (mainly to fill character fields).
    CLEAR resets a data object to the initial value appropriate to its data type.
    -
    Numeric operationscompute var3 = var1 - var2
    subtract var2 from var1
    add var1 to var2
    divide var1 by var2
    multiply var1 by var2
    -
    Individual modularization unitsMODULE, PERFORM, CALL FUNCTION,
    CALL SCREEN,
    CALL TRANSACTION,
    CALL DIALOG,
    SUBMIT (CALL FUNCTION IN UPDATE TASK,
    CALL FUNCTION IN BACKGROUND TASK,
    CALL FUNCTION STARTING NEW TASK)
    These create a new user context:
    database accessSELECT * INTO TABLE tableB FROM dbTableA.
    endselect.
    EXEC SQL
    -
    Internal table operationsAPPEND,
    COLLECT,
    READ TABLE�WITH KEY�,
    INSERT ... INDEX ...
    SORT,
    BINARY SEARCH
    -
    delete internal tables and release memoryREFRESH,
    FREE
    -

    another page on this site Programming Logic contrasts ABAP with other programing languages' conditional (IF/ELSE/LOOP) statements.
    ULINE requests a line break in the output.

Go to Top of this page.
Next topic this page

Set screen Workbench

    WebDynpro application components are created and modified within the WebDynpro Explorer within the ABAP Workbench access from Tools > ABAP Workbench > Overview > (within the Application Hierarchy) SE80 > - Object Navigator

    The Workbench stores its assets (such as MIME definitions and ABAP development objects (packages, programs, functions) in a persistent Repository.
    ABAP Workbench organization of tools:
  • Development Function Builder, Screen Painter, Menu Painter)
  • Debugging
      ST05 SQL Trace
      SE30 Run Time Analysis (of memory usage) On Line Debugger to view variables while stepping through a program,
      SM21 System Log
  • Navigation (Application Hierarchy,
      SE80 Object Navigator
      SE84 ABAP Repository Information System
      SE16 Data Browser
  • Organizing
      SE09 Transport System to make moves requested using Workbench Organizer
 


Go to Top of this page.
Next topic this page

Set screen ABAP Editor

     ABAP Workbench is the IDE SAP supplies to edit, compile, and run ABAP programs.
    An ABAP program defines and maniulates data using statements of specific syntax.
    XML-based info objects can only be edited in the Knowledge Workbench.

Go to Top of this page.
Next topic this page

Set screen ABAP Data Dictionary (DDIC)

    The ABAP Dictionary contains:
    • table type
    • tables
    • views
    • data elements
    • domains (value ranges)
    • structures (hierarchy)
    • lock objects
    • online help information
    • search help information
    Each field in the DD is based on a built-in DD data type or a Data Element (which in turn is based on a Domain).
    The Data Element contains the more semantical information (text and documentation).
    The Domain defines the basic technical attributes:
    • Data type, length, number of decimals -- essential for dealing with fields correctly and building nice user interfaces that are aware of the field attributes.
    • Check table -- a separate table such as country name associated with a country code.
    • Fixed values -- information about codes stored in the Domain (not in a separate table).
    • Conversion exit -- in SAPGUI to translate between internal and external representations of data, because most BAPIs return and expect the internal format, which makes little to no sense to users.
    • Texts and documentation: SAP stores multiple texts per field and also extended documentation in many cases. This documentation is available in all installed languages and therefore an easy way to provide multi-lingual capabilities in applications.
    • Mixed case support. Indicates to the users which fields are uppercase only. Many text fields in SAP are uppercase only.
 


Go to Top of this page.
Next topic this page

Set screen SAPscript and forms

    A SAPscript form is a template that supplies the layout (for example, page size) and content (for example, sales data for an invoice) for business forms.
    SAPscript print program is needed to print, distribute, or display business forms.
    A form is made up of pages, which contains several windows (header, address, main, etc.). Text elements are formatted with paragraph formats (which define font and tab positions) and character formats (such as bold).
    Create a view for the component. This calls the Layout tab and creates the root element in the UI Element Hierarchy. See the view in the browser by embedding it actively in a WebDynpro window.
    Activate "Accessibility Checks Active" by clicking on the checkbox.
 

    -

Go to Top of this page.
Next topic this page

Set screen ABAP Functionality

    The functionality of an ABAP program include:
    • Receive requests and messages.
    • Present user interface (title bar, menu bar, standard & application toolbars, function keys).
    • Present screen elements (iViews push bottons, radio buttons, checkboxes, input fields, scroll fields).
    • Obtain user input in fields, mouse movements, etc.
    • Make calculations and edits.
    • Access databases.
    • web services (send responses).
    • Log activities.
    • Exit.
 


Go to Top of this page.
Next topic this page

Set screen Classic Sections and Events

    Classic ABAP programs are made up of self-contained sections (containing block of code) which cannot be nested. Events in ABAP report programs are executed in a predefined sequence.
    1. INITIALIZATION.
    2. SELECTION-SCREEN.
    3. START-OF-SELECTION. where select statements retrieve data.
    4. TOP-OF-PAGE.
    5. END-OF-PAGE.
    6. END-OF-SELECTION.
    Bolded events are only for ABAP report programs.
     Even though code sections can be specified in any order, it's better to keep this sequence.
    Code for an event ends when the next event name is specified.
    The STOP command causes (at runtime) a jump to the next section.

Go to Top of this page.
Next topic this page

Set screen Classic Data Declaration

    DATA DECLARATION. Defines:
      data i(8) type n value 0.
      data final type c value 'literal'.
      parameters x(15) type c.
      select-options Number for x.
    Data are stored in data objects: modifiable field strings, variables and internal tables or non-modifiable literals and constants.

Go to Top of this page.
Next topic this page

Set screen Classic List Handling

    Interactive report programs provide menus for user interaction. When the user clicks on a row within a basic list created using a select statement within the start-of-selection section, code under section at line-selection. is invoked to create a secondary list.
    When the user selects a row and clicks a defined PF key (i.e., Shift+F12), code under section at pf24. is invoked. Because most PC keyboards have 12 F keys:
      13 = Shift F1
      14 = Shift F2
      15 = Shift F3
      16 = Shift F4
      17 = Shift F5
      18 = Shift F6
      19 = Shift F7
      20 = Shift F8
      21 = Shift F9
      22 = Shift F10
      23 = Shift F11
      24 = Shift F12
    When the user selects a row and clicks the Enter key, code under section at user-command. is invoked.
      at user-command. 
      if sy-ucomm=20 .
    get cursor Field f Value v. retrieves the field name and value of where the user has placed his cursor.
 


Go to Top of this page.
Next topic this page

Set screen Object-Oriented Coding

    Object-oriented ABAP coding defines events (with only exporting parameters) and handler this way:

Go to Top of this page.
Next topic this page

Set screen ABAP Internal Tables

    ABAP report programs obtains results from database queries from temporary internal tables on WebAS server memory.
    For example, to define two internal tables with a capacity of 53 records:
    data : begin of  tableA  occurs  100  with header line.
    	 field 1 (c) (like  databasefield1 ).
    	 field 2 (c) (like  databasefield2 ).
    end of  tableA.
    data : begin of  tableB  like tableA occurs  100.
    
    To modify data from the internal table:
    modify  tableA  index i. 
    
    To read data from internal table:
    loop at  tableA  from 50 to 100. 
    	modify  tableA . 
    	" code to display data on the screen.
    endloop .
    

Go to Top of this page.
Next topic this page

Set screen Contexts

    To avoid unnecessary system load from repeating calculations, define contexts in the Context Builder within ABAP Workbench.
    Application programs work with instances of a context. SUPPLY input values for key fields and DEMAND derived data.
    Each context has a cross-transaction buffer on the application server. When you query an instance for values, the context program searches first of all for a data record containing the corresponding key fields in the appropriate buffer. If one exists, the data is copied to the instance. If one does not exist, the context program derives the data from the key field values supplied and writes the resulting data record to the buffer.
    Class inheritance (Vererbung) is achieved using
    CLASS DEFINITION INHERITING FROM .

Go to Top of this page.
Next topic this page

Set screen Data Types

    The largest ABAP datatype holds 65,535 characters.

Go to Top of this page.
Next topic this page

Set screen ABAP UIs

    The standard Web user interface is WebDynpro.
     The SAP R/3 Style Guide maintained by the SAP Design Guild provides standards for accessible user interaction design of functions, UI elements (Screens, application and task menus, Fields, Checkboxes, Radio Buttons, Drop-Down List Boxes, Lists, Tables, Trees), hot keys, and presentation of dialogues and texts.
    SDN WikiBusiness Server Pages (BSP) provides a high degree of adjustment for Web interface.
    SDN WikiJava Development
    SDN WikiJava Development Infrastructure
    SDN WikiWebDynpro ABAP
    SDN WikiWebDynpro Java
     SAP's Documentation for SAP Getting Started with Netweaver 2004s, 2004, and 6.30.

Go to Top of this page.
Next topic this page

Set screen ABAP WebDynpro Development Processes

    ProcessProcess Description
    Modeling1. Provide business logic APIs.
    2. Structure development projects in packages.
    3. Create (reusable) WebDynpro components.
    4. Model user navigation.
    5. Model Portal navigation.
    Developing6. Create and implement controllers and define contexts.
    7. Design of views, define layouts and bind to contexts.
    8. Define WebDynpro applications.
    9. Execute testing and debugging.
    Configuring10. Provide component configurations.
    11. Combine WebDynpro components with WebDynpro application configurations.
    12. Execute functional tests.
    13. Include WebDynpro applications to Portal iViews and roles.
    Adapting14. Adapt configuration settings.
    15. Enhance or modify WebDynpro components.
    16. Internationalization of WebDynpro ABAP components.
    17. Execute end-user and load testing.
    18. Configure and personalize WebDynpro application in the Portal.
    Upgrading19. Merge new developments into productive applications.
    20. Execute end-user testing.

Go to Top of this page.
Next topic this page

Set screen ABAP Persistence

    Access to the R/3 System database is made using OPEN SQL statements in the PUT_
    subroutines. Data is passed to the executable program using interface work areas defined using the TABLES statement. Once the data has been read in the logical database program, the executable program (report) can process the data in the GET event blocks. This technique separates data reading and data processing.
    ABAP programmers do not need to open and close database connections since every ABAP program automatically receives an open connection to the central database in the system.
    ABAP Objects contain Open SQL, SAP's platform-independent SQL dialect as a direct component of the language.
    Accesses to data in the database are synchronized by the runtime system's lock mechanism which prevents two parallel transactions from being able to change the same data in the database.
    The logic in SAP's Update System avoids database rollback.
     To avoid keeping the database waiting, SAP maintains its own LUW (logical units of work) that spans several screens and several database LUW.
  • Update Management (transaction SM13)
  • Monitoring Updates
  • Analyzing and correcting update errors

  • Go to Top of this page.
    Next topic this page

    Set screen eCATT

       eCATT (extended Computer Aided Test Tool - BC-TWB-TST-ECA) was available since release 6.20 and superceded CATT as of Web Application Server Release 6.40.
      SAP supplies it free as part of the R/3 system to document manual user dialog steps and to record, edit, and execute automated functional test cases without user dialog.
      eCATT can be used with the Test Workbench.
      Transactions executed through eCATT require the same authorizations as manual operation by a live person, so eCATT can be used to verify user profiles.
      In principle, the entire ABAP instruction set is available for use within inline ABAP code (CREATE, CALL, DATA, SUBMIT, etc.).
      eCATT stores its data in R/3 databases and can be controlled by Test Workbench, the Object Navigator (SE80), or externally through the BC-eCATT interface.
      Test modules can refer to spreadsheets providing various data that are updated in CATT Maintenance mode.
      Logs are created while test modules run.
      However, eCATT is less suited for testing lists and display results, menu paths, online help (F1, F4), free-form editor functions, and transactions that contain the statement LEAVE TO TRANSACTION.
     


    Go to Top of this page.
    Next topic this page

    Set screen ABAP Trace

      ABAP trace measures the run times of various ABAP commands:
      1. To avoid tracing the buffer load process, execute the functional sequence before beginning trace.
      2. Command ST12 or System > Utilities > Runtime analysis > Execute,
        at the ABAP Runtime Analysis: Initial Screen, Turn ABAP trace switch on for an R/3 transaction code, ABAP program name, or R/3 function module. Filtered
      3. Perform functional actions while SAP captures measurements into a file it creates.
      4. Analyze measurement results:
        Overview shows the gross and net execution times of a program call in microseconds.
          gross time is the total time required for the call, which includes times of all modularization units and ABAP statements
          net time is the gross time minus the time required for the called modularization units and for separately specified ABAP statements
          For statements such as APPEND, the gross time equals the net time
          If the gross time differs from the net times for such statements, the call contains other calls or modularization units
        hit list displays the individual components of each call.
        Hit list displays the execution time in microseconds for each statement executed by the program or transaction, sorted in decreasing order of the gross times.
        Tables hit list lists database tables accessed by the transaction or program.
        Group hit list displays ABAP trace results grouped by modularization unit.
      5. Call hierarchy displays statements in chronological order of execution.
     

    Go to Top of this page.
    Next topic this page

    Set screen Efficient ABAP Coding Strategies

    • After each BAPI call, check the message that came back to see whether the BAPI call was successful. All BAPIs are supposed to use a RETURN parameter instead of throwing ABAP exceptions. However, different BAPIs use different structures with different field names for the RETURN parameter.
    • Be smart about the amount of data retrieved from the database.
      Specify SQL to retrieve the least amount of data from the database, such as requesting only enough data to fit on a page presented to the user. This reduces memory and network bandwidth consumption.
      However, it may be more efficient to make one call is the user's task is make a decision (not just to refine the search).
      One important technique is to save the values each user provided for previous searches (such as the user's own department number, etc.) and present them to the user automatically.

    Go to Top of this page.
    Next topic this page

    Set screen RFCs

      sRFCSynchronous RFCUsed by most BAPI clientsCALL FUNCTION DESTINATION
      aRFCAsynchronous (Parallel) RFC-CALL FUNCTION STARTING NEW TASK
      tRFCTransactional RFC Used to save function calls in one LUW (Logical Units of Work) and start the LUW afterward asynchronously.transfer ALE (Application Link Enabling)Intermediate Documents (IDocs)CALL FUNCTION IN BACKGROUND TASK
      qRFCQueued synchronized RFC in a specified sequence through QIN/QOUT queues used within a 3-phase process.-CALL FUNCTION "TRFC_SET_QUEUE_NAME" +
      CALL FUNCTION IN BACKGROUND TASK
      RFC with dialogRFC with SAP GUI support (dialog step)--


    Go to Top of this page.
    Next topic this page

    Set screen RFMs and BAPIs

      ABAP Function Modules can only be called from an external client if they are marked as RFC-enabled.
      BAPIs are RFMs that follow additional rules (as defined in the SAP BAPI Programming Guide) and are defined as object type methods in SAP's Business Object Repository (BOR).
      RFMs are also used to define ABAP exceptions -- a string such as "NOT_FOUND" with an associated language-dependent message text.
      Transaction codes BAPI and SE37 provide metadata for the several thousand SAP R/3 BAPIs and other RFMs (RFC-enabled Function Modules) in its Interface Repository. Some of them are in "unreleased" (unsupported) state. SAP only guarantees released BAPIs to be upward-compatible When SAP wants to change a BAPI in a way that would be incompatible with the existing version, they create a new BAPI and mark the old name obsolete.
      Find suitable BAPIs using the BAPI Explorer (transaction BAPI), then review the metadata of the RFM in the Function Builder (transaction code SE37).
      RFMs have three types of parameters:
      • import (the client sends these to the RFM),
      • export (RFM sends these back to the client), and
      • tables (bi-directional).
        Import and export parameters can be simple (scalar) fields or structures (an ordered set of fields) based on Data Dictionary (DD) definitions.
        Tables have one or more columns (fields) in zero or more rows.
        Import and table parameters can have mandatory or optional attributes, export parameters are always optional.
      However, a easier request/response programming model is used when BAPIs are made object-oriented as methods within proxy classes representing business object types in the BOR.

    Go to Top of this page.
    Next topic this page

    Set screen IDocs

      IDoc (intermediate document) provide a standard data container structure for SAP to exchange data between processes, such as asynchronous EDI (electronic data interchange) between application programs written for SAP or between an SAP application and an external program.
      IDocs is the vehicle for data transfer in SAP's Application Link Enabling (ALE) layer.
      Different types of IDoc are used for purchase orders or invoices.
      In other words, an IDoc encapsulates data so that it can be exchanged between different systems without conversion from one format to another. Each IDoc generated exists as a self-contained text file that can then be transmitted to a receiver (requesting workstation) without connecting to the central database.
      There are several types of IDoc records: a single Control Record, one or many Data Records, and one or many Status record. Segments and attributes of segments (maximum number, hierarchical sequence, segment status, etc.) are used for interpretating the SDATA field in the data record. Each IDoc consists of several segments and a unique number assigned each iDoc for tracking and future reference. Each segment contain several fields.
      IDoc data is then converted by SAP's EDI subsystem to a universal EDI standard such as UN/EDIFACT (Electronic Data Interchange for Administration, Commerce, and Trade) or ANSI/X12.
      Business Application Programming Interface (BAPI) is used for synchronous communication method sRFC because data usually is returned to the sending system.
      BAPI methods are stored as RFC-capable function modules in the ABAP Workbench Function Builder accessing the SAP Business Object Repository (BOR).

    Go to Top of this page.
    Next topic this page

    Set screen ABAP Exam - Programming Curriculum for Technical Consultant Certification

      Here are my comments on the topic area class SAP offers to prepare people for the their "SAP NetWeaver 2004 - Development Consultant � Application Development Focus ABAP"
      The curriculum on the right column is my design for students taking a more task-based, exploratory approach to learning, in a context of a team jointly developing complex systems. The result is that learners can become quickly productive in a complex environment. For example, rather than starting with a simple "Hello World", learners work with real code because one of the skills required of professionals is the ability to ignore the clutter and work under ambiguity.

    Go to Top of this page.
    Next topic this page

      1. SAP Technologies (+)
        1. SAP systems (mySAP Business Suite and SAP NetWeaver)
        2. Technical structure of an SAP Web Application Server
      2. ABAP Workbench Basics (++)
        1. Data types and data objects
        2. Internal tables
        3. Data retrieval (authorization check)
        4. Subroutines
        5. ABAP runtime system
        6. Function groups and function modules
      3. Advanced ABAP (++)
        1. Open SQL
        2. Dynamic programming
        3. Program calls and memory management
      4. ABAP Objects (++)
        1. Classes and objects
        2. Inheritance
        3. Polymorphism (casting)
        4. Interfaces
        5. Events
        6. Global classes and interfaces
        7. Exception handling
      5. ABAP Dictionary (++)
        1. Database tables
        2. Performance for table accesses
        3. Consistency by means of input check (foreign key dependency)
        4. Dependency for ABAP Dictionary objects
        5. Views
        6. Search helps
      6. List Creation Techniques (++)
        1. Data output in lists
        2. Selection screen
        3. Logical database
        4. Interactive lists
        5. List creation with the ALV grid control:
          1. Simple lists
          2. Field catalog
          3. Layout
          4. Event handling
      7. Dialog Programming (++)
        1. Screen (basics)
        2. Program interface (GUI title, GUI status)
        3. Screen elements for output (text fields, status icons, and group boxes)
        4. Screen elements for input/output
        5. Subscreen and tabstrip control
        6. Table control
        7. Context menu
        8. Lists in dialog programming
      8. Database Changes (+)
        1. Database updates with open SQL
        2. LUWs and client/server architecture
        3. SAP locking concept
        4. Organize database changes
        5. Complex LUW processing
        6. Number assignment
        7. Change document creation
      9. Enhancements and Modifications (+)
        1. Changes to the standard SAP system
        2. Personalization
        3. Enhancements to ABAP Dictionary elements
        4. Enhancements via customer exits
        5. Business Transaction Events
        6. Business Add-Ins
        7. Modifications
      
    1. Demonstration of how users get work done
      • Invoke the application, login, open, close, logout using mouse, menu, keyboard shortcuts
      • Business transactions: view, list, select, search, add, change, delete
      • Common error messages and taking remediation action
      • Batch job schedule (data management)
    2. Installation, Environment, and Samples
      1. Download Installer & patches (zip/tgz files)
      2. Installation Troubleshooting (Space, Network setup, etc.)
      3. Exploration of a standard installation and what needs configuration
        1. Tutorials, Glossary, Forums, other online support
        2. Folders, Files (Sample Project, Source files)
        3. Server services
        4. Add-ins
    3. Debug an almost working sample program using the Workbench
      1. Code checkout from source repository
      2. Invocation options from command line (such as log verbosity)
      3. Use test harness to define positive and negative code verification tests
      4. Stepping through (tracing) code execution and naming conventions
        1. Defining & allocating variables and Memory Management
        2. External references
        3. Chain of suboutine & external calls
        4. Differences among events and class inheritance
        5. Data type conversions, casting, polymorphism, and data transformations
        6. List creation, looping, sorting
        7. Multi-Threading and other coding for Scalability
      5. Code modularization and code execution profiling
        1. Update/delete enqueues, connections to databases
        2. Data queries with SQL procs, SQL code
        3. Accessing flat files
    4. Compile/Build options and debugging
    5. Text Editor navigation to find and change a text string
      1. Text in localized resource bundles
    6. Code walkthroughs for readability, high performance, and defect avoidance
      1. GUI dialog form, list, and report formatting
      2. Input data editing
      3. Lookups, Loops, sorting
      4. Accessing dictionary elements
      5. Messaging (JMS, etc.)
      6. Subroutines and code modularity
      7. Stubs and drivers during Integration testing with other modules
    7. Searching for functions to use from the framework/code library
    8. Review: describe menu options in the Workbench
      1. Import/Export
    9. Production run (minimal logging)

No comments:

Post a Comment