Issues in Implementing a BADI

Hi,
I have added a pushbutton in an existing ALV with the help of a method on_toolbar, using an BADI implementation , When the user selects a set of rows from that ALV and click on this newly created pushbutton, a set actions has to be generated.and other validations has to be performed.
can anyone suggest me , how to implement the triggering action for that push button.

dhiraj1983 wrote:
Actually the problem is that if a certain processor(programs residing in diff systems) fails to process those messages due to some network problem then I have to reassign them to another processor. So in that sense I can't remove the messages from the queue until and unless it is processed.Why? You could add it back to the queue if the processing for some reason fails.

Similar Messages

  • Issues while creating implementation for BADI  "ME_PROCESS_PO_CUST"

    Hi Group,
    I have issues while creating implementation for  BADI "ME_PROCESS_PO_CUST".
    I tried to create implementation for the above mentioned BADI but, I was getting an error like this:
    "Interface implementation IF_EX_ME_PROCESS_PO_CUST does not exist".
    I want to implement this BADI and so, ideas/views at the earliest will be appreciated.
    Please let me know how to overcome this error.
    Thanks,
    Vishnu.

    Hi,
    Have you activated the class which is implementing the interface? (in transaction SE19 you should see class name)
    Best regards,
    Wojciech

  • Issue in implementing Dynamic participant chooser process Step

    I am facing issue in implementing Participant chooser process Step.
    I want to create dynamic Participant chooser process Step, I have implemented 'ParticipantStepChooser' class and overwrote 'getParticipant' method. But this process did not appear in Dynamic participant chooser dropdown in CQ5.6 environment.
    I deployed same code in CQ5.5 and process appeared in Dynamic participant chooser dropdown.
    This is the sample code which I have used:
    @Component(immediate = true, metatype = true, label = "DMP Config Service123")
    @Service
    @Properties({
            @Property(name = Constants.SERVICE_DESCRIPTION, value = "A sample implementation of a dynamic participant chooser.", propertyPrivate=true),
            @Property(name = Constants.SERVICE_VENDOR, value = "Adobe", propertyPrivate=true),
            @Property(name = ParticipantStepChooser.SERVICE_PROPERTY_LABEL, value = "******** Hello ********", propertyPrivate=true),
            @Property(name = "immediate" , value = "true", propertyPrivate=true)
    public class MyDynamicParticipant implements ParticipantStepChooser {
        private static final String TYPE_JCR_PATH = "JCR_PATH";
        @Activate
    void activate(ComponentContext context) {
      LoggerUtil.infoLog(this.getClass(), " ");
        public String getParticipant(WorkItem workItem, WorkflowSession workflowSession, MetaDataMap args) throws WorkflowException {
      LoggerUtil.infoLog(this.getClass(), "inside getParticipant method{} ");
            WorkflowData workflowData = workItem.getWorkflowData();
            if (workflowData.getPayloadType().equals(TYPE_JCR_PATH)) {
    String path = workflowData.getPayload().toString();
    String pathFromArgument = args.get("PROCESS_ARGS", String.class);
    if (pathFromArgument != null && path.startsWith(pathFromArgument)) {
    return "admin";
            return "administrators";

    Make sure to change your imports in 5.6 to use granite api. Please change from [1] to [2].
    [1]
    import com.day.cq.workflow.WorkflowException;
    import com.day.cq.workflow.WorkflowSession;
    import com.day.cq.workflow.exec.ParticipantStepChooser;
    import com.day.cq.workflow.exec.WorkItem;
    import com.day.cq.workflow.exec.WorkflowData;
    import com.day.cq.workflow.metadata.MetaDataMap;
    [2]
    import com.adobe.granite.workflow.WorkflowException;
    import com.adobe.granite.workflow.WorkflowSession;
    import com.adobe.granite.workflow.exec.ParticipantStepChooser;
    import com.adobe.granite.workflow.exec.WorkItem;
    import com.adobe.granite.workflow.metadata.MetaDataMap;

  • Dear All,what are the major issues in implementation in sap hcm

    what are the major issues in implementation in SAP HCM project scope is PA ,OM,TIME, INDIA PAYROLL

    Hi Ramjan,
    Try to have a clear understanding of requirements and find the best solution in SAP. Keep as much as possible everything standard and based on SAP best practices.
    In PA look for a comprehensive enterprise structure. It's base for everything.
    DON"T do anything through development(ABAP code) as much as possible specially in PT and PY. Try to do claculation by PCRs and Schema.
    Regards,
    Omid

  • Need help on implementing the BADI ME_GUI_PO_CUST

    Hi All,
    As per my requirement I need to do Enhancement for Unloading point field on PO.This filed will get all the department numbers applicable for the site on the line item.
    For this I need to Implement the BADI BADI ME_GUI_PO_CUST.
    The Method which needs to be Implemented is : TRANSPORT_TO_DYNP.
    Instructions have been given for the Screen design.
    Can anyone help me (with the sample code how) to Implement this method of the BADI in SE19.
    This BADI method is taking a view as an Input and I am not understanding how to proceed.
    Thanks and Regards,
    Smriti Singh

    Hi,
    my suggestion is to check the standard documentation of the interface IF_EX_ME_GUI_PO_CUST.
    After that you can check the method IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_DYNP in the example implementation class CL_EXM_IM_ME_GUI_PO_CUST.
    Usefull links:
    [Re: Implementing badi ME_GUI_PO_CUST;
    [Re: ME21N - PO Enhancement using BADI;
    Kind Regards.
    Andrea

  • Issue with implementing Find window

    Hi,
    I am facing an issue with implementing Find window. The find window everything is working fine, but when I am opening the form I am facing the following error
    'Error: To retrieve the Information in this block, use menu option view -> query by example -> Enter to invoke enter-query mode, then view -> Query by example > Run to run your query..'
    when I click 'Ok', it is navigating to the FInd window.
    How can I avoid the above error message?
    And also after searching, I navigate to the main window to display the records, but the 'Find' torch icon is not getting enabled, how do I that?
    Thanks,
    Ramu

    Thanks for the reply.
    Yes, I have the QUERY_FIND trigger with the code as 'APP_STANDARD.EVENT('QUERY_FIND');'
    And also 'first navigation data block ' to my result block. Now that the error is gone, But still the Find Icon is not enabled
    Please advice.
    Thanks,
    Ramu
    Edited by: Ramu Chennuri on Oct 21, 2008 8:32 AM

  • Problem in Implementing Filter BADI

    Hi Experts ,
               I have a problem in Implementing Standard BADI  OIJ_NOMIT_VALIDATION , this one is a Filter BADI , with Filter type OIJ_NOMITEM_CHCK . i created a implementation ZOIJ_NOMIT_VALIDATION with filter ZOIJ_NOMIT and write code in method VALIDATE . But this is not triggered. Any additional configuration needed for this ?
    Point will be awarded .
    Thanks and regards
    Renjith MP

    Hi Ranjit,
                  After implementing the Filter BADI.You can define the Filter type <b>attributes</b> section.
    Regards

  • How to issue warning message in BADI ME_PROCESS_PO_CUST

    Hi Guys,
    I have already checked the forum regarding this. There are lots of threads. Unfortunately none of them helped me. I must be missing some thing in my code.
    I tried issuing warning message in BADI ME_PROCESS_PO_CUST and method PROCESS_ITEM.
    First i tried with normal message statement
    MESSAGE w001(00) WITH text-001 text-002.
    Didn't worked.
    Next tried calling standard macros
      DATA:mmmfd_cust_01 TYPE mmpur_metafield VALUE 90000000.
      call method cl_contextfield_mm=>set_current_field
                                      exporting im_field = mmmfd_cust_01.
      mmpur_metafield mmmfd_cust_01.
    mmpur_message_config 'W' 'X' ' '.      "Tried all permutations here
    mmpur_message_forced 'W' '00' '001' text-001 text-002 '' ''.
    Still no solution
    Tried with macro mmpur_message also
    Can some one helpme out to solve this issue.
    Thanks,
    Vinod.

    Hi all,
    Thanks for the responce.
    Not sure whether you have looked into BADI documentation or not. Please check below.
    "Further notes
    The above-mentioned macros are defined in the program MM_MESSAGES_MAC. Please include this program in your own application.
    Never issue messages in BAdI ME_GUI_PO_CUST! This is the task of the business logic and must therefore be done via the BAdI ME_PROCESS_PO_CUST.
    "Never use the ABAP statement MESSAGE in the BAdI ME_PROCESS_PO_CUST. Please use the macro mmpur_message_forced only. This macro only writes a message in the message collector.
    If you wish to mark the business object as invalid in order to prevent posting, you must additionally use the INVALIDATE ( ) method of the relevant interface. In this connection, see also the code example in the PROCESS_ITEM method of the BAdI ME_PROCESS_PO_CUST.
    I have tried almost all macros including mmpur_message_forced 'E' 'ME' '083' l_text ' '  ' '  ' '.
    Not sure where i am missing:(
    If i give error using MESSAGE statement it is working perfectly i.e. give error and save the PO. Only wanted to know if there are any implications.
    Thanks,
    Vinod

  • How to Implement Screen BADI

    Dear All,
    Can any one help me in providing step by step procedure to implement SCREEN BADI. Kinly provide workable code
    Thanks in advance

    John
    I dont think any BADI available to change the logo.
    You can add your own logo to the login page as below.
    1. In SE80 select Internet service and choose BBPGLOBAL.
    2. Then navigate to Theme 99-->MIME Objects -->Images --> Start.
    3. Add your custom logo file there.
    4. Then navigate to Theme 99 --> HTML Templates --> Login.
    5. Open the source code of Login page and search for the logo which you want to replace with your new logo. ex. ~name="images/start/logo.gif". Look for suitable code where you want to add your logo.
    6. Comment that line and add new line with your new logo file in the image path.
    With this custom logo get displayed in the login page.
    PS : Reward points if helpful.
    Regards
    Jagadish

  • Implementation of BADI BBP_ECS_PO_OUT_BADI in SRM. and BBP_PO_INBOUND_BADI

    Hi All,
    Facing a problem in BADI can u please help me out...
    I am implementing sourcing dashboard.
    I am facing problem while implementing the badi BBP_ECS_PO_OUT_BADI in SRM. and BBP_PO_INBOUND_BADI in R3.
    i have written following code in BBP_ECS_PO_OUT_BADI in SRM
    method IF_EX_BBP_ECS_PO_OUT_BADI~BBP_B46B_PO_OUTBOUND.
    data : ls_item type BBP_PDS_PO_ITEM_D.
    data : w_customer_fields type BBPS_IF_CUSTOMER_FIELDS_PI.
    move 'POITEM' to w_customer_fields-refobject.
    move 'CATALOGID' to w_customer_fields-fieldname.
    move ls_item-catalogid to w_customer_fields-container.
    append w_customer_fields to ct_bapi_customer_fields.
    endmethod.
    i have created field zsrmcatalogid field in R3 in EKPO table.and i am now implementing the Badi in R3 for BBP_PO_INBOUND_BADI .....in extended classic scenario.
    i have written following code in R3 BADI
    method IF_EX_BBP_PO_INBOUND_BADI~BBP_MAP_BEFORE_BAPI.
    data : wa_customer_fields type bbps_if_customer_fields,
    wa_bapi_te_mepoitem type bapi_te_mepoitem,
    wa_bapi_te_mepoitemx type bapi_te_mepoitemx,
    wa_extensionin type bapiparex.
    data : txt_960(960) type c.
    read table bbp_customer_fields into wa_customer_fields with key
    refobject = 'POITEM' fieldname = 'CATALOGID'.
    if sy-subrc eq 0.
    move wa_customer_fields-container TO
    wa_bapi_te_mepoitem-zsrmcatalogid.
    wa_bapi_te_mepoitemx-zsrmcatalogid = 'X'.
    endif.
    clear txt_960.
    clear wa_extensionin.
    write wa_bapi_te_mepoitem to txt_960 left-justified.
    wa_extensionin-structure = 'BAPI_TE_MEPOITEM'.
    wa_extensionin-valuepart1 = txt_960(240).
    wa_extensionin-valuepart2 = txt_960+240(240).
    wa_extensionin-valuepart3 = txt_960+480(240).
    wa_extensionin-valuepart4 = txt_960+720(240).
    append wa_extensionin to bapi_extensionin.
    clear txt_960.
    clear wa_extensionin.
    write wa_bapi_te_mepoitemx to txt_960 left-justified.
    wa_extensionin-structure = 'BAPI_TE_MEPOITEMX'.
    wa_extensionin-valuepart1 = txt_960(240).
    wa_extensionin-valuepart2 = txt_960+240(240).
    wa_extensionin-valuepart3 = txt_960+480(240).
    wa_extensionin-valuepart4 = txt_960+720(240).
    append wa_extensionin to bapi_extensionin.
    endmethod.
    But its not working...
    The PO details are not passed from SRM to R3.......
    Can anybody help me regarding how to debug the BADI in R3.
    Thanks in Advance...

    Hi Ravi,
    I never tried those BADIs to pass CUF fields.
    But here an attempt to understand it.
    First, have you maintained the mandatory R/3 CUF mapping table BBP_CUFMAP ?
    Your SRM BADI is not correct, because you don't populate enough data.
    There is a particular logic for ct_bapi_customer_fields (look at R/3 mapping in LBBP_BAPI_POF04, called before the R/3 BADI).
    Following fields must be populated:
    - REFOBJECT: ok with POITEM
    - FIELDNAME: dummy name (CATALOGID) or real R/3 field (zsrmcatalogid)? --> used in mapping table BBP_CUFMAP to get the R/3 field
    - REFFIELD1: missing: put PO_ITEM ?
    - REFVAL1  : missing: put the PO item number (numc 5)
    - CONTAINER: ok with final value we want to pass
    I think that if SRM BADI and the R/3 mapping table are populated correctly, the fields are transfered to R/3 PO item without additionnal coding on R/3 BADI side.
    The R/3 BADI goal is not to create BAPI_EXTENSIONIN. This is done by the Form MAPPING_CUSTOMER_FIELDS of include LBBP_BAPI_POF04.
    Later on, the custom fields of BAPI_EXTENSIONIN are transfered automatically to EKPO fields via a move-corresponding.
    In the way you coded R/3 BADI, you by-pass the Form MAPPING_CUSTOMER_FIELDS, to populate the BAPI_EXTENSIONIN by yourself.
    This could work like this, but you missed one info: the PO item number (missing in SRM BADI) !!!
    For debugging, what additional details do yo need ?
    Rgds
    Christophe

  • Real time critical issues in  Implementation Project

    Hi friends
    Please send  me the *Real time critical issues in  Implementation and Development  Projects*
    Thanks
    Srikanth Reddy.P

    Hi
    Blue Print: Assume the client is already having sound legacy system in place.
    Also assume that all the processes in FICO are neatly documented with visios.
    Now study those process flows and prepare a list of sub processes.
    Now prepare the fits/gaps/ assessment.
    If the process fits into SAP it would be a fit. If an enhancement / modification is required, it goes into the red column.
    Record all the discussions with the core users against each process and sub process.
    Also list down the dependencies for each process / analyse the integration aspects.
    Also plan how you would convert the legacy data into SAP.
    The whole document should have illustrations / scenarios and ultimately signed off. This at any cost should not be changed unless, there is a total turnaround in the process requirements.
    With the finalised blue print, you could start the activities in the implementation.
    Now regarding the interview questions:
    - Starts with your resume. How you have projected yourself. Have you shown real time experience or faked up projects. In any case, it is very easy to make out whether you have experience in implementation or support environment. You could never fool the interviewer.
    Initially the interviewer would try to make an assessment on your genuinity.
    - When did the implementation start?
    - When did it GOLIVE?
    - Were you involved in the end to end implementation or was it a partial role?
    -If you are supporting the client, who implemented SAP?
    - What tool do you use to track the support activities?
    - How many tickets have you handled so far?
    - Name some critical issues which you resolved and without which the production or business got affected?
    - What is the system landscape ?
    -Have you developed any reports / enhancements / technical / functional designs?
    - Are you aware of interfaces / ALE / IDOCs ?
    - Are you aware of SLAs
    - Rate yourself on a rank of 1 to 10 in FI and CO
    - How often have you interacted with client during implementation / support?
    - What process designs have been prepared by you?
    - How do you react when you get a critical issue or cross modular issues?
    And so on and on
    Hope this helps

  • SOlman_setup issue at implement SAP Note Step

    Hi Friends,
    While i am performing the solman_setup (system preparation) facing once issue at Implement SAP Note step.
    In this step while i am performing  the post processing step (3rd step) giving the red signal The system only partially implemented the manual activities for note 1856234.
    And i followed the note 1856234 as per the note i ran the report AI_CRM_ANALYZE_IBASE_SORTF and i got the error messages.
    The Ibase component 000000000000003598 has deviceid: SID 00XXXXXXX
    Sort string is needed!
    Comp. with same device id:
    Replace Sort string with (from LMDB):
    The Ibase component 000000000000003272 has deviceid: SID 00XXXXXXX Etc.
    Sort string is needed!
    Comp. with same device id:
    Replace Sort string with (from LMDB):
    And as per the note
    when i am executing IB_GEN i am getting below errors.
    Object not found - will be created.
    No changes made; Saving not allowed
    Failed to save object %   1 (Object family 7001).
    Kindly suggest on this.
    Thank you,
    Chowdary.

    Please refer to SAP Notes 1694004 - Dealing with duplicate technical system names (SIDs) and 1747926 - Dealing with duplicate technical system names (old SLD)

  • Error in private methods when implementing a BAdI

    Hi,
    I implemented a BAdI and added some custom private methods in my implementing class. When I looked at the object list, my private methods are marked with a color red circular shape, which I guess it means those have error. But, when I tried to activate and test the BAdI, it works fine. Any idea why it marks my private methods as error? Am I missing something here?

    it denotes Accessibility / Visibility of those  methods .
    regards
    Prabhu

  • How to create implementation for BADI BADI_SD_SALES_ITEM

    Hi all,
    When i try to create a implementation for BADI it erorrs out saying "its for intenal use". Is there any way i can still go ahead and create a implementation for this BADI BADI_SD_SALES_ITEM.
    Thanks in advance.

    Hello Jayakumar,
    The BADI <b>BADI_SD_SALES_ITEM</b> is designed as internal BADI; the implementation can only be done, if the BADI is set to external.  The property of a BADI is stored in the table <b>sxs_attr</b>. The flag <b>internal</b> must be cleared to use the BADI as external. The following short program will show you an example:
    report  z_xpra_upd_badi_def.
    data: gt_prot          type table of sprot_u,
          gs_prot          type sprot_u,
          gv_simulate      type xflag.
    * Constant Definitions for Protocoll:
    constants:
          gc_error_fatal   value 'E',      " Error message with stop_upgrade
          gc_error         value 'P',      " Error message: no prod use!
          gc_success       value space,    " Success
          gc_info          value space,    " Info
          gc_warning       value 'W',      " Warning
          gc_lv_error      type n value 2, " Level for type 'E'
          gc_lv_add_error  type n value 2, " Level for additional info
          gc_lv_warning    type n value 2, " This could be either 2 or 3
          gc_lv_success    type n value 3, " Success only at 3
          gc_lv_info       type n value 4, " Info-messages only at 3 or 4
          gc_lv_debug      type n value 4. " Additional info for yourself
    start-of-selection.
      gv_simulate = space.
      perform bc_action using 'BADI_SD_SALES_ITEM'
                               gv_simulate.
    * Finally, the transport protocol will be added:
      call function 'TR_APPEND_LOG'
        tables
          xmsg   = gt_prot
        exceptions
          others = 5.
      call function 'TR_FLUSH_LOG'.
    * END OF PROGRAM
    *&      Form  bc_action
    *       Function description/flow
    *       Used global variables:
    *       Read/Write
    form bc_action using li_badi_def   type sxs_attr-exit_name
                         li_simulate   type xflag.
      data: ls_sxs_attr type sxs_attr.
      select single * into ls_sxs_attr
             from sxs_attr client specified
             where exit_name = li_badi_def.
      if sy-subrc = 0.
        if not ls_sxs_attr-internal is initial.
          if gv_simulate is initial.
            clear ls_sxs_attr-internal.
            update sxs_attr client specified
            from ls_sxs_attr.
          endif.
          if sy-subrc = 0.
            perform bc_append_log using gc_lv_success
                                        gc_success
                                       '5@'
                                       '000'
                                        li_badi_def
                                        text-001
                                        sy-dbcnt
                                        space.
          else.
            perform bc_append_log using gc_lv_error
                                        gc_error
                                       '5@'
                                       '000'
                                        li_badi_def
                                        text-002
                                        sy-subrc
                                        space.
          endif.
        else.
          perform bc_append_log using gc_lv_success
                                      gc_success
                                     '5@'
                                     '000'
                                      li_badi_def
                                      text-003
                                      space
                                      space.
        endif.
      else.
        perform bc_append_log using gc_lv_success
                                    gc_success
                                   '5@'
                                   '000'
                                    li_badi_def
                                    text-004
                                    space
                                    space.
      endif.
    endform.                    "ACTION
    *&      Form  bc_append_log
    *       Function description/flow
    *       Used global variables:
    *       Read/Write
    form bc_append_log using li_level    type sprot_u-level    " Level
                             li_severity type sprot_u-severity " Severity
                             li_ag       type sprot_u-ag       " Message-ID
                             li_msgnr    type sprot_u-msgnr    " Messagenumb
                             li_var1
                             li_var2
                             li_var3
                             li_var4.
      clear gs_prot.
      gs_prot-level    = li_level.
      gs_prot-severity = li_severity.
      gs_prot-langu    = sy-langu.
      gs_prot-ag       = li_ag.
      gs_prot-msgnr    = li_msgnr.
      gs_prot-newobj   = space.
      gs_prot-var1     = li_var1.
      gs_prot-var2     = li_var2.
      gs_prot-var3     = li_var3.
      gs_prot-var4     = li_var4.
      append gs_prot to gt_prot.
    endform.                    " bc_bc_append_log
    This report can be used as <b>XPRA</b> run; for this you need to assign this report in a transport with property object type <b>XPRA</b>. After importing the transport the report will be started automatically.
    Please handle this proposal solution carefully.
    Best regards,
    Kurt.

  • Check active implementation in badi

    Hi Expert,
    Pl's let me know how to I check active implementation in badi in ECC6.0.
    I have tried to find the solution by using  call function 'SXC_EXIT_CHECK_ACTIVE' , as used in previous version of the server.
    But this is not helping me out.
    Kindly let me know if there exists a way to check the active implementations in badi.
    Tx
    Kshitija

    Can you not do this from SE19?  If you know the BADI definition name just do an F4 on the implementation, and put in the definition name, and select Active Only option, and you should see the list.
    Albert

Maybe you are looking for

  • No suitable driver error when upload a pdf

    We are going to develop our own packaging tool which can provide convenient service for   Adobe Content Server. Before we begin on this project, we use the java sample console program which is called UploadTest to find out how to interact with Adobe

  • Delete a "page" within pages

    I am desperate to delete several pages within a saved Pages document. The problem is: it appears all my pages are "merged" or something. When I click "View - Page Thumbnails" the thumbsnails do appear on the left. However, I cannot select ONE page to

  • I'm having trouble with uploading two documents to iCloud from pages.

    On my iPad2, two documents continue to have the blue 'updating' bar at the bottom and Pages continues to say "updateing 2 items" with the little spnning wheel. I've got plenty of space available both on the iPad and iCloud. Other documents are uplaod

  • Access Control

    How to resolve the following error message: "access denied by Page security check" "No privilege for attempted action."

  • Please Help - Secure Internet Programming

    On Sun's home page at http://java.sun.com they have an article on "Secure Internet Programming with JavaTM 2, Standard Edition (J2SETM) 1.4" so I tried it out but I got "cannot resolve symbol" compiler error when I tried to compile HttpsServer.java -