Update Table from Datasource

Hi
I don't know how to update from datasource object directly.
Help me if you have a solution or example code.
Sorry for my bad english.

Hi there,
Here you'll have some sample code, hope it helps.
As you can see I first make a reference to my datasource and my matrix. (SAPForm is the active form)
Then I flush all data from my matrix to the datasource and loop through the datasource and get each record.
<b>Code for getting values from the matrix (C#):</b>
// Get the datasource
DBDataSource ds = (DBDataSource)SAPForm.DataSources.DBDataSources.Item("@TABLENAME");
// Get the matrix object
Matrix oMatrix = (Matrix)SAPForm.Items.Item("LocMatrix").Specific;
oMatrix.FlushToDataSource();
// Loop through each row, so we can update the values...
for(int i = 0; i < (ds.Size - 1); i++)
  // Get the codeID
  string sCode = ds.GetValue("Code", i).Trim();
  // Get the LocationName
  string sLocName = ds.GetValue("U_SomeField",i);
  // Do something with the values
  DoSomeUpdates(sCode, sLocName);

Similar Messages

  • Updating table from stored procedure in TimesTen

    Hi experts,
    I am unable to update table from procedure; here is what I did -
    Created and populated table -
    Command> create table test_table(key integer,value integer);
    Command> insert into test_table values(1,10);
    1 row inserted.
    Command> insert into test_table values(2,20);
    1 row inserted.
    Command> insert into test_table values(3,30);
    1 row inserted.
    Command> select * from test_table
    > ;
    < 1, 10 >
    < 2, 20 >
    < 3, 30 >
    created procedure -
    Command> create or replace procedure testtable_update(key integer,value integer) as
    > begin
    > update test_table set test_table.value = value where test_table.key = key;
    > end;
    > /
    Procedure created.
    Executed procedure -
    Command> begin
    > testtable_update(3,60);
    > end;
    > /
    PL/SQL procedure successfully completed.
    Command> select * from test_table
    > ;
    < 1, 10 >
    < 2, 20 >
    < 3, 30 >
    I am not seeing update, in underlying table. What could be the reason for this?
    If I do following it works -
    Command> update test_table set test_table.value = 60 where test_table.key = 3;
    1 row updated.
    Command> select * from test_table;
    < 1, 10 >
    < 2, 20 >
    < 3, 60 >
    3 rows found.
    Am I missing something?
    Any pointers or help will be greatly appreciated.
    Thanks

    The problem is that the parameter names in your procedure are the same as the column names, hence the columns are being updated with the same values. You have two options:
    1. Change the names of the parameters by adding a prefix. For example:
    create or replace procedure testtable_update( p_ key integer,*p_* value integer)
    begin
    update test_table set test_table.value = p_ value where test_table.key = p_ key;
    end;
    2. Qualiflying the parameters with the procedure name.
    create or replace procedure testtable_update(key integer,value integer)
    begin
    update test_table set test_table.value = testtable_update. value where test_table.key = testtable_update. key;
    end;
    Simon

  • Update table from SM30 with automatic Time Stamp

    Hi,
    I have created a table maintenance generator for updating table from SM30.
    Now there are fields in my table which are CRETING TIME and CHANGING TIME. Both being TIMESTAMP field (datatype: RSDDTZNTSTMPS).
    Is it possible while user updates records/create new record in the table from SM30, these time stamp field to automatically get populated.
    Also is there any F4 help available for TIMESTAMP field?
    ags.

    Hi,
    You need to do two things inorder to get the desired results.
    1) Go to Screen Layout of the Screen created by table maintenance generator and make the date/time columns to DISPLAY ONLY. This will ensure that user is not able to modify the values at runtime
    2) Write the code in PAI of the Module pool program to populate the values at runtime using Sy-datum/sy-uzeit. (Hint : Search for INSERT/MODIFY statements which will show the location before which you need to write your logic)
    Regards,
    Kshitija

  • Insert and update tables from SQL server to oracle database tables

    Hi,
    I am having problem while update data from sql server to oracle database tables.
    I am doing one way insert +updates that is from SQL Server tables ==> Oracle database tables
    I am using tools Sql server Integration service. I can insert data from sql server to oracle but update can't. Please help me how can I update + insert from sql server to oracle database tables easily.
    Thanks in advance.

    Hi,
    What about using Oracle SQL Developer for migration
    http://www.oracle.com/technetwork/database/migration/sqlserver-095136.html
    HTH

  • Need a Query to update table from another table.

    I have two tables Table A and Table B , till now in table “A”. I have a column which consist of IDs and duplicate IDs( which are basically formed by Original Ids) , I have another table i.e. table “B” , which gives a mapping between original ids and duplicate Ids
    TABLE A:
    ID/DUPLICATEID      NAME
    1     Rahul
    1_CAD     Pawan
    2     Nikhil
    3     TOM
    3_CAD     Ravi
    3_MQ     Puneet
    TABLE B:
    ORIGINALID     DUPLICATEID
    1     1_CAD
    3     3_CAD
    3     3_MQ
    Now I want to have another column in Table “A” , which will give me the mapping between the original Id and duplicate Id as shown in updated table “A”.
    UPDATED TABLE A:
    ID/DUPLICATEID     NAME     ORIGINAL_ID
    1     Rahul     
    1_CAD     Pawan     
    2     Nikhil     
    3     TOM     
    3_CAD      Ravi     
    3_MQ     Puneet     
    Now I want to write a Query in which I can update this column (ORIGINAL_ID) of Table “A”, from the table B(basically want to update mulitple rows using single query), because table B already has this mapping. Can any one help me in this. I am basically a Java guy , so I don’t know much about it. I hope to get a positive response from you people, Thanks in advance!

    Here you go...
    <pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%">
    <code>
    SQL&gt; CREATE TABLE A (ID VARCHAR2(10), NAME VARCHAR2(10), NEW_ID VARCHAR2(10));
    Table created.
    SQL&gt; INSERT INTO A VALUES ('1', 'Rahul', '');
    1 row created.
    SQL&gt; INSERT INTO A VALUES ('1_CAD', 'Pawan', '');
    1 row created.
    SQL&gt; INSERT INTO A VALUES ('2', 'Nikhil', '');
    1 row created.
    SQL&gt; INSERT INTO A VALUES ('3', 'TOM', '');
    1 row created.
    SQL&gt; INSERT INTO A VALUES ('3_CAD', 'Ravi', '');
    1 row created.
    SQL&gt; INSERT INTO A VALUES ('3_MQ', 'Puneet', '');
    1 row created.
    SQL&gt; CREATE TABLE B (ID VARCHAR2(10), NAME VARCHAR2(10));
    Table created.
    SQL&gt; INSERT INTO B VALUES ('1', '1_CAD');
    1 row created.
    SQL&gt; INSERT INTO B VALUES ('3', '3_CAD');
    1 row created.
    SQL&gt; INSERT INTO B VALUES ('3', '3_MQ');
    1 row created.
    SQL&gt; COMMIT;
    Commit complete.
    SQL&gt; UPDATE A
    2 SET NEW_ID = NVL((SELECT B.ID FROM B WHERE A.ID = B.NAME),A.ID)
    3 /
    6 rows updated.
    SQL&gt; COMMIT;
    Commit complete.
    SQL&gt; SELECT * FROM A;
    ID NAME NEW_ID
    1 Rahul 1
    1_CAD Pawan 1
    2 Nikhil 2
    3 TOM 3
    3_CAD Ravi 3
    3_MQ Puneet 3
    6 rows selected.
    </code></pre>
    Note: While asking question do give us DML/DDL script. It will make peoples life better.
    Karthick.
    http://www.karthickarp.blogspot.com/

  • Load / Update Table from a .csv file

    Hi All,
    I thought I would just throw this out there..be kind.
    I have a requirement to build a page that allows the user to upload a excel (well I'll have them save it as a .csv) and upate an existing table in their schema.
    I have successfully created a similar page for inserting into an existing table however my update is not working. Then I realized what the Oracle Application Express Tool does that for me on, LOAD DATA page. The feature I like best is that after browsing for the file and clicking next it shows the column header and the row data underneath. I would really like to duplicate the functionality of this page.
    I looked into the flows schema found related procedures , for example wwv_flow_load_excel_data,but I'm lost on how to use them.
    Is there a way to duplicate the LOAD DATA Page and fit it to meet the users requirement?
    Also I have included my coding attempt :
    CREATE OR REPLACE PROCEDURE exceltotable2
    AS
    NAME: exceltotable
    PURPOSE:
    REVISIONS:
    Ver Date Author Description
    1.0 11/17/2008 1. Created this procedure.
    NOTES:
    Automatically available Auto Replace Keywords:
    Object Name: exceltotable
    Sysdate: 11/17/2008
    Date and Time: 11/17/2008, 2:02:03 PM, and 11/17/2008 2:02:03 PM
    Username: (set in TOAD Options, Procedure Editor)
    Table Name: (set in the "New PL/SQL Object" dialog)
    v_blob_data BLOB;
    v_blob_len NUMBER;
    v_position NUMBER;
    v_raw_chunk RAW (10000);
    v_char CHAR (1);
    c_chunk_len NUMBER := 1;
    v_line VARCHAR2 (32767) := NULL;
    v_data_array APEX_APPLICATION_GLOBAL.VC_ARR2;
    v_rows NUMBER;
    v_asset_id NUMBER;
    v_new_location GINOS_LOCATION.ID_LOCATION%TYPE ;
    sql_stmt VARCHAR2 (2000);
    --delete from data_upld;
    BEGIN
    -- Read data from wwv_flow_files</span>
    SELECT blob_content
    INTO v_blob_data
    FROM wwv_flow_file_objects$
         WHERE NAME = 'F32700/scannedforrdc.csv';
         --(used this for testing)
    -- WHERE last_updated = (select max(last_updated) from WWV_FLOW_FILE_OBJECTS$ where UPDATED_BY
    -- = 'ADMIN')
    --and id = (select max(id) from WWV_FLOW_FILE_OBJECTS$ where UPDATED_BY = 'ADMIN');
    v_blob_len := DBMS_LOB.getlength (v_blob_data);
    v_position := 1;
    -- Read and convert binary to char</span>
    WHILE (v_position <= v_blob_len)
    LOOP
    v_raw_chunk := DBMS_LOB.SUBSTR (v_blob_data, c_chunk_len, v_position);
    v_char := CHR (hex_to_decimal(RAWTOHEX(v_raw_chunk)));
    v_line := v_line || v_char;
    v_position := v_position + c_chunk_len;
    -- When a whole line is retrieved </span>
    IF v_char = CHR (10)
    THEN
    -- Convert comma to : to use wwv_flow_utilities </span>
    v_line := REPLACE (v_line, ',', ':');
    -- Convert each column separated by : into array of data </span>
    v_data_array := APEX_UTIL.string_to_table (v_line);
    -- Update assets with RDC location
    -- First get the current location id of the RDC
    -- Next take each serial number from the spreadsheet and update the location and rack details </span>
    Select id_location into v_new_location from ginos_location gl, ginos_site gs, ginos_agency ga
    where nm_office = 'OCFS Resource Distribution Center' and gl.id_site = gs.id_site
    And gl.id_agency = ga.id_agency And ga.nm_agency ='Office of Children and Family Services';
    -- test with only the serial number/location
    UPDATE GINOS_ASSET SET ID_LOCATION = v_new_location WHERE NM_SERIAL = v_data_array(1);
    -- Clear out
    v_line := NULL;
    v_rows := v_rows + 1;
    END IF;
    END LOOP;
    END;
    Any advice/assistance is always appreciated
    Thanks
    Moe

    Dan
    Thank You for your reply, I actually bookmark your site yesterday when googling this problem.
    I am going to give it a try. I have ran through steps 1 through 4. Step 4 , I modified to my page.
    Just a little more help..
    do I put my update table code in the procedure (step 4) - how do I view and extract the information from the collection?
    DECLARE
    l_blob BLOB;
    PROCEDURE cleanup
    IS
    BEGIN
    DELETE FROM WWV_FLOW_FILES
    WHERE name = :P103_UPLOAD;
    END cleanup;
    BEGIN
    SELECT blob_content
    INTO l_blob
    FROM WWV_FLOW_FILES
    WHERE name = :P103_UPLOAD;
    csv.create_collection_from_blob(l_blob, 'CSV_UPLOAD', 'Y');
    -- I looked in the ginodba schema (the ref schema for the app) for this collection but it's not there
    cleanup;
    EXCEPTION
    WHEN OTHERS
    THEN
    cleanup;
    RAISE;
    END;
    Thanks Again
    MOe

  • PLS-00327 when updating table from a remote table inside a PLSQL procedure

    Hi,
    Inside a PL/SQL procedure,I want to update a table from a remote table :
    begin
    UPDATE rachel1 set NEW_TEN_CODE =
    (SELECT NEW_TEN_CODE FROM rachel@REFI
    WHERE rachel1.OLD_TEN_CODE=rachel.OLD_TEN_CODE@REFI);
    end;
    I receive the error :
    PLS-00327: "RACHEL" is not in SQL scope here
    When I extract the update from the procedure and I run from SQL (without begin ... end), it works :
    SQL> UPDATE rachel1 set NEW_TEN_CODE =
    2 (SELECT NEW_TEN_CODE FROM rachel@REFI
    3 WHERE rachel1.OLD_TEN_CODE=rachel.OLD_TEN_CODE@REFI);
    So, why doesn't the update work inside the PL/SQL procedure ?
    What have I to do ?
    I need to run this command inside the procedure.
    Regards,
    Rachel

    Hi,
    Yes, the owner of the procedure have select on RACHEL@REFI.
    My oracle version is : 8.1.7.4.
    In fact, I've resolved the problem by doing :
    begin
    UPDATE rachel1 set NEW_TEN_CODE =
    (SELECT NEW_TEN_CODE FROM rachel@REFI
    WHERE rachel1.OLD_TEN_CODE=rachel.OLD_TEN_CODE);
    end;
    Regards,
    Rachel

  • Can not insert or update [TABLE] from internal table in method

    I've faced a problem with OO abap. I've tried to insert into [ TABLE ] from internal table, but i've got error msg after i compiled.
    "An explicit work area is necessary in the OO context. Use "INSERT wa INTO [TABLE] itab""
    After  i changed to loop in work area and INSERT INTO  [TABLE] VALUES gw_data., everything is fine, can compile and run.
    This is error code.
      METHOD set_data_to_table.
        REFRESH gi_data.
        CLEAR gi_data.
        IF gi_file[] IS NOT INITIAL.
    * Set data for modify table
          LOOP AT gi_file INTO gw_file.
            MOVE-CORRESPONDING gw_file TO gw_data.
            me->conversion_input( EXPORTING im_vendor = gw_data-vendor
                                  CHANGING  ch_vendor = gw_data-vendor ).
            APPEND gw_data TO gi_data.
          ENDLOOP.
          INSERT [TABLE] FROM TABLE gi_data.
    *      LOOP AT gi_data INTO gw_data.
    *        INSERT INTO  [TABLE] VALUES gw_data.
    *        IF sy-subrc = 0.
    *          COMMIT WORK.
    *        ELSE.
    *          ROLLBACK WORK.
    *        ENDIF.
    *      ENDLOOP.
        ELSE.
          MESSAGE 'No data found' TYPE 'I'.
        ENDIF.
      ENDMETHOD.                    "set_data_to_table

    Hi Matthew,
    I think there is no difference in database insert between OO and non-OO.
    The correct syntax according to ECC600 online documentation is
    [Inserting Several Lines|http://help.sap.com/saphelp_erp2005vp/helpdata/en/fc/eb3a6d358411d1829f0000e829fbfe/content.htm]
    To insert several lines into a database table, use the following:
    INSERT target FROM TABLE itab \[ACCEPTING DUPLICATE KEYS].
    This writes all lines of the internal table itabto the database table in one single operation. If one or more lines cannot be inserted because the database already contains a line with the same primary key, a runtime error occurs. You can prevent the runtime error occurring by using the addition ACCEPTING DUPLICATE KEYS.
    Whenever you want to insert more than one line into a database table, it is more efficient to work with an internal table than to insert the lines one by one.
    I think the syntax
    INSERT my_dbtable FROM TABLE gi_data.
    should work, your suggestion may lead to syntax error.
    Regards,
    Clemens

  • Need to update table from Maintenance view (Very Urgent !!!)

    Hi Abap Guru's,
    I got a requirement where in I need to create a new Zprog so that it shld give  a call to view v_abc and thru this view I need to update the table abc if any duplicate entries are entered then I shld popup a message.
    Cld u plz help me out how to go further with this requirement and any suggestions...
    if we create a table maintenance generator for the table abc then it will check for the duplicate entries are not ? if it checks for the duplicate entries then my job is done esaily but how to assign the zt-code to the table maintenance ?
    awaiting for u r answer's and realyy appreciated with lots of points.
    Regards,
    Ravi V Ganji

    Hi,
       table generator will check duplicate entries as any
       other table .
        table maintanance Generator is used to manually
        input values using transaction sm30
        follow below steps
       1) go to se11 check table maintanance check box under
          attributes tab
       2) utilities-table maintanance Generator->
          create function group and assign it under
          function group input box.
          also assign authorization group default &NC& .
       3)
        select standard recording routine radio in table
        table mainitainence generator to move table
        contents to quality and production by assigning
        it to request.
       4) select maintaience type as single step.
       5) maintainence screen as system generated numbers
          this dialog box appears when you click on create
         button
        6) save and activate table
       using sm30 you can create entries manually.
    also check below thread to assign transaction code to
    table generator
    Re: Table Maintanance Generator  
    create transaction use se93
    select parameter transaction and give below attributes
      Transaction code      ZTX1                                                                               
    Transaction text      Maintain View ZSDCZTVIEW                                                                               
    Transaction        SM30            Screen             0           
                                              From module pool                                                                               
    Name of screen field           Value                                
       VIEWNAME                       ZSDCZTVIEW                           
       UPDATE                         X

  • Updating table from right side of shuttle

    I have a situation where I have a many to many relationship with 2 tables and an intermediate table. I am trying to create a shuttle item to be able to bring the two tables together. I have been reading the posts regarding populating the right side of the shuttle. That works now, but I have no idea how to take that and update the intermediate table with the values from the right side of the shuttle.
    I tried using APEX_APPLICATION.G_F02, but that only seems to work, if the values in the right side are highlighted.
    I can't seem to figure out what the name of the right hand of the shuttle is.
    Any help would be very welcome.
    Thanks, Greg

    Greg,
    Are you processing on submit? If so then the values would be avaialble by simply referencing the item. Each return value would be separated by a colon as in:
    1:2:3
    Regards,
    Dan
    http://danielmcghan.us
    http://sourceforge.net/projects/tapigen
    http://sourceforge.net/projects/plrecur
    You can reward this reply by marking it as either Helpful or Correct ;-)

  • Update table from another table

    I have two tables
    t1 t2
    a b c d e f
    1 2 3 1 1 11
    4 5 6 1 2 22
    7 8 9 7 1 33
    I would like to update t1.c with t2.f if t1.a = t2.d and t2.e = 1
    result:
    t1 t2
    a b c d e f
    1 2 11 1 1 11
    4 5 6 1 2 22
    7 8 33 7 1 33
    I tried
    update t1
    set c = (select f from t2 where t1.a = t2.d and t2.e = 1)
    but this nulls out column t1.c where a = 4, since there is no row in t2 with d=4.
    I then tried
    update t1
    set c = (select f from t2 where t1.a = t2.d and t2.e = 1)
    where a in (select d from t2 where e = 1)
    which worked, but took a lot longer (the real tables have a lot more rows)
    Is there a better way to only update rows in t1, where a row in t2 exists?
    Thanks, Salomon

    Try using exists instead of in and see if the update runs faster:
    update t1
    set c = (select f from t2 where t1.a = t2.d and t2.e = 1)
    where exists(select d from t2 where t1.a = t2.d and t2.e = 1)

  • Identifying Tables from Datasources

    Hello Gurus, 
                      Can someone take time to help us out with Identifying the Tables (mapping ) to the Datasources.I know we got this "RSOSFIELDMAP" for mapping fields to datasources and info object..Likewise need it for table aswell..Would highly appreciate ur timely help.
    manythanks
    arun
    note: would assign points for sure...

    Hi Obuli,
    You can get the tables related to datasource from help.sap.com.
    Here you need to go to NetWeaver -> BI Contents -> Your application area -> and their you will get the list of all the standatd BI contents available for that application area.
    Here go to datasources and their you will find all the information related to that datasource such as origin fields for extract structure, extractor feature etc..
    for example for DS 0FI_AA_005 the followinglink will help you..
    http://help.sap.com/saphelp_nw2004s/helpdata/en/a8/f4153c4eb5d82ce10000000a114084/frameset.htm
    I hope this will help you..
    Regards,
    Geetanjali
    "Points are welcome if this helps.."

  • Update Table from view data

    I want o update the Table using the view of a table of different schema. A dblink is created between two schema's ?
    Kindly suggest the method to implement this ?
    What Form type should i use?
    Its is possible to use collections?
    Sanjay

    user12957777 wrote:
    I want o update the Table using the view of a table of different schema. A dblink is created between two schema's ?
    Kindly suggest the method to implement this ?
    What Form type should i use?
    What do you mean by "connection"?
    If you use a single database then just add schema's preffix and that's all.
    under table owner:
    insert into <table_name> select * from <schema>.<view>under view owner:
    insert into <schema>.<table_name> select * from <view>But make sure your users get necessary grants.

  • Updating tables from Java Stored Procedures

    "Oracle8i Tips & Techniques" says that Java Stored Procedures "should not modify any database tables" when called from Data Manipulation Language (DML) SQL (e.g. selects).
    I have a need to do this.
    Does any one know if I can call my Java from a PL/SQL stored procedure which is called from the DML SQL (e.g. via a function). That is to say java called from PL/SQL called from DML-SQL, or is this just hopeful thinking.
    Any other Ideas?
    Thanks in advance
    GT

    Uh, not JNI but JNDI you asked. And use of JNI should be generally discouraged unless there is absolutely no other way (like co-located CORBA code for decoupling+speed). Can you direct me to a HOW-TO Oracle DB JVM configuration page? I want to know how to configure the internal DB JVM in a hurry.
    Thank you,
    Bryan

  • How to update one table from another table?

    Hi,
    Please go through the case I am mentioning below and if possible try to provide with a solution.
    I am working on a report to generate cash flow forecast, where in one of the fields is "Payroll", in which its being mentioned as:
    In the selection screen: I am entering Project ID, profit Center and Period(in MM/YYYY format).
    Selection of all entries in table COSP for selected cost elements above, value type 1, version , all periods and for all selected WBS elements and all objects underneath.
    From this, update table COFP with information from COSP with value type 62 and same period.
    For updation of various fields the following information is being given.
    How should we update COFP?
    New entries per OBJNR/PERIO and HKONT are required via using the information from COSP:
    COFP-MANDT              =          SY-MANDT
    COFP-KOKRS              =          if COSP-OBJNR begins with ‘PR’
                                                   Check table PRPS with COSP-OBJNR = PRPS-OBJNR and enter PRPS-PKOKR
                                                    If COSP-OBJNR begins with ‘NV’
                                                   Check table AFVC with COSP-OBJNR = AFVC-OBJNR,
    go to Table AFKO with AFVC-AUFPL,
    go to table AUFK with AFKO-AUFNR and enter AUFK-KOKRS
    If COSP-OBJNR begins with ‘OR’
    Check table AUFK with COSP-OBJNR = AUFK-OBJNR
    and enter AUFK-KOKRS
    COFP-BELNR               =          Check table NRIV, CLIENT = SY-MANDT, OBJECT = RK_BELEG,
    SUBOBJECT = COFP-KOKRS, NRRANGENR = ‘05’,
    Add 1 to NRLEVEL and begin with 500000000
    Use same BELNR for one update-run
    COFP-BUZEI                =          ‘1’ + and 1 in next entry but same update-run
    COFP-TWAER              =          COSP-TWAER
    COFP-ZHLDT                =          always last day of month in field COFP-PERIO
    COFP-GJAHR               =          COSP-GJAHR
    COFP-PERIO               =          if entry in field WKG001 à PERIO = 001
                                                   If entry in field WKG006 à PERIO = 006……
    COFP-WRTTP              =          ‘62’
    COFP-VRGNG              =          ‘FIPL’
    COFP-POSIT                =          Check table SKB1 where SAKNR = COSP-KSTAR and use SKB1-FIPOS
                                                   for going to table FMCI-FIPOS and enter FMCI-POSIT
    COFP-OBJNR               =          COSP-OBJNR
    COFP-HKONT              =          COSP-KSTAR
    COFP-WKGBTR           =          WKGXXX
    COFP-WKGBTRO         =          -
    COFP-WTGBTR            =          WTGXXX
    COFP-WTGBTRO         =          -
    COFP-WOGBTR           =          WTGXXX
    COFP-WOGBTRO        =          -
    COFP-BUKRS1            =          -
    COFP-GJAHR1             =          -
    COFP-BELNR1             =          -
    COFP-BUZEI1              =          -
    COFP-BUKRS2            =          -
    COFP-GJAHR2             =          -
    COFP-BELNR2             =          -
    COFP-BUZEI2              =          -
    COFP-EBELN               =          -
    COFP-EBELP               =          -
    COFP-ZEKKN               =          -
    COFP-ETENRM            =          -
    COFP-STUNR               =          -
    COFP-LIFNR                =          -
    COFP-KUNNR              =          -
    COFP-GSBER              =          -
    COFP-BUKRS              =          (nearly same as COFP-KOKRS!)
                                                   if COSP-OBJNR begins with ‘PR’
                                                   Check table PRPS with COSP-OBJNR = PRPS-OBJNR and enter PRPS-PBUKR
                                                    If COSP-OBJNR begins with ‘NV’
                                                   Check table AFVC with COSP-OBJNR = AFVC-OBJNR,
    go to Table AFKO with AFVC-AUFPL,
    go to table AUFK with AFKO-AUFNR and enter AUFK-BUKRS
    If COSP-OBJNR begins with ‘OR’
    Check table AUFK with COSP-OBJNR = AUFK-OBJNR
    and enter AUFK-BUKRS
    COFP-EINDT                =          -
    COFP-SGTXT               =          -
    COFP-GEBER              =          -
    COFP-KURSF              =          -
    COFP-KUFIX                =          -
    COFP-GBETR              =          -
    COFP-KURSR              =          -
    COFP-KURSFIKRS       =          -
    COFP-KZKRS               =          -
    COFP-UMBKZ              =          -
    COFP-KBLNR               =          -
    COFP-KBLPOS            =          -
    COFP-HI FIVOR            =          -
    COFP-LO FIVOR          =          -
    COFP-HI ACCOUNT      =          -
    COFP-LO ACCOUNT     =          -
    COFP-HI LIFNR            =          -
    COFP-LO LIFNR           =          -
    COFP-HI KUNNR          =          -
    COFP-LO KUNNR         =          -
    COFP-XDELETE           =          -
    COFP-HI XOPVW         =          -
    COFP-LO XOPVW        =          -
    COFP-ZAEHK               =          -
    COFP-CHAINBELNR     =          -
    COFP-MWSKZ             =          -
    COFP-LEDNR               =          -
    COFP-BELTP               =          ‘1’
    COFP-VERSN              =          ‘0’
    COFP-OWAER             =          COSP-TWAER
    COFP-CPUDT               =          SY-DATUM
    COFP-CPUTM              =          SY-TIME
    after doing updation, its again saying Selection of all entries in table COFP with value type 51 to 62, selected year, selected cost elements above and for all selected WBS elements and all objects underneath. Summarisation by period.
    Now, can someone help me as how to proceed with the entire thing? An elaborate and illustrative answer would be highly appreciable.
    If you require any other information....then get back to me ..asap.
    Its bit urgent.
    Thanks & Regards,
    Ravi

    Hi
    update <table> from <i_tab>
    for different conditions.
    loop at i_cosp.
    if cosp-mandt eq sy-mandt and  cosp-objnr eq 'PR'.
    Read table i_PRPS with key  i_PRPS-OBJNR = i_COSP-OBJNR.
    if sy-subrc eq 0.
    update PRPS set PKOKR = ? where objnr = i_prpr-objnr.
    endif.
    endif.
    similarly for all the conditions
    Regards
    Message was edited by: Harikishore Sreenivasulu

Maybe you are looking for