//HTTP CALL function doHTTPCall(oCdrCallId) { //http://172.17.12.201:8080/B1iXcellerator/exec/ipo/vP.0010000104.in_HCSX/com.sap.b1i.vplatform.runtime/INB_HT_CALL_SYNC_XPT/INB_HT_CALL_SYNC_XPT.ipo/proc?biu=uni.eon.emob.addcdr&SysId=0010000100&CdrCallId=4aa9b243be184a4abdb4179f375459be var destn_pkg = "eon.ServiceLayer"; var dest_name = "B1I"; try { var dest = $.net.http.readDestination(destn_pkg, dest_name); var client = new $.net.http.Client(); var req = new $.web.WebRequest($.net.http.GET, ""); var oSysId = "0010000100"; // oCdrCallId = "4aa9b243be184a4abdb4179f375459be"; req.parameters.set("biu", "uni.eon.emob.addcdr"); req.parameters.set("msglog", "true"); req.parameters.set("SysId", oSysId); req.parameters.set("CdrCallId", oCdrCallId); //, "/httpdest.png"); client.request(req, dest); var response = client.getResponse(); var b1iResp = response.body.asString() $.response.status = $.net.http.OK; $.response.contentType = "text/xml"; $.response.setBody(b1iResp); } catch (e) { $.response.contentType = "text/plain"; $.response.setBody(e.message); } } function PutDataInTable() { var pdcontent = $.request.body.asString(); // pdcontent = pdcontent.replace(/\"([^(\")"]+)\":/g,"$1:"); var pdcdrObj = JSON.parse(pdcontent); var conn = $.db.getConnection(); var pstmt; var rs; var test; var query; var vals = {}; var data = []; // var query2; // var output = {results: [] }; try { query = "INSERT INTO \"NICEPORTAL\".\"CHARGEDATA\" (ID,CALLID,CDRID,EVSEID,CONTRACTID,INSTANCE,TOKENTYPE,CONSUMEDENERGY,OPERATORID,OPERATORNAME,CHARGEPOINTTYPE,MAXSOCKETPOWER,ADDRESS,ZIP,CITY,COUNTRY,PROVIDERID,PROVIDERNAME,CHARGINGSTARTTIME,CHARGINGSTOPTIME,PARKINGSTARTTIME,PARKINGSTOPTIME,METERSTART,METERSTOP,TARIFF,CURRENCY,VAT,BILLINGVALUEBRUTTO,BILLINGVALUENETTO,PARKINGTIMEPRICEBRUTTO,PARKINGTIMEPRICENETTO,ADITIONALPRICEBRUTTO,ADITIONALPRICENETTO,B2CPRICING,ASSETOWNERPRICING,CPOPRICING,JSONRAW,OPERATORSUBMANDANT,FREECHARGE,CREATE_TS,UPDATE_TS) values (\"NICEPORTAL\".\"SEQ_TRANSACTIONDATA_ID\".NEXTVAL,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,CURRENT_TIMESTAMP,CURRENT_TIMESTAMP)"; //query = "INSERT INTO \"NICEPORTAL\".\"CHARGEDATA\" (ID,CALLID,CDRID,CREATE_TS,UPDATE_TS) values (\"NICEPORTAL\".\"SEQ_TRANSACTIONDATA_ID\".NEXTVAL,?,?,CURRENT_TIMESTAMP,CURRENT_TIMESTAMP)"; pstmt = conn.prepareStatement(query); pstmt.setString(1, pdcdrObj.callId.toString()); pstmt.setString(2, pdcdrObj.chargeData[0].cdrId.toString()); pstmt.setString(3, pdcdrObj.chargeData[0].evseID.toString()); pstmt.setString(4, pdcdrObj.chargeData[0].contractId.toString()); pstmt.setString(5, pdcdrObj.chargeData[0].emt.instance.toString()); pstmt.setString(6, pdcdrObj.chargeData[0].emt.tokenType.toString()); pstmt.setString(7, pdcdrObj.chargeData[0].consumedEnergy.toString()); pstmt.setString(8, pdcdrObj.chargeData[0].evseDetails.operatorId.toString()); pstmt.setString(9, pdcdrObj.chargeData[0].evseDetails.operatorName.toString()); pstmt.setString(10, pdcdrObj.chargeData[0].evseDetails.connectorType.chargePointType.toString()); pstmt.setString(11, pdcdrObj.chargeData[0].evseDetails.connectorType.maxSocketPower.toString()); pstmt.setString(12, pdcdrObj.chargeData[0].evseDetails.location.address.toString()); pstmt.setString(13, pdcdrObj.chargeData[0].evseDetails.location.zip.toString()); pstmt.setString(14, pdcdrObj.chargeData[0].evseDetails.location.city.toString()); pstmt.setString(15, pdcdrObj.chargeData[0].evseDetails.location.country.toString()); pstmt.setString(16, pdcdrObj.chargeData[0].contractDetails.providerID.toString()); pstmt.setString(17, pdcdrObj.chargeData[0].contractDetails.providerName.toString()); pstmt.setString(18, pdcdrObj.chargeData[0].sessionDetails.chargingSession.startTime.toString()); pstmt.setString(19, pdcdrObj.chargeData[0].sessionDetails.chargingSession.stopTime.toString()); pstmt.setString(20, pdcdrObj.chargeData[0].sessionDetails.parkingSession.startTime.toString()); pstmt.setString(21, pdcdrObj.chargeData[0].sessionDetails.parkingSession.stopTime.toString()); pstmt.setString(22, pdcdrObj.chargeData[0].meterValueDetails.meterStart.toString()); pstmt.setString(23, pdcdrObj.chargeData[0].meterValueDetails.meterStop.toString()); //test = JSON.stringify(pdcdrObj.callId.toString()); pstmt.setString(24, pdcdrObj.chargeData[0].b2cPricing.tariff.toString()); pstmt.setString(25, pdcdrObj.chargeData[0].b2cPricing.currency.toString()); pstmt.setString(26, pdcdrObj.chargeData[0].b2cPricing.vat.toString()); pstmt.setString(27, pdcdrObj.chargeData[0].b2cPricing.billingValueBrutto.toString()); pstmt.setString(28, pdcdrObj.chargeData[0].b2cPricing.billingValueNetto.toString()); pstmt.setString(29, pdcdrObj.chargeData[0].b2cPricing.billingItems[0].itemPriceBrutto.toString()); pstmt.setString(30, pdcdrObj.chargeData[0].b2cPricing.billingItems[0].itemPriceNetto.toString()); pstmt.setString(31, pdcdrObj.chargeData[0].b2cPricing.billingItems[1].itemPriceBrutto.toString()); pstmt.setString(32, pdcdrObj.chargeData[0].b2cPricing.billingItems[1].itemPriceNetto.toString()); pstmt.setString(33, JSON.stringify(pdcdrObj.chargeData[0].b2cPricing)); pstmt.setString(34, JSON.stringify(pdcdrObj.chargeData[0].assetOwnerPricing)); pstmt.setString(35, JSON.stringify(pdcdrObj.chargeData[0].cpoPricing)); pstmt.setString(36, JSON.stringify(pdcdrObj)); pstmt.setString(37, pdcdrObj.chargeData[0].operatorSubmandant.toString()); pstmt.setString(38, pdcdrObj.chargeData[0].freeCharge.toString()); // pstmt.setString(7, JSON.stringify(pdcdrObj.chargeData[0].cdrId)); // pstmt.setString(8, JSON.stringify(pdcdrObj.chargeData[0].cdrId)); // pstmt.setString(3, JSON.stringify(pdcdrObj.evseID)); rs = pstmt.executeUpdate(); pstmt.close(); conn.commit(); conn.close(); //disabled 31.01.2018 für C.Schmidt // doHTTPCall (pdcdrObj.callId.toString()); // while (rs.next()) { // var record = {}; // record.productId = rs.getString(1); // record.productName = rs.getString(2); // record.supplierCountry = rs.getString(3); // output.results.push(record); // } // rs.close(); // pstmt.close(); // conn.close(); } catch (e) { vals.status = 'error'; vals.description = e.message; data.push(vals); var errbody = JSON.stringify(data); $.response.contentType = 'application/json'; $.response.setBody(errbody); $.response.status = $.net.http.INTERNAL_SERVER_ERROR; return; } vals.status = 'success' vals.description = 'Data accepted and proceeded' data.push(vals); var okbody = JSON.stringify(data); //var body = JSON.stringify(test); $.response.contentType = 'application/json'; $.response.setBody(okbody); $.response.status = $.net.http.OK; } var content = $.request.body.asString(); //var cdrObj = JSON.parse(content); //var ChargeDataObj = cdrObj.chargeData[0].cdrId; // doHTTPCall("4aa9b243be184a4abdb4179f375459be"); PutDataInTable(); // var result = JSON.stringify(cdrObj.callId); // var result = JSON.stringify(ChargeDataObj); // $.response.contentType = 'application/json'; // $.response.setBody(result); // $.response.status = $.net.http.OK;