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();