Could you please explain about the  chain and end chain and module

hi experts
could you please explain about the  chain and end chain and module keywords?

Hi Naresh,
Conditions for Multiple Screen Fields
To ensure that one or more PAI modules are only called when several screen fields meet a particular condition, you must combine the calls in the flow logic to form a processing chain. You define processing chains as follows:
CHAIN.
ENDCHAIN.
All flow logic statements between CHAIN and ENDCHAIN belong to a processing chain. The fields in the various FIELD statements are combined, and can be used in shared conditions.
CHAIN.
FIELD: <f1>, <f 2>,...
MODULE <mod1> ON CHAIN-INPUT|CHAIN-REQUEST.
FIELD: <g1>, <g 2>,...
MODULE <mod2> ON CHAIN-INPUT|CHAIN-REQUEST.
ENDCHAIN.
The additions ON CHAIN-INPUT and ON CHAIN-REQUEST work like the additions ON INPUT and ON REQUEST that you use for individual fields. The exception is that the module is called whenever at least one of the fields listed in a preceding FIELD statement within the chain meets the condition. So <mod1> is called when one of the fields <fi> meets the condition. <mod2> is called when one of the fields <f i> or <g i> meets the condition.
Within a processing chain, you can combine individual FIELD statements with a MODULE statement to set a condition for a single field within the chain:
CHAIN.
FIELD: <f1>, <f 2>,...
FIELD <f> MODULE <mod1> ON INPUT|REQUEST|*-INPUT
|CHAIN-INPUT|CHAIN-REQUEST.
MODULE <mod2> ON CHAIN-INPUT|CHAIN-REQUEST.
ENDCHAIN.
The module <mod1> is called when screen field <f> meets the specified condition for individual fields. <mod2> is called when one of the fields <fi> or <f> meets the condition. If you use the addition ON CHAIN-INPUT or ON CHAIN-REQUEST with FIELD <f>, the condition also applies to the entire chain and module <mod1> and <mod2> are both called.
In cases where you apply conditions to various combinations of screen fields, it is worth setting up a separate processing chain for each combination and calling different modules from within it.
The functions of the FIELD statement for controlling data transport also apply when you use processing chains. Within a processing chain, screen fields are not transported until the FIELD statement. Processing chains also have another function for the FIELDS statements that they contain. This is described in the section on validity checks.
Ex:
PROCESS AFTER INPUT.
MODULE CANCEL AT EXIT-COMMAND.
CHAIN.
FIELD: INPUT1, INPUT2.
MODULE MODULE_1 ON CHAIN-INPUT.
FIELD INPUT3 MODULE MODULE_* ON *-INPUT.
MODULE MODULE_2 ON CHAIN-REQUEST.
ENDCHAIN.
FIELD INPUT1 MODULE C1 AT CURSOR-SELECTION.
CHAIN.
FIELD: INPUT2, INPUT3.
MODULE C2 AT CURSOR-SELECTION.
ENDCHAIN.
MODULE CURSOR AT CURSOR-SELECTION.
Regards,
Sunil

Similar Messages

  • Could you please send me the material Opps concepts Classes and Methods

    Hi Experts,
    I am working on Opps concepts.I am new to this concept.
    Could you please send me the detailed presentation on Abap oops.
    Thanks inadvance,
    Regards,
    Rekha.

    Hi this will help u.
    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
    with regards,
    Hema.
    pls give points if helpful.

  • Can you please explain about the vehicle management system?

    Hi ,
    i want to know about the module (vehicle management system) .please explain any one in details .
    Regards
    Venkata .

    Hi Venkata,
    The Vehicle Management system (VMS) is part of SAP IS - Auto. Generally it is said that it is used by importers, however I would rather put it like this – It can be used for an importer or a distributor’s business functions. So if an OEM is also performing a distributor’s business, he can also use VMS and get benefited out of it.
    The VMS facilitates to see a Vehicle like a Vehicle in the system.
    Following are the few high level features -
    It allows to capture all the attributes of a  particular vehicle as an unique object in the system
    All the transaction on a vehicle (sales, purchase etc.) can be carried out keeping vehicle as a central object, provides ease of operation to users. All business and technical data of the vehicle is available here.
    Strong configuration based vehicle search and vehicle history (transactions) helps in tracking the vehicle easily for any purpose in the distribution chain of OEMà Distributorà Dealerà End Customer.
    This is in brief about VMS.
    Regards,
    Aseem Baruaole
    Mahindra Satyam

  • Could you please explain when we connect R/3 system to BW

    Hi,
    could you please explain when we connect R/3 system to BW
    1. Procedure
    2. SAP BW need to do anything
    3. Effort required by  SAP BW
    Regards,
    kranthi

    Hello Kranthi,
    When we need to make a conncetion between R/3 & BW , First logon to R/3 system , Go to T/code - SM59 .
    There u find connections . Select on ABAP and click on New
    Then Provide the description
    Go to technical settings tab :
    Provide load balancing : No
    if you know the server name : give it in the target host name
    or give the IP Address ;
    Then after that go to logon & Security Tab :
    provide the RFC user ID , Client & Password .
    And now check the connection by clicking on the connection test
    If it shows some 2mins ,like that then it is ok ...
    Otherwise then it is a problem ...
    repeat the same thing by giving the target as R/3 here .
    now go the RSA1 , select the source systems , create source systems
    Select BW source systems
    give the target system details , such as system no . System ID ,server name ..
    And also background user id & password for both the target systemm & source system .
    Now Select the created source system , context menu & Check the connection .
    This job is performed with the help of basis people , not only by BW team .
    This is maintaince is done for every system ( Dev , Qaulity & production seperately )
    Thanks
    PT
    Edited by: PT on Dec 9, 2008 11:17 AM

  • Could you please explain how to work with Outlier Correction

    could you please explain how to work with Outlier Correction

    Hi sr,
    Actually an outlier correction is an historical value that lies the tolerance lane.
    the apo sys calculate this tolerance lane on the basis of the sigma factor.
    It then correct any historical value that lies outside the upper or lower band of this tolerance lane.
    So, that it corresponds to the calculated ex- post value for that point in time.
    this option is available in Master forecast profile /sapapo/mc96b in Univariate profile( control parameters) tab.
    If you have set the outlier correction indicator, then the sys first calculate an ex-post forecast with the selected forecasting techniques.
    In the next step, the sys calculates a tolerance threshold T.
    where T is calculated as T = sigma * MAD (Mean Absolute Deviation)
    Here the Sigma factor defines the width of the tolerance rangefor automatic outlier correction.
    it defines the permissible number of standard deviations.
    A small sigma factor means a low tolerance, and a large number of outliers that are detected and corrected.
    The default Sigma factor is 1.25.
    If you set the Sigma factor, SAP recommends that you set it betw 0.6 and 2.
    I hope this is helpful for you.
    Regards,
    Pullaiah

  • Hi Do we have tables for SAP BPC EPM Comments ? if we have what are they could you please explain some one.

    Hi Do we have tables for SAP BPC EPM Comments ? if we have what are they could you please explain some one.

    Hi Narahari,
    Yes, we have tables for SAP BPC EPM comments and it is stored in backend BW.
    Please follow the below steps to see it -
    1. Go to RSA1 and find the infoprovider name for the application/cube that contains the comments For example, the infoprovider name is /CPMB/VZIKG4O
    2.  Then Go to SE16 and enter the comment table name.  The comment tables are generated tables.  You can determine there name by using the following rules:
      a.  The table name always starts with '/1CPMB/'
      b.  The rest of the name is derived from the infoprovider name - it is the first two characters after the second '/' + the fourth, fifth and sixth characters + CMT (for comments) or CMTA (for archived comments). In my case the comments table name would be "/1CPMB/VZKG4CMT" and the archived comments table would be "/1CPMB/VZKG4CMTA".
    3.  Hit 'F7' or click the table contents button.
    4.  Enter the criteria for the comments you wish to export.
    Hope this helps.

  • Hi there, i have Q i have excel file it need to be block with password. Could you please explain how i make password protect to Excel document

    Hi there,
    i have Q i have excel file it need to be block with password. Could you please explain how i make password protect to Excel document
    Thanks

    On the File menu, click Save As.
    On the Tools menu, click General Options.
    Do either or both of the following:
    If you want users to enter a password before they can view the workbook, type a password in the Password to open box, and then click OK.
    If you want users to enter a password before they can save changes to the workbook, type a password in the Password to modify box.
    NOTE   Unlike passwords you specify in the Password to open box, passwords you specify in the Password to modify box are not encrypted. These passwords are only meant to give specific users permission to modify workbook data. For optimal password security, it's best to assign both passwords. An encrypted password to access the workbook, and one to provide specific users with permission to modify its content. IMPORTANT   Use strong passwords that combine uppercase and lowercase letters, numbers, and symbols. Weak passwords don't mix these elements. Strong password: Y6dh!et5. Weak password: House27. Use a strong password that you can remember so that you don't have to write it down.
    If you want to use a different encryption type, click Advanced, click the type you want in the Choose an encryption type list, and then click OK.
    If needed, specify the number of characters you want in the Choose a key length box.
    NOTE   Document property encryption is enabled by default for most encryption types and providers. It prevents unauthorized users from viewing summary and custom file properties (such as the author or any custom file information) in theProperties dialog box. When users right-click the password-protected file, and then click Properties, information won't be available on the Summary tab and Customtab. Authorized users, however, can open the file and view all file properties (Filemenu, Properties command). To disable document property encryption, clear theEncrypt document properties check box.
    Click OK.
    When prompted, retype your passwords to confirm them.
    Click Save.
    If prompted, click Yes to replace the existing workbook.
    NOTE   You can also secure a workbook with a password on the Security tab of the Options dialog box (Tools menu, Options command).

  • Could you Please Send me the Step by Step guide for the BADI

    Hi ABAPers,
      Could you Please Send me the Step by Step guide for the BADI.It is very Urgent
    Thanks & Regards,
    Ashok.

    Each BAdI has a definition and more than one implementation. The definition means the methods(in class concept) that are used for performing various functions. The BAdI definition can be viewed in SE18 transaction(for standard ones) and user-defined BAdIs can be created in the same transaction as well.
    When you create a BAdI definition, an class interface will be automatically created and you can define your methods in the interface. The implementation of the methods can be done in SE19 transaction .
    YOu can go through these links...
    http://esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
    http://esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
    http://esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
    http://esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
    http://esnips.com/doc/365d4c4d-9fcb-4189-85fd-866b7bf25257/customer-exits--badi.zip
    http://esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
    just refer to the link below. it will of great help to u.
    http://www.sapmaterial.com/?gclid=CN322K28t4sCFQ-WbgodSGbK2g
    (SAP link- ultimate material )
    suppose your working for XK01 then for that the BADI being VENDOR_ADD_DATA then this implemetation procedure.
    Steps:
    1. Execute Business Add-In(BADI) transaction SE18
    2. Enter BADI name i.e. VENDOR_ADD_DATAand press the display
    button
    3. Select menu option Implementation->Create
    4. Give implementation a name such as Z_VENDOR_ADD_DATA
    5. You can now make any changes you require to the BADI within this
    implementation, for example choose the Interface tab
    6. Double click on the method you want to change, you can now enter
    any code you require.
    7. Please note to find out what import and export parameters a
    method has got return the original BADI definition
    (i.e. VENDOR_ADD_DATA) and double click on the method name
    for example within VENDOR_ADD_DATA contract is a method
    8. When changes have been made activate the implementation
    BADI(Business Add-In) is the object oriented method of user exits...
    Each BAdI has a definition and more than one implementation. The definition means the methods(in class concept) that are used for performing various functions. The BAdI definition can be viewed in SE18 transaction(for standard ones) and user-defined BAdIs can be created in the same transaction as well.
    When you create a BAdI definition, an class interface will be automatically created and you can define your methods in the interface. The implementation of the methods can be done in SE19 transaction
    Intro.....
    http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
    Check these links for info about badi..
    BADI's
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    BADI's
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    http://www.esnips.com/web/BAdI
    http://www.allsaplinks.com/badi.html
    New to Badi
    Follow the below steps to find out what all BADI's are called when you press any button in any transaction.
    1) Goto se24 (Display class cl_exithandler)
    2) Double click on the method GET_INSTANCE.
    3) Put a break point at Line no.25 (CASE sy-subrc).
    Now
    4) Execute SAP standard transaction
    5) Press the required button for which you need to write an exit logic, the execution will stop at the break point.
    6) Check the values of variable 'exit_name', it will give you the BADI name called at that time.
    7) This way you will find all the BADIs called on click of any button in any transaction.
    Business Add-Ins
    Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software.
    As with customer exits (SMOD/CMOD [Page 40]), two different views are available:
    • In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object.
    • In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available.
    In contrast to customer exits, Business Add-Ins no longer assume a two-system infrastructure (SAP and customers), but instead allow for multiple levels of software development (by SAP, partners, and customers, and as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure.
    SAP guarantees the upward compatibility of all Business Add-In interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces. You do not have to register Business Add-Ins in SSCR.
    The Business Add-In enhancement technique differentiates between enhancements that can only be implemented once and enhancements that can be used actively by any number of customers at the same time.
    In addition, Business Add-Ins can be defined according to filter values. This allows you to control add-in implementation and make it dependent on specific criteria (on a specific Country value, for example). All ABAP sources, screens, GUIs, and table interfaces created using this enhancement technique are defined in a manner that allows customers to include their own enhancements in the standard.
    A single Business Add-In contains all of the interfaces necessary to implement a specific task. In Release 4.6A, program and menu enhancements can be made with Business Add-Ins. The actual program code is enhanced using ABAP Objects. In order to better understand the programming techniques behind the Business Add-In enhancement concept, SAP recommends reading the section on ABAP Objects
    DEFINING THE BADI
    1) execute Tcode SE18.
    2) Specify a definition Name : ZBADI_SPFLI
    3) Press create
    4) Choose the attribute tab. Specify short desc for badi.. and specify the type :
    multiple use.
    5) Choose the interface tab
    6) Specify interface name: ZIF_EX_BADI_SPFLI and save.
    7) Dbl clk on interface name to start class builder . specify a method name (name,
    level, desc).
    Method level desc
    Linese;ection instance methos some desc
    8) place the cursor on the method name desc its parameters to define the interface.
    Parameter type refe field desc
    I_carrid import spfli-carrid some
    I_connid import spefi-connid some
    9) save , check and activate…adapter class proposed by system is
    ZCL_IM_IM_LINESEL is genereated.
    IMPLEMENTATION OF BADI DEFINITION
    1) EXECUTE tcode se18.choose menuitem create from the implementation menubar.
    2) Specify aname for implementation ZIM_LINESEL
    3) Specify short desc.
    4) Choose interface tab. System proposes a name fo the implementation class.
    ZCL_IM_IMLINESEL which is already generarted.
    5) Specify short desc for method
    6) Dbl clk on method to insert code..(check the code in “AAA”).
    7) Save , check and activate the code.
    Some useful URL
    http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
    http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
    http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
    http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
    www.sapgenie.com/publications/saptips/022006%20-%20Zaidi%20BADI.pdf
    http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
    Now write a sample program to use this badi method..
    Look for “BBB” sample program.
    “AAA”
    data : wa_flights type sflight,
    it_flights type table of sflight.
    format color col_heading.
    write:/ 'Flight info of:', i_carrid, i_connid.
    format color col_normal.
    select * from sflight
    into corresponding fields of table it_flights
    where carrid = i_carrid
    and connid = i_connid.
    loop at it_flights into wa_flights.
    write:/ wa_flights-fldate,
    wa_flights-planetype,
    wa_flights-price currency wa_flights-currency,
    wa_flights-seatsmax,
    wa_flights-seatsocc.
    endloop.
    “BBB”
    *& Report ZBADI_TEST *
    REPORT ZBADI_TEST .
    tables: spfli.
    data: wa_spfli type spfli,
    it_spfli type table of spfli with key carrid connid.
    *Initialise the object of the interface.
    data: exit_ref type ref to ZCL_IM_IM_LINESEL,
    exit_ref1 type ref to ZIF_EX_BADISPFLI1.
    selection-screen begin of block b1.
    select-options: s_carr for spfli-carrid.
    selection-screen end of block b1.
    start-of-selection.
    select * from spfli into corresponding fields of table it_spfli
    where carrid in s_carr.
    end-of-selection.
    loop at it_spfli into wa_spfli.
    write:/ wa_spfli-carrid,
    wa_spfli-connid,
    wa_spfli-cityfrom,
    wa_spfli-deptime,
    wa_spfli-arrtime.
    hide: wa_spfli-carrid, wa_spfli-connid.
    endloop.
    at line-selection.
    check not wa_spfli-carrid is initial.
    create object exit_ref.
    exit_ref1 = exit_ref.
    call method exit_ref1->lineselection
    EXPORTING
    i_carrid = wa_spfli-carrid
    i_connid = wa_spfli-connid.
    clear wa_spfli.
    u can find BADI's in different ways...
    1>First go to any transaction->iN THE menu bar SYSTEM->STATUS->Get the program name ->double click->u will go to the program attached to the tcode.Now search term will be CALL CL_EXITHANDLER.Now u will get list of BADI'S available..
    2>Goto SE24->Give class name as CL_EXITHANDLER->Display->double click on get_instance mathod->Now u will go inside the method->Now put break point on the cl_exithandler.Now go to any transaction code and pass dat..U will see that it will be stopped on the break point which u set on the cl_exithandler...In the exit name u can find list of badi's attached to the tcode..
    There are multiple ways of searching for BADI.
    • Finding BADI Using CL_EXITHANDLER=>GET_INSTANCE
    • Finding BADI Using SQL Trace (TCODE-ST05).
    • Finding BADI Using Repository Information System (TCODE- SE84).
    1. Go to the Transaction, for which we want to find the BADI, take the example of Transaction VD02. Click on System->Status. Double click on the program name. Once inside the program search for ‘CL_EXITHANDLER=>GET_INSTANCE’.
    Make sure the radio button “In main program” is checked. A list of all the programs with call to the BADI’s will be listed.
    The export parameter ‘EXIT_NAME’ for the method GET_INSTANCE of class CL_EXITHANDLER will have the user exit assigned to it. The changing parameter ‘INSTANCE’ will have the interface assigned to it. Double click on the method to enter the source code.Definition of Instance would give you the Interface name.
    2. Start transaction ST05 (Performance Analysis).
    Set flag field "Buffer trace"
    Remark: We need to trace also the buffer calls, because BADI database tables are buffered. (Especially view V_EXT_IMP and V_EXT_ACT)
    Push the button "Activate Trace". Start transaction VA02 in a new GUI session. Go back to the Performance trace session.
    Push the button "Deactivate Trace".
    Push the button "Display Trace".
    The popup screen "Set Restrictions for Displaying Trace" appears.
    Now, filter the trace on Objects:
    • V_EXT_IMP
    • V_EXT_ACT
    Push button "Multiple selections" button behind field Objects
    Fill: V_EXT_IMP and V_EXT_ACT
    All the interface class names of view V_EXT_IMP start with IF_EX_. This is the standard SAP prefix for BADI class interfaces. The BADI name is after the IF_EX_.
    So the BADI name of IF_EX_CUSTOMER_ADD_DATA is CUSTOMER_ADD_DATA
    3. Go to “Maintain Transaction” (TCODE- SE93).
    Enter the Transaction VD02 for which you want to find BADI.
    Click on the Display push buttons.
    Get the Package Name. (Package VS in this case)
    Go to TCode: SE84->Enhancements->Business Add-inns->Definition
    Enter the Package Name and Execute.
    Here you get a list of all the Enhancement BADI’s for the given package MB.
    The simplese way for finding BADI is
    1. chooes Tcode Program & package for that Tcode.
    2. Go to Tcode se18
    3. Press F4
    4. search by package or by program.
    http://help.sap.com/saphelp_nw04/helpdata/en/eb/3e7cf7940e11d295df0000e82de14a/frameset.htm
    and
    http://help.sap.com/saphelp_nw04/helpdata/en/eb/3e7cf7940e11d295df0000e82de14a/frameset.htm
    Badihttp://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    http://esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
    http://esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
    http://esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
    http://esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
    http://esnips.com/doc/365d4c4d-9fcb-4189-85fd-866b7bf25257/customer-exits--badi.zip
    http://esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
    http://help.sap.com//saphelp_470/helpdata/EN/eb/3e7cee940e11d295df0000e82de14a/frameset.htm
    sample code for Purchase requisition
    BAdI Name: ZPUR_RFQ (Implementation name) Purchase Requisitions
    Definition Name: ME_REQ_POSTED
    Interface Name : IF_EX_ME_REQ_POSTED
    Implementing Class: ZCL_IM_PUR_REQ
    Method : POSTED
    METHOD if_ex_me_req_posted~posted .
    DATA : v_mtart TYPE mtart.
    DATA l_s_eban TYPE ueban.
    LOOP AT im_eban INTO l_s_eban.
    IF l_s_eban-estkz NE 'B'.
    CLEAR v_mtart.
    SELECT SINGLE mtart INTO v_mtart FROM mara WHERE matnr = l_s_eban-matnr.
    IF v_mtart EQ 'ZERS' OR v_mtart EQ 'FHMI' OR v_mtart EQ 'UNBW'.
    MESSAGE e000(zm_msg) WITH 'You are not allowed' 'to create PR for stock items'.
    ENDIF.
    ENDIF.
    IF l_s_eban-knttp NE 'F' OR l_s_eban-pstyp NE '9'.
    IF l_s_eban-knttp NE 'A'.
    IF ( l_s_eban-pstyp NE '9' AND l_s_eban-pstyp NE 'D' ) AND l_s_eban-matnr EQ
    space.
    MESSAGE e000(zm_msg) WITH 'You cannot create' 'a PR without material number'.
    ENDIF.
    ENDIF.
    ENDIF.
    ENDLOOP.
    ENDMETHOD.
    Reward points for useful Answers
    Reward if it helps..

  • The Director role is optional in Lync Server 2013 - could anyone please explain why the director server has lost its importance??

    Could anyone please explain why the director has been removed from spotlight as it had much importance in LYNC 2010 and now being an optional role in LYNC server 2013.[any call flows regarding director servers would be much useful]

    Hi SJ Praveen,
    A Director is a server running Lync Server 2013 that authenticates user requests, but does not home any user accounts. Lync 2013 Front End servers have the same registrar service and functionality
    as the Director.
    The Director isn't providing any special functionality. If the Director goes down, all pools would become inaccessible when the clients queried DNS for the SRV record until an administrator
    makes a manual internal DNS change that points users to a Front End pool to handle the sign-in request from Lync clients. Microsoft has made the Director functionality relevant for organizations that have specific security requirements, such as allowing all
    external users to register to a specific internal server instead of the Front End servers. This server role is merely optional and not needed for most Lync Server 2013 deployments.
    Best regards,
    Eric

  • Could you please tell me the arithmetic of ORA_HASH? Thanks.

    Hello,
    I need to use java code to implement the function of ORA_HASH(expr, max_bucket, seed_value).
    I saw the ORA_HASH(expr, max_bucket, seed_value)'s description from http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10759/functions097.htm.
    But I still don't know the detailed arithmetic of ORA_HASH(expr, max_bucket, seed_value).
    So could you please tell me the detailed arithmetic of ORA_HASH(expr, max_bucket, seed_value)?
    Thanks.

    Not sure Oracle will actually divulge the internal workings of their functions to you.
    However, they are standard algorithms (depending on which parameter you pass to the function) i.e. it depends on whether you are doing an SHA-1 hash or a MD5 hash etc.
    Information is available on the web...
    e.g.
    http://www.secure-hash-algorithm-md5-sha-1.co.uk/
    which describes who or where the algorithms were developed and then you can look up to see if the actual specifications for them are on the web (they'll be around somewhere) e.g.
    http://en.wikipedia.org/wiki/MD5
    http://infohost.nmt.edu/~sfs/Students/HarleyKozushko/Presentations/MD5.pdf
    http://www.uow.edu.au/~jennie/CSCI971/hash1.pdf
    etc.

  • Could you please tell me the secret of fast graphics operations?

    Could you please tell me the secret of fast graphics operations? you see I am trying to make arcade games but you don't know how my games D R A G! It is terrible! I have tried only repainting the areas that move but it still goes even slower than when I use plain old repaint();
    All advice wanted.
    Thanks
    Joshua

    It is pretty simple actually. I usually use free tools, including simple custom profiling code using System.currentTimeMillis(), and the free "hprof" heap profiler that comes with the JDK.
    To run hprof, you invoke java with the -Xrunhprof parameter, in this manner:
    java -Xrunhprof:cpu=samples,depth=5 -classpath (...)
    my.package.MyProgramand it writes the report out to a test file when your program exits. (By default, java.hprof.txt, but see the output from java -Xrunhprof:help for how to send it somewhere else.)
    To make use of the profiling data, go to the end of the file, and you will see the different stack traces and how much time they took of the total execution time.
    You will want to start at the top, at the traces with the highest percentages. Now each trace has a TRACE NUMBER. So you use the summary at the end, with the percentages, to tell you which trace you're interested in.
    Then go up and you will find the traces. I usually search for "TRACE: xxx" in my editor to find the one I'm looking for.
    Hope this helps get you started.
    Cheers,
    Colin

  • Could you please give me the method to draw Line Graph in detail?

    Could you please give me the method to draw Line Graph in detail?

    Hi,
    First update your username instead of using that number.
    and also provide full information like
    Apex version
    Database version
    I am giving you one link related to charts,
    http://dgielis.blogspot.in/2011/02/apex-4-bug-series-type-bar-line-marker.html
    Hope this will helps you
    Thanks and Regards
    Jitendra

  • Hi could someone please explain why the iPhone 5 is $600 dollars more expensive to buy in australia than in the US

    hi could someone please explain why the iPhone 5 is $600 dollars more expensive to buy in australia than in the US

    bazzerk wrote:
    The phones on the us site appear to me to be  the unlocked phones. the contract phones are even cheaper . Australian taxes account for a 10% price diference but really all the Apple products sold in Australia are at least 30% more expensive than in the US and other markets . Why are the local (Aus) apple retailers continuing to price gouge . The ACCC must act to stop this blatant con job..
    There are no options currently on the USA Apple online store site to pre-order unlocked iPhone 5's.  The iPhone 5's currently available for pre-order are only availble by selecting a carrier and agreeing to a 2year contract.  The prices listed are all contract-subsidized prices.

  • Could you please tell me when spell check , google serch and noia extream going to be compatible with FF5

    Could you please tell me when spell check , google serch and noia extream going to be compatible with FF5

    MO-B wrote:
    The information below is what a friend of mine, who is a teacher, sent to me asking me to create a program Using a NetBeans IDE Java application.RIIIGGGHHT.
    I have not used NetBeans IDE before and i am sure that i will be unable to create this program.NetBeans is not the hurdle here.
    could anyone please create the program for me as a favour please. This is not a code writing service. This site is to help people learn Java.

  • Could you please tell me the BAPI of CJ37 or CJ38?

    Dear experts,
           Could you please tell me the BAPI of CJ37 or CJ38?
    Best Regards,
    Merry

    Hi Merry,
    Gotot Transaction CJ37 screen. Gotot Menu, System >> Status.
    There you will get the Program Name. Double Click on that name, it will open the Source code of the T-code.
    Goto Menu Attribute. It will show the Package of T-code. IT will be KABP.
    Now double Click on the Package name, it will navigate to T-code SE80 i.e. Object Repository.
    There under the folder Function Group you can search for BAPI or RFC of your interest.
    You can get the Exits or BADIs also relevant to the T-code CJ37/38.

Maybe you are looking for

  • Error While running a PhysicalLayer Dataservice in DSP3.2

    Hi, I created a physical dataservice from DB2(version 8.1) table.While trying to run it is thowing the following exception. com.bea.dsp.das.exception.DASException: com.bea.dsp.wrappers.rdb.exceptions.RDBWrapperException: {ld:PhysicalLayer/test/AMT_MA

  • Upload photos and text to an existing iWeb page from an internet cafe?

    Hi, I plan to do a trip and created already an iWeb page on my .mac account. During my trip, I would now like to upload pictures and personal comments on my existing webpage. Can I do this in an normal internet cafe via my internet .mac account? I ha

  • Fillable PDF: Can I make columns auto total?

    Hello-  I am creating fillable PDF's for permits.  Is there a way to make the PDF automatically calculate all the fees?  Thanks so much

  • Saving a journey details to my phone.

    I have logged in and managed to find the journey details for a particular run that I propose to make, but I cannot find out how to store the whole journey on to my phone ( a folder?) so that I can quickly access the details when I need to set off. Is

  • Thinkpad W530 problem - Microphone not working

    Hi,  My W530 microphone's not working. Whenever any problem tries to use it (skype, audacity), it always shows a quick activity (about 0.5 ms), always with the same from - and nothing more, ever.  I have installed drivers from realtec, and the driver