Passing multiple rows to bapi

I have a bapi which has a table structure which is acting as import parameters..
Any sample <b>java codes</b> to add multiple rows to the table structure?
Thank you in advance

hi,
see this code(sales order create). here i add multiple item to itemtable , i think it will helpful to u.
public ClsSuper salesOrderCreate(String strSAPClient, String strSAPUser, String strSAPPwd, String strSAPLang, String strSAPHost, String strSAPSysNo, String strCustomerNo, String strSalesOrg, String strDistChan, String strDivision, String strCreateDate, String strReqData, ItemVO[] objItemVO, String strPurchNo) {
                      ClsSuper objClsSuper=new ClsSuper();
                      String DocType = "TA";
                         String xUploadFlag = "I";
                         String xDocType = "X";
                         String xSalesOrg = "X";
                         String xDisChan = "X";
                         String xDivision = "X";
                         String xPurchNo = "X";
                         String PartnerRole = "AG";
                      Bapi_Salesorder_Createfromdat2_Output output = null;
                         SalesOrderCreate_PortType mysalesorder = new SalesOrderCreate_PortType();
                         Bapi_Salesorder_Createfromdat2_Input input = null;
                         SalesOrderCommit_PortType mycommit = new SalesOrderCommit_PortType();
          try {
                              jcoclient =
                                   JCO.createClient(
                                        strSAPClient,
                                        strSAPUser,
                                        strSAPPwd,
                                        strSAPLang,
                                        strSAPHost,
                                        strSAPSysNo);
                              jcoclient.connect();
                         } catch (Exception e1) {
                              objClsSuper.setStrErrorCode("J113");
                              objClsSuper.setStrErrorMsg("Could't Connect to SAP System"+e1);
                              return objClsSuper;
          String test="";
          try{
          Date reqdate = getDate(strReqData);
          input = new Bapi_Salesorder_Createfromdat2_Input();
          Bapisdhd1Type headerin = new Bapisdhd1Type();
          headerin.setDoc_Type(DocType);
          headerin.setSales_Org(strSalesOrg);
          headerin.setDistr_Chan(strDistChan);
          headerin.setDivision(strDivision);
          headerin.setPurch_No_C(strPurchNo);
          input.setOrder_Header_In(headerin);
          Bapisdhd1XType headerinx = new Bapisdhd1XType();
          headerinx.setUpdateflag(xUploadFlag);
          headerinx.setDoc_Type(xDocType);
          headerinx.setSales_Org(xSalesOrg);
          headerinx.setDistr_Chan(xDisChan);
          headerinx.setDivision(xDivision);
          headerinx.setPurch_No_C(xPurchNo);
          input.setOrder_Header_Inx(headerinx);
          BapisditmType_List itemsinlist = new BapisditmType_List();
          BapisditmxType_List iteminxlist = new BapisditmxType_List();
          BapischdlType_List schdllist = new BapischdlType_List();
          BapischdlxType_List schdllistx = new BapischdlxType_List();
          for (int i = 0; i < objItemVO.length; i++) {
               String Material = objItemVO<i>.getStrItem();
               String ReqQty1 = objItemVO<i>.getStrQty();
               int rqqty = Integer.parseInt(ReqQty1);
               String ReqQty = "" + (rqqty); 
               String itemNo = objItemVO<i>.getStrItemNo();
               BigDecimal reqqty = new BigDecimal(ReqQty.trim());
               BapischdlType schdlin = new BapischdlType();
               BapischdlxType schdlinx = new BapischdlxType();
               schdlin.setReq_Date(reqdate);
               schdlin.setReq_Qty(reqqty);
               schdlin.setItm_Number(itemNo);
               schdlinx.setUpdateflag("I");
               schdlinx.setReq_Date("X");
               schdlinx.setReq_Qty("X");
               schdlinx.setItm_Number(itemNo);
               schdllist.addBapischdlType(schdlin);
               schdllistx.addBapischdlxType(schdlinx);
               BapisditmType itemsin = new BapisditmType();
               BapisditmxType iteminx = new BapisditmxType();
               itemsin.setMaterial(Material);
               itemsin.setItm_Number(itemNo);
               itemsinlist.addBapisditmType(itemsin);
                iteminx.setMaterial("X");
                iteminx.setUpdateflag("I");
               iteminx.setItm_Number(itemNo);
               iteminxlist.addBapisditmxType(iteminx);
          input.setOrder_Items_In(itemsinlist);
          input.setOrder_Items_Inx(iteminxlist);
          input.setOrder_Schedules_In(schdllist);
          input.setOrder_Schedules_Inx(schdllistx);
          BapiparnrType partner = new BapiparnrType();
          partner.setPartn_Role(PartnerRole);
          partner.setPartn_Numb(strCustomerNo);
          BapiparnrType_List partnrlist = new BapiparnrType_List();
          partnrlist.addBapiparnrType(partner);
          input.setOrder_Partners(partnrlist);
          mysalesorder.messageSpecifier.setJcoClient(jcoclient);
          mycommit.messageSpecifier.setJcoClient(jcoclient);
          output = mysalesorder.bapi_Salesorder_Createfromdat2(input);
          String docno = output.getSalesdocument();
          Bapi_Transaction_Commit_Input commitinput =
                    new Bapi_Transaction_Commit_Input();
               commitinput.setWait(docno);
               Bapi_Transaction_Commit_Output outcommit =mycommit.bapi_Transaction_Commit(commitinput);               
          String error="";
          if ((docno == null) || (docno.trim().equals(""))) {
               Bapiret2Type_List objReturn=output.get_as_listReturn();
               test+="-------->one in if null";     
               for(int errorCount=0;errorCount<     objReturn.size();errorCount++){
                    Bapiret2Type ret=objReturn.getBapiret2Type(errorCount);
               error+=     ret.getMessage();
               objClsSuper.setStrErrorCode("J126");
               objClsSuper.setStrErrorMsg("Could't Create SalesOrder Reason By"+error);
               return objClsSuper;
          jcoclient.disconnect();
          objClsSuper.setStrErrorCode("J000");
          objClsSuper.setStrErrorMsg("Success"+error);
          objClsSuper.setStrDocNo(docno);
          return objClsSuper;
          }catch(Exception e){
               objClsSuper.setStrErrorCode("J110");
                         objClsSuper.setStrErrorMsg(e.toString()+test);
                         return objClsSuper;
     private Date getDate(String date) {
               java.sql.Date sqlDate = null;
               try {
                    StringTokenizer st = new StringTokenizer(date, ".");
                    String strdate = st.nextToken();
                    String strmonth = st.nextToken();
                    String stryear = st.nextToken();
                    int intdate = Integer.parseInt(strdate);
                    int intmonth = Integer.parseInt(strmonth);
                    int intyear = Integer.parseInt(stryear);
                    Calendar cal = Calendar.getInstance();
                    cal.set(Calendar.YEAR, intyear);
                    cal.set(Calendar.MONTH, intmonth - 1);
                    cal.set(Calendar.DATE, intdate);
                    long l = cal.getTimeInMillis();
                    sqlDate = new java.sql.Date(l);
               } catch (Exception e) {
                    return null;
               return sqlDate;
regards
Guru

Similar Messages

  • Passing multiple rows from one action to another

    Hi,
    I've build a Guided Procedure Process with two actions. Both actions call a Visual Composer Model (deployed as Flex).
    The Processdesign is:
    Process
    ---Block
    Action 1
    CO 1 as VC Model (Flex)
    Action 2
    CO 2 as VC Model (Flex)
    From the first vc model I want to pass multiple rows (its a vc table) to the second vc model. Therefor I've group the out-going parameters from model 1 with the in-coming parameters from model 2 at the block-level.
    Now, when I start my process I have two results in the table of  vc model 1 and will pass them to model 2. But only one record (always the first) is shown at model 2.
    Can you say me the reason for this? Have I configured the parameter-grouping false? Or isn't it possible to pass multiple rows at guided procedures?
    I'm using Visual Composer 7.0 and Guided Procedures 7.0 technology.
    Thanks in advance
    Claudia

    hi,
    Do structure mapping to pass row values
    Thanks
    Gopal

  • Reg : Passing multiple rows of table data to the RFC

    Hi,
    I am passing one row of data from webdynpro table to table of RFC.
    How to pass multiple rows of data.
    Please help me out.
    Thanks
    Risha

    hi
    Person--->node(cardinality 1..n)
    FirstName-->Attribute
    LastName-->Attribute.
    Person1-->RFC table node.(cardinality 1..n)
    FName-->Attribute
    LName-->Attribute
    for(int i=0;i<wdContext.nodePerson().size();i++)
    //Retrieving values from table
       IPrivate<View>.IPersonElement    element1=wdContext.nodePerson().createPersonElement();
       String fname=element1.getFirstName();
       String lname= element1.getLastName();
       wdContext.nodePerson().addElement(element1);
    //Inserting into table of RFC
       IPrivate<View>.IPerson1Element element2=wdContext.nodePerson1().createPerson1Element();
       element2.setFname(fname);
       element2.setLname(lname);
       wdContext.nodePerson1().addElement(element2);
    Regards
    sowmya.

  • Passing Multiple rows from one external webpart list to another

    Hi Folks,
                    I have almost spent 1 week looking into this without any success. I have an external list "List A"  (in a webpart) with one of the columns as "State".
    Another external list "List B"  (in a webpart ) has state and user as columns. In some case I want to pass 1 state and in another I want to pass multiple state.  Passing one state from List A to List B works fine. But Multiple state does
    not work because the webpart list has the property "Send First row to connected web parts when page loads".  If I disable this option then the web part does not pass anything. Is there a way to pass multiple rows from one Webpart
    external list to other?

    http://www.sharepointanalysthq.com/2010/07/bcs-external-list-limitations/
    No Lookups
    Unfortunatly the only thing that you can do a look up on in an external list is on the ID column, anything else and you are out of luck.
    http://social.technet.microsoft.com/Forums/en-US/615771a0-ba78-4e38-9e2d-ded0204173ba/external-list-referenced-as-sharepoint-lookup?forum=sharepointgeneralprevious
    Try below webpart. it should help
    http://www.sparqube.com/SharePoint-Lookup-Column/
    If this helped you resolve your issue, please mark it Answered

  • Pass multiple rows from sp to calling prog

    I have a stored procedure using cursor to get multiple rows from the db, how can I pass these rows to the calling prog? Is the out variable returns the last row only?
    This is what I did:
    Create or replace procedure mysp (
    var1 in number,
    var2 OUT number,
    ) as
    Cursor mycor is
    select * from emp;
    begin
    for cors in mycor loop
    var2 :=cors.ename;
    end;
    Thanks
    null

    I think you need to do in similar way as follows:
    CREATE OR REPLACE PACKAGE sp_dev_sel_all_devicesPKG AS
    TYPE RT1 IS RECORD (
    sp_dev_id tbl_device.dev_id%TYPE,
    sp_dev_name tbl_device.dev_name%TYPE,
    sp_err_code tbl_error_messages.erm_id%TYPE,
    sp_err_msg tbl_error_messages.erm_msg%TYPE
    TYPE RCT1 IS REF CURSOR RETURN RT1;
    END;
    sho err
    CREATE OR REPLACE PROCEDURE sp_dev_sel_all_devices (
    in_usr_id IN tbl_user.usr_id%TYPE,
    in_session_id IN tbl_user.usr_curr_session_id%TYPE,
    RC1 IN OUT sp_dev_sel_all_devicesPKG.RCT1
    ) AS
    ls_err_hint tbl_error_log.erl_err_hint%TYPE := 'BEGINING';
    ls_err_code tbl_error_messages.erm_id%TYPE;
    ls_err_msg tbl_error_messages.erm_msg%TYPE;
    BEGIN
    ls_err_hint := 'Check the timeout status of the user';
    sp_utr_chk_timeout(UPPER(in_usr_id), in_session_id, 'sp_dev_sel_all_devices', ls_err_code, ls_err_msg);
    ls_err_hint := 'Getting all Devices from tbl_device';
    OPEN RC1 FOR
    SELECT dev_id,
    dev_name,
    ls_err_code err_code,
    ls_err_msg err_msg
    FROM tbl_device
    ORDER BY dev_name;
    RETURN;
    END;
    sho err
    Hope this works
    r@m@

  • Pass multiple rows from sp to the calling prog

    I have a stored procedure using cursor to get multiple rows from the db, how can I pass these rows to the calling prog? Is the out variable returns the last row only?
    This is what I did:
    Create or replace procedure mysp (
    var1 in number,
    var2 OUT number,
    ) as
    Cursor mycor is
    select * from emp;
    begin
    for cors in mycor loop
    var2 :=cors.ename;
    end;
    Thanks
    null

    George:
    You can use CURSOR VARIABLE to pass this
    data type among PL/SQL or Java:
    create or replace package pkg_a
    as
    TYPE c_emp REF CURSOR;
    PROCEDURE mysp (var1 IN NUMBER,
    c_var2 OUT c_emp);
    END package pkg_a;
    CREATE OR REPLACE PACKAGE BODY pka_a
    AS
    PROCEDURE mysp (var1 IN NUMBER,
    c_var2 OUT c_emp)
    IS
    BEGIN
    OPEN c_var2
    FOR
    SELECT * FROM emp;
    END mysp;
    END pkg_a;

  • Passing multiple rows from VC to GP

    Hi,
    I am trying to implement a GP process where I want to get a list of structure from a VC UI.
    Basically, this is what I want to go:
    a. Present a GP CO with a VC UI with a table to allow user to insert rows of information
    b. Transfer these rows of information to GP context
    c. Present the same rows of information in another GP CO for approval.
    The question is: how to pass the rows of information from the VC table into the GP context as output parameter of the VC CO?
    Thanks.

    Found my solution by referring to this thread: how to pass tables in Guided Procedures from VC
    Basically I just set the Multi-selection to true.
    I hit another issue, but was resolved with this thread: To Work with Guided procedure

  • Passing multiple rows of data as an XML input to a transaction

    Hi,
    I have a grid with several rows and columns of data on the front-end UI. I would like to select few rows and pass the data as an XML structure to a transaction. Is this possible? If so, how could I do this?
    Regards,
    Chanti.

    Hello Chanti,
    Yes, Its definitely possible, I have done it on couple of occasions and it has worked
    Option 1:
    1) Pass each row value in a string where each row is separated by a comma as shown,
    Value1,Value2,Value3.....
    2) Then within BLS use it as string input variable and parse it using String_List_To_XML XML action block.
    Option 2:
    1) If you are aware of the required XML structure then prepare one as string by appending reach rows something like as shown below,
         var SpeedXML = "";
         SpeedXML =      '<?xml version="1.0" encoding="utf-8"?>'
         SpeedXML =     SpeedXML + '<Rowsets Version="12.1">'
           SpeedXML =     SpeedXML + '<Rowset>'
         SpeedXML = SpeedXML + '<Columns>'
         SpeedXML =     SpeedXML + '<Column Description="" MaxRange="1" MinRange="0" Name="Average_Run_Speed" SQLDataType="1" SourceColumn="Average_Run_Speed" />'
         SpeedXML =     SpeedXML + '<Column Description="" MaxRange="1" MinRange="0" Name="Line_Stops" SQLDataType="1" SourceColumn="Line_Stops" />'
         SpeedXML =     SpeedXML + '</Columns>'
    Here in this section you can loop through your rows and append them to structure,
    Start Loop
         SpeedXML = SpeedXML + '<Row>'
         SpeedXML = SpeedXML + '<Average_Run_Speed>'+ Value1 +'</Average_Run_Speed>'
         SpeedXML = SpeedXML + '<Line_Stops>'+ Value2 +'</Line_Stops>'
         SpeedXML = SpeedXML + '</Row>'
    End Loop
         SpeedXML = SpeedXML + '</Rowset>'
         SpeedXML =     SpeedXML + '</Rowsets>'
    2) Now in the Transaction, use it as String input variable and parse it using String_To_XML XML action block
    Hope this helps!!
    Regards,
    Adarsh

  • How to pass out multiple rows from EJB method?

    I need a sample for passing multiple rows from a EJB query method
    (using SQLJ). All I found in existing sample code is query on a
    single row and pass out as a bean class e.g Emp class with some
    getXX() method.
    What I'm currently doing is to convert the Iterator to a Vector
    and pass the Vector out, which means I've to code a bean class,
    use a Vector and later use a Enumeration to read the result. Is
    there a simpler way to receive multiple rows from EJB?
    In EJB:
    while ( empIter.next() ) {
    EmpVect.addElement( new Emp( emps.empNo(), emps.eName(),
    emps.job(), emps.deptNo()) );
    return EmpVect;
    In client:
    Vector empVect = empEJB.getEmployees(123);
    Enumeration employees = empVect.elements();
    while ( employees.hasMoreElements() ) {
    emp = ( Emp ) employees.nextElement();
    System.out.println(" " + emp.getEName());

    Hi Ankit,
    There is a workarround that requires some excel work.
    Here you need to follow the above mentioned steps along with this you need an additional combo box (wont be displayed at runtime, it will fetch the entire data if we select blank for the first combo box).
    Now suppose we are using 2 combobox C1 and C2 and our data is from B3 to F6.
    Now for C1 (one we are using for selection)
    1. select the labels as Sheet1!$B$2:$B$6 (a blank cell is added for all selection)
    2. Insertion type as filtered Rows
    3. Take source data as Sheet1!$B$2:$F$6 (includeing one blank row)
    4. selected Items as none
    5. for C2 labels as Sheet1!$A$3:$A$6 source data as Sheet1!$B$3:$F$6 destination as Sheet1!$B$14:$F$17.
    6. Selected Item : Sheet1!$B$9  (blank  Type dynamic). So it will select the entire table, if nothing is selected.
    7. take a Grid component and map it to Sheet1!$H$9:$L$12. use formula as =IF(IF($B$9="",B14,B9)=0,"",IF($B$9="",B14,B9)) on cell H9. Where we take H6 to L12 as final data set. Tis will become the data for next set fo Combo box for further selection.
    8. follow the same steps for other combobox selections.
    9. control the dynamic visibility of grids on the basis of Destination cell (like B9).
    Revert if you need further clarification.
    Regards,
    Debjit

  • Passing multiple table entries to web service

    Hi,
    I have a requirement (in Offline Scenario) to pass multiple rows in a Table(Dynamic) data from Adobe forms to a Web Service.
    Multiple rows are added in the Form, but only the first row is getting passed to the Web service tables parameter.
    Please suggest.
    Regards,
    Jayapal.

    Hi,
    if you warp the proxy class in a JavaBean and expose this JavaBean as a datacontrol then you could have a method that takes username and password to set it on the proxy. This way you can pass the connect information through the binding layer
    e.g.
    OperationBinding oper = (OperationBinding ) bindings.get(myAuthMethod);
    oper.getParamMap("username",username);
    oper.getParamMap("password",password);
    oper.execute();
    Note that the method arguments can also be bound to EL in th epageDef file so they read directly from the session scope
    Frank

  • Inserting multiple rows into DB via SQL insert or stored procedure?

    I have successfully created an application where I select a row in an output table view from a Microsoft Access DB SQL data source, and get an Oracle stored procedure to save the row in a new table in our Oracle DB.
    This works like a charm when selecting one single row in the table view. What I really need though is for the procedure to save multiple rows at once.
    My table is configured with selection mode = 'multiple', and the data mapping line between the table and my procedure has mapping scope = 'selected data rows'.
    So, I am able to select multiple rows but still my procedure only stores one of the values sent. Does anyone know if this is related to my procedure not handling multiple parameter entries or if it's related to how VC outputs data to a procedure?
    Here is output from runtime flex log where you see the three values: 3, 11 and 9 that is sent to the procedure's IN parameter 'P_ID'.
    <Row OWNAPPS_TESTSQL_HYTTER_P_ID="3"/><Row OWNAPPS_TESTSQL_HYTTER_P_ID="11"/><Row OWNAPPS_TESTSQL_HYTTER_P_ID="9"/>
    Please help
    Henning Strand
    I am still very, very interested in hearing if anyone has been successful at passing multiple rows to a stored procedure in one submit action.
    Edited by: Henning Strand on Apr 11, 2008 1:58 PM

    Update for all you happy people using Oracle stored procedures with Visual Composer:
    When trying to run a simple procedure that accepts arrays as input parameters, the JDBC connector returns an error message saying: 'PLS-00306: wrong number or types of arguments in call ...'
    I registered this as a customer message with sap support and got an answer back saying:
    Unfotunately our JDBC connector is still not able to work with SP that contain arrays, this is the reason for the behaviour that you're seeing.
    This are the bad news, the good news is that with WebServices we don't have this limitation, so you can achieve the same results by using a WS instead of the Store Procedure.
    I have asked if and when using stored procedures with arrays will be supported - waiting for answer.
    Henning Strand

  • How to pass multiple addresses per vendor in PO create BAPI?

    Hi Experts,
    We have a requirement to pass multiple addresses for one time Vendor in a PO creation BAPI. But when I checked BAPIs there is a table for partners and address details are not present in that (type BAPIEKKOP).
    Is there any way where I can pass these multiple phone nos, emails, etc for one time Vendor through BAPI?
    These multiple phone nos, emails etc should be available in ME23N -> Header -> Partners (VN) ->details in communication.
    Please suggest a way to achieve this.
    Thanks,
    Anand

    Hi,
    Vendor address details are coming from Vendor data. While you checking the vendor details from ME23N it navigate to FK03.
    So if need to change any thing any vendor address then you need do that first then create the PO.
    This address not related to PO.
    Thanks
    Subhankar.

  • Passing Multiple Tax classification in LSMW BAPI method

    Dear All,
    Iam using LSMW BAPI method to create and change material master. I need to pass multiple tax classification values for a single material. How can I do this. The structure used in the BAPI for passing the tax classification data is MLAN. How can I create multiple numbers of this structure. Can anybody help me please.
    Thanks in advance
    Prathib

    do you have this multiple records already in the source? Or not at all in the source?
    background for tax classification
    There is customizing to assign plants to sales organization.
    Each plant has an adress with a country.
    SAP collects all the plant countries and saves them in the tax classification table MLAN.
    Eg. if this material A has a sales org EAST that can sell from plants in JP, AU, and SG
    then you will see these 3 countries in the sales org view segment tax classification
    In case you dont have any tax classification data in the source, then it you can do it like this:
    goto the __END_OF_RECORD__  statement of  E1BP_MLAN segment in your LSMW and enter it directly as code:
    do the transfer_record as often as you need .
    DEPCOUNTRY = 'JP'
    TAX_TYPE_1 = 'MWST'
    TAXCLASS_1 = '1'
    transfer_record.
    DEPCOUNTRY = 'AU'
    TAX_TYPE_1 = 'MWST'
    TAXCLASS_1 = '1'
    transfer_record.
    DEPCOUNTRY = 'SG'
    TAX_TYPE_1 = 'MWST'
    TAXCLASS_1 = '1'
    transfer_record.

  • Passing Multiple table row from one view to another view

    Hi,
    How to Passing Multiple table row from one view to another view in Web Dynpro Abap. (Table UI Element)
    thanx....

    Hi Ganesh,
    Kindly do search before posting.. this discussed many times..
    First create your context in component controller, and do context mapping in two views so that you can get values from
    one veiw to any views.
    and for multiple selection, for table we have property selection mode.. set as multi and remember context node selection
    selection cardinality shoud be 0-n.
    so, select n no of rows and based on some action call sec view and display data.( i think you know navigation between veiw ).
    Pelase check this...for multi selection
    Re: How to copy data from one node to another or fromone table to another table
    for navigation.. check
    navigation between the views
    Cheers,
    Kris.

  • Passing values of multiple rows to OracleCallableStatement

    Hi,
    I have a table with multiselection and a submit button. I want to select multiple rows and pass the values of selected rows one by one to a OracleCallableStatement in AM.
    I have below code in CO. RowSelection is a transient attribute of type string in ItemsNotReturnedVO. 'Checked Value' is Y
    When I run the page, select rows, click on Update button, I get this error. "*Attribute set for RowSelection in view object ItemsNotReturnedVO1 failed*"
    if ("WaiveItemBtn".equals(pageContext.getParameter(EVENT_PARAM))) {
    OAViewObject itemVO = (OAViewObject)am.findViewObject("ItemsNotReturnedVO1");
    OARow row = (OARow)itemVO.first();
    for(int i=0;i<itemVO.getRowCount();i++)
    String appStatus=itemVO.getCurrentRow().getAttribute("RowSelection").toString();
    if(appStatus.equalsIgnoreCase("Y"))
    String vHeaderID = pageContext.getParameter("vTraHeaderId");
    pageContext.putTransactionValue("vTraHeaderId", vHeaderID);
    String vTempID = pageContext.getParameter("vTraTempId");
    pageContext.putTransactionValue("vTraTempId", vTempID);
    Serializable[] params = { vHeaderID,vTempID };
    am.invokeMethod("waiveItemRequest", params);
    row = (OARow)itemVO.next();
    Below code in AM
    public void waiveItemRequest(String vHeaderID, String vTempID){   
    try{
    OADBTransactionImpl oadbtransactionimpl = (OADBTransactionImpl)getDBTransaction();
    OracleCallableStatement oraclecallablestatement =
    (OracleCallableStatement)oadbtransactionimpl.createCallableStatement(" { call xxitemreturn_pkg.waive_item(:1,:2) } ",1);
    oraclecallablestatement.setInt(1, Integer.parseInt(vHeaderID));
    oraclecallablestatement.setInt(2, Integer.parseInt(vTempID));
    oraclecallablestatement.execute();
    catch(Exception e){  
    e.printStackTrace();
    Using 10g database, Jdeveloper 10.1.3.3.0

    Hi Nadir,
    The error is coming because you transient attribute is not updateable.
    To make it updateable,
    1) Open your VO
    2) Go to Attributes
    3) Select your transient attribute and make UPDATEABLE = Always.
    Let me know, if this helps or you need further assistance.
    Thanks
    Saurabh

Maybe you are looking for