Parameter Binding for BLOB field

I would like to find out how I can bind a BLOB field as one of the parameters to an INSERT statement to be passed to an ExecuteSQL call?
I was trying to use the Add function for BLOB field of the OParameterCollection object, but was having problem instantiating the BLOB object itself - getting object not opened error!?!
Would appreciate any advice!
Thanks,
John.

Hi Karuna,
Breakpoint's answer is a bit misleading - there's no need for the parameter ID to appear in SE11. All you need is logic on your screen to utilize the parameter ID. You have two options for that: Either use the field settings in the screen painter (i.e. check the SET field and GET field checkboxes, at least Get field would be required - just seeing the parameter ID is not sufficient) or add some coding to your PBO coding to retrieve upon startup of the screen the value via GET PARAMETER statement (requiring also possibly a SET PARAMETER in the PAI for the field if you want to set it).
Most likely the first approach is what you want. The second is more flexible, but also needs more care to avoid unexpected behavior...
Cheers, harald

Similar Messages

  • SAP Cloud For Customer : Add Extension Fields under the Parameter Binding For Mashups

    Hi Experts,
    I have requirements for the mashups, I have created the extension field in cloud for customer "Registered Product" TI screen i want to add that newly created extension fields under the Mashup Parameter Binding List.
    1) Is it possible ? If yes then How it is?
    2) Any Standard process or we go for the SDK to enhance the standard screen port binding?
    For more information refer the below screen.
    Awaiting for your reply or suggestion....
    Many Thanks,
    Mithun

    I have done the below changes on the custom BO.
    Step 1 . In the Event Handler i have change as per the previous reply.
    Step 2. Assign that Event to Import OnFire.
    I am getting this error when open the Account Screen and go to that Embed Tab.
    "Object [object Object] has no method 'getRawValue'".
    Kindly check the above steps are correct or any step missing.
    Many Thanks,
    Mithun

  • How to set parameter id for a field, which is in disable mode ?

    Hi,
    I Have to set parameter id for field ledger for transaction FAGLB03, which is in disable mode, i have to set it through program,please let me know how to set it.
    Thanks.

    Say i have 5 rows then
    for(int i=1;i<=5;i++){
    String Newpath = updatepath(eval("{{obj.libraryname.web_input_text_fieldname}}"),i)
    web.text_area(Newpath).setText("Text to be set")
    Below function is used to update my path
    public String updatepath(String path,int i) throws exception {
    String FPath = "";
    if(i<2) {
    FPath = path.substring(0, path.indexOf("'", path.lastIndexOf("@id=")+5))+path.substring(path.indexOf("'", path.lastIndexOf("@id=")+5));
    } else {
    FPath = path.substring(0, path.indexOf("'", path.lastIndexOf("@id=")+5))+(i-1)+path.substring(path.indexOf("'", path.lastIndexOf("@id=")+5));
    return Fpath
    anyother way to update path and set the fields in mutiple block is appreciable
    thanks
    Suresh

  • Offline data migration fails for BLOB field from MySQL 5.0 to 11g

    I tried to use standalone Data Migration several years ago to move a database from MySQL to Oracle. At that time it was unable to migrate blob fields. I am trying again, hoping this issue might have been fixed in the mean time. That does not appear to be the case. The rows in question have a single BLOB field (it is a binary encoding of a serialized Java object, containing on the order of 1-2K bytes, a mixture of plain text and a small amount of non-ASCII data which is presumably part of the structure of the Java object). The mysqldump appears to correctly store the data, surrounded by the expected <EOFD> and <EORD> separators. The data as imported consists of a small (roughly 1-200) ASCII characters, apparently hex encoded, because if I do a hex dump of the mysqldump I can recognized some of the character pairs that appear in the blob field after import. However, they are apparently flipped within the word or otherwise displaced from each other (although both source and destinations machines are x86 family), and the imported record stops long before all the data is encoded.
    For example, here is a portion of the record as imported:
    ACED0005737200136A6
    and here is a hex dump of the input
    0000000 3633 3838 3037 3c39 4f45 4446 303e 3131
    0000020 3036 3830 3836 453c 464f 3e44 312d 453c
    0000040 464f 3e44 6e49 7473 7469 7475 6f69 446e
    0000060 7461 3c61 4f45 4446 ac3e 00ed 7305 0072
    0000100 6a13 7661 2e61 7475 6c69 482e 7361 7468
    0000120 6261 656c bb13 250f 4a21 b8e4 0003 4602
    0000140 0a00 6f6c 6461 6146 7463 726f 0049 7409
    0000160 7268 7365 6f68 646c 7078 403f 0000 0000
    AC ED appears in the 5th and 6th word of the 4th line, 00 05 in the 6th and 7th words, etc.
    I see explicit references to using hex encoding for MS SQL and other source DB's, but not for mysql.
    I suspect the encoder is hitting some character within the binary data that is aborting the encoding process, because so far the records I've looked at contain the same data (roughly 150 characters) for every record, and when I look at the binary input, it appears to be part of the Java object structure which may repeat for every record.
    Here is the ctl code:
    load data
    infile 'user_data_ext.txt' "str '<EORD>'"
    into table userinfo.user_data_ext
    fields terminated by '<EOFD>'
    trailing nullcols
    internal_id NULLIF internal_id = 'NULL',
    rt_number "DECODE(:rt_number, 'NULL', NULL, NULL, ' ', :rt_number)",
    member_number "DECODE(:member_number, 'NULL', NULL, NULL, ' ', :member_number)",
    object_type "DECODE(:object_type, 'NULL', NULL, NULL, ' ', :object_type)",
    object_data CHAR(2000000) NULLIF object_data = 'NULL'
    )

    It looks like the data is actually being converted correctly. What threw me off was the fact that the mysql client displays the actual blob bytes, while sqlplus automatically converts them to hex for display, but only shows about 2 lines of the hex data. When I check field lengths they are correct.

  • Download link for blob field on page

    I have a form based on table with a blob column:
    TEMPLATE blob
    The 'Display as' on the item is set to 'File Browse...'
    The Source Type is set to 'Database Column' and Source value or Expression is set to 'TEMPLATE'
    I want the 'Download' link to appear next to the 'Browse' button, so I tried to change the Source value to
    'TEMPLATE::::', but it gives me this when I try to save:
    1 error has occurred
    ""."TEMPLATE" not found.
    How canI get the 'Download' link to appear?

    bobmagan,
    Thanks for importing your app. Sorry for the late reply. Here's what I've found:
    For some reason this download link seems to be tied to the TABLE NAME specified in an Automatic Row Processing process. I created an ARP to process the row instead of using the custom procedure that you wrote to process the record. I specified all the normal stuff in the ARP (i.e., TABLE_NAME, PRIMARY_KEY). After the process was created, I modified the TEMPLATE item source to TEMPLATE:::: w/o error and the download link appeared fine.
    To further test, I then went back the ARP and changed the table name to lower case, edited the TEMPLATE item again, and got the following error:
    *"report_layout"."TEMPLATE" not found.*
    When you use DATABASE COLUMN as the source type for the item, it must be using the table_name in the ARP to identify the column being referenced.
    This may a good question for the APEX developers. They could probably shed more light on this.
    All in all, the workaround I found is to create the ARP and set it's condition to NEVER so that it never runs. You can still use your custom process to insert/update/delete the record. Then you can edit the item, add the TEMPLATE::::, and get the download link to appear. I left the solution up and running in your app for you to see.
    Sorry for all the confusion, but I hope this helps you out.
    Let me know what you think...
    Keith Malay
    www.sds-cg.com

  • How to handle BLOB field in receiver JDBC adapter into ABAP table

    Dear Experts,
    I am working in a synchronous scenario with Sender ABAP Proxy to Oracle Database as receiver via SAP PO 7.4.I will be calling a stored procedure view with fields ID, NAME,Age,*** and BLOB (Image binary).
    1. The response from Oracle Database field BLOB is to be stored in ABAP table.Would I have to write any JAVA program to read the BLOB or the receiver JDBC adapter will handle it and store in a table by using ABAP proxy once it reaches ECC.
    2. If yes, would the JAVA program have to deal with other 4 fields.
    3. Can I use a UDF mapping to this BLOB field.
    Regards
    Rebecca...

    Dear Praveen,
    Thanks for your response...
    Please correct me if I am wrong.
    1. For 1-1 response mapping for BLOB field, I will use just use the below UDF code.
    public static byte[] hexStringToByteArray(String s) { 
                int len = s.length(); 
                byte[] data = new byte[len / 2]; 
                for (int i = 0; i < len; i += 2) { 
                            data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) 
                                                                                         + Character.digit(s.charAt(i+1), 16)); 
                return data; 
    2. ===Using the byte data, create binary attachment in mapping for abap proxy response===
    Could you please share how to create the binary attachment.. I am not clear
    Regards...

  • Problem building a trigger using a BLOB field in Oracle 10

    My case is the following,
    I'm trying to implement an AFTER trigger which uses the :new.blob_field to insert the new value in a table. Because of the documented AFTER restriction and :new use for blob fields, I've though to add other BEFORE trigger that calls a procedure in which I can store the :new value and later insert the temporary value in the table when the AFTER trigger is executed.
    The Idea is the following:
    BEFORE trigger :new -> TEMP
    and then
    AFTER trigger uses TEMP to store in the new table
    So, the final questions are the following:
    -Any other idea to do the same, that is, to use the ":new" value in an AFTER trigger?
    -How can I do this with the temp variable, is this correct?:
    PROCEDURE store_blob ( new_val BLOB ) IS
    BEGIN
    DBMS_LOB.CREATETEMPORARY(new_blob_temp,TRUE, DBMS_LOB.SESSION);
    -- fill with data
    DBMS_LOB.COPY (new_blob_temp,new_val,DBMS_LOB.GETLENGTH(new_val),1,1);
    END store_blob ;
    Because of the design of the application I have to use the AFTER trigger to store the new value so I must find a solution for this type of fields.
    Sorry for the size of the text and also for my english.
    Thanks in advance

    SQL> create or replace trigger trg1 after insert on test_blob for each row
      2  begin
      3  insert into test_blob2 values (:new.a);
      4  end;
      5  /
    Trigger created.
    SQL> insert into test_blob values ('123456789');
    1 row created.
    SQL> desc test_blob;
    Name                                      Null?    Type
    A                                                  BLOB
    SQL> desc test_blob2
    Name                                      Null?    Type
    A                                                  BLOB
    SQL>
    SQL> select dbms_lob.getlength(a) from  test_blob2;
    DBMS_LOB.GETLENGTH(A)
                        5

  • How to create a pamater id for the field

    Hi,
    in fbl5n transaction for the  open item (key date) doesnt have parmater id , i need to create parameter id for that field,,,
    how to create paramter id for that particulatr , because in technical setting that parameter id is not specified....
    pls help

    in fbl5n transaction for the open item (key date) doesnt have parmater id
    Since it is a Standard Transaction, you cannot create the Parmeter id for it.
    You have to create a Mod, using access key and modify the dataelement.
    I am not sure this is the correct way. check other possibilities.

  • Reading BLOB Fields

    Experts -
    Is there any way that we can read the data from BLOB fields of  data base table column in Endeca 3.0 ?
    Do we have some direct readers for BLOB  fields ? OR  point # 2 below  is the correct way in Endeca ?
    Some details I could collect from search/google are below :
    http://docs.oracle.com/cd/E29585_01/DeveloperStudio.61x/DevStudioHelp.pdf Says that directly CLOB / BLOBs are not supported by ENDECA
    https://forums.oracle.com/thread/2426178 - Says a replacement for reading BLOB sources ' Oracle Endeca Advanced JDBC Column Handler 6.1.2 for Generic Platform'
    Any help/pointers is highly appreciated.
    Thank you,
    Ranish

    I see no reason why you shouldn't be able to bring a BLOB field into Endeca but I think the real question is what is the data and what are you trying to do with it?
    If it's some kind of object (say, a serialized profile object about an account), wouldn't it make sense to de-serialize it and add some attribution to the Endeca record?  If it's something else, like say an image file, you could probably hack something together to show it on a details page but bringing it in to the index would provide zero value over just having it somewhere else (like a web server).  When I say no value in Endeca for an image, I mean, you can't search on it, you can't navigate on it, maybe you could display it (though you would create a lot of un-necessary work for yourself).
    Probably need more detail here.  Also, an additional note is that both links you include reference products and utilities that are part of the Oracle Endeca Commerce stack, not Oracle Endeca Information Discovery.
    Patrick Rafferty
    http://branchbird.com/blog/category/oeid/

  • Model Binding and Calculated Field Syntax for "class" Attribute

    Hi,
    I tried to use the calculated field syntax from SAP UI5 to change the CSS class attribute of an element based on some model property, i.e., I wanted to change the class in the corresponding formatter function based on the currently bound value. However, my formatter function is not called. When I use the same syntax on a text attribute, it works.
    I also tried to use normal property binding, but it did not work on the class attribute either (it just put class="{property}" in the rendered HTML).
    Is there anything I missed or is it just not possible to use property binding and calculated field syntax for class attributes? Did anybody try something like this before?
    I think it is a standard use case to change the CSS class based on some model property. So, if anybody knows how to do that, could you give a short example?
    Best regards
    Svenja

    They have a class property. At least, I can do the following in an XML view:
    <Button
                  icon="sap-icon://add"
                  press="onButtonPress"
                  class="my-button-class" />
    I would expect the following to work as well, but for me it did not:
    <Button
                  icon="sap-icon://add"
                  press="onButtonPress"
                  class="{/customClass}" />
    This renders the following HTML (cropped to the important parts):
    <button type="button" class="sapMBtn {/customClass}">
    </button>
    It seems like the class attribute is something special although I don't see a reason why. Other HTML templating engines, for example, support things like that.

  • What is bind syntax for blob datatype for sqlite3

    Hi All,
    i have written 2 times.
    1. sqlite3bind_blob(insertstatement, 1, image, -1, SQLTRANSIT);
    it doesn't give compile error but when i run the applilcation it crash the
    simulator.
    2. sqlite3bind_blob(insertstatement, 1, image, -1);
    it gives error like too few arguments.
    here image is object of UIImage........
    pls anyone can tell me what is proper syntax for binding of blob datatype.
    Thankx.
    vavdiyaharesh is online now Add to vavdiyaharesh's Reputation Report Post Edit/Delete Message

    I wanted to do something similar, but as you mention, there isn't a lot of sample code to copy and paste etc, and I didn't have the time to spend investigating this one issue when plenty of other things needed my attention.
    In the end I decided to save my BLOB data as actual files in the document directory and then store a link to these in the database row. Something like primarykey_id_blobname.jpg etc.
    Probably not the answer you want, but hopefully it'll get you past a road block and onto the next item on your list.

  • How Can I Change Format Mask For All Fields that type's Number Depend on Parameter in Report Builder 10g ?

    I want Change format mask for all fields that type's number
    Such as
    if  :parameter_value = 1 then
       all fields format mask = ' 999,999,990.000' ;
    else
       all fields format mask = ' 999,999,990.00' ;
    end if;
    Regards

    So, i have bad news for you : you'll have to rebuild again.
    Meanwhile i have excellent news for you : there's an online tool made by Johannes Henseler called Sidecar xml which builds the necessary xml file for you, sort of what you find in the Digital Publishing Folio Editor website, but saves it in your Folio folder.
    Next time you import all your folder (with that file), it will place all the necessary information, and even reorder the articles.
    Build once, play many times.

  • The size limit of the OCI LOB Array Insert is 64K for one field?

    I have a table with 4 field, and one is BLOB field. I want to insert 16 rows in one OCIStmtExecute. I know I can specify the iter parameter with 16 to execute sql 16 times.
    I found example in "Application Developer's Guide - Large Objects" in page "Data Interface for Persistent LOBs 13-17", there is a example function called "array_insert". It shows the usage of OCIBindArrayOfStruct, but can only insert LOB with same size, the LOB field of each row filled with the same size data.
    But I have to insert LOB with different size, for example 8K for row 1, and 16K for row 2, 128K for row 3. Than I find the alenp parameter of OCIBindByName/OCIBindByPos. It is "pointer to array of actual lengths of array elements."(OCI document). So I think I find the solution for my problem. But the type of alenp parameter is ub2*, is it means I can only insert 64K data for each row in my array insert? It is too small, I hope I can array insert BLOB with 16M each row.
    Or there is any other solution for my problem? I look forward to it for a long time! thanks every one!

    It is called Data Interface to work with LOB datatypes by APIs designed for use with legacy datatypes. I can specify SQLT_BIN to bind memory binary data to BLOB column, and INSERT or UPDATE directly. It can be without LOB locator and save round-trip to the server. This is very fit my needs, because I have to insert very much BLOBs to server as soon as possible.
    I have make a test program, and multi-row with different size blob( less than 65536 bytes) can be insert at one time, without locators. Multi-row wiht same size blob( more than 64K) also can be insert at one time--the alenp parameter is not used. I only can not insert multi-row with different size blob( more than 64k) because the type of alenp is ub2*.
    thank you for your reply!

  • BLOB fields again...

    Hello,
    I'm developing an application which has a database table with blob fields. I've had many problems recently with this type of field, the most undesired being that LOV fields doesn't work in pages with BLOB fields.
    As a workaround, I've done a second page just to upload the files to the two blob fields. It worked, but now I needed to handle errors with different kind of files and their mime-types. I was happy to see that JHeadstart provided three auxiliary fields to store the filename, size and mime-type. It worked too, it saved all that information correctly, but:
    1. When "downloading" the file, apparently the mime-type is not set.
    2. Just after the file is uploaded, I can see in the main table that the attributes were saved correctly, but as soon as I close the browser and open a new session, I have errors. I have two blob columns; in the first, it doesn't shows the filename, but the file size, in the second blob column, it doesn't shows the file name, but the blob mime-type!
    Does anybody has any similiar problem?
    Thanks,
    Eduardo

    Hello Peter,
    Thanks for the confirmation that the BLOB / LOV issue is a bug.
    About my another problem with HTTP headers while downloading files from blob fields, you are right, I need to be more specific. In my first try, this "second page" just to upload the files was a simple UIX page, not generated by JHeadstart. I saw this could be a little difficult to handle, so I discarded it.
    Now, I created a second VO with the two blob fields and all other attributes read-only, and put it as a group in JHeadstart configuration file to generate the page automatically. I __disabled all multi-row operations__ so the blob fields are rendered in the main table as hyperlinks to be downloaded with their respective filenames set, as it was saved in the database field in the upload.
    But in my tests, if I save other files than images, the browser doesn't open it correctly. So I opened the UIX JHeadstart generated page, where I see something like this:
    <link destination="DownloadFile.do?pageTimeStamp=ignore&amp;model=TsacContratoUIModel&amp;binding=TsacContratoDocumentoContrato&amp;rowKeyStr=${uix.current.rowKeyStr}&amp;attachment=${TsacContratoDocumentoContratoTamarq}" text="${ui:cond(uix.current.TsacContratoDocumentoContratoTamarq!=null,uix.current.TsacContratoDocumentoContratoTamarq,'DocumentoContrato')}" rendered="${uix.current.TsacContratoDocumentoContrato!=null}"/>
    Clearly I can see two things:
    1. attachment=${TsacContratoDocumentoContratoTamarq}. I put uix.current inside, as we are in a table, and it worked fine after that.
    2. The hyperlink doesn't have the mimeType parameter set, but the respective DownloadFile.do class uses it to set the correct mimeType header. I put it by hand: &amp;mimeType=${uix.current.TsacContratoImagensViewDocumentoContratoMimetype}"
    I verified that all the three attributes used to save file information are correct and exists in the VO, in the entity object and in the table, and I've also tested it in the Application Module and also, they save all the information correctly, so I don't think the problem is here, but in the page generation.
    Thanks for your help. JHeadstart is a great and very interesting project despite some minor bugs that still exists.
    Eduardo

  • Error while trying to store PDF in Oracle's BLOB field

    Hi folks!
    I'm having problems while trying to store PDF file in a BLOB field of an Oracle table
    This is the message code:
    Exception in thread "main" java.sql.SQLException: Data size bigger than max size for this type: 169894
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
    at oracle.jdbc.ttc7.TTCItem.setArrayData(TTCItem.java:95)
    at oracle.jdbc.dbaccess.DBDataSetImpl.setBytesBindItem(DBDataSetImpl.java:2414)
    at oracle.jdbc.driver.OraclePreparedStatement.setItem(OraclePreparedStatement.java:1134)
    at oracle.jdbc.driver.OraclePreparedStatement.setBytes(OraclePreparedStatement.java:2170)
    at vgoactualizacion.Main.main(Main.java:84)     
    This is the piece of code i'm using:
    Assuming conn = conection to Oracle 10g Database ( it's working )
    String miProcedimientoAlmacenado = "{ call package_name.update_client(?,?, ?) }";
    CallableStatement miComando = conn.prepareCall(miProcedimientoAlmacenado);
    miComando.setString(1,miClienteID ); //first parameter : IN
                   //second parameter : IN
    File miPDF = new File(pathPDF + "//" + miClienteID + ".pdf");
    byte[] bodyIn = readFully(miPDF); //readFully procedure is shown below
    miComando.setBytes(2, bodyIn); //THIS IS THE LINE WHERE THE ERROR IS PRODUCED
              //3rd parameter: OUT
    miComando.registerOutParameter(3, java.sql.Types.VARCHAR);
    miComando.execute();
    private static byte[] readFully(File miPDF) throws FileNotFoundException, IOException {
    FileInputStream fis = new FileInputStream(miPDF);
    byte[] tmp = new byte[1024];
    byte[] data = null;
    int sz, len = 0;
    while ((sz = fis.read(tmp)) != -1) {
    if (data == null) {
    len = sz;
    data = tmp;
    } else {
    byte[] narr;
    int nlen;
    nlen = len + sz;
    narr = new byte[nlen];
    System.arraycopy(data, 0, narr, 0, len);
    System.arraycopy(tmp, 0, narr, len, sz);
    data = narr;
    len = nlen;
    if (len != data.length) {
    byte[] narr = new byte[len];
    System.arraycopy(data, 0, narr, 0, len);
    data = narr;
    return data;
    }//fin readFully
    This approach indicates that the PDF file is converted into an array of bytes, then is stored as binary in the BLOB field.
    Thanx in advance, and looking forward for your comments.

    You will probably need to use the setBinaryStream() method instead of setBytes().

Maybe you are looking for

  • ALV object in function module shows old data

    Hello, I create a function module with import parameter matnr. This function module calls a screen that displays an ALV with the whole info of matnr out of table mara. I include this in a program where a material can be selected. This is then input f

  • ORA-03113 when using dbca

    I install 92040 on redhat AS21. When I create RAC db using dbca, I'll get "ORA-03113: End of file on communication channel" I have checked many doc on metalink. Most of that talk about linux kernel memory setting. I checked shmmax shmmni shmmal and e

  • Colour changes on export

    I have graded all my footage in muticam angle viewer, and it previews fine in the timeline. When I export I get occasional angles which are the original ungraded colour, for no reason. I have tried deleting all the render files, removing all colour e

  • USB Controller Missing in Device Manager (HP Envy dv6t-7200)

    I have 3 USB 2.0 ports but I'm only able to use one of them. Device Manager has a yellow warning symbol next to "Universal Serial Bus (USB) Controller" and I'm unable to find any drivers. I'm not sure what chipset I have because my OS didn't come wit

  • Burned dvd plays audio but not video

    I just completed the first part of a wedding video and it burned fine. I just finished the second part and it looks and plays fine in imovie and idvd preview. However when I burn it and try to play it the dvd will only play the audio. the dvd starts