Forms :: How To Restrict User On Key Next Item Trigger
Sep 16, 2011
SQL Plus version Oracle8 Enterprise Edition Release 8.0.5.0.0 - Production
PL/SQL Release 8.0.5.1.0 Production
Forms Version : 6i
Reports Version: 6i
O/S : Microsoft Windows Xp professional Version 2002 Service Pack 3
With reference to the above version details here is the requirement. How do I restrict user on key next item trigger i.e I want the cursor to move to next field only when user presses "ENTER" button on the key board any other key like mouse should not allow user to move to the next field.
I am using Forms 6i,Oracle Apps... I have database block.... generally we can retrieve the all the records by press F11 and Ctrl F11.... but my requirement is i have to restrict the user that they can access the records based on the condition ...
For example....let we take emp table....I have to restrict the user that they can query dept no 10 employees only.
i have master and detail form. In detail(tabular form) i want to restrict user to enter only 10 rows.if he tries to go for 11th row he shud get a message (Only 10 records can be created at a time).
Data block 1- master_blk : For date/customer of sale invoice Data block 2- detail_blk1 (detail of the master block - For products and qty) Data block 3- detail_blk2 (detail of DETAIL_BLK1 For entering serial numbers of products)
My requirement is that whatever quantity user enter in data block 2 against each product he must enter equal number of serial numbers of that product in data block 3.
For this I have created on item (cnt_iteml : to count product's serial numbers in block3 ) in data block 2, and on summary item (t_serial_no ) in block3.
Whenever user changes in quantity, cnt_iteml: item is populated with t_serial_no in block3 of that product by following trigger on quantity column.
Following trigger is written on block level at data block-3 to populate cnt_iteml with t_serial_no. PRE-RECORD
IF GET_BLOCK_PROPERTY('SERIAL_NUMBERS',STATUS) IN ('CHANGED') THEN :stock_transactions.cnt_itl:=:serial_numbers.t_serial_no; END IF;
Above triggers are fulfilling my requirement except following condition.
If user after entering serial numbers in block 3 and without saving goes back to block2 and try to navigate to another record he gets a message asking him to save changes by forms. At this time if user presses no then cnt_itl item is not been populated with t_serial_no item's value.
What I want in above condition is that if user was inserting new record cnt_it item should be populated with 0, so that he shouldn't be able to save this record. And If he was updating then cnt_itl item should be populated with actual no of records in database against that product.
There is a requirement in my database that I want to restrict the user from directly running queries on database from third party tools such as pl/sql developer and toad.
There is a utility in SQL product_user_profile through which this can be done but it is only restricted if you run the query through sql plus. If I want to restrict and (give suppose select,insert) to a user for directly running queries through PL/SQL.
I have a multi row form (Order Entry form in E Business Suite). When I enter data in a row and error down the validate-item trigger fires and runs some code to check for duplicates, etc and after the cursor should go down to the next row. It goes back to the original row.
I am asked to change an existing field (Category_Desc) from a data block (applications) from a current form with a different field (Facility) from another table (Places) that is not used in the current data blocks. How do i do that and how should i populate the data... The common string between the table used in the form (applications) and the non used table (Places) is the ID No.
make this change and also with a possible trigger to generate the data....
i need to pop up an alert using a trigger to test the data type of a field per example if the input is not a number an alert will popup "Please insert a number"
In my form, for an item there is code for pre-text-item trigger. In query mode when i go to next record, previous record etc, whether this trigger gets fired? In other forms it is getting executed. Only in this form it is not getting executed. What should be reason for not executing this pre-text-item? Only this item is enabled and cursor is there.
i have a text field where i am putting values from an LOV and i want to check for wrong entries like if the user enters a wrong code it should display the message "wrong code".so this is the code i am using in the when validate item trigger:
begin declare pc number; begin select count(*)
[code]...
But it doesn;t work, it acepts the wrong code also.
IF :item1 IS NULL AND :item3 IS NOT NULL THEN alert_id := FIND_ALERT('blank_alert'); SET_ALERT_PROPERTY(alert_id,ALERT_MESSAGE_TEXT,'Item3 must have a value.'); v_alert := SHOW_ALERT(alert_id); RAISE Form_trigger_Failure; END IF;
My problem was as it fires, the cursor will be on the item1. I've already use
SET_ITEM_INSTANCE_PROPERTY NEXT_ITEM GO_ITEM
but it was all illegal. The cursor must be in the item3.
Don't question me why I do not set the item3 to required and why post triggers. It is just that. It is the requirement.
i want to get the x-pos of item at the radio-change trigger but it return the error
declare x_pos number; lnum_x_pos number; lnum_width number; begin
if :radio_group = 'E' then lnum_x_pos := Get_item_property('Remarks',x_pos); Message('Position of x...'||lnum_x_pos); lnum_width := get_item_property('Remarks',width); Message('width of remarks field..'||lnum_width);
Suppose there is customers table and the user (Scott) is having select,update,insert privelege on the customers table.
a.)From the form i.e GUI he is having all the access,we want that when he logs on with sql plus directly then he would only be able to run select query only.
b.)When we are using third party tools such as pl/sql developer tools and toad then we are not able to restrict the user by running only the select queries.The utility which was used previously was only used for SQL Plus.
Resolution:
a.)I am able to restrict the user when he logs on with sqlplus and he is able to run anly select queries. b.)How we can restrict the user so that in pl/sql he is able to issue only the select query.
Trigger the user when logs on session id is captured and user can be restricted in logging in to the plsql developer and toad applications
I am trying to make a particular field (called reason_code) "required" on a form I am working on. Now this field has two fields before it, and I have to tab to reach my reason_code field.
But the functionality I want is that when I tab into the reason_code field, the WHEN-VALIDATE-ITEM trigger should fire even when this field is NULL.
IF :REASON_CODE IS NULL THEN MESSAGE ("Please enter a reason code!"); end if;
The trigger doesn't fire when I don't enter a reason_code field and I can tab past this field and not get the ("Please enter a reason code!") error message.
On researching the problem, I saw that this field has to be of status "CHANGED" in order for the trigger to fire.
I have a form w/a tab canvas. BlkA is on Tab1 and Blk2 is on Tab2. In BlkA I have several items that have when-validate-item triggers. However, the trigger does not fire when I enter a value into item1 of BlkA followed by clicking on Tab2. To solve, I placed validate(form_scope) in the When-Tab-Page-Changed trigger. This works well with invoking the validation. However, focus remains on Tab2 (Blk2).
I would like focus to return to failed validation item in Blk1. I can capture the block name using :system.cursor_block in the Post-Block trigger of BlkA, assign that value to a form parameter and when a validation fails via the When-Tab-Page-Changed trigger I can return user back to BlkA(Tab1). However, I need direction on how to return user to the specific item in BlkA that failed validation
I have a user ( for example Scott) and he doesn't belongs to DBA group i want to restrict accessing data dictionaries like dba_% to this Scott user. how to restrict Data dictionaries to this user.
Is it possible that we restrict user at data level? For Example 'A' user can only query employeess of deptno 10 only. He can not query employees of others dept.
I have a form (StaffDetail) with three different blcoks. One of them is an Application Assignment block which consists of nothing but Assignment Type, Staff (Name), Last Updated By and Last Updated Date.. The Assignment Type and Staff has LOVs assigned to them individually.. Assignment type lets me pick all different types except for Project Manager. As soon as I select this option, i get the following error :
This does not even let me select any other Assignment type, then i have to go close all sessions and come back into the same screen.
Also, this form was first created and tested on the development environment and later moved to QA environment. All selections work in the development environment.. I checked for the roles in QA for individual Users..
I am developing form, but there is issue when I Press F11 to query data.I make trigger form when-new-record-instance to assign values for item.But when i Press F11 then Block no clear.
I have Written this code in WHEN-VALIDATE-ITEM-TRIGGER on PO_DATE field
if not( :PO_HEADER.PO_DATE IS NOT NULL ) then :po_header.po_date := trunc(sysdate); end if; if trunc(:PO_HEADER.PO_DATE)>trunc(sysdate) then displayerror.errmsg('PO date cannot be future date!');
[code]...
when i am navigating through po_DATE field in the form its showing the error that
I want to add a new validation to restrict concurrent user and/or session from a client. (we have almost 60 client firms using the software to enter daily trasnactions). All users from all clients are connecting to the database using a common functional ID.
What I did was: 1) Add a column 'user_logged_in' in the master table for client and update it as Y when user from that client logged on to the system, 2) Insert the application logon details (we can figure out the client details from this) into a global temp table, 3) Create a logoff trigger to update the 'user_logged_in'flag in client master table by using values from global temp table when session logged off and 4) Restrict the users from same client if the flag is 'Y'
But the problem in this case is logoff trigger will not be executed in case if the session got killed or terminated abnormally.
My problem consists in setting dynamically a data block related to the item chosen by the user.So I ask if it is possible, in forms 10g, to base dynamically a data block with different tables having different columns.
i put a new column which is the birth date and i made a new procedure with regards to the age level for the Plan. and when i run the program, theres an error..
Need a code which prevents the User from entering more than 30 characters in a field. Although the variable can accept more than 30 characters. My requirement is to validate the field by restricting up to 30 characters.