Updatable Report (MRU) Based on PL/SQL?

Hi APEX Community,
I recently started playing with Updateable Reports (MRUs). The functionality seems great but I can’t seem to find a place to write PL/SQL to restrict the records returned.
Usually I would use code (with report typr PL/SQL function returning SQL query) along the lines of:
declare
     q varchar2(4000);
     v number;
begin
     v := :P10_EMP_ID;
     q := 'select
     "PATIENT_ID",
     "EMP_ID",
     "CREATION_DATE",
     "CREATED_BY",
     "LAST_UPDATE_DATE",
     "LAST_UPDATE_BY"
     from PATIENT where "EMP_ID" = '''||v||'''';
     return q;
end;
However reports of type Updatable Report only except SQL not PL/SQL.
This seems to me quite simple functionality, am I missing something??
Thanks in Advance,
Immanuel

Marc: In this simple case, yes, we can easily use standard SQL with bind variables referring to session state.
But sometimes the table is very large and there are multiple filters needed to select the desired rows. Writing the query like
select ...
from t
where (:P1_FILTER1 is null or filter1=:P1_FILTER1)
and    (:P1_FILTER2 is null or filter2=:P1_FILTER2)
and ...make the page very slow to load.
It would be much more performant to write the query as a PL/SQL function returning SQL query like
declare
q long;
begin
  q := select ... from t where 1=1 ';
  if (:P1_FILTER1 is not null) then
    q := q||' and filter1=:P1_FILTER1';
  end if;
  if (:P1_FILTER2 is not null) then
    q := q||' and filter2=:P1_FILTER2';
  end if;
  return q;
end;and still be able to use the builtin MRU and Add Rows processes instead of writing our own.
Maybe this could be an enhancement for 3.0?

Similar Messages

  • SSIS and Update-Insert(Upsert) based on a SQL Server Result Set

    So on a weekly basis, I have to sweep a sub-set of our Member data. So my query is built to produce this result set. I then have to take that result set and compare it to a data table which contains all that same information that I have provided to a 3rd
    party vendor. So I need to take into account the following scenarios...
    Obviously, if the Member is new, then I have to Insert its row to what we'll call table 3rdPartyMember and create a row out on a 3rdPartyMemberAuditTrail Table
    Individually, I also have to manage if any of the following data fields have changed: Name, Birth Date, Addressing Information, Member Plan, Member Termination...and by Individually what I mean is that if the Last Name has changed, then update its row in
    3rdPartyMember and Insert a row to 3rdPartyMemberAuditTrail indicating "Last Name Change"...and similarly if Address Line 1 has changed..."Address Line 1 Change"
    So I guess my question is this. Should this be done in one whole Stored Procedure invoked by my SSIS Package or should it be done in pieces?
    Create the Temporary Table to house our weekly Member subset extract and result set
    Determine if the row exists on 3rdPartyMember Table and if it does not, Insert it
    If the row exists, determine if there is a First Name Change...Last Name Change...BirthDate change...Address Line 1 change...etc... If there is a change, Update 3rdPartyMember Table and also Insert a row to 3rdPartyMemberAuditTrail indicating the change
    Based on all this, I'm just not sure the right way to approach this...meaning should we create one big Stored Procedure to handle everything or each individual data point in my SSIS as an UpSert based on its lookup. I am new to the SSIS World and don't really
    know what the generally accepted practice is per se of creating and running an SSIS Package with multiple data point update steps or doing so in one big Stored Procedure.
    Also....if anyone know of some good YouTubes or web sites that would instruct me as to how to go about doing this, I'd GREATLY appreciate it.
    Thanks for your review and am hopeful for a reply.

    In my opinion using SSIS is quite a pain for Upsert-functionality, especially with your requirement of maintaining an audit trail.  With Google you can probably find 20 different variants all of which are quite complex.  I would go for the procedure
    version just to keep my sanity.  It is so easy to test and verify.
    I have been using an excellent Uppsert add on from Pragmatic Works Task Factory, but that would not help with the audit trail, though...
    http://pragmaticworks.com/Products/Features?Feature=UpsertDestination(BatchUpdateOrInsert)
    I recently discovered the CHECKSUM-function in Transact-SQL, it might simplify your code and certainly improve performance, if you have lot's of rows.
    Here is an example:
    create table member
    (id int primary key,
    name char(10) not null,
    address char(20) not null,
    checks int not null);
    create table member3p
    (id int primary key,
    name char(10) not null,
    address char(20) not null,
    checks int not null);
    create index xmember3p on member3p(id,checks);
    --create member3p_audit (...);
    insert into member values(1,'tom','new york',0);
    insert into member values(2,'mary','dallas',0);
    insert into member values(3,'marvin','durham',0);
    update member
    set checks = checksum(name,address);
    insert into member3p values(1,'tom','new york',0);
    insert into member3p values(2,'mary','chicago',0);
    update member3p
    set checks = checksum(name,address);
    insert into member3p
    select *
    from member m
    where not exists
    ( select *
    from member3p m3p
    where m3p.id = m.id );
    -- insert into audit...
    select m.*,
    case
    when m.name <> m3p1.name then 'x'
    else ' '
    end as name_change,
    case
    when m.address <> m3p1.address then 'x'
    else ' '
    end as adr_change
    from member m,
    member3p m3p1
    where m.id = m3p1.id and
    exists
    ( select *
    from member3p m3p2
    where m3p2.id = m.id and
    m3p2.checks <> m.checks );
    -- loop and update member3p and member_audit-- It's OK to update columns that were not changedupdate member3p set name = @new_name, address = @new_address;

  • Produce report NOT based on a single sql statement

    I want to produce a tabular report based on a series of sql statments. Specifically, a report of managers that wil include counts of employees that are in other tables using differing criterias.
    Name Count Count
    using using
    criteria 1 criteria 2
    Manager1 35 242
    I would expect to write an anonymous pl/sql block with a driving cursor determining the managers to report on. Within that cursor, I would execute a number of other queries to derive the count for each of the two columns.
    I have tried creating a report region based on a sql statement, but that requires a single sql statement. I also tried creating a report region based on plsql, but it required an into statement of defined items. This option looks like it can provide multiple rows, but since it selected 'INTO' named fields, it only creates a report with the last row of data.
    I must be missing something. Any suggestions are greatly appreciated!!!

    If you want a wizard to create the form and report for you then yes you need to have a table. One thing that you can do is define a view that contains the data you need and define an Instead Of trigger on that view so the automatic fetch and dml will work but you can have the data stored into the different objects. basically the view and the trigger work as a router/dispatcher for the data.
    *edit*
    I should also add that you can write a pl/sql package which does the fetch and the dml operations with the form items as input. This is the solution I would typically use for any form that was not a simple CRUD form for a table. One thing to note is for the fetch I prefer to use out parameters for the form items so it requires the developer to map the item to the param in the app so it will show up when you are searching through the app. I highly discourage hiding item references inside of packaged code.
    Good Luck!
    Tyson
    Message was edited by: TysonJouglet

  • Creating Crystal Reports Dynamically from an incoming SQL query

    Hi,
    I have a requirement where a sql query will be entered by the user in a text box and in the back end java code, i have to create a crystal report dynamically based on that sql query and show it in the crystalviewer object.
    For example if the user writes "select x,y from xtable ", i should be able to create a report with 2 fields, and if the user says "select x,y,z from xtable" then i should be able create and show a report with 3 fileds...thsi report creation should be done in the click event.
    Is this possible in java? I have found something similar in .NET... pls have a look at this 
    http://vb.net-informations.com/crystal-report/dynamic_crystal_report_from_sql_query_string.htm
    Thanks,
    Preethi

    Hi Preethi,
    Can you please share the steps with me? I am also looking for dynamic SQL being applied to the crystal report.
    Thank you so much for your help in advance.
    Regards,
    Janakiram D.

  • Sql to tell report names based on view/table name

    Hello, we recently upgraded to release 12 and planning to implement sub ledger accounting and we are in the process of identifying our customizations written on top of distribution tables so that we can tweak them to go after SLA tables. Majority of our custom objects are discoverer reports. And most of these discoverer reports are based on custom folders which are based on custom views. By running a sql we were able to identify the names of all of our custom views which go after the distribution tables. Now we want to identify which of our discoverer reports are based on these views via custom folders of our custom business areas. Our custom folders might have been named exactly same as custom view or they may have different name and the folder may actually have a sql in which they are referring these custom views.
    Would it be possible for someone to provide a sql select statement which takes database table / view name and returns the name of discoverer workbooks referring this table/view? Thanks in advance for help.
    Regards,
    Anjan Avula.

    Nancy I claimed that problem is because of developing reports in plus based on some hits I found on internet. http://www.orafaq.com/forum/t/66265/0/
    And hits I found in metalink.
    Bug # 6665629
    However according to engineer with Oracle support it is a bug. The problem with updating that table is more related to workbooks that were created in older versions or upgraded to 10.1.2.2 but have not been opened and resaved. Bug 4901641 is present in 10.1.2.2 admin and it can result in Discoverer Admin not updating the EUL5_ELEM_XREFS. Admin version 10.1.2.3 is expected to resolve this with an easy workaround is to export the older workbooks and re-import them into your eul. The import process will update the EUL5_ELEM_XREFS table and will save customer from saving and opening every workbook.
    So, may be you have 10.1.2.3 in your environment and never experienced this issue or may be your reports were never upgraded from previous versions to 10.1.2.2. In our environment we have upgraded our reports to this version from previous versions and may be what oracle engineer told is true. I need to work with our admin to get this looked at and get it fixed.

  • Updatable report error: "Error in mru internal routine: ORA-20001"

    Hi all,
    i have a updatable report with a Multi Row Update process.
    The report has 6 display column and 1 Select List column.
    When i try to save any changes, the application shows this error:
    "Error in mru internal routine: ORA-20001: Error in MRU: row= 1, ORA-20001: ORA-20001: Current version of data in database has changed since user initiated update process. current checksum = "D8B5C89AA33C8434C26DCF9A6ED939E4", item checksum = "39FB99A42FF86E64FD66D1F3C142C5F6"., ... "
    This application allows many user's connections at the same time.
    What can i do?
    Thanks.

    Hi,
    Obviously, without these tables I can not check this, but I would suggest something like:
    SELECT
    '&lt;img title="Click to enlarge" onclick="javascript:showImage(this);" src="#OWNER#.DISPLAY_IMAGE?inID=' || NVL(IMAGE_ID, 0) || '" height="30" width="30" /&gt;' FOTO, -- DISPLAYED
    CA."E_UNI_OPER_K_UNITA_OPER", -- HIDDEN
    CA."E_OPERATOR_K_OPERATORE", -- HIDDEN
    CA."O_CARICO_UO", -- HIDDEN
    CA."O_TIMESTAMP_RSS", -- HIDDEN
    CA.K_MATRICOLA, -- HIDDEN
    CA.K_MATRICOLA K_MATRICOLA_DISPLAY, -- PRIMARY KEY, -- DISPLAYED
    CA.K_SERIAL_NUMBER, -- HIDDEN
    CA.K_SERIAL_NUMBER K_SERIAL_NUMBER_DISPLAY, -- DISPLAYED
    CA.E_UNI_OPER_K_UNITA_OPER_***, -- HIDDEN
    (SELECT TMA.N_MODELLO_ASSET FROM TIPO_MODELLO_ASSET TMA WHERE TMA.K_MODELLO_ASSET = CA.E_TMODASS_K_MODELLO_ASSET) N_MODELLO_ASSET, -- DISPLAYED
    CA.E_TCATASS_K_CATEGORIA_***, -- HIDDEN
    (SELECT TCA.N_CATEGORIA_ASSET FROM TIPO_CATEGORIA_ASSET TCA, A_IMAGES AI WHERE TCA.K_CATEGORIA_ASSET = CA.E_TCATASS_K_CATEGORIA_*** AND TCA.K_CATEGORIA_ASSET = AI.E_TCATASS_K_CATEGORIA_***) N_CATEGORIA_ASSET, -- DISPLAYED
    CA.D_RIFERIMENTO_CERTIF, -- HIDDEN
    CA.D_RIFERIMENTO_CERTIF D_RIFERIMENTO_CERTIF_DISPLAY, -- DISPLAYED
    CA.TIPO_CONFERMA_CERTIF, -- SELECT LIST
    CA.D_INSERIMENTO_CERTIF, -- HIDDEN
    CA.D_FINE_VALIDITA, -- HIDDEN
    CA.E_TMODASS_K_MODELLO_ASSET, -- HIDDEN
    CA.E_PG_SIGLA_K_PARTIZIONE -- HIDDEN
    FROM CERTIFICAZIONE_ASSET CA
    WHERE CA.D_RIFERIMENTO_CERTIF IS NOT NULL
    AND CA.TIPO_CONFERMA_CERTIF IS NULL
    AND CA.D_FINE_VALIDITA IS NULL
    AND E_UNI_OPER_K_UNITA_OPER_*** = :G_UO
    Note that you can not have a tabular form over multiple tables (if you had to do that, you should use a SQL view plus an INSTEAD OF trigger) - but, as you are only displaying data from the joined tables, you can use inline SELECT statements to retrieve the related data. All other columns should be either editable by the user or hidden - any hidden columns can also have a displayed version as well, so any DISPLAYED items above also have a HIDDEN instance as well.
    Andy

  • Add members to collection from sql updatable report.

    I have created a collection based on a query (collection_name = 'EMP_COLLECTION' query = select name, ssn, dept from emp.
    The collection is created perfectly.
    Now, I have a page with a SQL-updatable Report based off of the collection
    (select * from htmldb_collection where collection_name = 'EMP_COLLECTION'. The collection rows appear, and I am able to press an ADD button to add a row. I fill in the data using the key DEPT which a pull from a field stored on the page.
    How can I reference the other fields in the collection...#NAME#, #SSN# (as they are not items on the page).
    Please let me know if you need clarification on this question as I realize I am a bit out of my league in describing it....but could really use a tip.
    Karen

    Karen,
    I recently began working on collections, so here are a few code snippets that may help you:
    Create Collection (placed in a Before Header Page Process)
    apex_collection.create_or_truncate_collection
    (p_collection_name => 'SOME_COLLECTION');
    Initially populate a collection with default values (placed in a Before Header Page Process)
    DECLARE
    i number;
    cntr number := 5; -- Sets number of default entries in collection
    BEGIN
    for i in 1..cntr loop
    APEX_COLLECTION.ADD_MEMBER(
    p_collection_name => 'SOME_COLLECTION',
    p_c001 => 0, --Unique ID
    p_c002 => :P10_ITEM_NM, -- Item Name
    p_c003 => NULL, -- Description
    p_c004 => sysdate, -- Date of Entry
    end loop;
    END;
    each p_cXXX is a reference to a column in the collection.
    View existing collection
    SELECT SEQ_ID,
    c001 ID,
    c002 ITEM_NM,
    c003 ITEM_DESC,
    c004 ITEM_ENTRY_DATE,
    from APEX_COLLECTIONS
    where COLLECTION_NAME = 'SOME_COLLECTION'
    You can also turn this into an editable collection by going into the report and individually changing the fields to text fields, dropdowns, etc.
    To Update a collection (On Submit, After computations Page Process)
    declare
    c pls_integer := 0;
    begin
    for c1 in (
    select seq_id from apex_collections
    where collection_name = 'SOME_COLLECTION'
    order by seq_id) loop
    c := c+1;
    --Item Name
    apex_collection.update_member_attribute (p_collection_name=> 'SOME_COLLECTION',
    p_seq=> c1.seq_id,p_attr_number =>2,p_attr_value=>wwv_flow.g_f01(c));
    --Item Description
    apex_collection.update_member_attribute (p_collection_name=> 'SOME_COLLECTION',
    p_seq=> c1.seq_id,p_attr_number =>3,p_attr_value=>wwv_flow.g_f02(c));
    --Item Entry Date
    apex_collection.update_member_attribute (p_collection_name=> 'SOME_COLLECTION',
    p_seq=> c1.seq_id,p_attr_number =>4,p_attr_value=>wwv_flow.g_f03(c));
    end loop;
    end;
    In this example, the ID field is hidden to the users and populated using a sequence. The other fields are presented as text fields for Item Name and Item Description and a Date Picker for the Item Entry Date.
    The key to understanding this is that the attribute number indicated by p_attr_number references the column in the COLLECTION containing the value you want to update/overwrite. The g_fXX tells which of the updatable columns in your report provide the values for the columns. Keep in mind that the number of updateable columns in your report is likely fewer than the total number of columns, so the numbering here starts from the first updatable column and goes down. If you rearrange the order of the columns in the display, it will not alter the field in the collection you reference (the attribute), but it WILL alter the g_fXX notation you use to get the value from.
    Writing to the DB
    declare
    begin
    for c1 in (select TO_NUMBER(c001) row_id, c002 itm_nm, c003 itm_desc,
    to_date(c004,'DD/MM/YYYY') itm_dt from APEX_COLLECTIONS
    where COLLECTION_NAME = 'SOME_COLLECTION') loop
    insert into ITEMS (ITEM_ID, ITEM_NAME, ITEM_DESC, ITEM_DATE)
    values (c1.row_id, c1.itm_nm, c1.itm_desc, c1.itm_dt);
    end loop;
    end;
    Here, the trick is to reference the items using the [collection name].[attribute alias] syntax. This avoids the Oracle error "can't use a column".
    If you want to reference items not on the page and put them into the collection, I recommend pre-populating them, since the user isn't going to be able to alter something they can't see anyway. I have used this successfully with both page items and application items.
    Cheers.

  • MRU and manual updatable report on same page

    ok. I understand that we can't have more than one MRU process on a page. Actually it seems 2 regions using the same MRU seems to work fine, but I had a problem adding a 3rd region with a new MRU. So I resorted to putting in my own updatable report. The code works well if I use an independent page but does not do anything as soon as I add it to the page with the MRU process.
    The base query is like:
    select '***' as select_plate,
    htmldb_item.hidden(31,p.plate_id) plate_id,
    p.plate_ID "Plate Id",
    htmldb_item.text(37, PLATE_BARCODE, 30) plate_barcode,
    PLATE_TYPE ,
    htmldb_item.checkbox(23, p.plate_id) sel,
    htmldb_item.checkbox(8, p.plate_id) child,
    htmldb_item.select_list_from_query(33, modified_by, 'select first_name || '' '' || last_name uname, upper(username) username from eims_user') modified_by,
    MODIFIED_ON ,
    STATUS,
    UPLOADED_ON,
    decode(p.FILENAME, null, 'N', 'Y') loaded,
    pr.run_id assay_run
    from plate p, plate_run pr
    where p.plate_type = 'zzz'
    and p.plate_id = pr.plate_id (+)
    the update process looks like
    begin
    :p2_message := 'ok0';
    for i in 1..htmldb_application.g_f31.count
    loop
    :p2_message := 'ok1';
    :p2_message := :p2_message || htmldb_application.g_f31(i);
    --if htmldb_application.g_f31(i) is not null then
    update plate set plate_barcode = htmldb_application.g_f37(i),
    modified_by = htmldb_application.g_f33(i)
    where plate_id = htmldb_application.g_f31(i);
    --end if;
    end loop;
    I added the p2_message to kind of trace what is happening. ok0 gets outputed in the multi-region page and nothing happen for the aupdate; while on the test page with this report as the only regio, I get the expected behavior and the update goes in correctly!
    Is it correct to assume that the g_fxx arrays global to a page? I used g_f3x just to make sure there is no conflict with the ones generated with the MRU process.
    Any help/hint is appreciated
    --Nabil                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    Hi Alex,
    You can use more than one region in the same page or even you can create multiple report in the same page. But remember you can not create as many region as you want, ofcourse there is limitation. Same theory applies to item.
    Hope this helps.
    Regards,
    M Tajuddin
    web: http://tajuddin.whitepagesbd.com

  • How to add a row-selector to an existing SQL Query (updatable report)

    Hi,
    I screwed up an extensive updatable report in Apex 4.2 region by one time indicating the page may be parsed at run time.
    After setting this back (to validate query) a lot of the columns setting were gone, and also the row-selector
    I actually don't kno how to simply add this row-selector back into place.
    Anyone who can point me in the right direction?
    Thanks a lot
    Wim

    Wim,
    >
    Hi,
    I screwed up an extensive updatable report in Apex 4.2 region by one time indicating the page may be parsed at run time.
    After setting this back (to validate query) a lot of the columns setting were gone, and also the row-selector
    I actually don't kno how to simply add this row-selector back into place.
    Anyone who can point me in the right direction?Have you been able to recover all your other configuration and this is the last thing you need to fix? Or are all those other things needing to be fixed as well?
    The reason I ask is that you may want to consider just starting from scratch, if you haven't put lots of effort into recovering everything else just yet.
    On the other hand, if you just want to add a checkbox back into the SQL statement then you can add this, substituting your column name for empno of course:
    APEX_ITEM.CHECKBOX2(1,empno,'CHECKED') "Select"When you do this you'll get a warning that you're changing the interactive report, which you should accept. Then you need to make sure that the column is actually shown in the interactive report by making sure it's in the displayed columns list. And you may also need to change the display type of the column to "Standard Report Column"
    Hope that helps.
    Earl

  • Crystal Reports 10 Datasource Location and SQL Query update

    I am running Crystal Reports 10 accessing SQL Server 2008 database on Windows 7. Our product changed database names and I'm trying to update reports to point to the new database. Sounds nice and simple. The database has no structure changes yet, it's just a copy and rename of the old database. Both databases exist, same SQL instance, same permissions, etc. ...
    Existing working report:
       Has an ODBC (RDO) location to database DbVersion1
       If I run Show SQL Query, the database name is in the query text (i.e. FROM DbVersion1.dbo.MyTable)
    Attempted:
       In Set Database Location popup, I created a new ODBC (RDO) connection to database DbVersion2
       Updated Current Data Source for report to this new ODBC (RDO) connection.
       Ran Verify Database. Popup stated "The database is up to date."
    But when I run "Show SQL Query", is still shows DbVersion1 in the text, and the report displays data from DbVerison1. When I display the Datasource Location for the report, it shows DbVersion2 as I changed to above. How do I "refresh" the SQL Query to recognize the new Datasource Location?
    Thanks,
    Gary

    Hi Gary,
    A possible couple of issues, CR 10 doesn't support SQL Server 2008 and it doesn't support Windows 7. We had to update CR XI R2 SP 6 and above to make SQL 2008 work. MS changed the name of their client dll so CR is not aware of the new drivers.
    MDAC native driver may work but not sure....
    Try OLE DB, it may work better.
    Thanks
    Don

  • Interactive Report based on pl/sql function body

    Can an interactive report be based on a pl/sql function body returning the query sql? Or does it have to be based directly on the SQL?
    Thanks

    Hello "unknown user",
    As far is I know an Interactive Report can only be based on 'regular' SQL. If you have a Report based on a 'PL/SQL function body returning SQL' the option to migrate the report to an interactive report is not there.
    Regards,
    Roel
    http://roelhartman.blogspot.com/
    http://www.bloggingaboutoracle.org/
    http://www.logica.com/

  • Conditional Display of Interactive Report Based On Different SQL Query

    Hello,
    I have two drop down list on top of my page and below that I have a interactive report.
    Based on user selection of values from drop down, interactive report should change based on different SQL queries.
    Is it possible to have different SQL queries based on values from drop down and generate interactive report based on that?
    Thanks

    I am passing my drop down value to apex_collection like the following:
    APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY( p_collection_name => 'IR_LIST',
    p_query => REQUEST_VIEW(:P12_VIEW));However when I change the values from the drop down, :P12_VIEW is not getting the value from drop down even though I could see value being changed in URL. I have created page process for apex_collection
    Process Point - OnLoad - Before Header
    Run Process - Once Per Session or When ResetCould someone suggest as why I cannot get the values in function when drop down is changed?
    Regards

  • Checkbox in an Updatable Report

    How can I use a checkbox to display checked for 'T' and unchecked for anything else in a report based on an SQL Query?
    How can I use the checkbox in the report to set the value in the field in the table in an MRU?
    Can this be done the same way as if I used a Text Field, as opposed to some extra coding to make it work?
    Thanks all,
    Gregory

    Thanks Arie. I was really hoping there was a simpler way, but apparently not. Vikas put it quite succinctly in:
    Re: Change text Item into Check Box in a Tabular Form
    Gregory

  • Reporting with Report Builder 3.0 and SQL Server 2008 R2

    Hi everyone
    I'm trying really hard to find books about Report Builder 3.0 or SQL Server 2008 R2
    I found the following books on the "learn" site, sadly they do not cover Report Builder 3.0 or SQL Server 2008 R2 since there all too old.
    Microsoft® SQL Server® 2008 Analysis Services Step by Step
    Microsoft® SQL Server® 2008 MDX Step by Step
    Microsoft® SQL Server® 2008 Reporting Services Step by Step
    What are good books (like the ones above) for the newest system?

    Hello wishmasterIN,
    Thank you to post your question on TechNet forum.
    Based on my experience, the books are always delayed to the new technology, since the author need time to summarize and analyze the new features in the new product or technology, write it down and publish it. If you want to have a quick learning about the
    new technology, MSDN library is a good place. It can be a cookbook for you. It contains some detail steps for tools, such as Report Builder or BIDS. It also contains many new features introduction. It is always very useful for you to understand the new features.
    In addition, it is based on web and many links make you can jump to the other technical point freely. The most important is all of these is free and all the information will be updated if the new feature is released.
    In short, if you want to learn the latest technology about Microsoft product, MSDN is a good choice. I hope my introduction is helpful to you.
    Regards,
    Edward
    Edward Zhu
    TechNet Community Support

  • Updatable report without technical primary key

    Hi,
    I have a number of tables which need a standard updatable query report (MRU/MRD/MRI). However, these tables do not have a generated primary key, but the primary key is edited by the user.
    I've tried generating a standard updatable report for this, however, this doesn't seem to work because it needs a generated primary key.
    So I've tried to write the MRU process myself, which could work. However, how would I add a new row, because this isn't possible unless you use the standard updatable report!!... :S I can't help but think this must be me overlooking something. I can't imagine APEX cannot use standard updatable reports without a generated primary key!
    Who can help?

    The solution you're suggesting is the best in my oppinion as well, however, I would like to know if it's possible to resolve this issue in another way. Using technical key's is best practice, but it's not wrong if you don't... so why isn't there a way in APEX to handle this?
    Maybe using the "Primary Key Source Type" as "Custom PL/SQL Function" in the "Tabular Form Element" is a possibility?
    I will try to convince the customer (other IT department) to use a technical primary key and replace the user generated key by a unique constraint, but ... I just want to know :)
    Edited by: Voxie2 on Jan 7, 2010 2:30 PM

Maybe you are looking for

  • How to create event for BOR BUS2009 Object ?

    How to create a new event for BOR BUS2009 Object ?

  • Blinking world...PLEASE HELP!!!

    my computer won't start up, I have a gray screen with a blinking world on it.

  • Calling Java application from servlet

    Hi ! I'm trying to run a Java application from within a servlet with Tomcat 4. I'm using the Runtime.getRuntime ().exec () method. So the application is run in a different JVM as a subprocess of the servlet. I use ObjectInputStream and ObjectOutputSt

  • Intel Rapid Start Technology does not appear to be installed

    How do I get rid of this message?   It's an HP Envy dv7 Notebook, D0X38EA#ABU I haven't upgraded any part of the hardware - it's  configured as it came out of the box. It's running Win 8.1 I have looked through the forum and downloaded manuals and it

  • Obtaining current assignee of a process instance

    Is there an API call that will tell me whether a process instance is currently assigned to a participant? I've tried using ProcessInstance.participant but this returns the 'active' participant, which, if called from an automatic activity returns "Aut