List of BADI and Description

Hi Experts: I am looking for a complete list of BADI that are related to SRM, such as the CHECK BADI.. etc
BBP_DOC_CHECK_BADI
I checked the Service Market Place, I need a concise list and description
Regards
Small

Hello,
Please find the link below , you can find the list of badi and Description in the last post
List of BADIs
Also u can find through spro SRM Server -> Business Add-Ins (BAdIs)
Please start the transaction SE95, set there the flag "Business Add-ins" and start with F8.
There you will have the full list of BAdI-s which have (active or inactive) implementation.
Regards,
Neelima

Similar Messages

  • Both attribute value and description showing on attribute value dropdown list

    Hi All,
    I am using CRM 7.0 EhP 1 and I have encountered a item I need to address in regard to the display of a Marketing Attribute values on the Account Overview page (BP_HEAD/BPHEADOverview) on the Web Client.
    The component in question on the page is BP_DATA/MarketingAttributesEOVP.
    The value dropdown lists for each attribute show both the Attribute Value (in my case a number) and Description. We require that only the Description is shown and not the Attribute Value in brackets also.
    Is there a user setting that controls this or is displaying both standard with no adjustment possible through user settings or configuration? 
    Thanks,
    Jonathan

    Hi All, 
    The following OSS note looks to resolve issue in question above:
    1647509 - Attributes value shown as value+description in accounts page
    Thanks for your assistance.
    Jonathan

  • List IDoc message tpyes and description

    I've been asked to provide a listing of all the IDOC message types and it's associated description.
    Does anyone know what table holds this information or a t-code that will allow me to create a file listing the message tpyes and descriptions?

    Use We81 --> Print -->Export

  • Check list for upgrade 4.7 to 6 in badi and webdynpro

    hi
             i need checklist for badi and webdynpro objects while upgrading form 4.7 to 6
    thanks

    Hi,
    You need not to generate all roles again. Check the roles and transactions that are affected due to upgrade in transaction SU25. You can also compare them and correct them.
    Thanks
    Sunny

  • REST url to get titles and description for all the lists in HOST WEB.

    What should be the REST url to get specific prperties for all the list in host web for SharePoint Hosted Apps.

    Hi,
    We can use the REST URI below:
    http://myAppweburl/_api/web/lists?$select=Title,Description
    More information:
    How to: Complete basic operations using SharePoint 2013 REST endpoints
    http://msdn.microsoft.com/en-us/library/office/jj164022(v=office.15).aspx
    Best Regards
    Dennis Guo
    TechNet Community Support

  • Badi and Business event( Urgent)

    Hi experts,
          I am new to badi and business event 1120P. Please post how this business event exactly comes in to picture in this badi. also how to find this business event?
    And also Post the logic or code. The requirement is given below . Pls Post the solution. Its very urgent.
    Enhancement Summary
    Two user exits are needed to determine the correct G/L Account and Cost Center on Shipment Cost documents and post the Material Group on the Accounting document. BADI_SCD_ACCTG and Business Event 1120P can be used to accommodate the new functionality.
    Business Process
    Specific G/L Accounts and Cost Centers have to be determined to post on the Shipment Cost document. This is needed to provide accurate management reporting capabilities on shipments for Sales Order or Stock Transfer Order. A new custom table must be created which contains the following information: Distribution, Mode of Transport, Account, Cost Center Material group. Distribution is an identifier here if this shipment originated from an SO or STO.
    There are no screens involved in this enhancement.
    Components
    Table: ZTABLE1
    Field     Data Element     Type     Length     Description
    MANDT     MANDT     CLNT (key)     3     Client
    DISTRIBUTION     Z_DISTRIBUTION     CHAR (key)     1     Distribution
    MOT     ZZDEF_MOT     CHAR (key)     2     Mode of Transportation
    MATKL     MATKL     CHAR (key)     9     Material group
    SAKNR     SAKNR     CHAR     10     G/L Account Number
    KOSTL     KOSTL     CHAR     10     Cost Center
    This table gets updated manually by the FI team.
    Values for Distribution are:
    ‘1’  =  Primary Distribution to Refinery
    ‘2’ = Primary and Secondary– Excluding refinery
    All entries must be checked against SAP config and master tables
    User exit BADI BADI_SCD_ACCTG will be used to determine the correct G/L Account, Cost Center and Product Group based on Distribution and Mode of Transport. This BADI gets called only when a new Shipment Cost document get created.
    Once the BADI determined the new values it populates field c_vfkn-sakto with the G/L account, field c_vfkn-kostl with the Cost Center and exports the Product group to memory.
    There is no field on the Shipment Cost Document to store the Product group. Therefore another mechanism must be used to get the Product Group on the accounting document.
    Business Event 1120P can be used to import the Product group out of memory and put it on BSEG-MATNR. Structure BSEG_SUBST must be enhanced with field MATNR for this purpose.
    Function, Rules, Exits      Description of Functionality, Rules, Exits
    BADI_SCD_ACCTG     Business Add-In for Shipment Cost Account Assignment
    Business Framework     Business Event 1120P can be used to import the Product Group from memory and to populate field BSEG_SUBST-MATNR.
    This event gets called from different places. It needs to be ensured that it only populates the value when it was called from BADI_SCD_ACCTG.
    Custom Table     A look-up Table needs to be maintained for Distribution, Mode of Transport, G/L Account, Cost Center and Material Group
    Transaction code     To maintain the new table
    Append Structure     To enhance structure BSEG_SUBST with MATNR
          Business Add-In BADI_SCD_ACCTG can be used to determine the account assignments for a shipment cost item to set the G/L Account and Cost Center. All data needed to determine the new information gets provided in this BADI.
    Logic:
    •     Determine if STO or SO based on Document Category from internal table I_REFOBJ-VTRLP field VGTYP If is C then Distribution type is Sales Order (Primary and Secondary – Excluding Refinery – ‘2’ ) else we need to check the receiving plant. If the receiving plant (I_REFOBJ-VTRLK field WERKS) is a refinery the Distribution type is Primary (1) else it’s a (Primary and Secondary – Excluding Refinery – ‘2’ ). Refineries can be identified via Function Module ZPLANTCLASSIFICATION. The plant must be passed into Import Parameter IP_SAPPLANT and field INT_PLANTCHAR-ATNAM must be looked up with value SAPTYPE. If it exists and field ATWRT contains ‘RFY’, the plant is a refinery.
    •     Product Group can be determined from the Material master through Material group field MARA-MATKL.
    •     Mode of Transport will be passed in the BADI in VTRLK-OIC_MOT.
    •     Select single entry from table ZTABLE1based on Distribution, Mode of Transport and Material Group. If nothing gets selected, error message ‘No entry exists in table ZTABLE1for Distribution (distribution), MOT (MOT) & Mat. Group (material group)’ should be triggered.
    •     Move ZTABLE1-SAKNR  to c_vfkn-sakto and ZTABLE1-KOSTL to c_vfkn-kostl
    •     The Material group must be exported to memory in BADI_SCD_ACCTG
    •     The Material group must be imported from memory in Business Event BP1120P
    •     Free Memory in Business Event BP1120P
    This is VI01 – Creation of Freight Cost Item screen
    and also code for function module ZPLANTCLASSIFICATION below
    FUNCTION zplantclassification .
    ""Local interface:
    *"  IMPORTING
    *"     REFERENCE(IP_SAPPLANT) LIKE  AUSP-OBJEK OPTIONAL
    *"     REFERENCE(IP_CPSPLANT) LIKE  AUSP-ATWRT OPTIONAL
    *"     REFERENCE(IP_SISLOC) LIKE  AUSP-ATWRT OPTIONAL
    *"  EXPORTING
    *"     VALUE(EP_SAPPLANT) LIKE  AUSP-OBJEK
    *"     VALUE(EP_CPSPLANT) LIKE  AUSP-ATWRT
    *"     VALUE(EP_SISLOC) LIKE  AUSP-ATWRT
    *"     VALUE(EP_OWNERSHIP) LIKE  AUSP-ATWRT
    *"     VALUE(EP_SMISTYPE) LIKE  AUSP-ATWRT
    *"     VALUE(EP_SPOTREF) LIKE  AUSP-ATWRT
    *"     VALUE(EP_SUBTYPE) LIKE  AUSP-ATWRT
    *"     VALUE(EP_SUPPLYREGION) LIKE  AUSP-ATWRT
    *"     VALUE(EP_TYPE) LIKE  AUSP-ATWRT
    *"     VALUE(EP_DISTAREA) LIKE  AUSP-ATWRT
    *"     VALUE(EP_GEOGAREA) LIKE  AUSP-ATWRT
    *"     VALUE(EP_HMF) LIKE  AUSP-ATWRT
    *"     VALUE(EP_IATACODE) LIKE  AUSP-ATWRT
    *"     VALUE(EP_IRSTCN) LIKE  AUSP-ATWRT
    *"     VALUE(EP_OPSAREA) LIKE  AUSP-ATWRT
    *"     VALUE(EP_PLANTSTAT) LIKE  AUSP-ATWRT
    *"     VALUE(EP_PORTCODE) LIKE  AUSP-ATWRT
    *"     VALUE(EP_REFAREA) LIKE  AUSP-ATWRT
    *"     VALUE(EP_SAPTYPE) LIKE  AUSP-ATWRT
    *"     VALUE(EP_MFGWARRANTY) LIKE  AUSP-ATWRT
    *"     VALUE(EP_USERTYPE) LIKE  AUSP-ATWRT
    *"     VALUE(EP_TRMCENTER) LIKE  AUSP-ATWRT
    *"     VALUE(EP_TRANSCENTER) LIKE  AUSP-ATWRT
    *"     VALUE(EP_FEIN) LIKE  AUSP-ATWRT
    *"  TABLES
    *"      INT_PLANTCHAR STRUCTURE  ZPLANTCLASSIFICATION OPTIONAL
    *"  EXCEPTIONS
    *"      NO_OBJEK_FOUND
    *"      NO_CPSPLANT_FOUND
    *"      NO_SISLOC_FOUND
    *"      NO_INPUT_FOUND
    *"      VALID_PLANT_NO_CHARACTERISTIC
    *"      ONE_TO_MANY_ISSUE
    *"      PLANT_NOT_FOUND_ZDEF_DELPLANT
    *"      UNKNOWN_ERRORS
    FM Name: ZPLANTCLASSIFICATION     
    Created By  :  SYUB                                                  *
    Description : Function Module to retrieve plant characteristics      *
    The function module has two capabilities:
    1. Retrieve only the necessary characteristics
    2. Retrieve the whole characteristics into an internal table.
    Parameter Description                                                *
    In the future, if there is a new characteristic added to the
    plant classification tables, the characteristic has to be added
    to the list of the export parameters and the loop statement.
      TABLES: ausp, cabn, ksml, zdef_delplant.
      DATA: ws_objek LIKE ausp-objek,
            ws_countchar TYPE i,
            ws_countplant TYPE i.
    *Internal table for SAP plant
      DATA: BEGIN OF int_plant OCCURS 0,
            plant LIKE ausp-objek,
            END OF int_plant.
    *sap plant code is the input parameter.Move objek, atnam, and atwrt to
    *internal table PLANTCHAR using inner join of AUSP, CABN, and KSML to
    *synch up the internal characteristic numbers throughout the 3 tables.
      IF NOT ip_sapplant IS INITIAL.
        SELECT auspobjek cabnatnam ausp~atwrt
          INTO CORRESPONDING FIELDS OF TABLE int_plantchar
          FROM ksml AS ksml
          INNER JOIN cabn AS cabn
            ON cabnatinn = ksmlimerk
          INNER JOIN ausp AS ausp
            ON ausp~objek = ip_sapplant
            AND auspatinn = cabnatinn
            AND ausp~mafid = 'O'
            AND ausp~klart = 'Z01'.
    *Checking the existence of ip_sapplant in the table, if it doesn't
    *exist, raise the exception else if it exists, check if it has
    *characteristic values.
        IF sy-subrc NE 0.
          RAISE no_objek_found.
        ELSE.
          DESCRIBE TABLE int_plantchar LINES ws_countchar.
          IF ws_countchar LT 2.
            RAISE valid_plant_no_characteristic.
          ENDIF.
        ENDIF.
    *cps plant code is the input parameter. Move objek from table AUSP to
    *ws_objek using inner join of CABN and AUSP to match up the internal
    *characteristic numbers from the 2 tables.
      ELSEIF NOT ip_cpsplant IS INITIAL.
        SELECT ausp~objek
          INTO TABLE int_plant
          FROM ausp AS ausp
          INNER JOIN cabn AS cabn
            ON cabn~atnam = 'OLDCODE'
              WHERE auspatinn = cabnatinn
                AND ausp~mafid = 'O'
                AND ausp~klart = 'Z01'
                AND ausp~atwrt = ip_cpsplant.
    *Checking the existence of ip_cpsplant in the table
        IF sy-subrc EQ 0.
    *Counting the number of SAP plants in the internal table int_plant
          DESCRIBE TABLE int_plant LINES ws_countplant.
    *Moving the values of objek, atnam, and atwrt to PLANTCHAR using objek
    *from ws_objek.
          IF ws_countplant EQ 1.
            LOOP AT int_plant.
              SELECT auspobjek cabnatnam ausp~atwrt
                INTO CORRESPONDING FIELDS OF TABLE int_plantchar
                FROM ksml AS ksml
                INNER JOIN cabn AS cabn
                  ON cabnatinn = ksmlimerk
                INNER JOIN ausp AS ausp
                  ON ausp~objek = int_plant-plant
                  AND auspatinn = cabnatinn
                  AND ausp~mafid = 'O'
                  AND ausp~klart = 'Z01'.
            ENDLOOP.
    *If there more than one SAP Plants, then raise an exception.
          ELSEIF ws_countplant GT 1.
            RAISE one_to_many_issue.
          ENDIF.
        ELSE.
          SELECT SINGLE werks FROM zdef_delplant
            INTO ws_objek
            WHERE cpsloc = ip_cpsplant.
          SELECT auspobjek cabnatnam ausp~atwrt
           INTO CORRESPONDING FIELDS OF TABLE int_plantchar
           FROM ksml AS ksml
           INNER JOIN cabn AS cabn
             ON cabnatinn = ksmlimerk
           INNER JOIN ausp AS ausp
             ON ausp~objek = ws_objek
             AND auspatinn = cabnatinn
             AND ausp~mafid = 'O'
             AND ausp~klart = 'Z01'.
          if sy-subrc ne 0.
            raise plant_not_found_zdef_delplant.
          endif.
        ENDIF.
    *cps plant code is the input parameter. Move objek from table AUSP to
    *ws_objek using inner join of CABN and AUSP to match up the internal
    *characteristic numbers from the 2 tables.
      ELSEIF NOT ip_sisloc IS INITIAL.
        SELECT ausp~objek
          INTO TABLE int_plant
          FROM ausp AS ausp
          INNER JOIN cabn AS cabn
            ON cabn~atnam = 'SISLOC'
              WHERE auspatinn = cabnatinn
                AND ausp~mafid = 'O'
                AND ausp~klart = 'Z01'
                AND ausp~atwrt = ip_sisloc.
    *Checking the existence of ip_sapplant in the table
        IF sy-subrc EQ 0.
          DESCRIBE TABLE int_plant LINES ws_countplant.
    *Moving the values of objek, atnam, and atwrt to PLANTCHAR using objek
    *from ws_objek.
          IF ws_countplant EQ 1.
            LOOP AT int_plant.
              SELECT auspobjek cabnatnam ausp~atwrt
                INTO CORRESPONDING FIELDS OF TABLE int_plantchar
                FROM ksml AS ksml
                INNER JOIN cabn AS cabn
                  ON cabnatinn = ksmlimerk
                INNER JOIN ausp AS ausp
                  ON ausp~objek = int_plant-plant
                  AND auspatinn = cabnatinn
                  AND ausp~mafid = 'O'
                  AND ausp~klart = 'Z01'.
            ENDLOOP.
    *If there more than one SAP Plants, then raise an exception.
          ELSEIF ws_countplant GT 1.
            RAISE one_to_many_issue.
          ENDIF.
        ELSE.
          SELECT SINGLE werks FROM zdef_delplant
            INTO ws_objek
            WHERE sisloc = ip_sisloc.
          SELECT auspobjek cabnatnam ausp~atwrt
           INTO CORRESPONDING FIELDS OF TABLE int_plantchar
           FROM ksml AS ksml
           INNER JOIN cabn AS cabn
             ON cabnatinn = ksmlimerk
           INNER JOIN ausp AS ausp
             ON ausp~objek = ws_objek
             AND auspatinn = cabnatinn
             AND ausp~mafid = 'O'
             AND ausp~klart = 'Z01'.
          if sy-subrc ne 0.
            raise plant_not_found_zdef_delplant.
          endif.
        ENDIF.
      ELSE.
    *Checking if there is an input parameter entered.
        RAISE no_input_found.
      ENDIF.
    Modified 7/30 by RFOR to validate SAP plant is in plant master
      data: wa_t001w like t001w.
      read table int_plantchar.
      SELECT SINGLE * from t001w into wa_t001w where
      werks = int_plantchar-objek.
      if sy-subrc ne 0.
        raise NO_OBJEK_FOUND.
      endif.
    *Moving all the characteristic values to the export parameters
      LOOP AT int_plantchar.
        MOVE int_plantchar-objek TO ep_sapplant.
        CASE int_plantchar-atnam.
          WHEN 'OLDCODE'.
            MOVE int_plantchar-atwrt TO ep_cpsplant.
          WHEN 'SISLOC'.
            MOVE int_plantchar-atwrt TO ep_sisloc.
          WHEN 'OWNERSHIP'.
            MOVE int_plantchar-atwrt TO ep_ownership.
          WHEN 'SMISTYPE'.
            MOVE int_plantchar-atwrt TO ep_smistype.
          WHEN 'SPOTREF'.
            MOVE int_plantchar-atwrt TO ep_spotref.
          WHEN 'SUBTYPE'.
            MOVE int_plantchar-atwrt TO ep_subtype.
          WHEN 'SUPPLYREGION'.
            MOVE int_plantchar-atwrt TO ep_supplyregion.
          WHEN 'TYPE'.
            MOVE int_plantchar-atwrt TO ep_type.
          WHEN 'DISTAREA'.
            MOVE int_plantchar-atwrt TO ep_distarea.
          WHEN 'GEOGAREA'.
            MOVE int_plantchar-atwrt TO ep_geogarea.
          WHEN 'HMF'.
            MOVE int_plantchar-atwrt TO ep_hmf.
          WHEN 'IATACODE'.
            MOVE int_plantchar-atwrt TO ep_iatacode.
          WHEN 'IRSTCN'.
            MOVE int_plantchar-atwrt TO ep_irstcn.
          WHEN 'OPSAREA'.
            MOVE int_plantchar-atwrt TO ep_opsarea.
          WHEN 'PLANTSTAT'.
            MOVE int_plantchar-atwrt TO ep_plantstat.
          WHEN 'PORTCODE'.
            MOVE int_plantchar-atwrt TO ep_portcode.
          WHEN 'REFAREA'.
            MOVE int_plantchar-atwrt TO ep_refarea.
          WHEN 'SAPTYPE'.
            MOVE int_plantchar-atwrt TO ep_saptype.
          WHEN 'MFG_WARRANTY'.
            MOVE int_plantchar-atwrt TO ep_mfgwarranty.
          WHEN 'USER_TYPE'.
            MOVE int_plantchar-atwrt TO ep_usertype.
          WHEN 'TERMINALCENTER'.
            MOVE int_plantchar-atwrt TO ep_trmcenter.
          WHEN 'TRANSPORTATIONCENTER'.
            MOVE int_plantchar-atwrt TO ep_transcenter.
          when 'FEIN'.
            move int_plantchar-atwrt to ep_fein.
        ENDCASE.
      ENDLOOP.
    ENDFUNCTION.
    Pls help me out from this problem its very urgent.
    Thanks

    hi SK ,
    process like this .
    in BADI
    method.
    1.Here u have to put ur logic based on the Requirement.
    2.then u have to call BTE like this
    <b>call function 'OPEN_FI_PERFORM_00001020_E'
          tables
            t_bseg = xbseg
            t_bkpf = xbkpf.</b>
    3.Update Ztables.
    endmethod.
    this is sample logic only.First get logic of TS then u will come to know how to do?
    regards
    prabhu

  • How to fix BC blog post meta title and description

    BC blog post <title> and <description> shows (seo) from sidebar/post list - But does not show in blog post page thru site menu nav.
    The blog post title and description show up corectelly when clicking on sidebar list of posts.
    It must be using the module layout list.html which I have set up with:
    <html>
        <head>
        <title>{tag_blogpostmetatitle}</title>          
            <meta name="description" content="{tag_blogpostmetadescription}">
        </head>
        <body>
    On the sidebar/post list
    Title and Description show correctly here:
    https://cameocoinsonline.worldsecuresystems.com/cameo-coins-blog/how-to-buy-and-sell-gold- and-silver-bullion
    The problem is:
    when clicking on menu nav to “blog” it does not show correct title and description.
    From the blog page thru menu nav
    Title and Description do not show correctly here:
    It shows the name of the blog (cameo coins blog) instead of the name to the post.
    https://cameocoinsonline.worldsecuresystems.com/cameo-coins-blog
    Please Advise
    Thank You

    Hey there,
    Firstly, putting blog posts meta title in the list layout is really bad - You do not do this. This is not how meta works and you need to understand a bit more about what it is.
    If you have a list of blog posts on a page all with lots of title and meta BC will do one of two things.
    1. Use the very last title and meta it sees rendered on all the layouts/templates/page it sees
    2. Render the last title and spit out multiple meta's
    Meta implementation is for the detail layout of something like a blog only - The single rendered content - 1 title, 1 meta description. For your blog this will ONLY go in the blog detail layout.
    And in that layout at the bottom of it..
        <head>
        <title>{tag_blogpostmetatitle}</title>         
            <meta name="description" content="{tag_blogpostmetadescription}">
        </head>
    You need to understand that, remove it from others to fix up that issue with what your doing first. Very likely because you probably have this in other list layotus and all over the place your seeing inconstant output, address this and you probably will actually find your issue fixed.

  • BADI and userexit differences

    hi,
    what is the difference between userexit and Badi.
    how both are used?
    kindly give me a solution.
    with regards
    thiru

    Hi Thirunavukarasu Sundaramoorthy  ,
    USER-EXITS:
    User Exit and Enhancement explained in detail .
    http://sap.niraj.tripod.com/id21.html
    Excellent web-site for user-exits
    http://www.abaptalk.com/forum_posts.asp?TID=31&SID=3b18fa1dc8b7b9a1dbdedf36fe3bc2az&PID=56#56
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/208811b0-00b2-2910-c5ac-dd2c7c50c8e8
    http://abap4.tripod.com/Other_Useful_Tips.html
    User exits :
    1. Introduction:
    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_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 in 1 project. If the enhancement is already 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"
    User exit - A user exit is a three character code that instructs the system to access a program during system processing.
    SXX: S is for standard exits that are delivered by SAP.   XX represents the 2-digit exit number.
    UXX: U is for user exits that are defined by the user.  XX represents the 2-digit exit number
    An example of a user exits :-
    MODULE user_exit_0001 INPUT 
        CASE okcode.
            WHEN 'BACK OR EXIT'.
                CASE sy-dynnr.
                        WHEN '100'.
                             SET SCREEN 0.
                             LEAVE SCREEN.
                        WHEN '200'.
    Note that you can write any code that satisfy your needs.                                                     ****
    But in this case, this was wrote as a sample code for reference sake.                                    ****
    And you can test it.                                                                                ****
                             SET SCREEN 100.
                             LEAVE SCREEN.
                 ENDCASE.
          ENDCASE. 
    Finding User Exits
    Procdedure 1:
    Valid up to at least SAP release 4.0B
    One way to find user exits applicable for a given SAP screen. From the SE38 screen, enter the desired screen main program, and click Utilities > Find In Source Code, and "CUSTOMER-FUNCTION" as the text to search for. This will give you a list of the user exits and where they are called from for all screens in the module pool.
    Note: format of ABAP statement is CALL CUSTOMER-FUNCTION '009', for example. This is the statement called by a submodule attached to the main program.
    Actual related function is EXIT_SAPLCOIH_009, for example. This example refers to customer function 9 in main program SAPLCOIH. Not all user exit functions are names as such, but this is the usual format.
    If you are doing data validation and want to set an error message with a field open, you must be sure that the user exit you are using is linked to a calling module in the PAI section of the screen and the field you wish to be open was in the CHAIN statement which caused the PAI module to be invoked.
    If you use a customer function which was invoked by a PBO module to validate data, the "MESSAGE" statement will cause the screen to return with the desired message at the bottom, but with all screen fields closed for input.
    When you make changes to the include module for a given customer function, you must regenerate the related function group before you will see the changes included in the screen behaviour.
    Procdedure 2:
    Need to find user exits module-wise? Suppose we want to see the available sales module user exits. Go to transaction SE81. Click on SD, then click "edit" on the menu bar and choose select subtree. Click on "information system," Open Environment node, customer exits, and enhancements. Press F8 to get all the user exits for that module. In brief: SE81->SD->Select subtree->Information System->Envir->Exit Techniques->Customers exits->enhancements->Execute(F8)
    USER EXIT  (SAP Enhancement)
    http://www.planetsap.com/userexit_det_1.htm
    List of all USER EXIT's  (4.6c version)
    http://www.planetsap.com/Userexit_List.htm
    User Exits in FI/CO
    http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc
    Excellent web-site for user-exits
    http://www.abaptalk.com/forum_posts.asp?TID=31&SID=3b18fa1dc8b7b9a1dbdedf36fe3bc2az&PID=56#56
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/208811b0-00b2-2910-c5ac-dd2c7c50c8e8
    Enhancements,Creating a project,Assigning SAP enhancements to a project,Editing enhancement components,Activating a project
    http://www.planetsap.com/userexit_main_page.htm
    Find user exits with a TCode
    http://www.erpgenie.com/abap/code/abap26.htm
    SAP User Exits Routine
    http://www.sap-basis-abap.com/sapab013.htm
    ABAP Enhancement and Modifications(Enhancement Framework , Business Add-Ins ,Business Transaction Events)
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/webcontent/uuid/109f5161-ee76-2910-cb99-db10b559ef4b
    What is the difference between SMOD and CMOD?
    http://www.sap-img.com/abap/what-is-the-difference-between-smod-and-cmod.htm
    A Short Tutorial on User Exits
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    BAdi:
    Procedure 1:
    1) Go to the transaction SE37 to find your function module.
    2) Locate the function SXV_GET_CLIF_BY_NAME.
    3) Put a breakpoint there.
    4) Now open a new session.
    5) Go to your transaction. 6) At that time, it will stop this function.
    7) Double click on the function field EXIT_NAME.
    8) That will give you name of the BADI that is provided in your transaction.
    Business Add-Ins
    Procedure 2:
    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).
    4) Now 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
    SAP Business Add-Ins (BAdIs) are one of the most important technologies used to adapt SAP software to specific requirements. BAdIs were introduced with Release 4.6 and replace function module exits. This technology is not limited to SAP applications. BAdI calls can be integrated in customer applications. These can then be enhanced by other customer applications. In the various SAP applications, BAdI calls are implemented at places where enhancements are appropriate.Business add-ins are enhancements to the standard version of the system. 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, two different views are available:
    · In the definition view, an application programmer defines exit points in a source that allow specific industry sectors, partners, and customers to attach additional coding 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 solution, if one is available.
    In contrast to customer exits, Business Add-Ins no longer assume a two-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (SAP, country-specific versions, industry solutions, partner, customer, and so on). You can create definitions and implementations of Business Add-Ins at any level of the system landscape.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 differentiate between Add-In implementations using the filter Country or other criteria.
    The enhancement technique is set up in such a way that it is possible to define interfaces for ABAP soure code, screens, GUI interfaces, and tables. These allow 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.
    BADI is just an object-oriented version of user-exit. Instead of entering program code into some function module (as in customer-exit), you define some class which has to implement predefined methods and those methods are fired at predefined points just like an old user-exit. Some BADI can have multiple independent implementations which is much better for software deployment as several developers can implement the same BADI independently. BADI/UserExists are used to enhance R/3 For customer Needs.
    Actually there is no transaction to find when and where the BADI
    is called.
    1. You can see the BADI description to find why it is called.
    2. Once you implemented and activated the BADI, put some break points
    in the BADI and see "where else used" option to check in what all
    programs this BADI is called. In the ITS debug, when you are doing
    the operation what exactly the BADI description tells, it will take
    to the break points and you have to do manually debug the whole thing.
    I know its bit difficult to do manual debug the whole thing, it
    takes lot of time, but you have to be very patience when you are
    dealing with BADI's.
    Transaction SE18 is the BADI equivalent of transaction SMOD
    Transaction SE19 is the BADI equivalent of transaction CMOD .
    To find the BADI to be implemented and then implement this via SE19.
    Check this blogs 2 find a BADI:
    How To Define a New BAdI Within the Enhancement Framework (Some Basics About the BAdI,BAdI Commands in ABAP,
    When to Use a BAdI?)
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    How to implement a BAdI And How to Use a Filter
    /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
    Introducing Business Add-Ins
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f3202186-0601-0010-6591-b832b1a0d0de
    How to implement BAdi in Enhancement Framework
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d0456c54-0901-0010-f0b3-cd765fb99702
    Business Add-Ins
    http://help.sap.com/saphelp_47x200/helpdata/en/ee/a1d548892b11d295d60000e82de14a/frameset.htm
    BAdI: Customer-Defined Functions in the Formula Builder
    http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    Difference Between BADI and User Exits
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    To Use BADI - Business Add In you need to Understand ABAP OO Interface Concept
    http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm
    cheers!
    gyanaraj
    ****Pls reward points if u find this helpful

  • List of BADIs

    Hello people,
    do you have a list of BADIs in EBP environment with the name and an explanation?
    Thanks a lot,
    Cristiana

    Hi
    All SRM5.5 BADIs with their documenattaion are here.
    BAdI Definition Name Description                                                                               
    BBP_ACCCAT_MAP_EXP   Exit for changing account assign. cat. by mapping EBR to R/3                                                            
    BBP_ACCCAT_MAP_IMP   Exit for changing account assign. cat. by mapping R/3 to EBR                                                            
    BBP_ACC_CHECK_ICC    Account Assignment Check                                                                               
    BBP_ALERTING         Alerting                                                                               
    BBP_APPEND_ITEM      Exit while creating a shopping basket item                                                                               
    BBP_ARCHIVING_BADI   BAdI Implementation for Archiving Contracts                                                                             
    BBP_ATT_CHECK        Attachments                                                                               
    BBP_AUTHORITY_CHECK  Further Authorization Checks f. Documents in EBP                                                                        
    BBP_AVL_DETERMINE    Determination of Sourcing via AVL                                                                               
    BBP_BADI_SUPP_MONI   Activate Customer Monitor                                                                               
    BBP_BIDDER_USER      Also Create User When Bidder Is Created                                                                               
    BBP_BID_DET_PROCTYPE Determine Bid Invitation Transaction Type                                                                               
    BBP_BID_EVAL_DISPLAY Bid Comparison: Display Control                                                                               
    BBP_BS_GROUP_BE      Grouping of Shopping Cart Items for Follow-on Documents                                                                 
    BBP_BUDGET_CHECK     Deactivate Automatic Budget Check                                                                               
    BBP_BUHI_VEND        Definition of Vendor Hierarchy Types                                                                               
    BBP_BUPA_GET_CUF     Customer Fields for Vendor Master Data                                                                               
    BBP_CATALOG_TRANSFER Exit for transferring catalog shopping cart                                                                             
    BBP_CATEGORY_ENABLE  Is 'category specials' released ?                                                                               
    BBP_CAT_CALL_ENRICH  BAdI for Transfer of Additional Parameters to Web Service                                                               
    BBP_CCM_CHAR_MAINT   Transfer of Additional Characteristics to SAP CCM                                                                       
    BBP_CFOLDER_BADI     BAdI Definition for cFolder Integration                                                                               
    BBP_CHANGE_APPLKEY   Change PPF Application Key                                                                               
    BBP_CHANGE_SF_BID    Smartform for E-Mails to Bidder                                                                               
    BBP_CHANGE_SF_CTR    Change Smart Form for Contract Output                                                                               
    BBP_CHANGE_SF_ERS    Change Smart Form                                                                               
    BBP_CHANGE_SF_SC     Smart Form Shopping Cart Print                                                                               
    BBP_CHANGE_SF_VERS   Change Smart Form for Version Comparison                                                                               
    BBP_CHANGE_SSF_ERS   Test                                                                               
    BBP_CHANGE_URL       bbp_change_url                                                                               
    BBP_CHNG_AGNT_ALLOW  Allow Change/Add Approver                                                                               
    BBP_CHNG_AGNT_GET    Approver Selection when Approver Changed/Added                                                                          
    BBP_CND_UI_CTRL      BBP Conditions: UI Control                                                                               
    BBP_CREATE_BE_PO_NEW Exit while creating a purchase order in the backend system                                                              
    BBP_CREATE_BE_RQ_NEW Exit while creating a purchase requisition in backend system                                                            
    BBP_CREATE_BE_RS_NEW Exit while creating a reservation in backend system                                                                     
    BBP_CREATE_PO_BACK   OLD Exit while creating a PO in the backend system                                                                      
    BBP_CREATE_REQ_BACK  OLD Exit while creating a purch. req. in backend system                                                                 
    BBP_CREATE_RES_BACK  OLD-Exit while creating a reservation in backend system                                                                 
    BBP_CREAT_RFQ_IN_DPE Change Bid Invit. Data Before Transfer to Dynamic Bidding                                                               
    BBP_CTR_BE_CREATE    Exit when Creating a Contract in the Backend System                                                                     
    BBP_CTR_INIT_UP      BAdI to upload Contracts and GOAs to SRM                                                                               
    BBP_CTR_MAIL_BADI    BAdI for Changes Regarding Sending Mails                                                                               
    BBP_CTR_MASS_BADI    Implementation of Mass Change Parameters                                                                               
    BBP_CTR_STAT         BAdI to enable changes in the contract status                                                                           
    BBP_CT_PROD_ST_RULES BAdI for Implementation of Additional Product Staging Rules                                                             
    BBP_CT_PROD_TRANSFER Exit Before Transfer of Product Data to Product Master                                                                  
    BBP_CUF_BADI         Customer Fields. Call-up of User-Defined Screen                                                                         
    BBP_CUF_BADI_2       Customer Fields. Use of Standard Table Control                                                                          
    BBP_DETERMINE_ACCT   Exit while determining G/L account for account assignment                                                               
    BBP_DETERMINE_DYNATR Determine Attributes in Bid Invitation                                                                               
    BBP_DETERMINE_LOGSYS Exit while determining target system of item                                                                            
    BBP_DET_TAXCODE_BADI Exit for Determination of Tax Code                                                                               
    BBP_DOC_CHANGE_BADI  BAdI for Changing EBP Purchasing Documents                                                                               
    BBP_DOC_CHECK_BADI   General BAdI in Cross-Check for Message Returns                                                                         
    BAdI Definition Name Description                                                                               
    BBP_DOC_PRINTPROC    BADI for Output Processing of Office Document Attachments                                                               
    BBP_DOC_SAVE_BADI    General BAdI for Additional Checks                                                                               
    BBP_DP_PROD_CHK_BADI Exit for Check if Product can be a Direct Material                                                                      
    BBP_DRIVER_DETERMINE Determine Driver Function Modules                                                                               
    BBP_EBPXML_OUT_BADI  EBPXML BADI for Outbound Messages                                                                               
    BBP_ECS_PO_OUT_BADI  ECS: PO Transfer to Logistics Backend                                                                               
    BBP_EXTLOCALPO_BADI  Control Extended Classic Scenario                                                                               
    BBP_F4_GET_ADDR_MODE Should Address Selection Be Restricted to Company?                                                                      
    BBP_F4_MEM_UPDATE    Write New/Current Favorites to Function Group Memory                                                                    
    BBP_F4_READ_ON_ENTRY Filling of Input Helps, Initial Defaults                                                                               
    BBP_F4_READ_ON_EXIT  Filling of Input Helps, Final Restriction                                                                               
    BBP_F4_SAVE_DB       Writing of Favorites for Input Helps to Database                                                                        
    BBP_FAV_DBHINT       Determine Whether Database is Called with HINT                                                                          
    BBP_FILE_UPLOAD_BADI Upload File to an SRM Application                                                                               
    BBP_FREIGHT_BADI     Treatment of Freight Costs in Tax Calculation                                                                           
    BBP_GET_VMDATA_CF    BAdI for Replication of Customer Fields                                                                               
    BBP_GROUP_LOC_PO     Exit Grouping of Items for Local Purchase Orders                                                                        
    BBP_IMS_CONTACT      Changes the Contract for the E-Mail                                                                               
    BBP_ITEMS_COMPLETE_X Completion of Document Items                                                                               
    BBP_ITEM_CHECK_BADI  Gen. BAdI in Item Cross-Check for Message Return                                                                        
    BBP_IV_IMS_MAIL_LAN  Definition of Language for E-Mail and PDF Form                                                                          
    BBP_IV_NUMBER_SET    BADI for Vendor Invoice Number                                                                               
    BBP_LONGTEXT_BADI    Long Texts in SRM Documents                                                                               
    BBP_MESSAGES_BADI    Check of account assignment data and message output                                                                     
    BBP_MON_SC           Exit for Shopping Cart Monitor                                                                               
    BBP_NONR3_ADDRESS    Master Data Handling: Addresses                                                                               
    BBP_NONR3_PARTNER    Master Data Handling: Business Partners                                                                               
    BBP_OFFLINE_APP_BADI Customer-Specific Modification of E-mail Approval                                                                       
    BBP_OUTPUT_CHANGE    Change Output Parameters                                                                               
    BBP_OUTPUT_CHANGE_SF Change Output Parameters                                                                               
    BBP_PC_ACLPAY_BADI   BAdI to Fill ACLPAY Segments from PCard                                                                               
    BBP_PD_DOWNLOAD      Download Purchasing Document - Renderer                                                                               
    BBP_PD_SDLN_BADI     Exit to Change Schedule Line                                                                               
    BBP_PGRP_ASSIGN_BADI EBP Purchasing Documents: Assign Purchasing Group(s)                                                                    
    BBP_PGRP_FIND        Shopping Cart: Determine Responsible Purchasing Group(s)                                                                
    BBP_PG_REASSIGN_BADI EBP Purchasing Documents: Assign Purchasing Groups(s) (SOCO)                                                            
    BBP_PM_COMP_CHK      Check and Complete Component Data                                                                               
    BBP_PM_DEFAULT_VAL   Setting default values for Component Planning                                                                           
    BBP_PRICEDATA_READ   Pricing: Read Price Data (simplified pricing)                                                                           
    BBP_PRIO_DISPLAY     Determines Display of Priorities                                                                               
    BBP_PROCESS_AUC      Process Smart Form with Changed Interface                                                                               
    BBP_PROCESS_BID      Process Smart Form with Changed Interface                                                                               
    BBP_PROCESS_CTR      Process Smart Form with Changed Interface                                                                               
    BBP_PROCESS_PO       Process Smart Form with Changed Interface                                                                               
    BBP_PROCESS_QUOT     Process Smart Form with Changed Interface                                                                               
    BBP_PRODCAT_HIER     Adaptation of Product Category Hierarchy                                                                               
    BBP_QA_REDETERM_CTR  Redefine the Contract to be Used (Quota Arrangement)                                                                    
    BBP_RESERVATION_GRP  Grouping of Reservations                                                                               
    BBP_ROUNDING_BADI    Rounding of Quantity Fields                                                                               
    BBP_SAPXML1_IN_BADI  BAdI for changing the SAP XML inbound mapping                                                                           
    BBP_SAPXML1_OUT_BADI BAdI for changing the SAPXML outbound mapping                                                                           
    BBP_SAVE_BID_ON_HOLD Control of Bid Invitation Publication                                                                               
    BBP_SCREENVARIANT    BAdI for Defining Screen Variants                                                                               
    BBP_SC_MODIFY_UI     BADI to Change Shopping Cart Layout                                                                               
    BBP_SC_TRANSFER_BE   Exit for Transferring Shopping Cart to the Backend                                                                      
    BAdI Definition Name Description                                                                               
    BBP_SC_VALUE_GET     Determine Shopping Cart Value for User Budget                                                                           
    BBP_SEARCH_SEPARATOR Definition of Separator Characters for the Search                                                                       
    BBP_SEND_MEDIUM_MODE Determines the Default Settings for the Send Medium                                                                     
    BBP_SEND_SUPP_TO_EXT Settings: Send BP from ROS System to External System                                                                    
    BBP_SKILLS           BAdI: Create Skills Profile                                                                               
    BBP_SOS_BADI         BAdI to Search for and Check Sources of Supply                                                                          
    BBP_SOURCING_BADI    Process Control in Sourcing Cockpit                                                                               
    BBP_SRC_DETERMINE    Determine Sourcing for an Item                                                                               
    BBP_STOCH_CUST_BADI  Read Frequency, Workflows from Stochastic Customizing                                                                   
    BBP_SUS_BP_DUPLCHECK SUS/BP Enhancement for Finding Duplicate Records                                                                        
    BBP_SUS_BP_TAXNUMMAP Enhancement for Mapping Tax Number                                                                               
    BBP_SUS_DOWNLD_FILES SUS: Download Documents as Files                                                                               
    BBP_SUS_FILTER_SCHAR Filter Scheduling Agreements                                                                               
    BBP_SUS_MAIL_DESCR   Change Subject Field Text for E-Mail Notification in SUS                                                                
    BBP_SUS_QUAN_PROPOSE Propose Quantities for Service Items                                                                               
    BBP_TARGET_OBJECTS   Exit while determining target objects in backend                                                                        
    BBP_TARGET_OBJTYPE   Exit while determining target objects in backend                                                                        
    BBP_TAX_MAP_BADI     Exit for mapping during tax calculation                                                                               
    BBP_TRANSDATA_PREP   BADI for processing data in replication/update                                                                          
    BBP_TRANSFER_GROUP   Subsequent Split of Grouping                                                                               
    BBP_TREX_BADI        BAdI for Time Recording (Presets and Time Proposal)                                                                     
    BBP_UI_CONTROL_BADI  BAdI for Control of Fields in a Document                                                                               
    BBP_UNPLAN_ITEM_BADI BAdI for Unplanned Items: Screen Control and Presets                                                                    
    BBP_USE_XI           Use XI                                                                               
    BBP_VERSION_CONTROL  Control: Generate a Version from a Document                                                                             
    BBP_VE_QSTN_DET_BADI Control Questionnaire Definition for SRM Vendor Evaluation                                                              
    BBP_WFL_ADMIN_APPROV Defermination admin. approver for invoice/confirmation                                                                  
    BBP_WFL_APPROV_BADI  Determin. Approv. for n-Level. Dynamic Approval WFL                                                                     
    BBP_WFL_EMPL_WI_BADI Determins Whether a Creator Receives a Work Item                                                                        
    BBP_WFL_SECUR_BADI   Overwrites the authorization level of the approver                                                                      
    BBP_WF_LIST          Change Worklists and Search Results Lists                                                                               
    BBP_WS_AGENT_SEARCH  BAdI Determines who can use the Cross-Catalog Search                                                                    
    BBP_XML2PDF          Use XML Data for PDF Generation                                                                               
    BBP_XML_CONF_LOGSYS  XML Outbound Confirmation: Changing the Logical System                                                                  
    BBP_XML_CONF_SEND    XML Outbound Confirmation: Send Document?                                                                               
    BBP_XML_DET_SYSTEM   Send inbound XML messages to planning system too?                                                                      
    Please reward suitable points.
    Regards
    - Atul

  • Unable to get Material No and Description from VBAP

    Hi Gurus
    Can anyone please help me to get material number and description from vbap table, The report is fine but I am unable to get material no and description.
    regards
    report ZCHGDOC_BY_SALES no standard page heading
                              line-size 132.
    type-pools:
      slis.                     " ALV types
    Tables
    tables:
      cdhdr,                    " Change documents: Header
      cdpos,                    " Change documents: Items
      vbak,                     " Sales order: Header
      mara,                     " Material No
      user_addr,                 " User Address
      vbap.                     " Contract order: Items
    Types
    types:
      begin of ty_cdhdr,
        objectclas like cdhdr-objectclas,     " Object class
        objectid   like cdhdr-objectid,       " Object value
        changenr   like cdhdr-changenr,       " Document change number
        username   like cdhdr-username,       " Changed by
        udate      like cdhdr-udate,          " Changed on
        utime      like cdhdr-utime,          " Changed at
        tcode      like cdhdr-tcode,          " Transaction code
      end of ty_cdhdr,
      ty_it_cdhdr type ty_cdhdr occurs 0,
      begin of ty_cdpos,
        objectclas like cdpos-objectclas,     " Object class
        objectid   like cdpos-objectid,       " Object value
        changenr   like cdpos-changenr,       " Document change number
        tabname    like cdpos-tabname,        " Table name
        tabkey     like cdpos-tabkey,         " Table key
        fname      like cdpos-fname,          " Field name
        chngind    like cdpos-chngind,        " Change indicator
        value_new  like cdpos-value_new,      " New value of field
        value_old  like cdpos-value_old,      " Old value of field
      end of ty_cdpos,
      ty_it_cdpos type ty_cdpos occurs 0,
      begin of ty_dd03l,
        tabname   like dd03l-tabname,
        fieldname like dd03l-fieldname,
        as4local  like dd03l-as4local,
        as4vers   like dd03l-as4vers,
        rollname  like dd03l-rollname,
      end of ty_dd03l,
      ty_it_dd03l type ty_dd03l occurs 0,
      begin of ty_dd04t,
        rollname   like dd04t-rollname,
        ddlanguage like dd04t-ddlanguage,
        as4local   like dd04t-as4local,
        as4vers    like dd04t-as4vers,
        scrtext_l  like dd04t-scrtext_l,
      end of ty_dd04t,
      ty_it_dd04t type ty_dd04t occurs 0,
      begin of ty_kna1,
        kunnr like kna1-kunnr,                 " Customer number
        name1 like kna1-name1,                 " Customer name
      end of ty_kna1,
      ty_it_kna1 type ty_kna1 occurs 0,
       begin of ty_user_addr,
        bname    like user_addr-bname,              " user no
        name_textc like user_addr-name_textc ,      " Username
      end of ty_user_addr,
      ty_it_user_addr type ty_user_addr occurs 0,
      begin of ty_vbap,
        matnr     like vbap-matnr,             " Material No
        arktx     like vbap-arktx,             " Production Description
      end of ty_vbap,
      ty_it_vbap type ty_vbap occurs 0,
      ty_text(500) type c,
      ty_lines type tline,
      ty_it_lines type ty_lines occurs 0,
      begin of ty_merged,
        vbeln     like vbak-vbeln,            " Sales order number
        erdat     like vbak-erdat,            " Created on
        auart     like vbak-auart,            " Order type
        faksk     like vbak-faksk,            " Billing block in SD document
        netwr     like vbak-netwr,            " Net value
        waerk     like vbak-waerk,            " Currency
        vkorg     like vbak-vkorg,            " Sales organisation
        vtweg     like vbak-vtweg,            " Distribution channel
        vkbur     like vbak-vkbur,            " Sales office
        fkara     like vbak-fkara,            " Proposed billing type
        kunnr     like vbak-kunnr,            " Sold-to party
        bname     like vbak-bname ,           " User No
        xblnr     like vbak-xblnr,            " Reference
        fbuda     like vbkd-fbuda,            " Date services rendered
        username  like cdhdr-username,        " Changed by
        udate     like cdhdr-udate,           " Changed on
        utime     like cdhdr-utime,           " Changed at
        tcode     like cdhdr-tcode,           " Transaction code
        tabname   like cdpos-tabname,         " Table name
        tabkey    like cdpos-tabkey,          " Table key
        fname     like cdpos-fname,           " Field name
        chngind   like cdpos-chngind,         " Change indicator
        value_new like cdpos-value_new,       " New value of field
        value_old like cdpos-value_old,       " Old value of field
        scrtext_l like dd04t-scrtext_l,       " Description of field
        intnote   type ty_text,               " Internal note
        hdrnote   type ty_text,               " Header note
        name1     like adrc-name1,            " Sold-to party name
        matnr     like vbap-matnr,            " Material No
        arktx     like vbap-arktx,            " Product Description
      end of ty_merged,
      ty_it_merged type ty_merged occurs 0,
      begin of ty_vbak,
        vbeln    like vbak-vbeln,             " Sales order number
        erdat    like vbak-erdat,             " Created on
        auart    like vbak-auart,             " Order type
        faksk    like vbak-faksk,             " Billing block in SD document
        netwr    like vbak-netwr,             " Net value
        waerk    like vbak-waerk,             " Currency
        vkorg    like vbak-vkorg,             " Sales organisation
        vtweg    like vbak-vtweg,             " Distribution channel
        vkbur    like vbak-vkbur,             " Sales office
        fkara    like vbak-fkara,             " Proposed billing type
        kunnr    like vbak-kunnr,             " Sold-to party
        xblnr    like vbak-xblnr,             " Reference
        objectid like cdhdr-objectid,         " Change document object
      end of ty_vbak,
      ty_it_vbak type ty_vbak occurs 0,
      begin of ty_vbkd,
        vbeln like vbkd-vbeln,                " Sales order number
        posnr like vbkd-posnr,                " Sales order item
        fbuda like vbkd-fbuda,                " Date services rendered
      end of ty_vbkd,
      ty_it_vbkd type ty_vbkd occurs 0.
    Internal tables
    data:
      it_cdhdr    type ty_it_cdhdr,
      it_cdpos    type ty_it_cdpos,
      it_fieldcat type slis_t_fieldcat_alv,
      it_kna1     type ty_it_kna1,
      it_user_addr type ty_it_user_addr,
      it_merged   type ty_it_merged,
      it_vbak     type ty_it_vbak,
    Material No
      it_vbap     type ty_it_vbap,
      it_vbkd     type ty_it_vbkd.
    data:
      wa_vbak  type ty_vbak.
    data:
      st_tvariant  like disvariant,
      st_variant   like disvariant.
    constants:
      co_as4local_a           like dd03l-as4local     " Active version
                              value 'A',
      co_objectclas_verkbeleg like cdhdr-objectclas
                              value 'VERKBELEG',
      co_posnr_initial        like vbkd-posnr         " Initial item number
                              value is initial,
      co_posnr_initial_2        like vbap-posnr         " Initial item number
                              value is initial,
      co_save_u               type c                  " User display variant
                              value 'U',              " saving allowed.
      co_trvog_0              like vbak-trvog         " Sales order
                              value '0'.
    data:
      va_exit                 type c,                 " ALV display
      va_tabix                like sy-tabix.
    selection-screen: begin of block b1 with frame title text-001.
    select-options:
      s_vkorg  for vbak-vkorg OBLIGATORY,            " Sales organisation
      s_vkbur  for vbak-vkbur,            " Sales office
      s_vtweg  for vbak-vtweg,            " Distribution channel
      s_vbeln  for vbak-vbeln,            " Sales order number
      s_usrnme for cdhdr-username,        " Changed by
      s_udate  for cdhdr-udate.           " Changed on
    selection-screen: end of block b1,
                      begin of block b2 with frame title text-002.
    parameters:
      p_varint like disvariant-variant.   " Display variant.
    selection-screen: end of block b2.
    Initialization
    initialization.
    Load display variant.
      if not p_varint is initial.
        move st_variant to st_tvariant.
        move p_varint to st_tvariant-variant.
        call function 'REUSE_ALV_VARIANT_EXISTENCE'
             exporting
                  i_save     = co_save_u
             changing
                  cs_variant = st_tvariant.
        st_variant = st_tvariant.
      else.
        clear st_variant.
        st_variant-report = sy-repid.
      endif.
    at selection-screen on value-request for p_varint.
    Provide display variant list for this program.
      call function 'REUSE_ALV_VARIANT_F4'
           exporting
                is_variant = st_variant
                i_save     = co_save_u
           importing
                e_exit     = va_exit
                es_variant = st_tvariant
           exceptions
                not_found  = 2.
      if sy-subrc eq 2.
        message id sy-msgid type 'S'
                number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      else.
        if va_exit eq space.
          st_variant = st_tvariant.
          p_varint = st_tvariant-variant.
        endif.
      endif.
    At selection screen
    at selection-screen.
    Load display variant.
      if not p_varint is initial.
        move st_variant to st_tvariant.
        move p_varint to st_tvariant-variant.
        call function 'REUSE_ALV_VARIANT_EXISTENCE'
             exporting
                  i_save     = co_save_u
             changing
                  cs_variant = st_tvariant.
        st_variant = st_tvariant.
      else.
        clear st_variant.
        st_variant-report = sy-repid.
      endif.
    Start of selection
    Extract order details from VBAK
      select vbeln erdat auart faksk netwr waerk vkorg vtweg vkbur fkara
             kunnr xblnr
             from  vbak
             into  table it_vbak
             where vkorg in s_vkorg
             and   vkbur in s_vkbur
             and   vbeln in s_vbeln.
      if sy-subrc ne 0.
      No data found for selection
        message s001(zgen).
        exit.
      endif.
      loop at it_vbak into wa_vbak.
        va_tabix = sy-tabix.
        wa_vbak-objectid = wa_vbak-vbeln.
        modify it_vbak from wa_vbak
                       index va_tabix
                       transporting objectid.
      endloop.
    if sy-subrc ne 0.
      No data found for selection
       message s001(zgen).
       exit.
    endif.
    loop at it_vbak into wa_vbak.
       va_tabix = sy-tabix.
       wa_vbak-objectid = wa_vbak-vbeln.
       modify it_vbak from wa_vbak
                      index va_tabix
                      transporting objectid.
    endloop.
    Extract  Change data
      select objectclas objectid changenr username udate utime tcode
             from  cdhdr
             into  table it_cdhdr
             for   all entries in it_vbak
             where objectclas eq co_objectclas_verkbeleg
             and   objectid   eq it_vbak-objectid
             and   username   in s_usrnme
             and   udate      in s_udate.
      if sy-subrc eq 0.
        select objectclas objectid changenr tabname tabkey fname chngind
               value_new value_old
               from  cdpos
               into  table it_cdpos
               for   all entries in it_cdhdr
               where fname NE 'CMPRE_FLT'
               and objectclas eq it_cdhdr-objectclas
               and   objectid   eq it_cdhdr-objectid
               and   changenr   eq it_cdhdr-changenr.
      endif.
    Extract customer details from KNA1
      select kunnr name1
             from  kna1
             into  table it_kna1
             for   all entries in it_vbak
             where kunnr eq it_vbak-kunnr.
    ---- Changes are made here -
    Extract Material details from vbap
      select matnr arktx
             from  vbap
             into  table it_vbap
             for   all entries in it_vbak
             where
             vbeln eq it_vbak-vbeln
              and   posnr eq co_posnr_initial.
    -----------------End of Change ----------------------*
    Extract Contract No from vbkd.
      select vbeln posnr fbuda
             from  vbkd
             into  table it_vbkd
             for   all entries in it_vbak
             where vbeln eq it_vbak-vbeln
             and   posnr eq co_posnr_initial.
      perform merge_data tables it_cdhdr
                                it_cdpos
                                it_kna1
                                it_user_addr
                                it_merged
                                it_vbak
                                it_vbap
                                it_vbkd.
      if it_merged[] is initial.
        message s001(zgen).
        exit.
      endif.
    Release memory no longer required.
      free: it_cdhdr,
            it_cdpos,
            it_kna1,
            it_user_addr,
            it_vbak,
            it_vbap,
            it_vbkd.
    Build field catalog for call to report function
      perform build_field_catalog tables it_fieldcat.
    Output report.
      perform output_report tables it_fieldcat
                                   it_merged.
    *&      Form  merge_data
          text
    form merge_data  tables   pa_it_cdhdr  type ty_it_cdhdr
                              pa_it_cdpos  type ty_it_cdpos
                              pa_it_kna1   type ty_it_kna1
                              pa_it_user_addr type ty_it_user_addr
                              pa_it_merged type ty_it_merged
                              pa_it_vbak   type ty_it_vbak
                              pa_it_vbap   type ty_it_vbap
                              pa_it_vbkd   type ty_it_vbkd.
    Local internal tables
    data:
      lit_dd03l type ty_it_dd03l,
      lit_dd04t type ty_it_dd04t.
    Local work areas
    data:
      lwa_cdhdr  type ty_cdhdr,
      lwa_cdpos  type ty_cdpos,
      lwa_dd03l  type ty_dd03l,
      lwa_dd04t  type ty_dd04t,
      lwa_kna1   type ty_kna1,
      lwa_user_addr type ty_user_addr,
      lwa_merged type ty_merged,
      lwa_vbak   type ty_vbak,
      lwa_vbap   type ty_vbap,
      lwa_vbkd   type ty_vbkd.
    Local variables
    data:
      lva_dd03l_tabix like sy-tabix,
      lva_dd04t_tabix like sy-tabix.
    Sort Data
      sort pa_it_cdhdr by objectid changenr.
      sort pa_it_cdpos by objectid changenr tabname tabkey fname.
      sort pa_it_kna1  by kunnr.
      sort pa_it_user_addr by bname.
      sort pa_it_vbak  by vbeln.
       sort pa_it_vbkd  by vbeln.
      loop at pa_it_vbak into lwa_vbak.
        clear lwa_merged.
      Assign sales order fields to reporting work area
        lwa_merged-vbeln = lwa_vbak-vbeln.
        lwa_merged-erdat = lwa_vbak-erdat.
        lwa_merged-auart = lwa_vbak-auart.
        lwa_merged-faksk = lwa_vbak-faksk.
        lwa_merged-netwr = lwa_vbak-netwr.
        lwa_merged-waerk = lwa_vbak-waerk.
        lwa_merged-vkorg = lwa_vbak-vkorg.
        lwa_merged-vtweg = lwa_vbak-vtweg.
        lwa_merged-vkbur = lwa_vbak-vkbur.
        lwa_merged-fkara = lwa_vbak-fkara.
        lwa_merged-kunnr = lwa_vbak-kunnr.
       lwa_merged-bname = 1wa_user_addr-bname.
        lwa_merged-xblnr = lwa_vbak-xblnr.
    Assgin Material to reporting work area
       lwa_merged-matnr  = lwa_vbap-vbeln.
      Get name of sold-to party from PA_IT_KNA1
        clear lwa_kna1.
        read table pa_it_kna1 into lwa_kna1
                              with key kunnr = lwa_vbak-kunnr
                              binary search.
        lwa_merged-name1 = lwa_kna1-name1.
      Get name  from PA_it_user_addr
       clear lwa_user_addr.
       read table pa_it_user_addr into lwa_user_addr
                             with key  = lwa_user_addr-bname
                             binary search.
       lwa_merged-username = lwa_user_addr-name_textc.
      Get business data from PA_IT_VBKD.
        clear lwa_vbkd.
        read table pa_it_vbkd into lwa_vbkd
                              with key vbeln = lwa_vbak-vbeln
                              binary search.
        lwa_merged-fbuda = lwa_vbkd-fbuda.
    Get Material Data
      clear lwa_vbap.
        read table pa_it_vbap into lwa_vbap
                             with key matnr = lwa_vbap-matnr
                                with key vbeln = lwa_vbak-vbeln
                              binary search.
        lwa_merged-arktx = lwa_vbap-arktx.
      Get internal note text for sales order
        perform read_text using '0002'
                                '1'
                                lwa_merged-vbeln
                                'VBBK'
                                lwa_merged-intnote.
      Get header note 1 text for sales order
        perform read_text using 'Z002'
                                '1'
                                lwa_merged-vbeln
                                'VBBK'
                                lwa_merged-hdrnote.
      Determine if change documents exist for sales order.
        clear lwa_cdhdr.
        read table pa_it_cdhdr into lwa_cdhdr
                               with key objectid = lwa_vbak-objectid.
        if sy-subrc ne 0.
          continue.
        endif.
        loop at pa_it_cdhdr into lwa_cdhdr
                            from sy-tabix.
          lwa_merged-username = lwa_cdhdr-username.
          lwa_merged-udate    = lwa_cdhdr-udate.
          lwa_merged-utime    = lwa_cdhdr-utime.
          lwa_merged-tcode    = lwa_cdhdr-tcode.
          clear lwa_cdpos.
          read table pa_it_cdpos into lwa_cdpos
                                 with key objectid = lwa_cdhdr-objectid
                                          changenr = lwa_cdhdr-changenr
                                 binary search.
          loop at pa_it_cdpos into lwa_cdpos
                              from sy-tabix.
            lwa_merged-tabname   = lwa_cdpos-tabname.
            lwa_merged-tabkey    = lwa_cdpos-tabkey.
            lwa_merged-fname     = lwa_cdpos-fname.
            lwa_merged-chngind   = lwa_cdpos-chngind.
            lwa_merged-value_new = lwa_cdpos-value_new.
            lwa_merged-value_old = lwa_cdpos-value_old.
          Get description for field - determine date element
            clear lwa_dd03l.
            read table lit_dd03l into lwa_dd03l
                                 with key tabname   = lwa_cdpos-tabname
                                          fieldname = lwa_cdpos-fname
                                 binary search.
            lva_dd03l_tabix = sy-tabix.
            if sy-subrc ne 0.
              select single tabname fieldname as4local as4vers rollname
                     from   dd03l
                     into   lwa_dd03l
                     where  tabname   eq lwa_cdpos-tabname
                     and    fieldname eq lwa_cdpos-fname
                     and    as4local  eq co_as4local_a.
              if sy-subrc eq 0.
                insert lwa_dd03l into lit_dd03l
                                 index lva_dd03l_tabix.
              endif.
            endif.
          If data element was found, get description
            if not lwa_dd03l is initial.
              clear lwa_dd04t.
              read table lit_dd04t into lwa_dd04t
                                   with key rollname   = lwa_dd03l-rollname
                                            ddlanguage = sy-langu
                                   binary search.
              lva_dd04t_tabix = sy-tabix.
              if sy-subrc ne 0.
                select single rollname ddlanguage as4local as4vers scrtext_l
                       from  dd04t
                       into  lwa_dd04t
                       where rollname   eq lwa_dd03l-rollname
                       and   ddlanguage eq sy-langu.
                if sy-subrc eq 0.
                  insert lwa_dd04t into lit_dd04t
                                   index lva_dd04t_tabix.
                else.
                  lwa_dd04t-scrtext_l = 'Description for field not found'.
                endif.
              endif.
            endif.
            lwa_merged-scrtext_l = lwa_dd04t-scrtext_l.
            append lwa_merged to pa_it_merged.
            at end of changenr.
            Only process field changes for this change document.
              exit.
            endat.
          endloop.
          at end of objectid.
          Initialise work area so we know change document for order has
          been processed.
            clear lwa_merged.
          Only process change documents for this sales order.
            exit.
          endat.
        endloop.
      endloop.
    endform.                    " merge_data
    *&      Form  build_field_catalog
          text
    form build_field_catalog tables pa_it_fieldcat type slis_t_fieldcat_alv.
    data:
    Local variable
      lva_col_pos   type slis_fieldcat_alv-col_pos,
    Local structure
      st_fieldcat   type slis_fieldcat_alv.
      lva_col_pos = 0.
      clear st_fieldcat.
      add 1 to lva_col_pos.
      st_fieldcat-tabname       = 'PA_IT_MERGED'.
      st_fieldcat-fieldname     = 'VBELN'.
      st_fieldcat-ref_tabname   = 'VBAK'.
      st_fieldcat-ref_fieldname = 'VBELN'.
      st_fieldcat-row_pos       = '1'.
      st_fieldcat-col_pos       = lva_col_pos.
      append st_fieldcat to pa_it_fieldcat.
      clear st_fieldcat.
      add 1 to lva_col_pos.
      st_fieldcat-tabname       = 'PA_IT_MERGED'.
      st_fieldcat-fieldname     = 'VKBUR'.
      st_fieldcat-ref_tabname   = 'VBAK'.
      st_fieldcat-ref_fieldname = 'VKBUR'.
      st_fieldcat-row_pos       = '1'.
      st_fieldcat-outputlen = '6'.
      st_fieldcat-col_pos       = lva_col_pos.
      append st_fieldcat to pa_it_fieldcat.
    clear st_fieldcat.
      add 1 to lva_col_pos.
      st_fieldcat-tabname       = 'PA_IT_MERGED'.
      st_fieldcat-fieldname     = 'VKORG'.
      st_fieldcat-ref_tabname   = 'VBAK'.
      st_fieldcat-ref_fieldname = 'VKORG'.
      st_fieldcat-row_pos       = '1'.
      st_fieldcat-outputlen = '6'.
      st_fieldcat-col_pos       = lva_col_pos.
      append st_fieldcat to pa_it_fieldcat.
    clear st_fieldcat.
      add 1 to lva_col_pos.
      st_fieldcat-tabname       = 'PA_IT_MERGED'.
      st_fieldcat-fieldname     = 'KUNNR'.
      st_fieldcat-ref_tabname   = 'VBAK'.
      st_fieldcat-ref_fieldname = 'KUNNR'.
      st_fieldcat-row_pos       = '1'.
      st_fieldcat-col_pos       = lva_col_pos.
        st_fieldcat-outputlen = '6'.
      append st_fieldcat to pa_it_fieldcat.
    clear st_fieldcat.
      add 1 to lva_col_pos.
      st_fieldcat-tabname       = 'PA_IT_MERGED'.
      st_fieldcat-fieldname     = 'NAME1'.
      st_fieldcat-ref_tabname   = 'KNA1'.
      st_fieldcat-ref_fieldname = 'NAME1'.
      st_fieldcat-row_pos       = '1'.
        st_fieldcat-outputlen = '15'.
      st_fieldcat-col_pos       = lva_col_pos.
      append st_fieldcat to pa_it_fieldcat.
    clear st_fieldcat.
      add 1 to lva_col_pos.
      st_fieldcat-tabname       = 'PA_IT_MERGED'.
      st_fieldcat-fieldname     = 'MATNR'.
      st_fieldcat-ref_tabname   = 'VBAP'.
      st_fieldcat-ref_fieldname = 'MATNR'.
      st_fieldcat-row_pos       = '1'.
      st_fieldcat-col_pos       = lva_col_pos.
        st_fieldcat-outputlen = '6'.
      append st_fieldcat to pa_it_fieldcat.
    clear st_fieldcat.
      add 1 to lva_col_pos.
      st_fieldcat-tabname       = 'PA_IT_MERGED'.
      st_fieldcat-fieldname     = 'SCRTEXT_L'.
      st_fieldcat-ref_tabname   = 'DD04T'.
      st_fieldcat-ref_fieldname = 'SCRTEXT_L'.
      st_fieldcat-row_pos       = '1'.
       st_fieldcat-outputlen = '20'.
      st_fieldcat-col_pos       = lva_col_pos.
      append st_fieldcat to pa_it_fieldcat.
      clear st_fieldcat.
      add 1 to lva_col_pos.
      st_fieldcat-tabname       = 'PA_IT_MERGED'.
      st_fieldcat-fieldname     = 'UDATE'.
      st_fieldcat-ref_tabname   = 'CDHDR'.
      st_fieldcat-ref_fieldname = 'UDATE'.
      st_fieldcat-row_pos       = '1'.
      st_fieldcat-outputlen = '10'.
      st_fieldcat-col_pos       = lva_col_pos.
      append st_fieldcat to pa_it_fieldcat.
      clear st_fieldcat.
      add 1 to lva_col_pos.
      st_fieldcat-tabname       = 'PA_IT_MERGED'.
      st_fieldcat-fieldname     = 'USERNAME'.
      st_fieldcat-ref_tabname   = 'CDHDR'.
      st_fieldcat-ref_fieldname = 'USERNAME'.
      st_fieldcat-row_pos       = '1'.
      st_fieldcat-outputlen = '6'.
      st_fieldcat-col_pos       = lva_col_pos.
      append st_fieldcat to pa_it_fieldcat.
      clear st_fieldcat.
      add 1 to lva_col_pos.
      st_fieldcat-tabname       = 'PA_IT_MERGED'.
      st_fieldcat-fieldname     = 'FNAME'.
      st_fieldcat-ref_tabname   = 'CDPOS'.
      st_fieldcat-ref_fieldname = 'FNAME'.
      st_fieldcat-row_pos       = '4'.
      st_fieldcat-outputlen = '8'.
      st_fieldcat-col_pos       = lva_col_pos.
      append st_fieldcat to pa_it_fieldcat.
      clear st_fieldcat.
      add 1 to lva_col_pos.
      st_fieldcat-tabname       = 'PA_IT_MERGED'.
      st_fieldcat-fieldname     = 'CHNGIND'.
      st_fieldcat-ref_tabname   = 'CDPOS'.
      st_fieldcat-ref_fieldname = 'CHNGIND'.
      st_fieldcat-row_pos       = '1'.
      st_fieldcat-outputlen = '8'.
      st_fieldcat-col_pos       = lva_col_pos.
      append st_fieldcat to pa_it_fieldcat.
      clear st_fieldcat.
      add 1 to lva_col_pos.
      st_fieldcat-tabname       = 'PA_IT_MERGED'.
      st_fieldcat-fieldname     = 'WAERK'.
      st_fieldcat-ref_tabname   = 'VBAK'.
      st_fieldcat-ref_fieldname = 'WAERK'.
      st_fieldcat-row_pos       = '1'.
      st_fieldcat-outputlen = '5'.
      st_fieldcat-col_pos       = lva_col_pos..
      append st_fieldcat to pa_it_fieldcat.
      clear st_fieldcat.
      add 1 to lva_col_pos.
      st_fieldcat-tabname       = 'PA_IT_MERGED'.
      st_fieldcat-fieldname     = 'VALUE_NEW'.
      st_fieldcat-ref_tabname   = 'CDPOS'.
      st_fieldcat-ref_fieldname = 'VALUE_NEW'.
      st_fieldcat-row_pos       = '1'.
      st_fieldcat-outputlen = '20'.
      st_fieldcat-col_pos       = lva_col_pos.
      append st_fieldcat to pa_it_fieldcat.
      clear st_fieldcat.
      add 1 to lva_col_pos.
      st_fieldcat-tabname       = 'PA_IT_MERGED'.
      st_fieldcat-fieldname     = 'VALUE_OLD'.
      st_fieldcat-ref_tabname   = 'CDPOS'.
      st_fieldcat-ref_fieldname = 'VALUE_OLD'.
      st_fieldcat-row_pos       = '1'.
      st_fieldcat-outputlen = '20'.
      st_fieldcat-col_pos       = lva_col_pos.
      append st_fieldcat to pa_it_fieldcat.
    endform.                    " build_field_catalog
    *&      Form  output_report
          text
    form output_report tables pa_it_fieldcat type slis_t_fieldcat_alv
                              pa_it_merged   type ty_it_merged.
    Local variables
    data:
      lva_formname type slis_formname,
      lva_repid    like sy-repid.
      lva_repid = sy-repid.
      lva_formname = 'ALV_USER_COMMAND'.
      call function 'REUSE_ALV_GRID_DISPLAY'
        exporting
          i_callback_program = lva_repid
          i_callback_user_command = lva_formname
          i_save             = 'A'
          is_variant         = st_variant
          it_fieldcat        = pa_it_fieldcat[]
        tables
          t_outtab           = pa_it_merged
        exceptions
          program_error      = 1
          others             = 2.
    endform.                    " output_report
    *&      Form  alv_user_command
          text
    form alv_user_command using pa_ucomm    like sy-ucomm
                                pa_selfield type slis_selfield.
    Local work areas
    data:
      lwa_merged type ty_merged.
      clear lwa_merged.
      read table it_merged into lwa_merged
                           index pa_selfield-tabindex.
      case pa_selfield-fieldname.
        when 'VBELN'.
        Contract Number
          set parameter id 'AUN' field lwa_merged-vbeln.
         call transaction 'VA03' and skip first screen.
    S_BCE_68001393
    when 'USERNAME'.
        Username
          set parameter id 'username' field lwa_merged-username.
          call transaction 'S_BCE_68001393' and skip first screen.
        when 'KUNNR'.
        Customer number
          set parameter id 'KUN' field lwa_merged-kunnr.
          set parameter id 'VKO' field space.
          set parameter id 'VTW' field space.
          set parameter id 'SPA' field space.
          call transaction 'XD03' and skip first screen.
      endcase.
    endform.                    " alv_user_command
    *&      Form  read_text
          text
    form read_text  using    pa_id
                             pa_inline_count
                             pa_name
                             pa_object
                             pa_text.
    Local internal tables
    data:
      lit_inlines type ty_it_lines,
      lit_lines   type ty_it_lines.
    Local work areas
    data:
      lwa_lines   type ty_lines.
    Local variables
    data:
      lva_tdname    like thead-tdname.
      refresh: lit_inlines,
               lit_lines.
      lva_tdname = pa_name.
      call function 'READ_TEXT_INLINE'
        exporting
          id                    = pa_id
          inline_count          = pa_inline_count
          language              = sy-langu
          name                  = lva_tdname
          object                = pa_object
        tables
          inlines               = lit_inlines
          lines                 = lit_lines
        exceptions
          id                    = 1
          language              = 2
          name                  = 3
          not_found             = 4
          object                = 5
          reference_check       = 6
          others                = 7.
      loop at lit_lines into lwa_lines.
        concatenate pa_text
                    lwa_lines-tdline
                    into pa_text separated by space.
      endloop.
    endform.                    " read_text ENDLOOP.

    Hi
    As per your code here:
    "-------------- Changes are made here ----------------
    *Extract Material details from vbap
    select matnr arktx
    from vbap
    into table it_vbap
    for all entries in it_vbak
    where
    vbeln eq it_vbak-vbeln
    and posnr eq co_posnr_initial.   " Here the condition specifies you want to select sales order items where there is no item number, which i beleive shouldnt be the case
    " -----------------End of Change ----------------------
    Try as below by commenting the Item Number is INITIAL condition:
    select matnr arktx
       from vbap
       into table it_vbap
       for all entries in it_vbak
       where
       vbeln eq it_vbak-vbeln.
    "and posnr eq co_posnr_initial.
    Regards
    Eswar

  • When I unplug my headphones my music pauses. But when I plug them back in the controls won't restart the music and I must go to the list of tracks and select a new one to start again

    I have an iPhone 5 with iOS 7.04
    If I am listening to music using my Apple earphones when I pull the earphones out the music pauses as expected. However, when I go back and plug the earphones in and try to play on with the music nothing happens and I have to go back to the list of tracks and select a new one from the start.
    This also is impacting my listening to music from my iPhone on my motorcuycle audio system. The iPhone is plugged into a USB port on the bike and prior to iOS7 always resumed playing music from wherever it was in a track and displayed the music track name on the bike info panel.
    Since upgrading now the music won't start and again I have to pull the iphone out of the glovebox and go back to the list of tracks and select a new track. But the moment the power interrupts or the nav audio cuts in and switches from iPod the music pauses and doen't restart as it always did.
    Apple, what have you done?? You have basically taken the very first App that made the iPod exist and stop it functioning properly. When are you going to fix this or is there already some obscure setting that needs to be changed but that is not prominently displayed in settings anywhere? How can I make my iPhone function as an iPod properly again for my music needs?

    Nothing wrong, no panic. Some general remarks:
    a. the battery will not be charged when over 95% full; a full battery is not charged
    b. it is good for the battery to have it go down to about 50% before recharging, say once a week at least.
    c. never let the battery go down completely, so that it shuts off on its own: that is very bad for a modern smart Li battery.
    d. sometimes the old "battery calibration" procedure is advised, you should not do that.
    trick: when you click the little battery icon in the top menu bar, you also see if there is a heavy energy user running.

  • Long List of Problems and no one will help!!!

    I have had NOTHING but problems with this phone since the sales clerk talked me into buying it.  I've had it for a little over a year and a half.  It's had "Software" issues out the rear and it's been replaced and still has the very same issues.  YET I can't swap it out with another phone without paying through the nose for a new one.  Verizon sold me a phone that does not work completely.  Verizon keeps replacing it with the same phone and numerous Verizon employees keep telling me that this phone has MANY known issues, LOTS of complaints.  Yet I am still stuck with a phone that is barely useable.  I am so disgusted right now.
    Here is just a SMALL sampling of issues with my phone and I am still being denied a new phone unless I want to pay $600. I have 4 weeks until I can "Upgrade"  and I still can't even get an early upgrade.  I have been VERY patient waiting for my "TWO YEARS" to be "UP" so I can upgrade without being robbed.  This in addition to suffering through the Black Berry Storm that SUCKED and was replaced 7 times in a year and a half period due to "Software issues"  I will admit, two of those replacements were my fault - one got wet and the other was stolen, but still, 5 replacements is not acceptable.  Then I went to buy my new phone (Glory day for me) then I get talked into this Fascinate and it's just as bad as the Storm was, if not worse.  I can't seem to win.  I have decided to go for an iPhone.
    Here is my list of problems and NO one can fix them, no one can help, I get told that this is a known problem yet Verizon won't take care of their customers that got screwed by this phone.  I've been a loyal customer for 7 years. I love the actual cellular service, I rarely get dropped calls, which is why I stick with verizon, but I am seriously considering jumping ship, because even though I'm loyal, I buy my phones through them, I can't get support.
    The SHORT LIST of problems that makes this phone 100% unacceptable:
    1)  Can't text 3/4 of the time because a little grey box pops up in the text box and it won't accept anything I type into it.
    2)  Have not been able to send picture emails for several months now - Verizon can't figure out why.  My husband misses out on a lot of pics of our kids, I like to text him fun pics of them doing things or when we are on vacation without him.
    3) phone freezes up on a regular basis.  Several times a day.  I have to pull the battery out and reboot.
    4)  Sometimes I can't answer the phone when it rings - the phone rings and when I slide the puzzle piece to answer the phone, it freezes and continues to ring long after the person has hung up and the only way to get it to stop ringing is to pull the battery out and reboot the whole thing.
    5)  a LOT of times, people will call my phone and it won't ring - it goes straight to voicemail.  I have had people call me when they are sitting right next to me and it doesn't ring (and yes, I've checked the volume, it's on, the phone is on) sometimes though, it rings and I actually can answer it, but lately, it's becoming more and more of a problem being able to receive and actually be able to answer them
    6)  I can't use Facebook.  It takes forever to actually get into FB and when I do, it only shows about 5 posts before it freezes.  A few weeks ago, I could post to FB but only here and there, now I can't post from FB from my phone at all.  I know that's likely due to the APP - but FB on this phone has always sucked. 
    7)  At home, even when I standing next to my wireless router, it says I have "Lost Signal", yet all of my other wireless devices work from 5400 square feet away, on the other side of the house, upstairs.  Even when I'm standing in the Verizon store, it says "Internet Connection Lost"  It is so frustrating.  I am a busy mom and I have 5 minuts to myself and I can't even check FB or browse on the internet and yes, I have checked, all of my connections are set up correctly.  My wireless is enabled on my phone.  But it still doesn't work.
    8)  Email - it's constantly refreshing, even though I have it set to only refresh once and hour.  I think I even changed it to once a day.  Instead, that little "refresh wheel" spins constantly on my phone and while this little refresh wheel spins, I can't read email, I can't write email and I can't send email.  When it finally stops and I open an email and the try to respond and write back, that little refresh wheel starts spinning again and then I have to wait until i can get home to a real computer to actually read & Respond to email. 
    9)  Calendar inputs the wrong time.  I had a dentist appt at 9:30am.  I set it as 9:30am.  When I saved it, it changed it to 10:40am.  I went back into the calendar function to change it thinking I had input the wrong time, but no, when I went to edit it, my 9:30 time was set, I hit save again and saving it changed it to 10:40.  WTH?  I can't even rely on the calendar function.
    10)  Two weeks ago, I woke up, looked at my clock, which I also rely on as an alarm clock.  The room was dark.  The clock said 5:30am.  But for some reason, it felt later.  Sure enough, I get up, check my husbands alarm clock, it's 7:30am.  I am so thankful I had a gut feeling and looked at another clock.  I did not change my time zone on my phone (in fact, I went looking for Time change stuff and I couldn't even find it.  Then two hours later, the phone went back to normal time all on it's own.
    11)  Text messages occasionally pop up and it tells me it's from Jay Smith (Not real name) and when I open the actual text, it's from Sarah Jenkins (not real name)  WTH?  How am I supposed to rely on text if its confused itself?
    12)  Phone shuts itself off all the time, several times a day.  All of a sudden I will hear the musical tone of my phone shutting down and then at some point, it will turn itself back on.  When I turn it back on, it resends out old text messages (See below)
    13)  Text message randomly sends out old text messages to people that I sent text messages out to months ago.  So the people will text me back saying "WTHeck is this about?" and I look and it's an old text message I sent them a month or two ago.  It usually does this when the phone freezes, shuts itself down and restarts.  I have found out that IF I delete my text messages timely, then it won't resend out any old text messages, but I am not very good about deleting stuff and often times, text message contains some important information that I haven't yet had the time to copy down and save.  I shouldn't HAVE to delete my text messages so it doesn't randomly send out text messages to people.
    14)  Often times, I will send out a text message and it will fail to send the message and I get a text message saying my text message has failed. 
    I could go on, but I think that will give sufficient evidence that this phone stinks and that Verizon should give people owning this phone a chance to get a new phone without raping their wallets.
    Maybe someone here will listen?  Because no one at the store does...  I pay for Verizon service that I barely even get to use because my phone doesn't perform like the guy who sold it to me told me it would.
    CAN YOU HEAR ME NOW????

      About the only thing I can say is to keep going to Verizon, or calling customer service to get them to look at the issues. I talked to 1 rep that told me to dial either 4# symbols, or 4* symbols (Can't remember which it was) after I got the VM message but did not have the phone ring, so it would mark my account record and they could search and troubleshoot the issue.
      As far as your upgrade, I think you have done the right thing so far, and that is signing up on this forum, that way you can look at the different phone forums and see what issues that people are having. Talking to people that have the phone is a great way to find out what the issues are. Verizon Sales reps will only sell you the latest and greatest, or if there is something that they are being told to push to get out of stock.
      Going with an iPhone is ok, just make sure it is correct for you, because like you said earlier, once it is done, it is done and you are stuck with it for 2 years. I had a friend who made a knee-jerk reaction to a bad phone, and did the same thing. They regretted it after 6 months. I am not saying the iPhone will be bad for you, just make sure you do your homework.

  • Bookmarks sync erase new tags, labels and description on former synchronized bookmarks

    hello,
    on firefox 32.0.3
    bookmarks synchronisation erase recent tags, labels and description during the sync.
    this happen on already sync bookmarks on which we add some tags, labels and description, but not on new ones.
    no error message when logging or unlogging.
    thanks in advance
    best regards

    Hi ebntv,
    Thank you for your question, I understand that after a recent sync to your sync account that there are Recent Tags, descriptions and labels missing. However it is only the older Bookmarks that are affected.
    I have attached two screenshots to clarify to make sure I understand the feature that is affected:
    # The first has the default recent tags and list of all tags.
    # the second is an older bookmark visited 32 times that has all of the details after a sync.(However it never had a description or keyword)
    Which information is missing exactly?

  • Add unique title and description to other Blog pages

    Hi,
    There's a few pages that I cannot work out how to add a unique title and description tag within the Blog.
    These are:
    The page numbers - in the footer of the Blog if you click page 2, 3, 4, etc
    eg: http://www.cardiotech.com.au/_blog/Latest_Fitness_News/page/4/
    The Tags pages - if you click a tag and you're then presented with a list of articles for that tag it still displays the default Blog title
    eg: http://www.cardiotech.com.au/_blog/Latest_Fitness_News/tag/Exercise/
    The Archives pages - if you click on a month under Archives and it displays all the articles for that month it displays the default Blog title
    I just need to know where this template is or even if there is one?
    Hope this makes sense.
    Thanks,
    Rob

    Hey there.
    You can not edit/add unique titles for these.
    As a note I can see you still have _blog - You can enable the proper SEO Custom url now and it probably says so in a yellow box on the detail part of the blog.

  • Receivables Items and Description Fields

    Hi,
    We are working in Oracle Applications 11i and I have an inquiry in the Receivabkes module.
    From Transactions->Transactions Lines form (Form Name : ARXTWMAI) we have the info of item, description, etc.
    As we are using another system to enter direct selling info/invoices, we are not using oracle order management module, and we have no setup regarding the items in oracle receivables module.
    So, my question is: can we create a LOV for the two fields ITEM and DESCRIPTION? what are the possible solutions?
    Thank you..

    Not sure exactly what you are asking..but
    A. Item field is not mandatory...so you can leave it blank..if you have no use for it
    B. Description field is mandatory....you can enter any free text.....OR pull up LOV ...which will list standard memo line you've setup in AR and select one of the memo lines.
    Regards,
    James Kim.

Maybe you are looking for

  • When trying to open an image from LR4 in Photoshop CS5 I get a message asking me to download Camera

    When trying to open an image from LR4 in Photoshop CS5 I get a message asking me to download Camera Raw 7.0.  This is not on the Adobe web site.  When will it be available?

  • Recognizing element in the image

    I have an image which is pretty much b&w and it has a black square on white background. How can i determine cooridnates of this square? It is actually scanned doc and these squares are used for calibration and positioning of the scanned image. I gues

  • IBook Bookmarks don't sync iPhone to ipad

    I've read all I can in the communities and online and followed all instructions but my iBook bookmarks still won't sync between my iPad mini with retina and my iPhone 4. All settings match, with all sync options on. Please help?

  • PDF files unable to open

    I have some PDF files saved in my flash drive and I cant open them " Adobe Reader could not open  because it is either not a supported file type or because the file has been damaged (for example, it was sent as an email attachment and wasn't correctl

  • Share disks over Ethernet WAN port is missing

    Hi All! I'm quite new to this Airport Extreme thing. I just set tne box up, and i wanted to share my disks over WAN, but the option "Share disks over Ethernet WAN port" is missing. I'm only able to turn on Bonjour My firmware version is 7.2.1 Can any