Query on availability of BDC/BADI for following enhancement

Hi,
I want to know whether any user exit/BADI/BDC is available for the following Scenario:
I have a PO having 80 Project materials. The PO will be created with reference to a PR which will have all the Project Materials.  The Client doesn't want to maintain conditions and the Tax code at line item level (conditions cannot be maintained at Header level as these are different for the condition types) for 80 Project materials in a single PO as it is too laborious.  Instead he want's to populate the fields thro' an excel file where he will be maintain the values for the condition type and tax code.
My question's are:-
Is this Possible?
How? using BDC/BADI ?
Solution to the Problem ?
Please treat this as urgent and respond.

Yes it is possible by doing some development work.
Create a new transaction code which can list down all the PR's for a vendor to be converted into a PO. dispaly all the line items in a ALV Grid format whcoh can be downloaded so that the user can populate the PO price and tax code in differnt columns for the lines and provide an updload functionality which will then update the table. Once updated , you need to provide a selection icon for creating the PO whcih will invoke the BAPI - BAPI_PO_CREATE1 for creating the PO using the fields from the screen.
Hope this helps.
Thanks & Regards
Kishore

Similar Messages

  • Creating BADI for datasource enhancement in CRM.

    Hi,
    I am working on SAP BI/BW. This is the first time I am working in CRM system with CRM datasources. Facing some problem for datasource enhancement as never done it before in the CRM system. Is there anyone who can help in in creating BADI for datasource enhancement in CRM.
    Thanks in advance
    Moumita

    Hi Prasad Reddy,
    This are the available badis and exits for this t.code:
    Enhancement/ Business Add-in            Description
    Enhancement
    MGA00001                                Material Master (Industry): Checks and Enhancements
    MGA00002                                Material Master (Industry): Number Assignment
    MGA00003                                Material Master (Industry and Retail): Number Display
    Business Add-in
    MG_MASS_NEWSEG                          User-Specific Fields & Segments in Mass Maintenance
    MATGRP_SKU_UPD
    CDT_CHECK_MATERIAL                      Checks for Existence of a Material in a CDT
    BADI_MM_MATNR
    BADI_MAT_F_SPEC_SEL                     BAdI for Material Special Field Selection
    BADI_MATNR_CHECK_PVS
    BADI_MATERIAL_REF                       Addition of customer-defined default data for material
    BADI_MATERIAL_OD
    BADI_MATERIAL_CHECK                     Enhanced checks for material master table
    BADI_GTIN_VARIANT
    BADI_EAN_SYSTEMATIC
    o.of Exits:          3
    o.of BADis:         11
    Find the Exact  exits and badis for ur requirement.
    How to fine the exact badi:
    1) Goto se24 (Display class cl_exithandler)
    2) Double click on the method GET_INSTANCE.
    3) Put a break point at Line no.25 (CASE sy-subrc).
    Now
    4) Execute SAP standard transaction
    5) Press the required button for which you need to write an exit logic, the execution will stop at the break point.
    6) Check the values of variable 'exit_name', it will give you the BADI name called at that time.
    7) This way you will find all the BADIs called on click of any button in any
    transaction
    Rgds,
    P.Naganjana Reddy
    if you follow this 7 steps, you will find a suitable BADI.

  • Creating BADI for datasource enhancement in CRM system

    Hi,
    I am working on SAP BI/BW. This is the first time I am working in CRM system with CRM datasources. Facing some problem for datasource enhancement as never done it before in the CRM system. Is there anyone who can help in in creating BADI for datasource enhancement in CRM.
    Thanks in advance
    Moumita

    Hi Kushal,
    You can find the BADI name by,
    Go to Transaction SE24
    Enter the Object Type CL_EXITHANDLER and click on Display.
    Double Click on method "GET_INSTANCE".
    Put a Break-point on Call method cl_exithandler=>get_class_name_by_interface
    Run RSA3 transaction and execute the DataSource.
    The execution will stop at the break point.
    Check the values of variable 'exit_name', it will give you the BADI name called at that time.
    Thanks,
    Kokila

  • Query on  User-Exit or  BADI  For  ME21/ME21N

    HI All,
    I am working on purchase order release strategy.Version  4.7E
    The requirement is 'without reference to purchase requestion(PR) Purchase Order should not be created.
    Ifound out one badi-ME_PROCESS_PO_CUST and i have implemented it.
    It is working fine for ME21N transaction.
    But when i create PO through  me21 it is not being triggered.
    Can any body tell me suitable user-exit for this.
    Regards,
    Prasanth

    Transaction Code - ME21                     Create Purchase Order
    Exit Name           Description
    AMPL0001            User subscreen for additional data on AMPL
    LMEDR001            Enhancements to print program
    LMELA002            Adopt batch no. from shipping notification when posting a GR
    LMELA010            Inbound shipping notification: Transfer item data from IDOC
    LMEQR001            User exit for source determination
    LMEXF001            Conditions in Purchasing Documents Without Invoice Receipt
    LWSUS001            Customer-Specific Source Determination in Retail
    M06B0001            Role determination for purchase requisition release
    M06B0002            Changes to comm. structure for purchase requisition release
    M06B0003            Number range and document number
    M06B0004            Number range and document number
    M06B0005            Changes to comm. structure for overall release of requisn.
    M06E0004            Changes to communication structure for release purch. doc.
    M06E0005            Role determination for release of purchasing documents
    ME590001            Grouping of requsitions for PO split in ME59
    MEETA001            Define schedule line type (backlog, immed. req., preview)
    MEFLD004            Determine earliest delivery date f. check w. GR (only PO)
    MELAB001            Gen. forecast delivery schedules: Transfer schedule implem.
    MEQUERY1            Enhancement to Document Overview ME21N/ME51N
    MEVME001            WE default quantity calc. and over/ underdelivery tolerance
    MM06E001            User exits for EDI inbound and outbound purchasing documents
    MM06E003            Number range and document number
    MM06E004            Control import data screens in purchase order
    MM06E005            Customer fields in purchasing document
    MM06E007            Change document for requisitions upon conversion into PO
    MM06E008            Monitoring of contr. target value in case of release orders
    MM06E009            Relevant texts for "Texts exist" indicator
    MM06E010            Field selection for vendor address
    MMAL0001            ALE source list distribution: Outbound processing
    MMAL0002            ALE source list distribution: Inbound processing
    MMAL0003            ALE purcasing info record distribution: Outbound processing
    MMAL0004            ALE purchasing info record distribution: Inbound processing
    MMDA0001            Default delivery addresses
    MMFAB001            User exit for generation of release order
    MRFLB001            Control Items for Contract Release Order
    No of Exits:         35
    Transaction Code - ME21N                    Create Purchase Order
    Exit Name           Description
    AMPL0001            User subscreen for additional data on AMPL
    LMEDR001            Enhancements to print program
    LMELA002            Adopt batch no. from shipping notification when posting a GR
    LMELA010            Inbound shipping notification: Transfer item data from IDOC
    LMEQR001            User exit for source determination
    LMEXF001            Conditions in Purchasing Documents Without Invoice Receipt
    LWSUS001            Customer-Specific Source Determination in Retail
    M06B0001            Role determination for purchase requisition release
    M06B0002            Changes to comm. structure for purchase requisition release
    M06B0003            Number range and document number
    M06B0004            Number range and document number
    M06B0005            Changes to comm. structure for overall release of requisn.
    M06E0004            Changes to communication structure for release purch. doc.
    M06E0005            Role determination for release of purchasing documents
    ME590001            Grouping of requsitions for PO split in ME59
    MEETA001            Define schedule line type (backlog, immed. req., preview)
    MEFLD004            Determine earliest delivery date f. check w. GR (only PO)
    MELAB001            Gen. forecast delivery schedules: Transfer schedule implem.
    MEQUERY1            Enhancement to Document Overview ME21N/ME51N
    MEVME001            WE default quantity calc. and over/ underdelivery tolerance
    MM06E001            User exits for EDI inbound and outbound purchasing documents
    MM06E003            Number range and document number
    MM06E004            Control import data screens in purchase order
    MM06E005            Customer fields in purchasing document
    MM06E007            Change document for requisitions upon conversion into PO
    MM06E008            Monitoring of contr. target value in case of release orders
    MM06E009            Relevant texts for "Texts exist" indicator
    MM06E010            Field selection for vendor address
    MMAL0001            ALE source list distribution: Outbound processing
    MMAL0002            ALE source list distribution: Inbound processing
    MMAL0003            ALE purcasing info record distribution: Outbound processing
    MMAL0004            ALE purchasing info record distribution: Inbound processing
    MMDA0001            Default delivery addresses
    MMFAB001            User exit for generation of release order
    MRFLB001            Control Items for Contract Release Order
    no of Exits:         35
    USER EXIT
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    http://www.sap-img.com/ab038.htm
    http://help.sap.com/saphelp_46c/helpdata/en/64/72369adc56d11195100060b03c6b76/frameset.htm
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci982756,00.html
    Rewards if useful.........
    Minal

  • How to Find BADI for a particular FM

    Dear Abapers,
    How do I find a BADI for a Particular Function Module.
    I did google and found three methods but none helped.
    1) going to Transaction se37 to find your function module.  Locate the function SXV_GET_CLIF_BY_NAME.
    this doesnt help me because i dont want to find badi for a transaction.
    2) got se24 and put a break point in the method of class cl_exithandler. I tried this didnt help.
    3) taking the pacake name and going to se80 and enter it there, you see enhancements. I did this , found the package name of that FM which is WZRE. but there are lots of enhancements and badis. i cant find the related one with discription.
    my FM is IDOC_INPUT_SINGLSETTRQS_CREATE. I really need help to find the correct badi for this.
    any help is appreciated.
    thanks.

    Hi,
         To find a BADI for any enhancement follow these steps,
    1) Put a brak point in method CL_EXITHANDLER=>GET_INSTANCE. This will give you the EXIT_NAME and the implementing class name of the BADI.
    2) Remove IF_EX from the implementing class this provides you the BADI name.
    Regards
    Ram

  • Sample Code for CRM enhancement in BADI

    hi,
      can anybody please give me sample code for BADI for CRM enhancement.
    i have added couple of z field in a extract structure. now i have to write code in BADI to populate those fields.
    please do not send code for user exit.
    Regards
    Subrata

    Hi Aviral,
    Please consider below thread :
    http://scn.sap.com/thread/2069370
    Best regards - Christophe

  • User Exit or BADI for ME21N

    Hi All,
    We are in a situation where in we need to Change the Distribution Channel in the Shipping tab of ME21N transaction.
    Previously, the distribution channel is being picked up form the config (SPRO - Shipping data for plant) but before it picks up from the config we need to change it and update the other distribution channel in the PO.
    We have tried with most of the User exits and BADIs but all of those are of no use for our requirement, as these user exits and badis are triggered after we click on save button. But we need to change the Distribution channel at the point of determination of Shipping data by the system i.e. before save.
    Can any one please help me out with this situation with some User exits or BADIs that are triggered before save button.
    Note: The Shipping data is in EKPV table. We need to change the VTWEG field in EKPV.
    Thanks in Advance,
    Asif Ali Khan

    Asif,
    see these are Exits and BADI for ME21n,
    Enhancement/ Business Add-in            Description                                                                               
    Enhancement                                                                               
    MEFLD004                                Determine earliest delivery date f. check w. GR (only PO)      
    MELAB001                                Gen. forecast delivery schedules: Transfer schedule implem.    
    MEQUERY1                                Enhancement to Document Overview ME21N/ME51N                   
    MEVME001                                WE default quantity calc. and over/ underdelivery tolerance    
    MM06E001                                User exits for EDI inbound and outbound purchasing documents   
    MM06E003                                Number range and document number                               
    MM06E004                                Control import data screens in purchase order                  
    MM06E005                                Customer fields in purchasing document                         
    MM06E007                                Change document for requisitions upon conversion into PO       
    MM06E008                                Monitoring of contr. target value in case of release orders    
    MM06E009                                Relevant texts for "Texts exist" indicator                     
    MM06E010                                Field selection for vendor address                             
    MMAL0001                                ALE source list distribution: Outbound processing              
    MMAL0002                                ALE source list distribution: Inbound processing               
    MMAL0003                                ALE purcasing info record distribution: Outbound processing    
    MMAL0004                                ALE purchasing info record distribution: Inbound processing    
    MMDA0001                                Default delivery addresses                                     
    MMFAB001                                User exit for generation of release order                      
    MRFLB001                                Control Items for Contract Release Order                       
    LMEKO001                                Extend communications structure KOMK for pricing               
    LMEKO002                                Extend communications structure KOMP for pricing               
    MM06E011                                Activate PReq Block                                            
    AMPL0001                                User subscreen for additional data on AMPL                     
    LMEDR001                                Enhancements to print program                                  
    LMELA002                                Adopt batch no. from shipping notification when posting a GR   
    LMELA010                                Inbound shipping notification: Transfer item data from IDOC    
    LMEQR001                                User exit for source determination                             
    LMEXF001                                Conditions in Purchasing Documents Without Invoice Receipt                                                                               
    LWSUS001                                Customer-Specific Source Determination in Retail             
    MEETA001                                Define schedule line type (backlog, immed. req., preview)    
    ME590001                                Grouping of requsitions for PO split in ME59                 
    M06E0005                                Role determination for release of purchasing documents       
    M06E0004                                Changes to communication structure for release purch. doc.   
    M06B0005                                Changes to comm. structure for overall release of requisn.   
    M06B0004                                Number range and document number                             
    M06B0003                                Number range and document number                             
    M06B0002                                Changes to comm. structure for purchase requisition release  
    M06B0001                                Role determination for purchase requisition release                                                                               
    Business Add-in                                                                               
    ME_PROCESS_PO                           Enhancements for Processing Enjoy Purchase Order: Intern.    
    ME_PROCESS_COMP                         Processing of Component Default Data at Time of GR: Customer 
    ME_PO_SC_SRV                            BAdI: Service Tab Page for Subcontracting                    
    ME_PO_PRICING_CUST                      Enhancements to Price Determination: Customer                
    ME_PO_PRICING                           Enhancements to Price Determination: Internal                
    ME_INFOREC_SEND                         Capture/Send Purchase Info Record Changes - Internal Use     
    ME_HOLD_PO                              Hold Enjoy Purchase Orders: Activation/Deactivation          
    ME_GUI_PO_CUST                          Customer's Own Screens in Enjoy Purchase Order               
    ME_FIELDSTATUS_STOCK                    FM Account Assignment Behavior for Stock PR/PO               
    ME_DP_CLEARING                          Clearing (Offsetting) of Down Payments and Payment Requests  
    ME_DEFINE_CALCTYPE                      Control of Pricing Type: Additional Fields                   
    ME_COMMTMNT_REQ_RE_C                    Check of Commitment Relevance of Purchase Requisitions       
    ME_COMMTMNT_REQ_RELE                    Check of Commitment Relevance of Purchase Requisitions       
    ME_PROCESS_PO_CUST                      Enhancements for Processing Enjoy Purchase Order: Customer   
    SMOD_MRFLB001                           Control Items for Contract Release Order                     
    MM_EDI_DESADV_IN                        Supplementation of Delivery Interface from Purchase Order    
    MM_DELIVERY_ADDR_SAP                    Determination of Delivery Address                            
    ME_WRF_STD_DNG                          PO Controlling Reminder: Extension to Standard Reminder      
    ME_TRIGGER_ATP                          Triggers New ATP for Changes in EKKO, EKPO, EKPV             
    ME_TRF_RULE_CUST_OFF                    BADI for Deactivation of Field T161V-REVFE                   
    ME_TAX_FROM_ADDRESS                     Tax jurisdiction code taken from address                     
    ME_REQ_POSTED                           Purchase Requisition Posted                                                                               
    ME_REQ_OI_EXT                           Commitment Update in the Case of External Requisitions     
    ME_RELEASE_CREATE                       BAdI: Release Creation for Sched.Agrmts with Release Docu. 
    ME_PURCHDOC_POSTED                      Purchasing Document Posted                                 
    ME_PROCESS_REQ_CUST                     Enhancements for Processing Enjoy PReqs: Customer          
    ME_PROCESS_REQ                          Enhancements for Processing Enjoy PReqs: Internal          
    ME_COMMTMNT_PO_REL_C                    Check for Commitment-Relevance of Purchase Orders          
    ME_CCP_BESWK_AUTH_CH                    BAdI for authorization checks for procuring plant          
    ME_CCP_ACTIVE_CHECK                     BAdI to check whether CCP process is active                
    ME_BSART_DET                            Change document type for automatically generated POs       
    ME_BAPI_PR_CREATE_02                                                                               
    ME_BAPI_PR_CREATE_01                                                                               
    ME_BAPI_PO_CREATE_02                                                                               
    ME_BAPI_PO_CREATE_01                                                                               
    ME_BADI_DISPLAY_DOC                     BAdI for Internal Control of Transaction to be Invoked     
    ME_ACTV_CANCEL_PO                       BAdI for Activating the Cancel Function at Header Level    
    MEGUI_LAYOUT                            BAdI for Enjoy Purchasing GUI                              
    EXTENSION_US_TAXES                      Extended Tax Calculation with Additional Data              
    ARC_MM_EKKO_WRITE                       BAdI: Enhancement of Scope of Archiving (MM_EKKO)          
    ARC_MM_EKKO_CHECK                       BAdI: Enhancement of Archivability Check (MM_EKKO)         
    ME_CCP_DEL_DURATION                     Calc. of Delivery Duration in CCP Process (Not in Standard)
    ME_COMMTMNT_PO_RELEV                    Check for Commitment-Relevance of Purchase Orders          
    ME_COMMITMENT_STO_CH                    BadI for checking if commitments for STOs are active       
    ME_COMMITMENT_RETURN                    Commitment for return item                                 
    ME_CIP_REF_CHAR                         Enables Reference Characteristics in Purchasing            
    ME_CIP_ALLOW_CHANGE                     Configuration in Purchasing: Changeability Control         
    ME_CIN_MM06EFKO                         Copy PO data for use by Country version India              
    ME_CIN_LEINRF2V                         BADI for LEINRF03 excise_invoice_details                   
    ME_CIN_LEINRF2R                         BADI for CIN India - Delivery charges                      
    ME_CHECK_SOURCES                        Additional Checks in Source Determination/Checking         
    ME_CHECK_OA                             Check BAdI for Contracts                                   
    ME_CHECK_ALL_ITEMS                      Run Through Items Again in the Event of Changes in EKKO    
    ME_CHANGE_OUTTAB                        Enrich ALV Output Table in Purchasing                      
    ME_CHANGE_CHARACTER                     Customer-Specific Characteristics for Product Allocation
    Amit.

  • Please any one explain me the Different  pay scales available for following

    hi ,
    Please any one explain me the Different pay scales available for following
    streams.
    sql,pl/sql developer-------------1 year
    sql,pl/sql developer--------------2 years
    forms ,Reports developer--------1 year
    forms ,Reports developer--------2 years
    jdeveloper--------------1 year
    jdeveloper--------------2 years
    oracle apps technical consultant(any module)----------1 year
    oracle apps technical consultant(any module)---------2 years
    oracle functional consultant(any module)-------------1,2 years
    oracle workflow consultant------------------------1-2 years
    Regards,
    zakeer

    You can probably earn even more if you Oracle ACE Member.

  • To find out user exit/ badi for the VT01n transaction triggered in Save

    Hi Friends,
              I have the following requirement and for this appropriate user exit/ badi should be needed which will trigger during saving of the shipment.
    Cass shipment type (VTTK-ADD03) field needs to be required and should be automatically populated upon creation of the shipment document.  The rules for populating the value (SO, ST, PO and RA) are as follows:
    If any of the orders on the shipment are customer order types, then the CASS shipment type should be a SO,
    If all of the orders are STO orders, then the Cass shipment type should be "ST",
    If all of the orders are PO orders, then the Cass shipment type should be "PO" , and
    If all of the orders are customer return orders, then the Cass shipment type should be "RA".
    I have tried with the 3 badi available and 7 to 8 user exit, but it won't work.
    Thanking a lot in advance for giving the solution.
    With Regards,
    Ajit.

    Hi,
    This code will give you all the user-exits.
    Code:
    & Report ZPJA_PM002 (Ver4) &
    & PJA Consultancy Services (www.pjas.com) &
    & This report attmpts to find Enhancements, Program-Exits, BADIs &
    & and Business Transaction Events in a particular program/tcode. &
    & Other search options: &
    & Program: RPR_ABAP_SOURCE_SCAN &
    & FModule: &
    & Text Elements: &
    & P_DEVC Show user-exits from development class &
    & P_LIMIT Limit submit program selection &
    & P_FUNC Show function modules &
    & P_SUBM Show submit programs &
    & S01 Selection data (TCode takes precedence over program name) &
    report zpja_pm002
    no standard page heading
    line-size 221.
    data: tabix like sy-tabix,
    w_linnum type i,
    w_off type i,
    w_index like sy-tabix,
    w_include like trdir-name,
    w_prog like trdir-name,
    w_incl like trdir-name,
    w_area like rs38l-area,
    w_level,
    w_fsel like sy-ucomm, " Determination of screen field
    w_str(50) type c,
    w_funcname like tfdir-funcname.
    constants: c_fmod(40) type c value 'Function modules selected: ',
    c_subm(40) type c value 'Submit programs selected: ',
    c_col1(12) type c value 'Enhanmt Type',
    c_col2(40) type c value 'Enhancement',
    c_col3(30) type c value 'Program/Include',
    c_col4(20) type c value 'Enhancement Name',
    c_col5(40) type c value 'Enhancement Description',
    c_col6(8) type c value 'Project',
    c_col7(1) type c value 'S',
    c_col8(12) type c value 'ChangeName',
    c_col9(10) type c value 'ChangeDate'.
    Work Areas: ABAP Workbench
    data: begin of wa_d010inc.
    data: master type d010inc-master.
    data: end of wa_d010inc.
    data: begin of wa_tfdir.
    data: funcname type tfdir-funcname,
    pname type tfdir-pname,
    include type tfdir-include.
    data: end of wa_tfdir.
    data: begin of wa_tadir.
    data: devclass type tadir-devclass.
    data: end of wa_tadir.
    data: begin of wa_tstc.
    data: pgmna type tstc-pgmna.
    data: end of wa_tstc.
    data: begin of wa_tstcp.
    data: param type tstcp-param.
    data: end of wa_tstcp.
    data: begin of wa_enlfdir.
    data: area type enlfdir-area.
    data: end of wa_enlfdir.
    Work Areas: BADIs
    data: begin of wa_sxs_attr.
    data: exit_name type sxs_attr-exit_name.
    data: end of wa_sxs_attr.
    data: begin of wa_sxs_attrt.
    data: text type sxs_attrt-text.
    data: end of wa_sxs_attrt.
    Work Areas: Enhancements
    data: begin of wa_modsap.
    data: member type modsap-member.
    data: end of wa_modsap.
    data: begin of wa_modsapa.
    data: name type modsapa-name.
    data: end of wa_modsapa.
    data: begin of wa_modsapt.
    data: modtext type modsapt-modtext.
    data: end of wa_modsapt.
    Work Areas: Business Transaction Events
    data: begin of wa_tbe01t.
    data: text1 type tbe01t-text1.
    data: end of wa_tbe01t.
    data: begin of wa_tps01t.
    data: text1 type tps01t-text1.
    data: end of wa_tps01t.
    user-exits
    types: begin of ty_mod,
    member like modact-member,
    name like modact-name,
    status like modattr-status,
    anam like modattr-anam,
    adat like modattr-adat,
    end of ty_mod.
    data: w_mod type ty_mod.
    types: begin of t_userexit,
    type(12) type c,
    pname like trdir-name,
    txt(300),
    level type c,
    modname(30) type c,
    modtext(60) type c,
    modattr type ty_mod,
    end of t_userexit.
    data: i_userexit type standard table of t_userexit with header line.
    Function module developmnet classes
    types: begin of t_devclass,
    clas like trdir-clas,
    end of t_devclass.
    data: i_devclass type standard table of t_devclass with header line.
    types: begin of t_enlfdir,
    area type enlfdir-area,
    end of t_enlfdir.
    data: i_enlfdir type standard table of t_enlfdir with header line.
    Submit programs
    types: begin of t_submit,
    pname like trdir-name,
    level,
    done,
    end of t_submit.
    data: i_submit type standard table of t_submit with header line.
    Source code
    types: begin of t_sourcetab, "#EC * (SLIN lügt!)
    line(200), "#EC * (SLIN lügt!)
    end of t_sourcetab. "#EC * (SLIN lügt!)
    data: sourcetab type standard table of t_sourcetab with header line.
    data c_overflow(30000) type c.
    Description of an ABAP/4 source analysis token
    data: i_stoken type standard table of stokex with header line.
    data wa_stoken like i_stoken.
    Description of an ABAP/4 source analysis statement
    data: i_sstmnt type standard table of sstmnt with header line."#EC NEEDED
    keywords for searching ABAP code
    types: begin of t_keywords,
    word(30),
    end of t_keywords.
    data: keywords type standard table of t_keywords with header line.
    function modules within program
    types: begin of t_fmodule,
    name like rs38l-name,
    pname like trdir-name,
    pname2 like trdir-name,
    level,
    bapi,
    done,
    end of t_fmodule.
    data: i_fmodule type standard table of t_fmodule with header line.
    & Selection Options &
    selection-screen begin of block selscr1 with frame title text-s01.
    parameter: p_pname like trdir-name memory id rid,
    p_tcode like syst-tcode,
    p_limit(4) type n default 100,
    p_devc like rihea-dy_ofn default ' ',
    p_func like rihea-dy_ofn default ' ',
    p_subm like rihea-dy_ofn default ' '.
    selection-screen end of block selscr1.
    & START-OF-SELECTION &
    start-of-selection.
    if p_pname is initial and p_tcode is initial.
    message e008(hrfpm). "Make entry on the selection screen
    stop.
    endif.
    ensure P_LIMIT is not zero.
    if p_limit = 0.
    p_limit = 1.
    endif.
    perform data_select.
    perform get_submit_data.
    perform get_fm_data.
    perform get_additional_data.
    perform data_display.
    & Form DATA_SELECT &
    form data_select.
    data selection message to sap gui
    call function 'SAPGUI_PROGRESS_INDICATOR'
    destination 'SAPGUI'
    keeping logical unit of work
    exporting
    text = 'Get programs/includes' "#EC NOTEXT
    exceptions
    system_failure
    communication_failure
    . "#EC *
    determine search words
    keywords-word = 'CALL'.
    append keywords.
    keywords-word = 'FORM'.
    append keywords.
    keywords-word = 'PERFORM'.
    append keywords.
    keywords-word = 'SUBMIT'.
    append keywords.
    keywords-word = 'INCLUDE'.
    append keywords.
    if not p_tcode is initial.
    get program name from TCode
    select single pgmna from tstc into wa_tstc-pgmna
    where tcode eq p_tcode.
    if not wa_tstc-pgmna is initial.
    p_pname = wa_tstc-pgmna.
    TCode does not include program name, but does have refereve TCode
    else.
    select single param from tstcp into wa_tstcp-param
    where tcode eq p_tcode.
    if sy-subrc = 0.
    check wa_tstcp-param(1) = '/'.
    check wa_tstcp-param+1(1) = '*'.
    if wa_tstcp-param ca ' '.
    endif.
    w_off = sy-fdpos + 1.
    subtract 2 from sy-fdpos.
    if sy-fdpos gt 0.
    p_tcode = wa_tstcp-param+2(sy-fdpos).
    endif.
    select single pgmna from tstc into wa_tstc-pgmna
    where tcode eq p_tcode.
    p_pname = wa_tstc-pgmna.
    if sy-subrc <> 0.
    message e110(/saptrx/asc) with 'No program found for: ' p_tcode."#EC NOTEXT
    endif.
    else.
    message e110(/saptrx/asc) with 'No program found for: ' p_tcode."#EC NOTEXT
    endif.
    endif.
    endif.
    Call customer-function aus Program coding
    read report p_pname into sourcetab.
    if sy-subrc > 0.
    message e017(enhancement) with p_pname raising no_program."#EC *
    endif.
    scan abap-source sourcetab tokens into i_stoken
    statements into i_sstmnt
    keywords from keywords
    overflow into c_overflow
    with includes.
    if sy-subrc > 0. "keine/syntakt. falsche Ablauflog./Fehler im Skanner
    message e130(enhancement) raising syntax_error. "#EC *
    endif.
    check I_STOKEN for entries
    clear w_linnum.
    describe table i_stoken lines w_linnum.
    if w_linnum gt 0.
    w_level = '0'.
    w_prog = ''.
    w_incl = ''.
    perform data_search tables i_stoken using w_level w_prog w_incl.
    endif.
    endform. "DATA_SELECT
    & Form GET_FM_DATA &
    form get_fm_data.
    data selection message to sap gui
    call function 'SAPGUI_PROGRESS_INDICATOR'
    destination 'SAPGUI'
    keeping logical unit of work
    exporting
    text = 'Get function module data' "#EC NOTEXT
    exceptions
    system_failure
    communication_failure. "#EC *
    Function module data
    sort i_fmodule by name.
    delete adjacent duplicates from i_fmodule comparing name.
    loop at i_fmodule where done ne 'X'.
    clear: i_stoken, i_sstmnt, sourcetab, wa_tfdir, w_include .
    refresh: i_stoken, i_sstmnt, sourcetab.
    store function groups
    select single area from enlfdir into wa_enlfdir-area
    where funcname = i_fmodule-name.
    i_enlfdir-area = wa_enlfdir-area.
    append i_enlfdir.
    Store development classes
    if not wa_enlfdir-area is initial.
    select single devclass into wa_tadir-devclass
    from tadir where pgmid = 'R3TR'
    and object = 'FUGR'
    and obj_name = wa_enlfdir-area.
    check not wa_tadir-devclass is initial.
    move wa_tadir-devclass to i_devclass-clas.
    append i_devclass.
    endif.
    clear wa_tfdir.
    select single funcname pname include from tfdir into wa_tfdir
    where funcname = i_fmodule-name.
    check sy-subrc = 0.
    call function 'FUNCTION_INCLUDE_SPLIT'
    exporting
    program = wa_tfdir-pname
    importing
    group = w_area.
    concatenate 'L' w_area 'U' wa_tfdir-include into w_include.
    i_fmodule-pname = w_include.
    i_fmodule-pname2 = wa_tfdir-pname.
    modify i_fmodule.
    read report i_fmodule-pname into sourcetab.
    if sy-subrc = 0.
    scan abap-source sourcetab tokens into i_stoken
    statements into i_sstmnt
    keywords from keywords
    with includes.
    if sy-subrc > 0.
    message e130(enhancement) raising syntax_error.
    endif.
    check i_stoken for entries
    clear w_linnum.
    describe table i_stoken lines w_linnum.
    if w_linnum gt 0.
    w_level = '1'.
    w_prog = i_fmodule-pname2.
    w_incl = i_fmodule-pname.
    perform data_search tables i_stoken using w_level w_prog w_incl.
    endif.
    endif.
    endloop.
    sort funtion groups
    sort i_devclass.
    delete adjacent duplicates from i_devclass.
    sort i_enlfdir.
    delete adjacent duplicates from i_enlfdir.
    endform. "GET_FM_DATA
    & Form GET_SUBMIT_DATA &
    form get_submit_data.
    data selection message to sap gui
    call function 'SAPGUI_PROGRESS_INDICATOR'
    destination 'SAPGUI'
    keeping logical unit of work
    exporting
    text = 'Get submit data' "#EC NOTEXT
    exceptions
    system_failure
    communication_failure
    . "#EC *
    sort i_submit.
    delete adjacent duplicates from i_submit comparing pname.
    w_level = '0'.
    loop at i_submit where done ne 'X'.
    check i_submit-pname ne p_pname. " ensure not the same as origianl program
    clear: i_stoken, i_sstmnt, sourcetab.
    refresh: i_stoken, i_sstmnt, sourcetab.
    read report i_submit-pname into sourcetab.
    if sy-subrc <> 0.
    delete i_submit.
    continue.
    else.
    scan abap-source sourcetab tokens into i_stoken
    statements into i_sstmnt
    keywords from keywords
    with includes.
    if sy-subrc > 0.
    continue.
    endif.
    check i_stoken for entries
    clear w_linnum.
    describe table i_stoken lines w_linnum.
    if w_linnum gt 0.
    w_prog = i_submit-pname.
    w_incl = ''.
    perform data_search tables i_stoken using w_level w_prog w_incl.
    endif.
    endif.
    restrict number of submit program selected for processing
    describe table i_submit lines w_linnum.
    if w_linnum ge p_limit.
    w_level = '1'.
    endif.
    i_submit-done = 'X'.
    modify i_submit.
    endloop.
    sort i_submit.
    delete adjacent duplicates from i_submit comparing pname.
    endform. "GET_SUBMIT_DATA
    & Form DATA_SEARCH &
    form data_search tables p_stoken structure stoken
    using p_level p_prog p_incl.
    loop at p_stoken.
    clear i_userexit.
    tabix = sy-tabix + 1.
    i_userexit-level = p_level.
    if i_userexit-level = '0'.
    if p_incl is initial.
    i_userexit-pname = p_pname.
    else.
    concatenate p_pname '/' p_incl into i_userexit-pname.
    endif.
    else.
    if p_incl is initial.
    i_userexit-pname = p_prog.
    else.
    concatenate p_prog '/' p_incl into i_userexit-pname.
    endif.
    endif.
    Include
    if p_stoken-str eq 'INCLUDE'.
    check p_level eq '0'. " do not perform for function modules (2nd pass)
    w_index = sy-tabix + 1.
    read table p_stoken index w_index into wa_stoken.
    check not wa_stoken-str cs 'STRUCTURE'.
    check not wa_stoken-str cs 'SYMBOL'.
    read table i_submit with key pname = wa_stoken-str.
    if sy-subrc <> 0.
    i_submit-pname = wa_stoken-str.
    i_submit-level = p_level.
    append i_submit.
    endif.
    endif.
    Enhancements
    if p_stoken-str eq 'CUSTOMER-FUNCTION'.
    clear w_funcname.
    read table p_stoken index tabix.
    translate p_stoken-str using ''' '.
    condense p_stoken-str.
    if p_prog is initial.
    concatenate 'EXIT' p_pname p_stoken-str into w_funcname
    separated by '_'.
    else.
    concatenate 'EXIT' p_prog p_stoken-str into w_funcname
    separated by '_'.
    endif.
    select single member from modsap into wa_modsap-member
    where member = w_funcname.
    if sy-subrc = 0. " check for valid enhancement
    i_userexit-type = 'Enhancement'.
    i_userexit-txt = w_funcname.
    append i_userexit.
    else.
    clear wa_d010inc.
    select single master into wa_d010inc-master
    from d010inc
    where include = p_prog.
    concatenate 'EXIT' wa_d010inc-master p_stoken-str into w_funcname
    separated by '_'.
    i_userexit-type = 'Enhancement'.
    i_userexit-txt = w_funcname.
    endif.
    endif.
    BADIs
    if p_stoken-str cs 'cl_exithandler='.
    w_index = sy-tabix + 4.
    read table p_stoken index w_index into wa_stoken.
    i_userexit-txt = wa_stoken-str.
    replace all occurrences of '''' in i_userexit-txt with space.
    i_userexit-type = 'BADI'.
    append i_userexit.
    endif.
    Business transaction events
    if p_stoken-str cs 'OPEN_FI_PERFORM'.
    i_userexit-type = 'BusTrEvent'.
    i_userexit-txt = p_stoken-str.
    replace all occurrences of '''' in i_userexit-txt with space.
    i_userexit-modname = i_userexit-txt+16(8).
    case i_userexit-txt+25(1).
    when 'E'.
    clear wa_tbe01t.
    select single text1 into wa_tbe01t-text1 from tbe01t
    where event = i_userexit-txt+16(8)
    and spras = sy-langu.
    if wa_tbe01t-text1 is initial.
    i_userexit-modtext = ''. "#EC NOTEXT
    else.
    i_userexit-modtext = wa_tbe01t-text1.
    endif.
    i_userexit-modname+8 = '/P&S'. "#EC NOTEXT
    when 'P'.
    clear wa_tps01t.
    select single text1 into wa_tps01t-text1 from tps01t
    where procs = i_userexit-txt+16(8)
    and spras = sy-langu.
    i_userexit-modtext = wa_tps01t-text1.
    i_userexit-modname+8 = '/Process'.
    endcase.
    append i_userexit.
    endif.
    Program exits
    if p_stoken-str cs 'USEREXIT_'.
    i_userexit-type = 'Program Exit'.
    i_userexit-txt = p_stoken-str.
    replace all occurrences of '''' in i_userexit-txt with space.
    append i_userexit.
    endif.
    Submit programs
    if p_stoken-str cs 'SUBMIT'.
    check p_level eq '0'. " do not perform for function modules (2nd pass)
    check not p_stoken-str cs '_'. " ensure not SUBMIT_XXX
    w_index = sy-tabix + 1.
    read table p_stoken index w_index into wa_stoken.
    check not wa_stoken-str cs '_'. " ensure not SUBMIT_XXX
    replace all occurrences of '''' in wa_stoken-str with space.
    read table i_submit with key pname = wa_stoken-str.
    if sy-subrc <> 0.
    i_submit-pname = wa_stoken-str.
    i_submit-level = p_level.
    append i_submit.
    endif.
    endif.
    Perform routines (which reference external programs)
    if p_stoken-str cs 'PERFORM'.
    check p_level eq '0'. " do not perform for function modules (2nd pass)
    w_index = sy-tabix + 1.
    read table p_stoken index w_index into wa_stoken.
    if not wa_stoken-ovfl is initial.
    w_off = wa_stoken-off1 + 10.
    w_str = c_overflow+w_off(30).
    find ')' in w_str match offset w_off.
    w_off = w_off + 1.
    wa_stoken-str = w_str(w_off).
    endif.
    check wa_stoken-str cs '('.
    w_off = 0.
    while sy-subrc = 0.
    if wa_stoken-str+w_off(1) eq '('.
    replace section offset w_off length 1 of wa_stoken-str with ''.
    replace all occurrences of ')' in wa_stoken-str with space.
    read table i_submit with key pname = wa_stoken-str.
    if sy-subrc <> 0.
    i_submit-pname = wa_stoken-str.
    append i_submit.
    endif.
    exit.
    else.
    replace section offset w_off length 1 of wa_stoken-str with ''.
    shift wa_stoken-str left deleting leading space.
    endif.
    endwhile.
    endif.
    Function modules
    if p_stoken-str cs 'FUNCTION'.
    clear i_fmodule.
    check p_level eq '0'. " do not perform for function modules (2nd pass)
    w_index = sy-tabix + 1.
    read table p_stoken index w_index into wa_stoken.
    if wa_stoken-str cs 'WF_'.
    if wa_stoken-str cs 'IDOC'.
    break-point.
    endif.
    if wa_stoken-str cs 'BAPI'.
    i_fmodule-bapi = 'X'.
    endif.
    replace first occurrence of '''' in wa_stoken-str with space.
    replace first occurrence of '''' in wa_stoken-str with space.
    if sy-subrc = 4. " didn't find 2nd quote (ie name truncated)
    clear wa_tfdir.
    concatenate wa_stoken-str '%' into wa_stoken-str.
    select single funcname into wa_tfdir-funcname from tfdir
    where funcname like wa_stoken-str.
    if sy-subrc = 0.
    i_fmodule-name = wa_tfdir-funcname.
    else.
    continue.
    endif.
    else.
    i_fmodule-name = wa_stoken-str.
    endif.
    read table i_fmodule with key name = i_fmodule-name.
    if sy-subrc <> 0.
    i_fmodule-level = p_level.
    append i_fmodule.
    endif.
    endif.
    endloop.
    endform. "DATA_SEARCH
    & Form GET_ADDITIONAL_DATA &
    form get_additional_data.
    data selection message to sap gui
    call function 'SAPGUI_PROGRESS_INDICATOR'
    destination 'SAPGUI'
    keeping logical unit of work
    exporting
    text = 'Get additional data' "#EC NOTEXT
    exceptions
    system_failure
    communication_failure
    . "#EC *
    loop at i_userexit.
    Enhancement data
    if i_userexit-type cs 'Enh'.
    clear: wa_modsapa.
    select single name into wa_modsapa-name from modsap
    where member = i_userexit-txt.
    check sy-subrc = 0.
    i_userexit-modname = wa_modsapa-name.
    clear wa_modsapt.
    select single modtext into wa_modsapt-modtext from modsapt
    where name = wa_modsapa-name
    and sprsl = sy-langu.
    i_userexit-modtext = wa_modsapt-modtext.
    MOH - enhancement to get the project name
    clear w_mod.
    select single modactmember modactname modattr~status
    modattranam modattradat
    into w_mod
    from modact
    inner join modattr
    on modattrname = modactname
    where modact~member = wa_modsapa-name
    and modact~typ = space.
    i_userexit-modattr = w_mod.
    MOH - eoe
    endif.
    BADI data
    if i_userexit-type eq 'BADI'.
    clear wa_sxs_attr.
    select single exit_name into wa_sxs_attr-exit_name from sxs_attr
    where exit_name = i_userexit-txt.
    if sy-subrc = 0.
    i_userexit-modname = i_userexit-txt.
    else.
    i_userexit-modname = 'Dynamic call'. "#EC NOTEXT
    endif.
    clear wa_sxs_attrt.
    select single text into wa_sxs_attrt-text from sxs_attrt
    where exit_name = wa_sxs_attr-exit_name
    and sprsl = sy-langu.
    i_userexit-modtext = wa_sxs_attrt-text.
    endif.
    modify i_userexit.
    endloop.
    get enhancements via program package
    clear wa_tadir.
    select single devclass into wa_tadir-devclass from tadir
    where pgmid = 'R3TR'
    and object = 'PROG'
    and obj_name = p_pname.
    if sy-subrc = 0.
    clear: wa_modsapa, wa_modsapt.
    select name from modsapa into wa_modsapa-name
    where devclass = wa_tadir-devclass.
    select single modtext from modsapt into wa_modsapt-modtext
    where name = wa_modsapa-name
    and sprsl = sy-langu.
    read table i_userexit with key modname = wa_modsapa-name.
    if sy-subrc <> 0.
    i_userexit-modtext = wa_modsapt-modtext.
    i_userexit-type = 'Enhancement'. "#EC NOTEXT
    i_userexit-modname = wa_modsapa-name.
    i_userexit-txt = 'Determined from program DevClass'."#EC NOTEXT
    i_userexit-pname = 'Unknown'. "#EC NOTEXT
    append i_userexit.
    endif.
    endselect.
    endif.
    Get IDOCs
    loop at i_devclass.
    endloop.
    endform. "GET_ADDITIONAL_DATA
    & Form DATA_DISPLAY &
    form data_display.
    data selection message to sap gui
    call function 'SAPGUI_PROGRESS_INDICATOR'
    destination 'SAPGUI'
    keeping logical unit of work
    exporting
    text = 'Prepare screen for display' "#EC NOTEXT
    exceptions
    system_failure
    communication_failure
    . "#EC *
    sort i_userexit by type txt modname.
    delete adjacent duplicates from i_userexit comparing txt modname.
    format headings
    write: 'Enhancements from main program'. "#EC NOTEXT
    write: /.
    uline.
    format color col_heading.
    write: / sy-vline,
    (12) c_col1, "Enhanmt Type
    sy-vline,
    (40) c_col2, "Enhancement
    sy-vline,
    (30) c_col3, "Program/Include
    sy-vline,
    (20) c_col4, "Enhancement name
    sy-vline,
    (60) c_col5, "Enhancement description
    sy-vline,
    (8) c_col6, "Project
    sy-vline,
    (1) c_col7, "S
    sy-vline,
    (12) c_col8, "ChangeName
    sy-vline,
    (10) c_col9, "ChangeDate
    sy-vline.
    format reset.
    uline.
    format lines
    loop at i_userexit.
    set line colour
    case i_userexit-type.
    when 'Enhancement'.
    format color 3 intensified off.
    when 'BADI'.
    format color 4 intensified off.
    when 'BusTrEvent'.
    format color 5 intensified off.
    when 'Program Exit'.
    format color 6 intensified off.
    when others.
    format reset.
    endcase.
    write: / sy-vline,
    i_userexit-type,
    sy-vline,
    i_userexit-txt(40),
    sy-vline,
    i_userexit-pname(30),
    sy-vline,
    i_userexit-modname(20),
    sy-vline,
    i_userexit-modtext(60),
    sy-vline,
    i_userexit-modattr-name,
    sy-vline,
    i_userexit-modattr-status,
    sy-vline,
    i_userexit-modattr-anam,
    sy-vline,
    i_userexit-modattr-adat no-zero,
    sy-vline.
    hide: i_userexit-type,
    i_userexit-txt,
    i_userexit-pname,
    i_userexit-modname,
    i_userexit-modtext.
    endloop.
    format reset.
    uline.
    user-exits from development class of function modules
    if p_devc = 'X'.
    write: /.
    write: / 'User-exits from function module development class'."#EC NOTEXT
    write: 157''.
    uline (90).
    write: 157''.
    loop at i_devclass.
    clear wa_modsapa.
    select name from modsapa into wa_modsapa
    where devclass = i_devclass-clas.
    select single name modtext into corresponding fields of wa_modsapt
    from modsapt
    where name = wa_modsapa-name
    and sprsl = sy-langu.
    format color 3 intensified off.
    write: / sy-vline,
    (12) 'Enhancement',
    sy-vline,
    wa_modsapa-name,
    sy-vline,
    wa_modsapt-modtext,
    sy-vline.
    endselect.
    endloop.
    uline (90).
    format reset.
    endif.
    describe table i_fmodule lines w_linnum.
    write: / c_fmod , at 35 w_linnum. "#EC NOTEXT
    write: 157''.
    if p_func = 'X'.
    display fuction modules used in program
    uline (38).
    write: 157''.
    loop at i_fmodule.
    write: sy-vline,
    i_fmodule-name,
    sy-vline,
    i_fmodule-bapi,
    sy-vline.
    write: 157''.
    endloop.
    uline (38).
    write: 157''.
    endif.
    describe table i_submit lines w_linnum.
    write: / c_subm , at 35 w_linnum. "#EC NOTEXT
    write: 157''.
    if p_subm = 'X'.
    display submit programs used in program
    uline (44).
    write: 157''.
    loop at i_submit.
    write: sy-vline,
    i_submit-pname,
    sy-vline.
    write: 157''.
    endloop.
    uline (44).
    endif.
    issue message with number of user-exits displayed
    describe table i_userexit lines w_linnum.
    message s697(56) with w_linnum.
    endform. "DATA_DISPLAY
    & User Selection Processing &
    at line-selection.
    get cursor field w_fsel.
    case w_fsel.
    when 'I_USEREXIT-MODNAME'.
    case i_userexit-type.
    when 'Enhancement'.
    set parameter id 'MON' field i_userexit-modname.
    call transaction 'SMOD' and skip first screen.
    when 'BADI'.
    check i_userexit-modname ne 'Dynamic call'.
    set parameter id 'EXN' field i_userexit-modname.
    call transaction 'SE18' and skip first screen.
    when 'BusTrEvent'.
    submit rfopfi00 with attr_typey_selm = 'A'
    with event = i_userexit-modname(8)
    via selection-screen
    and return.
    when others.
    endcase.
    when 'I_USEREXIT-PNAME'.
    check i_userexit-modname ne 'Unknown'.
    w_off = 0.
    find '/' in i_userexit-pname match offset w_off.
    if w_off = 0.
    set parameter id 'RID' field i_userexit-pname.
    call transaction 'SE38' and skip first screen.
    else.
    w_off = w_off + 1.
    w_prog = i_userexit-pname+w_off.
    set parameter id 'RID' field w_prog.
    call transaction 'SE38' and skip first screen.
    endif.
    when others.
    endcase.
    Feel free to revert back.
    --Ragu

  • BADI for Claims search in trade promotion management

    Hi Experts,
    I am enhancing the Claims search in trade promotion management with a custom field. I added a custom field in the search screen of claims.
    I want to filter the records based on that custom field. The component is BT311S_CSR and the search query is BTQCSR.
    Is there any BADI for claims so that I can filter the records.
    I tried to put a breakpoint in the badi CRM_BADI_RF_Q1O_SEARCH and searched but it is not stopping.
    Does this badi works for claims? Or first do i have to create a implementation with the filter object as BTQCSR then try to check whether it will stop in the badi while searching the claims.
    Please suggest me.
    Regards,
    Dinesh.

    Hi Dinesh,
    Now this becomes tricky. Since your requirement is very specific there is no way that standard sap can help. You may end up in enhancing n number of classes.
    I can propose a solution though Please put of in front of your business/ functional team and then go ahead..
    Now we will change our approach...Please follow below steps:
    1. Add a altogether new field to your claim transaction using AET for sales office (description as 'Sales Office').
    2. Make this field search and result relevant.
    3. Whenever a sold to party is selected for claim transaction, based on the sold to party you would set value of this field.
    4. Since your field is search relevant it will automatically appear in your search query (control this in view configuration.)
    5. You may or may not display this field to end user in claim detail screen, You can control this by configuration.
    6. Depending on your requirement you can show/hide standard sales office field in search query.
    If you follow this approach then it will serve the purpose.
    Trust this solves your issue. Give points if it helps.
    Regards,
    Bhushan

  • User exit or badi for item text in mir7 transaction

    Hi Gurus,
    Please provide me suitable user exit or enhancement or badi for this requirement.
    client enter TEXT fied data in MIGO transaction for material document and purchase order in where tab.
    in MIR7 i entered reference number as material document number and purchase order number after triggering enter button it gives the list of items but IT IS NOT GIVE THE ITEM TEXT DATA which we entered in MIGO transaction.
    Please provide me suitable user exit or enhancement or BADI for this.
    Thanks A lot in Advance.
    With Regards,
    Radhakrishna.

    Hi RadhaKrishna,
    You can find the BADI by yourself just follow the below any methods you will get the appropriate BADI name..
    Method 1:
    Go to Tranaction: SE24.
    open class CL_EXITHANDLER
    Open the method " GetInstance"
    Put Break point in the statement
    call method cl_exithandler=>get_class_name_by_interface
    Now execute the Transaction which you need teh BDC it will automatically stops at the the method. In debugging mode double click on the variable: " exit_name" It will return the BADI Name.
    Method 2:
    find the Package name and go to the tranaction SE84.
    Enter the package name
    inside the left navaigaiton panel there is one option " Enhancements" click on this enhancement and then enter the package name and execute it. you will get hte number of enhancement.
    for your reference I am sending you the list of BADI present in MIRO transaction.
    ARC_MM_MATBEL_CHECK --------Check AddOn-Specific Criteria for MM_MATBEL
    ARC_MM_MATBEL_WRITE ---------- Archive AddOn-Specific Data for MM_MATBEL
    MB_CHECK_LINE_BADI  -------------- BAdI: Check Line Before Copying to the Blocking Tables
    MB_CIN_LMBMBU04     --------------- posting of gr
    MB_CIN_MM07MFB7     ---------------- BAdI for India Version exit in include MM07MFB7
    MB_CIN_MM07MFB7_QTY  ------------Proposal of quantity from Excise invoice in GR
    MB_DOCUMENT_BADI     --------------BAdIs when Creating a Material Document
    MB_DOCUMENT_UPDATE   -----------BADI when updating material document: MSEG and MKPF
    MB_MIGO_BADI        --------------------- BAdI in MIGO for External Detail Subscreens
    MB_MIGO_ITEM_BADI    ----------------BAdI in MIGO for Changing Item Data
    MB_RESERVATION_BADI  --------------MB21/MB22: Check and Complete Dialog Data
    Thanks,
    Chidanand

  • Need the answers for following questions?

    can anybody  say the answers  for following questions?
    Data Dictionary :
    1) Diff between Append Structure and Include Structure ?
    2) What is Table Type ?
    3) How the table entries are going to store, Is it Case sensitive, or in Capital Letter or in Small letter or as we give ?
    4) How many indexes we can give for a table ?
    Reports :
    1) How can we enable the verticle scroll in a table control that comes in 2 nd screen of ME 21 T.code ?
    2) What is BSEG table  ?
    3) How can you create Table Control ?
    4) Diff between At Selection Screen on Field & At selection Screen Output ?
    5) What are things we need to take care before using the Read Statement ?Example of Read Statement with Index ?
    6) How many ways are there to select a Particular Data from the table ?
    7) I want fetch the 10 th row and 5 th column from the list, How will you do it ?
    BDC :
      1) If we write Transaction Statement 2 times for a application What happens ?
      2) If for Example , I had to upload 10 items for one header. The 5 items are uploaded, but the Sixth record is not uploaded ? How can you upload that data from 6 th Record ?
    3) Tell me the Detail Steps in uploading the Data from Application Server ?
    4) One Scenario, i am having 10 records in a file & when i am uploading the data everytime the 1st record is overlapping with already existing data, How you are going to handle this  ?
    5) What is meant by MASK in Upload function ?
    6) what are the parameters you will pass withine BDC_INSERT ?
    SAP- Script :
    1) I want to display quantity & Price based on Particular Language and Country in SAP Script , How we can do that ? One particular statement is there for that, What is that ?
    2) The Logo Upaloaded got Inverted , then How you are going to handle this situation ?
    3) The logo uploaded using RSTXLDMC programe, Where it is going to store ?
    4) can we see Tiff files in SE 78 T.code ? What are the file extension of Logo we can upload to SAP
    5) How to check the changes made in the standard layout set , other than using Utilities--- -> Print preveiw ?
    User Exit :
    1) Suppose i have used a fuction Module Exit, But is in Inactive status , What is The error it is going to give during runtime ?
    2) Suppose i want to delete the Function Module exit from one project and i want to use it for another project ? what are steps you follow to delete it  ?
    BADI
    1) Is that all the Predefined BADI's present  in SAP are reusable ?

    Data Dictionary :
    1) Diff between Append Structure and Include Structure ?
    Append Structure - This structure can be used only one time to append. Append structures are useful for standard tables.
    Include Structure - This structure can be used in multiple tables. Include structures are useful for our own custom tables.
    2) What is Table Type ?
    A table type is a type that describes the structure and functions of an internal table in the ABAP program. In simple words table table will act as an internal table without header line.
    3) How the table entries are going to store, Is it Case sensitive, or in Capital Letter or in Small letter or as we give ?
    Yes it is case sensitive.
    Use translate statement to convert Upper case or Lower case.
    4) How many indexes we can give for a table ?
    1 primary index automatically created and we can create up to 15 secondary indexes.
    Reports :
    1) How can we enable the verticle scroll in a table control that comes in 2 nd screen of ME 21 T.code ?
    set <tablecontrol>-lines = 0.this code you have to put in one suitable userexit.then it applies to standard tcode ME21N.
    2) What is BSEG table ?
    BSEG table is a FI table for Accounting Document details.
    3) How can you create Table Control ?
    controls : tabcont type tableview using screen '3000'.
    PROCESS AFTER INPUT
    MODULE mod AT EXIT-COMMAND.
    LOOP AT itab_table or LOOP "depending on whether we are using AT int_table
    MODULE modify_int_table.
    ENDLOOP.
    MODULE user_command.
    4) Diff between At Selection Screen on Field & At selection Screen Output ?
    AT-SELECTION SCREEN ON FIELD
    is to validate a particular selection screen field.
    if any error comes it will open only this field and other fields will be disabled.
    AT-SELECTION SCREEN OUTPUT
    is used to do dynamic screen modifications on the screen.
    5) What are things we need to take care before using the Read Statement ?Example of Read Statement with Index ?
    do sort before read data from table.
    6) How many ways are there to select a Particular Data from the table ?
    using views or directly u can select data.
    7) I want fetch the 10 th row and 5 th column from the list, How will you do it ?
    sorry...
    BDC :
    1) If we write Transaction Statement 2 times for a application What happens ?
    i think u got message like already that transaction was called like this..
    2) If for Example , I had to upload 10 items for one header. The 5 items are uploaded, but the Sixth record is not uploaded ? How can you upload that data from 6 th Record ?
    within the loop u have to write the code for the 6th record and then process again.
    3) Tell me the Detail Steps in uploading the Data from Application Server ?
    use DATASETS for uploading data from application server.
    4) One Scenario, i am having 10 records in a file & when i am uploading the data everytime the 1st record is overlapping with already existing data, How you are going to handle this ?
    write CLEAR statement before endloop.
    5) What is meant by MASK in Upload function ?
    sorry...
    6) what are the parameters you will pass withine BDC_INSERT ?
    TCODE-import parameter
    DYNPROTAB-tables parameter
    SAP- Script :
    1) I want to display quantity & Price based on Particular Language and Country in SAP Script , How we can do that ?
    One particular statement is there for that, What is that ?
    Actually u will get quantity and price based on language using SE63 transaction.it is used for language conversion.
    2) The Logo Upaloaded got Inverted , then How you are going to handle this situation ?
    just check the printer settings again.
    3) The logo uploaded using RSTXLDMC programe, Where it is going to store ?
    STXBITMAPS is the table which stores all the logos.
    4) can we see Tiff files in SE 78 T.code ? What are the file extension of Logo we can upload to SAP
    No we cannot upload .tiff files using SE78 ..here u can upload only bmp and jpg logos...if u want to upload .tiff files go to standard program RSTXLDMC..by using this you can do.
    5) How to check the changes made in the standard layout set , other than using Utilities--- -> Print preveiw ?
    by executing the formprogram.
    User Exit :
    1) Suppose i have used a fuction Module Exit, But is in Inactive status , What is The error it is going to give during runtime ?
    u didn't get any error message but that functionality cannot applied to it..thats it.
    2) Suppose i want to delete the Function Module exit from one project and i want to use it for another project ? what are steps you follow to delete it ?
    first go to that perticular project..within this u have one enhancement..just click on that one...and go to that function module which u are assigned..remove the code and activate..delete enhancement and activate that project..now u can use that enhancement in other projects.
    BADI
    1) Is that all the Predefined BADI's present in SAP are reusable ?
    here reusable means u can do multiple implementations for all BADI's.
    Rewards if it helpful.
    Dara.

  • User Exit or Enhancement or BADI for CA03 & MM03

    Hi Experts,
    I had a scenario like validate the Material No for CA03 & MM03. When ever we give 'material no' in the MM03 or CA03 ans press
    enter I need to validate that material no. I don't see any proper user exit or badi for these tcodes to validate material no.
    I used this  enhancement  MGA00003 - EXIT_SAPLOMCV_001 - INCLUDE ZXMG0U08 my own logic which is
    calling a RFC function module here. It send values to this FM in turn this FM is sending the values to (third party - thru WSDL) Proxy . Here I am having the problem. When we give material no in MM03 or CA03 and press enter this enhancement got
    triggered and it is going into dump. in my custom RFC FM we have 3 methods in WSDL I.e. Connect,Query,Close. When ever
    it comes to the statement 'Connect' this dump is triggered. I am unable to find the exact problem because in the debugging mode
    it is not showing constantly in one place...if I run for first time it is showing at one point , for second time if I run it is showing
    at some other place. I can't predict correctly like where exactly we r getting dump.
    Can any one please let me know any other user exit or BADI or enhancement points... exist to vlaidate Material No.
    Can any one please let me know the procedure how to do if enhancement points exists?
    Error :  RPERF_ILLEGAL_STATEMENT
    Short text
        Statement "RFC-SYSTEM RFC_ID id RFC_VALUE value" is not allowed in this form.
    Error analysis
        There is probably an error in the program
        "SAPLSHTTP".
        The program was probably called in a conversion exit
        or in a field exit. These are implemented by
        function modules called CONVERSION_EXIT_xxxxx_INPUT/OUTPUT or
        USER_EXIT_xxxxx_INPUT.
        Conversion exits are triggered during screen field transports or
        WRITE statements, field exits during field transports from the
        screen to the ABAP/4 program.
        In this connection, the following ABAP/4 statements are not allowed:
        -  CALL SCREEN
        -  CALL DIALOG
        -  CALL TRANSACTION
        -  SUBMIT
        -  MESSAGE W... and MESSAGE I...
        -  COMMIT WORK, ROLLBACK WORK
    Thanks in Advance,
    Yamini.

    Hi,
    How did you resolve that issue?

  • Exit / badi for MIRO

    Hi SDN's,
    I need to insert a new Z field in the Basic Data Tab of the MIRO transaction.
    Can any body tell me how can i do that? Is there any exit or BADI relevant to that?
    Plz its very urgent.
    Regards
    Pratyu

    Hi Pratya,
    If u want user exit for this t.code:
    LMR1M001  User exits in Logistics Invoice Verification
    LMR1M002  Account grouping for GR/IR account maintenance
    LMR1M003  Number assignment in Logistics Invoice Verification
    LMR1M004  Logistics Invoice Verification: item text for follow-on
    LMR1M005  Logistics Inv. Verification: Release Parked Doc. for Po
    LMR1M006  Logistics Invoice Verification: Process XML Invoice
    MRMH0001  Logistics Invoice Verification: ERS procedure
    MRMH0002  Logistics Invoice Verification: EDI inbound
    MRMH0003  Logistics Invoice Verification: Revaluation/RAP
    MRMN0001  Message output and creation: Logistics Invoice Verifica
    These are the available.
    Rewords some points.
    Rgds,
    P.Nag

  • BADI for transfering data from one modal to another modal within single appset

    Hallo Experts,
    My Business Requirement is Transfer of data from one modal to another in same environment and did this taking reference from below document.(How to custom badi for replicating destination app)
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/e04b5d24-085f-2c10-d5a2-c1153a9f9346?QuickLink=index&…
    Document contains TR for implementing BADI, but this document supports bpc version 7.0 and we are using is bpc 10.0.
    So i make all compatible changes in BADI implementation and activate it. Now i am testing using transaction UJKT using following script.
    and the result is records successfully written back to application MIS, but when i check data is not moved to target application MIS.
    I am facing stuck situation in my project work. Please Suggest. Hope for positive reply.
    Script:
    *XDIM_MEMBERSET WM_ACCOUNT = WM_041,
    *XDIM_MEMBERSET WM_UOM_02 = UOM_004
    *XDIM_MEMBERSET WM_UD_2 = WM_07
    *XDIM_MEMBERSET WD_EXT_MAT_GRP =CHALK-PH-I,CHALK-PH-II,CHAVN-PH-I,CHAVN-PH-II,NASHIK-WM,RAJASTHAN-WM,TAMILNADU-WM
    *XDIM_MEMBERSET CATEGORY= Plan
    *XDIM_MEMBERSET AUDITTRAIL=Input
    *XDIM_MEMBERSET P_ENTITY = SIL
    *XDIM_MEMBERSET RPTCURRENCY = LC
    *START_BADI DAPP
       DESTINATION_APP ="MIS"
       RENAME_DIM ="WD_EXT_MAT_GRP= PRODUCT"
       ADD_DIM ="PLANT=NO_PLANT","MIS_ACCOUNTS=CAIN0058040008","COST_CENTER=NO_COST_CENTER","FLOW=Opening","UOM=AMT","CUSTOMER_SALES_2=NO_CUSTOMER","CATEGORY=Plan","AUDITTRAIL=Input"             
       DEBUG = ON
       WRITE = OFF
       QUERY = ON
    *END_BADI
    Please find attached result.
    Regards,
    Dipesh Mudras.

    Hello,
    Here is the manual to copy data between apps (it works with BPC NW75):
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/b0480970-894f-2d10-f9a5-d4b1160be203?quicklink=index&overridelayout=true
    It works me, but now I need to modify the Script Logic to make that a "property" from the origin dimension has to be copied to the destination dimension as "id", like follow:
    //*XDIM_MEMBERSET CATEGORY = %CATEGORY_SET%
    //*XDIM_MEMBERSET TIME = %TIME_SET%
    //*XDIM_MEMBERSET ENTITY = %ENTITY_SET%
    //*XDIM_MEMBERSET RPTCURRENCY =  %RPTCURRENCY_SET%
    *START_BADI FiltroPD
         WRITE = OFF
         APPL = $APPLICATION$
         ADD_DIM = "ORIGEN = APPVENTAS"
         ADD_DIM ="O_COSTE = no_input"
         ADD_DIM="CECO = no_input"
         RENAME_DIM="P_ACCT = RATIOS.P_ACCT "
    *END_BADI

Maybe you are looking for

  • How do I remove old music and playlists?

    I tried to remove old music by selecting Sync Music, Selected Playlists etc, And only checked the 3 playlists I wanted. All the playlists got synced. Help!

  • Veromix problem

    hi i have kde DE and i have a problem with packages kdeplasma-applets-veromix and kdeplasma-applets-veromix-git..in both i have the same problems...i want veromix because with it i can set volume up more than 100%. i have installed this pack and i ha

  • Ads are not showing up in AppStudio generated WP8.1 Apps

    Is there something happening with integrated ads since recently generated apps are not showing nothing but blank black ad control. I checked the source code and add controls are in Place as well ApplicationId and AdUnitId are correct. This is one of

  • Position an image and text on a button

    Hi , I would like to customize my button to put text and icon on it. I do the following : <mx:Button width="120"   icon="myIcon"   label="Actu suivante"   styleName="actualiteButton"/> The problem is that I like to put the text first in  the left fol

  • BM3.9SP2 and iManager 2.7.* BM Plugin problem

    iManager BM Plugin Quirks: Packet Forwarding Filter Configuration -- Adding a new filter.... 1. The pop-up box for Service Type only works in IE. 2. We are unable to create a filter exception when using iManager IF the exception rule contains a Sourc