Reload Detail screen everytime user searches

Hello
I have created a custom app using the master - detail template.
I want to change the standard functionality to reload the detail screen every time a user does a search, even if the search returns the current loaded entity in the detail screen as the first record.
i.e. I want to reload the detail screen after every server hit (no matter what entity is returned first)
At the moment I can see that the event onRouteMatched is not fired if the detail entity is not changing.
I can see that the master view calls the method showDetail
var bReplace = jQuery.device.is.phone ? false : true;
  this.getRouter().navTo("detail", {
    from: "master",
  entity: oItem.getBindingContext().getPath().substr(1),
  tab: this.sTab
}, bReplace);
This method than causes the onRouteMatched method to be called in the detail view ONLY if the entity is changing in the detail screen.
Is there a clean way to cause the detail screen to refresh even if the entity is the same??
Thanks
Andrew

Hi Maksim
Thanks for responding, I did go down the route of firing a Route Matched event if the entity is not changing.
For reference see below:
Master.conroller.js
showDetail : function(oItem) {
     if (this.getRouter().oHashChanger.getHash() === oItem.getBindingContext().getPath().substr(1)){
          this.getRouter().fireRouteMatched({
               name: "detail",
               arguments: {
                    from: "master",
                    entity: oItem.getBindingContext().getPath().substr(1),
                    tab: this.sTab
     else{
          // If we're on a phone device, include nav in history
          var bReplace = jQuery.device.is.phone ? false : true;
          this.getRouter().navTo("detail", {
               from: "master",
               entity: oItem.getBindingContext().getPath().substr(1),
               tab: this.sTab
          }, bReplace);  
Thanks
Andrew

Similar Messages

  • How to prevent error message for material description in MDG material detail screen, when user click on check action

    Dear Experts,
    I have a requirement for making material description as non mandetory in change request view of mdg material screen.
    I have done that using field usage in get data method of feeder classes, but still message is displaying.
    This message 'Material description is mandatory is displaying with check action only, but not with save or submit after i anhance field property as not mandetory.
    How to prevent error message for material description in MDG material detail screen, when user click on check action.
    Thanks
    Sukumar

    Hello Sukumar
    In IMG activity "Configure Properties of Change Request Step", you can completely deactivate the reuse area checks (but will then loose all other checks of the backend business logic as well).
    You can also set the error severity of the checks from Error to Warning (per CR type, not per check).
    Or you provide a default value for the material description, e.g. by implementing the BAdI USMD_RULE_SERVICE.
    Regards, Ingo Bruß

  • How to display user define value in list screen from detail screen

    Hello Experts
    I am working on task in which i have to display the user define value on list screen. like i have one list list screen which have one button for add..once i click on add which navigate to detail screen and detail screen has two fields one for ID AND other for name and detail screen has one button for save once i put value for id and name and click on save button which will navigate to previous list screen and those values which should be display on list screen.
    Regards:
    Sumit

    Hi Sumit,
    To navigate to the Master page on button click , you need some thing like,
    oSplitApp.toMaster("masterpage_id");
    to understand the navigation for Master/Detail page , have a look at,
    http://help.sap.com/saphelp_uiaddon10/helpdata/en/df/adb6b7247e4826b0fcde472b029840/content.htm
    Also to pass value from Detail page to Master page, you can use a Global variable to store your values on click of the Save button. For eg. You may have a global JS file which both Master and Detail page can access like App.Js, Application.JS etc.
    After navigating to the Master page, you can read the Global variables and show it on your Master page.

  • Additioanl user-field in approval detail screen

    Hello,
    We would like to add the shopping cart number as a user field in the detail screen of the SC approval trx. (BBPSC07)
    In the detail screen in the standard SRM 5.0 the only field which are displayed are (in the additional especifications):
    Name of Shopping cart ....
    Notes for approval...
    We want to let appear here als the SC number.
    Im not sure we can acomplish this by using note 672960
    This note is about adding fields to documents, not about adding fields in trx.
    Anyone done this before? Please help me out.
    Thanks,
    Aart

    Hi,
    This seems to be bit difficult....However you could try modifying the ITS template  to display the SC number which is a std field.
    Look at these threads which discuss similar reqt:
    Add Custom field in Approval Screen
    Custom Field in Check Status
    BR,
    Disha.
    Do reward points for useful answers.

  • Post-generating 3-level master-detail-detail screens

    Hi all,
    for a consulting project, I had to create several three-level master-detail screens using JHeadstart. For the JHS demo app, this would mean for example that a location page contained a list of departments at the location and underneath it a list of employees working at the currently selected department.
    From what I have learned so far using JHS, this is not supported by the wizards and should be done by post-generation changes. This forum has a few topics mentioning the problem and possible solutions, but most of the time just fragments of the complete solution/approach. As I had to create several of these 3-level detail screens, I tried to uniformly document them, providing the 7-step guide as outlined below. I only started working with JHS recently, so please let me know where I take a long way round or where my approach is not appropriate at all :o)
    NOTE1: Terminology-wise, for the example given above, I will call the departments the 2nd level detail and employees the 3rd level detail, while locations are the first level masters. I hope this is not too confusing ;o)
    NOTE2: the example code is not guaranteed to work with the JHSdemo. I just changed the names of variables and classes from my own application to the familiar entities of the demo.
    STEP 1: Generate plain MD screens for the first and second level entities (table-form) using the JHS application generator and make sure all generated features you want in your page are OK. Afterwards, switch off the UIX generation in your application structure file. If you want multiple entities at the third detail level,
    STEP 2: Add the functional contents of the generated 3rd level detail UIX page to the main master UIX page, right underneath the 2nd level detail-table but still inside the <header> entity of this 2nd level detail. (I'm not too sure whether this really matters, but at least the indentation looks nice). What I call "functional contents" is the <header> entity containing the 3rd level detail table.
    STEP 3: Edit the java file of the 3rd level view object, adding a variable storing the identifier (primary key) of the currently selected 2nd level detail row. If you haven't used the java file before, generate it by doubleclicking the view object and checking the generate view object box in the Java screen.
    private String $selectedDeptID;
    public void setSelectedDeptID(String id) {
    $selectedDeptID = id;
    STEP 4: Edit the java file of your application module (in the model layer) and add a method for updating the view objects search queries like the example below:
    public void updateEmployeeView(String deptID) {
    // fetch the view object instance
    EmployeeViewImpl view = (EmployeeViewImpl)this.getEmployeeView1();
    // register the currently selected departments ID
    view.setSelectedDeptID(deptID);
    // re-execute the view objects query
    view.executeQuery();
    // reset the selected ID
    view.setSelectedDeptID(null);
    STEP 5: Create a java class for handling the event when a user selects a different 2nd level detail row.
    package view;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpSession;
    import oracle.adf.controller.struts.actions.DataActionContext;
    import oracle.adf.model.BindingContext;
    import oracle.adf.model.bc4j.DCJboDataControl;
    import oracle.adf.model.binding.DCDataControl;
    import oracle.adf.model.binding.DCUtil;
    import oracle.cabo.servlet.BajaContext;
    import oracle.cabo.servlet.Page;
    import oracle.cabo.servlet.event.EventResult;
    import oracle.cabo.servlet.event.PageEvent;
    import oracle.cabo.servlet.ui.data.PageEventFlattenedDataSet;
    import oracle.cabo.ui.data.DataObject;
    import oracle.cabo.ui.data.DataSet;
    import oracle.cabo.ui.beans.table.SelectionUtils;
    import oracle.jbo.ApplicationModule;
    * USER-DEFINED EVENT-HANDLING CLASS
    * this class is triggered after the user selects another row in the Department
    * table/form in the Locations.uix screen. It derives the ID (pk) of the
    * selected row and launches the AppModule method to update the view objects
    * select queries with the selected DeptID.
    public class RowSelector
    * private variable holding the name of the DataControl module for this
    * Application Module
    private static final String DATACONTROLNAME = "AppModule" + "DataControl";
    * private variable holding the name of the table/form object in the uix page
    * from which we want to derive the selected row data.
    private static final String TABLEFORMNAME = "DepartmentsView2";
    * private variable holding the name of the form field holding the database
    * ID (pk) of a row in the ${TABLEFORMNAME} table/form
    private static final String IDFIELDNAME = "Dept_ID";
    * This method fetches the ID of the user-selected row in the DepartmentsView2
    * table/form in the Locations.uix form.
    * Afterwards, it fires the ApplicationModule method for updating the view objects
    public static EventResult doSelectionEvent(BajaContext bc, Page page, PageEvent event)
    try {
    // create a new FlattenedDataSet for the table name
    DataSet tableInputs = new PageEventFlattenedDataSet(event, TABLEFORMNAME);
    // fetch the UI table index from the DataSet (NOT the pk from the db)
    int index = SelectionUtils.getSelectedIndex(tableInputs);
    // fetch the DataObject representing all the input elements on the current table row.
    DataObject row = tableInputs.getItem(index);
    // fetch the value of the input field holding the ID (pk) of the selected department row
    Object value = row.selectValue(null, IDFIELDNAME);
    if (value != null) {
    // tell the AppModule to update the appropriate view object(s)
    getAppModuleImpl(bc.getServletRequest()).updateEmployeeView(value);
    // quick and dirty exception handling. not too many exceptions possible due to
    // hard-coded field/table/module names. anyway, taking no action at all is not
    // that bad an option for a demo ;o)
    } catch (Exception e)
    e.printStackTrace();
    return null;
    * method for fetching the active Application Module
    public static AppModuleImpl getAppModuleImpl(HttpServletRequest request)
    BindingContext ctx = DCUtil.getBindingContext(request);
    DCDataControl dc = ctx.findDataControl(DATACONTROLNAME);
    AppModuleImpl service = (AppModuleImpl)dc.getDataProvider();
    return service;
    STEP 6: Override the executeQueryForCollection method in your view object java file to make sure it uses the selected 2nd level detail rows ID for the bound variable specifying the 3rd level select query. Otherwise, the select query for the 3rd level detail set appears to use the ID of the first 2nd level detail row selected for the currently selected 1st level master. In the example below, no other bound variables are used in the view object, otherwise, the indexing might have to be adjusted.
    protected void executeQueryForCollection(Object qc, Object params[], int noUserParams) {
    if ($selectedDeptID != null) params[0] = $uur;
    super.executeQueryForCollection(qc, params, noUserParams);
    STEP 7: In the Locations.uix page, set a primaryClientAction for the radio select input in the 2nd level detail screen. This action should fire an event (fe 'userChoseDepartment') and refresh the 3rd level detail tables using the partial refresh options in the primaryClientAction dialog window. Afterwards, add an event handler to the bottom of your Locations.uix page, linking the event specified before to the doSelectionEvent in the RowSelector class.
    So, that's how it worked for me. I hope it does the same for you and please do post any comments or remarks if problems arise or simplifications are possible. The more remarks or bugs appear in the above code, the more the JHS team is hinted to enable auto-generated 3rd level detail screens :-D
    Cheers,
    benjamin

    Benjamin,
    Thank you for sharing your expreinces with us!
    A few remarks:
    1. With JHeadstart 10.1.2.1 you can generate unlimited master-detail levels in the same page when using UIX and table-layout for the detail groups This feature is implemented usin g UIX table detail disclosure: when you click on the "show" link in a row in of the level 2 detail table, you will see in the detail disclosure area the level 3 detail table.
    There is a screen shot of this feature in the JHeadstart Developers Guide for 10.1.2.1, chapter 3, section "Creating Table Pages". You can now download the dev guide from the JHeadstart Product Center:
    http://www.oracle.com/technology/consulting/9iservices/jheadstart.html
    2. You have a lot of steps related to synchronizing the level 3 ViewObject with the level 2 ViewObject. You can leave all this work to ADF Business Components, by adding the l;evel 3 ViewObject as a nested usage to the level 2 ViewObject in your application module data model.
    Ths would save you the work you aredoing in steps 3 to 6.
    Steven Davelaar,
    JHeadstart Team.

  • Indicator to include component scrap in the details screen of MFBF tcode

    Hi ,
    There is an indicator in the 'Details' screen of MFBF transaction to "Include Component scrap".
    User has to select this indicator everytime he wants to include the component scrap or is there a way to save this setting ?
    If it is defaulted from some config settings ..please let me know where it is maintained.
    Your inputs would be highly appreciated.
    Regards,
    Sastry

    Sastry,
    You need to Implement the solution provided in OSS Notes#361630 for your requirement.
    Regards,
    Prasobh

  • How to reload the screen when changing languages in JavaFX 2?

    I'm beginner with javaFX and i need to change language of the screen. but i have no idea how to reload the screen when the language was changed. The application have a button where have the language available. I want just refresh screen when the user change language.
    Here is the start method to show the stage.
        @Override
        public void start(Stage stage) throws Exception
            this.stage = stage;
            Locale locale = Locale.getDefault();
            ResourceBundle rb = ResourceBundle.getBundle("resources/Label",locale);
            loader = new FXMLLoader(getClass().getResource("FXMLDocument.fxml"),rb);
            root = (Parent)loader.load();
            FXMLDocumentController controller = (FXMLDocumentController) loader.getController();
            controller.setMain(this);
            scene = new Scene(root);
            stage.setScene(scene);
            stage.show();
    here is the function to change the language(in the same class with start function),the rb is the new ResourceBundle:
        public void refresh(ResourceBundle rb)
              //change the language here
    1. I don't want to use the resourceBundle to get value in resource file and set label in scene one by one.like following:
    this.btnLabel.setText(rb.getString(key.test));
    2. I don't want to reload the scene,like following:
        public void refresh(ResourceBundle rb)
             try
                loader = new FXMLLoader(getClass().getResource("FXMLDocument.fxml"),rb);
                root = (Parent)loader.load();
                scene.setRoot(root);
                FXMLDocumentController controller = (FXMLDocumentController) loader.getController();
                controller.setMain(this);
            catch(Exception err)
                err.printStackTrace();
    So do we have a solution to just set the resourceBundle and reload the scene easier?
    Thanks and best regards!

    Your option 2 (reload the FXML for the scene using the new resource bundle as a parameter), is the way this would normally be done and what I would recommend.
    Failing that, you could use option 1 of individually resetting the label text of labeled items (I don't really recommend this).
    Why don't you want to use option 2?
    Perhaps it is because there is some internal state of the UI which differs from the initial state when the the UI is first loaded (e.g. user has typed text in a text field and you want to preserve that).  If that's the case you will need to either go with your option 1 of individually resetting the label text of labeled items, or implement something which preserves the UI state and user data by saving it in memory or to disk, reloading the UI via the FXMLLoader (essentially your option 2), then restoring the UI state and user data to what it was before the language change.  Preserving and restoring the modified state seems complicated to me if you have a lot of state, so I wouldn't really advise this approach unless you really needed it.

  • Problem with primary key violation in master-detail screens

    Hi,
    I found a problem/bug in master-detail screens in which the PK of the detail table consist of the PK of the master table and an additional column. E.g. a manually entered sequence 'in parent'.
    I will use the following simple scenario to explain the problem (it's easy to reproduce):
    PROJECT table
    # id (PK)
    * name
    PROJECT REQUIREMENTS table
    # prj_id (PK)
    # sequence_id (PK)
    * description
    Just create the BC EO, VO and AM and set both display properties of the prj_id attribute of the project requirements VO to hidden.
    Create a new screen in the application structure file in which you can select a project (table-form layout) and display the details (table layout) on the same page.
    With this basic setup you can generate the app to enter, update and delete projects and their requirements.
    The problem occurs if you have a project with a least 1 requirements stored in the database and you try to enter a second requirement with an existing sequence_id within the project. This is an use case in which a end-user enters wrong data.
    So assume we have in the database:
    prj_id sequence_id description
    ====== =========== ===========
    1 1 req1
    and the end-user enters (prj_id is entered automatically as it's not displayed):
    1 1 req2 >> user should have enterd sequence_id 2...
    Step 1. If you try to save an error will be displayed:
    JBO-25013: Too many objects match the primary key oracle.jbo.Key[227300 1 ].
    And the sequnece_id is emptied automatically.
    Step 2. So the end-user re-enters the sequence_id but fills in 2 now and saves.
    Another error is displayed: JBO-27014 sequence_id in AppModule is required
    How strange? Everything is filled in already.
    Step 3. If you just hit save again (without changing anything) you got a transaction completed successfully.
    I checked the logfiles and noticed an exception during after executing step 2.
    oracle.jbo.AttrValException: JBO-27014: Attribute SequenceId in AppModule.ProjectRequirementsView2 is required     at oracle.jbo.AttrValException.<init>(AttrValException.java)     at oracle.jbo.server.JboMandatoryAttributesValidator.validate(JboMandatoryAttributesValidator.java)     at oracle.jbo.server.EntityDefImpl.validate(EntityDefImpl.java:2051)     at oracle.jbo.server.EntityImpl.validateEntity(EntityImpl.java:1373)     at mypackage1.ProjectRequirementsImpl.validateEntity(JwTekeningnummerImpl.java:273)     at oracle.jbo.server.EntityImpl.validate(EntityImpl.java:1508)     at oracle.jbo.server.EntityImpl.validateChildren(EntityImpl.java:1232)     at oracle.jbo.server.EntityImpl.validateEntity(EntityImpl.java:1339)     at oracle.jbo.server.EntityImpl.validate(EntityImpl.java:1508)     at oracle.jbo.server.DBTransactionImpl.validate(DBTransactionImpl.java:3965)     at oracle.adf.model.bc4j.DCJboDataControl.validate(DCJboDataControl.java:967)     at oracle.adf.model.binding.DCBindingContainer.validateInputValues(DCBindingContainer.java:1683)     at oracle.jheadstart.view.adfuix.JhsInitModelListener.validateInputValues(JhsInitModelListener.java:193)     at oracle.jheadstart.view.adfuix.JhsInitModelListener._doModelUpdate(JhsInitModelListener.java:166)     at oracle.jheadstart.view.adfuix.JhsInitModelListener.eventStarted(JhsInitModelListener.java:92)     at oracle.cabo.servlet.AbstractPageBroker._fireUIXRequestEvent(Unknown Source)     at oracle.cabo.servlet.AbstractPageBroker.handleRequest(Unknown Source)     at oracle.cabo.servlet.ui.BaseUIPageBroker.handleRequest(Unknown Source)     at oracle.adf.controller.struts.actions.StrutsUixLifecycle$NonRenderingPageBroker.handleRequest(StrutsUixLifecycle.java:325)     at oracle.cabo.servlet.PageBrokerHandler.handleRequest(Unknown Source)     at oracle.adf.controller.struts.actions.StrutsUixLifecycle._runUixController(StrutsUixLifecycle.java:215)     at oracle.adf.controller.struts.actions.StrutsUixLifecycle.processUpdateModel(StrutsUixLifecycle.java:106)     at oracle.jheadstart.controller.strutsadf.action.JhsStrutsUixLifecycle.processUpdateModel(JhsStrutsUixLifecycle.java:140)     at oracle.adf.controller.struts.actions.DataAction.processUpdateModel(DataAction.java:317)     at oracle.jheadstart.controller.strutsadf.action.JhsDataAction.processUpdateModel(JhsDataAction.java:622)     at oracle.adf.controller.struts.actions.DataAction.processUpdateModel(DataAction.java:508)     at oracle.adf.controller.lifecycle.PageLifecycle.handleLifecycle(PageLifecycle.java:112)     at oracle.adf.controller.struts.actions.StrutsUixLifecycle.handleLifecycle(StrutsUixLifecycle.java:70)     at oracle.adf.controller.struts.actions.DataAction.handleLifecycle(DataAction.java:223)     at oracle.jheadstart.controller.strutsadf.action.JhsDataAction.handleLifecycle(JhsDataAction.java:389)     at oracle.adf.controller.struts.actions.DataAction.execute(DataAction.java:155)     at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)     at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)     at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1485)     at oracle.jheadstart.controller.strutsadf.JhsActionServlet.process(JhsActionServlet.java:127)     at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:527)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:765)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)     at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)     at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)     at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)     at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:239)     at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:20)     at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:239)     at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:20)     at oracle.jheadstart.controller.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java)     at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:645)     at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322)     at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)     at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)     at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)     at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)     at java.lang.Thread.run(Thread.java:534)
    This also explains why I got a error message within the application at step 2, but not an expected error message!
    From the logfile I can see something is going wrong in the oracle.jbo.server.EntityImpl.validateEntity method.
    To get more insight what was goning on I overridden the validateEntity method in my VO Impl class:
    protected void validateEntity()
    System.out.println("MARCEL>> sequenceId=" + getSequenceId());
    System.out.println("MARCEL>> description=" + getDescription());
    super.validateEntity();
    In step 1 the validateEntity is not called.
    In step 2 the sequeceId = null (and description = reg2)
    I expected the sequeceId to be 2 now as I entered this. Furthermore if I look at the (JhsActionServlet) request parameters in the log, I can see that the value of the sequenceId was 2. I guess something is going wrong at this point in converting the request parametes to the EO.
    In step 3 the sequeceId = 2 (as expected)
    Note that I'm using the evaluation copy version of JHeadstart 10.1.2.
    If this was patched in any later build, could you please tell which changes I have to make to the JHS sources to solve this problem.
    Regards,
    Marcel

    Marcel,
    I cannot reproduce this in version 10.1.2.2. We did not "fix" this, although changes in the runtime might have fixed this "silently". I suggest you upgrade to 10.1.2.2 and see whether you still get the error.
    Steven Davelaar,
    JHeadstart Team.

  • Total column not changed between header & detailed screen

    I have a report with header data contains contracts information and detailed data contains orders, debit credit memo related to the contracts.  I write the report using CL_SALV_TABLE to display  contract value, usage  in full ALV_GRID. When I double click on a contract line, it will go to the second screen to show all orders related to that contract.  The second screen with orders information will be in a screen on a container with all standard function ( Export list to Excel, Word format etc..), sort, total and sub total) and a push button to go back to first screen.
      The report works fine but when I am on the second screen, I total and sub total the amount on that screen in order to check with total value in header record and it total up correctly by currency.
    But when I go back to the first screen, select a different contract record,  double click on the line to get to the order info screen,  all order data display correctly except that the total column still show amount from the previous detailed screen.  If I select the column again and click the total, it will total correctly.   I did refresh the data in the screen before go back to first screen but it does not solve the problem.
    DOES ANYONE HAVE A SIMILAR SYMPTON LIKE THIS? 
    Thanks for your advice.
    On the order detailed screen, I create a container with screen 100 and write PAI, PBO like this:
    Screen 100:
    process before output.
      module status_0100.
      module load_data_to_control.   "Load usage data to screen
    process after input.
    module user_command_0100.
    module status_0100 output.
      set pf-status 'PF100'.
      set titlebar 'T100'.
    endmodule.  
    module load_data_to_control output.
      if gr_cont is not bound.
        create object gr_cont
          exporting
            container_name = 'CONTAINER_100'
          exceptions
            others         = 1.
        if  sy-subrc <> 0.
          message a052(zvn) with
          ' No container object found'.
        endif.
        try.
            cl_salv_table=>factory(
            exporting
         list_display   = list_display
              r_container = gr_cont
          container_name =
            importing
              r_salv_table = gr_alv_2
            changing
              t_table = gt_orders
          catch cx_salv_msg into gr_error.
        endtry.
        perform set_functions.        " Set all standard function in screen 100
        perform set_column_order using gr_alv_2.       "Set column format, display
        perform handle_events.                       "Register events for selection mode & user commands
         Display order screen 0100
        gr_alv_2->display( ).
      else.
        gr_alv_2->refresh( ).
    endif.
    module user_command_0100 input.
      data: wa_d type gt_dtab,
            ls_contract type vbeln,
            ls_order    type vbeln,
            ls_invoice  type vbeln,
            ls_belnr type belnr_d,
            ls_row   type char10.
      data: l_text type char128.
        case  sy-ucomm.
        when 'RETURN' or 'BACK' or 'EXIT' or 'CANCEL'.
    *... refresh the table in order to see the new data
          gr_alv_2->refresh( ).
          leave to screen 0.
        when others.
      endcase.
    endmodule.                 " USER_COMMAND_0100  INPUT

    Hi ,
    When you are using the CL_SALV_TABLE, what is the use of screen 100. Better populate the evnts table in CL_SALV_TABLE
    Cheers
    Pavan

  • Withholding tax details screen

    Hi ! I've created a report to display vendor withholding tax details. Now, i want to open the Withholding Tax details screen as soon as the user clicks on the vendor code in the report.
    Following code used to call the XK02 screen:-
    FORM USER_COMMAND USING LV_UCOMM LIKE SY-UCOMM SELFIELD TYPE SLIS_SELFIELD.
      CASE LV_UCOMM.
        WHEN '&IC1'.
          READ TABLE IT_VENDOR INDEX SELFIELD-TABINDEX.
          CASE SELFIELD-FIELDNAME.
            WHEN 'LIFNR'.
              SET PARAMETER ID 'LIF' FIELD IT_VENDOR-LIFNR.
              SET PARAMETER ID 'BUK' FIELD IT_VENDOR-BUKRS.
              CALL TRANSACTION 'XK02' AND SKIP FIRST SCREEN.
          ENDCASE.
      ENDCASE.
    ENDFORM.                    "USER_COMMAND
    Please help.

    Hi Dear
    Check similar kind of reuirement i have done for FD33
    CASE P_COMM.
    Double Click Event
        WHEN '&IC1'.
    IF LS_SELFIELD-TABINDEX > 0 AND LS_SELFIELD-SUMINDEX LE 0.
            READ TABLE PAYER_KNKK_1 INTO LS_PAYER INDEX LS_SELFIELD-TABINDEX.
            PERFORM BDC_DYNPRO      USING 'SAPMF02C' '0100'.
            PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                          'RF02L-D0210'.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '/00'.
            PERFORM BDC_FIELD       USING 'RF02L-KUNNR'
                                          LS_PAYER-KUNNR.
            PERFORM BDC_FIELD       USING 'RF02L-KKBER'
                                          LS_PAYER-KKBER.
            PERFORM BDC_FIELD       USING 'RF02L-D0210'
                                          'X'.
            PERFORM BDC_DYNPRO      USING 'SAPMF02C' '0210'.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '=UPDA'.
    opt-dismode = 'E'.
    opt-defsize = 'X'.
    CALL TRANSACTION 'FD33' USING  I_BDCTAB OPTIONS FROM opt.
          ENDIF.
      ENDCASE.
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
                I_BDCTAB-PROGRAM  = PROGRAM.
                I_BDCTAB-DYNPRO   = DYNPRO.
                I_BDCTAB-DYNBEGIN = 'X'.
                APPEND I_BDCTAB.
                CLEAR I_BDCTAB.
      endform.
        FORM BDC_FIELD USING FNAM FVAL.
        I_BDCTAB-FNAM = FNAM.
        I_BDCTAB-FVAL = FVAL.
        APPEND I_BDCTAB.
        CLEAR I_BDCTAB.
        ENDFORM.                    "bdc_field
    May be helpful.

  • Problem with users search

    Hello,
    I'm trying use the tasks functionality in portal however when I try to get the user to assign te task the search don't returns anything.
    I've used the standard demo also and it doesn't work, has somebody got this problem?
    thanks
    Wagner Moreira

    Hi Wagner,
    Typically you can do a wildcard search (using *) for first/last name and user ID, based on the attribute values defined for the user search. Please note that the return key on your keyboard does not start the search, but serves as a separator between multiple entries (you have to click "Select" to start the user search).
    You can change the configuration of the user search function delivered by SAP – the assignment of attributes to system users and the definition of the attributes relevant for the search – to suit the requirements of your company.
    For more details, take a look at http://help.sap.com/saphelp_nw04s/helpdata/en/b1/6a55422f4d3830e10000000a155106/frameset.htm
    Hope this helps
    Christian Stadler
    SAP NetWeaver Product Management

  • Create a screen for user input in BI

    Hi Experts,
    I want to know can i creat a screen for user input in BI with module pool programing
    and i want to store the data in ztable in SAP-BI.
    Moderator message: please search for available documentation, these forums are no substitute for ABAP training.
    Edited by: Thomas Zloch on Dec 10, 2010 8:37 PM

    I'm afraid that I cannot get it. I had a look at the docs you suggested before posting, and still, no luck (...)
    JOptionPane.showMessageDialog(dialog, "Please input info");Can you please tell me what I'm doing wrong and I cannot add the JDialog to the JOptionPane?Re-read the API and tutorial. JOptionPane is meant specifically to spare you from instantiating manually a JDialog. The showXxxDialog(...) methods do create a JDialog of their own, based on the contents supplied as arguments.
    In particular, using the 2-arguments variation showMessageDialog(Component parentComponent, Object message):
    - The first argument parentComponent is not be the dialog you want to display, but the component over which you want the dialog to appear. The most typical value are this or null.
    - The second argument is the "message" to display, but as described in the API, it can be a JComponent, that is, even a JPanel with child widgets (in a word, a JPanel containing the specific form you'd display in the dialog if you were writing the dialog manually).
    Again, at the risk of insisting densely, I'm only quoting the API an tutorial, so please read them attentively.
    Edited by: jduprez on Nov 2, 2009 2:29 PM - Sorry Kevin, hadn't seen you latest reply. I completely subscribe to the thought process you recommend.
    Edited by: jduprez on Nov 2, 2009 2:32 PM
    Thinking about it further, I don't completely subscribe... Indeed it looks like a bad idea to make the OP wonder about dialog.setVisible() when JOptionPane enables him to forget about the hand-made dialog. I stand by my own advice ("JDialog" should not even appear in this code extract).

  • Ess wda: updating Iban for insert/copy/modify in bank detail screen for germany

    Hi,
    We are using standard detail screen HRESS_CC_PER_DTL_BANK_DE for Germany, We have observed that even if the user changes/updates/creates the new record without filling Iban field system will not throw any error which is correct as per V_T588MFPROPC as we have not made it mandatory. but we have an option to populate Iban using specific button in PA30, can we have the same functionality in ESS? Can we implement HRPAD00INFTYDB for this purpose? Is there any other option for this functionality?
    Thank you,
    Krishna kishore T.

    I can solve this issue implementing the BAdI HRPAD00INFTYDB
    Summary of configuration options in ESS Personal Information scenario
    Regards

  • Link for Details screen

    Hi!
    I wonder why the link for the details screen of documents ans folders is only visible for users which have write permissions to these folders and documents. In my opinion every user who has read permissions should have the possibility to look at the details screen.
    Can anyone explain this?
    We are talking about KM in a NW2004s SPS10 installation on Windows 64bit.
    Cheers
    Christian

    By standard, the details screen is visible to all users with read access.  There must have been a change in your portal to disable this.
    If you are using a non-standard layoutset, make sure you haven't removed the standard details command from the comand group.
    It might also be worth checking that your layoutset is using the standard "commands for details menu".
    If you check all of these, then you should be able to narrow down where the problem lies.
    Chris

  • GRC AC - HCM as user search data source

    Hello all,
    I´ve configured GRC AC to user HCM as user search data source and also user details data source. During my user change tests through the "Access Request" function, I noticed that only existent users at SU01 and HCM (checked through PA30) appear in the access request User Selection. Existent users at HCM but not at SU01 doesn´t appear.
    Someone can tell me why? I mean, if I configured the user search to use HCM as data source, shoudn´t it bring all HCM users regardless of his existence at SU01?
    Thanks in advance,
    Pedro

    Hi Pedro,
    You only have confirmed that 2 accounts are maintained in HCM and in SU01 as well, so you would be able to see these accounts' details both ways.
    Yes, you are right about user account maintenance first in HCM at the time of new hire, then you can manually raise the access request to grant them access to various SAP systems. Or in order to automate this process as Prasahant suggested, you can take help from HR Triggers.
    You can refer: GRC 10.0 - HR Trigger configuration - Governance, Risk and Compliance - SCN Wiki
    But responding to your original discussion, whatever user accounts are maintained in HCM you would see those details provided you define HR for the "user search data source" AND from SU01 for "user detail data source"
    In your case you have 2 accounts which have been maintained in HCM as well as SU01, so that is what creating confusion for you.
    Let us know if you need any more clarifications.
    Regards,
    Ameet

Maybe you are looking for