Problems with creating a complex cursor

Let me prefix this post with the fact that I am really new at this and this is my first shot at creating a Stored Proc. I have the shell and I have tried to code this but I am having some issues with the cursor. Any tips or tricks that you can give me would be greatly appreciated.
Below is what I am trying to accomplish
Looking for the best approach to work with a complex cursor.
I have 4 files that are going to dump into a temp table. This is a sample of the Temp Table
CHAN_ADDR,BRA,SRC_ID,R_Flag,C_Flag,S_Flag,N_Flag,Expire_Date,Wireless_Flag
1111111111,R,1-a,,,,NDNC,7/7/2006,
2222222222,R,2-b,,,SDNC,NDNC,7/7/2006,WIR
3333333333,R,3-c,,,SDNC,NDNC,7/8/2006,
4444444444,R,4-d,y,,SDNC,NDNC,7/9/2006,WIR
5555555555,R,5-e,y,,SDNC,,7/10/2006,
6666666666,R,6-f,y,,,,,WIR
7777777777,R,7-g,,,,,,
8888888888,R,8-h,y,,,NDNC,7/7/2006,WIR
I need to take this data and dump it into another table that looks like the following:
ADDR     Per_ID     Method     Name     Expire Date     Flag
1111111111     1-a     Phone     Nat     7/7/2006     Y
2222222222     2-b     Mobile     State     7/7/2006     Y
2222222222     2-b     Mobile     Nat     7/7/2006     Y
4444444444     3-c     Mobile     R     7/9/2006     y
4444444444     3-c     Mobile     State     7/9/2006     y
4444444444     3-c     Mobile     Nat     7/9/2006     y
know that I need to use a cursor using loop and fetch but I am kind of confused on how to make this work. I am fairly new to writing PL/SQL so any tips and tricks would be greatly appreciated.
For each phone number there can be 1 to 3 records written based on the flags. For each of those records I must store the phone number, the id, flag data, expire date (for only State or National) and Flag must always be checked.
I have put together a small shell of the program but what goes in the middle is where I am having some problems.
CREATE OR REPLACE PROCEDURE USP_EIM_CONTACT3_UPD
IS
CURSOR dnc_cursor IS
SELECT CHAN_ADDR,
     BRA,
     SRC_ID,
     R_FLAG,
     C_FLAG,
     S_FLAG,
     N_FLAG,
     EBR_EXPIRE_DATE,
     WIRELESS_FLAG
FROM eim_admin.RCCL_OPT_OUT_TMP;
     v_counter                     NUMBER := 0;
     v_insert                     NUMBER := 0;
     v_sysdate                     DATE:=SYSDATE;
     v_chan_addr                    eim_admin.RCCL_OPT_OUT_TMP.chan_addr%TYPE;
BEGIN
     DBMS_OUTPUT.PUT_LINE ('***Begining USP_EIM_CONTACT3_UPD, time is ' ||
TO_CHAR (v_sysdate, 'MON-DD-YYYY HH24:MI.SS'));
     DBMS_OUTPUT.NEW_LINE;
FOR rec IN dnc_cursor LOOP
     v_counter:=v_counter+1;
     BEGIN
     SELECT CHAN_ADDR
     INTO v_chan_addr
     FROM eim_admin.RCCL_OPT_OUT_TMP;
     EXCEPTION
WHEN OTHERS THEN
          DBMS_OUTPUT.PUT_LINE('*** Could not lookup RCCL_OPT_OUT_TMP. ***');
          DBMS_OUTPUT.PUT_LINE('ORA-'||SQLCODE||' '||SQLERRM);
     END;
BEGIN
          INSERT INTO siebel.S_PER_COMM_ADDR
     (ADDR)
VALUES
(rec.CHAN_ADDR);          
          v_insert := v_insert + SQL%ROWCOUNT;
     EXCEPTION WHEN OTHERS THEN
          DBMS_OUTPUT.PUT_LINE('*** Failed to insert into siebel.S_PER_COMM_AADDR DDR ***');
          DBMS_OUTPUT.PUT_LINE('ORA-'||SQLCODE||' '||SQLERRM);
     END;
END LOOP;
--Output STATISTICS.
DBMS_OUTPUT.PUT_LINE('**Number records read :'||v_counter);
DBMS_OUTPUT.NEW_LINE;
DBMS_OUTPUT.PUT_LINE ('***Completing USP_EIM_CONTACT3_UPD, time is ' ||
TO_CHAR (SYSDATE, 'MON-DD-YYYY HH24:MI.SS'));
EXCEPTION
     WHEN OTHERS THEN
     DBMS_OUTPUT.PUT_LINE(' ****Error in USP_EIM_CONTACT3_UPD ****'||SQLCODE||SQLERRM);                              
END USP_EIM_CONTACT3_UPD;
I have already created the table. What we are going to do is using sqlloader to load our text files into our temp table. From there we are going to read the data from the temp table into a table that is already created.
Basically what I am trying to do is the following:
Cursor 1
select * from Temp where, State_Flag and National_Flag is not null
Insert into Siebel.S_PER_COMM_ADDR
set id = source var
set phone = chann_add var
If
wireless flag is not null
set method = 'Mobile"
else
set method = 'Home'
end if
If
Brand = 'r' and R_Flag is not null
set name flg1
set flag as 'T'
and so on.
I am getting confused as to where to call the variables:
set id = source var
set phone = chann_add var
I am also confused on how to do the sets and how to set the date for S_Flag and N_Flag.
One of the other issues is that I need to go and look at the base table to pick up anyone else that has the phone number and update or delete based on the data in the table.

I am getting confused as to where to call the variables:
set id = source var
set phone = chann_add var have you defined your variables in the DECLARE area? is that a cursor variable or plain variable? need more info.

Similar Messages

  • I am having problems with creating my apple id. On the phone it is advising me that the ID is not created and then when i do it online it says that it has been created. Can you advise me on what to do please?

    I am having problems with creating my apple id. On the phone it is advising me that the ID is not created and then when i do it online it says that it has been created. Can you advise me on what to do please?

    Apple ID FAQ   http://support.apple.com/kb/HE37

  • Problem with create universe on Business Objects XI 3.1 base on SAP Query

    Hello,
    I have a problem with create universe on Business Objects XI 3.1 base on SAP Query.
    The problem is hierarchy. Massage on Busines Objects is :
       OWBS_ELEMT__ISTKOSZT(cube ICPC01/BEX_ICOC01):Exception condition  "HIERARCHY NOT FOUND" raised.(WIS 10901) 
    Query in BEX run OK.
    Best regards.
    Ela.

    Hello,
    Thanks for response.
    When I run BEX QUERY, all works OK.
    All hierarchies was created and activated  on system BW.
    This situation appears after upgrade BW to SAP NetWeaver 7.3.
    Before upgrade I created universe without any problems.
    Regards Ela

  • Problem with creating new user in portal = portlet is not visible

    Hi,
    I've got a problem with creating new users in portal. In the Administer tab of the builder is the user portlet not visible.
    How can I make this portlet visible?
    Please Help
    thank you...
    Gilbert

    Hi..my problem slightly similar.
    I created one new user, and didn't select anything from "Public Groups Assignment" and "Privilege Assignment" for him.
    I expect the user will be a public user.
    But, when he try to logged in the portal,
    He cannot see all the PORTLETS related to database values..
    All he can see just LINKS -that all in my portal right now beside the report from database that the user cannot see :)
    So, what did i do wrong?
    Plz Advise, and thanks.

  • Problem with creating site from another computer!

    Hi
    I have WebDB 2.2 and Oracle8i instaled on the same computer. I have a problem to create site from another computer. There is not any process when I try to create site. There is always 0%.
    But I have no problem with creating site on the origin computer.
    Does anybody know something about it?

    I am just not clear what to do once I have made changes and have published the new information.
    You shouldn't have to do anything. iWeb will save the information in the Domain.sites file. You can keep this file in a folder, or even on your desktop and iWeb will launch from a double-click on the file.

  • Problem with creating email account on E72

    I have bought E72 and want to use mine company email - but there is a problem with creating email account in mail program.
    Restoring to fabric settings doesn't works.
    When I'm creating Gmail account it's OK, but phone doesnt want to cooperate with other accouns:/

    Try again without using WLAN. I had same problem, but solved it using GPRS.

  • Problem with creating chapter-markers

    Hi everyone,
    as the title already says it, I've got a problem with creating chapter markers in Quicktime Pro 7.6.4. There's something wrong with the font, displayed in Quicktime. The problem first appeared a few days ago. Before this, everything went fine and I don't have a clue what causes the problem.
    Please click HERE to see a screen-recording of the steps I do to create chapters:
    - convert the chapters into unformatted text and save it as Unicode (UTF-16) text file.
    - open it in Quicktime and everything (including the german umlauts) is displayed correct.
    - export it into a Text-file with description
    when I open the new text file in Quicktime, the fonts are displayed in asian letters, but when I view it in the Texteditor, the text is almost correct, BUT the umlauts are not ok. So I go on with...
    - correct the umlauts and save a new file as Unicode (UTF-16) again.
    After I open the new file in Quicktime, the text is completely gone. As the text file seems to be ok in the Texteditor, I guess there must be something wrong with Quicktime. I tried to reinstall Quicktime 7 from the "Mac OS X 10.6 Snow Leopard" Installation-Disc, but the problem persists.
    I' would appreciate any help...
    Thanks in advance and best regards,
    Michael

    I'm having the exact same issue. I have created my movie in IMovie 09 then under the "share " menu I sent the movie to iDVD. Everything looks fine on screen, but all I get on the final product is the movie.
    After digging deeper into the tutorials all they show is dragging a movie into the idvd shell, not sharing via imovie.
    Thus I'm currently attempting to create a quicktime movie then drag it into the IDVD shell. I think that way the chapter markers and everything should show up and burnt into the final project. I'm guessing the "share" option with the IDVD from iMovie doesn't work properly???

  • Problem with creating order through order template

    Hi experts,
    We have problem with creating order by order template.  Extensions data available in order template is not sent to order.   Extension data are showing upto order submission form.  But after sucessful creation of order  extension data are no longer available in  CRM-ORDEr.
    We are using ISA 4.0 with CRM 4.0.
    We recently applied patches on CRM server.  Before patching it was working fine.
    Can you please suggest us to solve this issue?
    Thanks in Advance.
    Regards,
    Murugan Arumugam.

    closed.

  • Problem with  Creating Info Record

    Hello Gurus,
    I've problem with Creating Info Record
    i tried to create info record for Plant Specific/Purchase Org
    The first Screen General Data is OK
    i entered all the data in the next screen ie
    Purchase Organization Data screen but i'm getting error
    <b>Make an entry in all required fields</b>
    but there is Mandatory Textbox ie "VALID TO" which im unable to select Bcos its Disabled
    pls help me regarding this
    thanks in advance

    Hi
    Have u given the net price. <b>VALID TO</b> is the date until which the price shown in the info record is valid.
    If there is no price that is valid on the current date, the last-valid price is displayed and the date field contains the day before the start of the next validity period (this may be 12.31.9999 if there is no further validity date). If all validit periods lie beyond the current date, the price of the next period is displayed. The date field then contains the end date of this period.
    These validity periods we will maintain Purchse data CONDITIONS while creating info record. Check the validity period for the conditions.
    Hope this will helps u
    Ravi
    Ravikumar Bolla

  • Problem with creating virtual column

    Hello,
    We've got problem with creating virtual column.
    There is table R_T that contain columns R_ID and L_ID, we would like to create virtual column RL_ID that contains sth like 'R_ID-L_ID' (R_ID, L_ID and RL_ID are varchars).
    According documentation we've tried:
    alter table R_T add column (RL_ID varchar2(60) generated always as (R_ID||'-'||L_ID) VIRTUAL)
    but getting
    ORA-00904: : invalid identifier
    00904.00000 - "%s: invalid identifier"
    Have no idea where is the problem.
    Table, columns names are little different but contains only capital letters A - Z and underscore "_".
    Has anyone idea?
    Thanks a lot.

    Strange...
    This does work for me :
    Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0
    Connected as dev
    SQL>
    SQL> create table r_t (
      2   r_id varchar2(25),
      3   l_id varchar2(25)
      4  );
    Table created
    SQL> insert into r_t (r_id, l_id) values('R','L');
    1 row inserted
    SQL> alter table r_t add (rl_id varchar2(60) generated always as (r_id||'-'||l_id) virtual);
    Table altered
    SQL> select * from r_t;
    R_ID                      L_ID                      RL_ID
    R                         L                         R-L
    SQL>

  • I have problems with creating new projects in iMovie.

    I have problems with creating new projects. When i try, the mac says the following "Make sure there is enough disk space and that you have permission to write the projects to the drive." I have 8GB available, so its not that.

    thanks for your support
    lol

  • Oracle 9i, Rel.2 - Problems with dynam statement and cursor

    Hello,
    I have the following problem with Oracle 9i, Release 2:
    I have a SQL-statement, which I create with the help of a configuration table. That means I don’t know how this statement looks at runtime. It could be look like this:
    SELECT Att1, Att2, Att3
    FROM Tab1
    or this…
    SELECT Att1, Att2
    FROM Tab1
    or this…
    SELECT Att1
    FROM Tab1
    etc.
    That means I don’t know in advance how many columns will be in the select-clause.
    Here my code snippet until here:
    v_query_str := 'SELECT ' || v_select_clause_str
    || ' FROM cb.' || v_table;
    ,,v_select_clause_str" willl be created dynamically
    ,,v_table" is as well from the config-table
    Now I want to iterate through the result of the query and do further processing.
    For this reason I wanted to use a cursor, iterate through the rows and save every value of each row in an own variable (but I don’t know the number of columns!!!).
    But how can I open a cursor and iterate through it without knowing the number of columns???
    The following code is NOT working:
    TYPE t_dataColumnComp IS TABLE OF VARCHAR2(200);
    a_dataColumnComp t_dataColumnComp;
    --here I create the query…
    v_query_str := 'SELECT ' || v_select_clause_str
    || ' FROM cb.' || v_table;
    OPEN c_tempAtt FOR v_query_str;
    LOOP
    FETCH c_tempAtt INTO a_dataColumnComp; --THIS DON’T WORK
    EXIT WHEN c_tempAtt%NOTFOUND;
    FOR i IN 1..a_dataColumnComp.COUNT
    LOOP
    DBMS_OUTPUT.PUT_LINE(a_dataColumnComp(i));
    END LOOP;
    END LOOP;
    CLOSE c_tempAtt; --close cursor variable
    Regards
    Homer

    You will need to use DBMS_SQL to handle this since the number of columns in the result set is not known until runtime.
    See here for an example of using DBMS_SQL:
    http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:235814350980

  • Problem with constantly turning circular cursor after reboot attempt

    After a heavy download session, I wanted to do a normal restart. This resultet in the Darwin/BSD screen prompting for login. Correct login/passwd just gave the same screen back. I then found the much-referred "Booting from Darwin/BSD screen" on this forum, and did this in single user mode:
    /sbin/fsck -fy
    /sbin/mount -uw /
    cd /var/db/netinfo
    mv local.nidb/ local.nidb.bad
    reboot
    This started the setup, but I didn't get further than selecting keyboard. Then the process froze with the turning circular cursor. After waiting a couple of hours I thought it futile and shut down with power button. Attempted again, same result. Attempted again, and now I get, both after normal power startup and reboot from singel user mode, after start sound, a light grey screen with an apple and the turning cursor.
    tail -20 /var/log/system.log doesn't tell me much, but that's because I'm as good as ignorant on these matters. The 'AuthorizationRef doesn't have username' is now gone, and the only trouble my eyes can detect is:
    llocalhost launchd: Server ... in bootstrap 1103 uid 0: "usr/sbin/lookup"[40]: exited abnormally: Hangup
    (next line is:)
    localhost lookupd[57]: lookupd (version 369.5) starting - (date)
    Using the install disk might be a problem solver, but I won't have it available for some days yet. If anyone has any ideas as to what else could be done with this, or what I could do to find out more about the problem, I'd appreciate it. Note that I'm not too clever in this field, so even basic tips might be useful.

    I tried zapping the PRAM, didn't solve the problem. Found some more log entries:
    system.log ends with:
    mdsyncServer[109]: Could not create DiskArb session or approval session.
    mb.log from Sunday when Setup Assistant started:
    SetupAssistant[124] * Assertion failure in -[MBNetwork Configuration init], System Configuration/MBNetworkConfiguration.m:170

  • Problem with creating a straight line with polygamo lasso

    I am having a problem with polygamo lasso. when i create a triangle or a rechtangle in straight line it is turn out the line become not straight. I don't what did i wrong, was always working fine till today. YOu can see the pic the top line lookslike a step.

    Ihope I did right, was not sure how to save as channel.

  • Having a problem with creating/using a primary key on a view

    I have a problem with a primary key on a view
    I created the view and primary key as follows:
    CREATE OR REPLACE FORCE VIEW "MDD"."ROCK_LU" ("DESCRIPTION",
         UNIQUE ("DESCRIPTION") RELY DISABLE,
         CONSTRAINT "ROCK_LU_PK" PRIMARY KEY ("DESCRIPTION") RELY DISABLE) AS
    SELECT DESCRIPTION
    FROM MRMC_LU
    WHERE ROCK = 'T';
    The view with the primary key appears to have been created as there were no error messages. (The above was from the sql tab in sql developer.)
    When I try to create the foreign key on my mdd_hr table - I get an error
    /* hr_name - foreign key */
    ALTER TABLE mdd_hr add CONSTRAINT hr_name_fk FOREIGN KEY (hr_name) REFERENCES rock_lu(description);
    Error report:
    SQL Error: ORA-02270: no matching unique or primary key for this column-list.
    When I lookup the index in sql developer, rock_lu_pk is not there.
    All my other foreign keys work - but I don't understand what I am doing wrong with this one. Please help.
    glenn
    Background - as to why I want to use a view as a lookup table.
    The MRMC_LU table that the view is created from is structured like:
    DESCRIPTION - MINERAL - ROCK - MODIFIER - COMMODITY
    ANHYDRITE - T - T - T
    APLITE - T - - T
    GRAPHITE - T - - - T
    GREYWACKE - - T
    DESCRIPTION is a list of all names of minerals, rocks, modifiers and commodities. T is entered in each valid field. Often a description name is used for both a mineral and a rock or a mineral and a commodity or any other combination. Because this database is just starting up, it was more efficient to create one table that could be updated (and thereby automatically update the MINERAL_LU, ROCK_LU, MODIFIER_LY, COMMODITY_LU views) rather than create and maintain four separate but similar tables. A primary key cannot be generated for the MRMC_LU table as there are nulls in each column
    except DESCRIPTION.
    Perhaps there is a smarter way to do this?

    http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96540/statements_85a.htm#2065512
    You can specify constraints on views and object views. You define the constraint at the view level using the out_of_line_constraint clause. You define the constraint as part of column or attribute specification using the inline_constraint clause after the appropriate alias.
    Oracle does not enforce view constraints. However, operations on views are subject to the integrity constraints defined on the underlying base tables. This means that you can enforce constraints on views through constraints on base tables.
    Restrictions on View Constraints
    View constraints are a subset of table constraints and are subject to the following restrictions:
    You can specify only unique, primary key, and foreign key constraints on views. However, you can define the view using the WITH CHECK OPTION clause, which is equivalent to specifying a check constraint for the view.
    Because view constraints are not enforced directly, you cannot specify INITIALLY DEFERRED or DEFERRABLE.
    View constraints are supported only in DISABLE NOVALIDATE mode. You must specify the keywords DISABLE NOVALIDATE when you declare the view constraint, and you cannot specify any other mode.
    You cannot specify the using_index_clause, the exceptions_clause clause, or the ON DELETE clause of the references_clause.
    You cannot define view constraints on attributes of an object column.
    Rgds.

Maybe you are looking for

  • After trying to upgrade my iPhone to 3.0, it now doesn't have any service.

    I have the 1st gen iPhone, and tried to update to 3.0 and now I keep getting error codes on iTunes saying that there is an unknown error occured with iTunes, to try again later. Now my phone has no service and can only be used in emergency mode. In t

  • Problem in changing(updating) the data in table control

    Dear ABAP Experts, I have a screen with 2 tables fields. 1st table(ZESTHEADER) fields are normal fields in the screen. 2 nd table fileds(ZESTDETAILS) are table control fields in the same screen . Now i can update the 1st table fields(ZESTHEADER) succ

  • IdeaCentre b305 Partition details?

    Hello: Could anybody post the details of factory partition from this system. Type, attributes , ID. I have a problem with my one key recovery, because I modified the partitions on my system and I have found this. http://lemon.soju.co.uk/2010/01/27/le

  • Rebate agreement change functionality in sap

    Hi All, I am SD functional consultant and I have to change the rebate agreements in bulk with so many details , for this I decided to go for BDC or BAPI and also search the treads but find only one option which is BAPI_AGREEMENTS , and how to use thi

  • How to copy addresses from Contact folder to TB address book in Win7?

    In Win7 have addresses in Contacts folder under USER. How to copy all the addresses to Thunderbird in one go. Presently can only move one at a time. Pls info. Thanks.