Difference between ABAP & OOABAP

Hi ,
What is the exact difference between ABAP and ABAP Objects?

hi
Object Oriented prg
A programming technique in which solutions reflect real world objects
  What are objects ?
     An object is an instantiation of a class. E.g. If “Animal” is a class, A cat 
     can be an object of that class .
     With respect to code, Object refers to a set of services ( methods  /
      attributes ) and can contain data
  What are classes ?
     A class defines the properties of an object.  A class can be instantiated
     as many  number of times
<b>Advantages of Object Orientated approach</b>
Easier to understand when the system is complex
Easy to make changes
Encapsulation - Can restrict the visibility of the data ( Restrict the access to the data )
Polymorphism - Identically named methods behave differently in different classes
Inheritance - You can use an existing class to define a new class
Polymorphism and inheritance lead to code reuse
Have a look at these good links for OO ABAP-
http://www.sapgenie.com/abap/OO/
http://www.sapgenie.com/abap/OO/index.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
http://www.esnips.com/doc/375fff1b-5a62-444d-8ec1-55508c308b17/prefinalppt.ppt
http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
http://www.esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
http://www.allsaplinks.com/
http://www.sap-img.com/
http://www.sapgenie.com/
http://help.sap.com
http://www.sapgenie.com/abap/OO/
http://www.sapgenie.com.
http://www.sapgenie.com/abap/OO/index.htm
http://www.sapgenie.com/abap/controls/index.htm
http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
http://www.esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
http://www.sapgenie.com/abap/OO/index.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
http://www.sapgenie.com/abap/OO/
Hope this helps
if it helped, you can acknowledge the same by rewarding
regards
dinesh

Similar Messages

  • Difference between abap object and function

    hi all,
    i read the book on abap object of the difference between abap object and classical abap.
    i know that there is only 1 instance of a specific function group but somehow i still not so clear why subsequent vehicle cannot use the same function. i also can use the do and loop to call the function? if cannot then why?
    hope can get the advice.
    thanks
    using function *********
    function-pool vehicle.
    data speed type i value 0.
    function accelerate.
    speed = speed + 1.
    endfunction.
    function show_speed.
    write speed.
    endfunction.
    report xx.
    start-of-selection.
    *vehicle 1
    call function 'accelerate'.
    call function 'accelerate'.
    call function 'show_speed'.
    *vehicle 2
    *vehicle 3
    *****abap object*******
    report xx.
    data: ov type ref to vehicle,
             ov_tab type table of ref to vehicle.
    start-of-selection.
    do 5 times.
    create object ov.
    append ov to ov_tab.
    enddo.
    loop at ov_tab into ov.
    do sy-tabix times.
    call method ov->accelerate.
    enddo.
    call method ov->show_speed.
    endloop.

    Hi
    Now try this:
    REPORT ZTEST_VEHICLEOO .
    PARAMETERS: P_CAR   TYPE I,
                P_READ  TYPE I.
    *       CLASS vehicle DEFINITION
    CLASS VEHICLE DEFINITION.
      PUBLIC SECTION.
        CLASS-DATA: MAX_SPEED   TYPE I,
                    MAX_VEHICLE TYPE I,
                    NR_VEHICLES TYPE I.
        CLASS-METHODS CLASS_CONSTRUCTOR.
        METHODS CONSTRUCTOR.
        METHODS ACCELERATE.
        METHODS SHOW_SPEED.
        METHODS GET_SPEED EXPORTING E_SPEED TYPE I.
      PRIVATE SECTION.
        DATA: SPEED      TYPE I,
              NR_VEHICLE TYPE I..
    ENDCLASS.
    *       CLASS vehicle IMPLEMENTATION
    CLASS VEHICLE IMPLEMENTATION.
      METHOD CLASS_CONSTRUCTOR.
        NR_VEHICLES = 0.
      ENDMETHOD.
      METHOD CONSTRUCTOR.
        NR_VEHICLES = NR_VEHICLES + 1.
        NR_VEHICLE  = NR_VEHICLES.
      ENDMETHOD.
      METHOD ACCELERATE.
        SPEED = SPEED + 1.
        IF MAX_SPEED < SPEED.
          MAX_SPEED   = SPEED.
          MAX_VEHICLE = NR_VEHICLE.
        ENDIF.
      ENDMETHOD.
      METHOD SHOW_SPEED.
        WRITE: / 'Speed of vehicle nr.', NR_VEHICLE, ':', SPEED.
      ENDMETHOD.
      METHOD GET_SPEED.
        E_SPEED = SPEED.
      ENDMETHOD.
    ENDCLASS.
    DATA: OV     TYPE REF TO VEHICLE,
          OV_TAB TYPE TABLE OF REF TO VEHICLE.
    DATA: V_TIMES TYPE I,
          FL_ACTION.
    DATA: V_SPEED TYPE I.
    START-OF-SELECTION.
      DO P_CAR TIMES.
        CREATE OBJECT OV.
        APPEND OV TO OV_TAB.
      ENDDO.
      LOOP AT OV_TAB INTO OV.
        IF FL_ACTION = SPACE.
          FL_ACTION = 'X'.
          V_TIMES = SY-TABIX * 2.
        ELSE.
          FL_ACTION = SPACE.
          V_TIMES = SY-TABIX - 2.
        ENDIF.
        DO V_TIMES TIMES.
          CALL METHOD OV->ACCELERATE.
        ENDDO.
        CALL METHOD OV->SHOW_SPEED.
      ENDLOOP.
      SKIP.
      WRITE: / 'Higher speed', VEHICLE=>MAX_SPEED, 'for vehicle nr.',
                VEHICLE=>MAX_VEHICLE.
      SKIP.
      READ TABLE OV_TAB INTO OV INDEX P_READ.
      IF SY-SUBRC <> 0.
        WRITE: 'No vehicle', P_READ.
      ELSE.
        CALL METHOD OV->GET_SPEED IMPORTING E_SPEED = V_SPEED.
        WRITE: 'Speed of vehicle', P_READ, V_SPEED.
      ENDIF.
    Try to repeat this using a function group and I think you'll undestand because it'll be very hard to do it.
    By only one function group how can u read the data of a certain vehicle?
    Yes you can create in the function group an internal table where u store the data of every car: in this way u use the internal table like it was an instance, but you should consider here the example is very simple. Here we have only the speed as characteristic, but really we can have many complex characteristics.
    Max

  • Hi All difference between abap and hr-abap urgent pls

    Hi All difference between abap and hr-abap urgent pls

    Hello,
    To add to the above points regarding infotypes
    Infotypes stand apart in  HR and manage a volume of data in HR domain..they are unique to HR module ranging from basic employee information to time management and finally the custom infotypes.....
    Payroll and other monetory activities related to an employee also form a vital part of the HR module....
    while considering Reports..in HR data is mainly with respect to infotypes and the concept of PAKEY...7 key fields which uniquely defines any record in an infotype is used..with Pernr(employee number),Begda(begindate) and Endda(enddate) form an integral part of the key..Based on the time constraints(1,2,3) of an infotype the keys are judged (to retrieve data from an infotype)
    In ABAP HR we also have lots of predefined function modules that can be used..eg:go to se37..put 'HR*' and press F4...
    finally to update an HR infotype record we use the function module hr operation rather than direct updates...also there are standard audit trail reports that monitors various activities such as insert/modify/delete operations on an hr infotype record...
    Pls revert back for clarity and reward if helpful
    Regards
    Byju

  • Difference between abap & hrabap

    hi experts,
    can anybody tell about the diff between abap & Hr Abap.
    thanks.

    Hello Dear,
    Eventhough there are many similarities to ABAP and HR-ABAP.
    The main difference between  ABAP and HR-ABAP is Time constarint , Efficient use of logical database and Concept of infptypes.
    1) In HR , whenever if you want fetch data, you will compare with time lines.
    ex;  a) what is the status of the employee between these periods
           b) what is the latest grade of employee.
           c) what s the first location of employee e.t.c
    you can observe from the above example you can't use the data with out time lines.
    2) the concept of INFOTYPE is mainly to capture the related information of employee.
    ex: a) if you want capture the address of employee, you will maintain 0006 infotype,
           b) ) if you want capture the  different dates of employee, you will maintain 0041 infotype.
      In the above example the infotype 0006 would  used to maintain only details diffferent kind of 
      addresses, permanent, temporary,emergency and secondary et.c
      0041 would be useful to maintain only for dates,
      Date of joining , Date of transfer, date of retirement , Date of separtaion e.t.c
    3 ) In HR module we need's to manage huge amount of data. in order to get the precise information we use logical databse.
       why use of logical database ?
       a) default selection-scree.
       b) authorization-checks.
       c) to fetch accurate data.

  • What is the difference between  ABAP and HR-ABAP?

    Hi people,
    Could u just tel me abt what is the difference between ABAP and HR-ABAP?
    Thanks in advance,
    Sanjeev K.V

    Hi Sir ,
    Please have a look below .Hope it is suitable and simpler solution for your question.
    Please do reward if useful.
    Thankx.
    HR deals with the INFOTYPES which are similar to Tables in General ABAP.
    There are different ways of fetching data from these infotypes.
    There are different areas in HR LIKE Personal Admn, Orgn Management, Benefits, Time amangement, Event Management, Payroll etc
    Infotypes for these areas are different from one another area.
    storing of records data in each type of area is different
    LDBS like PNP are used in HR programing.
    Instead of Select.. we use some ROUTINES and PROVIDE..ENDPROVIDE.. etc
    and in the case of Pay roll we use Clusters and we Import and Export them for data fetching.
    On the whole Normal ABAP is different from HR abap.
    Also,
    HR:
    HR deals with the INFOTYPES which are similar to Tables in General ABAP.
    There are different ways of fetching data from these infotypes.
    There are different areas in HR LIKE Personal Admn, Orgn Management, Benefits, Time amangement, Event Management, Payroll etc
    Infotypes for these areas are different from one another area.
    storing of records data in each type of area is different
    LDBS like PNP are used in HR programing.
    Instead of Select.. we use some ROUTINES and PROVIDE..ENDPROVIDE.. etc
    and in the case of Pay roll we use Clusters and we Import and Export them for data fetching.
    On the whole Normal ABAP is different from HR abap.
    For Personal Admn the Infotypes start with PA0000 to PA1999
    Time Related Infotypes start with PA2000 to PA2999.
    Orgn related Infotypes start with HRP1000 to HRP1999.
    All custom developed infotypes stsrat with PA9000 onwards.
    In payroll processing we use Clusters like PCL1,2,3 and 4.
    Instead of Select query we use PROVIDE and ENDPROVIDE..
    You have to assign a Logical Database in the attributes PNP.
    Go through the SAp doc for HR programming and start doing.
    http://www.sapdevelopment.co.uk/hr/hrhome.htm
    See:
    http://help.sap.com/saphelp_46c/helpdata/en/4f/d5268a575e11d189270000e8322f96/content.htm
    sites regarding hr-abap:
    http://www.sapdevelopment.co.uk/hr/hrhome.htm
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PAPA/PAPA.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PAPD/PAPD.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PYINT/PYINT_BASICS.pdf
    http://www.atomhr.com/training/Technical_Topics_in_HR.htm
    http://www.planetsap.com/hr_abap_main_page.htm
    You can see some Standard Program examples in this one ...
    http://www.sapdevelopment.co.uk/programs/programshr.htm
    http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci1030179,00.html?Offer=SAlgwn12604#Certification
    http://www.erpgenie.com/faq/hr.htm.
    http://www.planetsap.com/hr_abap_main_page.htm
    http://www.sapbrain.com/TUTORIALS/FUNCTIONAL/HR_tutorial.html
    These are the FAQ's that might helps you as well.
    http://www.sap-img.com/human/hr-faq.htm
    http://www.sapgenie.com/faq/hr.htm
    http://www.planetsap.com/hr_abap_main_page.htm
    http://www.atomhr.com/library_full.htm
    HR Long texts Upload
    Look at the below link
    And finally,
    Few notes are below:
    InfoSets in the HR Application
    You can use SAP Query in HR to report on HR data. Queries are maintained as described in Creating Queries. The special features of queries created for HR are described in Maintaining Queries in the Human Resources Application. The maintenance procedure for HR InfoSets differs from the described procedure inasmuch as HR data fields are grouped together in infotypes.
    InfoSet management in SAP Query is also used for InfoSet Query. For further information, see Functions for Managing InfoSets.
    If you want to create InfoSets for HR, you can use logical databases PNP, PNPCE, PAP, and PCH (see HR Logical Databases). The database you must use to create your InfoSet depends on the component in which the data you want to report on is stored.
    The reports you can execute using InfoSets based on logical databases PNP (or PNPCE) or PCH are similar, but differ in that they can select different objects. The following table describes the connection between the logical database, and the infotypes you can include in an InfoSet. It also provides you with one or two examples of reports that you can execute using the appropriate InfoSets.
    Logical database PNP/PNPCE* PCH PAP
    Selection of Persons Objects from Personnel Planning Applicants
    Infotypes that can be included in the InfoSet Infotypes for· Personnel Administration (0000-0999) · Time Management (2000-2999) · Payroll infotypes · Infotypes for Personnel Planning objects that can be related to persons If the object type is specified:· Infotypes for the object type · Infotypes for objects that can be related to the specified object typeIf the object type is not specified:· All infotypes · Infotypes for Recruitment (4000-4999)· Some infotypes for Personnel Administration (such as 0001 and 0002)
    · Customer infotypes
    Reporting examples · Selection of all persons who participated in a specific business event, output of prices for reserved business events · Selection of all persons assigned to a specific personnel area, output of qualifications held by these persons · Selection of all business events held in London in March, output of all persons who participated in these business events · Selection of all positions assigned to a specific organizational unit, output of all persons assigned to the positions · Selection of all applicants hired last year to work on special projects, output of addresses for the applicants selected
    Logical database PNPCE (PNP Concurrent Employment) functions just like logical database PNP. The procedure for creating InfoSets is also the same. It only becomes significant if you work with Concurrent Employment.
    Creating InfoSets
    The maintenance procedure for HR InfoSets differs from the procedure described so far in this section inasmuch as HR data fields are grouped together in infotypes. To set up an InfoSet for the HR application, proceed as follows:
    1. On the initial screen for maintaining InfoSets, enter a name for the InfoSet and choose Create.
    2. On the next screen, enter a name for the InfoSet and select one of the HR logical databases in accordance with your reporting requirements.
    Customer infotypes can be created on all HR logical databases. In each individual case, therefore, you must decide which database to select so that you can report on customer infotypes.
    This screen enables you to enter an authorization group. All of the queries that are subsequently created using this InfoSet can only be executed by persons who have this authorization group.
    3. Choose .
    This takes you to the Infotype Selection for InfoSet  screen. You now have the option of creating field groups and assigning fields as required for non-HR InfoSets. Field groups that correspond to infotypes and already contain fields, however, are always created for HR InfoSets. The field groups are displayed in an overview tree in the top right section of the screen.
    The infotypes that you included in the InfoSet are displayed in an overview tree on the left of the screen. The infotype fields that are already included in field groups are displayed in a different color, and the corresponding field group ID is displayed.
    In the standard system, a field group is created automatically for each infotype that you included in the InfoSet (a field group corresponds to an infotype).
    In the standard system, each field group contains the infotype-specific fields. To ensure that working with the InfoSet is as easy as possible, you are advised to restrict your use of fields in each field group to those you really require. This means you should remove fields that are not required.
    An infotype's fields must only be assigned to the pertinent field group. Make sure this assignment is correct. If the assignment is incorrect, the InfoSet could be rendered unusable.
    When an InfoSet is created, the following fields are transferred automatically to the first field group:
    § Logical database PNPCE or PNP Personnel number
    § Logical database PAP Applicant number
    § Logical database PCH Object ID, plan version, and object type
    6. Determine the fields that must be included in the field groups of your InfoSet. If you require further information, see Assigning Fields to a Field Group.
    If you want, you can change the default sequence of field groups and fields as required using Drag&Drop.
    7. To save the InfoSet, choose .
    8. To generate the InfoSet, choose .
    On the Change InfoSet (InfoSet name) screen, you can choose Edit ® Change infotype selection to add more infotypes to the InfoSet, or to remove infotypes from the InfoSet. Remember to regenerate the InfoSet afterwards.
    This screen also enables you to update InfoSets if, for example, the system contains new additional fields for specific key values. To do so, choose InfoSet ® Additional functions ® Update additional HR fields.
    9. Go back to the initial screen for InfoSet maintenance.
    10. Choose User group assignment.
    11. Select a user group, and save your entry.
    sample code
    START-OF-SELECTION.
    GET pernr.
    rp_provide_from_frst p0000 space pn-begda pn-endda.
    if pnp-sw-found EQ '1'.
    READ TABLE p0001 WITH KEY pernr = p0000-pernr.
    if sy-subrc = 0.
    write : p0001-plans. " earliest.
    endif.
    endif.
    rp_provide_from_last p0014 space pn-begda pn-endda.
    if pnp-sw-found EQ '1'.
    READ TABLE p0014 WITH KEY pernr = p0000-pernr.
    if sy-subrc = 0.
    write : p0014-LGART. .
    endif.
    endif.

  • Differences between ABAP lists and ALV lists

    what is the differences between ABAP lists and ALV lists?
    Edited by: pong pong on Apr 9, 2008 5:08 AM

    Hello Pong Pong,
    Please go thru help topics:
    ALV Grid
    http://help.sap.com/saphelp_47x200/helpdata/en/bf/3bd1369f2d280ee10000009b38f889/frameset.htm
    ABAP Lists
    http://help.sap.com/saphelp_47x200/helpdata/en/d2/cb408a455611d189710000e8322d00/frameset.htm
    Regards,
    Siddhesh

  • Differences between ABAP  versions

    Hi all,
            I need help about Differences between ABAP versions. plz help me where i can get it.

    hi,
    check this links
    http://www.sapdesignguild.org/resources/r3_history.asp
    http://www.sapdesignguild.org/resources/web_history.asp
    http://ifr.sap.com/index.html
    http://www.sap.info/index.php4?ACTION=noframe&url=http://www.sap.info/public/en/article.php4/Article-187163df9cbccc5273/en
    http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
    cheers,
    sasi

  • Differences between ABAP Programming and Dialog Programming

    Can any one explain me the Differences between ABAP Programming and Dialog Programming

    Hi,
    ABAP PROGRAMING:
    An ABAP program consists of individual ABAP statements. Each statement begins with a keyword and ends with a period.
    PROGRAM FIRST_PROGRAM.
    WRITE 'My First Program'.
    This example contains two statements, one on each line. The keywords are PROGRAM and WRITE. The program displays a list on the screen. In this case, the list consists of the line "My First Program".
    The keyword determines the category of the statement. For an overview of the different categories, refer to ABAP Statements.
    You can execute different parts of programs conditionally or in loops using the standard keywords IF, CASE, DO, and WHILE.
    When controlling the flow of an ABAP program, remember that the structure of the program is made up of processing blocks that cannot be nested. This section describes how to control the flow of a program within a processing block. The keywords covered here do not allow you to branch outside the processing block in which you use them. You can regard this as internal control of an ABAP program, as opposed to the external control provided by events in the ABAP runtime environment.
    To control the internal flow of a processing block, you can use control structures to divide it up into smaller statement blocks according to the principles of structured programming.
    DIALOG PROGRAMING:
    This is a classical programming method that is based on dynpros and dialog transactions.
    Classic Application Programming
    Separating the application layer from the presentation layer means that when you run an ABAP application program requiring user interaction, control of the program is continually passed backwards and forwards between these layers. While a screen is ready for input, the corresponding SAP GUI of the presentation layer is active. During this time, the application layer is not active for the application program. Therefore, the ABAP application servers are free for other tasks. Once the user has entered data on the screen, program control passes back to the application layer. Now, the presentation layer is inactive. The SAP GUI is still visible to the user during this time, and it is still displaying the screen, but it cannot accept user input. The SAP GUI does not become active again until the application program has called a new screen and sent it to the presentation server.
    Consequently, if you use this method, you need to divide dialog programs into single dialog steps, with each of these steps comprising the programming logic between two successive screens.
    REGARDS,
    VASAVI.
    KINDLY REWARD IF HELPFUL.

  • What is the difference between ABAP and BADI

    What is the difference between ABAP and BADI

    Hi
    BAPI is different from BADIs and User exits in ABAP
    BAPI : BAPI basically works like a function module. the major difference being that it can work like a RFC. That means it can work from system to system. Mostly the name of a BAPI can be seen in se37 by just giving BAPI_* F4 and you will see a lot of BAPIS.
    BADI : BADI is a new concept and are also known as Business Addins. SE18 and SE19 are the two transactions which are used to make a BADI. Mostly BADIS are not made but selected from what is given in SAP. These are similar to user-exits but are method based. One can say it is an extension to the user exits. If one has an issue in which one has to change so existing things in SAP then BADI can be used. First one has to define it and then find out a suitable implementation for the issue concerned
    User-exits : there are many types of user exits like Function exits , Menu Exits Screen exits etc. These are used when there is an issue of changing SAP given screen or menu or report.. Main transactions which are used in these cases is CMOD and SMOD. One can find out the user exit concerned and change it accordingly as per ones requirement
    to be more specific in answering in singel phrase
    1.user-exit and badi are related.
    2. But BAPI is something entirely different.
    3. user-exit and badi.
    BADI is nothing but user-exit,
    BUT CLASS/OO based. thats all.
    4. BAPI is nothing but a FUNCTION MODULE only,but its RFC Enabled.
    Santosh

  • Whats the difference between ABAP stack, ABAP+Java stack and Java stack

    Hello,
    I have a nagging doubt about the difference between the ABAP stack, ABAP+Java stack & the Java only stack. I believe that the method of applying the kernel for all the 3 types is different.
    Also can we apply the ABAP support packs through JSPM.
    Please put some light on this.
    Thank you

    Hi Zaheer
    ABAP Stack
    AS ABAP is used to provide the ABAP foundation of SAP NetWeaver.
    Part of AS ABAP is the Search Engine Service (SES), which enables users to search for
    business objects using Search and Classification (TREX). SES accesses Search and
    Classification (TREX) functions through the Search and Classification (TREX) ABAP
    client. SES replicates the business objects from the ABAP application to Search and
    Classification (TREX), so that it can apply Search and Classification (TREX) search
    functions to them. When a user enters a search query, the Search and Classification
    (TREX) system responds to it, not the database for the ABAP application. For more
    information, see the document Installation Guide – SAP NetWeaver TREX Single Hosts /
    Multiple Host.
    Java stack
    AS Java is used to provide the Java foundation of SAP NetWeaver. Among the key
    capabilities of AS Java are:
    • J2EE Engine – a J2EE 1.3-compliant application server for running enterprise
    applications. In addition to the pure J2EE standard technologies, the J2EE
    Engine implements complementary technologies, such as Web Dynpro or Web
    Services, that are targeted at supporting large-scale, real-business application
    development projects.
    • SAP Composite Application Framework Core (CAF Core) is a service-oriented
    architecture for building and deploying composite applications. It enables
    modeling of different service types – entity services that represent a domain
    model, application services that implement business logic, and external
    services that offer connectivity to back-end services by means of remote
    function calls (RFCs) or Web services. Usage type AS Java comprises the CAF
    Core runtime environment, while design time tools are part of the SAP
    NetWeaver Developer Studio.
    • Web Dynpro is the user interface technology for developing professional
    business applications for mobile as well as for desktop clients. Web Dynpro
    applications can easily be integrated into SAP NetWeaver Enterprise Portal,
    providing a unified layout for the end user as well as enhanced navigation
    support. Web Dynpro also allows, for example, the development of interactive
    forms using the Adobe document services.
    • Adobe document services is a set of runtime services that provide a range of
    form and document creation and manipulation functions such as:
    • Converting XML form templates (created using Adobe LiveCycle Designer)
    to PDF and various print formats
    • Setting Adobe Reader rights to enable users to fill in and annotate forms,
    save and print them locally, and include digital signatures for authentication
    using the free Adobe Reader software
    Extracting data from SAP applications into Interactive Forms and transferring form data
    back into SAP applications using XML
    ABAP + Java Stack
    Contains both functionalities.
    I hope this helps
    Regards
    Chen

  • Differences between ABAP debugger of 4.7 and ECC 6.0

    Hey guys,
    I would really appreaciate any statements/documents that can help me determine the differences of abap debugger between these 2 versions.
    Thanks a lot in advance.
    Rgds,
    Mark

    Debugger in R6.1
    Modification 1
    Displaying program attributes
    If you choose Goto &#8594; Further Information &#8594; Program Attributes then the system will display the attributes fixed point arithmetic, system program, and Unicode check.
    Modification 2
    Displaying data references
    If you double-click a data reference in the Field Name column then the subsequent screen will contain technical information about that reference. A double click in the Field Contentcolumn will display the content of the data reference. The object referred to will be displayed, if you doubleclick the data reference dref->*in the Field Name column.
    Modification 3
    Special display of deep data objects
    To display the headers of strings, internal tables, data references, and object references, you must prefix them with an asterisk. For example, to display the header of the internal table itab in hexadecimal form, you must enter *itab in the Field Namecolumn. In the case of tables without headers the field content only contains zeroes.
    If you prefix the data object name with an ampersand, the relevant reference to the string, internal table, data reference, or object reference is displayed in hexadecimal form. For example, specifying &str will display the reference to the string str.
    Modification 4
    Setting breakpoints in methods
    By choosing Breakpoint &#8594; Breakpoint at &#8594; Method you can set a breakpoint for a method.
    Modification 5
    Support for class based-exceptions
    The following functions are available if an exception occurs:
    If the INTO ref addition is missing from the CATCHstatement, you can create an exception object in the Debugger under Settings.
    If you choose the Display Exception Objecticon, the system will display the attributes and interfaces of the exception class with their contents in the subsequent screen.
    If you choose Statement That Caused the Exception the system goes to the line in the source code in which the exception was caused. The statement that caused the exception is explicitly indicated in the source code.
    Modification 6
    Debugging mode for Business Server Pages with ABAP scripting
    Business Server Pages (BSP) can now be run in debugging mode. It is also possible to display and set breakpoints. Business Server Pages can be displayed in the Object Navigator, if you select an appropriate application by choosing BSP Applications.
    Modification 7
    Copying breakpoints from HTTP and update sessions
    If you call an HTTP or update session from a logical unit of work (LUW) then a new work process will be started for this session. Any breakpoints that were set in this calling logical unit of work are carried over to the new sessions and can be displayed by choosing Breakpoints. For example, if you call the update module funcusing CALL FUNCTION func IN UPDATE TASK, then the new work process will be displayed in a new window, provided you selected Update Debugging under Settingsin debugging mode. Here you can process all the breakpoints that were set in the calling logical unit of work.
    Modification 8
    Displaying instructions for the database interface
    You can now check the last statements sent to the database. In order to do so, choose Goto &#8594; System &#8594; System Areasafter the Debugger has been started and enter Area = OSQL in the input field.
    Modification 9
    Forward and backward navigation in the source text
    If you choose Debugging &#8594; Goto Statement, then the system will go to that line in which the cursor is positioned. This allows simple forward and backward navigation within the displayed source code.
    Modification 10
    Displaying memory consumption
    If you choose Settings &#8594; Memory Display On/Off, the system displays the memory consumption for objects, tables, references, or individual fields. In so doing, it differentiates between allocated and referenced memory and also displays the memory consumption actually used for every data object.
    To see a hit list of the 25 data objects with the highest memory consumption choose Goto &#8594; System &#8594; System Areas. The following values can be entered in the Areafield:
    ITAB-TOP25 for the display of internal tables
    OBJ-TOP25 for the display of objects
    REF-TOP25 for the display of references
    ALL-TOP25 for the display of all data objects
    Modification 11
    Displaying Unicode fragment view
    If you choose Goto &#8594; Display Data Object &#8594; System Information, the system displays the Unicode fragment view. In this view structures, internal tables, strings, data references, and objects are broken down into alignment gaps, byte areas and chracter-type areas and all other types - such as P, I, F, strings, references or internal tables.
    The system groups adjacent, character-type components - with the exception of strings - only if there are no alignment gaps between these components. In so doing, it observes all alignment requirements. In the same way, adjacent byte-type components are also grouped together.
    reward appropraite points.
    Regards,
    Mansi.

  • Testing SSL Connections, differences between ABAP and JAVA stacks

    Hello,
       I am trying to test an outbound SSL connection to a partner.   I already have multiple outbound connections to many partners, but this new one is causing an issue.   Our firewalls between the two sites are opened as required, I verified that I can telnet to the 443 port of their sever.   I then attempted to connect to their URL, via a Java SOAP message, and it is rejected.  Some kind of error regarding our handshake.
       In an attempt to troubleshoot the issue I entered their URL in SM59 as a HTTPS connection, tested it, it worked fine.   Which indicates to me that the ABAP side works fine.
       I do the same on the Java stack, via the SOA Manager: Destinations, and it fails.
    "Error during ping operation: Error while silently connecting org.w3c.www.protocol.http.Http.Eception: Peer sent alert: Alert Fatal: unexpected message"
      I was thinking that maybe the remote partner only allows specific types of SSL version connection, and the Java side is too low.  i.e. the partner only allows TLS v1, and we are attempting to use SSL v2.    Is there a place to set this on the Java side?  I know I can set inbound parameters on ICM via SMICM.
      Any help or assistance would be most appreciated.
    Thanks,
    Michael Montone

    Hi,
    I suggest that you verify if you use the same release of the SAP Cryptolib  for the ABAP and the Java stack.
    This could explain a difference of support for SSL or TLS.
    Regards,
    Olivier

  • Difference between ooabap and java

    eventhough both java and ooabap are oops languages there may be some difference between them as c++ and java in using the oops concepts or may be there is an advantage in using ooabap than java .
                                                            any one pls  reply to the above asked question.
    <REMOVED BY MODERATOR>
    Edited by: rahul nuthi on Feb 26, 2008 1:10 PM
    Edited by: Alvaro Tejada Galindo on Feb 26, 2008 11:19 AM

    hi
    OOPs ABAP uses Classes and Interfaces which uses Methods and events.
    If you have Java skills it is advantage for you.
    There are Local classes as well as Global Classes.
    Local classes we can work in SE38 straight away.
    But mostly it is better to use the Global classes.
    Global Classes or Interfaces are to be created in SE24.
    SAP already given some predefined classes and Interfaces.
    This OOPS concepts very useful for writing BADI's also.
    So first create a class in SE 24.
    Define attributes, Methods for that class.
    Define parameters for that Method.
    You can define event handlers also to handle the messages.
    After creation in each method write the code.
    Methods are similar to ABAP PERFORM -FORM statements.
    After the creation of CLass and methods come to SE38 and create the program.
    In the program create a object type ref to that class and with the help of that Object call the methods of that Class and display the data.
    Example:
    REPORT sapmz_hf_alv_grid .
    Type pool for icons - used in the toolbar
    TYPE-POOLS: icon.
    TABLES: zsflight.
    To allow the declaration of o_event_receiver before the
    lcl_event_receiver class is defined, decale it as deferred in the
    start of the program
    CLASS lcl_event_receiver DEFINITION DEFERRED.
    G L O B A L I N T E R N A L T A B L E S
    *DATA: gi_sflight TYPE STANDARD TABLE OF sflight.
    To include a traffic light and/or color a line the structure of the
    table must include fields for the traffic light and/or the color
    TYPES: BEGIN OF st_sflight.
    INCLUDE STRUCTURE zsflight.
    Field for traffic light
    TYPES: traffic_light TYPE c.
    Field for line color
    types: line_color(4) type c.
    TYPES: END OF st_sflight.
    TYPES: tt_sflight TYPE STANDARD TABLE OF st_sflight.
    DATA: gi_sflight TYPE tt_sflight.
    G L O B A L D A T A
    DATA: ok_code LIKE sy-ucomm,
    Work area for internal table
    g_wa_sflight TYPE st_sflight,
    ALV control: Layout structure
    gs_layout TYPE lvc_s_layo.
    Declare reference variables to the ALV grid and the container
    DATA:
    go_grid TYPE REF TO cl_gui_alv_grid,
    go_custom_container TYPE REF TO cl_gui_custom_container,
    o_event_receiver TYPE REF TO lcl_event_receiver.
    DATA:
    Work area for screen 200
    g_screen200 LIKE zsflight.
    Data for storing information about selected rows in the grid
    DATA:
    Internal table
    gi_index_rows TYPE lvc_t_row,
    Information about 1 row
    g_selected_row LIKE lvc_s_row.
    C L A S S E S
    CLASS lcl_event_receiver DEFINITION.
    PUBLIC SECTION.
    METHODS:
    handle_toolbar FOR EVENT toolbar OF cl_gui_alv_grid
    IMPORTING
    e_object e_interactive,
    handle_user_command FOR EVENT user_command OF cl_gui_alv_grid
    IMPORTING e_ucomm.
    ENDCLASS.
    CLASS lcl_event_receiver IMPLEMENTATION
    CLASS lcl_event_receiver IMPLEMENTATION.
    METHOD handle_toolbar.
    Event handler method for event toolbar.
    CONSTANTS:
    Constants for button type
    c_button_normal TYPE i VALUE 0,
    c_menu_and_default_button TYPE i VALUE 1,
    c_menu TYPE i VALUE 2,
    c_separator TYPE i VALUE 3,
    c_radio_button TYPE i VALUE 4,
    c_checkbox TYPE i VALUE 5,
    c_menu_entry TYPE i VALUE 6.
    DATA:
    ls_toolbar TYPE stb_button.
    Append seperator to the normal toolbar
    CLEAR ls_toolbar.
    MOVE c_separator TO ls_toolbar-butn_type..
    APPEND ls_toolbar TO e_object->mt_toolbar.
    Append a new button that to the toolbar. Use E_OBJECT of
    event toolbar. E_OBJECT is of type CL_ALV_EVENT_TOOLBAR_SET.
    This class has one attribute MT_TOOLBAR which is of table type
    TTB_BUTTON. The structure is STB_BUTTON
    CLEAR ls_toolbar.
    MOVE 'CHANGE' TO ls_toolbar-function.
    MOVE icon_change TO ls_toolbar-icon.
    MOVE 'Change flight' TO ls_toolbar-quickinfo.
    MOVE 'Change' TO ls_toolbar-text.
    MOVE ' ' TO ls_toolbar-disabled.
    APPEND ls_toolbar TO e_object->mt_toolbar.
    ENDMETHOD.
    METHOD handle_user_command.
    Handle own functions defined in the toolbar
    CASE e_ucomm.
    WHEN 'CHANGE'.
    PERFORM change_flight.
    LEAVE TO SCREEN 0.
    ENDCASE.
    ENDMETHOD.
    ENDCLASS.
    S T A R T - O F - S E L E C T I O N.
    START-OF-SELECTION.
    SET SCREEN '100'.
    *& Module USER_COMMAND_0100 INPUT
    MODULE user_command_0100 INPUT.
    CASE ok_code.
    WHEN 'EXIT'.
    LEAVE TO SCREEN 0.
    ENDCASE.
    ENDMODULE. " USER_COMMAND_0100 INPUT
    *& Module STATUS_0100 OUTPUT
    MODULE status_0100 OUTPUT.
    DATA:
    For parameter IS_VARIANT that is sued to set up options for storing
    the grid layout as a variant in method set_table_for_first_display
    l_layout TYPE disvariant,
    Utillity field
    l_lines TYPE i.
    After returning from screen 200 the line that was selected before
    going to screen 200, should be selected again. The table gi_index_rows
    was the output table from the GET_SELECTED_ROWS method in form
    CHANGE_FLIGHT
    DESCRIBE TABLE gi_index_rows LINES l_lines.
    IF l_lines > 0.
    CALL METHOD go_grid->set_selected_rows
    EXPORTING
    it_index_rows = gi_index_rows.
    CALL METHOD cl_gui_cfw=>flush.
    REFRESH gi_index_rows.
    ENDIF.
    Read data and create objects
    IF go_custom_container IS INITIAL.
    Read data from datbase table
    PERFORM get_data.
    Create objects for container and ALV grid
    CREATE OBJECT go_custom_container
    EXPORTING container_name = 'ALV_CONTAINER'.
    CREATE OBJECT go_grid
    EXPORTING
    i_parent = go_custom_container.
    Create object for event_receiver class
    and set handlers
    CREATE OBJECT o_event_receiver.
    SET HANDLER o_event_receiver->handle_user_command FOR go_grid.
    SET HANDLER o_event_receiver->handle_toolbar FOR go_grid.
    Layout (Variant) for ALV grid
    l_layout-report = sy-repid. "Layout fo report
    Setup the grid layout using a variable of structure lvc_s_layo
    Set grid title
    gs_layout-grid_title = 'Flights'.
    Selection mode - Single row without buttons
    (This is the default mode
    gs_layout-sel_mode = 'B'.
    Name of the exception field (Traffic light field) and the color
    field + set the exception and color field of the table
    gs_layout-excp_fname = 'TRAFFIC_LIGHT'.
    gs_layout-info_fname = 'LINE_COLOR'.
    LOOP AT gi_sflight INTO g_wa_sflight.
    IF g_wa_sflight-paymentsum < 100000.
    Value of traffic light field
    g_wa_sflight-traffic_light = '1'.
    Value of color field:
    C = Color, 6=Color 1=Intesified on, 0: Inverse display off
    g_wa_sflight-line_color = 'C610'.
    ELSEIF g_wa_sflight-paymentsum => 100000 AND
    g_wa_sflight-paymentsum < 1000000.
    g_wa_sflight-traffic_light = '2'.
    ELSE.
    g_wa_sflight-traffic_light = '3'.
    ENDIF.
    MODIFY gi_sflight FROM g_wa_sflight.
    ENDLOOP.
    Grid setup for first display
    CALL METHOD go_grid->set_table_for_first_display
    EXPORTING i_structure_name = 'SFLIGHT'
    is_variant = l_layout
    i_save = 'A'
    is_layout = gs_layout
    CHANGING it_outtab = gi_sflight.
    End of grid setup
    Raise event toolbar to show the modified toolbar
    CALL METHOD go_grid->set_toolbar_interactive.
    Set focus to the grid. This is not necessary in this
    example as there is only one control on the screen
    CALL METHOD cl_gui_control=>set_focus EXPORTING control = go_grid.
    ENDIF.
    ENDMODULE. " STATUS_0100 OUTPUT
    *& Module USER_COMMAND_0200 INPUT
    MODULE user_command_0200 INPUT.
    CASE ok_code.
    WHEN 'EXIT200'.
    LEAVE TO SCREEN 100.
    WHEN'SAVE'.
    PERFORM save_changes.
    ENDCASE.
    ENDMODULE. " USER_COMMAND_0200 INPUT
    *& Form get_data
    FORM get_data.
    Read data from table SFLIGHT
    SELECT *
    FROM zsflight
    INTO TABLE gi_sflight.
    ENDFORM. " load_data_into_grid
    *& Form change_flight
    Reads the contents of the selected row in the grid, ans transfers
    the data to screen 200, where it can be changed and saved.
    FORM change_flight.
    DATA:l_lines TYPE i.
    REFRESH gi_index_rows.
    CLEAR g_selected_row.
    Read index of selected rows
    CALL METHOD go_grid->get_selected_rows
    IMPORTING
    et_index_rows = gi_index_rows.
    Check if any row are selected at all. If not
    table gi_index_rows will be empty
    DESCRIBE TABLE gi_index_rows LINES l_lines.
    IF l_lines = 0.
    CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'
    EXPORTING
    textline1 = 'You must choose a line'.
    EXIT.
    ENDIF.
    Read indexes of selected rows. In this example only one
    row can be selected as we are using gs_layout-sel_mode = 'B',
    so it is only ncessary to read the first entry in
    table gi_index_rows
    LOOP AT gi_index_rows INTO g_selected_row.
    IF sy-tabix = 1.
    READ TABLE gi_sflight INDEX g_selected_row-index INTO g_wa_sflight.
    ENDIF.
    ENDLOOP.
    Transfer data from the selected row to screenm 200 and show
    screen 200
    CLEAR g_screen200.
    MOVE-CORRESPONDING g_wa_sflight TO g_screen200.
    LEAVE TO SCREEN '200'.
    ENDFORM. " change_flight
    *& Form save_changes
    Changes made in screen 200 are written to the datbase table
    zsflight, and to the grid table gi_sflight, and the grid is
    updated with method refresh_table_display to display the changes
    FORM save_changes.
    DATA: l_traffic_light TYPE c.
    Update traffic light field
    Update database table
    MODIFY zsflight FROM g_screen200.
    Update grid table , traffic light field and color field.
    Note that it is necessary to use structure g_wa_sflight
    for the update, as the screen structure does not have a
    traffic light field
    MOVE-CORRESPONDING g_screen200 TO g_wa_sflight.
    IF g_wa_sflight-paymentsum < 100000.
    g_wa_sflight-traffic_light = '1'.
    C = Color, 6=Color 1=Intesified on, 0: Inverse display off
    g_wa_sflight-line_color = 'C610'.
    ELSEIF g_wa_sflight-paymentsum => 100000 AND
    g_wa_sflight-paymentsum < 1000000.
    g_wa_sflight-traffic_light = '2'.
    clear g_wa_sflight-line_color.
    ELSE.
    g_wa_sflight-traffic_light = '3'.
    clear g_wa_sflight-line_color.
    ENDIF.
    MODIFY gi_sflight INDEX g_selected_row-index FROM g_wa_sflight.
    Refresh grid
    CALL METHOD go_grid->refresh_table_display.
    CALL METHOD cl_gui_cfw=>flush.
    LEAVE TO SCREEN '100'.
    ENDFORM. " save_changes
    chk this blog
    /people/vijaybabu.dudla/blog/2006/07/21/topofpage-in-alv-using-clguialvgrid
    /message/4447073#4447073 [original link is broken]
    Difference between ABAP an OOABAP
    http://en.wikipedia.org/wiki/Comparison_of_ABAP_and_Java
    hope it will help you
    regards
    sreelatha gullapalli

  • Difference between HR workflows and other module workflows

    Hi,
    I would like to know the major differences between HR related WF and that of other modules.
    Please lemme know.
    himanshu.

    Hi,
    There is not really any difference. Both use the same Business Workflow engine/framework. The actual difference comes from the business content itself. For example in HR you need to be familiar with the infotypes & org. structure etc., and if you know them and you know WF development in general, you should not have too much difficulties developing HR workflows.
    Your question is a bit like what is the difference between ABAP and HR ABAP. Well, they are not different, BUT there are some tricks, techniques and knowledge that you should have if you want to be a good HR ABAP developer.
    Regards,
    Karri

  • Difference between the PI sheets

    Hi, Please mention the difference between abap/browser based PI sheets? When to use abap pi sheet and when should we use browser based pi sheet? thank you for the support.

    Dear Raju,
    The browser-based PI sheet  This is an enhanced version of the old ABAP list-based PI sheet. Two of its many advantages are the new user interface in HTML layout as well as new functions. The browser-based PI sheet is an enhanced version of the ABAP list-based PI sheet. It offers a new user interface that is intuitive and easy-to-operate.
    For more info read PI sheet sap help.
    Hope this will be sufficient to understand.

Maybe you are looking for