New to ABAP Enhancements

Hi Experts,
         As I am new to ABAP Enhancements can anyone guide with the navigations on how to proceed for creating an enhanced object.I will be helpful if u can provide it with some examples.
Thanks & Regards,
Naresh

Hi,
<i><b>Overview of Customer Exits</b></i>
The SAP application programmer plans possible application enhancements
in an application and defines the necessary components. These
components are combined in SAP enhancements.The programmers document their enhancements as best they can so that customers can implement the enhancements without having to analyze the program source code or the screen source code.
First, create an enhancement project and then choose the SAP
enhancements you want to use.
Next, edit your individual components using the project management
function and document the entire enhancement project.
Finally, activate the enhancement project. This activates all the component
parts of the project.
The transaction, CMOD, starts the project management function. You
must give your enhancement project a name. SAP recommends that you
think up a naming convention for all your projects. You caninclude the
transaction or module pool of the project in its name. All the enhancement
project names must be unique.
Next, go to the attributes of the project and enter a short text describing
the enhancenent project. The system inserts all the other attributes of the
project, such as created by, created on, and or status.
Use the project management function to assign SAP enhancements to
customer enhancement projects. Enter the names of the SAP enhancements
you want to use on the appropriate screen.
The search function gives you a catalog-like overview of existing SAP
enhancements. From there, you can select the enhancements that are of
interest to you.
Use the product management function to edit the components of your
enhancement project.
Depending on whether the component you are editing is a function
module, a menu entry, or a subscreen, you branch to either the Function
Builder, a dialog box for entering menu entries, or to the Screen Painter.
Activation of an enhancement project affects all its components. After it
has been activated successfully, the project has the status, active.
During activation, all programs, screens, and menus that contain the
components that belong to the project are regenerated (programs at the
time they are executed). After activation, you can see the effect of the
enhancements in your application functions.
The Deactivate function allows you to reset the status of an active
enhancement project to inactive.
When the enhancement project was created, you should have assigned
it to a change request. Each of the component pieces, such as include
programs, subscreens, and menu exits, should be assigned to the same
change request. Using the same change request allows you to transport
the entire enhancement at the same time.
<i><b>Function Module Exits</b></i>
Function module exits allow customers to implement additional logic
in application functions. SAP application programmers define where
function module exits are inserted and what type of data they transfer.
SAP programmers also create the corresponding function modules of an
exit complete with short text, interface, and documentation, as well as
describing the intended purpose of each function module in the SAP
documentation.
You write the source code for the function modules yourself. If need be,
you can also create your own screens, text elements, and includes for the
function group.
The system processes your ABAP code when the enhancement project of
which your function module is a component is activated. Function module
exits have no effect prior to enhancement project activation.
The exit function module is called in the PAI logic of a screen at a position
determined by the SAP application developer. Within the function module,
the user can add the functions in the customer namespace using an include.
To call function modules, use the ABAP statement: CALL
CUSTOMER-FUNCTION ’nnn’, where nnn is a three-digit number. The
programmer must also create the function module the developer wants to
call and its related function group.
These function modules always belong to function groups, the names of
which begin with X (X function group).
The following naming convention applies to function modules:
&#149; Prefix:EXIT
&#149; Name: Name of the program that calls the function module
&#149; Suffix: Three-digit number
The three parts of the name are separated by an underscore.
The CALL CUSTOMER-FUNCTION statement is only executed after
the enhancement project has been activated. Multiple calls of the same
function module are all activated at the same time.
The most frequently asked question concerning enhancements is how can
you see if an application program offers a function module exit? There are
a number of ways to find the answer to this question.
To see quickly if an application program offers a function module exit, you
can follow the path on the left side of the figure: The menu path System&#8594;
Status always displays the name of the current application program. In
this example, a suitable character string would be CALL CUSTOMER.
Click the Find icon and search globally in the program. If your search doesnot provide any results, you can define a larger search area. Determine
the environment for the corresponding program and look for the specific
character string in the program environment.
The right side of the figure shows you howto find the name of the required
enhancement using search tools. You can restrict the search in the SAP R/3
Repository Information System using different criteria. These are:
&#149; Development class (also try generic entries)
&#149; Technical name of the enhancement
Use the project management, transaction: CMOD function, to edit the
function modules for function module exits.
Use the button for editing components to go directly to the function
module editor (display mode).
Do not change the function module itself. It is especially important that
you do not alter the interface in any way. The function module, contains
an INCLUDE statement for an include program that you have to create
in the customer namespace.
Select the include name beginning with ZX. This automatically takes you
to the editor of the include program, where you can enter your code.
To understand how an X function group works, you need to understand
how a normal function group works:
&#149; A function group consists of includes. The system assigns unique the
names to the includes for different objects. Some of the include names
are simply proposals and some cannot be changed.
&#149; Global data is stored in the TOP include. This include is generated
automatically when a function group is created.
&#149; Function modules are stored in includes with sequential numbering
and they, in turn, are all stored in an include ending with UXX.
&#149; Although can freely choose the names of the includes for all other
objects such as subroutines, modules, and events, it is a good idea
to accept the proposed names.
Exit function groups created by SAP application programmers for
enhancement exits contain include programs that begin with either LX or
ZX. You can only edit includes beginning with a Z because they are stored
in the customer namespace.
No further function modules may be added to the function group.
The include program, ZxaaaUnn contains the source code for the function
modules of a function module exit.
SAP application programmers can declare global data in include program,
LXaaaTAP.
You can declare your global data in the include, ZXaaaTOP.
Include program, LXaaaTOP also contains the FUNCTION-POOL statement,
which may not be changed. For this reason, you must always include the
message class in parentheses when outputting messages. For example,
MESSAGE E500 (EU) .
The INCLUDE statement for program ZXaaaUnn is in a FUNCTION -
ENDFUNCTION block. Because of this, neither events, nor subroutines(
FORM ), nor modules ( MODULE ) are allowed here. They can be created in
separate includes, which is explained later. Data declarations made here
with DATA are valid locally in this function module.
The SAP application programmer can also make a proposal for the source
text. In this case, an INCLUDE LXaaFnn is created, where nn is the
internal number for the function module in the include, LXaaaUXX ).
Documentation is also provided within the SAP enhancement. You can
copy the source code fromthis include into your own customer include
program, ZxaaaUnn, using the project management transaction.
You can create your own text elements for the function group.
SAP application programmers can supply you with default subroutines
in the include, LXaaaF01.
There could be further includes containing specific subobjects:
&#149; LX...F01 contains the subroutines delivered by SAP
&#149; LX...E01 contains the events belonging to the X function group
&#149; LX...O01 contains the PBO modules for the screens to be delivered
&#149; LX...I01 contains the corresponding PAI modules
Subroutines, modules, and interactive events (AT) are created as include
programs and included enhancements using the include program,
ZXaaaZZZ.
Additional includes must adhere to the following naming convention:
&#149; ZXaaaFnn for subroutines
&#149; ZXaaaOnnforPBOmodules
&#149; ZXaaaInn for PAI modules
&#149; ZXaaaEnn for events
You can use CALL SCREEN to call your own screens. Create the related
include programs for the Process Before Output (PBO) and Process After
Input (PAI) modules in the include program, ZXaaaZZZ .
Use forward navigation (select an object and then double-click it) to create
your own screens and modules.
Screens created in this way are automatically given the name of the
function module&#146;s main program, SAPLXaaa . The PBO modules for these
screens can be found in the include, ZXaaaO01 , and the PAImodules
in the include, ZXaaaI01 .
You can enhance SAP applications by adding your own processing logic
at predefined points.
Such enhancements can include your own screenswith their corresponding
processing logic and graphical user interface as well as text elements
created by customers.
Regards,
Balaji Reddy G
***Rewards if answers are helpful

Similar Messages

  • New to Abap objects?

    Hi
    iam new to abap objects. can u please suggest me some links or material to read?
    thanks in advance
    chythanya

    Hi Chytanya,
    Please check this link for step by step tutorials.
    http://www.****************/Tutorials/OOPS/MainPage.htm
    Please check this form
    Need ABAP Objects Tutorial
    Need ABAP Objects Tutorial
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
    http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
    http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
    http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt
    http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf
    http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt
    Download the pdf'ds from here, willbe helpful.
    http://www.esnips.com/doc/6d16a298-9227-4d32-acf1-e91164c89daf/3-ABAP-Objects(P283)
    Best regards,
    raam

  • Error in Team Calendar View in new WD ABAP Lea Req. app in ECC 6.0 EhP5

    Hi Gurus,
    We have upgraded our ECC system from ECC 5.0 to ECC 6.0 EhP5 recently and deployed new Business Packages for ESS WDA 1.50 and MSS 1.51 which supports new WD Abap applications supplied in EhP 5.
    We have configured Leave request application and it is working fine now.  But only the issue with Team Calendar View in Leave request. If we click on "Team Calendar"  tab it throwing error :
    The following error text was processed in system <SID> : Error in BUSINESS_GRAPHICS "BSG" of view "HRESS_C_LEA_TEAM_CALENDAR.V_TEAM_CALENDAR": Context binding of property ? cannot be resolved: Node V_TEAM_CALENDAR.1.CHARTS does not contain any elements
    The error occurred on the application server <host>_<sid>_00 and in the work process 1 .
    The termination type was: RABAX_STATE
    The ABAP call stack was:
    Method: RAISE_FOR of program CX_WDR_ADAPTER_EXCEPTION======CP
    Method: RAISE_BINDING_EXCEPTION of program CL_WDR_VIEW_ELEMENT_ADAPTER===CP
    Method: GET_BOUND_ELEMENT of program CL_WDR_VIEW_ELEMENT_ADAPTER===CP
    Method: GET_ATTRIBUTE_INTERNAL of program CL_WDR_VIEW_ELEMENT_ADAPTER===CP
    Method: IF_NW7_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/CBUSINESS_GRAPHICS======CP
    Method: IF_NW7_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/C8STANDARD==============CP
    Method: IF_NW7_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/C8STANDARD==============CP
    Method: IF_NW7_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/C8STANDARD==============CP
    Method: IF_NW7_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/C7STANDARD==============CP
    Method: IF_NW7_VIEW_ELEMENT_ADAPTER~SET_CONTENT of program /1WDA/C8STANDARD==============CP
    Customizing settings are made in  Personnel Management --> Employee Self-Service (Web Dynpro ABAP) --> Service-Specific Settings -->Working Time -->Team Calendar.
    Plz advice me to resolve this issue...
    Kind regards,
    Sandeep

    Dear Siddharth,
    Thanks a lot for your immediate reply..
    I have observed that default RFC destinations for IGS exists in SAP when I checked using tnx SM59. i.e IGS_RFC_DEST and
    GFW_ITS_RFC_DEST .
    When I executed tnx SIGS, IGS administration page is opening properly.  Please let me know where else shall I need to check for IGS.
    Mean while we will apply SAP notes which u have suggested. 
    Kind regards,
    Sandeep

  • New to ABAP HR Programming

    Hi all,
    I have good work experience in ABAP Programming but i am new to ABAP HR Programming , can anybody please give me links to find good materials for ABAP HR Programming .
    Thanks in advance.

    Hi,
    Take a look at http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci1030179,00.html?track=NL-142&ad=500911#Transactions and http://help.sap.com/saphelp_46c/helpdata/en/4f/d528be575e11d189270000e8322f96/frameset.htm. There is a book available on SAP Press, www.sap-press.com, on technical principles of SAP HR programming.
    You can additionally take a look at http://www.sap-basis-abap.com/saphr.htm. Not to mention that you can always use this forum to post any questions you have.
    Regards
    Message was edited by: Shehryar Khan

  • New in ABAP Programming

    Hello everybody,
    Actually I'm working in a CRM 4.0 development project and I'm totally new in ABAP Programming (until now three years in functional roles).
    My question is the following:
    I have to develop an action method which delete several partner functions from partner tab in a sales order (for all included items and always the same partner functions, ZO1, ZO2 and ZO3 for example).
    Which is the best way to do it? Maybe using CRM_ORDER_MAINTAIN function?
    Could anybody help me posting some example code or any guideline?
    Thank you very much.
    I won't forget reward your answers.

    here is the example code:
    look at this,
    METHOD if_ex_order_save~prepare .
    TYPES: BEGIN OF t_guids,
    guid TYPE crmt_doc_flow_wrk-objkey_a,
    END OF t_guids.
    Header GUID's.
    DATA: lt_header_guid TYPE crmt_object_guid_tab,
    ls_header_guid TYPE crmt_object_guid,
    Read appointments.
    lt_appointment_wrk TYPE crmt_appointment_wrkt,
    ls_appointment_wrk TYPE crmt_appointment_wrk,
    Update appointments.
    lt_appointment_com TYPE crmt_appointment_comt,
    ls_appointment_com TYPE crmt_appointment_com,
    GUID's
    lt_guids TYPE TABLE OF t_guids,
    ls_guids TYPE t_guids,
    Update fields.
    ls_input_fields TYPE crmt_input_field,
    lt_input_fields TYPE crmt_input_field_tab,
    ls_input_field_names TYPE crmt_input_field_names,
    lt_input_field_names TYPE crmt_input_field_names_tab,
    Order header data.
    lt_orderadm_h TYPE crmt_orderadm_h_comt,
    Objects to be updated.
    lt_objects_to_save TYPE crmt_object_guid_tab,
    Exceptions.
    lt_exception TYPE crmt_exception_t,
    Updated documents.
    lt_saved_objects TYPE crmt_return_objects,
    lt_objects_not_saved TYPE crmt_object_guid_tab,
    Local update task.
    lv_update_task_local TYPE boolean.
    Use a global variable to ensure this method is only called once per user save.
    IF gv_first IS INITIAL.
    gv_first = 'X'.
    Get the dates for the current activity.
    ls_header_guid = iv_guid.
    INSERT ls_header_guid INTO TABLE lt_header_guid.
    CALL FUNCTION 'CRM_ORDER_READ'
    EXPORTING
    it_header_guid = lt_header_guid
    IMPORTING
    et_appointment = lt_appointment_wrk
    EXCEPTIONS
    document_not_found = 1
    error_occurred = 2
    document_locked = 3
    no_change_authority = 4
    no_display_authority = 5
    no_change_allowed = 6
    OTHERS = 7.
    IF sy-subrc <> 0.
    EXIT.
    ENDIF.
    DELETE lt_appointment_wrk WHERE appt_type <> 'ZLSC00003'
    OR timestamp_from IS INITIAL.
    Check if the conclusion date has been set (appointment type ZLSC00003).
    READ TABLE lt_appointment_wrk
    INTO ls_appointment_wrk
    WITH KEY appt_type = 'ZLSC00003'.
    IF sy-subrc = 0.
    Coding removed here, build up the follow up GUID's from the document flow.
    lt_header_guid now contains the parent GUID and the follow up activty GUID's
    Get all of the date details for all of the documents.
    CALL FUNCTION 'CRM_ORDER_READ'
    EXPORTING
    it_header_guid = lt_header_guid
    IMPORTING
    et_appointment = lt_appointment_wrk
    EXCEPTIONS
    document_not_found = 1
    error_occurred = 2
    document_locked = 3
    no_change_authority = 4
    no_display_authority = 5
    no_change_allowed = 6
    OTHERS = 7.
    IF sy-subrc <> 0.
    EXIT.
    ENDIF.
    Get rid of date entries which aren't conclusion dates or aren't the same conclusion date.
    DELETE lt_appointment_wrk WHERE appt_type <> 'ZLSC00003'
    OR timestamp_from <> ls_appointment_wrk-timestamp_from.
    Process each of the documents and, if they don't have a conclusion date with the same value,
    set up the internal tables to update the document.
    LOOP AT lt_header_guid INTO ls_header_guid.
    Check if it has a conclusion date with the correct value already.
    READ TABLE lt_appointment_wrk
    WITH KEY ref_guid = ls_header_guid
    TRANSPORTING NO FIELDS.
    IF sy-subrc = 0.
    DELETE lt_header_guid.
    CONTINUE.
    ENDIF.
    Set up the fields to be updated.
    CLEAR lt_input_field_names.
    ls_input_field_names-fieldname = 'REF_KIND'.
    INSERT ls_input_field_names INTO TABLE lt_input_field_names.
    ls_input_field_names-fieldname = 'APPT_TYPE'.
    INSERT ls_input_field_names INTO TABLE lt_input_field_names.
    ls_input_field_names-fieldname = 'TIMESTAMP_FROM'.
    INSERT ls_input_field_names INTO TABLE lt_input_field_names.
    ls_input_field_names-fieldname = 'TIMEZONE_FROM'.
    INSERT ls_input_field_names INTO TABLE lt_input_field_names.
    ls_input_field_names-fieldname = 'TIMESTAMP_TO'.
    INSERT ls_input_field_names INTO TABLE lt_input_field_names.
    ls_input_field_names-fieldname = 'TIMEZONE_TO'.
    INSERT ls_input_field_names INTO TABLE lt_input_field_names.
    ls_input_field_names-fieldname = 'TIME_UNIT'.
    INSERT ls_input_field_names INTO TABLE lt_input_field_names.
    ls_input_fields-ref_handle = '0000000000'.
    ls_input_fields-ref_guid = ls_header_guid.
    ls_input_fields-objectname = 'APPOINTMENT'.
    ls_input_fields-field_names = lt_input_field_names.
    INSERT ls_input_fields INTO TABLE lt_input_fields.
    Set up the values for the fields to be updated.
    ls_appointment_com-ref_handle = '0000000000'.
    ls_appointment_com-ref_guid = ls_header_guid.
    ls_appointment_com-ref_kind = 'A'.
    ls_appointment_com-appt_type = 'ZLSC00003'.
    ls_appointment_com-timestamp_from = ls_appointment_wrk-timestamp_from.
    ls_appointment_com-timezone_from = ls_appointment_wrk-timezone_from.
    ls_appointment_com-timestamp_to = ls_appointment_wrk-timestamp_to.
    ls_appointment_com-timezone_to = ls_appointment_wrk-timezone_to.
    ls_appointment_com-time_unit = ls_appointment_wrk-time_unit.
    INSERT ls_appointment_com INTO TABLE lt_appointment_com.
    Create an entry in the internal table used to determine which documents will be updated.
    INSERT ls_header_guid INTO TABLE lt_objects_to_save.
    ENDLOOP.
    Change the values in the documents
    IF NOT lt_appointment_com IS INITIAL.
    CALL FUNCTION 'CRM_ORDER_MAINTAIN'
    EXPORTING
    it_appointment = lt_appointment_com
    IMPORTING
    et_exception = lt_exception
    CHANGING
    ct_orderadm_h = lt_orderadm_h
    ct_input_fields = lt_input_fields
    EXCEPTIONS
    error_occurred = 1
    document_locked = 2
    no_change_allowed = 3
    no_authority = 4
    OTHERS = 5.
    IF sy-subrc <> 0.
    EXIT.
    ENDIF.
    ENDIF.
    Save the changed date values.
    IF NOT lt_objects_to_save IS INITIAL.
    CALL FUNCTION 'CRM_ORDER_SAVE'
    EXPORTING
    it_objects_to_save = lt_objects_to_save
    iv_update_task_local = lv_update_task_local
    IMPORTING
    et_saved_objects = lt_saved_objects
    et_exception = lt_exception
    et_objects_not_saved = lt_objects_not_saved
    EXCEPTIONS
    document_not_saved = 1
    OTHERS = 2.
    IF sy-subrc <> 0.
    EXIT.
    ENDIF.
    ENDIF.
    ENDIF.
    CLEAR gv_first.
    ENDIF.
    ENDMETHOD.

  • IDOC ABAP enhancements before processing

    Hi Guys!
    My scenario is that I'm using XI to send a Sales Order IDOC to ERP. I need to make some ABAP enhancements in ERP so that some data is modified before it creates a Sales Order IDOC upon sending from XI. Would anyone have any idea how I can go about this?
    Thanks in advance!
    Glenn

    Hi Glenn,
    User Exit – Function module IDOC_INPUT_ORDERS
    In the function module IDOC_INPUT_ORDERS, form call_va01_new_orders is performed wherein BDC data is built up for every screen required to post a sales order. User Exit ZXVEDU04 is performed at various stages during the built up of BDC data
    XI tool translates the order into an intermediate document (IDOC) with message type ORDERS and IDOC type ORDERS01.  Reaching into SAP, the function module IDOC_INPUT_ORDERS processes the IDOC and calls VA01 transaction with BDC data built out from IDOC data. Successfully processed IDOC posts a sales order, whereas a failed IDOC processing generates workitem for workflow processing.
    At a high level, the IDOC processing executes in the following manner:
           1.     Interpret IDOC header segments and captures organizational, customer master and purchase
                   order header details. Performs user exits for each segment to process customizations to data
                   processing.
           2.     Interprets item level segments and captures item level details like material information. Again,
                    it performs user exits for each segment.
           3.     Sums up the order data and determines the posting criterion viz. creating order with reference
                     etc.
          4.     Builds up batch data communication sequence (BDC) with respect to the required screen
                     sequence of posting a sales order.
          5.     While building up the BDC data, system performs user exit to process customizations to BDC
                     data.
         6.     Calls transactions VA01 using the BDC data.
         7.     If the processing fails, an appropriate workitem is generated for workflow processing.
    if you give me brief i can help you out more.
    Thank you .
    Regards
    Ram

  • Anything new about abap web dynpro?

    Hi out there!
    (First, I'm sorry: I know, this question is related to Web AS General-forum, but I think, I wouldn't get any answer there.)
    Is there anything new about abap web dynpro? Just saying wait for nw05? No nice preview/minisap/promotion? Perhaps documents in service.sap.com? I read, it is used in some ramp-ups for ecc 05 (neither knowing, what it is). Is there nothing to say about? Is it drag&drop deployment like java webdynpro or more coding like mvc-"Basteln" in abap/bsp? Are BSP-Extensions used there? Something exiting new?
    That are enougth questions for starting.

    Brian McKellar is gonna lock this thread:-)
    Anyway you can find some info about WebDynpro for ABAP in the Teched 2003 presentations in SDN and there is a quite detailed overview with examples in the Online help.
    For the linux version of NW'04 MiniSAP the non-supported version ABAP Dynpro is available....anyway for MiniSAP you don't get support;-)
    Peter
    Ps: "Something exiting new?"
    The whole thing is something really exiting!!!

  • I am new to abap please give me  alv tree structures

    Hi,
       i am new to abap please give me demo  alv tree structures.
    Regards,
    venkat

    Hi,
    have a look at this links
    http://****************/Tutorials/ALV/ALVMainPage.htm
    http://www.sapdevelopment.co.uk/reporting/alv/alvtree/alvtree_mainsetup.htm
    http://sap.ittoolbox.com/groups/technical-functional/sap-dev/alv-inputenabled-985429
    Regards,
    Manoj.

  • I AM NEW TO ABAP

    i AM NEW TO ABAP
    What I want to ask is that Is it necessary to learn the entire study material
    of ABAP  [BC-ABAP  PROGRAMMING] in sap-abap help to face an interview?

    http://sapabaplive.blogspot.com/2007/07/download-abap-in-21-days.html
    http://free-download-ebooks-in-pdf-format-swicki.eurekster.com/ABAPin21+days/
    http://free-download-ebooks-in-pdf-format-swicki.eurekster.com/ABAPin21days/http://http://free-download-ebooks-in-pdf-format-swicki.eurekster.com/ABAPin21days/

  • *New to ABAP: what is Report*

    Hi Gurus,
    i am new to ABAP.If any body can explain about what is report and how many types are there to create internal tables.
    points will be reward.
    Thanks,
    Balakrishna.

    hi naidu,
    When you are working in the SAP System, you may want to access information from the database. To do this, you use reports.
    In this documentation, report refers to the report program, and list refers to the output u2013 that is, the results of the report.
    Some reports display information; others allow you to perform analyses.
    A report must be started, or executed. In many cases, the SAP System automatically executes a report. Sometimes, however, you will want to execute a report yourself.
    In addition to report programs, the SAP System provides numerous reporting tools, each of which has its own set of procedures for executing report programs.
    This documentation describes report programs only. For an introduction to the SAP reporting tools, refer to the Reporting Made Easy guidebooks (Release 4.0B). You can find these guidebooks at: www.saplabs.com/rme
    In ABAP, there are a total of 7 types of reports. They are:
    Classical
    Interactive
    Logical Database
    ABAP query
    ALV Reports (ALV stands for ABAP List Viewer)
    Report Writer/Report Painter Views (There are different types of views also)
    [Edit section] Classical Reports
    These are the most simple reports. Programmers learn this one first. It is just an output of data using the Write statement inside a loop.
    Classical reports are normal reports. These reports are not having any sub reports. IT IS HAVING ONLY ONE SCREEN/LIST FOR OUTPUT.
    Events In Classical Reports.
    INTIALIZATION: This event triggers before selection screen display.
    AT-SELECTION-SCREEN: This event triggers after proccesing user input still selection screen is in active mode.
    START OF SELECTION: Start of selection screen triggers after proceesing selection screen.
    END-OF-SELECTION : It is for Logical Database Reporting.
    [Edit section] Interactive Reports
    As the name suggests, the user can Interact with the report. We can have a drill down into the report data. For example, Column one of the report displays the material numbers, and the user feels that he needs some more specific data about the vendor for that material, he can HIDE that data under those material numbers.
    And when the user clicks the material number, another report (actually sub report/secondary list) which displays the vendor details will be displayed.
    We can have a basic list (number starts from 0) and 20 secondary lists (1 to 21).
    Events associated with Interactive Reports are:
    AT LINE-SELECTION
    AT USER-COMMAND
    AT PF<key>
    TOP-OF-PAGE DURING LINE-SELECTION.
    HIDE statement holds the data to be displayed in the secondary list.
    sy-lisel : contains data of the selected line.
    sy-lsind : contains the level of report (from 0 to 21)
    Interactive Report Events:
    AT LINE-SELECTION : This Event triggers when we double click a line on the list, when the event is triggered a new sublist is going to be generated. Under this event what ever the statements that are been return will be displayed on newly generated sublist.
    AT PFn: For predefined function keys...
    AT USER-COMMAND : It provides user functions keys.
    TOP-OF-PAGE DURING LINE-SELECTION :top of page event for secondary list.
    [Edit section] Logical Database Reports
    Logical database is another tool for ABAP reports. Using LDB we can provide extra features for ABAP reports.
    While using LDB there is no need for us to declare Parameters.
    Selection-screen as they will be generated automatically.
    We have to use the statement NODES in ABAP report.
    If there are many tables the Performance will be slow as all the table data will be read from top node to bottom node .
    [Edit section] ABAP Query Reports
    ABAP query is another tool for ABAP. It provides efficency for ABAP reports. These reports are very accurate.
    Transaction Code : SQ01
       The advantage with ABAP QUERY is logic required for classic & interactive reports system design automatically 80%.
    For ABAP QUERY handle these
    SQ01 ; QUERY
    SQ02 : INFOSET OR FUNCTIONAL AREA
    SQ03: USER GROUP.
    [Edit section] Report Writer
    Key Concept :
    Super users and end users can use Report Painter/Report Writer tools to write their own reports.
    Giving them the ability to report on additional fields at their discretion shifts the report maintenance burden to them, saving SAP support groups time and effort normally spent creating and maintaining the reports.
    Instead of using ABAP code to write a report in FI and CO, many users build a Report Painter/ Report Writer library using transaction MC27.
    However, this workaround has some drawbacks. Little known transaction GRCT solves these problems in most cases, and eliminates the need to use transaction MC27.
    ABAP Report Types
    ABAP report types are those ones available in some report's attributes screen, i.e. :
    Executable program
    Function group (containing function modules)
    Include
    Interface pool
    Class pool
    Module pool
    Subroutine pool
    Also ALV means ABAP List Viewer. Most convenient way to use it is through reuse library (cf. transaction se83) available from release 4.6 of SAP R/3.
    ALV is available in two modes: list and grid. List mode is good old list processing with standard functionnalities, and grid mode is using a new OCX object displaying grids.
    hope its clear to you,
    Reward points if usefull,
    Thanks,
    Kalyan.

  • IM NEW TO ABAP

    hi,
    i am new to abap programming.
    just help me to get flourish knowledge.

    Refere the below link.
    ABAP book
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf
    ABAP in 21 days
    http://cma.zdnet.com/book/abap/index.htm
    ABAP BASIC
    You can also check for documentation in pdf files
    http://www.easymarketplace.de/online-pdfs.php
    ABAP in 21 days
    http://cma.zdnet.com/book/abap/ch03/ch03.htm
    http://help.sap.com/saphelp_40b/helpdata/en/4f/991f82446d11d189700000e8322d00/applet.htm SAP Online Help For Dictionary.
    http://sappoint.com/abap/
    for SAPscripts
    For follg., refer http://www.henrikfrank.dk/abapuk.html
    Please note that I do not offer any support for the examples !
    ABAP objects and control technology
    IDOC
    SapScript
    Performance tuning
    BAPI Programming
    Visual Basic Integration - Using the DCOM Connector and BAPI OCX (Only available in Danish)
    JAVA and the SAP java connector
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    for keywords
    very useful link for all
    http://www.sapgenie.com/abap/index.htm
    http://www.sap-img.com/abap.htm
    http://www.sapdevelopment.co.uk/tips/tipshome.htm
    http://help.sap.com/printdocu/core/Print46c/en/Data/Index_en.htm
    http://sap.ittoolbox.com/nav/t.asp?t=322&p=322&h1=322
    http://sap.ittoolbox.com/nav/t.asp?t=448&p=448&h1=448
    http://www.thespot4sap.com/
    http://www.kabai.com/abaps/q.htm
    http://www.geocities.com/mpioud/Abap_programs.html
    http://www.sapgenie.com/abap/tips_and_tricks.htm
    http://www.sapassist.com/code/d.asp?whichpage=1&pagesize=10&i=10&a=c&o=&t=&q=&qt=
    For FAQ
    http://www.sap-img.com/abap/more-than-100-abap-interview-faqs.htm
    http://www.sapgenie.com/faq/abap.htm
    BAPI-step by step
    http://www.sapgenie.com/abap/bapi/example.htm
    Weblog for receive email and processing it through ABAP
    /people/thomas.jung3/blog/2004/09/09/receiving-e-mail-and-processing-it-with-abap--version-610-and-higher
    For Logical database
    http://help.sap.com/saphelp_46c/helpdata/en/9f/db9bed35c111d1829f0000e829fbfe/frameset.htm
    very useful
    http://help.sap.com/saphelp_46c/helpdata/EN/35/2cd77bd7705394e10000009b387c12/frameset.htm
    Useful link to websites
    http://www.hernangn.com.ar/sap.htm
    Useful for background
    http://www.sappoint.com/basis/bckprsng.pdf
    http://help.sap.com/saphelp_nw04/helpdata/en/6f/08703713bf277ee10000009b38f8cf/frameset.htm
    http://publib.boulder.ibm.com/infocenter/wbihelp/index.jsp?topic=/com.ibm.wbix_adapters.doc/doc/mysap4/sap4x41.htm
    Table control in BDC
    http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
    For posting weblog,
    /people/sap.user72/blog/2005/06/28/sdn-weblogs-making-it-easier
    Dynamic Internal table -weblog in sdn
    /people/subramanian.venkateswaran2/blog/2004/11/19/dynamic-internal-table
    Smartforms
    http://www.sap-basis-abap.com/sapsf001.htm
    http://www.sap-press.com/downloads/h955_preview.pdf
    http://www.ossincorp.com/Black_Box/Black_Box_2.htm
    http://www.sap-img.com/smartforms/sap-smart-forms.htm
    How to trace smartform
    http://help.sap.com/saphelp_47x200/helpdata/en/49/c3d8a4a05b11d5b6ef006094192fe3/frameset.htm
    Workflow
    http://www.sap-img.com/workflow/sap-workflow.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/a5/172437130e0d09e10000009b38f839/frameset.htm
    For examples on WorkFlow...check the below link..
    http://help.sap.com/saphelp_47x200/helpdata/en/3d/6a9b3c874da309e10000000a114027/frameset.htm
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PSWFL/PSWFL.pdf
    http://help.sap.com/saphelp_47x200/helpdata/en/4a/dac507002f11d295340000e82dec10/frameset.htm
    http://www.workflowing.com/id18.htm
    http://www.e-workflow.org/
    http://web.mit.edu/sapr3/dev/newdevstand.html
    ALV
    http://www.geocities.com/mpioud/Abap_programs.html
    Mail
    http://www.geocities.com/mpioud/Z_EMAIL_ABAP_REPORT.html
    http://www.thespot4sap.com/Articles/SAP_Mail_SO_Object_Send.asp
    http://www.sapdevelopment.co.uk/reporting/email/attach_xls.htm
    BOM Explosion
    /people/prakash.singh4/blog/2005/05/15/explode-boms-in-enterprise-portal-using-htmlb-tree--part-1-abap
    BOM
    http://help.sap.com/saphelp_erp2005/helpdata/en/ea/e9b7234c7211d189520000e829fbbd/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/d1/2e4114a61711d2b423006094b9d648/frameset.htm
    http://www.sap-img.com/sap-sd/sales-bom-implementation.htm
    http://www.sap-basis-abap.com/sappp007.htm
    OLE
    http://www.sapgenie.com/abap/ole.htm
    http://help.sap.com/saphelp_46c/helpdata/en/59/ae3f2e488f11d189490000e829fbbd/frameset.htm
    ALVGRID with refresh
    http://www.geocities.com/mpioud/Z_DEMO_ALV_REFRESH_BUTTON.html
    For language setting and decimal separator
    /people/horst.keller/blog/2004/11/16/abap-geek-7-150-babylonian-confusion
    Oracle queries
    http://sqlzoo.net/
    To format SQL
    http://www.sqlinform.com/
    SCOT settings
    http://www.sap-img.com/basis/basis-faq.htm
    Status Icon [ALV,Table Control,Tab Strip]
    http://www.sapdesignguild.org/resources/MiniSG-old/from_develop/norm_status_icons.htm#positioning_4
    ALV Group Heading
    http://www.sap-img.com/fu037.htm
    For multiMedia
    /people/thomas.jung3/blog/2005/05/11/using-classic-activex-controls-in-the-abap-control-framework
    Uploading LOGO in SAP
    http://www.sap-img.com/ts001.htm
    LSMW
    http://www.sap-img.com/sap-data-migration.htm
    http://www.sapgenie.com/saptech/lsmw.htm
    http://sapabap.iespana.es/sapabap/manuales/pdf/lsmw.pdf
    http://www.sap.info/public/INT/int/glossary/int/glossaryletter/Word-17643ed1d6d658821_glossary/L#Word-17643ed1d6d658821_glossary
    check out these link,
    http://www.sapgenie.com/abap/index.htm
    http://www.sap-img.com/abap.htm
    http://sap.ittoolbox.com/nav/t.asp?t=448&p=448&h1=448
    http://www.thespot4sap.com/
    http://www.kabai.com/abaps/q.htm
    http://www.geocities.com/mpioud/Abap_programs.html
    http://www.sapgenie.com/abap/tips_and_tricks.htm
    http://www.sapdevelopment.co.uk/tips/tipshome.htm
    http://help.sap.com/printdocu/core/Print46c/en/Data/Index_en.htm
    Hope this will helpful.
    Regards,
    Bhavana

  • Location of DMS ABAP enhancements

    Greetings,
    I am advised that various enhancements (made up of ABAP enhancements) were developed in our initial SAP DMS implementation. An example of two of them go by the names of "EH-DMS-001" and "EH-DMS-002".
    I am unsure of where to find the enhancements. I went to transaction CMOD and do not see them there. Can you please advise? 
    Regards,
    Keith Kibuuka

    Hi Keith,
    please go to transaction SE19 and here you will find also a field for enhancments.
    Best regards,
    Christoph

  • How to Generate New Version of Enhancements done to Std WebDynpro ABAP obj

    Hi Experts,
    We have enhanced a SAP Std WebDynpro ABAP component (HAP_DOCUMENT_BODY) using Enhancement framework provided by SAP. Multiple enhancements were done on the same component for different requirements. Now, under the Enhancement Implementations folder of this component, you can see 5 enhancements of the component each referring to the 5 different changes done (most of the changes were done to the same view ).
    These changes has now been transported to the Quality System. Now, the client wants one of the changes to be removed. I am not sure of the impact of removing, for eg: the 3rd enhancement,  on the other changes done as multiple enhancements were done in a mixed manner.
    What i want to do is to generate a new version of WebDynpro component on Dev which has all the enhancements done so far using Utilities -> Versions -> Generate new version. Then try to delete the 3rd enhancement folder, so that if something goes wrong, I can always revert to this newly created version on DEV which has all changes available.
    Questions:
    1)  Before that, I would like to know if I can generate versions of the enhancements done of WebDynpro ABAP using enhancement framework by using Utilities -> Versions -> Generate new version ?
    2) If yes, I want to generate one version which has all the enhancements done so far using enhancement framework. For doing so, where should i do the click or selection (Is it Std Main Component or is it Enhancements in the enhancements folder-if so, there are 5 of them, and which one??) before i go to  Utilities -> Versions -> Generate new version. I am not clear where i should select or keep the cursor selected on before generating a new version? 
    Please guide with step by step details.
    Thanks,

    I have moved this post to the HTML5 layouts forum, which is more appropriate.
    I am guessing you are using Rh11 as you have a trial copy. I have some instructions for Rh10 and the only difference should be the script used. See the contact page on my site and request those details. Include a link to this thread.
    See www.grainge.org for RoboHelp and Authoring tips
    @petergrainge

  • New for ABAP in functional upgrade from 4.6c to ECC6.0

    i want to know the enhancements, additions and changes in the technical side/ABAP , when moved from 4.6c to ECC6.0 in case of FUNCTIONAL UPGRADE only....
    our compny has done FUNCTIONAL UPGRADE so far..whats new for technical ppl like us apart from changing bdcs, some missing functions, etc...
    thanx,
    Naveen Vishal

    Hi
    Technical upgrade is the fast upgrade without additional functionality but with minor user interface changes to ensure business continuity.  In the past, all objects modified by a customer had to be manually re-modified during an upgrade. Now, modifications are either automatically adopted or the system provides you with an assistant for adjusting your modifications to the newly upgraded configuration using transactin SPAU and SPDD.
    SPDD:  This transaction allows you to adjust modifications to ABAP Dictionary objects during an upgarde.
    Using this transaction we can adjust the Domains, Data Elements, Tables, Strcutures, Transparent tables, pooled and cluster tables including their technical settings, indexs of transparent tables. If you adjust data elements that have been changed with the Modification Assistant in an earlier release, the changes can be copied automatically.
    Steps to run SPDD: 
           1.      1)  Start transaction SE03 as user DDIC and choose Administration ® Set system change option
           2.      2)  Select Modifiable in the Global setting dialog box.
           3.      3) Choose Continue.
           4.      4) Choose Edit ® Select all.
           5.      5) Save your changes.
           6.      Then log on as a normal user, since user DDIC may not perform any repairs.
    SPAU:  This transaction allows you to adjust programs, function modules, screens, interfaces, documentation and text elements after an upgrade.
    After you adjusted or edited an object, you can use User/Status function to modify the status of the object. Before doing this, you can also add other developers or testers that are allowed to edit the object and create a short note.
    Steps to run SPAU:
    1) Start transaction SE03 as user DDIC and choose Tools ® Administration ® Set system change option.
           2.      2)  Select Modifiablein the Global setting dialog box.
           3.      3) Choose Continue.
           4.      4) Choose Edit ® Select all.
           5.      5) Save your entries.
           6.      Then log on as a normal user, since user DDIC may not perform any repairs.
    Other important topics in Technical Upgrade:
    Updaring the Development System: Perform the adjust int he development system using SPDD and SPAU transctions and assign to transport requests.  The upgrade control program R3up exports the transport that you have marked in a later upgrade phase.
    Upgrading the Production System: During this phase, the R3up upgrade control program checks whether there are any change requests registered for transport from the development system to the production system. If this is the case, R3up offers to import the transport automatically, instead of you carrying out adjustments with transactions SPDD/SPAU. If you choose this procedure, you still have the option of stopping SPDD/SPAU to check the changes accepted automatically before they are activated.
    If you decide to import a transport automatically, a subsequent analysis checks whether there is an entry in the transport you specified for each modified object found in this SAP System. Only if this is the case is the transport marked as suitable.
    If there are more modified objects in the production system than in the test system, they cannot be dealt with by the transport. This means that you have to adjust these objects.
    If you had more modified objects in the test system than in the production system and these are also contained in the transport, you import these into the production system with the transport
    regards
    karthik
    Reward points if useful

  • Abap  -- enhancements

    please send detailed info.. about user exits, menu exits, function exits, screen exits with realtime examples.....
    thank  you....

    Hi Prasad,
    User Exits
    Screen exits are exits that allow you to use a reserved part of the screen (A subscreen) to display or input data.
    It is determined be SAP where the sub screen will be displayed.
    The syntax is: CALL CUSTOMER-SUBSCREEN
    The screen exit is not processed untill the corresponding subscreen has been created in an enhancement project,
    and the project has been activated.
    Note:
    Function codes are only processed in the main screens flow logic
    You are not allowed to enter a name for the subscreens command field
    You are not allowed to define GUI stauses
    You are not allowed to enter a value for Next screen
    The global data of the program is not available for the subscreen. Data for the subscreen is provided by function modules.
    These function modules belongs to the same function group as the subscreen Subscreens are edited with transaction CMOD.
    When you activate a project containg subscreens, the calling screen is regenerated and the subscreen is displayed next
    time you display the calling screen
    The developer must create the subscreen and the corresponding PBO and PAI modules
    How to identify screen exits
    Look after CALL CUSTOMER-SUBSCREEN in the screenprogram of the screen you want to modify.
    Use transaction CMOD menu Utillities -> SAP enhancements to search for screen exits
    MENU EXITS
    Menu exits allow you to add your own functionallity to menus. Menu exits are implemented by SAP, and are reserved menu
    entries in the GUI interface. The developer can add his/her own text and logic for the menu.
    Function codes for menu exits all start with "+"
    Example
    We want to create a new menu item in the Office menu. The text for the menu should be "Run ZTEST", and the menu will
    run report ZTEST.
    Goto transaction SE43 Area Menu Maintenance
    In Area Menu Paramenter type 'S000' (S triple Zero)
    Select Change and ignore all the warning screens
    Expand the office menu. In the buttom of the office tree you will find a menu named "Customer function"
    Double click on the text. In the pop-up screen change the text to "Run ZTEST". Note that the trsnaction code is +C01
    Goto transaction SE93 and create transaction +C01 that calls report ZTEST.
    Now you will se the menu displayed in the office tree. If you delete transaction +C01 again, the new menu will dissapear.
    USER EXITS
    User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a functionmodule.
    The code for the function module is writeen by the developer. You are not writing the code directly in the function module,
    but in the include that is implemented in the function module.
    The naming standard of function modules for functionmodule exits is: EXIT_<program name><3 digit suffix>
    The call to a functionmodule exit is implemented as: CALL CUSTOMER.-FUNCTION <3 digit suffix>
    Example:
    The program for transaction VA01 Create salesorder is SAPMV45A
    If you search for CALL CUSTOMER-FUNCTION i program SAPMV45A you will find ( Among other user exits):
    CALL CUSTOMER-FUNCTION '003'
    exporting
    xvbak = vbak
    xvbuk = vbuk
    xkomk = tkomk
    importing
    lvf_subrc = lvf_subrc
    tables
    xvbfa = xvbfa
    xvbap = xvbap
    xvbup = xvbup.
    The exit calls function module EXIT_SAPMV45A_003
    2. How to find user exits
    Display the program where you are searching for and exit and search for CALL CUSTOMER-EXIT
    If you know the Exit name, go to transaction CMOD. Choose menu Utillities->SAP Enhancements.
    Enter the exit name and press enter.
    You will now come to a screen that shows the function module exits for the exit.
    3. Using Project management of SAP Enhancements
    We want to create a project to enahance trasnaction VA01
    Go to transaction CMOD
    Create a project called ZVA01
    Choose the Enhancement assign radio button and press the Change button
    In the first column enter V45A0002 Predefine sold-to party in sales document . Note that an enhancement can only
    be used i 1 project. If the enhancement is allready in use, and error message will be displayed
    Press Save
    Press Components. You can now see that enhancement uses user exit EXIT_SAPMV45A_002. Double click on the exit.
    Now the function module is displayed. Double click on include ZXVVAU04 in the function module
    Insert the following code into the include: E_KUNNR = '2155'.
    Activate the include program. Go back to CMOD and activate the project.
    Goto transaction VA01 and craete a salesorder. Note that Sold-to-party now automatically is "2155"
    Have look at this links
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIOFFI/BCCIOFFI.pdf
    http://www.sapgenie.com/abap/ole.htm
    http://help.sap.com/saphelp_46c/helpdata/en/59/ae3f2e488f11d189490000e829fbbd/frameset.htm
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIOFFI/BCCIOFFI.pdf
    In ABAP context , interfaces are only of two types.
    1) INBOUND interfaces
    2)OUTBOUND Interfaces.
    INBOUND:(from external system data is fetched as flat files which is moved to SAP database tables).
    in this process we get data in the form of flat files(.txt or .xlx). we will read this data from the files using FM like UPLOAD/WS_UPLOAD/GUI_UPLOAD into internal
    tables. And using BDC methods or LSMW tool, we will update the database tables with this data.
    OUTBOUND:(Data from SAP dtabase is retrieved adn stored as flatfiles on presentaion server or application server)
    In this process we retrieve data using select statements from the database tables and will populate the internal tables. based on the requirement, we will use FM like DOWNLOAD/WS_DOWNLAOD/GUI_DOWNLOAD to write data from internal tables to flat files on th presentation server.
    *the above mentioned Fm will work for files on presentaion server(local file system) . IF u want to handle files on the application server, use DATASET.
    Other technologies that u mentioned like RFC, BAPI, EDI,ALE, IDOCS etc might be used as apart of interface code.
    Regadrs
    Sreeni

Maybe you are looking for

  • Wireless network printing from macbook to windows XP

    We have a wireless router (netgear) setup with 3 XP computers. A canon i900d printer is directly connected to the main computer. All computers share the internet and printer perfectly. I have the macbook recognizing the network and sharing the intern

  • Open Link In New Tab option has gone

    When I right click, I expect for the options to include "open link in new tab". Yet instead, the only one that appears is "Open Link in new window". I've tried everything I can think of and there isn't an answer to how to get it back anywhere on the

  • HT1918 How do I correct a PayPal payment problem on my iPad?

    I am trying to install an app but get a paypal error. Can that be corrected on the iPad or do I need to use a pc?

  • Changing ken burns on only one photo

    Hi all, I have a slideshow which I autogenerated the ken burns effect. I have one photo that constantly gets clipped and you can't see it. How can I turn off the ken burns for that ONE photo....? I have searched the forum...I tried the auto kb's in s

  • Date range in the view

    Hi Team, I created one sales report but here my requirement is it as to show the date range i.e (1-07-2012 To 30-07-2012) in the title view. Is this possible by using variables can any one send clear steps how to achieve this. Thanks,