Add at least single row using collection

Hi all,
Iam using Apex 3.2
I have two regions.
one region contains master data and
second region contains child data in updatable report.
in scond region i have created updatable report using apex items.
While saving it should show the message if zero rows found in updatble report.
how do I write the javascript validation if zero rows in report.
the updatable report code is
select
'Delete' delete_checkbox,
APEX_ITEM.Hidden(2,x.ASSIGN_SEQ_ID,'f02_#ROWNUM#') as "ASSIGN SEQ ID",
APEX_ITEM.DISPLAY_AND_SAVE(2,x.ASSIGN_SEQ_ID,'f02_#ROWNUM#') as "ASSIGN SEQ ID_D_LINK",
APEX_ITEM.SELECT_LIST_FROM_QUERY(3,x.CRITERIA_SEQ_ID,'select CRITERIA_NAME, CRITERIA_SEQ_ID from PRFD_MMS_VENDOR_CRIT_MSTR order by CRITERIA_SEQ_ID',null,'YES','0','--Select Criteria--','f03_#ROWNUM#',null,'NO') as "Criteria",
APEX_ITEM.TEXT(4,x.WEIGHT_FACTOR,10,15,'onKeypress="if(!isNS4){if(event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;}else{if(event.which < 45 || event.which > 57)return false;}"','f04_#ROWNUM#') as "Weight Factor"
from PRFD_MMS_ASSIGN_VENDOR_CRIT x
where supplier_id = v('P522_SUPPLIER')
and   PROJECT_NO  = v('P522_PROJ_NO') 
UNION
select
'Delete' delete_checkbox,
APEX_ITEM.hidden(2,null) as "ASSIGN SEQ ID",
APEX_ITEM.DISPLAY_AND_SAVE(2,null) as "ASSIGN SEQ ID_D_LINK",
APEX_ITEM.SELECT_LIST_FROM_QUERY(3,null,'select CRITERIA_NAME, CRITERIA_SEQ_ID from PRFD_MMS_VENDOR_CRIT_MSTR order by CRITERIA_SEQ_ID',null,'YES','0','--Select Criteria--','f03_#ROWNUM#',null,'NO') as "Criteria",
APEX_ITEM.TEXT(4,null,10,15,'onKeypress="if(!isNS4){if(event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;}else{if(event.which < 45 || event.which > 57)return false;}"','f04_#ROWNUM#') as "Weight Factor"
from dual
WHERE  :REQUEST = 'ADD_ROWS'
connect by level <= 1please give the solution.
Thanks in advance
balu
Edited by: Balu K on Dec 15, 2010 1:40 AM
Edited by: Balu K on Dec 15, 2010 1:42 AM
Edited by: Balu K on Dec 15, 2010 1:55 AM
Edited by: Balu K on Dec 15, 2010 1:59 AM

Hi Gus,
try to execute
select count(*) from dual where exists (select  MAX(1)
      , sysdate
      , 'Gus'
from  dual
where 1 = 2
group by sysdate, 2)in SQL Developer. The above statement is generated by APEX for an "Exists (SQL query retruns at least one row)". Can't test it, because I don't have a 10.2.0.4.0 at hand.
Does SQL Developer now show the same behavior?
Patrick
My APEX Blog: http://www.inside-oracle-apex.com
The APEX Builder Plugin: http://builderplugin.oracleapex.info/
The ApexLib Framework: http://apexlib.sourceforge.net/

Similar Messages

  • Mutiple Rows from a Single Row using SQL

    How can i get Multiple rows from a single row using sql ?
    Example : one row contains the complete address separated by delimiter say comma (,) as address1,address2,city,state,zip,country
    I want to split this row and get the output in multiple rows as address1 address2 city state zip country using sql query.
    Thanks,

    Hi,
    The solution above assumes that the |-delimited entries always contain at least one character. If you have a string like
    1 Elm Street|||Sioux City|IA||it will think 'Siuox City' is address2.
    If you have empty entries, like that, then you need something a little more complicated:
    INSERT INTO table2
    (       address1
    ,     address2
    ,     address3
    ,     city
    ,     state
    ,     postal
    ,     country
    SELECT     SUBSTR (REGEXP_SUBSTR ('|' || txt, '\|[^|]*', 1, 1), 2)     -- address1
    ,     SUBSTR (REGEXP_SUBSTR ('|' || txt, '\|[^|]*', 1, 2), 2)     -- address2
    ,     SUBSTR (REGEXP_SUBSTR ('|' || txt, '\|[^|]*', 1, 3), 2)     -- address3
    ,     SUBSTR (REGEXP_SUBSTR ('|' || txt, '\|[^|]*', 1, 4), 2)     -- city
    ,     SUBSTR (REGEXP_SUBSTR ('|' || txt, '\|[^|]*', 1, 5), 2)     -- state
    ,     SUBSTR (REGEXP_SUBSTR ('|' || txt, '\|[^|]*', 1, 6), 2)     -- postal
    ,     SUBSTR (REGEXP_SUBSTR ('|' || txt, '\|[^|]*', 1, 7), 2)     -- country
    FROM     table1
    ;

  • Download to excel - long text in single row using gui_download

    Hi Experts,
    I want to download the long text (read_text) (500-600 characters) to excel in single row. the column width should be 60.
    i am using the gui_download FM as in my report i m using one gui_download for header data and 2nd one for details using APPEND . Can u suggest me the solutions for the same. Can i use word wrap option and if yes , then how to use it?
    For eg.
    Customer Satisfaction
    There are no escalations / adverse feedback from the customer
    Customer uses him/her for benchmarking others
    Regular status update to customer
    Proactively understands future needs of customer
    Increases customer's confidence so that there is an increase in quality / quantity of work
    This whole text should appear as single row.
    Thanks,
    Edited by: Khushi p on Nov 12, 2010 10:44 AM

    I tried alot to put this in a legible format by usingcode...code but still it is not putting the code in a correct format.May be some mentor will put it in a good format so that you can understand.Below is a wraper progrm which meets your objective.
    REPORT  ZSCRATCHPAD.
    TABLES:EKPO.
    TYPE-POOLS:slis.
    TYPES : BEGIN OF ty_ekpo,
             ebeln TYPE ekko-ebeln,
             ebelp TYPE ekpo-ebelp,
             txz01 TYPE ekpo-txz01,
             matnr TYPE ekpo-matnr,
             werks TYPE ekpo-werks,
             loekz TYPE ekpo-loekz,
             oic_ptrip TYPE ekpo-oic_ptrip,
             menge TYPE ekpo-menge,
             meins  TYPE ekpo-meins,
             umrez TYPE ekpo-umrez,
             umren TYPE ekpo-umren,
             text  TYPE string,
            END OF ty_ekpo.
    TYPES : BEGIN OF ty_text ,
            tdformat TYPE tline-tdformat,
            tdline TYPE tline-tdline,
            END OF ty_text.
    data:  g_t_ekpo TYPE STANDARD TABLE OF ty_ekpo WITH HEADER LINE,
           g_repid TYPE sy-repid,
           g_ebeln(15),
           l_fieldname1 LIKE ibipparms-path,
           l_fieldname2 TYPE string,
           g_objectid LIKE cdhdr-objectid,
           g_t_text TYPE STANDARD TABLE OF ty_text WITH HEADER LINE,
           g_t_text1 TYPE STANDARD TABLE OF ty_text WITH HEADER LINE.
    data:g_fieldcat type slis_t_fieldcat_alv with header line,
         g_events type slis_t_event,
         wa_events like line of g_events,
         g_listheader type slis_t_listheader,
         walistheader like line of g_listheader,
         g_layout type slis_layout_alv,
         g_top type slis_formname,
         g_sort type slis_t_sortinfo_alv with header line,
         g_sort1 type slis_sortinfo_alv,
         g_printparams type slis_print_alv,
         g_variant type disvariant,
         g_title type lvc_title,
         g_excluding type slis_t_extab,
         g_grid TYPE REF TO cl_gui_alv_grid.
    field-symbols: <fs> type lvc_title.
    SELECT-OPTIONS:P_EBELN FOR EKPO-EBELN NO INTERVALS.
    PARAMETERS:p_r1 radiobutton group grp1,
               p_r2 radiobutton group grp1.
    SELECT ebeln
           ebelp
           txz01
           matnr
           werks
           loekz
           oic_ptrip
           menge
           meins
           umrez
           umren
           INTO TABLE g_t_ekpo
           FROM ekpo
           WHERE ebeln IN p_ebeln
           AND loekz NE 'L'.
    IF sy-subrc <> 0.
      CLEAR g_t_ekpo.
    ENDIF.
    define m_fieldcat.
      g_fieldcat-fieldname = &1.
      g_fieldcat-col_pos = &2.
      g_fieldcat-seltext_l = &3.
      g_fieldcat-do_sum = &4.
      g_fieldcat-outputlen = &5.
      g_fieldcat-checkbox = &6.
      append g_fieldcat to g_fieldcat.
      clear  g_fieldcat.
    end-of-definition.
    if p_r1 = 'X'.
    PERFORM summary_display.
    else.
    perform download.
    endif.
    FORM summary_display .
      concatenate 'Test' ' ' into g_title separated by space.
      assign g_title to <fs>.
      g_repid = sy-repid.
      m_fieldcat 'EBELN'     ''  'EBELN'     ''  10   ''.
      m_fieldcat 'EBELP'     ''  'EBELP'     ''  05   ''.
      m_fieldcat 'TXZ01'     ''  'TXZ01'     ''  40   ''.
      m_fieldcat 'MATNR'     ''  'MATNR'     ''  10   ''.
      m_fieldcat 'WERKS'     ''  'WERKS'     ''  04   ''.
      m_fieldcat 'LOEKZ'     ''  'LOEKZ'     ''  01   ''.
      m_fieldcat 'OIC_PTRIP' ''  'OIC_PTRIP' ''  16   ''.
      m_fieldcat 'MENGE'     ''  'MENGE'     ''  13   ''.
      m_fieldcat 'MEINS'     ''  'MEINS'     ''  03   ''.
      m_fieldcat 'UMREZ'     ''  'UMREZ'     ''  05   ''.
      m_fieldcat 'UMREN'     ''  'UMREN'     ''  05   ''.
      g_layout-zebra = 'X'.
      g_layout-colwidth_optimize = 'X'.
      call function 'REUSE_ALV_GRID_DISPLAY'
        exporting
          i_callback_program       =  g_repid
    *     i_callback_pf_status_set = 'SET_PF_STATUS'
          is_layout                =  g_layout
          i_callback_user_command  =  'LIST1'
          i_grid_title             = <fs>
    *     i_callback_top_of_page   = ' '
          it_fieldcat              = g_fieldcat[]
    *     it_excluding             = g_excluding
          i_save                   = 'A'
    *     is_variant               = ITVARIANT
          it_events                = g_events[]
    *     is_print                 = ITPRINTPARAMS
    *     it_sort                  = itsort[]
        tables
          t_outtab                 =  g_t_EKPO[]
          exceptions
          program_error           = 1
          others                  = 2.
      if sy-subrc <> 0.
        message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      endif.
      clear:g_fieldcat.
      refresh:g_fieldcat.
    ENDFORM.                    " summary_display
    form list1 using r_ucomm like sy-ucomm rs_selfield type slis_selfield.
      case r_ucomm.
        when '&IC1'.
          REFRESH g_t_text.
          if rs_selfield-fieldname = 'EBELN'.
            READ TABLE g_t_ekpo INDEX rs_selfield-tabindex.
            CONCATENATE g_t_ekpo-ebeln  g_t_ekpo-ebelp  INTO g_ebeln. "CRQ94538-Capture text
            SHIFT g_ebeln LEFT DELETING LEADING space.
            PERFORM read_text USING g_ebeln g_t_text[].
            IF g_t_text[] IS NOT INITIAL.
              PERFORM pop_up_with_table .
            ENDIF.
          endif.
        when 'OTHERS'.
          leave to screen 0.
      endcase.
    endform.                                                    "list1
    FORM read_text  USING    p_ebeln   p_t_itab LIKE g_t_text1[].
      PERFORM fill_readtext USING p_ebeln 'EKPO' 'F01' p_t_itab.
    ENDFORM.                    " f0008_read_text
    FORM fill_readtext  USING    p_vbeln
                                 p_object
                                 p_textid
                                 pt_itab  LIKE g_t_text[] .
      DATA: ls_itab LIKE LINE OF g_t_text,
            l_header LIKE thead,
            l_tdname LIKE thead-tdname.
      CLEAR pt_itab.
      REFRESH pt_itab.
      MOVE p_vbeln TO l_tdname.
      CALL FUNCTION 'READ_TEXT'
        EXPORTING
          client                  = sy-mandt
          id                      = p_textid
          language                = sy-langu
          name                    = l_tdname
          object                  = p_object
        IMPORTING
          header                  = l_header
        TABLES
          lines                   = pt_itab
        EXCEPTIONS
          id                      = 1
          language                = 2
          name                    = 3
          not_found               = 4
          object                  = 5
          reference_check         = 6
          wrong_access_to_archive = 7
          OTHERS                  = 8.
    endform.                    "fill_readtext
    FORM pop_up_with_table .
      CALL FUNCTION 'POPUP_WITH_TABLE'
        EXPORTING
          endpos_col   = 82
          endpos_row   = 20
          startpos_col = 10
          startpos_row = 10
          titletext    = ' '
        TABLES
          valuetab     = g_t_text
        EXCEPTIONS
          break_off    = 1
          OTHERS       = 2.
      IF sy-subrc NE 0.
        CLEAR g_t_text.
      ENDIF.
    ENDFORM.                    " f4000_pop_up_with_table
    FORM download .
      if g_t_ekpo[] is not initial.
        loop at g_t_ekpo.
    *      concatenate text-001 g_t_ekpo-matnr into g_t_ekpo-matnr.
          PERFORM convert_table_to_string.
          modify g_t_ekpo.
          clear g_t_ekpo.
        endloop.
      endif.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          filename                = 'C:/KKVT/TEST.XLS'
          filetype                = 'ASC'
          write_field_separator   = 'X'
        TABLES
          data_tab                = g_t_ekpo
        EXCEPTIONS
          file_write_error        = 1
          no_batch                = 2
          gui_refuse_filetransfer = 3
          invalid_type            = 4
          no_authority            = 5
          unknown_error           = 6
          header_not_allowed      = 7
          separator_not_allowed   = 8
          filesize_not_allowed    = 9
          header_too_long         = 10
          dp_error_create         = 11
          dp_error_send           = 12
          dp_error_write          = 13
          unknown_dp_error        = 14
          access_denied           = 15
          dp_out_of_memory        = 16
          disk_full               = 17
          dp_timeout              = 18
          file_not_found          = 19
          dataprovider_exception  = 20
          control_flush_error     = 21
          OTHERS                  = 22.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      else.
      message: 'file downloaded' type 'S'.
      ENDIF.
    ENDFORM.                    " download
    FORM convert_table_to_string .
      DATA: str TYPE string,
            len TYPE i,
            tot_len TYPE i.
      FIELD-SYMBOLS <fs1> TYPE ANY.
      IF g_t_ekpo-ebeln IS NOT INITIAL.
        CONCATENATE g_t_ekpo-ebeln  g_t_ekpo-ebelp  INTO g_ebeln. "CRQ94538-Capture text
        SHIFT g_ebeln LEFT DELETING LEADING space.
        PERFORM read_text USING g_ebeln g_t_text[].
        IF g_t_text[] IS NOT INITIAL.
          CLEAR: len,
                 tot_len,
                  str.
          DO.
            ASSIGN COMPONENT sy-index OF STRUCTURE g_t_text TO <fs1>.
            IF sy-subrc NE 0.
              EXIT.
            ENDIF.
            DESCRIBE FIELD <fs1> LENGTH len IN CHARACTER MODE.
            ADD len TO tot_len.
          ENDDO.
          CALL FUNCTION 'CONVERT_TABLE_TO_STRING'
            EXPORTING
              i_tabline_length = tot_len
            IMPORTING
              e_string         = str
            TABLES
              it_table         = g_t_text[].
          IF sy-subrc = 0.
            g_t_ekpo-text = str.
          ENDIF.
        ELSE.
          CLEAR: g_t_ekpo-text,
                 tot_len,
                 len,
                 str.     .
        ENDIF.
      ENDIF.
    ENDFORM.                    " convert_table_to_string
    Edited by: Kiran K on Nov 18, 2010 5:21 AM

  • Too many rows in collection cose Siena rapidly slowing down

    Is this a know issue? If I add more than 1000 rows in collection so the siena start to rapidly slowing down. I don't know If I will have this problem in published app or this is just a sienna issue? Thanks for answers

    I believe for example in the Excel Microsoft has currently set the limit on 15000 records.
    Have you checked if it's faster if you use loadData SaveDate and create the collection from the file in the appspace. That may speed things up too (maybe). My post in
    http://social.technet.microsoft.com/Forums/en-US/1226fb54-bfb4-4eaa-8a7f-7bd0a270ea4d/using-loaddata-and-savedata-yet-again?forum=projectsiena#c5018405-f066-4422-bebb-a2d8acb4eb7c may give you some pointers if you need them.
    You can also use the function explained in
    http://social.technet.microsoft.com/Forums/en-US/3920f6b9-db62-4530-b891-4f9c1ac4832d/record-filtering-wiithin-gallery?forum=projectsiena to move in blocks of a few 100 per click if you want.
    Regards
    StonyArc

  • Multiple pages that edit a single row

    I have searched on tabs and editing a single row using multiple pages and I am confused. I don't want to use java as I am trying to not learn that too...
    What I am trying to do sounds like it has been explained before but let me do this again...
    I have a record that is too large to fit on a single screen. This makes for a cumbersome entry process. The record is actually broken into four "logical" chunks. Main, Sub1, Sub2 and Sub3.
    I have made a list that will allow the record to be selected and call the first logical page... L1.
    I have made tabs that show all the pages and allow me to navigate between them quickly.
    When I get to L1 all the data is there. I may not change any data on that page and go directly to L2 through L4. However the record is not brought forward onto those pages. So the pages are not related (and I don't have the terminology right I know :) and I could "link" the pages. So here is what I would like the application to do;
    1. Display a list and allow the user to select the record to edit.
    2. Upon edit go to the first page (tab).. this works
    3. Allow the user to select a tab and the page displays the data for the record selected
    4. Allow the user to complete the edits and save the record. Upon save the user is returned to the list in step 1.
    I was thinking there are several ways to do it... but I was hoping someone could save me a bunch of trial and error (emphasis on the error) ...
    1. When navigating off the page save the record, pass the key and re-read the record... ugly huh?
    2. Pass all the session data for the record over to the next screen. Is that possible? e.g pxx_field1 = pyy_field1
    The the question was does a template with two level tabs keep the record data between tabs?
    Any help is greatly appreciated.
    Sam

    I think this works... kinda
    1. I have a "list" that allows the selection of the item to edit.
    2. That list opens a page that is the "header" page for a tab set.
    3. Each page in the tab set uses the same "ID" to read the record and display the columns. That is how it would work if the list called each individual page.
    4. I modified the "slave" tabs to have the "ID" of the "header" page.
    This displays the correct data on each page. And it looks like the "apply changes" button saves the changes on the page.
    Caveats inlclude (I think as I haven't done exhaustive testing"
    1. "apply changes" must be done at each page where there were changes or they would be lost.
    2. The first dispaly of the page is blank. Clicking on the tab a second time displays the data. This is true if it is the first time a user selects a record in a session (the "slave" tabs are blank) or if it is a subsequent record update (the "slave" tabs have the last records data.
    Thoughts... is this really boring to everyone but me?
    Sam

  • How to add A single row at the middle of the table in a Webi report

    Hi,
         I created a Webi report using Universe(Created universe using bex query).Now i have a requirement to display a row at the middle of a report. Can you please tell me ,how to add a sigle row at the middle of a Webi report.
                                                    Thanks in advance
    Regards
    Monika

    Hi Monika,
    It is not really possible to add a row (I assume you mean of unrelated data) to the middle of a table in a report. You can add a new table with a single row between two tables. For instance you could add a new one row table, or even single cells which are positioned relatively between two tables. Possibly a block on top of another. But this gets tricky.
    Can you explain in more detail what you are trying to do?
    Thanks

  • Deleting a single row in a report using checkbox

    Hi,
    Can anyone please help me on how to perform a deletion of a single row/multiple rows in a report when one clicks on a checkbox ..
    I went throught the HOWTO's guide .. But when i select a checkbox and say delete i get the following error:
    ORA-20001: Error in multi row delete operation: row= 12, ORA-01403: no data found,
    Waiting for your replies soon
    Thanks in advance
    Rakesh

    jabalsad wrote:
    Hi,
    I am fairly new to JSF so please bear with me if the answer is obvious :D. I'm using a dataTable component to display data from a database and would like to add a commandLink component to every row in the table that deletes that row from the database. What is the most effective way of doing this?
    I'm thinking of using a ListDataModel with some function that removes the correct row (though I'm not sure how it will tie in with a commandLink and exactly where the database will be updated). I'll appreciate any pointers or perhaps even an online example of something similar.
    Alternatively I suppose you could pass an "id" parameter on with the commandLink that somehow gets read in the request and the appropriate row is removed accordingly. This solution seems cumbersome however.Yes, your instincts are correct there. Binding the data model to a backing bean to get the UIData instance for the table. Then use UIData.getRowData() to get the object corresponding to the row containing the link/button. Then execute your business logic to delete the row from the database. Then you need to ensure the data model is updated to reflect the new state of the database.

  • How to store array of data into a single row of  table ,using any of Stmts

    HI Friends,
    Based on my requirements ,i have retrived a set of data from a XXX.jsp page using a request.getParameter() and stored into single dimenssional array . Now i am paassing that array to JAVA class to store a into some table .
    In JSP page users can add text boxes dynamically based on his intrest then those attributes will store in table .it means table attributes are not conatant , it table attributes may change at any time when user adds any textboxs or any fields on JSP page ....thats my module ..
    Now i wanted to store all array of data into Table in a single row .......thats is my requirements .
    How can we use prepareStatement and Statement to store array of results intoo table row ...on each iteration i wanted to store array of results into table atributes ..It means entire array of results should to into table row at time .....coule any one write sytax ,how we do this...
    could any one suggest me stps that i can impliment ......?....please reply ASAP

    Well ..you code can be works for constant number of attributes in table .oopss here my requirement is table attributes not fixed ,we cant put constant number of place holder(? ) in a statement ,because those are not fixed ,
    Let me explain here :
    i am doing in that way only. As i mentioned you Table attributes are not constant .It may very if users add any fields dynamically on JSP page .If users have option to add any text box on Jsp page ,then that attribute will store in table as a attribute .
    Now i amable fetching the all dyamic form data and stored in a Result Array below ...in this iteration all form result data are from jsp page as suggestion form ,it should stored in table in single row on corrsponding attribtes ......next time when users fills FROM ,then those data i am fetching and storing in a Result Array as below and need to store in corrsponding table attributes in a single row ....
    for(int i=0;i<result.length;i++)
                   System.out.println(result);
                   pst3=connection.prepareStatement("insert into *emprecord* values(?)");
                   if(!result[i].equals(""))
                        System.out.println(result[i]);
                             pst3.setString(1,result[i]);
                             pst3.executeUpdate();
    Thnks in advance ....let me know the the way we can store dynamic form data into dyanamic table ...

  • How to query on a single row form using only one page

    Hi APEX experts, I am just a beginner in apex and I face several problems on development. Despite that the forum helps me a lot and your answers to other people are valuable , I have stacked into something. Could you please someone tell me : if there is a way to define a single row form page based on table in which I could query and update without using a tabular page (to call the single row form). I want only to use only one page. Does APEX has this functionality? Thank you very much?

    I haven't tried it, but I am going to guess that yes it's possible (or if I were going to do this, this is what I'd try and I suspect it will work).
    If you take a moment and step back and look at what the wizard does when building a "form on a table with report", all it does is build two pages with page 1 (report overview with drill-down Edit button or link usually) calling page 2 (form) and setting the PK field on the page 2 form with an automated row fetch process and built-in DML processes. It's not that hard.
    Page 2 really doesn't care what the calling page was in order to query a single row; it just cares that ANY caller sets the primary key value for the ARF process to fetch a row. So I would just make page 2 call itself. This is what I'd do (and you might have to fine-tune little things that I might not have forseen but I think this will work).
    For the sake of example, let's say our table is PARTS and in it is a PART_ID, PART_NUMBER, PART_DESCRIPTION, PART_COST, etc. Assume PART_ID is the primary key and sequentially assigned by the DB in a trigger and is functionally meaningless to the user and is for PK purposes only. Let's assume PART_NUMBER is a unique key (although not the PK) by which the user will "know" a unique row (since the PK of PART_ID is more internal and not meaningful to the user). Assume PART_DESCRIPTION, PART_COST, etc. are just attributes.
    1. Use the wizard and build a "form on a table with report". This is just to get the handy dandy ARF process and DML processes, validations, etc. all generated for you. Let's assume the report page is Page 1 and the form is Page 2.
    2. When done, delete the report page entirely (so delete page 1).
    3. Edit the form page (page 2) and change any branch references from the nonexistent page 1 to now be page 2.
    Now here's the part where something has to set the internal P2_PART_ID field when page 2 is run. So why not set it from itself from something the user will uniquely enter?
    4. Create a P2_PART_NUMBER_FETCH item (text item is fine or if you want a LOV or whatever that's good too....whatever works. For clarity, you might even want to create a separate "search" or "query" region separate and above your existing form region to set this field apart visually so users know it's a search field. Source for this field should be "only when current value in session state is null".
    5. Created some sort of "GO" button to go along with the P2_PART_NUMBER_FETCH field.
    6. Make sure none of your existing post-submit processes fire when GO is pressed (edit all of the computations and validations and processes and ensure that they have conditions such that they do not fire when the submit value is "GO", so like a PL/SQL expression and set to v('REQUEST')<> 'GO').
    7. Add a new validation to your page that only fires when GO is pressed. Have it validate only when GO is pressed. Have it validate that P2_PART_NUMBER_FETCH is not null.
    8. Add a new PL/SQL process to your post-submit processing that only fires when GO is pressed. Have it look up to the database based on P2_PART_NUMBER_FETCH and get the PART_ID that corresponds to the part number the user entered and set the part number, something like this (even better for style and reusability if you embed this in a DB package function and call it):
    SELECT part_id
    INTO :P2_PART_ID
    FROM PARTS
    WHERE PART_NUMBER = :P2_PART_NUMBER_FETCH;
    9. Not sure if the branches that were generated will suffice for this (might need to add a new one...review what you have and see) but the bottom line is that the page should branch to itself (page 2) and not clear the cache.
    10. When the page repaints, since :P2_PART_ID is now populated in session state (again, page 2 should not care how it got populated...only should care that it did get populated by anything (including itself)), the automated row fetch (ARF) should fire and query up the row from the database for editing.

  • Single row/column marquee tool "add to" not working

    I was trying to follow along with a tutorial that was using the single row/column marquee tool.  In it they used shift click to add to the selection.  It's not working for me.  I also tried clicking on the add to icon for the marquee tool, and it still doesn't work.  Does anyone know what the problem could be and how I might fix it?
    Thanks!

    hey i know this is late but if its any help now all u need to do i zoom in a lil closer the proceed with the selection. hope i helped. oh and u have to make sure your grid lines are perfectly on the 10,20,30,... percent mark and u have to be zoomed in if u want to see your lines. the problem is your file is too big and has somn to do with ur computer. its not only mac windows too.
    p.s. when ur done drawing the boxes u can zoom out...i know the tutorial

  • Add the elements of a single row/column of a matrix

    Hello everyone,
    what's the easiest way to add all the elements of a single row or column of a matrix given the matrix and the number of that row/column on LabVIEW ? The output should be a number for each row or column.
    Solved!
    Go to Solution.

    I'm assuming you are very new to LabVIEW, otherwise you would know about For loops, indexing, and the Array functions.  In many programming languages, a "matrix" is just a multi-dimension array, but in LabVIEW, it is a different representation of a multi-dimension array.
    If you are really working with a LabVIEW Matrix, the easiest way might be to convert the matrix to a 2D array and use the various Array functions to do the work.  Note that once you have the row or column isolated as a 1D array, there is a function on the Numeric palette that will add the array elements for you (so you don't need the For loop to do that).
    P.S. -- I underlined "might be", above, because I've never actually used LabVIEW's Matrix functions, but have stuck with 2 (or 3, or 4) dimension arrays.
    Bob Schor

  • SQL Update a Single Row Multiple Times Using 2 Data Sets

    I'm working in tsql and have an issue where I need to do multiple updates to a single row based on multiple conditions. 
    By Rank_
    If the column is NULL I need it to update no matter what the Rank is.
    If the Ranks are the same I need it to update in order of T2_ID.
    And I need it to use the last updated output.
    I've tried using the update statement below but it only does the first update and the rest are ignored. Here is an example of the data sets i'm working w/ and the Desired results. Thanks in advance!
    update a
    set Middle = case when a.Rank_> b.Rank_ OR a.Middle IS NULL then ISNULL(b.Middle,a.Middle) end,
    LName = case when a.Rank_> b.Rank_ OR a.Lname IS NULL then ISNULL(b.LName,a.LName) end,
    Rank_ = case when a.Rank_> b.Rank_ then b.Rank_ end
    from #temp1 a
    inner join #temp2 b on a.fname = b.fname
    where b.T2_ID in (select top 100% T2_ID from #temp2 order by T2_ID asc)

    The Merge clause actually errors because it attempt to update the same record.  I think this CTE statement is the closest I've come but I'm still working through it as I'm not too familiar w/ them.  It returns multiple rows which I will have to
    insert into a temp table to update since the resulting row I need is the last in the table.
    ;WITH cteRowNumber
    AS(
    Select DISTINCT
    Row_Number() OVER(PARTITION BY a.LName ORDER BY a.LName ASC, a.Rank_ DESC,b.T2ID ASC) AS RowNumber
    ,a.FName
    ,a.LName
    ,b.LName as xLname
    ,a.MName
    ,b.MName AS xMName
    ,a.Rank_
    ,b.Rank_ AS xRank
    ,b.T2ID
    FROM #temp1 a
    inner join #temp2 b
    ON a.fname = b.fname
    ), cteCursor
    AS(
    Select a.RowNumber,
    a.Fname
    ,a.LName
    ,a.xLname
    ,a.MName
    ,a.xMName
    ,a.xRank
    ,a.T2ID
    ,CASE WHEN a.Rank_ >= a.xRank THEN ISNULL(a.xRank,a.Rank_) else ISNULL(a.Rank_,a.xRank) end AS Alt_Rank_
    ,CASE WHEN a.Rank_ >= a.xRank THEN ISNULL(a.xMName,a.MName) else ISNULL(a.MName,a.xMName) end AS Alt_MName
    ,CASE WHEN a.Rank_ >= a.xRank THEN ISNULL(a.xLName,a.lname) else ISNULL(a.LName,a.xlname) end as Alt_Lname
    FROM cteRowNumber a
    where a.RowNumber = 1
    UNION ALL
    Select crt.RowNumber
    ,crt.FName
    ,crt.LName
    ,crt.xLname
    ,crt.MName
    ,crt.xMName
    ,crt.xRank
    ,crt.T2ID
    ,CASE WHEN Prev.Alt_Rank_ >= crt.xRank THEN ISNULL(crt.xRank,Prev.Alt_Rank_) else ISNULL(Prev.Alt_Rank_,crt.xRank) end AS Alt_Rank
    ,CASE WHEN Prev.Alt_Rank_ >= crt.xRank THEN ISNULL(crt.xMName,Prev.Alt_MName) else ISNULL(Prev.Alt_MName,crt.xMName) end AS Alt_MName
    ,CASE WHEN Prev.Alt_Rank_ >= crt.xRank THEN ISNULL(crt.xLName,Prev.Alt_Lname) else ISNULL(Prev.Alt_Lname,crt.xLName) end as Alt_Lname
    FROM cteCursor prev
    inner join cteRowNumber crt
    on prev.fname = crt.fname and prev.RowNumber + 1 = crt.RowNumber
    SELECT cte.*
    FROM cteCursor cte

  • How to Add and delete a row while using Abstract Table Model

    Hi,
    I need to do the following functionalities in JTable.I've done tht but a small problem.
    1. Adding a row (Using addRow() method from DefaultTableModel).
    2. Deleting a row(Using setRowCount() method from Default Table Model).
    3. Sorting the table based on the selection of column(Using TableSorter which is using AbstracTableModel).
    As the sorting is mandatory i've to change my model to Abtract Table Model
    The problem is this Abstract Table Model doesn't have any methods to Add a row or deleting a row (setRowCount()).If anybody has written any utility method for this using Abstract Table Model help me.

    Using TableSorter which is using AbstracTableModel).If your talking about the TableSorter class from the Swing tutorial, then you create the TableSorter class by passing it a TableModel. There is no reason you can't use the DefaltTableModel.
    I changed the code in TableSorterDemo as follows:
            String[] columnNames = {"First Name",
                                            "Last Name",
                                            "Sport",
                                            "# of Years",
                                            "Vegetarian"};
            Object[][] data = {
                {"Mary", "Campione",
                 "Snowboarding", new BigDecimal(1), new Boolean(false)},
                {"Alison", "Huml",
                 "Rowing", new BigDecimal(3), new Boolean(true)},
                {"Kathy", "Walrath",
                 "Knitting", new BigDecimal(2), new Boolean(false)},
                {"Sharon", "Zakhour",
                 "Speed reading", new BigDecimal(20), new Boolean(true)},
                {"Philip", "Milne",
                 "Pool", new BigDecimal(10), new Boolean(false)}
              DefaultTableModel model = new DefaultTableModel(data, columnNames)
                   public Class getColumnClass(int c)
                        return getValueAt(0, c).getClass();
            TableSorter sorter = new TableSorter(model);
    //        TableSorter sorter = new TableSorter(new MyTableModel()); //ADDED THIS

  • Inserting multiple rows using a single Insert statement without using dual

    Hi all,
    i am trying to insert multiple rows using a single insert statement like the below one.
    The below one works fine..
    But is there any other change that can be done in the below one without using dual...
    insert all
    into ps_hd_samp (num1,num2) values (1,1)
    into ps_hd_samp (num1,num2) values (2,2)
    into ps_hd_samp (num1,num2) values (3,3)
    select 1 from dual;

    NiranjanSe wrote:
    Hi all,
    i am trying to insert multiple rows using a single insert statement like the below one.
    The below one works fine..
    But is there any other change that can be done in the below one without using dual...
    insert all
    into ps_hd_samp (num1,num2) values (1,1)
    into ps_hd_samp (num1,num2) values (2,2)
    into ps_hd_samp (num1,num2) values (3,3)
    select 1 from dual;
    SQL> create table ps_hd_samp (num1 number,num2 number);
    Table created.
    SQL> insert all
      2  into ps_hd_samp (num1,num2) values (1,1)
      3  into ps_hd_samp (num1,num2) values (2,2)
      4  into ps_hd_samp (num1,num2) values (3,3)
      5  select count(*)
      6  from ps_hd_samp;
    3 rows created.
    SQL> select * from ps_hd_samp;
          NUM1       NUM2
             1          1
             2          2
             3          3

  • Want to be able to open tabs in multiple rows, rather than in a single row. I used tab mix plus before, but it says it is not compatible with New tab Homepage. The older version of Firefox allowed this very easily.

    Want to be able to open tabs in multiple rows, rather than in a single row. I used tab mix plus before, but it says it is not compatible with New tab Homepage. The older version of Firefox allowed this very easily.

    Your plugins list shows outdated plugin(s) with known security and stability risks.
    *Java Plug-in 1.5.0_06 for Netscape Navigator (DLL Helper)
    Update the [[Java]] plugin to the latest version.
    *http://java.sun.com/javase/downloads/index.jsp (Java Platform: Download JRE)

Maybe you are looking for

  • I have Adobe downloaded but I cannot find where. I need to go in to repair it.

    I have been having trouble downloading Adobe. It is not under Tools>Options>Applications. It is not in my Windows program that I can find. I need to try to repair this. I have been working on this on and off for two days. tired of it. Please help if

  • CP1215 problem with printing

    I have a brand new CP1215 and when I changed the cyan cartridge for the first time the  copy printed a VERY cyan blue.  There is actually cyan ink on the copy. You can take your hand and wipe the cyan color ink off the copy.  The copy looks like it i

  • What is the reason that apple did not make infinity folder ico

    And do they gona make it later

  • 4th generation 40 gb does not work

    i have a 4th gen. 40 gb that i got exactly one year ago. a week ago it started pausing for a long time before playing only part of a song. it was also skipping songs entirely. eventually it became nothing but a pic of a file folder and an exclamation

  • MediaSource doesn't detect my no

    I have the latest firmware, driver, and MediaSource versions, and when I want to transfer tracks into the nomad, I just can't see it and select it in the program. (I have Nomad USB2.0 20GB)