Operating with dates

Hi,
I would need some help from you, I would have to sub two dates in order to know how many months are between those dates.
Since I haven't seen any method neither in Calendar nor Date classes I'm doing this:
long dateIniL = dateIni.getTime();
long dateToL = nextBDate.getTime();
long result = dateToL - dateIniL;
long months = result / 1000 / 60 / 60 / 24 / 30;
int m = (int) months;
but, I'm not sure divided by 30 for getting months is ok because there are months with 28,29,30 and 31 days ...
Do you know a better way to do this?
Thanks

That is the problem, not all months are 31 days, so
to calculate the number of months manually is a
problem, I think it would have been done already in a
method or so.No, I think the problem is you haven't made your mind what a month actually is. See, in the common sense, a "month" is one of twelve things: January, February, March, you name it. That's a "month". These are defined periods in the year, independently of the year (except for february). They're not time units.
On the other hand, one often uses the term "month" to describe a period of approximatively thirty days. But that's approximative. It's not defined.
To count how many "months" there were between two given dates, you must either:
a) define a time period (in days or hours or cheeseburgers) that you'll call a "month"
or b) decide whether to count the real months between the dates, and for that you must decide whether to count the months (real months) strictly between (i.e. exclude the months the dates are in from the count) or to include these months.
At least that's how I see it.

Similar Messages

  • Operation with dates

    I need to subtract to a date seconds and that me the result in format dates (ddmmyyhh24miss). This operation in sql.
    Thanks

    You can subtract any unit of time (including seconds) from a date. Just remember that a day = the number 1, so that yesterday is found by the query SELECT SYSDATE-1 FROM DUAL;
    There are 1440 minutes in a day, so if you want now + 10 minutes you would SELECT SYSDATE + 10/1440 FROM DUAL;
    Formatting requires the TO_CHAR function such as SELECT TO_CHAR(SYSDATE - 1/24, 'DD-MON-YYYY HH24:MI:SS) FROM DUAL;
    If you have 9i then look at SYSTIMESTAMP. As you know SYSDATE can give you times to the second. The new
    SYSTIMESTAMP can give you fractional seconds upto 6 decimal places. Oracle 9i also has a new INTERVAL format so you can add/subtract
    an interval of time from a date.
    -Mark

  • Arithmetic operations with date characteristics.

    Hi gurus....i want to to subtract 2 time characteristics directly in BEx so i can get de difference between 2 dates. how can i do it?
    In fact the specific requirement is to subtract from de execution query date a time characteristic.
    Is there a sysdate variable that gives me the execution date of the query??? or i have to use a user exit variable to do this?
    Thanks and regards.

    hi Rafael,
    take a look
    http://www.sd-solutions.com/documents/SDS_BW_Replacement%20Path%20Variables.html
    hope this helps.

  • Error while using between operator with sql stmts in obiee 11g analytics

    Hi All,
    when I try to use between operator with two select queries in OBIEE 11g analytics, I'm getting the below error:
    Error Codes: YQCO4T56:OPR4ONWY:U9IM8TAC:OI2DL65P
    Location: saw.views.evc.activate, saw.httpserver.processrequest, saw.rpc.server.responder, saw.rpc.server, saw.rpc.server.handleConnection, saw.rpc.server.dispatch, saw.threadpool.socketrpcserver, saw.threads
    Odbc driver returned an error (SQLExecDirectW).
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 27002] Near <select>: Syntax error [nQSError: 26012] . (HY000)
    can anyone help me out in resolving this issue.

    Hi All,
    Thank u all for ur replies, but I dint the exact solution for what I'm searching for.
    If I use the condition as
    "WHERE "Workforce Budget"."Used Budget Amount" BETWEEN MAX("Workforce Budget"."Total Eligible Salaries") AND MAX("Workforce Budget"."Published Worksheet Budget Amount"",
    all the data will be grouped with the two columns which I'm considering in the condition.
    my actual requirement with this query is to get the required date from a table to generate the report either as daily or weekly or monthly report. If I use repository variables, variables are not getting refreshed until I regenerate the server(which I should not do in my project). Hence I have created a table to hold weekly start and end dates and monthly start and end dates to pass the value to the actual report using between operator.
    please could anyone help me on this, my release date is fast approaching.

  • Problem with Date Picker and wwv_flow_item.date_popup()

    I have a Report based on the HTMLDB How-To “Build Tabular Forms for Multi-Row Operations”
    This is my code:
    select
    X.RRIT_UID,
    X.DOS,
    X.CPT_CODE,
    X.MOD,
    X.DX_CODE,
    X.CHARGES,
    X.UNITS
    from
    (select
    htmldb_item.text(1,RRIT_UID) RRIT_UID,
    wwv_flow_item.date_popup(2,null,RRIT_DATE_OF_SERVICE) DOS,
    htmldb_item.text(4,RRIT_SUBMIT_SERVICE_CODE,6) CPT_CODE,
    htmldb_item.text(5,RRIT_SUBMIT_MODIFIER,3) MOD,
    htmldb_item.text(6,RRIT_ATT_DIAG_CODE,6) DX_CODE,
    htmldb_item.text(7,RRIT_BILLED_CHARGES,9) CHARGES,
    htmldb_item.text(8,RRIT_UNITS,3) UNITS
    from
    RRIT_REPRICE_ITEM
    where
    RRRR_UID = :P5_RRRR_UID
    union all
    select
    htmldb_item.text(1,null) RRIT_UID,
    wwv_flow_item.date_popup(2,null,null) DOS,
    htmldb_item.text(4,null,6) CPT_CODE,
    htmldb_item.text(5,null,3) MOD,
    htmldb_item.text(6,null,6) DX_CODE,
    htmldb_item.text(7,null,9) CHARGES,
    htmldb_item.text(8,null,3) UNITS
    from
    dual)
    X
    My problem is when I run the page and select a date from the Pop-Up calendar I get this error:
    Line 10
    Error: ‘opener.document.forms.0.f02.0’ is null or not an object
    I know it is something to do with data formats and the fact that I do not fully understand the use of wwv_flow_item.date_popup().

    Hi DK,
    It is a WD Java application, Backend is ABAP (MM module).
    The UI is input field, where the context attribute type is Date, So its been changed to Date Picker.
    The problem is when the user runs the WD application in Portal, The calendar format is being changed for some users. That is for few users the Week starts with Monday and for few users the week starts with Sunday.
    I need all the users to have Monday as the First day of the week.
    Please let me know, what will be solution for this.
    Since I haven't done anything in regard to date, it is a simple Date format.
    Thanks & Regards,
    Palani

  • Performance with dates in the where clause

    Performance with dates in the where clause
    CREATE TABLE TEST_DATA
    FNUMBER NUMBER,
    FSTRING VARCHAR2(4000 BYTE),
    FDATE DATE
    create index t_indx on test_data(fdata);
    query 1: select count(*) from TEST_DATA where trunc(fdate) = trunc(sysdate);
    query 2: select count(*) from TEST_DATA where fdate between trunc(sysdate) and trunc(SYSDATE) + .99999;
    query 3: select count(*) from TEST_DATA where fdate between to_date('21-APR-10', 'dd-MON-yy') and to_date('21-APR-10 23:59:59', 'DD-MON-YY hh24:mi:ss');
    My questions:
    1) Why isn't the index t_indx used in Execution plan 1?
    2) From the execution plan, I see that query 2 & 3 is better than query 1. I do not see any difference between execution plan 2 & 3. Which one is better?
    3) I read somewhere - "Always check the Access Predicates and Filter Predicates of Explain Plan carefully to determine which columns are contributing to a Range Scan and which columns are merely filtering the returned rows. Be sceptical if the same clause is shown in both."
    Is that true for Execution plan 2 & 3?
    3) Could some one explain what the filter & access predicate mean here?
    Thanks in advance.
    Execution Plan 1:
    SQL> select count(*) from TEST_DATA where trunc(fdate) = trunc(sysdate);
    COUNT(*)
    283
    Execution Plan
    Plan hash value: 1486387033
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | 1 | 9 | 517 (20)| 00:00:07 |
    | 1 | SORT AGGREGATE | | 1 | 9 | | |
    |* 2 | TABLE ACCESS FULL| TEST_DATA | 341 | 3069 | 517 (20)| 00:00:07 |
    Predicate Information (identified by operation id):
    2 - filter(TRUNC(INTERNAL_FUNCTION("FDATE"))=TRUNC(SYSDATE@!))
    Note
    - dynamic sampling used for this statement
    Statistics
    4 recursive calls
    0 db block gets
    1610 consistent gets
    0 physical reads
    0 redo size
    412 bytes sent via SQL*Net to client
    380 bytes received via SQL*Net from client
    2 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    1 rows processed
    Execution Plan 2:
    SQL> select count(*) from TEST_DATA where fdate between trunc(sysdate) and trunc(SYSDATE) + .99999;
    COUNT(*)
    283
    Execution Plan
    Plan hash value: 1687886199
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | 1 | 9 | 3 (0)| 00:00:01 |
    | 1 | SORT AGGREGATE | | 1 | 9 | | |
    |* 2 | FILTER | | | | | |
    |* 3 | INDEX RANGE SCAN| T_INDX | 283 | 2547 | 3 (0)| 00:00:01 |
    Predicate Information (identified by operation id):
    2 - filter(TRUNC(SYSDATE@!)<=TRUNC(SYSDATE@!)+.9999884259259259259259
    259259259259259259)
    3 - access("FDATE">=TRUNC(SYSDATE@!) AND
    "FDATE"<=TRUNC(SYSDATE@!)+.999988425925925925925925925925925925925
    9)
    Note
    - dynamic sampling used for this statement
    Statistics
    7 recursive calls
    0 db block gets
    76 consistent gets
    0 physical reads
    0 redo size
    412 bytes sent via SQL*Net to client
    380 bytes received via SQL*Net from client
    2 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    1 rows
    Execution Plan 3:
    SQL> select count(*) from TEST_DATA where fdate between to_date('21-APR-10', 'dd-MON-yy') and to_dat
    e('21-APR-10 23:59:59', 'DD-MON-YY hh24:mi:ss');
    COUNT(*)
    283
    Execution Plan
    Plan hash value: 1687886199
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | 1 | 9 | 3 (0)| 00:00:01 |
    | 1 | SORT AGGREGATE | | 1 | 9 | | |
    |* 2 | FILTER | | | | | |
    |* 3 | INDEX RANGE SCAN| T_INDX | 283 | 2547 | 3 (0)| 00:00:01 |
    Predicate Information (identified by operation id):
    2 - filter(TO_DATE('21-APR-10','dd-MON-yy')<=TO_DATE('21-APR-10
    23:59:59','DD-MON-YY hh24:mi:ss'))
    3 - access("FDATE">=TO_DATE('21-APR-10','dd-MON-yy') AND
    "FDATE"<=TO_DATE('21-APR-10 23:59:59','DD-MON-YY hh24:mi:ss'))
    Note
    - dynamic sampling used for this statement
    Statistics
    7 recursive calls
    0 db block gets
    76 consistent gets
    0 physical reads
    0 redo size
    412 bytes sent via SQL*Net to client
    380 bytes received via SQL*Net from client
    2 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    1 rows processed

    Hi,
    user10541890 wrote:
    Performance with dates in the where clause
    CREATE TABLE TEST_DATA
    FNUMBER NUMBER,
    FSTRING VARCHAR2(4000 BYTE),
    FDATE DATE
    create index t_indx on test_data(fdata);Did you mean fdat<b>e</b> (ending in e)?
    Be careful; post the code you're actually running.
    query 1: select count(*) from TEST_DATA where trunc(fdate) = trunc(sysdate);
    query 2: select count(*) from TEST_DATA where fdate between trunc(sysdate) and trunc(SYSDATE) + .99999;
    query 3: select count(*) from TEST_DATA where fdate between to_date('21-APR-10', 'dd-MON-yy') and to_date('21-APR-10 23:59:59', 'DD-MON-YY hh24:mi:ss');
    My questions:
    1) Why isn't the index t_indx used in Execution plan 1?To use an index, the indexed column must stand alone as one of the operands. If you had a function-based index on TRUNC (fdate), then it might be used in Query 1, because the left operand of = is TRUNC (fdate).
    2) From the execution plan, I see that query 2 & 3 is better than query 1. I do not see any difference between execution plan 2 & 3. Which one is better?That depends on what you mean by "better".
    If "better" means faster, you've already shown that one is about as good as the other.
    Queries 2 and 3 are doing different things. Assuming the table stays the same, Query 2 may give different results every day, but the results of Query 3 will never change.
    For clarity, I prefer:
    WHERE     fdate >= TRUNC (SYSDATE)
    AND     fdate <  TRUNC (SYSDATE) + 1(or replace SYSDATE with a TO_DATE expression, depending on the requirements).
    3) I read somewhere - "Always check the Access Predicates and Filter Predicates of Explain Plan carefully to determine which columns are contributing to a Range Scan and which columns are merely filtering the returned rows. Be sceptical if the same clause is shown in both."
    Is that true for Execution plan 2 & 3?
    3) Could some one explain what the filter & access predicate mean here?Sorry, I can't.

  • Rescheduling of order based on operation confirmation dates

    Hi All,
    Our production process to complete a product has got long lead times.
    In production order, for example, there are four operations OP10, OP20, OP30 and OP40.
    During production order creation, system will perform lead time scheduling based on standard value time mentioned in the routing for every operation. Due to long lead times and production delay, there will be delay in actual execution of these operations with scheduled dates. After confirming OP10 with actual execution dates in CO11n, if we go to production order and click on scheduling button, then system reschedules remaining operations dates in the production order based on actual execution times entered for OP10.
    Our requirement is by using Enhancements/BADI/IDOCs is it possible to automatically reschedule the order after confirmation of OP10 in order to reflect nearest actual production execution dates.
    Please suggest your valuable findings.
    Thanks & regards,
    Satya.

    Hi,
    1.  For calibration orders .. once usage decision is selected as OK , we can trigger follow up actions via which u can do TECO of Calibration orders , for this u have to do settings in QS41 for Catalogue 3- Usage decision , QS51 - For a catalogue 3, Plant , Selected set as * , here for a selected set  , u can define for a  combination of code group and code u can give valuation code & follow up action .. , this follow up action is defined via SPRO -->QM -->Quality Inspection -->Inspection Lot completion -->Define Follow up actions -->Here u can define Follow up actions and use FM QFOA_ORDER_TECHNICAL_COMPLETE :- Follow-Up Action: Technically Complete PM Order ,Select After posting & sync update tick mark.
    2. For other orders , In IW42 - U have the option for TECO but need to do manually , but for automatic case i believe u have to use User exit :- CONFPM05 PM/SM order conf.: Cust. specific enhancements when saving , you have to use a suitable FM , which
    regrds
    pushpa

  • Prepopulating PDF Fillable Forms with data from XML files

    How can I get a PDF fillable form to open pre-populated with data from an XML file automatically? I've been using Adobe Standard 9.0 and am willing to upgrade in a modest fashion if necessary. I am aware of the Navigation method > Forms > Manage Form Data > Import Data. This works fine, however, my users are not smart enough to do tis much clicking and selecting. Is there an automated way to have this XML data merged into the PDF file on the fly. These files will reside on an internal local area network and will be operated on local PC's that will probably have Acrobat Reader ONLY. I have been told that the only way to accomplish this is through Java Scripting. I would prefer to do this the 'old fashioned' way of command line switches, but that does not appear to be an option. Does anyone have a sample Javascript that would accomplish what I am trying to achieve. Any help would be greatly appreciated.

    Hi Sharon
    The easiest way is:
    - Open your PDF form within Acrobat
    - From the File menu, import the XML form data into the form
    - From the File menu, use Save As... to save the file with a new name.
    The new PDF will be identical to the original one, but will have the data embedded in it. Voila.
    If you want the same form to pre-populate with different XML files depending on the circumstances, or if you're generating the XML on the fly, then things get more complicated. (And more expensive.) As your consultant said, LiveCycle Forms is one option, but it is expensive (actually even more than 10K). There are other options, including Cold Fusion, custom servlets, etc.
    Howard
    http://www.avoka.com

  • Recently upgraded to a Canon Mark 3 and now having issues with my RAW files in Bridge and Photoshop. I am operating with CS4. Photoshop produces an error " Could not complete your request because photoshop does not recognize this type of file"

    Recently upgraded to a Canon Mark 3 and now having issues with my RAW files in Bridge and Photoshop. I have operating with CS4. Photoshop produces and error " Could not complete your request because photoshop does not recognize this type of file"

    Assuming you mean 5D Mark III, Photoshop CS4 cannot directly open raw files from your camera.
    Generally speaking, Adobe stopped updating older versions to be able to read raw files from newer cameras when they released a new major version of Photoshop. Photoshop CS4 is no longer receiving Camera Raw updates.
    You can double check this yourself:
    First you need to determine whether Adobe has released support for your new camera in your version of Photoshop. To do that, look at these two pages. You'll want to find out the earliest version of Camera Raw that can support your camera, then what version of Photoshop can run that version of Camera Raw.
    Camera Raw plug-in | Supported cameras
    Camera Raw-compatible Adobe applications
    If you find your camera is supported by your version of Photoshop, you need to download the latest update for Camera Raw. There's more information on how to do that here:
    Keeping Photoshop Up-To-Date
    If your version of Photoshop cannot support your camera, you can download and install the latest version of the free Adobe DNG Converter, which can take your raw files as input and put out DNG format files, which your version of Photoshop can open.
    Photoshop Help | Digital Negative (DNG)
    The DNG converter DOES work, but if you want maximal quality from your raw files (not to mention the convenience and ease of use of directly opening your raw files) you'll want the latest version of Photoshop. Adobe has made substantial improvements in raw conversion quality in recent years.
    -Noel

  • Stacked Bar Chart with data from a Web Service

    Hi,
    I'm working on Dashboard Design (version 14.0.1.287) and I'm trying to create a chart linked to data from a webservice.
    With a Year in input, my webservice gives an Amount per Cities and Products
    Data retrieved look like this (Sheet1) :
    Paris          Tablets          45
    Paris          Laptops          12
    Paris          Cellulars          89
    New-York     Tablets          56
    New-York     Laptops          36
    New-York     Cellulars          1
    Londres          Tablets          150
    Londres          Laptops          3
    Londres          Cellulars          45
    Then I use a Pivot Table (created manually in Excel) looking like this (Sheet2) :
                   Tablets     Laptops     Cellulars
    Paris          45          12          89
    New-York     56          36          1
    Londres          150          3          45
    The chart is a Stacked Bar Chart plugged on the previous Pivot Table
    I create 3 series (one per Product), values (X) are set with Amount
    Category labels (Y) are set with Cities
    The goal is to have a dynamic chart (series and categories must update if a new city or a new product appears)
    So my question is : how can I set up the chart directly with data retrieved from webservice on Sheet1?
    Thx a lot !
    Nicolas
    Edited by: nicolasheurtevin on Sep 14, 2011 4:58 PM

    hi
    First thing , bad news if you are using .Net framework 1,
    just forget it, Flex 2 doesn't work well with framework 1, but 2nd,
    good news, if you want to use webservices, you'll have to make an
    array of objects on .Net Side and send it as objects to flex, i saw
    an example on the net but i can't seem to remember where, on the
    other hand,if you want to simply use, like i do, HTTPSERVICE its a
    very nice way to talk with .Net and you can see my example here
    http://flex1-for-dummies.blogspot.com
    By the way, in your code, you have a request tag , but you
    aren't requesting anything, because if you were you would have to
    make like this
    <mx:request>
    <Artist>{yourinputtext.text}</Artist>
    </mx:request>
    So if you don't have an input text, you don't need a request
    tag, only the operation.

  • Trouble with date

    I have some trouble with the date system on my laptop.  Everything is correct on the System Preferences thing.  but when I watch info on a document (e.g. cmd/i) files are registered with dates like 15.6.0034 or 18.5.1119 (Norwegian calendar system dd.mm.yyyy).
    I just registered a test person in the Address book, and it showed 18.5.1120, which is  - in fact - many hundred years back in time!  Ihave done what is called PRAM, and I have run disk utility (verify and repair), but test persons and files are still registered in the year 1120. If I'm lucky I'll manage to get a screen picture here to show you.
    When I use Pages and things, dates are shown correctly, but it is quite annoying not to know when files were registered or updated.
    But I'm sure some of you clever guys will be able to help me! 

    jsa1307 wrote:
    What about this: Whenever I boot into Windows using Boot Camp the date & time is screwed up when I boot back into Leopard. I've tried trashing the localtime file and turning on/off the network time server. Nothing works as a permanent fix. Will I have to reset the time manually every time I change operating systems ??
    If you were to check into the BootCamp forum you would find your answer. It's a common question.
    http://discussions.apple.com/forum.jspa?forumID=1244
    Your issue here is unrelated to that of the original poster and should be reposted in the BootCamp forum.
    Thanks.

  • Horizontal Slider with dates

    Hi All,
         I wanted a horizontal slider with dates .
    Can anybody help please.
    Thanks

    Hello,
      Thanks, now I am getting some where. I have found the "ActSlider" and the "KeyFocus" property. I have discovered how the "Key Focus" property works, if you use the tab key to cycle thru all of the stuff on your front panel, it will eventually come into focus and the "Key Focus" property will go true. Unfortunately the operation of the horizontal slider control if done with the mouse, so using that property will not help me.
    The help for the "Active Slider" says that it shows which slider/needle is active, well that does not help me.
       I am using a horizontal slider control to for 2 functions on the front panel, they are:
    Indicate the current test step ( a number from 1 to 1000, poistion gets updated after each step is completed)
    Allow the user to select the desired test step
     I would like to have the user drag the slider to where they want to go and when they release the right mouse key I can go directly to where they want to be at. How if they want to jump 20 steps forward or backs I get 20 changes. If I just click on the slider bar (not the slider itself) I can go directly to where I want to be. So how can I make this work by having the user drag the slider and go directly to where they want to be?
    Regards,
    Kaspar

  • Oracle 8i array DML operations with LOB objects

    Hi all,
    I have a question about Oracle 8i array DML operations with LOB objects, both CLOB and BLOB. With the following statement in mind:
    INSERT INTO TABLEX (COL1, COL2) VALUES (:1, :2)
    where COL1 is a NUMBER and COL2 is a BLOB, I want to use OCIs array DML functionality to insert multiple records with a single statement execution. I have allocated an array of LOB locators, initialized them with OCIDescriptorAlloc(), and bound them to COL2 where mode is set to OCI_DATA_AT_EXEC and dty (IN) is set to SQLT_BLOB. It is after this where I am getting confused.
    To send the LOB data, I have tried using the user-defined callback method, registering the callback function via OCIBindDynamic(). I initialize icbfps arguments as I would if I were dealing with RAW/LONG RAW data. When execution passes from the callback function, I encounter a memory exception within an Oracle dll. Where dvoid **indpp equals 0 and the object is of type RAW/LONG RAW, the function works fine. Is this not a valid methodology for CLOB/BLOB objects?
    Next, I tried performing piecewise INSERTs using OCIStmtGetPieceInfo() and OCIStmtSetPieceInfo(). When using this method, I use OCILobWrite() along with a user-defined callback designed for LOBs to send LOB data to the database. Here everything works fine until I exit the user-defined LOB write callback function where an OCI_INVALID_HANDLE error is encountered. I understand that both OCILobWrite() and OCIStmtExecute() return OCI_NEED_DATA. And it does seem to me that the two statements work separately rather than in conjunction with each other. So I rather doubt this is the proper methodology.
    As you can see, the correct method has evaded me. I have looked through the OCI LOB samples, but have not found any code that helps answer my question. Oracles OCI documentation has not been of much help either. So if anyone could offer some insight I would greatly appreciate it.
    Chris Simms
    [email protected]
    null

    Before 9i, you will have to first insert empty locators using EMPTY_CLOB() inlined in the SQL and using RETURNING clause to return the locator. Then use OCILobWrite to write to the locators in a streamed fashion.
    From 9i, you can actually bind a long buffer to each lob position without first inserting an empty locator, retrieving it and then writing to it.
    <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">quote:</font><HR>Originally posted by CSimms:
    Hi all,
    I have a question about Oracle 8i array DML operations with LOB objects, both CLOB and BLOB. With the following statement in mind:
    INSERT INTO TABLEX (COL1, COL2) VALUES (:1, :2)
    where COL1 is a NUMBER and COL2 is a BLOB, I want to use OCIs array DML functionality to insert multiple records with a single statement execution. I have allocated an array of LOB locators, initialized them with OCIDescriptorAlloc(), and bound them to COL2 where mode is set to OCI_DATA_AT_EXEC and dty (IN) is set to SQLT_BLOB. It is after this where I am getting confused.
    To send the LOB data, I have tried using the user-defined callback method, registering the callback function via OCIBindDynamic(). I initialize icbfps arguments as I would if I were dealing with RAW/LONG RAW data. When execution passes from the callback function, I encounter a memory exception within an Oracle dll. Where dvoid **indpp equals 0 and the object is of type RAW/LONG RAW, the function works fine. Is this not a valid methodology for CLOB/BLOB objects?
    Next, I tried performing piecewise INSERTs using OCIStmtGetPieceInfo() and OCIStmtSetPieceInfo(). When using this method, I use OCILobWrite() along with a user-defined callback designed for LOBs to send LOB data to the database. Here everything works fine until I exit the user-defined LOB write callback function where an OCI_INVALID_HANDLE error is encountered. I understand that both OCILobWrite() and OCIStmtExecute() return OCI_NEED_DATA. And it does seem to me that the two statements work separately rather than in conjunction with each other. So I rather doubt this is the proper methodology.
    As you can see, the correct method has evaded me. I have looked through the OCI LOB samples, but have not found any code that helps answer my question. Oracles OCI documentation has not been of much help either. So if anyone could offer some insight I would greatly appreciate it.
    Chris Simms
    [email protected]
    <HR></BLOCKQUOTE>
    null

  • Using Sequence with Data Warehouse Table

    I am working on a Uni exercise on data warehousing and am trying to create and populate a table with a sequence on one database with data located on another database.
    For this particular table, I have to reset the primary key (primary keys on operational table start from 4000). In my notes, I have been told to create a sequence first and use yoursequence.nextval in the sub query. I am not very experienced with using sequences and am not sure what a subquery is in relation to them.
    I tried the following but it didn't work. Hopefully it will give you an idea as to what I am trying to achieve:
    create table Region as select region_id_seq, Region_Name, Management_area, Country from dw_op.Sales_Region@q_link;
    Any help with this would be great.

    Thanks again, Justin.
    My instructions tell me to use the schema name along with the db link and it created the table correctly so I'll just have to keep my eye on it.
    Do oyu know how I could use the function initcap to ensure all data is of the same format? I did a bit of research and found that I should be using column aliases which I duly tried but I received an error saying the following line needs a column alias:
    initcap(s.region_name),
    Just thought you may know how this can be done.
    Thanks.

  • Yellow status after "No database operations necessary, data unchanged"

    Hi,
    I am loading master data (full) and for some packages I get the message "No database operations necessary, data unchanged" the processing remains with status yellow (no "processing end" message comes for those packages). In the end, I get a red status because it times out.
    Has anyone encountered this problem before? Any idea appreciated
    Thanks!
    Andreea

    Hi,
    In case of master data, the update option for infoobject is overwrite. So if u are trying to load the same data again and again or if no changes are there in the new request at that time u may get this type of error. i am not sure about it. Check once more.
    Hope this helps u a lot.........
    <REMOVED BY ADMIN - DO NOT ASK FOR POINTS>
    Regards
    Ramakrishna Kamurthy
    Edited by: Craig Cmehil on Jul 17, 2008 9:24 AM

Maybe you are looking for

  • Facelets and jsf-extensions problem.

    I'm fairly certain I've run into a problem between facelets and jsf-extensions. I'm working with JSF 1.2 RI, Woodstock, Facelets 1.1.13, on Tomcat 6. When trying to get Woodstock autoValidation to work I get a javascript error the "I has no propertie

  • F110 Payment run Problem

    Hi All, I have few doubts in running F110 Transaction, 1) Is it Time Dependant? I mean to say I schedule Payment run today for 3 vendors and Next Payment run would be 2 days from now i.e on 01/21. 2)Can I have another Payment run for different Vedors

  • Using a menu ring to select DAQ device channel and indicator

    Hi, New user here. I am using the DAQ assistant with multiple analog inputs. I would like the front panel to have a menu ring where the user can select which channels are to be active. Also, this corresponds to a single graphical indicator.  Currentl

  • BAPI_DOCUMENT_CHANGE2 and delete link

    Hi, I am trying to delete the document's link. But I can not do this operation. My code is;   ls_doc-documenttype = 'VD2'.   ls_doc-documentnumber = '0000000100000000000000344'.   ls_doc-documentversion = '00'.   ls_doc-documentpart = '000'.   ls_doc

  • N8 - Rattling noise when listening with headphones

    Just got my N8 but unfortunately noticed a slight but annoying rattling noise when listening to music via earphones. It's most noticeable at the start and the end of songs as well as in quieter passages. Anyone else noticed this? If this is a known i