Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

programatically List Item problem

Posted on 2004-09-25
2
Medium Priority
?
491 Views
Last Modified: 2013-12-12
I have list item and following code at form level 's "When - new - form - instance"

DECLARE
          CURSOR C1 IS  SELECT distinct remarks FROM stock where remarks is not null;
          LV_dname      stock.remarks%type;
          LN_count      NUMBER := 1;
          list_id          ITEM;
     BEGIN
          list_id := Find_Item( 'remarks' );
          OPEN C1;
          LOOP
               FETCH C1 INTO LV_Dname;
               EXIT WHEN C1%NOTFOUND;
               Add_List_Element( list_id, LN_count,
                    LV_dname,  LV_dname);
               LN_count := LN_count + 1;
          END LOOP;
          CLOSE C1;
     END;

The code is fine and worked but it creates duplicate rows when I insert more than one record in the same session. I use this with when new record instance and when new item instance but the problem is same that after first record inserted it shows duplicate and then tripplicate and so so records as it picks every time the values from the database and included in the existing records. I want if I put this trigger at 'when new record instance' then it collects data from the database only for newer values not for each and every value.

Suppose there are two values in the remarks.
LOOM
LOOM2

At first time when I loaded the form it shows these two values but when i select one of these and save. The next time( in the same session with out exiting the form) it shows
LOOM
LOOM2
LOOM
LOOM2

I want to eliminate this duplication.

I hope you understand this
0
Comment
Question by:neeha
2 Comments
 
LVL 1

Accepted Solution

by:
Kagiejot earned 1000 total points
ID: 12154023
Probably you forgot about CLEAR_LIST routine.

DECLARE
  list_id       ITEM;
  LN_count      NUMBER := 1;
CURSOR C IS
  SELECT distinct remarks FROM stock where remarks is not null;
BEGIN
  list_id := FIND_ITEM ('block_name.remarks');
  CLEAR_LIST('block_name.remarks');
  FOR C_REC IN C LOOP
    add_list_element(Item_ID, LN_count, C_REC.REMARKS, C_REC.REMARKS);
    LN_count := LN_count + 1;
  END LOOP;
END;

Good Luck
0
 

Author Comment

by:neeha
ID: 12156787
oh God thanks Kagiejot ,

I definately forgot the clear_list, I tried several times using clear_item. But millions of thanks for helping me.

Thanks again

0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

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…
Configuring and using Oracle Database Gateway for ODBC Introduction First, a brief summary of what a Database Gateway is.  A Gateway is a set of driver agents and configurations that allow an Oracle database to communicate with other platforms…
This video shows how to Export data from an Oracle database using the Original Export Utility.  The corresponding Import utility, which works the same way is referenced, but not demonstrated.
This video shows how to configure and send email from and Oracle database using both UTL_SMTP and UTL_MAIL, as well as comparing UTL_SMTP to a manual SMTP conversation with a mail server.
Suggested Courses

885 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