Dbms_lob.copy vs. variable assignment

Cleanup of lob in java
Scenerio.
Java mid-tier application creates a CLOB variables to pass to Database PLSQL stored procedure One clob input, one output argument.
Input clob variable setup with dbms_lob.createtemporary(a,true,dbms_lob.call);
clob data taken from Front end written into with dbms_lob.writeappend.
Mid-tier app does NOT do a dbms_lob.createtemporary for second output variable.
Database stored procedure called to process data.
java call sp1(a in clob, b in out clob);
plsql sp on database...
procedure sp1(a in clob,b out clob)
is
lcl_clob clob;
begin
dbms_lob.createtemporary(lcl_clob,true,dbms_lob.call);
---- procedure process input clob data and when complete. filling lcl_clob with dbms_lob.copy
--When sp1 completes it does assignment to return data to java
b := lcl_clob; --this does deep copy
dbms_lob.freetemporary(lcl_clob);--free local temp clob
end;
Data gets back to JAVA midtier app. OK the Java app Read and Close clob.
Concern is about java's b defined clob and memory. How is java's defined b clob deep copy cleaned up?
Any memory/garbage issue on Java side with this? Mid tier server Weblogic on Win 2K
any ideas or issues. DB Environment: Oracle 8.1.7.3 on HPUX 11

documentation says
There is also an interface to let you group temporary LOBs together into a logical bucket. The duration represents this logical store for temporary LOBs. Each temporary LOB can have separate storage characteristics, such as CACHE/ NOCACHE. There is a default store for every session into which temporary LOBs are placed if you don't specify a specific duration.
important part is below
Additionally, you are able to perform a free operation on durations, which causes all contents in a duration to be freed.
also
There is a default store for every session
i suppose its probably related with duration of lob u have used

Similar Messages

  • Human tasks, complex types and variable assignment.

    Hi folks,
    I encountered a problem while working with 10.1.3.1 which I haven't managed to solve yet and would be grateful for assistance. I have defined a complex data type (just a sequence of strings) and want to fill that data type by going through a flow of screens, e.g. through several human tasks. I have defined that type as a variable to the BPEL process and have managed to assign simple expressions to the variable and pass that into a Human Task. In the task I see now a simple input form for all attributes of the type.
    Now the problem. After I fill out the form and complete the human task, I have
    The global variable:
    <outputVariable>
         <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
              <MyProcessResponse xmlns="http://xmlns.oracle.com/VacationRequest">
                   <vorname/>
                   <nachname/>
                   <strasse/>
                   <nummer/>
                   <postleitzahl/>
                   <stadt/>
                   <maximaleDauer/>
                   <minimaleDauer/>
              </MyProcessResponse>
         </part>
    </outputVariable>
    and the return value from the human task:
    <task>
         <title>CaptureData</title>-
              <payload>
                   <MyProcessResponse>
                        <vorname>David</vorname>
                        <nachname>Beckham</nachname>
                        <strasse>HighStreet</strasse>
                        <nummer/>
                        <postleitzahl/>
                        <stadt/>
                        <maximaleDauer/>
                        <minimaleDauer/>
                   </MyProcessResponse>
              </payload>
    </task>
    Now the only thing I would like to do is to replace the original values in the variable with the new values that have been returned from the task, this should be performed in an extra assign step. Sounds simple. JDeveloper wouldn't even let me klick through the return value from the HumanTask, so it seems as if I have to do things manually.
    These are my tries:
    Command 1:
    <copy>
         <from variable="CaptureData_1_globalVariable"
    part="payload" query="/task:task/task:payload" />
    <to variable="outputVariable" part="payload"
    query="/ns1:MyProcessResponse"/>
    </copy>
    Result 1:
    <outputVariable>
         <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
              <ns0:MyProcessResponse xmlns="http://xmlns.oracle.com/bpel/workflow/task"     xmlns:ns0="http://xmlns.oracle.com/VacationRequest">
                   <MyProcessResponse xmlns="http://xmlns.oracle.com/VacationRequest">
                        <vorname>David</vorname>
                        <nachname>Beckham</nachname>
                        <strasse>HighStreet</strasse>
                        <nummer/>
                        <postleitzahl/>
                        <stadt/>
                        <maximaleDauer/>
                        <minimaleDauer/>
                   </MyProcessResponse>
              </ns0:MyProcessResponse>
         </part>
    </outputVariable>
    --> There is one MyProcessResponse element too many
    Command 2:
    <copy>
         <from variable="CaptureData_1_globalVariable"
    part="payload" query="/task:task/task:payload"/>
    <to variable="outputVariable" part="payload"
    query="/ns1:MyProcessResponse/ns1:vorname"/>
    </copy>
    Result 2:
    <outputVariable>
         <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
              <MyProcessResponse xmlns="http://xmlns.oracle.com/VacationRequest">
                   <ns0:vorname xmlns="http://xmlns.oracle.com/bpel/workflow/task"                     xmlns:ns0="http://xmlns.oracle.com/VacationRequest">
                        <MyProcessResponse xmlns="http://xmlns.oracle.com/VacationRequest">
                             <vorname>David</vorname>
                             <nachname>Beckham</nachname>
                             <strasse>HighStreet</strasse>
                             <nummer/>
                             <postleitzahl/>
                             <stadt/>
                             <maximaleDauer/>
                             <minimaleDauer/>
                        </MyProcessResponse>
                   </ns0:vorname>
                   <nachname/>
                   <strasse/>
                   <nummer/>
                   <postleitzahl/>
                   <stadt/>
                   <maximaleDauer/>
                   <minimaleDauer/>
              </MyProcessResponse>
         </part>
    </outputVariable>
    --> This was moreless expected, since I tried to copy the stuff to some wrong place.
    Command 3:
    <copy>
         <from variable="CaptureData_1_globalVariable"
    part="payload" query="/task:task/task:payload/ns0:MyProcessResponse"/>
    <to variable="outputVariable" part="payload"
    query="/ns1:MyProcessResponse"/>
    </copy>
    Result 3:
    --> Task does't return (!!!). In the BPEL Worklist, the task is completed, however in the BPEL console it still apears as "waiting to return from Human task".
    Does anyone have a hint on how to copy the values so that I get exactly the structure that I printed at the very top?
    Thanks for help. Rock On !

    Hello everyone,
    It seems that we are talking about different things, I am afraid. Let me describe the scenario once again:
    - I want to have a BPEL process with more than one role involved
    - This process should be used to gather some complex data.
    - All data gathering should be done through HumanTasks.
    So I defined an xsd complex type, that contains a sequence of fields. This complex type should be part of the process payload.
    Now before HumanTask 1 is called, I copy the contents of this variable into the input for tasks1. This works fine and I see the appropriate values, when opening the Human Task in the BPEL worklist application.
    Now after HumanTask1 is completed, the values I entered inside that tasks are returned as a variable from the HumanTask. My problem is, that I cannot copy the contents of the task back into the main process. With simpleTypes this is relatively ok, since Jdev supports the assembling of the copy operation, however for complex tasks it fails.
    A typical scenario for this would be where e.g. a customer fills a shipping address and afterwards a store staff fills product details in the same order. In Java this could be solved via "pass by reference". Who can provide an example?

  • Variable assignment screen in Precalculation server

    Hi Guru's,
    I am not able to get solution for this problem from long time. Can anybody tell me...
    How to setup variable assignment screen in Precalculation server?
    Currently when i click Create Variable assignment in precalculation tab of broadcaster... it gives error that error loading 0ANALYSIS_PATTERN template.
    Plz help. whole points will be assigned.
    Thanks
    Harshal

    I made a copy of 0ANALYSIS_PATTERN, and changed spro settings, wkbks are broadcasting but only problem is i am not able to assign variables, because no popup screen coming for creating variables. i also wrote program for table RSRVARIANT.

  • Using DBMS_LOB.COPY - (ORA-22275)

    Hi All,
    I need to copy BLOB value from one table to another.
    For that i am using DBMS_LOB.COPY.
    I am not sure if this is the right approach. If not, can someone help me out.
    Mentioned below is my sample procedure:
    CREATE OR REPLACE PROCEDURE INS_UPD_BLOB
    i_ID number,
    o_OutputStatus OUT NUMBER,
    o_OutputMessage OUT VARCHAR2
    as
    v_blob_data_d blob;
    v_blob_data_s blob;
    amt INTEGER := 4000;
    begin
    select BLOB_DATA
    into v_blob_data_d
    from blob_test_dest -- My Destination Table
    where id = i_ID
    for update;
    select BLOB_DATA
    into v_blob_data_s
    from blob_test -- My Source Table
    where id = i_ID;
    DBMS_LOB.COPY(v_blob_data_d, v_blob_data_s, amt);
    o_OutputStatus := 0;
    o_OutputMessage := 'SUCCESS';
    EXCEPTION
    WHEN OTHERS THEN
    o_OutputStatus := -1;
    o_OutputMessage := 'Procedure ins_upd_blob Failed at step no:- '||v_ErrorFlag|| ' SQL ERROR:- '||SUBSTR(SQLERRM,1,100);
    END;
    After execution i am getting following error:
    ORA-06502: PL/SQL: numeric or value error: invalid LOB locator specified: ORA-22275
    Thanks,
    Srikanth

    how about using merge instead of dbms_lob package?
    CREATE OR REPLACE PROCEDURE INS_UPD_BLOB
    i_ID number,
    o_OutputStatus OUT NUMBER,
    o_OutputMessage OUT VARCHAR2)
    as
    v_blob_data_d blob;
    v_blob_data_s blob;
    amt INTEGER := 4000;
    begin
    merge into blob_test_dest b1
    using (select id, blob_data from blob_test) b2
    on (b1.id = i_id and b1.id = b2.id)
    when not matched then insert(b1.id, b1.blob_data) values(b2.id,b2.blob_data)
    when matched then update set b1.blob_data = b2.blob_data;
    END;
    /

  • Dbms_lob.copy  ORA=21560 ORA-21560: argument 3 is null, invalid, or out of

    I am trying to download a blob from a database table and I am getting ORA-21560: argument 3 is null, invalid, or out of range
    this is my code:
    PROCEDURE retrieve_document (p_pk_id in varchar2)
    IS
    size1 integer;
    blob1 BLOB ;
    tmpblob BLOB;
    l_mimetype varchar2(4000);
    BEGIN
    BEGIN
    insert into temp_document
    select pk_id,document_file,mime_type
    from portal_documents
    where pk_id = p_pk_id;
    select document_file, mime_type
    into blob1, l_mimetype
    from temp_document;
    --insert into temp_stu_pic select student_id, student_picture from stu_pics
    where student_id = 'CHS321';
    --select student_picture into blob1 from temp_stu_pic where student_id = 'CHS321';
    EXCEPTION when no_data_found then null;
    END;
    size1 := dbms_lob.getlength(blob1);
    dbms_lob.createtemporary(tmpblob,true);
    dbms_lob.copy(tmpblob,blob1,size1,1,1);
    owa_util.mime_header(l_mimetype, false,null);
    htp.p('Content-length: '|| size1);
    htp.p('Pragma: no-cache');
    htp.p('Cache-Control: no-cache');
    htp.p('Expires: Thu, 01 Jan 1970 12:00:00
    GMT');
    owa_util.http_header_close;
    wpg_docload.download_file(tmpblob);
    dbms_lob.freetemporary(tmpblob);
    END retrieve_document;
    Anybody know why I would be getting this error?

    In the future, use the PRE and /PRE tags, enclosed in [] to format your code.
    You have commented out some code, and left other portions.
    If you're actually getting an error when running (which i would guess you are based on the thread title) then show us the copy / paste of the error message which shows line numbers, etc...
    PROCEDURE retrieve_document (p_pk_id in varchar2)
    IS
       size1 integer;
       blob1 BLOB ;
       tmpblob BLOB;
       l_mimetype varchar2(4000);
    BEGIN
       BEGIN
       insert into temp_document
       select pk_id,document_file,mime_type
       from portal_documents
       where pk_id = p_pk_id;
       select document_file, mime_type
       into blob1, l_mimetype
    from temp_document;
    --insert into temp_stu_pic select student_id, student_picture from stu_pics
    where student_id = 'CHS321';
       --select student_picture into blob1 from temp_stu_pic where student_id = 'CHS321';
       EXCEPTION when no_data_found then null;
       END;
       size1 := dbms_lob.getlength(blob1);
       dbms_lob.createtemporary(tmpblob,true);
       dbms_lob.copy(tmpblob,blob1,size1,1,1);
       owa_util.mime_header(l_mimetype, false,null);
       htp.p('Content-length: '|| size1);
       htp.p('Pragma: no-cache');
       htp.p('Cache-Control: no-cache');
       htp.p('Expires: Thu, 01 Jan 1970 12:00:00
       GMT');
       owa_util.http_header_close;
       wpg_docload.download_file(tmpblob);
       dbms_lob.freetemporary(tmpblob);
    END retrieve_document;Message was edited by:
    Tubby

  • Issue with the variable assignment in th Bex broadcaster

    hi ,
    i am working on Bex broadcaster . while creating a setting for a report, in the variable assignment under the General precalculation tab, the value given is not getting transferred.
    i tried it in development portal its working fine.
    do anyone have any ideas abt this.

    Hi Apurva,
    Find any solution for your problem? We are experiencing a similar issue too.
    Thanks,
    Vivek

  • Variable Assignment in General Precalculation tab of BI 7.0 broadcaster

    Hi,
      In the broadcast setting, under General precalculation tab variable values can be set up. When we are clicking create variable values, screen with all the variables of the query were coming.
    After entering data in the variables and clicking OK, values are not being transferred to the Broadcast setting. The variable page remains like that with out transferring to the Pre Calculation tab.
    We are on SAPKW70020.Distribution type used is Broadcast email, output fornat is MHTML. I tried with other output types, but same result.
    We are using query as the object type for creating Bex Broadcaster.
    Has anyone ran into this issue before?
    Thanks & Regards,
    Pradeep

    Hi Mohan,
    You have opened up an old post, so many responses might be to answer the initial question.
    However, to answer your question, when you click 'Create' next to the 'VAR01 in Variable assignment, what you see is a popup window with the 'Ready for Input' variable present in your query/ workbook/ template, which is the same variable screen which you get when you execute the same query/ workbook/ template independently. You can then enter values for those variables and click OK, to save it and to be passed to the broadcasting setting. The broadcast would then happen for the same variable values.
    However, if you face the issue mentioned by Pradeep, then after clicking OK, you can cancel the popup window. The values of the variables would still be passed.
    After the popup window closes, you can see the 'Create', you initially saw, replaced with 'Change'. This means the values are saved.
    Hope it helps.
    Thanks,
    Abhishek.

  • SQL*Plus variable assignment works for 8i but not 9i

    We have scripts that connect to each database on the box and perform database tasks nightly. The scripts first set the environment then connects to each database with SQL*Plus. This works for 8i but fails in the recently created 9i environment. (Unix Solaris environment)
    Because the SQL*Plus connection appears in many areas in the scripts, we assign the following connection string to a variable:
    SQLPLUS="/usr/oracle/product/9.2.0/bin/sqlplus -s 'xxx/xxxxxx@xxxx as sysdba'"
    Export SQLPLUS
    echo "$SQLPLUS"
    (This echo out correctly: /usr/oracle/product/9.2.0/bin/sqlplus -s 'xxx/xxxxxx@xxxx as sysdba')
    It fails when the script calls the assigned variable:
    $SQLPLUS <<-EOF
    with the following error:
    Usage: SQLPLUS [ [<option>] [<logon>] [<start>] ]
    where <option> ::= -H | -V | [ [-L] [-M <o>] [-R <n>] [-S] ]
    <logon> ::= <username>[<password>][@<connect_string>] | / | /NOLOG
    <start> ::= @<URI>|<filename>[.<ext>] [<parameter> ...]
    "-H" displays the SQL*Plus version banner and usage syntax
    "-V" displays the SQL*Plus version banner
    "-L" attempts log on just once
    "-M <o>" uses HTML markup options <o>
    "-R <n>" uses restricted mode <n>
    "-S" uses silent mode
    However, if I remove the SQLPLUS variable assignment and changed all occurrence of
    $SQLPLUS <<-EOF to
    /usr/oracle/product/9.2.0/bin/sqlplus -s 'xxx/xxxxxx@xxxx as sysdba' <<-EOF
    Then the script runs successfully. But this solution is cumbersome.
    Any ideas as to how to have the script work with assigning the SQLPLUS variable????
    Any help is appreciated.

    I has an immediate suspicion it might be related to the issue
    mentioned in
    http://otn.oracle.com/support/tech/sql_plus/htdocs/sub_var2.html#2_7
    but this proved wrong: the SP2-306 still occurs in the latest
    SQL*Plus.
    I wonder what version of 8i you had working? With an old SQL*Plus
    8.1.7.0 my connection failed the same as in 9.2 and 10i.
    My solution was to do:
      SQLPLUS='sqlplus -s'
      UNPW='/ as sysdba'
      $SQLPLUS "$UNPW" &lt;&lt;EOF
      EOFThis worked in 9.2.0.5, 10.1.0.2 and 8.1.7.0.
    One common security risk on UNIX remains: putting the username and
    password on the command line. On some systems a "ps" command will
    show the password to any user. If OS authentication cannot be used
    for connection, perhaps putting the username/password in the SQL
    script may be more secure?
    A final note is that in SQL*Plus 10g, no quotes are needed around
    AS SYSDBA, i.e.
      sqlplus / as sysdba works from the OS prompt, whereas in 9.2 you need to do
      sqlplus "/ as sysdba"This makes a solution easy:
      SQLPLUS="/usr/oracle/product/10.1.0/bin/sqlplus -s xxx/xxxxxx@xxxx as sysdba"-- CJ

  • Attributes / Variable assignment in Excel

    How do you create a variable assignment in Excel that passes the "test script coverage" report?
    We thought we were being clever when we put a list of our variable assignments in Excel. This allowed us to sort the assignments (something we could not do in Word.)
    Our process in Excel:
    We put an empty cell in the top row with the "OPM - Condition Heading" style.
    In the rows underneath that, we put our attributes with the "OPM - Conclusion Heading" style.
    To the right of the attributes, we put the assigned values with the "OPM - Conclusion" style.
    We had our nicely sortable list of variables and assignments. It looks cool and works quite well.
    However, test coverage analysis reports conclude that we have not tested the attributes since we didn't test for the "uncertain" path. Of course, our variables can never be "uncertain"! To some degree, the test coverage report is wrong, but I understand that the generated rule is an if-then-else rule and not a straight assignment...
    Thoughts? Is there a better way to do the variable assignment in Excel? Should we just live with it? Should we create a mock test with all our variables overridden to be "uncertain" or should we do something else?

    Sorry for the very late reply here, but I'm afraid the structure you have created is just not well handled by the coverage analysis because it compiles into a rule with an unreachable condition. This is normally harmless but the coverage analysis isn't smart enough to ignore it. I've raised a bug (OPAD-7096) to track this in our internal system.

  • Broadcasting and Variable Assignment

    Dear Experts,
      I want to assign variable in broadcasting dynamically. For example, this variable will be changed every month. I tried to set the variant on BEx Analyzer, and looked into the table TVARV, but I couldn't find my variant in that table. Is there any way to assign variable dynamically?

    Hi CSM Reddy,
    1. while creating your Broadcasting Settings ... you can use your Variable for OLAP Cache.
        Question1. How and where can I use variable for OLAP Cache in broadcasting. What I just see is variable assignment in the General Precalculation tab
        Question2. Variable for OLAP Cache you said is the same as the variable created in Query Designer, right?
    2. then you make sure the variable in Bex is setup with "Ready for input" unchecked
        Question1. I have to allow users to input month to see the report in the month they want, so I think I can't default the value for this variable.
        Question2. What do you mean 't Type variable'?

  • Copying Text Variables still crashes In Design CS6

    Copying Text Variables text boxes still crashes InDesign CS6 (or makes the program unresponsive) as they were in CS5. Any solution?

    Hey thank you osgood for the reply!
    When I look at code for long hours it sort of blurs together, and I miss things... I think that happens to the most of us
    Ya I found what was blocking my text fields in my desktop.css
    I primarily work through code view, and currently working on quite a few projects kind of makes your eyes miss the small errors.
    Thanks again!

  • Broadcasting - General Precalculation Variable Assignment

    Hi All,
    Just have a query regarding Broadcast settings for a bex Query with variables.
    After creating the broadcast settings under the "General Precalculation"
    Variable Assignment
    > Determine from Variants options
    Can anyone tell me where do we have to create these variants so as to select them from the Broadcast settings window and map it to the query varaibles??
    Thanks
    Rao

    Hi Rao,
    You just need to execute ur query ( either in Bex Analyser or Web analyser ). In the selection screen you can enter the values for ur variable & save as a variant ( ex: VARIANT1 ).
    In broadcasting now click now variant tab there u can see the VARIANT1 which was created during query execution.
    Hope this helps.
    Regards,
    Sheetal

  • Variable Assignment : Workbook broadcast

    Hi gurus,
    We have been broadcasting 31 Inventory workbooks on a weekly basis for the past couple of months. The workbook is based on 1 inventory query which has a Cal Month and Store Location as mandatory variables. Obviously, while broadcasting the same, we should be able to set these variables in the Variable Assignment of the Workbook Precalculation Tab.
    Earlier I was able to see them in the variable assignment assignment for this workbook. We havn't changed the query, no changes in the system, No changes at all. But now I am not able to see a single variable in the variable assignment except for this variable that says Tech.Cont.: Time Frame for which Data is Selected.
    I am not sure where can I see the variants for this workbook. Anyways, we havn't mentioned any variants in the workbook precalculation tab. Please help me with this issue.
    I executed the query and tried broadcasting the corresponding query, Here I am able to see the variable assignment. But not for the corresponding workbook. Creating all the settings right from the scratch for changing from workbook broadcast to query result broadcast would be a very tedious task which I don't want to undertake right now.
    Can anyone please help me with this problem.
    Thanks & rgds,
    Sree

    Hi Murali,
    Thanks for your answer and sorry wasn't able to respond early.
    As I had mentioned, this problem didn't exist earlier. However, all of a sudden, we have started to face this issue. Global variants were never created because we are not using the option of VARIANTS, instead we use Variable Assignments. This has been the practice for the past many months, but all of sudden since last month, we started having this strange issue where we could'nt determine the variable assignment.
    When know I click on the variable assignment create link, there is only one variable that appears in the screen "Tech.Cont.: Time Frame for which Data is Selected", I donot see any other variables. Earlier though, i was able to see all the other variables (Plant, division, etc).
    Please let me know if you have any answer for this issue.
    Thnks & rgds,
    Sree

  • Variable assignment "Create" link opens up BEx Analyzer

    In a portal environment we're testing with, we are running into an unusual issue:
    In BEx Broadcaster, We open up a setting created for a particular query.  In the General Precalculation tab we are trying to create a variable assignment (Select VAR_01 from dropdown menu -->Create "link"), but when we click on the "Create" link, we're getting the BEx Analyzer instead of the variable screen for that query (doesn't work for any query, but for workbook settings, it works fine).  The following has been checked:
    ms/redirect_version is set to 1
    BI Support Desk tool is all GREEN
    Assertion ticket setup is correct (at least I think it is)
    I can also pull up Information Broadcasting directly from the backend system (sap/bw/Bex) and the variable screen comes up okay.
    Any ideas of some setting we're missing in the portal/backend?   Thanks for any help.
    (We're using NW SP 17 with BI-Java 17/23...BI Backend is NW SPS16)

    UPDATE:  fixed by updating support pack to BI JAva 18 (from 17/23).  The solution doesn't make much sense, but we've learned to just accept these sort of things in faith

  • Variable Assignment-Workbook Precalculation

    Hai Guys,
    I have a problem while executing.please,go through it
    Start---BEx Analyzer--
    Create new work book.While executing the work book,it is asking me to enter variable values.Once the variables are given and when start executing it, i am getting the ouput correctly and when i  broadcast the same through email,in work precalculation tab, again it is asking me to enter variable values.I have done that and  executed.  But I am  not able to receive any email.Infact,after taking 3 mnts it showing Timed out error.Kindly,suggest me with a solution to this. Where should I exactly enter variables?
    Kindly,give me a solution for this.
    Thanks,
    Mohan Chand Reddy A

    Hai Shakir,
                    First i thank q for ur reply to my question.But is it correct that we should assign Variables only in the Workbook Precalculation tab?Some one are suggesting like variables can be given both in foreground calculation i.e., while creating a workbook and also we should give the same variables in the workbook  precalculation tab.But in one document, i found there is no variable assignment tab in the Broadcasting settings.It means they might have given variables in the workbook creation itself.
          Please,reply me.It's very urgent.
    Thanks,
    Mohan Chand Reddy A

Maybe you are looking for