BADI subscreen implementation

Hi experts
   I defined a BADI which has a subscreen. In my calling program i call followed method to call BADI
CALL METHOD CL_EXITHANDLER=>GET_INSTANCE
      EXPORTING
          EXIT_NAME = 'MyBADI Define Name'
      CHANGING
        INSTANCE = EXIT.
  CALL METHOD CL_EXITHANDLER=>SET_INSTANCE_FOR_SUBSCREENS
    EXPORTING
      INSTANCE = EXIT.
  PROGRAM = SY-REPID.
  DYNPRO = SY-DYNNR.
  CALL METHOD CL_EXITHANDLER=>GET_PROG_AND_DYNP_FOR_SUBSCR
    EXPORTING
      EXIT_NAME       = 'MyBADI Define Name'
      CALLING_PROGRAM = PROGRAM
      CALLING_DYNPRO  = DYNPRO
      SUBSCREEN_AREA  = 'SUBSC'
    IMPORTING
      CALLED_PROGRAM  = PROGRAM
      CALLED_DYNPRO   = DYNPRO.
In my BADI implementation I defined a program which has a sub screen and put something on the sub screen and declare the called prog and call dynpro with the program name and the screen name. When i run the calling program,the subscreen can't display. can you tell me why?
Thanks
BR
Chris

Hi, I solved the first problem by my own. Following you have to consider:
1.) the Subscreen has to be in a function where
      a) the subscreen itself is defined
      b) a function module is defined for the method set_data. This function modul is called within the method set_data and
          receives the data from the BAdI through its import parameter. These data is mapped to the subscreen fields. The
          subscreen fields have to be defined within the top include.
      c) The same you have to do with the get_data method, just the way around. The function modul has export parameters to
          transfer the data to the BAdI. Within the module you map the subscreen fields to the export parameters.
Still, open is how force the application to save the data entered ... but I'll figure it out ... you can bet on it!

Similar Messages

  • BADI BBP_WF_LIST implementation

    Hello,
    I would like to implement a the BBP_WF_LIST BADI for confirmation (BUS2203).
    Can someone explain me all the step I have to do. I never did this before and I don't know the step to do.
    thanks

    Hi
    Implement the BADI - BBP_WF_LIST using SE18 Transaction for the filter type - BUS2203 for doing this job.
    Here is the documetation of this BADI
    <b>BBP_WF_LIST BADI</b>
    Short Text
    Display Worklists and Search Results Lists
    With the Business Add-In BBP_WF_LIST , you can tailor the
    display of worklists and search results lists for purchase order documents (and Sourcing applications) in SRM Server according to your own criteria.
    Standard settings
    The following methods are available:
    BBP_WF_LIST for purchasing documents
    BBP_WF_LIST_SOCO for the Sourcing application
    In the standard version, the following differences exist between the display of worklists and search results lists:
    Normal employees see only their own requirements and documents
    The purchaser's worklist in Sourcing and in the application for processing purchase orders is dependent on assignment to an organizational unit.
    The goods recipient and invoicing party can find all purchase orders, confirmations, and invoices.
    As standard, the system sorts the purchasing documents in ascending order by the last date of processing.
    To distinguish between the worklists and search results lists of the SRM Server applications, the BAdI is implemented dependent on the following filters:
    BUS2201
    Filter value for the worklist in purchase order processing in SAP Enterprise Buyer
    BUS2203
    Filter value for the worklist in confirmation processing in SAP Enterprise Buyer
    BUS2205
    Filter value for the search results list in invoice processing in SAP Enterprise Buyer
    BUS2121
    Filter value for the worklist in shopping cart status check in SAP Enterprise Buyer
    BUS2200
    Filter value for the search results list in bid invitation processing in SAP Bidding Engine
    BUS2202
    Filter value for the search results list in bid processing in SAP Bidding Engine
    BUS2000113
    Filter value for the search results list in contract processing in SAP Enterprise Buyer
    Activities
    Implement and activate the BAdI if you wish to adapt worklists and search results lists.
    Note that the filter value Object type (field OBJECT_TYPE) determines for which application the BAdI implementation is active.
    Example
    Using the BadI BBP_WF_LIST you can sort the worklist by document number, for example, or remove documents belonging to a particular user from the worklist.
    The implementation of the BadI using Business object type BUS2205 allows you to change the list of invoices and the purchase orders associated with these invoices independently of one another. For example, you could sort the purchase orders by purchase order number and the invoices by the name of the user who created them.
    You can exclude bid invitations from a certain product category, for example, from the purchaser's search results list in SAP Bidding Engine.
    You can exclude contracts from a certain purchasing organization or purchasing group, for example, from the purchaser's search results list in SAP Enterprise Buyer.
    Further notes
    If the BadI is used for confirmations and purchase orders, it always accesses the list of the actual document and its purchase orders.
    The purchaser's worklist contains only requirements that, according to Customizing, are to be processed in the Sourcing application. See the IMG activity Define Sourcing for Product Categories.
    Change Output List Purchasing Documents
    Functionality
    With method BBP_WF_LIST in SAP Enterprise Buyer, you can adapt the display list of the worklist for purchasing documents and search results lists according to your own criteria.
    Parameters
    Importing
    FLT_VAL
    Filter value
    I_PDLIST_NEW
    Entry list of worklist or the search results list and additional information
    Changing
    E_PDLIST
    Output list of worklist or the search results list (contains only GUIDs)
    <b>And Here is the sample Code for the BADI Implementation...</b>
    METHOD if_ex_bbp_wf_list~bbp_wf_list.
      DATA: t_header_guids     TYPE TABLE OF bbp_guid_tab,
            t_pdlist           TYPE TABLE OF bbp_pds_pdlist,
            t_messages         TYPE TABLE OF bbp_pds_messages,
            t_sc_guids         TYPE TABLE OF bbp_guid_tab,
            t_ref_doc          TYPE TABLE OF bbps_sc_refdata,
            t_itemlist         TYPE TABLE OF bbp_pds_sc_itemlist,
            t_conf_pdlist      TYPE TABLE OF bbp_pds_pdlist.
      DATA: wa_sc_guids        TYPE bbp_guid_tab,
            wa_pdlist          TYPE bbp_pds_pdlist,
            wa_ref_doc         TYPE bbps_sc_refdata,
            wa_itemlist        TYPE bbp_pds_sc_itemlist,
            wa_conf_pdlist     TYPE bbp_pds_pdlist.
        IF sy-tcode EQ   'BBPCF02'.   
    *--- First Get all the Reference documents
    *--- Get all the Shopping Carts
          CALL FUNCTION 'BBP_PD_SC_GETLIST'
            TABLES
              i_header_guids = t_header_guids
              e_pdlist       = t_pdlist
              e_messages     = t_messages.
    *--- Sort the SC based on SC number
          SORT t_pdlist BY object_id.
    *--- Get all the Header Guids
          LOOP AT t_pdlist INTO wa_pdlist.
            wa_sc_guids-guid = wa_pdlist-guid.
            APPEND wa_sc_guids TO t_sc_guids.
          ENDLOOP.
    *--- Get all the Reference Document for the Header Guids
          CALL FUNCTION 'BBP_PD_SC_REF_GETLIST'
            EXPORTING
              i_item_not_deleted = 'X'
            TABLES
              it_header_guids    = t_sc_guids
              et_refdata         = t_ref_doc
              it_logical_systems = 'R3BACKENDSYSTEM' -> Give he R/3 backend system RFC Destination name here
            EXCEPTIONS
              nothing_found      = 1
              OTHERS             = 2.
    *--- Retain only the PO (Business Object 2012)
            DELETE t_ref_doc WHERE ( be_object_type NE 'BUS2012' AND
                                     be_object_type NE 'BUS2012001' ).
    *--- Sort all reference documents based on be_object_id - Purchase Order numbers.
          SORT t_ref_doc BY be_object_id.
    *--- Loop on all remaianing POs
    *---  Use SC Guid (Header)
          LOOP AT t_ref_doc INTO wa_ref_doc.
              DELETE e_pdlist WHERE object_id = wa_ref_doc-be_object_id.
          ENDLOOP.
    *--- Here make a call to the R/3 system by using your RFC Function module
    *---- and update e_pdlist [] table which finally will contain all the
    *--- detialed confirmations starting with Document type - "EB"
    *---- based on the document type "ECDP" and "ECPO" - Add one more document type "EB" ..
    *---- so when ever BBPCF02 is called in ITS it should disply the POs
    *--- which are based on document types as "ECDP" "ECPO" and "EB".
        ELSEIF sy-tcode EQ 'BBPCF03'. " Display All PO/Confirmations
    *--- Similar code as above
        ENDIF. "if sy-tcode eq 'BBPCF02'.
    ENDMETHOD.
    Hope this will help.
    Please reward suitable points, incase it suits your requirements.
    Regards
    - Atul

  • BADI - Multiple implementation

    Hi,
    I know the how the badi multiple implementation is done and how filter usage is done. But Badi is for enhancement for standard SAP so in which kind of situation it is possible. Can any one give an example where this can be implemented multiple times.
    Regards,
    Rajesh

    Here is the software delivery process
    SAP->IBU->Partener->Customer
    So the given enhancment(Badi) can be implemented in the above process chain by the parties involved.
    ALso check http://help.sap.com/saphelp_47x200/helpdata/en/c8/1978b543b111d1896f0000e8322d00/frameset.htm
    Cheers,
    Hakim

  • PMS BADI HRHAP00_DOC_STATNAME IMPLEMENTATION ASSIGNMENT IN SPRO

    Hi PMS Experts,
    I have implemented BADI "HRHAP00_DOC_STATNAME" and I wanted to know the place in SPRO where we can assign BADI "HRHAP00_DOC_STATNAME" implementation.
    Thanks and Advance.

    hi rajat,
    i have implemnted this badi ..it definitley triggers in  preparation and in planning...
    but not in process phase...
    in any case...was it the same issue..?
    mey be its because of the std functionality Note 1306218 - Review Date not defaulted
    rgds
    gayathri
    Edited by: Gayathri on Oct 6, 2009 8:48 AM

  • How to add custom fields in BADI  Subscreen.

    Hi Friends,
    I have to include some custom fields in MFBF tcode.(In make-to-order tab page).
    To do that I have used RM_HR_INTEGRATION  BADI definition  and created implementation for this. In the provided subscreen I tried to add custom fields but it asks access key . I donu2019t know , how to proceed further. Your help is needed.
    Or kindly provide me solution to achieve my requirement.
    Thanks in Advance,
    senthil.

    Hi Venky,
    We can see the documentation in
    se18 -> badi -> LE_SHP_TAB_CUST_HEAD -> display -> documentation button above the definition name
    in the first pop-up of documentation..go to the end which says 'Further notes'
    Further notes
    Documentation on BAdI Interface LE_SHP_TAB_CUST_HEAD
    click on this and we have a detailed description of each method defined in the badi
    Hope it helps
    Regards
    Byju

  • BADI FTR_CUSTOMER_EXTENT Implementation for Facility creation - TM_61

    Hello Experts
    I am trying to add new tab in the create facility transaction and I feel that the right BAID to do this is FTR_CUSTOMER_EXTENT. I am not able to update the new values in the screen to the database table. I check in the forum and there are many questions for the same but there is no clear answer for the same. Request your help in letting me know how this can be achieved.
    I have also checked the same Function Group FTR_CUSTOM_BADI_SAMPLE but still I am not clear as to how I can achieve this.
    Thanks in advance
    Vijay V

    Hello Claudia,
    I finally solved the problem, and I hope my solution may suite your problem.
    The bigger problem I had was pass the data from the screen to the BADI itself, so I created a function group following the FTR_CUSTOM_BADI_SAMPLE in which I developed the objects.
    Those are the steps I followed:
    I enhanced the structure VTBFHA with the custom field I needed;
    I created an implementation for the FTR_CUSTOMER_EXTENT
    in EVT_APPLICATION_START method I called a function module (copied from the FTR_CUSTOM_BADI_SAMPLE_START) in which I started the subscreen I draw in new tab. (Please note that by doing this I now have the interface if_open_trtm_customer_data always at hand). Follow the instruction of the sample code or the http://scn.sap.com/thread/1534252 thread)
    in the PBO of the subscreen I retrivied the custom data via GET_CUST_DATA of the IF_OPEN_TRTM_CUSTOMER_DATA interface and pass the data in my screen fields. In order to do that I called a function module developed in the same function group, so that the interface is ready to be used.
    in the PAI of the subcreen, once the data is entered I pass the new data via  SET_CUST_DATA of the IF_OPEN_TRTM_CUSTOMER_DATA interface, again developing a FM within the function group of the EVT_APPLICATION_START custom function module I used.
    I am sure there must be a better solution, but it owrked pretty fine for me, so I hope this my help you as well.
    Moody

  • BADI - "REDUCT_TRIP_AMOUNT" implementation is not working

    Dear all,
    While creating or changing trip data i got one badi "REDUCT_TRIP_AMOUNT".  i was implemented badi.
    Badi implementation is not working. There was hard code break point "BREAK-POINT." i was writen in badi , But is not comes in way of execution.
    Since BADI name i am getting, BADI implementation is not working..
    Let me know any config required or what...
    Regards,
    Vipul

    Hello Vipul,
    I am having the same problem, I am trying to implement the BADI ''REDUCT_TRIP_AMOUNT'' for deducting the TRIP Amount for leave days , but when I put the hardcode breakpoint , it is not stopping anywhere.
    Kindly help .
    Regards,
    Vishal Chauhan

  • BADI HRPAD00INFTY Implementation

    Hi,
    I have a query related to BADI implementation HRPAD00INFTY. We have implemented this BADI to delimit the record and create a new one of Bank details(infotype 0009). When in PA30, we copy a record whose End date is infinite i.e. 12/31/9999. After copying the record, copied record should get delimited with the end date as last changed date, as todays date. And end date of new record should get set to infinite date as above.
    New record is getting created correctly, but the delimited record's end date is not getting changed. As per analysis, when we try copying the record first time, the dates get set correctly and further not. The IN_UPDATE method of BADI is not getting called in next change sessions.
    Please advise on same or let us know for any solutions if any.
    Thanks,
    Rupali.

    Try like this
    method IF_EX_HRPAD00INFTY~BEFORE_OUTPUT.
      Data: LV_WA(20) Type C Value '(MP002100)VIEW_REPID'.
    Types: T_VIEW_REPID Type T582V-REPID.
      Field-Symbols: <FS_REPID> Type T_VIEW_REPID.
      Assign (LV_WA) To <FS_REPID>.
    endmethod.

  • BADI ME_PROCESS_PO_CUST Implementation is not called

    Hello,
    I have created a test implementation(local object) for BADI ME_PROCESS_PO_CUST and implemented the Process_Item method to compare item price with material master commercial price. I have also activated the implementation.
    When I create a PO using ME21N, this implemenation is not getting called. I have put a breakpoint in the implementation but processing doesn't stops here. Also I am not able to find 'Where used' of the BADI name or the interface 'IF_EX_ME_PROCESS_PO_CUST'.
    What are the reason for above behaviour? Do we maintain this BADI name in some Customizing Table?
    Please help.
    Regards,
    Shubham

    i did the same as you did and the code is clearly getting triggerred.
    Samle Code:
      DATA : l_header TYPE REF TO if_purchase_order_mm.
      DATA : l_conditions TYPE mmpur_tkomv.
      DATA : l_item LIKE LINE OF l_conditions.
      DATA : l_data TYPE mepoheader.
      CALL METHOD im_item->get_header
        RECEIVING
          re_header = l_header.
      CALL METHOD l_header->get_data
        RECEIVING
          re_data = l_data.
      CALL METHOD im_item->get_conditions
        IMPORTING
          ex_conditions = l_conditions.
      CALL METHOD im_item->set_conditions
        EXPORTING
          im_conditions = l_conditions.
    if i put break-point on any of these methods the implementation is getting trigerred.

  • BADI to implement add link in appraisal process

    hi,
           I want to implement  "add links" in appraisal Process, please suggest me simple way using  BADI.
           Please reply as soon as possible..
    Thanks,
    Hemant

    In appraisal a lot of changes can be made to the standard via Badis. A list of all user exit/Badi available in this functionality can be seen via PHAP_ADMIN  >Utilities menu  >Badi overview
    Hope this info can help you.
    Best Regards

  • BADI   ADDRESS_CHECK implementation

    I am trying to implement Badi ADDRESS_CHECK to validate address using regional structure .But in SE19 during implementation when i click on methods ' IS_ACTIVE_FOR_COUNTRY &  ADDRESS_POSTAL_CHECK'
    to maintain the ABAP  code..it is throwing a message like "  specify filter types  ".
    Can any one suggest me how to set filter to this BADI .
    Thanks & Regards,
    Rahul D

    On se19 screen>attributes tab>in below selection screen TYPE add an new row>and put in ISO CODE as IN>Save.

  • VT01n,VT02n ...Need user exit or Badi to implement this code :

    Hi Experts ,
    In VT01n or VT02n transactions , when I give shipping type as 03 (VTTK-VSART) and TransportPlanPt as 4701 (VTTK-TPLST) , the additional data tab  field Suppl. 1 (VTTK-ADD01) must be filled with Z1 value automatically , Even though if the value is not given in additional data tab field Suppl 1 by the user. In which user exit or Badi shall i write my code ???
    After saving , I must get Suppl. 1 (VTTK-ADD01) as Z1 ,.
    Please suggest User exit or Badi with importing and exporting parameter's as VTTK table or any other solution to achieve this .
    Note : Table VTADD01 already has this value Z1 .
    Thanks All !!!

    There are enhancements you can make for Shipments in transaction CMOD.  Create a new project.  Then you need to add enhancement(s) to the project.  Look at the enhancements starting with V56.  I think enhancement V56USVDP will work for what you want to do.  After the enhancement(s) have been added to the project, then click on the Components button.  You will see a list of function modules.  Sometimes there is documentation available using the blue i button on the screen.  Double click the function module you want to change.  There is also documentation available in the function module sometimes.  Double click the Z include in the function module.  You will have to create the include.  Then you can make the necessary changes in the Z include.  After you have made your code changes, you have to go back to the component screen and activate the enhancement component.  The activate function is in the menu under the project menu.
    Hope it helps,
    Brian

  • Enhanced exits and Badi's implemented in VA01

    Hi,
    I am working on a support project and wants to check the user exits and BADI's which have been enhanced for VA01 Transaction in my project specifically. Please let me know how can I check the same.
    Regards,
    Naveen

    Hi,
    I am working on a support project and wants to check the user exits and BADI's which have been enhanced for VA01 Transaction in my project specifically. Please let me know how can I check the same.
    Regards,
    Naveen

  • BADI implementation is not working in background for MRRL

    Hai frnds,
    BADI: MRM_WT_SPLIT_UPDATE is used for deducting withholding tax in MRRL(Invoice verification). This BADI was implemented and working fine in foreground, but not working in background.
    After implementing the BADI, the standard method of calculating TDS(from vendor master) is over written by BADI implementation.Now standard deduction is also not workijng in background.Plz help me to solve it.
    Bala.V

    HI,
    COR6N is the Enjoy Transaction and sap does not suggest to write the BDC on these transaction as most of these transaction uses the GUI elements foe better display and which cannot be recorded while processing the BDC in back ground.
    Check for the Normal transaction and write the BDC for it.
    Or
    Pass X to Rcommit flag in the CTU_PARAMS option and check.

  • Badi implementation in ECC 6 version using Enhancement spot

    Hi,
              I've to create an implementation for an already existing BADI in ECC 6.0 version.The interface method of the badi is getting called in main program in a standard include.Is it possible to create that using New badi Enhancement spot option in se19? If so where should i create the enhancement point because when i'm trying to create implementation i'm getting the message Enhancement point zbadi_le_shipment does not exist .
    Thanks in advance
    poornima

    Hi,
       First u need to implement the BADI badi_le_shipment
    Implementing Business Add-Ins (BADI)
    The use of object orientated code within SAP has lead to new method of enhancing standard SAP code called
    Business Add-Ins or BADI's for short. Although the implementation concept is based on classes, methods and
    inheritance you do not really have to understand this fully to implement a BADI. Simply think of methods
    as a function module with the same import and export parameters and follow the simple instructions below.
    Steps:
    1. Execute Business Add-In(BADI) transaction SE18
    2. Enter BADI name i.e.badi_le_shipment  and press the display
    button
    3. Select menu option Implementation->Create
    4. Give implementation a name such as Zbadi_le_shipment
    5. You can now make any changes you require to the BADI within this
    implementation, for example choose the Interface tab
    6. Double click on the method you want to change, you can now enter
    any code you require.
    7. Please note to find out what import and export parameters a
    method has got return the original BADI definition
    (i.e. badi_le_shipment ) and double click on the method name.Under this AT_SAVE  is the method put break point.
    8. When changes have been made activate the implementation
    YOu can go through these links...
    http://esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
    http://esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
    http://esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
    http://esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
    http://esnips.com/doc/365d4c4d-9fcb-4189-85fd-866b7bf25257/customer-exits--badi.zip
    http://esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
    Regards
    Kiran Sure

Maybe you are looking for

  • Creative zen nanao plus

    Using the creative 5 mediasource, Idownloaded a story CD of about 7 folders (Total space approx 800MB). I know its loaded onto my MP3 because it shows up on E:dri've (MP3 dri've) as being there. However, if I then use the ZEN, it only shows the first

  • HP 2600n - Utility Gone After 10.5.1

    I have an HP 2600n and a 3600n (at different office locations) - both Airport networked with 3 other Macs at their respective locations; all running 10.5.1 (except 1 G3 at 10.4.11). The quandary: Since 10.5.1, the 2600n no longer has a utility (activ

  • 2 Apple TV's; Mirroring to one but not the other

    Help me Apple Communities you're my only hope.* I have 2 Apple TV's on the local network, bothe with Airplay enabled. One labelled AppleTV, the other labelled TV Upstairs.While I can happily stream music and video to both devices from iOS or the MacB

  • I need an older version of keynote for my older Mac running 10.7.5

    How can I get an older version of keynote for my older Mac running OS Lion 10.7.5. I have it purchased for my newer Mac.

  • Please help urgently Failed to deserialize statedump from server in Cluster

    Dear All, Appreciate a help on this urgently..... I am new to weblogic server & this technologies ... we created IPM,UCM,SOA clusters on one domain (my_domain), all the servers of all the clusters in 1st machine started .... but IPM server is not sta