OO ALV - Excluding unwanted custom function buttons

Hi,
I'm using CL_GUI_ALV_GRID class in a ALV program.
I have various screens with the same toolbar, and i need to exclude one customer function, one button that i created, from this toolbar.
The idea is not showing the same buttons in the various screens.
How can i do that?
Best regards,
Rui

data: lt_exclude type ui_functions,          " Create internal taable
      ls_exclude type ui_func.
******************Hiding Buttons*****************
  ls_exclude = cl_gui_alv_grid=>mc_fc_sum.              " Pass the static method to the table
  append ls_exclude to lt_exclude.
  clear ls_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_mb_filter.
  append ls_exclude to lt_exclude.
  clear ls_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_mb_sum.
  append ls_exclude to lt_exclude.
  call method t_grid->set_table_for_first_display
    exporting
*    i_buffer_active               =
*    i_bypassing_buffer            =
*    i_consistency_check           =
*      i_structure_name              = 'T_SPFLI'
*    is_variant                    =
*    i_save                        =
*    i_default                     = 'X'
      is_layout                     = w_layo
*    is_print                      =
*    it_special_groups             =
      it_toolbar_excluding          = lt_exclude                       "Pass the table to the method
*    it_hyperlink                  =
*    it_alv_graphics               =
*    it_except_qinfo               =
*    ir_salv_adapter               =
    changing
      it_outtab                     = t_spfli
      it_fieldcatalog               = t_fcat
    it_sort                       = t_sort
*    it_filter                     =
*  EXCEPTIONS
*    invalid_parameter_combination = 1
*    program_error                 = 2
*    too_many_lines                = 3
*    others                        = 4
  if sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  endif.
Or for Custom button:
Just set Flag according to your screen and use:
Data: t_ucomm like table of sy-ucomm with header line.   " Use enter the button name you want to exclude.
SET PF-STATUS 'TEST' Excluding 'Buttonname'/T_ucomm..
Regards,
Gurpreet

Similar Messages

  • CAT2- Customer Funtion button on inital screen and Detail entry

    Hi all,
    I have enhanced the project for CAT2 tcode by CATS0011 enhancement in Dev system and moved to Qualifty system.
    In this case I see Customer Function button 3, 4 and 5 on details entry Screen and Customer Function 6 and 7 on the initial screen (CAT2)
    Again I revert enhancement CATS0011 and now I cannto see the Customer Function 3 to 7 in Dev system, but can seein Quality syste.
    Already try with multiple transports from Dev to Quality, but doesn't work in Quality but works in Dev system.
    Please let me know how it can be done.
    Regards,
    Prasad

    Hello Prasad,
    Please check your transport is done correctly, Sometimes objects have not been transported correctly, So objects would be missing in the target system. Also you can check correct version is generated in the target system.
    Best Regards,
    Deepak..

  • Customer Function

    Hi Experts,
    My predecessor has developed a customer function in CATS Time sheet. There is a customer function button, when employee clicks that button, it will call a function to calculate the employee’s overtime. Now, the business wants to make some over time calculation change. I do not have experience with customer function. I have following questions:
    (1)     How is the customer function button added into SAP standard screen(for example adding a customer button in CATS Time Sheet Screen)?
    (2)     How do I find the program that will be triggered when the customer button is clicked?
    Regards,
    Jim

    Hi Kiran,
    This is a User Exit. It allows you to insert you own code to enhance the functionality of this program. This looks like a workflow user exit. What it allows you to do is pass into the user exit some approver information and allows you to modify the table of possible approvers.
    If you double click on the '001' it will allow you to create your new INCLUDE program to insert your User Exit code.
    Hope this makes sense. Hit me back if you need any clarification.
    Cheers,
    Pat.

  • Custom Function on OO ALV Grid

    I am trying to implement ALV_GRID_XT to enhance the ALV Grid toolbar by adding couple of custom funcitons.As per the SAP documentation I have created 2 methods ON_TOOLBAR - one for adding items on toolbar and the other ON_USER_COMMAND - for processing if the user clicks on the custom function.
    I am unable to relate the ALV Grid instance onto the method ON_USER_COMMAND . One of the funciton is to calculate the average of column which represents percentage excluding cells with zero values. Once the user selects column(s) and clicks on the Percent button on the ALV grid my piece of code should trigger ON_USER_COMMAND and then display the average percentage on the Totals row.
    Method ON_USER_COMMAND has only one parameter E_UCOMM which i am able to get in the method but I am not able to get the instance of the ALV grid so that I can play around with the data in the Grid.
    I could have used a local class and then enhanced the ALV toolbar but this requirement is needed for about 20 reports and hence thought of implementing it globally.
    Any ideas would be appreciated.

    Hi there
    You need to set the handlers of course and register the events
    I'm using also a Z-class  using functionality from the ALV Grid
    in the application program
    data: z_object type ref to zcl_*      "my z_class"
    * Instantiate your Z class
    create object z_object
           exporting
                      z_object = z_object
                      cfname = 'CCONTAINER1'.
    Now in your Constructor for your Z-Class have a variable
    say grid1 which is defined as a type ref to cl_gui_alv_grid.
    Code the methods you require --. The trick is to instantiate your OWN Z class and within  YOUR CLASS  instantiate the GRID1 variable as an instance of cl_gui_alv_grid - then you can use methods etc from that class in your own Z class simple via  something like this
    method CONSTRUCTOR.
    create object grid_container1
            exporting
        container_name = cfname.
        create object  grid1
           exporting
              i_parent = grid_container1.
        set handler z_object->on_user_command for grid1.
        set handler z_object->on_toolbar for grid1.
        set handler z_object->handle_data_changed for grid1.
        set handler z_object->handle_data_changed_finished for grid1.
        set handler z_object->on_dubbelklik for grid1.
        set handler z_object->on_hotspot for grid1.
        call method grid1->register_edit_event
            exporting
               i_event_id = cl_gui_alv_grid=>mc_evt_enter.
      endmethod.
    method display_grid .
    get reference of g_outtab into g_outtab1.
         get reference of g_fldcat into g_fldcat1.
        struct_grid_lset-edit = i_edit.    "To enable editing in ALV
        struct_grid_lset-zebra = i_zebra.
        struct_grid_lset-cwidth_opt = i_opt.
        struct_grid_lset-grid_title = i_gridtitle.
    *    struct_grid_lset-ctab_fname = 'T_CELLCOLORS'.
    *    struct_grid_lset-stylefname = 'CELLTAB'.
         struct_grid_lset-ctab_fname = style_fname.
         struct_grid_lset-stylefname = style_ctab.
    *     export gt_outtab from gt_outtab to memory id 'gt_outtab'.
        call method grid1->set_table_for_first_display
           exporting
                 is_layout       = struct_grid_lset
           changing
                 it_outtab       = gt_outtab
                 it_fieldcatalog = it_fldcat.
      endmethod.
    You need to add the buttons to the toolbar with your ON TOOLBAR method
    for example
    method on_toolbar .
    type-pools icon.
    clear ls_toolbar.
         move  0 to ls_toolbar-butn_type.
         move 'EXCEL' to ls_toolbar-function.
         move  space to ls_toolbar-disabled.
         move  icon_xxl to ls_toolbar-icon.
         move 'Excel' to ls_toolbar-quickinfo.
         move  'EXCEL' to ls_toolbar-text.
         append ls_toolbar to e_object->mt_toolbar.
        perform   toolbar  in program (caller) if found
         using e_object.
    endmethod.
    Now the functionality should work in the ON_USER_COMMAND .
    Here's my ON_USER_COMMAND method within the class
    method ON_USER_COMMAND.
    *        FOR EVENT before_user_command OF cl_gui_alv_grid
    *        IMPORTING
    *          e_ucomm
    *          sender
    * When defined in SE24 you don't need to code the
    * FOR EVENT etc as this is already defined as an event handler
    case e_ucomm.
          when 'EXIT'.
            leave program.
          when 'EXCEL'.
           call method me->download_to_excel.
          when 'SAVE'.
          when 'PROC'.
            call method me->process.
          when 'REFR'.
            call method me->refresh.
            when 'SWITCH'.
            call method me->switch.
           when 'TEST'.
            call method me->get_cell.
           endcase.
    endmethod.
    Add whatever  extra functionality you want to the on_user_command so long as you've defined toolbars..
    Cheers
    jimbo

  • Call ALV custom function externally

    Hi,
    I am wondering whether it is possible to call a custom function of an ALV from a method because I don't want to repeat coding.
    Best regards,
    ts

    Hi ts,
    Option 1:
    You can use class CL_SALV_WD_TABLE_FUNCTION to create object R_PARAM.
    Sample Code:
              data lo_r_param type ref to cl_salv_wd_table_function.
               data lo_event      type ref to cl_wd_custom_event.
                   "Create r_param object
                   create object lo_r_param.
                   "Create wdevent object & fill event parameters
                   create object lo_event
                   exporting
                        id = 'ADD' .
                   WD_THIS->ON_ADD_LINE(
                   exporting
                        wdevent = lo_event
                        r_param = lo_param ).             
    Note: here ON_ADD_LINE is the event handler method triggered for alv table function
    Option 2
    Also, you can make the parameter R_PARAM as optional in event handler method, so that you no need to pass r_param  while calling the event handler method explicitly.
    Hope this helps you.
    Regards,
    Rama

  • Custom functionality to the telephony buttons which can trigger calls

    Hi everyone,
    I need to add a custom functionality to the telephony buttons which can trigger calls. This will be added to the telephony buttons consult, transfer, warm transfer, dial pad, conference.
    Any idea as to how to proceed with this?
    Thank you in advance.
    Binno Don Thomas

    Hi,
    The buttons are controlled by ToolBar profile in your webclinet profile.
    For creation of the toolbar profile go to
    SPRO >> Customer Relationship Management >> Interaction Center WebClient >> Basic Functions >> Communication Channels >> Define Toolbar Profiles
    If you want to create the button itself for use in the toolbar profile you can go to
    SPRO >> Customer Relationship Management >> Interaction Center WebClient >> Customer-Specific System Modifications >> Define Toolbar Buttons
    Hope this Helps.
    Regards,
    Rajiv

  • How can I call functionality of ALV Grid by event of button outside grid?

    Hello,
    How can I call functionality of ALV Grid by event of button located outside ALV Grid? For example how to fire printing of this ALV Grid by button click elsewhere on the screen (not in toolbar of ALV Grid).
    Best regards,
    Josef Motl

    hi Motl,
    these are steps to create a button in ALV and trigger an event from it..
    1.Use the parameter i_callback_pf_status_set in the function module REUSE_ALV_GRID_DISPLAY
    i_callback_program = gd_repid
    i_callback_pf_status_set = 'SET_PF_STATUS'
    form set_pf_status using rt_extab type slis_t_extab.
    set pf-status 'NEWALVSTATUS'.
    endform.
    You have to copy the standard ALV pf stauts to 'NEWALVSTATUS' and add your button.
    2.You have to do the following to process the new button click.
    i_callback_user_command = 'USER_COMMAND'
    form user_command using i_ucomm like sy-ucomm
    is_selfield type slis_selfield.
    case i_ucomm.
    3. to copy the standard pf status to a new one.go to the ALV screen and take the menu System -> Status.  Then look for the standard pf status. Copy this to Z range and then add your new button.
    reward points if helpful
    regards
    satesh

  • Update the custom table by using Custom Function module.

    Hi Experts,
            My requirement is ,
    1) To create the Custom Z table with fields
               vbak-vbeln
               likp-vbeln
               vbuk-vbeln
      After creating this Z table.
    2) I have to create one custom function module.
        Based on this function module i have to update that Z table.
    3) Before these steps i have to write down an ALV report based on the tables vbak and vbeln, in that table i have to print vbak-vbeln. and also in report i generated check box and one custom button in application toolbar. after the report will displayed , when ever i click the button in application tollbar , this function module will executed and the table will be updated.
        But I developed the ALV report with custom button and check box successfully.
      My doubt is how to write the function module and based on that function module how to update the table.
          Please suggest me on this requirement.
        Thanks in Advance.
    Thanks and Regards
    Srihari.

    HI ,
         Can any one help me out on my above requiremnet..
    Thanks and Regards
    Srihari.

  • Printing ALV Report output through Function Modules

    Hi All,
    I want to print my ALV Grid output through function modules/statement (not through print option in menu).
    This is because, i am generating a PDF from spool when user clicks on a button. If any changes happened in the ALV output layout, they will be captured in spool through printing it.
    So can you please tell me how to print the ALV Output through FMs or sending the ALV output to spool.
    Thanks & Regards,
    Senthil.
    Edited by: senthil nathan on May 17, 2010 2:49 PM

    Hi Dev,
    Thanks for the reply.
    I want to print the ALV when the user clicks on a button in toolbar. Lets say the user has made some changes to the layout, (E.g hiding a field) and when i print that output it should use the changed layout, If i use the FM suggested by you, i cant acheive this.
    If you try to print this manually, the system uses the changed layout and not the original. Thats why i want to know FMs/statement to print.
    Regards,
    Senthil.

  • How to develope custom function modules in SAP R/3 system to maintain c...

    How to develope custom function modules in SAP R/3 system to maintain cross
    referencing tables for sales order number.

    Hi Raja,
    Steps to crate FM..
    Follow these steps..
    Go to the T: code SE37
    First You Create Function Group
    On That u specify
    Function Group Name..............
    Short Text..............................
    save...
    Go to SE 37
    Specify the Function Module Name: Eg: Z_Bapi_Materialmaster
    Short Text.......
    Save...
    Next Go to Attributes..
    Select Radio button : Remote enabled model
    Go to Parameters..
    Click Import...
    Give Parameter Type Associate type S.t
    next Click Export...
    Give Parameter Type Associate type S.t
    Next Click Tables Button..
    Specify tables..
    Next click source code button..
    Write Source code here..
    Eg : Select statements Etc..
    Finally we should be select the Radio button Enable remorely
    https://www.sdn.sap.com/irj/sdn/wiki?path=/pages/viewpage.action?pageId=39728
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/abap/bapi%2bstep%2bby%2bstep
    Hope this information is useful to you..
    Reward points if it is usefulll....
    Thanks ,
    Satya Kumar..

  • Error in Custom Function Module

    Hi,
    I am working on implementing General Ledger Business content in financial Accounting.
    We had a requirement of creating a Custom Virtual cube similar to 0FIGL_V10. Hence, we had copied the standard function module RS_BCT_FIGL_DATA_GET_VC10 and created a custom function module. Before doing that, we had copied the function group RS_BCT_FIGL and created a custom function group for the custom function module.Both were activated subsequently. Then, we had created a custom virtual cube (ZFIGL_V10) using the custom function module.
    The queries on the Standard virtual cube were migrated to ZFIGL_V10 using the RSZC transaction code. when the queries are executed in RSRT, we get an error message "**An exception with the type CX_SY_DYN_CALL_ILLEGAL_FUNC occurred" and the ABAP debugger is started post that error.
    Has anyone faced this problem before?could any of you provide some pointers to it.
    Regards,
    Sainath

    You cannot use the standard function module which is used for standard cube for another cube.
    You should not change the function module.
    Instead you can make a copy of the function module you are using aand use this copy in ur virtual cube which will work in the same way the actual Fm used to work and it will make you perfrom the changes.
    Follow the below steps:
    1) Goto SE37 and In the top tool bar click on the copy button which is on right side of delete button.
    2) in fr FM give the name of the actual FM and in to Fm give the name of the function module you want to copy.
    3) Then click on copy.
    4) Now open this new function in edit mode and goto the import/export parameters and check. it will have all the same parameters as the actual FM. Here you can make the changes you want.
    5) Now use this FM in your virtual cube and it will be working as per your requirement
    https://forums.sdn.sap.com/click.jspa?searchID=9605118&messageID=4999763
    Hope it Helps
    Chetan
    @CP..

  • Suddenly, my custom url buttons disappeared from the navigation bar and I can no longer add new ones. FF22

    I am using Firefox 22 (I like its features and do not want the features added in later version.) I have added a handful of custom URL buttons to the navigation bar that allow me to go instantly to websites I visit frequently. There was/is a function in Firefox for adding such buttons. This morning, after leaving my computer on all night, I found that the custom buttons had disappeared and I could no longer find the function for adding new ones. Can you tell me what has happened and how I can add custom URL buttons? I will appreciate your help. Thank you.

    I solved my own problem. This function was added by Google Shortcuts, which somehow became disabled. After fussing ariound for a few minutes. I was able to restore it.

  • How to pass OAF filed data as a argument to custom function

    Hi All,
    I am doing controller extension. I have the following doubt will you please solve my doubt.
    My doubt is how to pass the standard page filed data as an argument to custom function.
    Let us assume that in my standard page i have item details (item number, description and uom.......)
    and i need to pass item number as an argument to my custom function.
    How to do this?
    Please help me on this.
    Regards
    Zaheer.

    Hi
    Thanks a lot for replying me, Thanks again and again.
    The error which i am getting is as follows:
    Actually iam extending egocancelapplypagebuttonbarco.
    in this co we have code on Apply button iam writing my code there.
    My code is as follows:
    package oracle.apps.ego.common.webui;
    import java.sql.*;
    import oracle.apps.ego.item.eu.util.EgoItemContext;
    import oracle.apps.fnd.framework.OAApplicationModule;
    import oracle.apps.fnd.framework.server.OADBTransaction;
    import oracle.apps.fnd.framework.webui.OAPageContext;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    import oracle.apps.fnd.framework.webui.beans.form.OAFormValueBean;
    import oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean;
    import oracle.apps.fnd.framework.webui.beans.nav.OAButtonBean;
    import oracle.apps.fnd.framework.webui.beans.nav.OABreadCrumbsBean;
    import oracle.jbo.Transaction;
    import oracle.cabo.ui.beans.layout.PageLayoutBean;
    import oracle.cabo.ui.beans.nav.LinkBean;
    import oracle.jbo.ApplicationModule;
    // Referenced classes of package oracle.apps.ego.common.webui:
    // EgoCancelApplyPGButtonBarCO
    public class EgoCancelApplyPGButtonBarEXTCO extends EgoCancelApplyPGButtonBarCO
    public EgoCancelApplyPGButtonBarEXTCO()
    public void processRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
    super.processRequest(oapagecontext, oawebbean);
         String s = null;
    OAFormValueBean oaformvaluebean = (OAFormValueBean)oapagecontext.getPageLayoutBean().findChildRecursive("cancelDestinationHidden");
    if(oaformvaluebean != null)
    s = (String)oaformvaluebean.getValue(oapagecontext);
    if(s == null)
    OABreadCrumbsBean oabreadcrumbsbean = (OABreadCrumbsBean)oapagecontext.getPageLayoutBean().getLocation();
    if(oabreadcrumbsbean != null)
    int i = oabreadcrumbsbean.getLinkCount();
    if(i >= 2)
    s = oabreadcrumbsbean.getLinkDestination(i - 2);
    if(oapagecontext.getSessionValue("EgoCritTempListPgUrl") != null && s == null)
    s = (String)oapagecontext.getSessionValue("EgoCritTempListPgUrl");
    if(s == null)
    s = oapagecontext.getCurrentUrlForRedirect();
    OAButtonBean oabuttonbean = (OAButtonBean)oawebbean.findIndexedChildRecursive("cancelButton");
    oabuttonbean.setWarnAboutChanges(false);
    oabuttonbean.setDestination(s);
    public void processFormRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
    byte byte0 = 4;
    super.processFormRequest(oapagecontext, oawebbean);
    OAApplicationModule oaapplicationmodule = oapagecontext.getApplicationModule(oawebbean);
    if(oapagecontext.getParameter("applyButton") != null)
    oapagecontext.getApplicationModule(oawebbean).getTransaction().commit();
    String s = null;
    if(oapagecontext.getTransactionTransientValue("OverrideEgoCancelApplyPGButtonBarCODestination") == null)
    OAFormValueBean oaformvaluebean = (OAFormValueBean)oapagecontext.getPageLayoutBean().findChildRecursive("applyDestinationHidden");
    if(oaformvaluebean != null)
    s = (String)oaformvaluebean.getValue(oapagecontext);
    if(s == null)
    OAButtonBean oabuttonbean = (OAButtonBean)oawebbean.findIndexedChildRecursive("cancelButton");
    s = oabuttonbean.getDestination();
    try
    oapagecontext.sendRedirect(s);
    return;
    catch(Exception exception)
    return;
    if(byte0 == 4)
    EgoItemContext egoitemcontext = EgoItemContext.getItemContextObject(oapagecontext);
    String s1 = egoitemcontext.getItemNumber();
    try
    CallableStatement callablestatement = oaapplicationmodule.getOADBTransaction().getJdbcConnection().prepareCall("{XXNRITEMUPDATE(?)}");
    callablestatement.setString(1, s1);
    callablestatement.execute();
    callablestatement.close();
    catch(SQLException sqlexception)
    sqlexception.printStackTrace();
    And my error is as follows
    oracle.apps.fnd.framework.OAException: java.lang.NullPointerException at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:891) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:603) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247) at oracle.apps.fnd.framework.webui.beans.nav.OAPageButtonBarBean.processRequest(OAPageButtonBarBean.java:351) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:980) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:926) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:646) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247) at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1136) at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:959) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:926) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:646) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247) at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:385) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:959) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:926) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:646) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247) at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:353) at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2336) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1735) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:509) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:430) at oa_html._OA._jspService(_OA.java:82) at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119) at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:385) at oracle.jsp.JspServlet.doDispatch(JspServlet.java:259) at oracle.jsp.JspServlet.internalService(JspServlet.java:178) at oracle.jsp.JspServlet.service(JspServlet.java:148) at javax.servlet.http.HttpServlet.service(HttpServlet.java:588) at oracle.jsp.provider.Jsp20RequestDispatcher.forward(Jsp20RequestDispatcher.java:162) at oracle.jsp.runtime.OraclePageContext.forward(OraclePageContext.java:175) at oa_html._OA._jspService(_OA.java:92) at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119) at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:385) at oracle.jsp.JspServlet.doDispatch(JspServlet.java:259) at oracle.jsp.JspServlet.internalService(JspServlet.java:178) at oracle.jsp.JspServlet.service(JspServlet.java:148) at javax.servlet.http.HttpServlet.service(HttpServlet.java:588) at oracle.jsp.provider.Jsp20RequestDispatcher.forward(Jsp20RequestDispatcher.java:162) at oracle.jsp.runtime.OraclePageContext.forward(OraclePageContext.java:175) at oa_html._OA._jspService(_OA.java:92) at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119) at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:385) at oracle.jsp.JspServlet.doDispatch(JspServlet.java:259) at oracle.jsp.JspServlet.internalService(JspServlet.java:178) at oracle.jsp.JspServlet.service(JspServlet.java:148) at javax.servlet.http.HttpServlet.service(HttpServlet.java:588) at org.apache.jserv.JServConnection.processRequest(JServConnection.java:456) at org.apache.jserv.JServConnection.run(JServConnection.java:294) at java.lang.Thread.run(Thread.java:595) ## Detail 0 ##
    java.lang.NullPointerException at oracle.apps.ego.common.webui.EgoCancelApplyPGButtonBarCO.processRequest(EgoCancelApplyPGButtonBarCO.java:81) at oracle.apps.ego.common.webui.EgoCancelApplyPGButtonBarEXTCO.processRequest(EgoCancelApplyPGButtonBarEXTCO.java:31) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:587) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247) at oracle.apps.fnd.framework.webui.beans.nav.OAPageButtonBarBean.processRequest(OAPageButtonBarBean.java:351) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:980) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:926) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:646) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247) at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1136) at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:959) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:926) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:646) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247) at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:385) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:959) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:926) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:646) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247) at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:353) at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2336) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1735) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:509) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:430) at oa_html._OA._jspService(_OA.java:82) at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119) at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:385) at oracle.jsp.JspServlet.doDispatch(JspServlet.java:259) at oracle.jsp.JspServlet.internalService(JspServlet.java:178) at oracle.jsp.JspServlet.service(JspServlet.java:148) at javax.servlet.http.HttpServlet.service(HttpServlet.java:588) at oracle.jsp.provider.Jsp20RequestDispatcher.forward(Jsp20RequestDispatcher.java:162) at oracle.jsp.runtime.OraclePageContext.forward(OraclePageContext.java:175) at oa_html._OA._jspService(_OA.java:92) at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119) at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:385) at oracle.jsp.JspServlet.doDispatch(JspServlet.java:259) at oracle.jsp.JspServlet.internalService(JspServlet.java:178) at oracle.jsp.JspServlet.service(JspServlet.java:148) at javax.servlet.http.HttpServlet.service(HttpServlet.java:588) at oracle.jsp.provider.Jsp20RequestDispatcher.forward(Jsp20RequestDispatcher.java:162) at oracle.jsp.runtime.OraclePageContext.forward(OraclePageContext.java:175) at oa_html._OA._jspService(_OA.java:92) at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119) at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:385) at oracle.jsp.JspServlet.doDispatch(JspServlet.java:259) at oracle.jsp.JspServlet.internalService(JspServlet.java:178) at oracle.jsp.JspServlet.service(JspServlet.java:148) at javax.servlet.http.HttpServlet.service(HttpServlet.java:588) at org.apache.jserv.JServConnection.processRequest(JServConnection.java:456) at org.apache.jserv.JServConnection.run(JServConnection.java:294) at java.lang.Thread.run(Thread.java:595)
    I hope that u will help me untill i got the solution for this issue.
    Regards
    Zaheer.

  • Regarding custom Function Module

    Hi Group,
    Could anyone please guide me on a custom Function Module.
    Scenario:
    I have to use this function module to get either active records or inactive records.
    This function module which has yet to be created should have to code to fetch both active records and inactive records. It depends on what user has selected in a report.
    The report has 2 radio buttons in the selection screen. If rb_1 is selected then we have to call this function module and pass all the inactive records.
    And if rb_2 is selected then all the active records should be selected.
    Now I have to code the function module depending on the selection of the radio button. I can keep a flag in the function module and assign it 1 or 2 depending of the selection of the radio button.
    Guys could you guide me on how do I set a flag in such scenario in the function module?
    Like:
    In the Source code of function module.
    If flag = 1.
    select all invalid records
    endif.
    If flag = 2.
    select all valid records.
    endif.
    where should I keep this flag in my function module.
    After setting this how do I call it in the report, depending on the radio button selected and how do I code in my report.
    Hope you will understand this.
    A million thanks in advance.
    Kumar.

    hi,
    in the function module u have to declare "FLAG" as an import parameter. n then while calling this functon module from the report, u should paas a value to this "FLAG" based on the radio button selected.
    tell me if this information was helpful.

  • Debugging customized function module when Idoc is triggered via ALE

    Hi,
    Whenever we save the billing document, an outbound idoc is triggered via ALE. The logic for the data to be included in the idoc is written in a customized function module.
    However we are making some changes and would like to include some more data in the idoc. But we find that when we put a breakpoint in the function module, on saving the billing document, the flow does not stop at the break point. We are 100% sure that the code in the function module gets executed based on the data in the idoc.
    How do we get into debug mode and break the flow in the function module so that we can debug in the function module?
    Any help would be greatly appreciated.
    Thanks in advance,
    Mick

    Hi Mick, this might be of some help 4 u.
    ALE IDOC
    Sending System(Outbound ALE Process)
    Tcode SALE - for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode BD64 - Create Model View
    Tcode BD82 - Generate partner Profiles & Create Ports
    Tcode BD64 - Distribute the Model view
    Message Type MATMAS
    Tcode BD10 - Send Material Data
    Tcode WE05 - Idoc List for watching any Errors
    Receiving System(Inbound ALE )
    Tcode SALE - for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode BD64 - Check for Model view whether it has distributed or not
    Tcode BD82 -- Generate partner Profiles & Create Ports
    Tcode BD11 Getting Material Data
    Tcode WE05 - Idoc List for inbound status codes
    ALE IDOC Steps
    Sending System(Outbound ALE Process)
    Tcode SALE ?3 for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode BD64 - Create Model View
    Tcode BD82 - Generate partner Profiles & Create Ports
    Tcode BD64 - Distribute the Model view
    This is Receiving system Settings
    Receiving System(Inbound ALE )
    Tcode SALE - for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode BD64 - Check for Model view whether it has distributed or not
    Tcode BD82 -- Generate partner Profiles & Create Ports
    Tcode BD11 Getting Material Data
    Tcode WE05 - Idoc List for inbound status codes
    Message Type MATMAS
    Tcode BD10 - Send Material Data
    Tcode WE05 - Idoc List for watching any Errors
    1)a Goto Tcode SALE
    Click on Sending & Receiving Systems-->Select Logical Systems
    Here Define Logical Systems---> Click on Execute Button
    go for new entries
    1) System Name : ERP000
    Description : Sending System
    2) System Name : ERP800
    Description : Receiving System
    press Enter & Save
    it will ask Request
    if you want new request create new Request orpress continue for transfering the objects
    B) goto Tcode SALE
    Select Assign Client to Logical Systems-->Execute
    000--> Double click on this
    Give the following Information
    Client : ERP 000
    City :
    Logical System
    Currency
    Client role
    Save this Data
    Step 2) For RFC Creation
    Goto Tcode SM59-->Select R/3 Connects
    Click on Create Button
    RFC Destination Name should be same as partner's logical system name and case sensitive to create the ports automatically while generating the partner profiles
    give the information for required fields
    RFC Destination : ERP800
    Connection type: 3
    Description
    Target Host : ERP000
    System No:000
    lan : EN
    Client : 800
    User : Login User Name
    Password:
    save this & Test it & RemortLogin
    3)
    Goto Tcode BD64 -- click on Change mode button
    click on create moduleview
    short text : xxxxxxxxxxxxxx
    Technical Neme : MODEL_ALV
    save this & Press ok
    select your just created modelview Name :'MODEL_ALV'.
    goto add message type
    Model Name : MODEL_ALV
    sender : ERP000
    Receiver : ERP800
    Message type :MATMAS
    save & Press Enter
    4) Goto Tcode BD82
    Give Model View : MODEL_ALV
    Partner system : ERP800
    execute this by press F8 Button
    it will gives you sending system port No :A000000015(Like)
    5) Goto Tcode BD64
    seelct the modelview
    goto >edit>modelview-->distribute
    press ok & Press enter
    6)goto Tcode : BD10 for Material sending
    Material : mat_001
    Message Type : MATMAS
    Logical System : ERP800
    and Execute
    7)goto Tcode : BD11 for Material Receiving
    Material : mat_001
    Message Type : MATMAS
    and Execute --> 1 request idoc created for message type Matmas
    press enter
    Here Master Idoc set for Messge type MATMAS-->press Enter
    1 Communication Idoc generated for Message Type
    this is your IDOC
    Change Pointers
    I know how to change the description of a material using ALE Change Pointers.
    I will give the following few steps
    1) Tcode BD61---> check the change pointers activated check box
    save and goback.
    2) Tcode BD50---> check the MATMAS check box save and comeback.
    3) Tcode BD51---> goto IDOC_INPUT_MATMAS01 select the checkbox save and comeback.
    4) Tcode BD52---> give message type : matmas press ok button.
    select all what ever you want and delete remaining fields.
    save & come back.
    5) 5) go to Tcode MM02 select one material and try to change the description and save it
    it will effects the target systems material desciption will also changes
    6) goto Tcode SE38 give program Name is : RBDMIDOC and Execute
    give Message type : MATMAS and Executte
    ALE/IDOC Status Codes/Messages
    01 Error --> Idoc Added
    30 Error --> Idoc ready for dispatch(ALE Service)
    then goto SE38 --> Execute the Program RBDMIDOC
    29 Error --> ALE Service Layer
    then goto SE38 --> Execute the Program RSEOUT00
    03 Error --> Data Passed to Port ok
    then goto SE38 --> Execute the Program RBDMOIND
    12 Error --> Dispatch ok
    Inbound Status Codes
    50 Error --> It will go for ALE Service Layer
    56 Error --> Idoc with Errors added
    51 Error --> Application Document not posted
    65 Error --> Error in ALE Service Layer
    for 51 or 56 Errors do the following steps
    goto WE19 > give the IDOC Number and Execute>
    Press on Inbound function Module
    for 65 Error --> goto SE38 --> Execute the Program RBDAPP01 then your getting 51 Error
    cheers,
    Hema.

Maybe you are looking for

  • Creation of new role.

    Hi BW guys,                   This problem is faced by me during the first time. I have created 1 project in R/3 and i have checked it in BW too. When i check my master data i am getting the project details but when i try to create role and search fo

  • PL/SQL speed issues when using a variable

    I have a very strange issue that is causing problems. I am running Golden connecting to a 11g database. I created a procedure to insert records into a table based on a query. The source query includes variables that I have populated prior to the inse

  • Error in SWF_XI_CUSTOMIZING - Configure RFC Destination

    Dear Experts, Basis team is performing PI 7.1(EHP1 - SP04) readiness check. We are not able to activate Configure RFC Destination. Please refer the following attachment. We have checked if WF-BATCH user got locked. It is fine and in unlocked status.

  • How to upgrade IOS to 5.0

    how do I upgrade my IOS? I do not have a "software upgrade" option in my menu under settings/general

  • Modifying Reports

    i found this in the Admin Guide: Maintaining Reports From the Workbench main screen select the Reports tab to change and create new reports... As i do not have access to Workbench, is there another way to modify these reports?