Link to home
Start Free TrialLog in
Avatar of anumoses
anumosesFlag for United States of America

asked on

oracle forms question

I have a pop up canvas, that I  created a lov button. Once the order is created, we can change ship to. Initially the first ship to is queried, but user can change ship to addresses. Once user select ship to from lov, I should make the block or columns non-updatable. What is the correct way or trigger that I can use in oracle forms or block trigger?. Help appreciated.

Originally I have Location 1. But when I choose Location 2, We should not be able to change address. Address are taken from the table.

Help appreciated
Avatar of Mark Geerlings
Mark Geerlings
Flag of United States of America image

We need some more information from you before we can recommend a good way to solve this problem.

1. Please clarify during exactly which event(s) you want the form to allow the LOV to be used to select a different address.  Is that only for new inserts, or is that also later as an update?  Or, does it not matter during inserts, but only needs to be checked for updates?

2. Are you sure that you want the LOV to be allowed to be used only once per order?  If I understand your question correctly, I think that is what you are asking for.  That sounds like an unusual requirement to me in an order entry system.  But, if that is what you (or your organization wants) this can be enforced.  This may require adding a column to the orders (or order_headers?) table to record the fact that the LOV was used to change the address.  Or, maybe you already have an existing column that could be used for this, or maybe your application has history records that can be used to determine if this kind of change has already been made for an order or not.
Avatar of anumoses

ASKER

. Please clarify during exactly which event(s) you want the form to allow the LOV to be used to select a different address.  Is that only for new inserts, or is that also later as an update?  Or, does it not matter during inserts, but only needs to be checked for updates?

- when button pressed trigger. The block is update (NO). So on button pressed sets block property to update true and brings the LOV.
using set_block_property('blck name', updatable,property_true). Initially its may be an insert or update. But here they will change address to ship_to. Same warehouse_id but different addresses. So they can change address.

2. Are you sure that you want the LOV to be allowed to be used only once per order?  If I understand your question correctly, I think that is what you are asking for.  That sounds like an unusual requirement to me in an order entry system.  But, if that is what you (or your organization wants) this can be enforced.  This may require adding a column to the orders (or order_headers?) table to record the fact that the LOV was used to change the address.  Or, maybe you already have an existing column that could be used for this, or maybe your application has history records that can be used to determine if this kind of change has already been made for an order or not.

Its not like once per order.Based on requirement  when order is open they can change ship to address any number of times. The requirement is choose from lov but all fields to me made update false after choosing from lov.
Or, does it not matter during inserts, but only needs to be checked for updates?

The ship to address gets populated based on the to warehouse when the order is created. Once the order is created, there is an event that says 'create ship to' which then brings this popup canvas, and the data gets populated. But user may want to change the address for the to warehouse. So here they press the lov button.
ASKER CERTIFIED SOLUTION
Avatar of Mark Geerlings
Mark Geerlings
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I tried using show_lov.
Using a boolean

bSelected BOOLEAN:=FALSE;

 IF bSelected THEN  
                 set_block_property('PLSHP',update_allowed,property_false);  
 END IF;

So far the form is working. Still testing
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
correct. I changed the from block_property to item_property
Avatar of slightwv (䄆 Netminder)
slightwv (䄆 Netminder)

Are you sure the data in the original post is OK to post on a public website for the world to see?
thanks