Solved

FRM 41032: cannot set enabled attribute of current item B00.CB_EMAIL

Posted on 2009-06-29
8
4,137 Views
Last Modified: 2013-12-19
Hi Folks,

I am getting the error as shown below in the screenshot. I just changed the background of the form. It was dark in color, so I changed it to brighter colors and pasted everything inside the rectangular boxes. There was no change in the code.

Please could you let me know, what could be the reason for this error?

Thanks in advance,
   Vishal
form5-screen1.JPG
0
Comment
Question by:vishal_singh
  • 5
  • 3
8 Comments
 
LVL 12

Expert Comment

by:jwahl
ID: 24742903
this error has nothing to do with changing color attributes. maybe it was here before but didn't pop up?
the item B00.CB_EMAIL has the cursor focus when you try to enable. search your code for the SET_ITEM_PROPERTY('B00.CB_EMAIL', ENABLED, PROPERTY_TRUE) and navigate to another item before you enable it.
0
 

Author Comment

by:vishal_singh
ID: 24746282
Hi Jwahl,

I have found out that piece of code in a program unit. so, what's the next thing I have to do with it. Could you please explain where to navigate. I have also attached the code, in which I found it.

Please suggest me what to do next.

Thanks in advance,
 Vishal
PROCEDURE set_user_access IS
 

  tcnt number;

  rval number;
 

BEGIN
 

  -- get username from application

  :b00.user_login := get_application_property(username);
 

  -- get access level from segment_user

  select access_level

  into :b00.acc_level

  from segment_user

  where user_login = :b00.user_login;
 

  -- limit oc access

  -- level 1 & 2 users have access to all OCs

  if :b00.acc_level in ('1','2') then

  	:b00.user_oc   := 'ALL';

  elsif :b00.acc_level in ('3','4','5','6') then

  	

    -- all other users only have access to OCs specified in SEGMENT_USER_ATTRIB table

    SELECT COUNT(*)

    INTO TCNT

    FROM SEGMENT_USER_ATTRIB

    WHERE USER_LOGIN = :B00.USER_LOGIN

    AND   ATTRIB_ID  = 'OC';

  	

    IF TCNT > 0 THEN

      :b00.user_oc := 'SELECT';

    ELSE

      :B00.USER_OC := 'NONE';

    END IF;
 

  else

    :B00.USER_OC := 'NONE';

  end if;

  

  --set the email feature

/* not yet!  8/11/03 */

/* TDK: Enabled 1/9/04 */

  select COUNT(*)

  into :b00.email_addr_cnt

  from segment_user_email

  where user_login = :b00.user_login;
 

  if :b00.email_addr_cnt > 0 then
 

  ------------------  

    Begin

  	SET_ITEM_PROPERTY('b00.cb_email',ENABLED,PROPERTY_TRUE);

    exception

    	when others then

    	null;

    end; 	

----------------------------
 

    if :b00.email_addr_cnt > 1 then

    	:b00.email_addr := 'choose...';

    	

 	    rval := populate_group('RG_USER_EMAIL_ADDR');

      populate_list('B01.LI_EMAIL_ADDR', 'RG_USER_EMAIL_ADDR');

      :b01.li_email_addr := get_list_element_value('b01.li_email_addr',1);
 

    else

    	select email

    	into :b00.email_addr

    	from segment_user_email

    	where user_login = :b00.user_login;

    end if;

    

  else

  	SET_ITEM_PROPERTY('b00.cb_email',ENABLED,PROPERTY_FALSE);

  	SET_ITEM_PROPERTY('b00.cb_email',TOOLTIP_TEXT,'You do not have access to this feature, Please contact the system administrator to change your privileges.');

  end if;
 

  -- allow restricted rebate access?

  select count(*)

  into tcnt

  from segment_user_attrib

  where user_login = :b00.user_login

  and   attrib_id  = 'RSTRREB'

  and   nvl(attrib_value,'N') = 'Y';

  

  -- if have restricted access, show checkbox

  if tcnt > 0 then
 

    :b00.rstr_access := 'Y';

    :b00.rstr_ok     := 'Y';
 

  else

  	:b00.rstr_access    := 'N';

  	

  	-- hide checkbox

  	set_item_property('b00.rstr_ok',visible,property_false);

  	:b00.rstr_ok     := 'N';

  	

  end if;
 

END;

Open in new window

form5-cb-error.JPG
0
 
LVL 12

Accepted Solution

by:
jwahl earned 500 total points
ID: 24746547
in line 51 change

            SET_ITEM_PROPERTY ('b00.cb_email', enabled, property_true);

to

         IF :SYSTEM.CURSOR_ITEM = 'B00.CB_EMAIL' THEN
            NEXT_ITEM;
            SET_ITEM_PROPERTY ('b00.cb_email', enabled, property_true);
            GO_ITEM('B00.CB_EMAIL');
         ELSE
            SET_ITEM_PROPERTY ('b00.cb_email', enabled, property_true);
         END IF;

if the cursor focus is into a particular item, you can't enable or disable it. so, move to the next item, enable the item and move back to the previous item.

btw: you've defined an exception handler WHEN OTHERS THEN NULL;
this may be the reason why no message pops up when an exception occurs ...!?
0
 

Author Closing Comment

by:vishal_singh
ID: 31598134
thank you very much
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 

Author Comment

by:vishal_singh
ID: 24749285
Hey Jwahl,

This error again popped up when I moved to production data base.
Earlier I was working on TEST DB, and your solution worked perfectly fine.
Please let me know what to do..
0
 
LVL 12

Expert Comment

by:jwahl
ID: 24749321
hard to say ...
what's different to your production server?
0
 

Author Comment

by:vishal_singh
ID: 24749411
I dont think there is much of a difference in prod server. I just ran it in TEST DB and it was working fine. And when I disconnected and connected to PROD DB it pops up this error again.
0
 

Author Comment

by:vishal_singh
ID: 24749477
How else do you think we can resolve it

Thanks in advance,
   Vishal
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

Suggested Solutions

Article by: Swadhin
From the Oracle SQL Reference (http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/queries006.htm) we are told that a join is a query that combines rows from two or more tables, views, or materialized views. This article provides a glimps…
Why doesn't the Oracle optimizer use my index? Querying too much data Most Oracle developers know that an index is useful when you can use it to restrict your result set to a small number of the total rows in a table. So, the obvious side…
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
This video shows how to copy an entire tablespace from one database to another database using Transportable Tablespace functionality.

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now