JSP Single Page Table Edits

I am working on a project in which the client wants to make changes to an HTML table of values without going back and forth to an edit page (as provided by the wizard).
So in my case I would present a list of items to update in an HTML TABLE, which is part of a FORM. Each item or row of the table would have the current value in an INPUT control. The user would enter a new value for each of the items and click on SUBMIT. The FORM submit action is the same page. The values would then be saved to the database. The number of rows or items in the table can vary, so it is dynamic. Also the client wants only 1 submit button, so using the EDIT BC4J component in the native form won't work as it creates a separate form for each row.
I have done this sort of thing only using traditional JSP and HTML. However, I am trying to use BC4J and the associated tag library. Could you please provide an example of doing this?
In the ways that I tried to do this, I have been successful in displaying the table and the edit boxes. However, I have not been able to get the values off the HTTP request and save the values.
Thanks for your help.

I want my applications' (which is deployed in my local system) JSP to invoke my servlet not any other client browser. Because when the browser points to the index.jsp url,the servlet gets invoked.
For them I want only a view page containing data which will refresh itself in 5 seconds,here in my case my index page which is invokes the servlet is getting refreshed,that is my problem. I want a page to view the data that the servlet provides and refresh itself.

Similar Messages

  • Single row editing for multiple tables in a single page

    Hi!
    I have split a table with many many columns into more tables with a lower number of columns. There is an ID column (sequence generated) that is Primary Key common for all tables. Obviously, the relationship between these tables is 1 to 1, so it’s not about having to build master-detail pages.
    What I need now is to edit all these tables in a single page: one single row from each table. The Automated Row Fetch & Automatic Row Processing (DML) processes used for the old table must be replaced by something else.
    Is there a way to use in a single page more pairs of such processes for more tables?
    I want to avoid manually writing processes with lot of PL/SQL code to handle row fetch & update.
    Keep in mind that the page will have an ID item that can be used to identify unique rows in all my tables.
    Thanks,
    Sorin

    I have split a table with many many columns into more tables with a lower number of columns
    IMHO that is a very bad idea. There is nothing wrong with having many columns in a table. If you would like to split them to better "categorize" them, just create views on the table and expose different subsets of the columns.
    I want to avoid manually writing processes with lot of PL/SQL code to handle row fetch & update.
    That is unavoidable given how you have designed the underlying tables.
    You could try creating a view that joins all the tables by the PK and creating a form based on that view. Then write a INSTEAD OF trigger on the view that "doles out" the DML on the view to each of the underlying tables.

  • How can I sort multiple tables on a single page as if they were one continuous table?

    I have a single narrow column of numbers that cover multiple pages. I would like to do either of the following: break that long single column into multiple colums that fit on one page and are still able to be sorted in that arrangement OR sort the long column as it is (spread out over multiple pages) and then break that long sorted column down into multiple segments that can be placed onto a single page.
    I have been sorting the long single column, then copy and pasting sections from the column onto a new page so that I can print them on a single page.
    I am hoping there is a more elegant method to do this.

    Hi Walt,
    Sorting is one of the things that changed between Numbers '09 and Numbers 3. If you are on Mountain Lion I want to assume you are using '09. Is that true?
    This will work in '09 and 3. Table one is a single column with entries 1-89.
    A2 ==INDEX(Table 1 :: $A,ROW())
    B2 =INDEX(Table 1 :: $A,ROW()+35)
    C2 =INDEX(Table 1 :: $A,ROW()+70)
    The formulas are filled down.
    You can adjust the formulas in B and C to reflect how many rows fit on your page.
    quinn

  • I'm editing a 24 page booklet which when I open in Pages 5.0.1 is single pages.  How can I change the format to facing pages to give to the printer?

    I'm editing a 24 page booklet which was done about a year ago in another version of Pages.  When I open it now in Pages 5.0.1 it comes up as single pages.  My question is how do I get it back to a facing pages format to give to the printer?

    Export to Pages 09 and use that. Version 5.1 lacks the ability to use alternating left/right margins and many,many other features that are present in Pages 09.  Pages 5.1 adds back a vertical ruler ( why ever was it omitted?) but still lacks about 90--that's nine zero, as in "nearly 100"-- features that were in Pages 09.  Some of these features are obscure , some very basic.  At this point, however, Pages 5.1 is a novelty application, basically useless for any serious work

  • How do I access other areas of a single page website via in browser editing

    I have created a single page website in adobe muse. The menu is made up of hyperlinks to jump to other areas of the website. I would like to update a slideshow that is NOT on the home screen only I cannot access any other area of the website via Business Catalyst in browser editing apart from elements on the home screen.

    You can click the Menu Item which will scroll the page to that specific section and then you can use edit.
    Thanks,
    Sanjit

  • Database using in jsp : want to show 10 records on  a single page

    hi ,
    my probem is i want to show 10 records from database to html page using jsp in a table,with two links Next and Rrevious.when user click next table will show next 10 records and so on.
    and when user click on previous then table have to show previous 10 records to table.
    how can i do this i m using rs.abolute(), but it doesn't do as i want.
    plz help me

    afterv accessing alll the data from databse put them into an array and put this array in user's session and now when user clicks on next or previous extract the data from the array not from database it ill also decrease server load..

  • How to solve showing thousand of records in table in single page.....??

    Hi Guys ,
    I have a table bind to ObjectListDataProvider and using hibernate 3
    i set the pagination rows to 10 per page and enable the paginate button to true
    but i was wondering why the application server or rather the JSF itself cannot handle lots of records displaying in one page.
    for example i have 150 pages for 10 rows per page each
    if i click paginate button to show all in single page , the cpu utilization hit 99% and my application will hang.
    but it works okay if i have 8-9 pages for 10 rows per page and show all of them in single page.
    Is there any way i can fix this or tune this up?
    anyone experiencing this before?
    Thanks

    Solved.
    Somewhere in our code, while populating one of the columns of the table, we were resetting the VO which was causing the issue. Modified that method call to add a parameter to mention from which row should the table be populated.
    Thanks
    Nagamanoj

  • How to use a single page for create and update mode.

    Hi,
    I need to develop a single page to be used for both create and update modes.
    I am going to use a variable MODE
    and i will set this in the emp summary page.
    Based on the button clicked by the user i have to render the JSF page.
    For tis if the user selects a perticular and cliks on update thn i will pass the empno to the next.
    so there in the next i will appy a ViewCreiteria on my View Obj to fetch only that row so that only that emp will be displayed ion update mode.
    This is working fione for me.
    So now the issue is
    when the user clicks on CreatEmp button.
    i need to enable my VO for insert operations.
    for this i wrote the code like this in the beforePhase event
    FacesContext ctx = FacesContext.getCurrentInstance();
    ValueBinding valBinding = ctx.getApplication().createValueBinding("#{data}");
    BindingContext bContext = (BindingContext) valBinding.getValue(ctx);
    DCDataControl dcControl = bContext.findDataControl("DataControl");
    Application app = ctx.getApplication();
    ApplicationModule am = (ApplicationModule) dcControl.getDataProvider();
    System.out.println("After Appmodule initiation");
    // get the VO reference and initiate the query
    System.out.println("Before Page VO initiation");
    PrismDmPageSectionViewImpl vo = (ViewImpl)am.findViewObject("View");
    //ViewRowImpl row = (ViewRowImpl) vo.createRow();
    /* TO CREATE AN EMPTY ROW*/
    Row row=vo.createRow();
    System.out.println("New Row is created");
    //vo.createKey(row);
    vo.insertRow(row);
    vo.setCurrentRow(row);
    By doing this a new empty page is rendered.
    But when i fill up the values and click on ok.. i am getting the error like this..
    JBO-27023: Failed to validate all rows in a transaction.
    JBO-27027: Missing mandatory attributes for a row with key null of type View3
    JBO-27014: Attribute Id in View3 is required
    JBO-27014: Attribute PageeId in View3 is required
    Please point me out where i am missing.
    Thanks

    Hi,
    In my opinion you are over complicating things.
    This is what I do for using the sme page as both create and update without all this code.
    1) Create a browse page containing a an adf table with a select one component bound to your view object.
    2) Create an additional edit page containing only an edit form containing fields of your view object that your users must enter in order to add or edit rows.
    3) Link the pages in the JSF diagram with an "edit" navigation case from browse to edit page and a "return" navigation case from edit to browse (make sure that redirect option is NOT set on both cases)
    4) Remove the submit button from the edit page and add two application module bindings for the commit and rollback operations as command buttons in the form footer facet. Make sure that both buttons has an action of return and that their disabled property is set to false. You will probably change their labels to ok and cancel respectively.
    5) Drop a create action for your view object from the data control palette inside your page as a command button and set the action property to edit also.
    3) Set the action property of the view button to edit
    This should basically work without any code from your part. -- at least it does so for me -- if you like to make it a bit more funcy you may add am action listener inside your buttons and set a requeScope variable for example #{requestScope.editing} to true or false depending on the button clicked. Then add a title to your page with a value like #{requestScope.editing == true ? 'Editing record' : 'Adding a new record'}..
    Hope that helps.
    Thanassis

  • How to change a single page orientation in pages

    I would like to know if anybody knows how to change a single page orientation in Pages.
    Thanks.

    Of course it unrotates the text if I'm editing the text box, but not when I'm resizing or changing font properties.  And when editng the text and there is an image beside it, the image obscures the text which makes editing exasperating. And since I got a table on landscape that exceeds 7.5" width, when trying to edit the last 2 columns,those become invisible on portrait, hence I'm unable to edit. And so has to set the doc to landscape, set to 0-deg, edit, set it again to portrait and 90-deg, and repeat if I happen to need to edit those invisible columns.  Really a great and efficient way to write my technical doc!  Which you would know IF YOU HAD TRIED IT -don't appreciate your sarcasm!
    You can defend this blatant failure all you want but this kind of inadequancy continues because people don't speak up and demand this reasonable function and instead are satisfied with work-arounds that makes things hard for relatively easy task. I'm a systems and applications designer, this is the type of "missing feature" that would cause our app to be rejected by our clients.  Surely you realized that because the users demanded, since 10.7, window resizing can be done from all corners instead of just right corners (or was it only bottom right)?  I was shocked when I discovered this 2yrs ago when I switched to Mac and started using Snow Leopard. I'm grateful that I can now resize on 4's.

  • Multiple ALV GRID reports on a single page

    hi all
    I have an  urgent requirement where I need to show 2-3 alv grids on a single page. Please let me know if it is possible to do so. If yes how. Sample code would be very helpful.
    thanks in advance.
    <REMOVED BY MODERATOR>
    Edited by: Alvaro Tejada Galindo on Apr 16, 2008 1:45 PM

    HI,
    Create multiple custom containers and call the method   CALL METHOD sap_grid->set_table_for_first_display multiple times.
    This will display multiple ALV grids on a single page.
    Code Below:
    MODULE create_objects OUTPUT.
      CREATE OBJECT g_custom_container
         EXPORTING
       PARENT                      =
           container_name              = 'CUST_CRTL'
       STYLE                       =
       LIFETIME                    = lifetime_default
       REPID                       =
       DYNNR                       =
       NO_AUTODEF_PROGID_DYNNR     =
      EXCEPTIONS
        cntl_error                  = 1
        cntl_system_error           = 2
        create_error                = 3
        lifetime_error              = 4
        lifetime_dynpro_dynpro_link = 5
        OTHERS                      = 6
      IF sy-subrc <> 0.
        MESSAGE e143(z1).
      ENDIF.
    *Create object for sap grid
      CREATE OBJECT sap_grid
        EXPORTING
         I_SHELLSTYLE      = 0
         I_LIFETIME        =
           i_parent          = g_custom_container
         I_APPL_EVENTS     = space
         I_PARENTDBG       =
         I_APPLOGPARENT    =
         I_GRAPHICSPARENT  =
         I_NAME            =
       EXCEPTIONS
          error_cntl_create = 1
          error_cntl_init   = 2
          error_cntl_link   = 3
          error_dp_create   = 4
          OTHERS            = 5.
      IF sy-subrc <> 0.
        MESSAGE e144(z1).
      ENDIF.
      CREATE OBJECT g_custom_container1
         EXPORTING
       PARENT                      =
           container_name              = 'CUST_CRTL1'
       STYLE                       =
       LIFETIME                    = lifetime_default
       REPID                       =
       DYNNR                       =
       NO_AUTODEF_PROGID_DYNNR     =
      EXCEPTIONS
        cntl_error                  = 1
        cntl_system_error           = 2
        create_error                = 3
        lifetime_error              = 4
        lifetime_dynpro_dynpro_link = 5
        OTHERS                      = 6
      IF sy-subrc <> 0.
        MESSAGE e143(z1).
      ENDIF.
    *Create object for sap grid
      CREATE OBJECT sap_grid1
        EXPORTING
         I_SHELLSTYLE      = 0
         I_LIFETIME        =
           i_parent          = g_custom_container1
         I_APPL_EVENTS     = space
         I_PARENTDBG       =
         I_APPLOGPARENT    =
         I_GRAPHICSPARENT  =
         I_NAME            =
       EXCEPTIONS
          error_cntl_create = 1
          error_cntl_init   = 2
          error_cntl_link   = 3
          error_dp_create   = 4
          OTHERS            = 5.
      IF sy-subrc <> 0.
        MESSAGE e144(z1).
      ENDIF.
      CREATE OBJECT g_custom_container2
         EXPORTING
       PARENT                      =
           container_name              = 'CUST_CRTL2'
       STYLE                       =
       LIFETIME                    = lifetime_default
       REPID                       =
       DYNNR                       =
       NO_AUTODEF_PROGID_DYNNR     =
      EXCEPTIONS
        cntl_error                  = 1
        cntl_system_error           = 2
        create_error                = 3
        lifetime_error              = 4
        lifetime_dynpro_dynpro_link = 5
        OTHERS                      = 6
      IF sy-subrc <> 0.
        MESSAGE e143(z1).
      ENDIF.
    *Create object for sap grid
      CREATE OBJECT sap_grid2
        EXPORTING
         I_SHELLSTYLE      = 0
         I_LIFETIME        =
           i_parent          = g_custom_container2
         I_APPL_EVENTS     = space
         I_PARENTDBG       =
         I_APPLOGPARENT    =
         I_GRAPHICSPARENT  =
         I_NAME            =
       EXCEPTIONS
          error_cntl_create = 1
          error_cntl_init   = 2
          error_cntl_link   = 3
          error_dp_create   = 4
          OTHERS            = 5.
      IF sy-subrc <> 0.
        MESSAGE e144(z1).
      ENDIF.
    ENDMODULE.                 " create_objects  OUTPUT
    *&      Module  fill_fcat  OUTPUT
          text
    MODULE fill_fcat OUTPUT.
      CONSTANTS : lc_x TYPE c VALUE 'X',
                  lc_a TYPE c VALUE 'D'.
    *Prepare field catalog for all Summary Report
      wa_field-fieldname = 'BUKRS'.
      wa_field-tabname = 'T_BSID_BSAD'.
      wa_field-outputlen = '12'.
      wa_field-col_pos = '1'.
      wa_field-coltext = text-002. "'Company Code'.
      APPEND wa_field TO fcat.
    CLEAR wa_field.
    wa_field-fieldname = 'CURR'.
    wa_field-tabname = 'T_BSID_BSAD'.
    wa_field-outputlen = '10'.
    wa_field-col_pos = '2'.
    wa_field-coltext = text-022."'Currency'.
    APPEND wa_field TO fcat.
      CLEAR wa_field.
      wa_field-fieldname = 'KUNNR'.
      wa_field-tabname = 'T_BSID_BSAD'.
      wa_field-outputlen = '10'.
      wa_field-col_pos = '3'.
      wa_field-coltext = text-005."'Customer Number'.
      APPEND wa_field TO fcat.
      CLEAR wa_field.
      wa_field-fieldname = 'NAME1'.
      wa_field-tabname = 'T_BSID_BSAD'.
    wa_field-outputlen = '13'.
      wa_field-col_pos = '4'.
      wa_field-coltext = text-007."'Customer Name'.
      APPEND wa_field TO fcat.
      CLEAR wa_field.
      wa_field-fieldname = 'KLIMK'.
      wa_field-tabname = 'T_BSID_BSAD'.
      wa_field-outputlen = '12'.
      wa_field-col_pos = '5'.
      wa_field-coltext = text-008. " 'Credit Limit'.
      APPEND wa_field TO fcat.
      CLEAR wa_field.
      wa_field-fieldname = 'DMBTR'.
      wa_field-tabname = 'T_BSID_BSAD'.
    wa_field-outputlen = '16'.
      wa_field-col_pos = '6'.
      wa_field-coltext = text-009. "'Current Balance Calculated'.
      APPEND wa_field TO fcat.
      CLEAR wa_field.
      CLEAR wa_field.
      wa_field-fieldname = 'BLNC'.
      wa_field-tabname = 'T_BSID_BSAD'.
      wa_field-outputlen = '23'.
      wa_field-col_pos = '7'.
      wa_field-coltext = g_bal_date. "'Balance b/f @ (Date taken from Z table) '.
      wa_field-fix_column = 'X'.
      APPEND wa_field TO fcat.
      CLEAR wa_field.
    CLEAR wa_field.
    wa_field-fieldname = 'DATE'.
    wa_field-tabname = 'T_BSID_BSAD'.
    wa_field-outputlen = '8'.
    wa_field-col_pos = '7'.
    wa_field-coltext = text-021. "'Balance b/f Date @ Z Table balance'.
    APPEND wa_field TO fcat.
    CLEAR wa_field.
      CLEAR wa_field.
      wa_field-fieldname = 'INVOICES'.
      wa_field-tabname = 'T_BSID_BSAD'.
    wa_field-outputlen = '13'.
      wa_field-col_pos = '8'.
      wa_field-coltext = text-012. "'Invoices'.
      APPEND wa_field TO fcat.
      CLEAR wa_field.
      CLEAR wa_field.
      wa_field-fieldname = 'PAYMENTS'.
      wa_field-tabname = 'T_BSID_BSAD'.
    wa_field-outputlen = '13'.
      wa_field-col_pos = '9'.
      wa_field-coltext = text-013. "'Payments'.
      APPEND wa_field TO fcat.
      CLEAR wa_field.
      CLEAR wa_field.
      wa_field-fieldname = 'DMBTR'.
      wa_field-tabname = 'T_BSID_BSAD'.
      wa_field-outputlen = '23'.
      wa_field-col_pos = '10'.
      wa_field-coltext = g_bal_date1. "'Balance c/f @ (Date of Lodgement from selection screen)'.
      APPEND wa_field TO fcat.
      CLEAR wa_field.
      CLEAR wa_field.
      wa_field-fieldname = 'CHECK'.
      wa_field-tabname = 'T_BSID_BSAD'.
    wa_field-outputlen = '13'.
      wa_field-col_pos = '11'.
      wa_field-coltext = text-020. "'CHECK'.
      APPEND wa_field TO fcat.
      CLEAR wa_field.
      CLEAR g_layout.
      g_layout-zebra = lc_x.
    g_layout-sel_mode = lc_a.
    *Prepare field catalog for all Invoice Extract
      wa_field1-fieldname = 'BUKRS'.
      wa_field1-tabname = 'T_INVOICE'.
      wa_field1-outputlen = '12'.
      wa_field1-col_pos = '1'.
      wa_field1-coltext = text-002. "'Company Code'.
      APPEND wa_field1 TO fcat1.
      CLEAR wa_field1.
      wa_field1-fieldname = 'KUNNR'.
      wa_field1-tabname = 'T_INVOICE'.
      wa_field1-outputlen = '13'.
      wa_field1-col_pos = '2'.
      wa_field1-coltext = text-005."'Customer Number'.
      APPEND wa_field1 TO fcat1.
      CLEAR wa_field1.
      wa_field1-fieldname = 'NAME1'.
      wa_field1-tabname = 'T_INVOICE'.
      wa_field1-outputlen = '13'.
      wa_field1-col_pos = '3'.
      wa_field1-coltext = text-007."'Customer Name'.
      APPEND wa_field1 TO fcat1.
      CLEAR wa_field1.
      wa_field1-fieldname = 'GJAHR'.
      wa_field1-tabname = 'T_INVOICE'.
      wa_field1-outputlen = '7'.
      wa_field1-col_pos = '4'.
      wa_field1-coltext = text-015. " 'Fiscal Year'.
      APPEND wa_field1 TO fcat1.
      CLEAR wa_field1.
      wa_field1-fieldname = 'BELNR'.
      wa_field1-tabname = 'T_INVOICE'.
    wa_field1-outputlen = '10'.
      wa_field1-col_pos = '5'.
      wa_field1-coltext = text-016. "'Invoice Number'.
      APPEND wa_field1 TO fcat1.
      CLEAR wa_field1.
      CLEAR wa_field1.
      wa_field1-fieldname = 'CURR'.
      wa_field1-tabname = 'T_INVOICE'.
      wa_field1-outputlen = '8'.
      wa_field1-col_pos = '6'.
      wa_field1-coltext = text-022."'Currency'.
      APPEND wa_field1 TO fcat1.
      CLEAR wa_field1.
      wa_field1-fieldname = 'DMBTR'.
      wa_field1-tabname = 'T_INVOICE'.
      wa_field1-outputlen = '13'.
      wa_field1-col_pos = '7'.
      wa_field1-coltext = text-017. "'Invoice Amount '.
      APPEND wa_field1 TO fcat1.
      CLEAR wa_field1.
      CLEAR wa_field1.
      wa_field1-fieldname = 'BLDAT'.
      wa_field1-tabname = 'T_INVOICE'.
      wa_field1-outputlen = '12'.
      wa_field1-col_pos = '8'.
      wa_field1-coltext = text-018. "'Date of Shipment'.
      APPEND wa_field1 TO fcat1.
      CLEAR wa_field1.
      CLEAR wa_field1.
      wa_field1-fieldname = 'DUEDT'.
      wa_field1-tabname = 'T_INVOICE'.
      wa_field1-outputlen = '13'.
      wa_field1-col_pos = '9'.
      wa_field1-coltext = text-019. "'Due Date Calculated'.
      APPEND wa_field1 TO fcat1.
      CLEAR wa_field1.
      CLEAR g_layout1.
      g_layout1-zebra = lc_x.
    g_layout-sel_mode = lc_a.
    *Prepare field catalog for all Payment Extract
      CLEAR wa_field2.
      wa_field2-fieldname = 'BUKRS'.
      wa_field2-tabname = 'T_PAYMENT'.
      wa_field2-outputlen = '12'.
      wa_field2-col_pos = '1'.
      wa_field2-coltext = text-002. "'Company Code'.
      APPEND wa_field2 TO fcat2.
      CLEAR wa_field2.
      CLEAR wa_field2.
      wa_field2-fieldname = 'KUNNR'.
      wa_field2-tabname = 'T_PAYMENT'.
    wa_field2-outputlen = '13'.
      wa_field2-col_pos = '2'.
      wa_field2-coltext = text-005. "'Customer Number'.
      APPEND wa_field2 TO fcat2.
      CLEAR wa_field2.
      CLEAR wa_field2.
      wa_field2-fieldname = 'NAME1'.
      wa_field2-tabname = 'T_PAYMENT'.
      wa_field2-outputlen = '13'.
      wa_field2-col_pos = '3'.
      wa_field2-coltext = text-007. "'Customer Name'.
      APPEND wa_field2 TO fcat2.
      CLEAR wa_field2.
      CLEAR wa_field2.
      wa_field2-fieldname = 'GJAHR'.
      wa_field2-tabname = 'T_PAYMENT'.
      wa_field2-outputlen = '11'.
      wa_field2-col_pos = '4'.
      wa_field2-coltext = text-015. "'Fiscal Year'.
      APPEND wa_field2 TO fcat2.
      CLEAR wa_field2.
      CLEAR wa_field2.
      wa_field2-fieldname = 'BELNR'.
      wa_field2-tabname = 'T_PAYMENT'.
      wa_field2-outputlen = '13'.
      wa_field2-col_pos = '5'.
      wa_field2-coltext = text-016. "'Invoice Number'.
      APPEND wa_field2 TO fcat2.
      CLEAR wa_field2.
      CLEAR wa_field2.
      wa_field2-fieldname = 'CURR'.
      wa_field2-tabname = 'T_PAYMENT'.
      wa_field2-outputlen = '11'.
      wa_field2-col_pos = '6'.
      wa_field2-coltext = text-022."'Currency'.
      APPEND wa_field2 TO fcat2.
      CLEAR wa_field2.
      wa_field2-fieldname = 'DMBTR'.
      wa_field2-tabname = 'T_PAYMENT'.
      wa_field2-outputlen = '13'.
      wa_field2-col_pos = '7'.
      wa_field2-coltext = text-017. "'Invoice Amount'.
      APPEND wa_field2 TO fcat2.
      CLEAR wa_field2.
      CLEAR g_layout2.
      g_layout2-zebra = lc_x.
    g_layout-sel_mode = lc_a.
    ENDMODULE.                 " fill_fcat  OUTPUT
    *&      Module  display_data  OUTPUT
          text
    MODULE display_data OUTPUT.
      g_layout3-variant = g_save.
      CALL METHOD sap_grid->set_table_for_first_display
         EXPORTING
          I_BUFFER_ACTIVE               =
          I_BYPASSING_BUFFER            =
          I_CONSISTENCY_CHECK           =
            i_structure_name              = 'gt_display'
            is_variant                    =  g_layout3
            i_save                        =  'A'
            i_default                     =  'X'
             is_layout                     = g_layout
          IS_PRINT                      =
          IT_SPECIAL_GROUPS             =
          IT_TOOLBAR_EXCLUDING          =
          IT_HYPERLINK                  =
          IT_ALV_GRAPHICS               =
          IT_EXCEPT_QINFO               =
         CHANGING
            it_outtab                     = t_bsid_bsad
            it_fieldcatalog               = fcat
          IT_SORT                       =
          IT_FILTER                     =
         EXCEPTIONS
           invalid_parameter_combination = 1
           program_error                 = 2
           too_many_lines                = 3
           OTHERS                        = 4 .
      IF sy-subrc <> 0.
        MESSAGE e145(z1).
      ENDIF.
      g_layout4-variant = g_save1.
      CALL METHOD sap_grid1->set_table_for_first_display
           EXPORTING
          I_BUFFER_ACTIVE               =
          I_BYPASSING_BUFFER            =
          I_CONSISTENCY_CHECK           =
            i_structure_name              = 'gt_display1'
            is_variant                    = g_layout4
            i_save                        = 'A'
            i_default                     = 'X'
            is_layout                     = g_layout1
          IS_PRINT                      =
          IT_SPECIAL_GROUPS             =
          IT_TOOLBAR_EXCLUDING          =
          IT_HYPERLINK                  =
          IT_ALV_GRAPHICS               =
          IT_EXCEPT_QINFO               =
           CHANGING
              it_outtab                     = t_invoice
              it_fieldcatalog               = fcat1
          IT_SORT                       =
          IT_FILTER                     =
           EXCEPTIONS
             invalid_parameter_combination = 1
             program_error                 = 2
             too_many_lines                = 3
             OTHERS                        = 4 .
      IF sy-subrc <> 0.
        MESSAGE e145(z1).
      ENDIF.
      g_layout5-variant = g_save2.
      CALL METHOD sap_grid2->set_table_for_first_display
         EXPORTING
          I_BUFFER_ACTIVE               =
          I_BYPASSING_BUFFER            =
          I_CONSISTENCY_CHECK           =
            i_structure_name              = 'gt_display2'
            is_variant                    =  g_layout5
            i_save                        =  'A'
            i_default                     = 'X'
            is_layout                     = g_layout2
          IS_PRINT                      =
          IT_SPECIAL_GROUPS             =
          IT_TOOLBAR_EXCLUDING          =
          IT_HYPERLINK                  =
          IT_ALV_GRAPHICS               =
          IT_EXCEPT_QINFO               =
         CHANGING
            it_outtab                     = t_payment
            it_fieldcatalog               = fcat2
          IT_SORT                       =
          IT_FILTER                     =
         EXCEPTIONS
           invalid_parameter_combination = 1
           program_error                 = 2
           too_many_lines                = 3
           OTHERS                        = 4 .
      IF sy-subrc <> 0.
        MESSAGE e145(z1).
      ENDIF.
    ENDMODULE.                 " display_data  OUTPUT
    *&      Module  exit  INPUT
          text
    MODULE exit INPUT.
      CALL METHOD g_custom_container->free.
      CLEAR t_bsid_bsad[].
      CALL METHOD g_custom_container1->free.
      CLEAR t_invoice[].
      CALL METHOD g_custom_container2->free.
      CLEAR t_payment[].
      LEAVE PROGRAM.
    ENDMODULE.                 " exit  INPUT
    *&      Module  user_command_1100  INPUT
          text
    MODULE user_command_1100 INPUT.
      MOVE g_ok_code TO g_saveok_code.
      CLEAR g_ok_code.
      CASE g_saveok_code.
    *on BACK leave program
        WHEN 'BACK'.
          CALL METHOD g_custom_container->free.
          CALL METHOD g_custom_container1->free.
          CALL METHOD g_custom_container2->free.
          CLEAR: g_custom_container,
                 g_custom_container1,
                 g_custom_container2.
         LEAVE PROGRAM.
         SET SCREEN 1000.
         CALL TRANSACTION 'Z5172'.
         CALL SELECTION-SCREEN 1000.
          set screen 0.
          leave screen.
    *on CANCEL leave program
        WHEN 'EXIT'.
          CALL METHOD g_custom_container->free.
          CALL METHOD g_custom_container1->free.
          CALL METHOD g_custom_container2->free.
          LEAVE PROGRAM.
    *on CANCEL leave program
        WHEN 'CANCEL'.
          CALL METHOD g_custom_container->free.
          CALL METHOD g_custom_container1->free.
          CALL METHOD g_custom_container2->free.
          LEAVE PROGRAM.
      ENDCASE.
    ENDMODULE.                 " user_command_1100  INPUT

  • How to layout beans for single page design

    Hey guys. I'm designing a site that uses the Icefaces framework. I've been reading a book called Real World Java EE patterns. I'm kind of confused how to layout the pages. Normally I would have just a POJO class implement serializable for a bean. This bean would then back each page. With a single page design I'm going to have a bunch of elements on the page. Datatables, trees, inputs, calendars etc. Is it normal or best practice to have separate beans for each datatable, calendar, etc or put that all in one bean? I'm not sure how to approach this. Right now each element is a bean and I'm using the @Inject annotation to have the data table talk to the tree and vise versa. This creates really bad code and if I put this as a member of the class I will get a circular reference because the data table bean has to inject the calendar and the calendar has to inject the data table.
    Thanks for any help.

    'best' practice is to not follow blindly what other people say, but to reason yourself what works best for you. It has been stated many times before and I will state it again: best practice does not exist. Only personal opinions about what is best exist. Personal opinions are not facts.
    So choose what works for you. Is the code easy to maintain? Is it readable? Can you perhaps re-use parts of it? Then I'd say you have a winner.
    I'll give you my personal favorite. When working with a page that has input elements, I tend to have two or three beans. Replace XXX with a logical and context sensitive name.
    XXXForm - this is a simple request scoped bean that has the action and event methods and will hold some data for reading purposes for the view, possibly taken from a database.
    XXXStorage - this is a session scoped bean that holds information from the form; if it is an editing function I initialize it with the current state first. Storing this stuff in a session bean makes it very easy to do Ajax stuff and create input cycles that span multiple requests. Also when data is split in multiple pages, the storage class is the one to remember which page is being displayed.
    Optionally, I also have an XXXSearch object, which is a session scoped bean that stores search/sort/filter parameters. I make this session scoped so the information is remembered for the duration of the user's visit, meaning he can navigate away from the page in question, come back and all his choices will still be in place.
    So no, I don't have beans specifically for each component, although I might make simple POJOs to hold information gathered from several sources (for example, information gathered from several database tables). These beans are generally used to fill the rows of a datatable and are just created from within the form class, for example in a @PostConstruct annotated method.

  • Load into single target table frm multiple source table in single interfac

    Hi
    I have four source table and a single target table.
    I need to move data from either of these tables into a target table , and we have to decide the source table based on user input.
    Example :
    Lets say there are four tables A,B,C,D and one target table T.
    If user input says A
    then the data from table A will move to table T
    And again , if the user says table C then data from table C will move to table T.
    And we have to create only one interface for achieving this in oracle Data Integrator ( ODI ).
    You can take assumptions in source and target table.

    Hi ,
    In ODI 11g , there are new feature callled dataset. It allows to use UNION , MINUS etc.
    Google it , you will get many tutorials on Dataset. check the link
    http://www.rittmanmead.com/2011/06/odi-11g-new-mapping-and-interface-features-part-1/
    In your case , you can provide filter conditions on your tables i.e.
    Say My target table is EMPLOYEE , My source tables are EMPLOYEE and DEPARTMENT
    INSERT INTO EMPLOYEE(CUSTOMER_ID , CUSTOMER_NAME) SELECT CUSTOMER_ID , CUSTOMER_NAME from employee where 'EMPLOYEE' = :EMP
    UNION DEPARTMENT_ID , DEPARTMENT_NAME from departments where 'DEPARTMENT' = :EMP ;
    Just pasted the Screenshots on following page : http://oracoholic.blogspot.in/ . Have a look
    Edited by: user8427112 on Jan 8, 2013 11:04 AM

  • Print a report adapted a single page.

    Hi,
    I have a report in Answer that is printed on two pages.
    I wish that when I choose to print the report in pdf, it is adapted a single page.
    Is it possible from OBIEE?
    Thanks
    Sara

    Thanks, I was afraid that the answer was "Publisher".
    Unfortunately you can decrease the font size in the cell of the report ....
    You can not edit the xml report to adapt it to the page?
    If there are no official answers to this problem .... thanks a lot.
    Sara

  • How to handle jquery and ajax call in single page application using coded ui

    Hi,
    I am facing a very tricky situation while using coded ui. My application interact with ajax and I was facing the issue to handle the ajax in the login page and other pages. I went through the post : http://stackoverflow.com/questions/17849074/jquery-ajax-success-not-getting-triggered-with-coded-ui-test-project 
    and got solution for my problem. Now when ever a ajax is getting called in the page its getting handle with app config file. However the issue I am facing right now is. 
    When i click on a button a window will appear which is actually a "div tag". Please see the image below. In  the that window when I have to select a item from drop down, the ajax will get called, however it will get called only for the window,
    it wont be called for the entire page.. i.e. it will update only the window. I am not able to handle this ajax call, script gets stuck in refresh state. I will request you guys to provide a work around for it.
    I would like to add more details - Visual studio version - 2013 update 3, IE11. 
    Application details: Its a single page application which uses bootstrap framework. All the ajax call are dynamic.
    Thanks in advance.

    Thanks for the reply.
    The window is not exactly a pop up window. Its a div tag in the same page. As this is my first time to work on  a single page application I am not sure how it works. For the entire page I am able to handle the ajax call however the action performed
    in the div tag is not getting handled.
    Code for the window, I am not sure to what extend will it be helpful.
    <div class="modal-content"><div class="modal-header"><div class="bootstrap-dialog-header"><div class="bootstrap-dialog-close-button" style="display: none;"><button class="close">×</button></div><div
    class="bootstrap-dialog-title">Move Item to different task [FocusAudit]</div></div></div><div class="modal-body"><div class="bootstrap-dialog-body"><div class="bootstrap-dialog-message"><div><div
    id="dashboard">
      <table class="TFtable">
        <tbody><tr>
          <td colspan="2">
                You are about to move the  24 selected item item to a different task. Select the task to which to move this item, (Optionally) enter notes about the task change, and click 'Change' to continue.
              </td>
        </tr>
        <tr>
          <td>Select New WorkFlow:</td>
          <td><select class="form-control" id="MA_workflow" onchange="ChangeWorkFlow()"><option value="647446014">Batches<option value="647446007">Claim<option value="647446065"
    selected="">Workflow1</option></select></td>
        </tr>
        <tr>
          <td>Select New Task:</td>
          <td><select class="form-control" id="MA_actions"><option value="647446025">BatchRebuild</option><option value="647446054">Complete</option><option value="647446039">DataIntegrityCheck</option><option
    value="647446038">FocusAudit</option><option value="647446053">FocusAuditMiner</option><option value="647446037">FocusAuditSelect</option><option value="647446055">LocationRouter</option><option
    value="647446029">MineForSBT</option><option value="647446022">OCRtoWebDE</option><option value="647446024">OnePass</option><option value="647446049">OnePassRouter</option><option
    value="647446050">OnePassUS</option><option value="647446060">QAuditImporter</option><option value="647446045">QIAutoAuditGrader</option><option value="647446058">QIAutoAuditInjector</option><option
    value="647446048">QIMiner</option><option value="647446040">QISampler</option><option value="647446056">QIVerify</option><option value="647446059">QIVerifyGrader</option><option
    value="647446047">QIVerifyUS</option><option value="647446021">RecoRules</option><option value="647446082">Review</option><option value="647446042">Router</option><option
    value="647446023">Validate</option><option value="647446081">Verify</option><option value="647446080">WebDEFileCreator</option></select></td>
        </tr>
        <tr>
          <td>Select New Status:</td>
          <td>
            <select class="form-control" id="MA_status">
              <option value="ready">Ready</option>
              <option value="reject">Rejected</option>
              <option value="hold">Held</option>
              <option value="ready">Keep Status From Original Task</option>
            </select>
          </td>
        </tr>
        <tr>
          <td colspan="2">Notes:</td>
        </tr>
        <tr>
          <td colspan="2">
            <textarea name="MA_statusnote" class="form-control" id="MA_statusnote" maxlength="250" rows="5" cols="40"></textarea>
          </td>
        </tr>
        <tr>
          <td style="text-align: right;" colspan="2">
            <input class="btn btn-default list-inline" id="btnSubmit" onclick="prepareData_MoveToAction();" type="button" value="Change">
            <input class="btn btn-cancel" id="btnCancel" style="padding-left: 5px;" onclick=" dialogInstance2.close();" type="button" value="Cancel">
          </td>
        </tr>
      </tbody></table>
      <div id="overlayDialog" style="display: none;">
        <div style="width: 100%; text-align: center;">
          <h1>Processing...</h1>
          <img src="Images/ajax-loader.gif">
        </div>
      </div>
      <div id="dData_MoveToAction" style="display: none;" data-itemcount="24" data-oldactionidno="647446079" data-oldstatus="ready" data-oldactionname="FocusAudit" data-fnparent="PS"></div>
    </div>
    <script id="scrpd" language="text/javascript">
      <!--
      var cworkflow =$('#MA_workflow option:selected').text();
       function initMoveToAction()
         function ChangeWorkFlow(){
           $('#overlayDialog').show(300);
        var _newworkflowname=$('#MA_workflow option:selected').text(); 
        if(cworkflow!=_newworkflowname)
         getItemType();
         cworkflow = _newworkflowname;
       function getItemType()
          var _workflowid=$('#MA_workflow option:selected').text();
           var formData = { workflowid: _workflowid}
            var sPage = './Handlers/GenericFn.ashx?action=getitemtype';
           $.ajax({
                    url: sPage,
                    type: "POST",
                    data: formData,
                    datatype: JSON,
                    success: function (data, textStatus, jqXHR) {
                    var newItemActions = jQuery.parseJSON(data);
                      $('#MA_actions').empty();
                      $.each(newItemActions, function(i, option) {
                   $('#MA_actions').append($('<option></option>').attr("value", option.Value).text(option.Key));
                         $('#overlayDialog').hide(300);
                    error: function (data) {
                      var error = jQuery.parseJSON(data.responseText)
                       SetProdSummary();
                       dialogInstance2.close();
                        ErrorMessage(error.ErrorCaption, error.ErrorDescription, error.IsCloseWindow);
            function prepareData_MoveToAction()
                 var ma_oldstatus, ma_oldactionname, ma_actionidno,ma_oldactionid, ma_statusNote,ma_itemNewStatus,ma_itemtotalno, ma_newworkflowname,ma_fnparen;
                    ma_itemNewStatus = $('#MA_status option:selected' ).val();
                    ma_actionidno=$('#MA_actions option:selected').val();
                    ma_newworkflowname=$('#MA_workflow option:selected').text();
                    ma_statusNote = $("#MA_statusnote").val();
                var params = $("#dData_MoveToAction");
                if (params.data("oldstatus"))
                    ma_oldstatus = params.data("oldstatus");
                if (params.data("oldactionname"))
                    ma_oldactionname = params.data("oldactionname");
                if (params.data("oldactionidno"))
                    ma_oldactionid = params.data("oldactionidno");
                 if (params.data("itemcount"))
                    ma_itemtotalno = params.data("itemcount");
                 if (params.data("fnparent"))
                    ma_fnparen = params.data("fnparent");
                var formData = { currentstatus: ma_oldstatus, oldactionid:ma_oldactionid,newstatus: ma_itemNewStatus, actionid: ma_actionidno, oldactionName:ma_oldactionname, statusnote: ma_statusNote,totalno:ma_itemtotalno,  newworkflowname:
    ma_newworkflowname,fnparent:ma_fnparen};            
                var sPage = './Handlers/ItemAction_MoveToAction.ashx?action=movetoaction';
                 $('#overlayDialog').show(300);
                  $('#btnSubmit').attr('disabled',true);
                  $('#btnCancel').attr('disabled',true);
                $.ajax({
                    url: sPage,
                    type: "POST",
                    data: formData,
                    datatype: JSON,
                    success: function (data, textStatus, jqXHR) {
                        SetProdSummary();
                        $('#overlayDialog').hide(300);
                       dialogInstance2.close();
                    error: function (data) {
                      var error = jQuery.parseJSON(data.responseText)
                       SetProdSummary();
                       dialogInstance2.close();
                        ErrorMessage(error.ErrorCaption, error.ErrorDescription, error.IsCloseWindow);
          -->
    </script></div></div></div></div><div class="modal-footer" style="display: none;"><div class="bootstrap-dialog-footer"></div></div></div>
    I agree the point the UI has to be active or else the script will have issue during the playback. In my scenario I have to work on that window. I have to perform action on it. Now when the window(div thing) comes up the page in the background goes disable
    till the action is performed on the window or the window is closed. I have to perform action on it then only I can proceed with the TC automation. Please let me know any option to solve this problem.
    Thanks 
    Ahetejazahmad Khan.

  • Multiple file links in a single page: A better way to/efficient way to handle ?

    Aloha Everyone!
    I would like to ask the community how they have handled multiple file links in a single page. Sort of a pseudo database of files.
    Here is the webpage I have been working on:http://huichawaii.org/
    Here is what I have done to show files so far:
    old version:http://huichawaii.org/proceedings---2012-education%2c-math---engineering-technology.html
    new version: http://huichawaii.org/ahs2013-proceedings.html
    The website works best in Chrom or Firefox, still have to convert the flash header to an edge animate .
    Mahalo in advance for everyone's input!

    Depending on what other text you might have, you could use the data list component.
    To get the text to have underlines, you will need to edit the repeated item. You can also adjust colors and fonts as well. The default rollover and selected states will probably not be the UI that want, so make sure you change those as well.
    Now for the interactivity, select the datalist, and use the interactions panel, choose "On Select", then "Go To Url", the trick is to make sure the "When a specific item is selected" is also set. Here are the basic settings to get your links working:
    Add new interactions for each item you want to be functional.

Maybe you are looking for