Database item
iam having an item which is marked as database field.
in the data block i find the table name and
when i check the database table with that item name i couldn't find that column.
how can i know to which table it belongs to.
When you click on the Data Block and display the Property Palette, if the Query Data Source Name is blank, then the table name is the data block name. The same goes for the block items; if the Column Name property is blank the column name is the Item Name. If you have verified against the database table that the column (item name) doesn't exist, then this is not a valid column and the Database Item property should be set to No. Most likely, this data block item was added manually to the block.
Hope this helps,
Craig B-)
If a response is helpful or correct, please mark it accordingly.
Similar Messages
-
Display a database item on display item
please i have a varchar database item and i want to display the last item in this field on a display item what should i do and i used the row id to get the last value but it didn't work
Still not clear what you are trying to achieve...
it is just a non database item that i want to view the data in the database item in itIf it a "non database item", how can it have a relationship with a database value? -
How to include non database item in the query
Hi
I have a Master-Detail form. where in the detail block one of the field is text item 'X' attached the list of values(Y). Master block includes non database items which is based in the decoding result of the database items for example:
Gender(Male, Female)>> non database item
Gender_id(M,F)>>database item
the form is created based on the template.fmb form for apps. When I run the form in the query mode, i can query about any database item while including query about others non database item does not affect.
how to can i modify it so this could be handled??
I know that one way to avoid this issue is to create a view with all my desired field.
but there should be away to override the build in query used by oracle apps...
any one has a link, source, document... etc that help on this??
any idea how to do it without creating a view??
thnx alotHi HST,
You can code the handling in POST-Query of the corresponding block to retrive the corresponding data depending on the Queried data.
Regards,
Kiran -
Check box as a non database item
Hi.,
I am using jdev 11.1.5
My scenario:
I need to use checkbox in my af:table which is a non database item
if i check that check box i need to select the current row in that table
ex:
yr period type
2010 2 AJ [checkbox]
2010 3 AJ [checkbox]If I check the 2nd period check box then the value of
Row row= vo.getcrrent();
row.getAttribute("period"); // this value must be 2
check box must be a non-database item
how can i do thisis this what you want?
Row row= vo.getcrrent();
row.getAttribute("period"); // this value must be 2
int index =vo.getRangeIndexOf(row); //Get the index of the given row relative to the beginning of the range. http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e10653/oracle/jbo/RowIterator.html#getRangeIndexOf%28oracle.jbo.Row%29 -
Database Item not getting saved in DB
Hi Experts,
Forms version 10.1.2.0.2 (Production)
Database version :
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production
PL/SQL Release 11.1.0.7.0 - Production
"CORE 11.1.0.7.0 Production"
TNS for Linux: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - Production
I have an Database Block say 'Commercials' ,in which there are 15 database items. I enter value in these items and save the values in DB. But the requirement is, upon updation of the values enterd in any one of the 15 items, it should not get updated in DB, instead a new set of values with a new primary key should be inserted into the DB as a new row. To do so, an package is called in the Key commit trigger and in ON-UPDATE trigger, i give null there, inorder to avoid updation of values in the same record.
The above scenario works perfectly. Now, I add an new column in DB (as 16th column in Block). I need only this specific column to get updated.
When i put fnd_message on execution, it fires in the key-commit and says 1 record is applied and saved. But it is not saving in DB. especially that 16th column is not getting updated in DB.
While updating the record, The flow of trigger moves to On- Update through Key-commit..
What can be given in the On-update trigger to make the 16th column to get saved in DB.
Thanks and Regards,
KanishkKanishk,
Can you please show us what code you have written in your On-Update trigger?
Just thinking through the process, I would expect to see some checks to see which columns have been updated so you can determine whether to create a new record (column 1-15) or update an existing record (column 16). To do this type of thing, you will need to compare the Current Value of the column to the value that was fetched from the database. Unfortunately, Forms does not have a System Variable that records the status of each item like it does the Record, Block or Form status so you have to perform this comparison yourself. Thankfully, Oracle Forms does have a built-in that will help with this; GET_ITEM_PROPERTY('ITEM_NAME', DATABASE_VALUE). The DATABASE_VALUE property returns the value that was originally fetched from the database. Your comparison would look something like:
IF ( :YOUR_BLOCK.YOUR_ITEM1-15 != (Get_Item_Property('YOUR_BLOCK.YOUR_ITEM1-15',DATABASE_VALUE)) THEN
--Column value has changed...If Column 1-15, insert a new record
--If Column 16, Udpated existing record...
END IF;
This is a very simplistic example, but hopefully it will demonstrate what you need to do. After that, it is simply writting the DML to INSERT or UPDATE the appropriate record.
Craig... -
How to use dynamic database item in Fast formula
Dear All
How to use Element Pay value in Fast Formula
Element Name: Transport_Allowance
Input Values : Name Units User Enterable Database Item
Pay Value Money No Yes
Amount Money Yes Yes
Balance Feeds : Value Name Balance Name Units
Pay Value Transportation Amount Money
Formula
DEFAULT FOR ASG_SALARY IS 0
DEFAULT FOR TRANSPORTATION_AMOUNT_ASG_RUN IS 0
ALIAS ASG_SALARY AS Emp_Salary
ALIAS TRANSPORTATION_AMOUNT_ASG_RUN AS Emp_Trans_Amt
V_CALCULATED_SALARY = Emp_Salary + Emp_Trans_Amt
RETURN V_CALCULATED_SALARY
Using the above formula, I got only Basic Salary only
How to get the Basic Salary + Transportation allowance in the return value
Please help me..
Thanks in advancePlease check whether the priority of the element with which the fast formula is attached has a priority higher than the Transport_Allowance. If not then cahange the priority of the element to a prriority higher than Transport_Allowance.
HTH -
Unable to find Database Item Name for Employee Category at assignment level
Hi,
What is the database item name for employee category at assignment level.
I want to call employee category colomn of assignment level in fast formula.
Thanks in advance...It seems that there are no seeded database items available for employee category, the only other option is to write a plsql function at the database level which will return the employee category for a given assignment_id & effective dates. Link this plsql function to a Fast formula function. You can use the newly created fast formula function in your fast formula.
Regards,
Senthil -
Function not returning database rows properly in non-database item
Hi,
I have 3 database items that I'd like to concatenate into one field and display it in a non-database item. I have setup two different methods to do this for testing purposes. First, I created three separate database items (SECTION, ROW, & SEAT_NUM) and a non-database item (SEAT). I created a formula (in SEAT) to do the concatenation and this way works fine. For my second method, I created a function where I selected the 3 fields and performed a concatenation into a single value to be returned in a seperate non-database item (SEAT_TEST).
Here's my function:
FUNCTION SeatLocation(p_id IN event.id%TYPE)
RETURN VARCHAR2 IS
CURSOR a IS
(SELECT ltrim(rtrim(event.section,' '),' ')||' '||
ltrim(rtrim(event.row,' '),' ')||' '||
ltrim(rtrim(event.seat_num,' '),' ') seat
FROM event
WHERE event.id = p_id);
BEGIN
FOR rec IN a LOOP
IF rec.seat IS NOT NULL THEN
RETURN rec.seat;
ELSE
RETURN ' ';
END IF;
END LOOP;
END SeatLocation;
And I'm calling it in a POST_QUERY trigger with the following: :event.seat_test := SeatLocation(:event.id);
I put both non-database items side-by-side, run the form, and the first method works fine. I doesn't quite work for the function to display in SEAT_TEST. For my program, an ID can have multiple seat locations and I'd like to display all those seats as I scroll through the form (for a given ID). What the function is returning is only the first records seat location even though there are two more locations (from the remaining two records) that need to be displayed, but are not. It works fine for the formula method. Is there a work around this within my function code and/or the SEAT_TEST item? I'd like to keep my function instead because I could use the code elsewhere. I thought that since there is more than one record retrieved for a particular ID, the for loop would return one value each loop iteration and display the different value seat locations as I scroll/arrow down through the form. I didn't know if you had to call the POST-QUERY trigger multiple times for the number or records you retrieve in the cursor. I hope this makes sense.
Any advice would be greatly appreciated.
Thank you,
EricEven though your function is written to loop through multiple records, as soon as it hits the first one inside the FOR loop, it returns that value. The Return command is an exit, so the function is done, and you cannot expect it to magically run a second time just because the cursor found more than one row.
You need to pass the function all the parameters to form a unique key into the row you are looking up. ID is not unique. -
Querying a record from a non-database item
I am working in Apex 4.0. I have a page based on a table with the following columns: dktnr, borrower, amount, previous_dktnr, subsequent_dktnr. The precious_dktnr is the dktnr under which the loan was financed in the past, before its assumption or refiancing. The subsequent_dktnr is the dktnr under which the loan is later identified. When a loan is refinanced, it is assigned a new dktnr in a new record, and the old dktnr is placed in the previous_dktnr column of that new record, and the current dktnr is placed in the subsequent_dktnr column of the old dktnr record.
I created two buttons, one for the previous_dktnr and one of the subsequent_dktnr. When I click either of these buttons, the action redirects to the current page and places the value of either the previous or subsequent dktnr into the dktnr item. This queries the record for the dktnr that has the same value as the previous or subsequent dktnr.
This works. It allows the user to shuffle back and forth between the two dktnr's.
One would assume then that, if a non-database item were created, say :P22_QUERY_DKTNR, you would be able to enter an existing dktnr into that item and have a button, using the same logic as the previous and subsequent dktnr buttons, that would be able to return the record for the dktnr entered.
I have tried this, and it does not work. Can anyone tell me why it does not work?
Edited by: Doug on Apr 9, 2011 3:42 PM
Edited by: Doug on Apr 9, 2011 3:43 PM
Edited by: Doug on Apr 9, 2011 3:43 PM
Edited by: Doug on Apr 9, 2011 3:45 PM
Edited by: Doug on Apr 9, 2011 3:46 PMDoug,
Made copies of your two page within your workspace, page 3 & 4.
The issue was the page did not have a value in session containing your Look_Up value. I altered the Look-Up button to Submit the Page so as to capture the Look_Up value and then added a new Page Branch that was sequenced prior to your existing branch. This new branch sets your P4_DKTNR with the Look_Up value and then returns your results.
Jeff -
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. -
When-validate-record trigger only if a non database item is changed
Hi,
I am trying a code in the when-vaidate-record trigger in the BLOCK level.
The trigger should fire only if a checkbox item value is ticked(Value ='Y) for the present record(i.e, if already existing other records have a value ticked (='Y), it doesnt matter and trigger shouldnt fire)
Please help me achieve this :
The code I have tried in when-vaidate-trigger, which does not work as what I want :
DECLARE
X NUMBER;
BEGIN
if
nvl ( :DEFLOC.to_be_defaulted, 'N' ) = 'Y' and :DEFLOC.COMMENTS is NULL
and :SYSTEM.RECORD_STATUS ='CHANGED'
then
set_alert_property(
'err_alert',
alert_message_text,
'You must enter a comment when defaulting localities.');
x := show_alert('err_alert');
RAISE FORM_TRIGGER_FAILURE;
end if;
END;The above code does not fire at all..
If I remove the part,
and :SYSTEM.RECORD_STATUS ='CHANGED'
it fires for "all records"(not just the currently changed records) where nvl ( :DEFLOC.to_be_defaulted, 'N' ) = 'Y' and :DEFLOC.COMMENTS is NULL
Please help !!
Note: :DEFLOC.to_be_defaulted is a non database item ; :DEFLOC.COMMENTS is a database itemHi kriti,
There is one more way,
In the when-checkbox-changed trigger,
if :your_chk_box = 'Y' then
set_Record_property(:system.cursor_Record, 'your_blk',status,changed_Status);
else
set_Record_property(:system.cursor_Record, 'your_blk',status,Query_Status);
end if;
Then it is easy for you to find out the changed records using get_Record_property((:system.cursor_Record, 'your_blk',status)
Hey let me ask you one Question, is that check_box item is database item ???
If so,
it is easier..the fol. code will work for that
if nvl ( :DEFLOC.to_be_defaulted, 'N' ) = 'Y' and :DEFLOC.COMMENTS is NULL
and nvl(get_item_property('DEFLOC.to_be_defaulted',database_value),'N') = 'N' then
set_alert_property(
'err_alert',
alert_message_text,
'You must enter a comment when defaulting localities.');
x := show_alert('err_alert');
RAISE FORM_TRIGGER_FAILURE;
end if;otherwise
If your are creating that temp. item, it should be in the same block as non-db item.
I will explain this... You are setting the status of to_be_defaulted check box of some queried record to Y based on some conditions, right?
These records anyways are not updateable. Now your requirement is to find out the newly checked check boxes.
So in the post query or the place where you set to_be_defaulted as 'Y, we will default the new item with value Y, so that in the when validate trigger, you
know which record needs to attacked, It is those records with nvl( new item ,'N') = 'N' and to_be_defaulted = 'Y'...
Regards
Dora... -
Problem with non-database item
I have a 10g rel 2 form that has a post-query trigger that populates a non-database item. The non-database item has a when-validate-item trigger which I only want to fire when the user changes something in that field not at query time because it causes the form status to be changed. How can I either prevent this trigger from firing in query mode or test within the trigger that I'm in query mode so that the logic won't get executed?
Put this at the top of your when-validate trigger:
If :system.mode = 'QUERY' then
return;
End if;I have found that post-query activity often causes ALL when-validate triggers at the item and block level to run. So you may need those three lines in every when-validate trigger. -
Set value of hidden database item
I have a simple non-tabular form for creating rows in a table. I need to set the value of a hidden database item to be the same as a database item which the user enters.
I know this can be done by a database trigger and also by a custom update process, but is there other (simpler) way to do this ?
VincentVincent,
By "hidden database item", I'm assuming that you mean a column in a table. By "database item which the user enters", I'm assuming that you mean a page item on your form. If that's correct, just edit that item in the builder, making its source type 'Database Column' and its source the column name, and the automatic row fetch and DML processes on the page will take care of the rest. If you mean something else, let us know.
Scott -
Hello
i have a form ELEVI which has a id_clasa, which references CLASA (id). ok, now this CLASA table has an 'id_diriginte' field which references ANGAJATI (id). also this ANGAJATI table has a name of that person. being known the id_clasa, i wanna display into my ELEVI form that corresponding name from ANGAJATI. so i added on my ELEVI form a text item, on which i set Database Item to 'No'. how can i display into this text item the name from ANGAJATI, corresponding to id_clasa from ELEVI?
so, the tables are like:
ELEVI
id
name
id_clasa
CLASA
id
class
id_diriginte
ANGAJATI
id
name
edit:
problem solved, with:
DECLARE
CURSOR crDiriginteClasa IS
SELECT name
from angajati
WHERE ID=(select id_diriginte from clasa where id=:elevi.id_clasa);
BEGIN
OPEN crDiriginteClasa;
FETCh crDiriginteClasa INTO :elevi.diriginte;
CLOSE crDiriginteClasa;
END;but i wanna know if there are other way to do this, using joins
Thanks
Edited by: Roger22 on 01.04.2009 07:23Both queries work. I prefer the join-logic for its more clear (in my opinion). If there is a difference in the execution depends, you would have to check the execution plan for both statements and check them.
-
DPM 2012 R2 catalog failing, not all database items are available for restore
I recently started protecting my SharePoint 2013 site using DPM 2012 R2. I was able to get item level recovery working, but not all of the database items are showing in the recovery section. I go get the warning "DPM failed to gather item
level catalog for 1 database(s) of the SharePoint Farm Some of the recovery points for these databases in the farm would be associated with an earlier successful catalog. (ID 3133)"
I have looked on the SharePoint front end web server in the WssCmdletsWrapperCurr log file and I do not see any exception there.
It it is strange because I do get the option to restore some items, just not all of them. Any help would be greatly appreciated.Hi,
Resizing the boot partition (usually C:) should not effect DPM in any way. DPM writes directly to it's volumes contained in the storage pool and not through the mount points on the C: drive. So is the DPM UI showing
missing volume next to some data sources ? Try doing a DPM disk rescan and see if that removes the missing volume flag.
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Mike J. [MSFT] This
posting is provided "AS IS" with no warranties, and confers no rights. -
Hidden Database Items - Using Non-database Items
I am making my first form. It is based on a table having three columns, two are IDs (primary keys) for other tables ( org_organization_definitions and po_vendors ), and one is an enabled_flag containing either Y or N. In my form I need to hide the IDs of the underlying table, but display the organization_code and vendor_name from the IDs of the records from their respective home tables, and be able to query records by organization_code and vendor_name.
I have tried two methods:
In the first I created a block from the table with the ID and enabled_flag columns, and manually created text items for organization_code and vendor_name that are not database items and manually fill them in the post-query trigger of the block. The problem I ran into with this method was that I did not know how to use the manual text items for searching, and I could not get the LOVs to behave as expected as with database items.
In the second method, I created a view with all of the data that I needed to display, and based the block on that. Of course I cannot update or insert into the view, so I wanted to handle the updates and inserts manually with my own DML statements. With this method I have two problems, I don’t know how to bypass the form runtime not wanting to let me update values, and once I do, I am not sure how to manually go through each record to check to see if it has been changed or not.
I am not sure if either of my methods are the only two options or the best ways. Any help you can provide me with in this matter is appreciated.
Thank You,
Ryanhi,
I have a requirement where I have to use existing database(OLTP) as my source to the SSAS cubes and then to build the reports.
Where for Cubes and Reports I uses SQL Server BI edition. But my existing source data will be in non BI database.
My questions are
1) Can I create Fact and Dimension Model in Non BI Db and connect the same to SSAS and SSRS? What you suggest?
2) Can I use cubes and reports without modifying the existing OLTP DB structure to fact and Dimension?
Thanks
Naveen
1. Yes. you can
It doesnt necessary need to set up a OLAP system. However making design inline with OLAP would be easier to implement in SSAS
2. Again yes
But using OLTP designed tables in SSAS/SSRS would require some additional overheads at querying level like referenced lookups in SSAS vs lots of joins in backend queries in SSRS.
Please Mark This As Answer if it solved your issue
Please Vote This As Helpful if it helps to solve your issue
Visakh
My Wiki User Page
My MSDN Page
My Personal Blog
My Facebook Page
Maybe you are looking for
-
Hi gyus, I am in the middle of a migration from a different exc 2007 forest and exc 2010/hosting to a new exc 2013 forest. All settings are good and I've been migrating some accounts. The only thing that made me sad is about the GAL. Is it possible f
-
The Solution is not far away but it is a big problem for me!!
If i pull a video in my timeline each time the audio dont move with. I have to select each time the audio and videoclip to move it in my track. How can i fix that? I use Prem. CC. Please Help me!!! It makes me crazy!
-
Removing "Notification Detail Link" in notification mails
Hello. Is it possible removing the attachment "Notification Detail Link.html" attached in the outgoing notification EMails? In the case, I have to do the set directly in the Workflow design, or is it a configuration in the Mailer Agent? Any help is a
-
Reset/change password error - cannot log in to builder - HELP!
I'm encountering the same problem I described some time ago here: Reset/change password error - cannot log in to builder Briefly, the builder tells me I must change my password. When I attempt to do so, the password change page displays a null userna
-
Deleted a mailbox and its name still appears.
I deleted a mailbox and the emails were gone, but not the name of the mailbox. What can I do to get rid of the mailbox name?