Update a partioned table dynamically

Hi All,
Parameters:
MANDATORY input parameters, FROM_DATE and TO_DATE.
OPTIONAL input parameter REVENUE_ID
My requirement:
To update table "ABC" based on the MANDATORY input parameters, FROM_DATE and TO_DATE. If the optional parameter, REVENUE_ID is entered, then, the column dept in ABC should get updated for the particular REVENUE_ID.
Steps Taken:
1) Since ABC has 3million rows.. A simple Update will take a long time and affect performance. So, I am updating it PARTITION wise.
2) I am fetching the PARTITION name in the cursor.(Partition is done period Wise on the table).
Code Created:
CREATE OR REPLACE PROCEDURE apps.test_dept_upd_prc (
p_from_date IN VARCHAR2,
p_to_date IN VARCHAR2,
p_revenue_id IN NUMBER
AS
CURSOR c_period (l_from_date DATE, l_to_date DATE)
IS
SELECT DISTINCT REPLACE (period_name, '-', '_') period_name,
start_date,
'ABC_'
|| REPLACE (period_name, '-', '_') partition_name
FROM gl_period_statuses
WHERE start_date BETWEEN TRUNC (TO_DATE (l_from_date), 'MM')
AND TRUNC (TO_DATE (l_to_date), 'MM')
AND set_of_books_id = 1
AND application_id = 101
ORDER BY start_date ASC;
TYPE tbl_period IS TABLE OF c_period%ROWTYPE
INDEX BY BINARY_INTEGER;
rec_period tbl_period;
l_from_date DATE;
l_to_date DATE;
l_partition VARCHAR2 (100);
BEGIN
-- DBMS_OUTPUT.ENABLE (1000000);
l_from_date := TO_DATE (fnd_date.canonical_to_date (p_from_date));
l_to_date := TO_DATE (fnd_date.canonical_to_date (p_to_date));
OPEN c_period (l_from_date, l_to_date);
LOOP
FETCH c_period
BULK COLLECT INTO rec_period LIMIT 100;
EXIT WHEN c_period%NOTFOUND;
FORALL i IN 1 .. rec_period.COUNT
UPDATE ABC PARTITION (rec_period (i).partition_name) kr
SET kr.dept =
NVL ((SELECT rt.attribute1
FROM ra_territories rt, hz_cust_site_uses_all hc
WHERE rt.territory_id = hc.territory_id
AND kr.ship_to_site_use_id = hc.site_use_id),
kr.dept
WHERE kr.dept NOT IN (SELECT attribute1
FROM ra_territories)
AND TRUNC (kr.creation_date) BETWEEN TO_DATE (l_from_date)
AND TO_DATE (l_to_date)
AND kr.revenue_id =
NVL2 (p_revenue_id, p_revenue_id, kr.revenue_id);
END LOOP;
COMMIT;
CLOSE c_period;
END test_dept_upd_prc;
Issue:
When I compile the code, it gives me an error at line
UPDATE ABC PARTITION (rec_period (i).partition_name) kr
as below:
PL/SQL: ORA-00971: missing SET keyword
This is the 1st time, I am using the BULK Binding concept. But, I have not been able to debug.
Please help me in solving this issue.
Thanks!
Regards,
AB

Partitioning is a PHYSICAL database design feature. Similar to the physical storage clause for the table. The block size of the tablespace for that table. The name of the primary key constraint of that table. Etc.
Application code works with the LOGICAL database design. So the app code needs to know the name of the table, the columns, and what the relationships are (e.g. for correctly joining that table with others).
App code does this in order to satisfy business requirements. Like processing an invoice. Or processing a leave application.
Why should app code ever need to know physical features and characteristics of a table? What business requirement says that "+process the invoice+" and then "+oh yes, use index SYS_C102344 to verify the customer's id+"?
Application DOES NOT need to know ANYTHING about the physical database implementation. It does not need to know whether the table is a hash table or index organised table. It does not need to know whether or not the table is clustered.
And it does not need to know whether the table is partitioned.. nor what partitions should or should not be used.
If your application needs to know physical attributes of the table, like partition name, then your application code and design are flawed.
Oracle's CBO (Cost Based Optimiser) has all the data needed for it to make the decision of how to best use the physical features and attributes of the data objects used by your application SQL. It can perfectly well determine what partitions to use and not use.
It makes no sense at all for your application code to infringe on what the CBO does - and does very well. Your code does not have the same abilities. Your code lacks the intelligence. Your application code will never be able to compete with the CBO.

Similar Messages

  • XML PARASE and insert /update in corresponding tables

    Hi,
    I have a XML in which master details tables 3 tables.I want to separate element and insert/update in corresponding tables dynamically.
    Table invlovled in A,B,C
    Thanks
    Reena

    Reena
    The easiest way to do this is along the following lines..
    (1) register an XML Schema that describes the XML you wish to process with theh database.
    (2). create a relational view for the top level elements and for each repeating element (element where maxOccurs > 1 in the XML Schema)
    (3) Use 'insert as select' or other SQL type processing to update your relational tables from the contents of the view
    It is normally recommended that you add the following annotations to the XML Schema before registering it with the database
    (1) At the schema level set xdb:storeVarrayAsTable="true".
    (2) At the complexType level set xdb:maintainDOM="fasle".
    If you search the forum you will find a lot of examples of creating relational views of XML content stored in the XML database. Typically these examples will include key words like 'create or replace view' and 'table(xmlsequence(extract' or 'xmltable'.
    Hope this helps...
    -Mark

  • How to check/verify running sql in lib cache is using updated statistics of table

    How to check/verify running sql in lib cache is using updated statistics of table used in from clause.
    one of my application table is highly busy i.e frequent update/insert/delete.
    we gather table stats every 30 min.

    Hello, "try dynamic sampling" = think "outside the box", maybe hit two birds with same stone.
    As a matter of fact, I was just backing up your statement: "30 minutes seems pretty extreme"
    cheers

  • Button to import a csv file to update an existing table

    hi ALL,
    I'm pretty new with apex, on a page f my application, I want to add a button to import a csv file to update an existing table.
    Have you any suggestions?
    thanks in advance

    Hi,
    an easy solutuion would be if ypu could place the CSV file on a location which your database can access.
    Access the CSV via an external table (CSV file can be accessed as if it was a readonly table ).
    Create a dynamic action (PL/SQL) for the button which reads the external table and adds the data to your target table.
    Cheers
    Bas

  • How to Load 100 Million Rows in Partioned Table

    Dear all,
    I a workling in VLDB application.
    I have a Table with 5 columns
    For ex- A,B,C,D,DATE_TIME
    I CREATED THE RANGE (DAILY) PARTIONED TABLE ON COLUMN (DATE_TIME).
    AS WELL CREATED NUMBER OF INDEX FOR EX,
    INDEX ON A
    COMPOSITE INDEX ON DATE_TIME,B,C
    REQUIREMENT
    NEED TO LOAD APPROX 100 MILLION RECORDS IN THIS TABLE EVERYDAY ( IT WILL LOAD VIA SQL LOADER OR FROM TEMP TABLE (INSERT INTO ORIG SELECT * FROM TEMP)...
    QUESTION
    TABLE IS INDEXED SO I AM NOT ABLE TO USE SQLLDR FEATURE DIRECT=TRUE.
    SO LET ME KNOW WHAT THE BEST AVILABLE WAY TO LOAD THE DATA IN THIS TABLE ????
    Note--> PLEASE REMEMBER I CAN'T DROP AND CREATE INDEX DAILY DUE TO HUGE DATA QUANTITY.

    Actually a simpler issue then what you seem to think it is.
    Q. What is the most expensive and slow operation on a database server?
    A. I/O. The more I/O, the more latency there is, the longer the wait times are, the bigger the response times are, etc.
    So how do you deal with VLT's? By minimizing I/O. For example, using direct loads/inserts (see SQL APPEND hint) means less I/O as we are only using empty data blocks. Doing one pass through the data (e.g. apply transformations as part of the INSERT and not afterwards via UPDATEs) means less I/O. Applying proper filter criteria. Etc.
    Okay, what do you do when you cannot minimize I/O anymore? In that case, you need to look at processing that I/O volume in parallel. Instead of serially reading and writing a 100 million rows, you (for example) use 10 processes that each reads and writes 10 million rows. I/O bandwidth is there to be used. It is extremely unlikely that a single process can fully utilised the available I/O bandwidth. So use more processes, each processing a chunk of data, to use more of that available I/O bandwidth.
    Lastly, think DDL before DML when dealing with VLT's. For example, a CTAS to create a new data set and then doing a partition exchange to make that new data set part of the destination table, is a lot faster than deleting that partition's data directly, and then running a INSERT to refresh that partition's data.
    That in a nutshell is about it - think I/O and think of ways to use it as effectively as possible. With VLT's and VLDB's one cannot afford to waste I/O.

  • Creation of Table Dynamically.

    Hi friends,
            I am creating one application in Webdynpro java for creating Table dynamically at run time. But i am getting error after deploying the application.
          I am getting this error :-
          error at runtime table "com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: View: Cannot add element with duplicate ID "tb" of type com.sap.tc.webdynpro.clientserver.uielib.standard.impl.Table "
        how to solve this error.
    Thanks & Regards,
    Murali

    Hi Vijay,
         Yes , solved My problem. I am missing in my code that Condition
              if(firsttime){}
       That's why i am getting that type of error. Thanks for updating proper information.
    Thanks & Regards,
    Murali

  • After Update on htmldb table, my allplication isnt working anymore

    Hi !
    I made an update on an flows-table. It was flows_page_plugs.
    I updated plug source for a region.
    After that, the whole application wasnt working anymore and i got the error
    workpace 0 has no privileges to parse schema ...
    Why do i get this error ? What did i damage ?
    Is it GENERALLY forbidden to make updates on the table of the flows user ?
    By the way, how can i get the thing up an working again ?
    Thanks
    Bernd

    Hi !
    It is not a critical thing. I got the application working by flashback my DB to a point in time prior to my update.
    But I did not find any hint to fix this problem within Apex. Thats the reason for the question.
    I made the following update :
    update flow_page_plugs set plug_source = 'SOME HTML TEXT' where flow_id = 105 and page_id=4 and plug_name = 'TESTREGION';
    What did i want to achieve by this ?
    I was looking for a possibility to create something like "dynamic" html-regions.
    This region "testregion" is a html-region. I have a procedure that creates some html-text and i want to display this text within a region html-formatted. So i thought to update the region with this new text would be a good idea.
    Greetings
    Bernd

  • How to compare two PLSQL tables dynamically.

    Hi,
    Can you any body help for the following scenario,
    I have two PLSQLtables with same structure ,Each PLSQL table contains more than 100 columns.
    Now I want to compare content of the two PLSQL tables column wise.
    I Knew allready one method like below
    FOR I IN 1..100
    LOOP
    IF PLSQL_1_TAB(I).ACCT_NO = PLSQL_2_TAB(I).ACCT_NO THEN
    INSERT INTO …....
    END IF;
    END LOOP;
    is there any method to compare two PLSQL tables dynamically
    Edited by: RAVI KUMAR.T.V. on May 5, 2011 11:51 PM

    Hi Saubhik,
    Thanks for your reply..
    See the below code..
    DECLARE
    CURSOR cur_emp IS
    SELECT *
    FROM emp
    WHERE job = 'MANAGER';
    TYPE typ1 IS TABLE OF emp%ROWTYPE INDEX BY BINARY_INTEGER;
    v_pl_old typ1;
    v_pl_new typ1;
    BEGIN
    OPEN cur_emp;
    FETCH cur_emp INTO v_pl_old(1);
    CLOSE cur_emp;
    UPDATE emp SET comm = comm+1000 WHERE hiredate < '01-MAY-1981' AND job = 'MANAGER';
    COMMIT;
    OPEN cur_emp;
    FETCH cur_emp INTO v_pl_new(1);
    CLOSE cur_emp;
    IF v_pl_old(1) = v_pl_new(1) THEN
    DBMS_OUTPUT.PUT_LINE('Latest comm not yet Updated');
    ELSE
    DBMS_OUTPUT.PUT_LINE('Latest comm Updated');
    END IF;
    END;
    When the above code is executed iam getting the following error :
    ORA-06550: line 19, column 19: PLS-00306: wrong number or types of arguments in call to '='
    ORA-06550: line 19, column 4: PL/SQL: Statement ignored
    Here in the example I have taken the standard EMP table, but
    actually, Iam having a bigger table with 90 columns of different datatypes,
    in which some of the columns gets updated after some UPDATE statements executed based on some conditions.
    Now, my requirement is to compare the values of each and every column in the table before and after the execution of the UPDATE statements,
    and to insert the modified values only along with the primary key column value into in a new table of similar structure.
    If I write the code (to compare the values of each and every column in the table, and if the value is modified then insert that value along with the primary key value into a different talbe) then as the table is having many columns (90), the code becomes lengthy..
    Is there any alternative method which does the same with shorter code.
    Can you please give me an idea/sol. to meet my requirement.
    Thanks..
    Edited by: RAVI KUMAR.T.V. on May 9, 2011 2:43 AM

  • Jython error while updating a oracle table based on file count

    Hi,
    i have jython procedure for counting counting records in a flat file
    Here is the code(took from odiexperts) modified and am getting errors, somebody take a look and let me know what is the sql exception in this code
    COMMAND on target: Jython
    Command on source : Oracle --and specified the logical schema
    Without connecting to the database using the jdbc connection i can see the output successfully, but i want to update the oracle table with count. any help is greatly appreciated
    ---------------------------------Error-----------------------------
    org.apache.bsf.BSFException: exception from Jython:
    Traceback (innermost last):
    File "<string>", line 45, in ?
    java.sql.SQLException: ORA-00936: missing expression
    ---------------------------------------Code--------------------------------------------------
    import java.sql.Connection
    import java.sql.Statement
    import java.sql.DriverManager
    import java.sql.ResultSet
    import java.sql.ResultSetMetaData
    import os
    import string
    import java.sql as sql
    import java.lang as lang
    import re
    filesrc = open('c:\mm\xyz.csv','r')
    first=filesrc.readline()
    lines = 0
    while first:
    #get the no of lines in the file
    lines += 1
    first=filesrc.readline()
    #print lines
    ## THE ABOVE PART OF THE PROGRAM IS TO COUNT THE NUMBER OF LINES
    ## AND STORE IT INTO THE VARIABLE `LINES `
    def intWithCommas(x):
    if type(x) not in [type(0), type(0L)]:
    raise TypeError("Parameter must be an integer.")
    if x < 0:
    return '-' + intWithCommas(-x)
    result = ''
    while x >= 1000:
    x, r = divmod(x, 1000)
    result = ",%03d%s" % (r, result)
    return "%d%s" % (x, result)
    ## THE ABOVE PROGRAM IS TO DISPLAY THE NUMBERS
    sourceConnection = odiRef.getJDBCConnection("SRC")
    sqlstring = sourceConnection.createStatement()
    sqlstmt="update tab1 set tot_coll_amt = to_number( "#lines ") where load_audit_key=418507"
    sqlstring.executeQuery(sqlstmt)
    sourceConnection.close()
    s0=' \n\nThe Number of Lines in the File are ->> '
    s1=str(intWithCommas(lines))
    s2=' \n\nand the First Line of the File is ->> '
    filesrc.seek(0)
    s3=str(filesrc.readline())
    final=s0 + s1 + s2 + s3
    filesrc.close()
    raise final

    i changed as you adviced ankit
    am getting the following error now
    org.apache.bsf.BSFException: exception from Jython:
    Traceback (innermost last):
    File "<string>", line 37, in ?
    java.sql.SQLException: ORA-00911: invalid character
    here is the modified code
    sourceConnection = odiRef.getJDBCConnection("SRC")
    sqlstring = sourceConnection.createStatement()
    sqlstmt="update tab1 set tot_coll_amt = to_number('#lines') where load_audit_key=418507;"
    result=sqlstring.executeUpdate(sqlstmt)
    sourceConnection.close()
    Any ideas
    Edited by: Sunny on Dec 3, 2010 1:04 PM

  • How to find the number of columns in an internal table DYNAMICALLY ?

    Hi,
    How to find the number of columns in an internal table DYNAMICALLY ?
    Thanks and Regards,
    saleem.

    Hi,
    you can find the number of columns and their order using
    the <b>'REUSE_ALV_FIELDCATALOG_MERGE'</b>
    call function 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
       I_PROGRAM_NAME               = sy-repid
       I_INTERNAL_TABNAME           = 'ITAB'
       I_INCLNAME                   = sy-repid
      changing
        ct_fieldcat                  = IT_FIELDCAT
    EXCEPTIONS
       INCONSISTENT_INTERFACE       = 1
       PROGRAM_ERROR                = 2
       OTHERS                       = 3
    if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif
    now describe your fieldcat . and find no of columns.
    and their order also..
    regards
    vijay

  • The currency is not getting updated in the table VBAP

    Hi ,
    The currency is not getting updated in the table VBAP. The currency was suppossed to be copied from the header table VBAK for a Sales Order. When the user creating a Sales Order the currency WAERK is not shown in VBAP table. VBAK-WAERk is in EUR . Does anyone know why is this happenning?
    Currency is maintained in the Customer Master, Material Master and Sales Org. Any suggestions?.
    Also it is happened for only one line item in a set of line items , Other line items did display the currency field.
    The net Value has data in it .
    The system is ECC 5.0
    Regards,
    Senthil

    Dear Senthil,
    Please apply the following notes (if they apply to your support pack level) and retest:
    1460621 VBAP-WAERK is deleted after the sold-to party is changed
    1426441 VBAP-WAERK deleted for subitems
    1493998 VBAP-WAERK deleted for subitems
    This should resolve the issue. I hope this helps.
    Best regards,
    Ian Kehoe

  • Data is not getting updated in DB table

    hi all
    i am doing IDOC to jdbc scenario
    i am triggering idoc from R/3 and the data is going into DB table
    sender side:       ZVendorIdoc
    receiver side:
    DT_testVendor
      Table
        tblVendor
          action       UPDATE_INSERT
          access      1:unbounded
            cVendorName 1
            cVendorCode 1
         fromdate    1
         todate      1
          Key
            cVendorName  1
    if i trigger idoc for example vendor 2005,2006 and 2010 data is getting updated in the table
    but again if i trigger idoc for same vendor nos data does not get updated in DB table while message is successfull in moni and RWB both
    plz suggest if any change need to be done to update the data
    Regards
    sandeep sharma

    Hi Ravi
    you are right, vendor no is my key field . problem is when i send data again then it should Update the data but it's not updating the data again
    i did on exp with this : i deleted all the record from the table and then  triggered idoc for vendor 2005 , 2006,2010 after this data is updated in the table i deleted the rows for vendor no 2006 and 2010 and kept the row for vendor 2005
    then i again trigered the idoc for vendor no 2005,2006 and 2010 now this should update and it should insert rows for vendor no 2006 and 2010 but i am surprised its not updating the data
    Thanks
    sandeep

  • TDS amount not getting updated in the table under the field QBSHB

    Dear Friends,
    The TDS amount entered while booking the vendor invoices through MIRO T-cde, is not getting updated in the table BSEG under the field QBSHB. 
    Kindly let me know the reason for the same and guide me to correct it
    TIA.
    Regards,
    Vincent

    HI Vincent,
    Bseg-QBSHB field is relavent for classic WT.
    I hope you are using the EWT.
    Hence if you post a document through MIRO it will not update
    (but if you post document FB60 it will update but wrongly).
    Reason is Miro document is posted through interface.
    Hence SAP is suggested to not refer the Bseg-QBSHB and etc., fields.
    refer only with_item table.
    Please refer the below replay from SAP
       Please refer the below note .363309
    Please review attached note 363309 for detailed explanation
    BSEG-QBSHB is designed to fill for the classic withholding tax. And
    extended withholding tax information is stored exclusive in table
    WITH_ITEM.
    You can check in table BSEG for the fields and will find that system
    do NOT update field BSEG-QBSHB.
    In your line layout,you define a field BSEG-QBSHB. But actully the field
    of vendor/customer line item is filled with zero from FI. Thus,it shows
    zero in line item display.
    And as note 363309 says,
    "Remove the field which contains the withholding tax information
    from your display variant.
    If you want to display the withholding tax information, double-click on
    the document number and subsequently choose 'Withholding tax' button."
    (BSEG-QSSKZ, BSEG-QSSHB, BSEG-QBSHB) field is not relavent for
    Extended withholding tax and not suppose to use in report FBL1N.
    It basically does not make any sense to use the withholding tax fields
    of the document line items (BSEG-QSSKZ, BSEG-QSSHB, BSEG-QBSHB) with the
    activated extended withholding tax.
    regards
    Madhu M
    Edited by: M Madhu on Jan 31, 2011 1:19 PM

  • Can't update a sql-table with a space

    Hello,
    In a transaktion I'm getting some Values from a SAP-ERP System via JCO.
    I update a sql-table with this values with a sql-query command.
    But sometimes the values I get from SAP-ERP are empty (space) and I'm not able to update the sql-table because of a null-value exception. (The column doesn't allow null-values). It seems that MII thinks null and space are the same.
    I tried to something like this when passing the value to the sql-query parameter but it didn't work:
    stringif( Repeater_Result.Output{/item/SCHGT} == "X", "X", " ")
    stringif( Repeater_Result.Output{/item/SCHGT} == "X", "X", " ")
    this works but I don't want to have a "_"
    stringif( Repeater_Result.Output{/item/SCHGT} == "X", "X", "_")
    Any suggestions?
    thank you.
    Matthias

    The problem is Oracle doesn't know the space function. But it knows a similar function: NVL --> replaces a null value with something else. So this statement works fine for me:
    update marc set
    LGort = '[Param.3]',
    dispo = '[Param.4]',
    schgt = NVL('[Param.5]', ' '),
    dismm = '[Param.6]',
    sobsl = NVL('[Param.7]',' '),
    fevor = '[Param.8]'
    where matnr = '[Param.1]' and werks = '[Param.2]'
    If Param.5 or Param.7 is null Oracle replaces it with a space in every other case it is the parameter itself.
    Christian, thank you for your hint with the space function. So I remembered the NVL-function.
    Regards
    Matthias

  • Update or delete table from XML

    Is it possible to update or delete table's row from XML file?
    Thanks
    Prasanta De

    Hi Steve,
    Thanks for your reply but I could not find any example from the documentation for update-request or delete-request. I need your help in this regards.
    1. I have emp table with many rows and the simple structure like this
    DEPTNO NUMBER(2)
    EMPNO NUMBER(2)
    EMPNAME VARCHAR2(20)
    EMPSAL NUMBER(8,2)
    Key is defined on deptno and empno
    2. I have a xml file like this
    <?xml version = '1.0'?>
    <ROWSET>
    <ROW num="1">
    <DEPTNO>1</DEPTNO>
    <EMPNO>11</EMPNO>
    <EMPSAL>1111.11</EMPSAL>
    </ROW>
    <ROW num="2">
    <DEPTNO>1</DEPTNO>
    <EMPNO>12</EMPNO>
    <EMPSAL>2222.22</EMPSAL>
    </ROW>
    <ROW num="3">
    <DEPTNO>1</DEPTNO>
    <EMPNO>13</EMPNO>
    <EMPSAL>3333.33</EMPSAL>
    </ROW>
    </ROWSET>
    3. I want that xsql servlet will read this xml file and update EMPSAL column depending upon the value of DEPTNO and EMPNO from xml file.
    Please let me know how I should use update-request in xsql page.
    Thanks
    Prasanta De
    null

Maybe you are looking for

  • Recovery and Partitions

    Hi, I have a T530. C is my primary operating drive Q is Lenovo recovery drive I shrunk C and created a logical partition for data with a different drive letter. If I use Lenovo's recovery software, when it restores factory state to C drive wil it ove

  • Red Hat Linux 6.5

    When will Cold Fusion support RH Linux version 6.5?

  • Mouse/Trackpad won't work. What's step one?

    Okay, this is irksome. The Wife's two month old iMac has just gotten a problem which renders it unusuable. The mouse and the trackpad work in the sense that the curser goes across the screen but I have no way of "clicking" anything. I have tried the

  • "Unknowns" in the Finder SHARED folder

    With the install of Leopard the Finder Sidebar displays SHARED items or sources. I am not part of a Network and have never used SHARE features so I am ignorant about the abilities and terminology - sorry. My issue is that unknown identities are appea

  • PO is creating for blocked vendor.

    Hi Xperts, I found a case where, we have a blocked vendor at pruchase organization, however the po is still creating for same vendor through automatic PO by ME59N. and not allowing to create PO manually through ME21N. Please help.... Thanks in advanc