Quantcast
Channel: SCN: Message List - SAP HANA Developer Center
Viewing all articles
Browse latest Browse all 9165

Re: XSJS - Outbound HTTP Request - POST

$
0
0

Hello Wen,

 

Thanks for the reply.

 

I figure out the POST functionality using req.setBody(). But facing another set of issue this time. From the code, I get the list materials and passing the results to setbody(), unfortunately all query results are similar(same replica) and due to that i can see 1 record is got posted. Please let me know, if any issue with the code

 

var client = new $.net.http.Client();

var destination = $.net.http.readDestination("pkg-pvenkata.SIAL_XS1", "MATPRICE_CALL");

var query ='SELECT "MATERIALNUMBER","_BIC_BCATNUMB","DIVISION","CUST_GRP1","_BIC_BVMSTA","SALESORG","_BIC_BMTPOS","_BIC_BKONDM","_BIC_BTEMPB","DATETO","_BIC_BAMOUNT","CURRENCY","_BIC_BPRATA","_BIC_BMATBRAND","DATEFROM","STD_DESCR","_BIC_BPMATTIME","PMAT_SALES_CUST_GRP1","_BIC_BMSTAV","_BIC_BKSTBM_C","MAT_SALES","SALE_CHECK","_BIC_BMATBRAND_1" ' + 'FROM \"PVENKATA\".\"MATERIAL_PRICING1\"'; 

 

function close(closables)

var closable; 

var i; 

for (i = 0; i < closables.length; i++)

closable = closables[i]; 

if(closable)

closable.close(); 

}

function getMaterial()

  {

  var Materiallist = [];

  var connection = $.db.getConnection();

  var statement = null;

  var resultSet = null;

  try{

  statement = connection.prepareStatement(query);

  resultSet = statement.executeQuery();

  var Materialdetails = {};

  while (resultSet.next())

  { 

  Materialdetails.materialNumber = resultSet.getString(1);

  Materialdetails._BIC_BCATNUMB = resultSet.getString(2);

....................................................

...................................................

  Materiallist.push(Materialdetails);

  }

  }

  finally { 

  close([resultSet, statement, connection]);

  }

  return Materiallist;

  }

function doPOST(){

  try{

  var req =new $.net.http.Request($.net.http.POST,"/dataload/v1/materialprice/json");

  req.contentType = "application/json";

  req.setBody('{"materials":' + JSON.stringify(getMaterial()) + '}');

  client.request(req, destination);

  $.response.status = $.net.http.OK;

  $.response.setBody("Record Loaded");

  }

  catch(err){ 

                     $.response.contentType = "text/plain"; 

                     $.response.setBody("Error while executing query: [" + err.message + "]"); 

                     $.response.returnCode = 200;

  }

  }

  doPOST();


Viewing all articles
Browse latest Browse all 9165

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>