Datablocks Database

hello,
i need your help, I m creating a database, who is difeence in block size 8 y 16 k
i take value 16 for creating tablespaces of 30GB
thanks

Dbb wrote:
The diference is the size...
There are not relation between size of block and size of tablespace...
The block size is use to performance the I/O in relation of the rows size and the objects type.
Look this:
http://www.dba-oracle.com/s_oracle_block_size.htm
http://www.nextre.it/oracledocs/blocksize.html
http://www.rampant-books.com/t_oracle_blocksize_disk_i_o.htm
The third link contains a few vague generalities and some irrelevant and misleading material. The first link contains a number of bits cut-n-pasted from Metalink and the Oracle manuals which show how easy it is for even the official documentation to produce contradictory points without any intelligent support. The first link does, however, contain the following note:
<ul>
+"Using multiple blocksizes effectively requires expert-level Oracle skills and an intimate knowledge of your I/O landscape. While deploying multiple blocksizes can greatly reduce I/O and improve response time, it can also wreak havoc in the hands of inexperienced DBA's. Using non-standard blocksizes is not recommended for beginners."+
</ul>
It's a wild exaggeration, of course - but it contains an important element of truth. If you're a beginner you won't really know why it might be a good idea to pick a special block size for some of your data; and you probably won't be able to make an informed decision about the single best block size for you data. In such circumstances it's probably best to stick to the default block size offered by the DBCA - which is usually 8KB
The middle article contains some interesting ideas and thoughts on testing - but the results (apart from one) seem to be rather inconclusive. (larger block sizes can do better if you're using DD, but slightly worse if you're trying to do tpc-c, and so on).
There is one interesting anomaly with the tests of imp and sql*plus with the 200MB and 500MB cases tested against 4KB and 32KB - the load times for the different block sizes are so different that there's obviously a flaw in the test (which is a comment I make because (a) the laws of physics don't change with blocksize and (b) on every occasion to date when someone has demonstrated anything more than a slight variation I've been able to point out the flaw in the test.)
Regards
Jonathan Lewis
http://jonathanlewis.wordpress.com
http://www.jlcomp.demon.co.uk
A general reminder about "Forum Etiquette / Reward Points": http://forums.oracle.com/forums/ann.jspa?annID=718
If you never mark your questions as answered people will eventually decide that it's not worth trying to answer you because they will never know whether or not their answer has been of any use, or whether you even bothered to read it.
It is also important to mark answers that you thought helpful - again it lets other people know that you appreciate their help, but it also acts as a pointer for other people when they are researching the same question, moreover it means that when you mark a bad or wrong answer as helpful someone may be prompted to tell you (and the rest of the forum) what's so bad or wrong about the answer you found helpful. I'm going to see if I can get close to emulating the test.

Similar Messages

  • How to show a long with database datablock in a small width frame using horizontal scrollbar in oracle forms

    Hello Experts,
                  I am new in oracle forms and  I am  using Oracle forms 11.1.2.2.0 with weblogic 10.3.6 generic at windows 7 64 bit.
    My java version is jdk1.7.0_51.
    I have a database table say as ITEM_MASTER.This table has 20 columns.Now I have to show these 20 columns in oracle form in a single frame.I have used the wizard method to make database block in oracle forms but This datablock takes too much width.
    I wand to show all the columns with in a short width frame in oracle forms using horizontal scroll bar.But I am unable to do this.Please suggest me.
    thank you
    regards
    aaditya.

    This can be accomplished using a Stacked Canvas.  There are numerous examples of how to use a stacked canvase on the web.  For example:  https://www.google.com/search?q=oracle+forms+how+to+use+a+stacked+canvas
    Craig...

  • Datablock not assosicated with the database on forms 10G is giving me an er

    Hi All,
    I have a simple form (D/2000 10G)
    I would like to create simple datablock which not assosicated with the database, The text-items will be populated by triggers on validate
    Save should trigger stored procedure with DML commands.
    The form is working great, but when when I press "Save", I get "FRM-40401 No changes to save error"
    How can I do it ?
    Adi.
    Message was edited by:
    user566257

    You can do it without creating a new button.
    If you want to use the default 'Save' button, just create a KEY-COMMIT trigger on form level and from this trigger call your procedure.
    You can also include a message to inform the user that the record(s) has been saved. either within your DML procedure or the trigger code.
    Regards,
    Tony Garabedian

  • Ordering in a non-database datablock

    Hi all,
    What is the best way to handle this.
    I have a non-database datablock which I populate the contents manually.
    I want to sort the the contents of this data block.
    What do you suggest ?
    If I cant find a good solution from oracle I need to handle it while populating the data-block.
    Thanks for your suggestions
    -msoyer

    Here is a sample that works fine with Forms 10gR2 (10.1.2)
    create the following database types:
    rem --record --
    create or replace type TP1 as object(
       num1  number(3),
       char1 varchar2(40)
    rem -- table of records --
    create or replace type TYP_TAB_TP1 is table of TP1
    /Then, you are able to handle this object in the forms module:
    declare
      tt typ_tab_tp1 := typ_tab_tp1();
      cursor cc is select * from table(tt) order by 1 desc;
    Begin 
    for i in 1..10 loop
       tt.extend ;
       tt(i) := TP1(i, to_char(i));
    end loop;
    for c in cc loop
       :bl.res := :bl.res || c.num1 || '-' || c.char1 || chr(10);
    end loop;
    end;As you can see, your pl/sql internal collection is treated and selected like a standard database table with any WHERE or ORDER BY clause.
    Francois

  • Relationship between Form, Datablock, Canvas

    What is the relationship between these items?
    Since now, to me, a form seems to be synonymous with canvas. As for datablock, i dont know what this is. It seems to be a collection of fields.
    Would anyone care to clarify?

    A datablock is a collection of fields. If not associated with a database table, it is called a control block, and all the fields in the block are used for miscellaneous purposes within the form.
    When the datablock is associated with a database table, it is called a base-table block. Most of the fields in the block represent columns in the table, but you CAN include non-database-table fields too. When you issue a query, Forms automatically retrieves the columns from the database table, and displays the data from the columns in the fields in the block.

  • Setting query datasource at runtime for FORM Datablock

    Hello all,
    we have below requirement -
    the Form datablock is build on a customized table. we need to populate some of the fields of the form by writing a view which joins tables across variousl modules. the form data will be queried by giving po number in query find window. then the rest of the fields are entered from the form front end and saved to the DB Table. we want to query the new po numbers from the view from the query find window. where as the existing po numbers will be queried from the form datablock table only... for this i wrote the below pre_query trigger at datablock level.
    declare
         po_num number;
    BEGIN
    :parameter.G_query_find := 'TRUE' ;
    select count(*) into po_num from ICS_PO_IBOT_ICOT_REP where vendor_po_num = nvl(:QUERY_FIND.PO_NUMBER, vendor_po_num);
         if po_num > 0 then
    COPY(:QUERY_FIND.PO_NUMBER, 'ICS_PO_IBOT_ICOT_REP.VENDOR_PO_NUM');
         else
    set_block_property ('ICS_PO_IBOT_ICOT_REP', QUERY_DATA_SOURCE_NAME, '(select * from ICS_PO_IBOT_ICOT_REP_VIEW where
    VENDOR_PO_NUM = :QUERY_FIND.PO_NUMBER)');
    end if;
    :parameter.G_query_find := 'FALSE';
    end;
    here ICS_PO_IBOT_ICOT_REP - DB TABLE
    ICS_PO_IBOT_ICOT_REP_VIEW - view
    condition is checking for existing pos in table.....
    The above form while running from oracle apps, entering a New po number in query find window gives following error -
    ORA-01008: not all variables are bound.
    whereas for old pos it works correctly......................Please help on this...
    on more analysis from help-diagnostic-system - last query it gives the below code
    SELECT LAST_UPDATE_DATE,LAST_UPDATED_BY,LAST_UPDATE_LOGIN,CREATION_DATE,CREATED_BY,ATTRIBUTE1,ATTRIBUTE2,ATTRIBUTE3,ATTRIBUTE4,ATTRIBUTE5,ATTRIBUTE6,ATTRIBUTE7,ATTRIBUTE8,ATTRIBUTE9,ATTRIBUTE10,ATTRIBUTE11,ATTRIBUTE12,ATTRIBUTE13,ATTRIBUTE14,ATTRIBUTE15,ATTRIBUTE16,ATTRIBUTE17,ATTRIBUTE18,ATTRIBUTE19,ATTRIBUTE20,ATTRIBUTE21,ATTRIBUTE22,ATTRIBUTE23,ATTRIBUTE24,ATTRIBUTE25,ATTRIBUTE26,ATTRIBUTE27,ATTRIBUTE28,ATTRIBUTE29,ATTRIBUTE30,ORG_ID,CONSULTANT_ID,CONSULTANT_NAME,VENDOR_NAME,VENDOR_CONTACT_NUM,VENDOR_EMAIL,VENDOR_DIVERSITY_STATUS,CONSULTANT_INFO,MINORITY_STATUS,REMARK,CBC_DATE,ACKN_DATE,IBM_PO,PO_STATUS,SOW_NUMBER,PO_TYPE,START_DATE_ON_PO,IBM_PO_ISSUE_DT,IBM_PO_ICS_RCV_DT,IBM_PO_CHANGE_DT,SKILL_LEVEL,REQUESTER,REQ_CONT_NO,REQ_EMAIL_ID,BUYER,BUYER_CONT_NO,BUYER_EMAIL_ID,TRANS_STATUS,ST_BILL_RATE,ST_HOURS,OT_BILL_RATE,OT_HOURS,EXPENSES,TOTAL,REGION,AREA,LOCATION,STATE,JOB_ROLE,JOB_SKILL,LOB,CSA_REQ_NO,CSA_SUBMIT_DT,CLIENT,WAGES,EXEMPT,BENEFIT_STATUS,US_NATIONAL,VISA_STATUS,MATRIX_PRICE,SCORP_C2C_W2H,REFERAL_STATUS,REBATE_STATUS,REBATE_PERCENTAGE,REBATE_DESC,CSA_FEE_STATUS,CSA_PERCENTAGE,ICS_FEE,MARK_UP,ADD_INFO,VENDOR_PO_NUM,CCF_CREATED_DATE,CCF_MODIFIED_DATE,DOJ,DOT,DATE_OF_MODIFICATION_DOT,ST_PAY_RATE,ST_BURDEN_RATE,OT_PAY_RATE,OT_BURDEN_RATE,RATE_DESC,SALES_PERSON,RECRUITER,PROJECT,ACCRUAL_REVERSAL,WEEK_1,WEEK_2,WEEK_3,WEEK_4,WEEK_5,ESTIMATE,ACCRUALS,TOTAL_HOURS,BILLABLE_AMOUNT,TOTAL_COST,GM_AMOUNT,GM_PERCENTAGE,INVOICE_NUMBER,INVOICE_AMOUNT,SUBMITTED_ON,RENEWAL_PO,REJECTED_ON,RESUBMITTED_ON FROM (select * from ICS_PO_IBOT_ICOT_REP_VIEW where
    VENDOR_PO_NUM = :QUERY_FIND.PO_NUMBER)
    please suggest what am i missing?????????????????????
    Thanks,
    Sam

    here are the answers to your questions-
    How do you update record?
    Do you have any ON-UPDATE, POST-UPDATE, PRE-UPDATE triggers on this block?
    Do you have any database triggers on the table?
    What is DML Data Target Type property of this block?
    it was not required for me to write any ON-UPDATE, POST-UPDATE, PRE-UPDATE triggers on this block to update record. these are done or taken care off automatically. no database trigger is associated with the table. DML data target type is table.
    also the block has Query data source type as Table only. and the query data source name is the db table ie ICS_PO_IBOT_ICOT_REP. so what u suggest now? if i simply click on new button and enter some data onto form and save it it is inserting record onto db table. so why cant it insert the record in current scenario when a new PO is queried from the view. Please help on this where i am missing.................

  • Store and display word document in database through forms

    how can i store a word document in database through forms 6i or 10g, and display it through forms from database.
    i know how to store a binary file in database through DBMS_LOB package, but i want to do it throug forms. is it possible?
    regards

    Hi Alex
    "Create a datablock and specify the item datatype as blob"
    BUT: How to bring the document to the blob?
    Hi user 611..
    Warning: It is easy if you use an OLE-Object - but OLE is a special format. The result will not be the same as with dbms_LOB.
    We have a application with documents stored via OLE - terrible!
    OLE is no longer supported by forms 10. But webutil would help.
    I asked a similar question and got a good answer:
    OLE-Container and migration to the web
    Wolfram

  • To connect a datablock to a query - stored procedure: problem

    I have the following table...
    CREATE TABLE I_TIPOLOGIA (
    CODICE NUMBER(6),
    DESCRIZIONE VARCHAR2(100),
    CONSTRAINT I_TIPOLOGIA_PK PRIMARY KEY (CODICE) );
    and the following package to connect a datablock to
    previous table with a stored procedure...
    CREATE or REPLACE PACKAGE DATABANKER_TIPOLOGIE AS
    TYPE TipTableOfRec IS TABLE OF I_TIPOLOGIA%ROWTYPE;
    PROCEDURE leggi(resultset IN OUT TipTableOfRec);
    END DATABANKER_TIPOLOGIE;
    CREATE or REPLACE PACKAGE BODY DATABANKER_TIPOLOGIE AS
    PROCEDURE leggi(resultset IN OUT TipTableOfRec) AS
    BEGIN
    SELECT * BULK COLLECT INTO resultset
    FROM I_TIPOLOGIA;
    END leggi;
    END DATABANKER_TIPOLOGIE;
    When I compile the form I receive in QUERY-PROCEDURE trigger
    en error 306: "number or type of arguments are wrong in POPULATE_BLOCK"
    I post the trigger auto generated by Forms Builder 6i...
    DECLARE
    bk_data DATABANKER_TIPOLOGIE.TIPTABLEOFREC;
    BEGIN
    DATABANKER_TIPOLOGIE.leggi3(bk_data);
    PLSQL_TABLE.POPULATE_BLOCK(bk_data, 'BLOCCO50'); -- <- error here
    END;
    How can I solve this problem? Maybe there is a bug?
    P.S. I'm using Oracle Database 9i

    CREATE or REPLACE PACKAGE DATABANKER_TIPOLOGIE AS
    TYPE TipTableOfRec IS TABLE OF I_TIPOLOGIA%ROWTYPE;
    PROCEDURE leggi(resultset IN OUT TipTableOfRec);
    END DATABANKER_TIPOLOGIE;I have solved with this replacement 1) -> 2)
    1) TYPE TipTableOfRec IS TABLE OF I_TIPOLOGIA%ROWTYPE;
    2) TYPE TipTableOfRec IS TABLE OF I_TIPOLOGIA%ROWTYPE
    INDEX BY BINARY_INTEGER;
    with 2) now works.
    Now I have stored-procedures for query, insert, delete
    and update.
    I have some problems with delete and update of the records
    because it seems that they are locked.
    I think that it is due to the absence of lock
    stored-procedure... there's someone that can help me with
    the lock SP implementation?

  • Sort a non database item

    I have one datablock (ma_erz) in my forms based on the table test1.
    Datase-Items of table test1:
    :ma_erz.MAE_ID,
    :ma_erz.MAE_SYSART
    Non-Database-Items:
    :ma_erz.L_KM_USERNAME
    My problem is, that I could not sort the records of a non-database-item.
    Does anybody know a workaround? I would like to sort the records to username.
    I am saving the username in :MA_ERZ.L_KM_USERNAME in Post-Query
    of datablock ma_erz:
    /* CGFK$QRY_LOOKUP_DATA */
    /* Query lookup data for the foreign key(s) */
    BEGIN
    IF (
            (name_in('MA_ERZ.MAE_SYSART') IS NOT NULL)
      THEN
        BEGIN
          CGFK$QRY_MA_ERZ_MA_ERZ_SYS_ERZ(
            :MA_ERZ.L_ERZSYS_ERZ_BEZEICHNUNG,    /* OUT: Value in item :MA_ERZ.L_ERZSYS_ERZ_BEZEICHNUNG */
            :MA_ERZ.MAE_SYSART);                 /* IN : Value in item :MA_ERZ.MAE_SYSART */
        EXCEPTION
          WHEN NO_DATA_FOUND THEN
            MESSAGE('Fehler : Sys Art does not exist');
          WHEN OTHERS THEN
            CGTE$OTHER_EXCEPTIONS;
        END;
        SET_RECORD_PROPERTY(:SYSTEM.TRIGGER_RECORD, 'MA_ERZ', STATUS , QUERY_STATUS);
      END IF;
      IF (
            (name_in('MA_ERZ.MAE_ID') IS NOT NULL)
      THEN
        BEGIN
          CGFK$QRY_MA_ERZ_MA_ERZ_SYS_KM_(
            :MA_ERZ.L_KM_VORNAME,    /* OUT: Value in item :MA_ERZ.L_KM_VORNAME */
            :MA_ERZ.L_KM_NAME,       /* OUT: Value in item :MA_ERZ.L_KM_NAME */
            :MA_ERZ.L_KM_USERNAME,   /* OUT: Value in item :MA_ERZ.L_KM_USERNAME */
            :MA_ERZ.MAE_ID);         /* IN : Value in item :MA_ERZ.MAE_ID */
        EXCEPTION
          WHEN NO_DATA_FOUND THEN
            MESSAGE('Error :  does not exist');
          WHEN OTHERS THEN
            CGTE$OTHER_EXCEPTIONS;
        END;
        SET_RECORD_PROPERTY(:SYSTEM.TRIGGER_RECORD, 'MA_ERZ', STATUS , QUERY_STATUS);
      END IF;
    END;
    /* CGFK$RESET_BLOCK_WHERE_CLAUSE */
    BEGIN
      IF (CG$PROTOTYP_MA_ERZ_V01_GLOBALS.MA_ERZ_WHERE <> 'first_time') OR
        CG$PROTOTYP_MA_ERZ_V01_GLOBALS.MA_ERZ_WHERE IS NULL THEN
        set_block_property('MA_ERZ', DEFAULT_WHERE, CG$PROTOTYP_MA_ERZ_V01_GLOBALS.MA_ERZ_WHERE);
        CG$PROTOTYP_MA_ERZ_V01_GLOBALS.MA_ERZ_WHERE := 'first_time';
      END IF;
    END;

    Or, even simpler, put the following in your order by:
    ORDER BY (SELECT THELOOKUPCOLUMN
                FROM THELOOKUPTABLE X
               WHERE X.MAE_ID=Y.MAE_ID)Additionally, set the ALIAS of the block to Y
    p.s. you could even skip the "ORDER BY" itself.

  • How to create a datablock at run time?

    I want to create a datablock with database item at runtime.
    Is it possible?
    plz help.

    user8200267 wrote:
    actually i have to show my records in multiple blocks. I arranged it in 6 blocks in a form, but user says
    it is possible we need more blocks to show now form is getting heavy. so i want new blocks will be created
    as and when required.You cannot create blocks on the fly. You should strongly push for new forms rather than keep adding functionality to the same form. Design at that level should be your call not the user.

  • Trigger changes are not committing to the database

    I have 9iAS and 9i DB both on my laptop.
    I am having a problem in which a trigger run off a WHEN_BUTTON_PRESSED function is not committing the changes to the database. In the trigger I have:
    1 record insert into table A.
    1 record update to table B.
    1 record insert into table C.
    1 delete from table D.
    None of the data is related.
    I have tried various combinations of the below to get the changes to commit:
    POST;
    COMMIT_FORM;
    Exit_Form(NO_COMMIT, NO_ROLLBACK);
    MESSAGE('Got past COMMIT');
    COMMIT;
    CLEAR_FORM(NO_COMMIT);
    ENTER_QUERY;     
    I am getting varying amounts of "FRM: 40508 Oracle Error: Unable to INSERT record" statements. Even so, many times the form would act as if the changes had been properly applied. But when I did a separate DB verification, I would see that the changes are not being committed. Also, most of the time the changes would also be reflected in the calling form queries, but when I exit, all changes are rolled back no matter how many commit stmts are in the trigger.
    I have finally gotten the form to do what I want to do (the 4 steps noted above), but I had to add a FORMS_DDL('COMMIT'); stmt and I am still getting a FRM 40508, but at least the changes are appearing in the db.
    Any ideas on why so many troubles in getting the changes to commit??? I have spent a ton of hours trying "what ifs" to see what might work. Also, this trigger is the only real "code" in the forms.
    Kim

    Brett -
    You're probably right about the intention, but this is a place where people can come and share styles, ideas, and coding tricks, I don't understand why someone would say that. Additionally, I had a professor who was a complete momo that said that all the time (consequently, his lax attitude towards teaching crippled the IS program where I graduated and most likely will cause it to no longer be available). It's a personal peeve of mine, just to let you know where I was coming from.
    Secondly, the problem I'm having may have to do with what you said, however I can't be sure. To give a better description of my scenerio, I created a form that allows the user to load information about an employee by querying a SSN. Most of this information is for display only. Six fields are available to be updated and I wrote a DML UPDATE statement that I placed inside a WHEN-BUTTON-PRESSED trigger. However, these changes won't be written to the DB because Forms is attempting to write my entire datablock, instead of just following the specified DML statements. I'm at a loss as to why this would happen, but for simplicity's sake, I would listen to ideas of how to suppress this from happening so only my statements are used when updating the DB. If you can help, thank you, if not, then thank you for your time.
    Steve

  • Problem creating a datablock with columns from 2 tables...

    Hello guys, i have a problem in creating a datablock with columns from 2 different tables. I try to create the datalock manually and in the Query Data Source Type Property i choose FROM clause query, and in the query data source name property i type my sql statement with the columns i want to display.After that i place the items that the datablock will contain , manually from the painter. However , when i run the application, the datablock doesn't display the items from the database. Am i doing something wrong?
    Thanx in advance,
    Regards,
    Bill.

    Never mind Peter, I found the error. I forgot to make execute_query for the datablock, so this was the reason why the items weren't displayed to me.
    Thanx anyway a lot for your advices and your time you spent !

  • Displaying Single Datablock field in Multiple Record Data Block

    Hi all
    I have a master detail block for cash transaction recording.
    Master Table name CahMaster and datablock contains columns Cash Bill No, Date, Customer ID, Misc Freight Charges.
    Detail Table name is CashDetail and datablock includes product id, product name, unit price, quantity, return, discount and Disc Overall. Number of records to be displayed in this block are 10.
    Now I want to Display Disc Overall field for one time only which is also a database field.
    I have used to set its properties to be displayed for one time only. It apprantlelly solved the problem.
    But when I used to execute query to see the previous records,
    Disc Overall field does not show the records till I move or Mouse click the last record of any cashdetail record.
    Any solution, thanks in advance!!!
    With Best Regards
    Thunder2777

    The layout of my cash detail is as follow to give you better undrstanding
    Prod_ID Prod_Name Qty Unit Price Return Disc Total per Record
    Total Qty --- Total Return ---- Sub Total ----
    Disc Overall ----- Grand Total ----
    I calculate cash Detail as following
    Total per Record = ((Qty - Return) X Unit Price) - Disc (Discount)
    Disc (Discount) is further calculated through When Validate trigger at item level which is (totalPrice * Disc)/100
    Total Per Record is a display field just to display the total.
    There are 4 other Displays fields e.g Total Qty, Total Return, Sub Total and Grand Total
    Totoal Qty, Total Return and Sub Total uses the sum fuction of block to calculate the sum of these three columns. Sub Total sum the Total Per Record field /column.
    Grand total again uses the when validate trigger at item level to calculate the grand total which is Grand Total = Sub Total - Disc Overall.
    Disc Overall = Subtotal - (subtotal * Disc Overall ) / 100
    That' s why I have asked to display the Discont Overall field for ONE TIME only as it is the discount which is applied to overall total.
    With Thanks
    Thunder2777

  • Problem in displaying a datablock... Urgent!

    hello guys, i have a serious problem to solve. It's urgent for me . First of all i have a datablock which contains some data from the database table mis_efhmeries. Now, i want to display in the screen 3 columns , 1 from the database (so i make the other columns of the datablock invisible) and 2 NO DATABASE ITEMS. By far , the things are ok. So to display the 2 other NO DATABASE ITEMS, i use a join of my DATABASE TABLE with 2 other tables, and so the displaying records are being reduced, because some elements of the main database table are not present in the other 2 tables, and so it takes me ora-01422 error, which says that: exact fetch returns more than requested number of rows.
    I attach to you below the code which has problem:
    go_block('manual_efhm');
    execute_query;
    efhms := get_block_property('manual_efhm', QUERY_HITS);
    FOR i IN 1..efhms LOOP
    GO_RECORD(i);
    SELECT TO_CHAR( mis_efhmeries.service*100000 + mis_efhmeries.sector*1000 + mis_efhmeries.department) || ' ' || departments.description
    INTO descr
    FROM mis_efhmeries, departments
    WHERE mis_efhmeries.service = departments.service
    AND mis_efhmeries.sector = departments.sector
    AND mis_efhmeries.department = departments.department
    AND mis_efhmeries.employee_id = :manual_efhm.employee_id;
    :tm := descr;
    END LOOP;
    I have to say that the table mis_efhmeries is the database table which is involved with the datablock, and the tables departments and mis_employee is the 2 tables from which i take the data to fill the NO DATABASE ITEMS. The table mis_efhmeries has for primary key the fields: employee_id,service,sector and departments, the table mis_employee has for primary key the employee_id, and the table departments has for primary key the fields service,sector and department. The table mis_efhmeries has some combinations of the fields service,sector , department, which ARE NOT PRESENT in the table departments, this is the main reason for displaying the error. What can i do? It's very important... I hope i was clear enough...
    Thanx in advance,
    Best regards,
    Bill...

    Try putting the SELECT statement in a POST-QUERY trigger on the block instead. This trigger fires once for every row returned by the main query.
    You may need to put an exception handler in the trigger to handle the NO_DATA_FOUND exception in the case where some elements of the main database table are not present in the other 2 tables.
    If you still get the message that the query returns too many rows, then evaluate the SELECT statement to see if it would return more than one row for some records. A SELECT INTO must return only one row or you will get this error.

  • Validations in a database block before commit

    Hi Folks,
    I have a database block with three fields : Agency, Start Date, End Date. Agency has a List Of values. I need to change the LOV contents depending upon the values already entered. For example any agency with end date as null should not appear in the list and if end date is entered for an agency then it should start appearing in the list...etc. I have to consider both committed and Uncomitted data. Is there a way to traverse through the block without actually navigating through it. The user should not know see the cursor moving anywhere.
    Any suggestions and ideas are most welcome.
    Thanks a lot
    Pranati

    Forms does a select for update when a database item is changed, so the locks have already been established regardless of whether you do a post. You can confirm this behaviour by adding an on-lock trigger.
    Your requirement to read other records in the block without navigating CAN be achieved using calculation properties, and I have used this technique several times in situations like yours.
    Create another agency field in a control block.
    Create a hidden non-database numeric item in your block with a calculation property of formula. The formula should be a user-written function with parameters of control.agency, datablock.agency, datablock.date. Write the function in the form program units: if the agencies match and the date exists return 1 else return 0.
    Create a field in the control block with a summary calculation property doing a sum of the other cxalculated item.
    Now all you need to do is copy the agency code from your current record into control.agency and hey presto ,the summary field instantly tells you how many other records for that agency have dates.
    An alternative method would be to maintain a copy of your block in a record group, but that could get rather complicated.

Maybe you are looking for

  • How can I connect personal hotspot to use the internet from my phone on my laptop?

    I do not have internet at home and want to be able to connect using the personal hotspot on my phone. How do i do this??

  • Font in Style sheet

    Hello everybody,   I  have create the style sheet for the smartform. In the Style I have select the font KF-Kiran (for text dispaly  in devnagari- maathi language) I have upload the same by using the se73. but in style when I select the font, then In

  • How to wait for a digital input to go high?

    I bet the following question is explained somewhere but I don't know how to find it. Is there an optimal way to wait for a digital input to transition from 0 to 1? I mean, other than creating a loop that continously polls the input line is there a be

  • Front Row not marking media as watched in iTunes after viewing.

    Since updating to iTunes 10 I have noted that when I watch video in Front Row that the video file is not marked as watched in iTunes even though the full clip is played in Front Row. The podcast is marked as partially watched (half a blue ball).

  • Can't move music

    I updated the iTunes software for my iPhone, which followed reinstalling iTunes. I moved some of my music back into iTunes, hoping to add a variety of tunes to the phone. Now, iTunes won't let me move anything into the phone. My wife thinks it could