ORDImage.process() raise ORA3113

Hi everybody,
I am trying to use ORDImage to convert images without to
store them into the DB. The code following raise ORA-3113.
Well, I have no idea why whats wrong. Thx in advance.
Thomas
DECLARE
Image ORDSYS.ORDImage := ORDSYS.ORDImage.init();
v_BLOB BLOB := NULL;
v_File VARCHAR(255) := 'C:\test.tif';
BEGIN
DBMS_LOB.CreateTemporary(Image.source.localdata, TRUE);
-- Java-Function to read files from the local file
-- system into BLOBs. This function works !!!
ReadFile(v_File, Image.source.localdata, ...);
Image.setlocal();
Image.setproperties();
Image.process('fileFormat=JFIF maxScale=800 800');
-- Write BLOB to file
WriteFile(...);
dbms_lob.Freetemporary(Image.source.localdata);
END;

Hi Lawrence
you are right. The error occurs because the image is not
under the trancaction control.
Well, I tried to do image processing without to store the
image inside the DB. All what I want to store is a path reference as well as the file and image properties. During my tests with interMedia I encounter some problems with CMYK and black/white images. interMedia does not read in such files and quit the process with ORA-29400:Data Cartridge-Error. Does not interMedia such image format?
I suggest for further development to build functions to read and write image meta data such IPTC, XMP and so on.

Similar Messages

  • PO workflow process raises event but subscription does not fire

    Hi:
    We are sending POs electronically in XML (11.5.10.2). The PO reaches the supplier correctly. The workflow process to send the PO to the supplier completes successfully. The workflow diagrammer shows that the process fully completes. The last task in the standard process raises an event called oracle.apps.po.event.xmlposent. By default this event has no subscriptions, but I created a subscription that will call a custom workflow process. In testing, I can manually raise this event, and my custom process works. But when the full process runs and completes my custom process does not run. Again, according to the workflow diagrammer, the event in question gets raised. I find no evidence of the event in question in an queue. Why would the process complete, including the step to raise the event in question, but I find no trace of it.
    Can anyone suggest additional debugging steps or a solution?
    Thank you!

    Hi,
    I have answered your duplicate post on the [WorkflowFAQ forum|http://smforum.workflowfaq.com/index.php?topic=1045.0].
    Matt
    WorkflowFAQ.com - the ONLY independent resource for Oracle Workflow development
    Alpha review chapters from my book "Developing With Oracle Workflow" are available via my website http://www.workflowfaq.com
    Have you read the blog at http://www.workflowfaq.com/blog ?
    WorkflowFAQ support forum: http://forum.workflowfaq.com

  • Limitations with interMedia with ORDSYS.ORDImage.process()?

    Hello,
    We are currently writing an Apex application that will allow our users to upload pictures to the database. We have been using interMedia to manipulate them as we want to create thumbnails etc. We have one picture that just won't scale down at all. We are using blobs to store the images on the database. We are using the command:
    ORDSYS.ORDImage.process(l_thumb, 'maxscale=160 160');
    and as I say most of the images are scaling but some are not. The image details is by using ORDSYS.ORDImage.getProperties:
    MIME Type: image/jpeg
    Width: 3292
    Height: 3279
    File Format: JFIF
    Content Format: 24BITRGB
    Compression Format: JPEG
    Content Length/Size: 3634347 (bytes)
    As I say when I try and do the process command it makes no difference as the thumbnail properties are the same as the original properties.
    If so is there anyway around this?
    Thanks,
    Paul.

    Hi there.
    We are trying to do this in PL/SQL and was wondering if it did write anything to a exception table?
    Here is the code that we use:
    declare
    l_page blob;
    l_web blob;
    l_thumb blob;
    L_TEMP_BLOB BLOB;
    TEMP_ID INTEGER;
    AMOUNT INTEGER;
    l_mime VARCHAR2(250);
    begin
    IF (:P2_FILE_NAME is not null)
    THEN
    SELECT blob_content a, mime_type
    INTO L_TEMP_BLOB, l_mime
    FROM HTMLDB_APPLICATION_FILES
    WHERE NAME = :P2_FILE_NAME;
    INSERT INTO PL_IMG_DATA(img_data_id, title, location, img_date, grid_ref, orig_img_loc, description, staff_number,unit_id, mime_type, file_name)
    VALUES (PL_IMG_DATA_SEQ.nextval, :P2_TITLE, :P2_LOCATION, :P2_DATE, upper(:P2_GRID_REF), :P2_ORIGINAL_LOCATION, :P2_DESCRIPTION, :P2_STAFF_NUMBER, :P2_MAN_UNIT, l_mime, :P2_FILE_NAME)
    RETURN img_data_id into TEMP_ID;
    COMMIT;
    UPDATE PL_IMG_DATA SET THUMBNAIL = EMPTY_BLOB(), WEB_IMG = EMPTY_BLOB(), PAGE_IMG = EMPTY_BLOB()
    WHERE IMG_DATA_ID = TEMP_ID;
    COMMIT;
    SELECT THUMBNAIL, WEB_IMG, PAGE_IMG
    INTO l_thumb, l_web, l_page
    FROM PL_IMG_DATA
    WHERE IMG_DATA_ID = TEMP_ID
    FOR UPDATE;
    amount := dbms_lob.getlength(L_TEMP_BLOB);
    DBMS_LOB.copy(l_thumb, L_TEMP_BLOB, AMOUNT, 1, 1);
    DBMS_LOB.copy(l_WEB, L_TEMP_BLOB, AMOUNT, 1, 1);
    DBMS_LOB.copy(l_PAGE, L_TEMP_BLOB, AMOUNT, 1, 1);
    ORDSYS.ORDImage.process(l_thumb, 'maxscale=160 160');
    ORDSYS.ORDImage.process(l_web, 'maxscale=320 320');
    ORDSYS.ORDImage.process(l_page, 'maxscale=640 640');
    UPDATE PL_IMG_DATA SET THUMBNAIL =L_THUMB, WEB_IMG = L_WEB, PAGE_IMG = L_PAGE
    WHERE IMG_DATA_ID = TEMP_ID;
    COMMIT;
    DELETE FROM HTMLDB_APPLICATION_FILES
    WHERE NAME = :P2_FILE_NAME;
    END IF;
    END;
    As we say it seem to work for images that are a certain size but anything that is roughly over 3,500 KB it doesn't scale it down.
    We were wondering if the this is a version problem as we are currently on Oracle 9.2.0.8.0?
    We did manage to scale it down when we used a TIFF but then the application didn't display it so we converted the scaled down image back to a jpeg. This seems a bit mad to do right enough,

  • Process Chain Question!

    Hi all,
    I have one process chain where Sales items, sales header, billing items, billing headers, delivery item and delivery header all go into 6 ODS objects correspondingly.  All these processes raise an event and this is checked by an AND process.  If AND is successful then I have another process that has to run.  The problem is I am getting an error with the AND process everytime eventhough all the ODS are loading and also activating fine.
    Below is the error message I am getting
    This AND process is not waiting for event RSPROCESS, parameter 3WHYLT3XJU9D50P7IMMMHASKU
    Job cancelled after system exception ERROR_MESSAGE
    Does anyone know how I can debug and fix this....
    please let me know.
    Sabrina.

    I am also getting same type of error.
    in first run it And process doesn't give any error, but when I repair a load and make request green then It fails with following error message.
    Job started                                                                   
    Step 001 started (program RSPROCESS, variant &0000000000849, user ID ALEREMOTE)
    Event RSPROCESS, parameter 3SCU7890OT3SB9JDPX65IY2A6 already received         
    Job cancelled after system exception ERROR_MESSAGE                            
    should I adjust the Waiting time?
    Please advice.

  • Please advise regarding implementing pub/sub in a BPEL process.

    Hi guys,
    Requirement
    The customer information comes as HTTP/SOAP message and is sent to the BPEL process as input. BPEL uses ESB and database adapters to create the customer in Oracle apps. Now, we need to send the same customer information with the Oracle apps customer number to some other systems. The number of systems is not know at this time, so we need a pub/sub mechanism where we can publish the customer creation event with the required parameters (customer name, number, etc.). Then we just create subscriptions to that event as an when required. This gives us the flexibility to add subscriptions withougt changing the initial BPEL process.
    My questions
    I can think of three ways to do this, please advise.
    1. Use Oracle workflow business events and subscriptions. At the end of the BPEL process, raise the wf event and the subscriptions to that will be processed by workflow engine. My doubt here is that most of the times the subscriptions is another BPEL process, so does it make sense to go from BPEL to WF and then WF to PL/SQL to invoke a new BPEL?
    2. Use Advanced Queues (Oracle AQ). This is similar to using Oracle WF and to me the issues are also the same.
    3. Use routing rules in ESB -- I am not really sure if this can be done to replicate a pub/sub scenario, please advise and elaborate.
    As a summary, we want the ability to have pub/sub within BPEL and/or ESB. Any other suggestions are also welcome.
    Thanks!

    I have the same question , but could not find the releveant post in ESB forum.. is the response posted ? pls post the link to that thread...

  • Working with ORDIMAGE - upload image

    I'm working with Oracle interMedia. I use the type ORDIMAGE for saving my pictures in the database.
    With JDeveloper I've created a form for uploading the pictures. No problem with that. But is it possible to automatically generate a thumbnail version of the picture and save this one in a second field of the type ORDIMAGE ?
    I was thinking of a trigger maybe that, when inserting or updating an image, automatically generates a thumbnail. Has someone experience with this ?
    Greetz!

    I've got an idea !!!
    I remember browsing through the Intermedia documentation that there are methods on the intermedia objects to do exactly that you are trying to do.
    I found a code snippet I guess I tried to use, I think it worked.
    DECLARE
    Image_1 ORDSYS.ORDImage;
    BEGIN
    SELECT photo INTO Image_1
    FROM Photos WHERE photo_id = 1
    FOR UPDATE;
    -- Convert and replace the image to a thumbnail image
    Image_1.process('maxScale=32 32');
    UPDATE Photos SET photo = Image_1 WHERE photo_id = 1;
    COMMIT;
    END;
    Maybe this can be a starting point for you, the code actually converts and replaces an image with an thumbnail, it needs to be edited to make it works as a trigger. Try searching the oracle documentation for the "OrdImage.process" procedure it can do a lot with images.

  • Process Chains:Parallel processing

    Hi,
    If we have some 5 processes,how to load these processes parallelly using process chains?
    Here do we have to use "and" operation?
    thanks in advance
    Regards
    Dheepa

    Hi Deepa:
    Just for the understanding sake, please read the below:
    The following processes within process chains allows multiple predecessors to feed into a subsequent process. They are:
    AND:  All of the processes that are direct predecessors must send an event in order for subsequent processes to be executed
    OR:  A least one predecessor process must send an event
    The first predecessor process that sends an event triggers the subsequent process
    Any additional predecessor processes that send an event will again trigger subsequent process (Only if the chain is planned as “periodic”)
    EXOR:  Exclusive “OR”
    Similar to regular “OR”, but there is only ONE execution of the successor processes, even if several predecessor processes raise an event.
    as mentioned by srini and others, in your case you need not use a AND process.
    assign points if helpful
    kalyan

  • How to display errors of processes

    Dear All,
    I created a pl/sql process with exception handling structure like this
    when
    no_data_found then
    raise_application_error(<code>, <message>);
    The message is returned to the error page, but I want to have it returned inline in notification. A possible solution would be to create a corresponding validation that runs brefore the process. Within validations you can choose between the returning locations, but that would mean that I have to integrate the logic twice.
    Is there any option to display the error message for processes - raised within the exception section - inline ?
    Thanks
    Jens

    Dear Paul,
    thank you for your help. Unfortunately I have the following problem when I integrate the logic like this
    when
    no_data_found then
    apex_application.g_print_success_message := 'Display Error';
    The string 'Display Error' is displayed within the notification - that's good, but this message will also be displayed if the process fails, because I don't raise the exception. When I integrate the logic like below
    when
    no_data_found then
    apex_application.g_print_success_message := 'Display Error';
    raise;
    I then get the message again on the seperate error page.
    I took a look at the flows schema if there is something like apex_application.g_print_error_message, but I didn't find something useful.
    Regards,
    Jens

  • ORA-26744: STREAMS capture process "STRING" does not support "STRING"

    Hi All,
    I have configured oracle streams using Note "How To Setup One-Way SCHEMA Level Streams Replication [ID 301431.1]" at schema level
    All the changes are getting reflected perfectly and was running smooth, but today suddenly I faced the below error and capture is aborted
    ORA-26744: STREAMS capture process "STREAM_CAPTURE" does not support "AMSATMS_PAWS"."B_SEARCH_PREFERENCE" because of the following reason:
    ORA-26783: Column data type not supported
    Couple of suggestions on forum are to add a negative ruleset, please suggest me how do i add a negative rule set and if this is added to negative ruleset then how the changes to this table will reflect in target database...?
    Please help me...
    Thanks

    I do not have any idea why it treats your XMLTYPE stored as CLOB like a XMLTYPE binary. From the doc, we read :
    http://download.oracle.com/docs/cd/B28359_01/server.111/b28321/ap_restrictions.htm#BABGIFEA
    Unsupported Data Types for Capture Processes
    A capture process does not capture the results of DML changes to columns of the following data types:
        *       SecureFile CLOB, NCLOB, and BLOB
        *      BFILE
        *      ROWID
        *      User-defined types (including object types, REFs, varrays, and nested tables)
        *      XMLType stored object relationally or as binary XML                   <----------------------------
        *      The following Oracle-supplied types: Any types, URI types, spatial types, and media types
    A capture process raises an error if it tries to create a row LCR for a DML change to a column of
    an unsupported data type. When a capture process raises an error, it writes the LCR that caused
    the error into its trace file, raises an ORA-26744 error, and becomes disabled. For your support
    NOTE:556742.1 - Extended Datatype Support (EDS) for Streams
    to exclude the table:
    NOTE:239623.1 - How To Exclude A Table From Schema Capture And Replication When Using Schema Level Streams Replication
    Sound like a specific patch. You did not stated which version of Oracle you are running.

  • Update table based on collection

    Hello friends,
    I have two tables:
    1- PHOTOS (img_id number (5,0),Product_id number (5,0), Content Blob ....)
    2- PRODUCTS (Product_id number (5,0), product_type .... )
    each product has 1 to 6 images.
    I need to watermark the uploaded images in the memory then update the original images for the watermarked images.
    I used this code, but the problem is how to update the images in the photos table based on the product_id ???
    DECLARE
    type source_col is table of blob index by pls_integer ;
    V_source source_col;
    cursor c1 is select CONTENT from photos where Product_id = :P22_Product_id;
    counter number :=1;
    added_image       BLOB;
    prop ordsys.ord_str_list;
      logging VARCHAR2(2000);
    begin
    --- Here we choose a pattern for watermarking from a table called WATERMARK_PHOTOS
    select img INTO added_image FROM WATERMARK_PHOTOS WHERE N = 1;
    for rec in c1 loop
    V_source(counter) := rec.CONTENT;
    ORDSYS.ORDImage.process(V_source(counter), 'fixedScale=900 500');
    ORDSYS.ORDImage.applyWatermark(V_source(counter), added_image, V_source(counter), logging, prop);
    --- The problem in the following statement: How to update the images
    UPDATE photos SET CONTENT = V_source(counter) where Product_id = :P22_Product_id;
    Counter := counter + 1 ;
    end loop;
    COMMIT;
    EXCEPTION
       WHEN OTHERS THEN
       RAISE;
    END;

    Thanks Sybrand,
    I am using Oracle 11g R2 Standard One edition.
    the DDL of the photos table is
    ID     NUMBER     5     0     
    product_id     NUMBER     5     0     
    FILENAME     VARCHAR2     100          
    MIMTYPE     VARCHAR2     250          
    FILESIZE     VARCHAR2     20          
    CONTENT     BLOB          in my application I do not know the image id in advance, but i know the id of the product of which I want to edit the images. So:
    in the following procedure :p22_product_id is the value of of the primary key of Products table.
    I followed your tips, and it worked out. Can you please check and assure that it is OK :
    DECLARE
    type source_col is table of blob index by pls_integer ;
    V_source source_col;
    type id_col is table of number index by pls_integer ;
    V_id id_col;
    added_image       BLOB;
    prop ordsys.ord_str_list;
      logging VARCHAR2(2000);
    begin
    select content bulk collect into V_source from photos where product_id = :p22_product_id order by id ;
    select id bulk collect into V_id from photos where product_id = :p22_product_id order by id ;
    SELECT img INTO added_image FROM timg WHERE N = 1;
    for i in V_source.first .. V_source.last
    loop
    ORDSYS.ORDImage.process(V_source(i), 'fixedScale=900 500');
    ORDSYS.ORDImage.applyWatermark(V_source(i), added_image, V_source(i), logging, prop);
    UPDATE photos SET CONTENT = V_source(i) where id = V_id(i);
    end loop;
    COMMIT;
    EXCEPTION
       WHEN OTHERS THEN
       RAISE;
    END;Best Regards,
    Fateh

  • ORA-29400: data cartridge error/IMG-00703: unable to read image data error

    Oracle Database 10g Enterprise Edition Release 10.2.0.2.0
    ORA-29400: data cartridge error
    IMG-00703: unable to read image data
    ORA-06512: at "ORDSYS.ORDIMERRORCODES", line 75
    ORA-06512: at "ORDSYS.ORDIMERRORCODES", line 65
    ORA-06512: at "ORDSYS.ORDIMG_PKG", line 37
    ORA-06512: at "ORDSYS.ORDIMAGE", line 927
    is raised when the following trigger is processing certain JPGs (example). Other JPGs are handled as expected:
    create or replace trigger photo_size_trg
    before insert or update on photos
    for each row
    declare
      photo_width integer;
    begin
      -- Check to see if the new photograph is different from the old one...      --
      if dbms_lob.compare(:old.photo, :new.photo) != 0
      then
        -- ...if so, check to see if it's wider than the desired 250 pixel        --
        -- maximum...                                                             --
        photo_width := to_number(ordImage.getMetadata(:new.photo)(1).extract('/ordImageAttributes/width/text()').getStringVal());
        if photo_width > 250
        then
          -- ...and if so, apply an image transform that will resize to the photo --
          -- to a maximum of 250 pixels wide, keeping the original aspect ratio.  --
          -- There doesn't seem to be an elegant way of specifying a constraint   --
          -- in one dimension like this, so the height is specifed as a large     --
          -- enough value to cover all practical contingencies.                   --
          ordImage.process(:new.photo, 'maxScale=250 10000');
        end if;
      end if;
    end;Any thoughts/suggestions?

    hi,
    I am getting following error,kindly help me out to rectify this ..
    thank you
    ORA-29400: data cartridge error
    ORA-00600: internal error code, arguments: [kokbCollTerminate], [13], [], [], [], [], [], []

  • ROWTYPE to get better query ?

    Hello,
    I have two identical tables:
    PHOTOS_TEMP AND IMAGES_TEST
    (ID PK number ,
    content blob,
    filename varchar2 (200),
    mimetype varchar2 (200),
    filesize varchar2 (200),
    res_id FK number,
    watermarked varchar2 (1))I have CODE 1, I want to make it more effecient perhaps by using %ROWTYPE,
    So, I tried CODE 2, but it did not work. It tells, "Too many values .... CONTENT must be declared ...."
    Can you plesae tune Code 1 ??
    h1. CODE 1 is working fine
    DECLARE
    type source_col is table of blob index by pls_integer ;
    V_source source_col;
    type id_col is table of number index by pls_integer ;
    V_id id_col;
    type char_col is table of IMAGES_TEST.FILENAME%TYPE index by pls_integer ;
    V_filename char_col;
    V_mimetype char_col;
    begin
    select content,filename,mimetype,id bulk collect into
    V_source,v_filename,v_mimetype,v_id from photos_temp
    where  temp = :P700_TEMP_IMAGE   for update  ;
    for i in V_source.first .. V_source.last
    loop
    ORDSYS.ORDImage.process(V_source(i), 'fixedScale=800 500');
    end loop;
    forall i in V_source.first .. V_source.last
    insert into IMAGES_test
    (res_id ,CONTENT,filename,mimetype,filesize,watermarked)
    values
    (:P700_res_ID ,V_source(i),V_filename(i),V_mimetype(i),
    dbms_lob.getlength(V_source(i)), 'Y');
    COMMIT;
    EXCEPTION
       WHEN OTHERS THEN
       RAISE;
    END;h1. CODE 2 supposed to be more efficient, but not working ?
    DECLARE
    type new_row is table of IMAGES_TEST%rowtype index by pls_integer ;
    v_row new_row;
    begin
    -- This may collect more than one row
    select * bulk collect into
    v_row from photos_temp
    where  temp = :P700_TEMP_IMAGE   for update  ;
    for i in v_row.id.first .. v_row.id.last
    loop
    ORDSYS.ORDImage.process(v_row.content(i), 'fixedScale=800 500');
    end loop;
    forall i in v_row.id.first .. v_row.id.last
    insert into IMAGES_test
    (res_id ,CONTENT,filename,mimetype,filesize,watermarked)
    values
    (:P700_res_ID ,v_row.contnet(i),v_row.filename(i),v_row.mimetype(i),
    dbms_lob.getlength(v_row.content(i)), 'Y');
    COMMIT;
    EXCEPTION
       WHEN OTHERS THEN
       RAISE;
    END;Best Regards,
    Fateh
    Edited by: Fateh on Nov 26, 2012 5:22 AM

    hi,
    In your CODE 1
    select content,filename,mimetype,id bulk collect into
    V_source,v_filename,v_mimetype,v_id from photos_temp
    where  temp = :P700_TEMP_IMAGE   for update  ;
    -- temp is not a collumn name nor a variable name
    ...So I think that does not work.
    In code 2 you must use the index "( i)" on the table variable and not on the attribute. So:
    v_row.contnet(i) --THIS IS WRONG!
    v_row(i).contnet -- This is OK
    Also:
    v_row.id.first --THIS IS WRONG!
    v_row.first --This is OK
    Below is an working example:
    insert into photos_temp (id ,filename) values ( 1,'peter');
    insert into photos_temp (id ,filename) values ( 2,'Fateh');
    commit;
    DECLARE
    type new_row is table of IMAGES_TEST%rowtype index by pls_integer ;
    v_row new_row;
    begin
      select * bulk collect into
       v_row from photos_temp
      --where  temp = :P700_TEMP_IMAGE  
      for update  ;
      --for i in v_row.id.first .. v_row.id.last
      for i in v_row.first .. v_row.last
      loop
      DBMS_OUTPUT.PUT_LINE('Id: ' || v_row(i).id || ' filename: ' || v_row(i).filename);
      end loop;
    end;
    Result:
    Id: 1 filename: peter
    Id: 2 filename: FatehAnd in your case for code 2 simplyfied:
    DECLARE
    type new_row is table of IMAGES_TEST%rowtype index by pls_integer ;
    v_row new_row;
    begin
      select * bulk collect into
       v_row from photos_temp
      --where  temp = :P700_TEMP_IMAGE  
      for update  ;
      --forall i in v_row.id.first .. v_row.id.last
      forall i in v_row.first .. v_row.last
      insert into IMAGES_test
      (id ,filename)
      values
      (v_row(i).id, v_row(i).filename);
    end;
    select
      id
      ,filename
    from
      images_test;
    Result:
    ID FILENAME                                                                                                                                                                                              
    1 peter                                                                                                                                                                                                   
    2 Fateh                                                                                                                                                                                                    Whoever this works in:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    "CORE     11.2.0.1.0     Production"
    TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    I think in oracle 9 you must use seperate table variables and not one table variable of a scalar type.
    Regards,
    Peter

  • Relational interface, basic question

    Hi, I have over a million images stored in a blob column.
    We are using oracle 8.1.7 and forms 6.0.
    We do have intermedia installed on the database but it is not
    used in this application.
    The images were inserted as TIFF's through a form.
    Question.
    Intermedia Relational interface be used to change the
    compression setting of the TIFF images? using the process()
    method?
    Can Intermedia Relational interface be used to change the image
    format of some of the images?
    Thank you
    David Wilton

    Rajiv,
    I like your suggestion of using the process method from a stored
    procedure without having to install intermedia relational
    interface. I'm not sure how to assign the ORDSYS variables to
    the blob. David, please see the example below.
    Our problem:
    We have some TIFF images compression: CCITT group 3 and 4
    (lossless compression).
    Some of these images cause the forms application to crash upon
    display. Forms bug, oracle sent me an oneoff for patch 9 for
    forms 6i to see if this corrects the problem, it did not.
    Using Forms, If I update the record and resave the image as
    image type JFIF, the image can be viewed without problems.
    I think when the image is saved as a JPEG some of the discarded
    information might be what causes the image to crash the oracle
    forms application. Therefore it no longer crashes the
    application.
    I am wondering if I can change the compression settings of these
    problem images to JPEG and keep the image as a TIFF. or change
    to a JPEG image and jpeg compression save then possibly convert
    it back to TIFF.
    David, if I understand your scenario correctly, your client
    application is having a problem displaying certain TIFF images.
    You want to modify these (by changing compression/deleting tags
    etc) so that your client can display them correctly.
    You should try changing the compression of these images from
    CCITT 3/4 to PackBits or LZW first before trying JPEG.
    In your case, using JPEG compression will explode the size of
    the image data (CCITT is monochrome whereas JPEG will use 8bits)
    and the image quality will also deteriorate.
    If on the other hand I misunderstood your scenario and you are
    having a problem with our TIFF reader with certain images, please
    send us a sample problem file to investigate this further.
    Here's the start of my procedure
    how do I assign the ordsys variables to my blob?
    thank you
    David
    PROCEDURE change_image IS
    v_image BLOB;
    v_intermed_image ORDSYS.ORDImage;
    v_blob_intermed ORDSYS.ORDImgB;
    BEGIN
    select image_data
    --into v_blob_intermed
    into v_image
    from obra.scanned_images
    where scanned_images_rec = 1218450
    for update;
    -- how to assign ordsys variable to blob????
    v_intermed_image := v_image;
    -- v_blob_intermed := v_image;
    -- keep tiff format change compression from group 3 to jpeg
    ordsys.ordimage.process
    (v_intermed_image, 'compressionFormat=JPEG,compressionQuality=MED
    COMP');
    -- change image to jpeg format
    -- ordsys.ordimage.process
    (v_intermed_image, 'fileFormat=JFIF,
    compressionFormat=JPEG,compressionQuality=MEDCOMP');
    update obra.scanned_images
    set image_data = v_intermed_image
    where scanned_images_rec = 1218450;
    commit;
    exception
         when others then
         raise;
    END; PROCEDURE change_image IS
    v_intermed_image ORDSYS.ORDImage;
    BEGIN
    select image_data
    into v_intermed_image.source.localdata
    from obra.scanned_images
    where scanned_images_rec = 1218450
    for update;
    -- you can optionally invoke setProperties to inspect the image
    -- v_intermed_image.setProperties ;
    -- dbms_output.put_line('Height ' ||v_intermed_image.height);
    -- keep tiff format change compression from group 3 to packbits
    v_intermed_image.process( 'compressionFormat=PACKBITS,
    compressionQuality=MEDCOMP');
    -- for blobs selected for update, you don't need an additional
    -- update but it doesn't hurt. If you were updating a lob
    -- attribute of an object you would need the line below.
    update obra.scanned_images
    set image_data = v_intermed_image.source.localdata
    where scanned_images_rec = 1218450;
    commit;
    exception
    when others then
    raise;
    END;

  • Populate new fields in DSO (DBTable) with ABAP routine

    Hi,
    I've added a couple of fields to a DSO. The DSO contains a large number of records (60m+) and I have a tight window to cutover so the activation time would be an issue if I use a loop transformation. Therefore, I am looking to populate the additional fields directly in the Active table using an ABAP routine.
    One of the fields is a key figure to be derived from an existing CHAR field so would need to apply some logic during update, such as IF <CHAR_FIELD> CA 'ABC'. <KYF_FIELD> = 1 etc.
    Aside from fairly basic Start Routines my ABAP is very poor so was wondering if anyone can help me with the syntax or, preferably some sample code to achieve this.
    Thanks in advance,
    Ad

    Hi,
       In transformation of the cube, choose routine  for char E.
       There you can assign value in RESULT field. Actually RESULT field is assigned to E, find the code below,
    *--  fill table "MONITOR" with values of structure "MONITOR_REC"
    *-   to make monitor entries
    ... "to cancel the update process
       raise exception type CX_RSROUT_ABORT.
    ... "to skip a record
       raise exception type CX_RSROUT_SKIP_RECORD.
    ... "to clear target fields
       raise exception type CX_RSROUT_SKIP_VAL.
      (* insert your abap code here to find the value of E*.)
         RESULT =                     * assign the value you got for E here.
    rgrs,
    v.sen

  • End routine

    Hello,
    I have the code below as a model .
    As far as I see , it is done for fiscal period. I need something similar, to put date and time.
    I move data from cube 1 to cube 2, BW 7.0.
    My cube 2 has two more extra fields then cube 1(date and time of the request that comes).
    I don't understand why I need the read table instruction and how I test in my case for request, instead of fiscal period.
    Any suggestions/ clues ...?
    Thank you.
      METHOD end_routine.
        FIELD-SYMBOLS:
          <RESULT_FIELDS>    TYPE tys_TG_1.
        DATA:
          MONITOR_REC     TYPE rstmonitor.
    $$ begin of routine - insert your code only below this line        -
    ... "insert your code here
    *--  fill table "MONITOR" with values of structure "MONITOR_REC"
    *-   to make monitor entries
    ... "to cancel the update process
       raise exception type CX_RSROUT_ABORT.
      DATA: fiscper type RSBK_S_RANGE-high,
            RESULT type tys_TG_1,
            l_tabix type sy-tabix,
            l_requnr TYPE fieldname,
            e_th_selections type RSBK_TH_RANGE,
            e_th_fiscper type line of RSBK_TH_RANGE.
    e_th_selections = p_r_request->get_th_range( ).
    READ TABLE e_th_selections WITH KEY fieldnm = 'FISCPER'
        INTO e_th_fiscper.
      fiscper = e_th_fiscper-high + 1.
      LOOP AT RESULT_PACKAGE INTO RESULT.
        l_tabix = sy-tabix.
        result-fiscper  = fiscper.
        result-fiscyear = fiscper+37(4).
        result-fiscper3 = fiscper+41(3).
        MODIFY RESULT_PACKAGE FROM RESULT INDEX l_tabix.
        CLEAR RESULT.
      ENDLOOP.

    I am not sure I understand - do you want to populate cube infoobjects with the current date and time in an end routine, or using the methods provided by p_r_request ?
    p_r_request has methods like GET_TSTMP_START, that you can see if they work for you.

Maybe you are looking for

  • T61 32-bit XP to 64-bit Win8 - general approach that may work for other models

    I recently tried to upgrade my T61 from 32-bit to 64-bit Win 8 using the $39.99 download. DO NOT WASTE YOUR TIME TRYING THIS, IT WILL FAIL.  HOWEVER, IF YOU PURCHASE THE $69.99 VERSION WITH BOTH 32-bit AND 64-bit MEDIA YOU CAN DO IT (no downloadable

  • WebDAV: Excel 2013 truncates the encoded URL at # (%23)

    (originally posted in Open Spec forum, but was asked to repost here) We encountered a problem  on our existing WebDAV server with Office 2013. When a file name contains a number sign (aka hash, aka pound sign), Excel truncates the URL at that sign. N

  • Disappointed with TCs wireless performance--help!

    I have a 1TB Time Capsule which I believe has the same wireless part as the Airport Extreme and my wireless performance and range is surprisingly terrible. Is the Airport Extreme known to have a better wireless characteristic than the Time Capsule? D

  • Sqlnet.ora doesn't seem to be read since oci8 1.3.4

    Hello, I used to use oci8 version 1.2.3 and I wanted to update to last version (1.3.4). Everything works fine except the fact that "sqlnet.ora" does not seems to be read anymore. I use the following string to describe my database in oci_connect: "MEN

  • Last Purchase Price Report

    Hello All, I need to get a Report on the Last Purchase Price for some materials. Where can I find this report? Is there any report that shows the materials related to the suppliers. Best Regards, Miguel Edited by: Miguel Barbosa on May 25, 2009 5:59