Solved

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

Posted on 2009-06-29
8
4,244 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

 

Author Closing Comment

by:vishal_singh
ID: 31598134
thank you very much
0
 

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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Working with Network Access Control Lists in Oracle 11g (part 2) Part 1: http://www.e-e.com/A_8429.html Previously, I introduced the basics of network ACL's including how to create, delete and modify entries to allow and deny access.  For many‚Ķ
When it comes to protecting Oracle Database servers and systems, there are a ton of myths out there. Here are the most common.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Via a live example, show how to take different types of Oracle backups using RMAN.

691 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