cancel
Showing results for 
Search instead for 
Did you mean: 

Android Deep Insert in Odata Service Issue

Former Member
0 Kudos

Hi,

Im using deep insert in my Odata service SAP netweaver gateway. When trying to access the post method, implementation, the xml parsed did not have the tag <atom:link> and <m:inline> tag which is the navigation link from one entity to another entity. The scenario is:

I am trying to create Sales Order with Partners. 1 Sales Order entity can have multiple Partner entity.

Im using Eclipse Android.

What is missing in my code? Please advise.


public void submitForm(View v)  {

  boolean fields = emptyFields();

  if (fields == false) {

  OrderHeaderIn newOrderHeaderIn = new OrderHeaderIn(strDocType);

  newOrderHeaderIn.setDocType(strDocType);

  newOrderHeaderIn.setSalesOrg(strSalesOrg);

  newOrderHeaderIn.setDistrChan(strDistrib);

  newOrderHeaderIn.setDivision(strDivision);

  OrderPartners newOP = new OrderPartners("AG");

  newOP.setPartnRole("AG");

  newOP.setPartnNumb("0000001000");

  OrderPartners newOP2 = new OrderPartners("RE");

  newOP2.setPartnRole("RE");

  newOP2.setPartnNumb("0000001000");

  List<OrderPartners> newHeaderPartnerNav = new LinkedList<OrderPartners>();

  newHeaderPartnerNav.add(newOP);

  newHeaderPartnerNav.add(newOP2);

  OrderItemsIn newItems = new OrderItemsIn("000010");

  newItems.setItmNumber("000010");

  newItems.setMaterial("000000000000002000");

  newItems.setPlant("0005");

  List<OrderItemsIn> newItemsNav = new LinkedList<OrderItemsIn>();

  newItemsNav.add(newItems);

  newOrderHeaderIn.setHeader_Partner_Nav(newHeaderPartnerNav);

  newOrderHeaderIn.setHeader_Item_Nav(newItemsNav);

      ZSALESORDER_V2_SRVRequestHandler.getInstance(getApplicationContext()).createOrderHeaderInSetEntry(newOrderHeaderIn);

  } else {

  Toast.makeText(getApplicationContext(), "Please enter the necessary fields", Toast.LENGTH_SHORT).show();

  }

  }

Accepted Solutions (0)

Answers (1)

Answers (1)

0 Kudos

Hello Tay,

This is my function Module for multiple partners


lt_partners-partn_role = 'SP'.

   lt_partners-partn_numb = Header-REQUESTER.

   append lt_partners.

   lt_partners-partn_role = 'SH'.

   lt_partners-partn_numb = Header-SHIPTO.

   append lt_partners.


This my Eclipse Coding.


requestOrderHeader.Salesdoc         = '';

            requestOrderHeader.Ordreason        = sap.ui.getCore().byId('oTOrReason').getValue();

            requestOrderHeader.Country = Country;

            requestOrderHeader.Divis  = Division;

          //  requestOrderHeader.Divis  = Division;

            requestOrderHeader.Damage          = Damage;

         

           

//            requestOrderHeader.Divis = '';

           

            if(requestOrderHeader.Costcenter != '' &&  requestOrderHeader.Reqdate == ''){

  

            sap.ui.commons.MessageBox.show('Please enter Requested Delivery Date ');

    }

           

            requestOrderHeader.Requester        = sap.ui.getCore().byId('oTRequest').getValue();

           if( requestOrderHeader.Requester  == ''){

  

    sap.ui.commons.MessageBox.show('Requester Number is Missing');

    }

           requestOrderHeader.Shipto           = sap.ui.getCore().byId('oTShip').getValue();

            if(requestOrderHeader.Requester!= '' &&  requestOrderHeader.Shipto == ''){

  

    sap.ui.commons.MessageBox.show('Please enter Ship-to Number ');

    }

  

            requestOrderHeader.Costcenter       = sap.ui.getCore().byId('oTCCenter').getValue();

            if(requestOrderHeader.Requester!= '' &&  requestOrderHeader.Shipto !== '' && requestOrderHeader.Costcenter == ''){

  

            sap.ui.commons.MessageBox.show('Please enter Cost Center ');

    }

            requestOrderHeader.Ponum            = sap.ui.getCore().byId('oTPO').getValue();

            requestOrderHeader.Reqdate = reqDate;

           if(requestOrderHeader.Requester!= '' &&  requestOrderHeader.Shipto !== '' && requestOrderHeader.Costcenter !== '' && requestOrderHeader.Reqdate == ''){

  

            sap.ui.commons.MessageBox.show('Please enter Requested Delivery Date ');

    }

           

            requestOrderHeader.Podate           = poDate;

            if(requestOrderHeader.Reqdate != '' && requestOrderHeader.Podate == ''){

          

           sap.ui.commons.MessageBox.show('Please enter PO Date ');

             }

Hope it gives you an idea

Regards,

Khawar