Export from HANA XS Repository

This commit is contained in:
Claude Agent
2026-07-08 23:06:07 +02:00
commit d323936c75
6 changed files with 863 additions and 0 deletions
+171
View File
@@ -0,0 +1,171 @@
var slib = $.import("uniorg.ServiceLayer", "B1SLLogic");
var slfwlib = $.import("uniorg.ServiceLayer", "B1SLFramework");
var datetimelib = $.import("uniorg.libs", "datetime");
var logginglib = $.import("uniorg.libs", "uologging");
var slDest = $.import("uniorg.destinations", "uodestlib");
var bpmaplib = $.import("uniorg.eon.libs", "bpmapping");
var copybplib = $.import("uniorg.eon.libs", "copybp");
var ParDebug = false;
var mCardCode = "";
var output = {};
var outMessages = [];
var outMsg = {};
var outStatus = "success";
var myDebug = {};
var UserName = slDest.uniorg_eon_bp_v1_UserName;
var UserPass = slDest.uniorg_eon_bp_v1_UserPass;
var UserComp = slDest.uniorg_eon_bp_v1_UserComp;
var service_version = '1.1';
function setOutputMessage() {
$.response.contentType = "application/json";
$.response.setBody(JSON.stringify(output));
$.response.status = $.net.http.OK;
}
function pad(number) {
var r = String(number);
if (r.length === 1) {
r = '0' + r;
}
return r;
}
function convertToISODate(dateString) {
try {
//var options = { year: 'numeric', month: '2-digit', day: '2-digit' };
var d = new Date(dateString);
if (!isNaN(d)) {
//var convDate = d.toLocaleDateString('de-DE', options);
var convDate = d.getFullYear() + '-' + pad(d.getMonth() + 1) + '-' + pad(d.getDate());
return convDate;
} else {
return dateString;
}
} catch (err) {
return (err);
}
}
function getnextvalsepaid() {
var conn = $.db.getConnection();
var pstmt;
var query = "select lpad(\"NICEPORTAL\".\"SEQ_MAND_ID\".NEXTVAL ,10,'0') from dummy";
pstmt = conn.prepareStatement(query);
var rs = pstmt.executeQuery();
if (!rs.next()) {
outMsg = {};
outMsg.method = "getnexval from sequence error";
outMsg.status = "error";
// outMsg.message = e.message;
outMessages.push(outMsg);
} else {
return rs.getString(1);
}
rs.close();
pstmt.close();
conn.close();
}
function mockbuildBPObj() {
var bpObj = {};
bpObj.Series = series_b2b;
bpObj.CompanyPrivate = "I"; // JbpObj.type.toString();
bpObj.CardName = 'Burgmueller';
//bpObj.CardType = 'C';
//bpObj.GroupCode = 100; // JbpObj.group.toString();
//bpObj.Phone1 = JbpObj.phone.toString();
//bpObj.Cellular = JbpObj.mobile_phone.toString();
//bpObj.EmailAddress = JbpObj.email.toString();
bpObj.U_EON_ID_CRM = 'BP777888999';
bpObj.U_EON_ASSU = 'N';
return bpObj;
}
function copyBPlib() {
var output = copybplib.copyBP(ParDebug,mCardCode);
// outMessages.push(outMsg);
// output.Messages = outMessages;
//output.debug = myDebug;
/* var vals = {};
var data = [];
$.trace.debug("DEBUG body.Get: " + JSON.stringify(myDebug));
vals.messages = outMessages;
//setBPCardCode(mynextval,retUpsertBP.CardCode);
//vals.RespnUPSERJ = JSON.stringify(retUpsertBP);
if (ParDebug) {
vals.debug = output;
}
//vals.mode = JSON.stringify(retUpsertBP.mode);
data.push(vals);*/
var okbody = JSON.stringify(output);
//var body = JSON.stringify(test);
$.response.contentType = 'application/json';
$.response.setBody(okbody);
$.response.status = $.net.http.OK;
//setOutputMessage();
//return 0;
}
function getnextval() {
var conn = $.db.getConnection();
var pstmt;
var query = "select \"NICEPORTAL\".\"SEQ_CRMBP_ID\".NEXTVAL from dummy";
pstmt = conn.prepareStatement(query);
var rs = pstmt.executeQuery();
if (!rs.next()) {
outMsg = {};
outMsg.method = "getnexval from sequence error";
outMsg.status = "error";
// outMsg.message = e.message;
outMessages.push(outMsg);
} else {
return rs.getString(1);
}
rs.close();
pstmt.close();
conn.close();
}
function setBPCardCode(tableid, bpcardcode) {
var conn = $.db.getConnection();
var pstmt;
var query = "update \"NICEPORTAL\".\"UO_CRM_DATA_BP\" set B1_CARDCODE = '" + bpcardcode + "' where ID =" + tableid;
pstmt = conn.prepareStatement(query);
// pstmt.setString(1,bpcardcode);
// pstmt.setString(2,tableid);
var rs = pstmt.executeUpdate();
myDebug.UpdateQuery = query;
pstmt.close();
conn.commit();
conn.close();
}
//testmain();
// begin org
//var content = $.request.body.asString();
ParDebug = $.request.parameters.get('debug') && $.request.parameters.get('debug').toLowerCase() === "true";
mCardCode = $.request.parameters.get('cardcode');
copyBPlib();
//PutBPDataInTable();
//ende org
+70
View File
@@ -0,0 +1,70 @@
<!DOCTYPE html>
<html>
<!-- Copyright (c) 2015 SAP AG, All Rights Reserved -->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script type="text/javascript">
window["sap-ushell-config"] = {
defaultRenderer : "fiori2",
renderers: {
fiori2: {
componentData: {
config: {
search: "hidden"
}
}
}
},
applications: {
"BUILD-prototype": {
additionalInformation: "SAPUI5.Component=com.sap.build.standard.itemDataMaintenance",
applicationType: "URL",
url: "/uniorg/eon/virtaportalui/resources/webapp/index.html",
description: "",
title: "VIRTA Portal"
}
}
};
</script>
<script src="https://sapui5.hana.ondemand.com/test-resources/sap/ushell/bootstrap/sandbox.js" id="sap-ushell-bootstrap"></script>
<title>Item Data Maintenance</title>
<!-- Bootstrap the UI5 core library -->
<script id="sap-ui-bootstrap"
src="https://sapui5.hana.ondemand.com/resources/sap-ui-core.js"
data-sap-ui-libs="sap.m,sap.ui.layout,sap.ui.core,sap.ushell"
data-sap-ui-theme="sap_belize"
data-sap-ui-supportedLanguages="en"
data-sap-ui-bindingSyntax="complex"
data-sap-ui-compatVersion="edge"
data-sap-ui-resourceroots='{"uniorg.eon.virtaportalui":"./virtaportalui"}'
data-sap-ui-frameOptions='allow'> // NON-SECURE setting for testing environment
</script>
<script type="text/javascript">
sap.ui.getCore().attachInit(function() {
//Fake LREP
jQuery.sap.require("sap.ui.fl.FakeLrepConnector");
sap.ui.fl.FakeLrepConnector.enableFakeConnector("fakeLRep.json");
// initialize the ushell sandbox component
sap.ushell.Container.createRenderer().placeAt("app");
});
</script>
</head>
<!-- UI Content -->
<body class="sapUiBody" id="app" rootUiArea>
</body>
</html>
+85
View File
@@ -0,0 +1,85 @@
//LIBVERSION 1.1
//Last Change 31.05.2021
function checkvatid(vatid,country,schemaname)
{
var returnmessage = "";
var checkiseu = false;
var searchkey = "Code";
var searchvalue = country;
var LimitRecords = 1;
var UserComp = schemaname;
var conn = $.db.getConnection();
var pstmt;
//var query = "SELECT T0.\"U_EON_RECACC_REC\" FROM \"A19753_P01_TEST03\".\"@EON_PGN\" T0 WHERE T0.\"Code\" = ?";
//vendeor var query = "SELECT T0.\"U_EON_RECACC_REC\" FROM \"XXREPXX\".\"@EON_PGN\" T0 WHERE T0.\"Code\" = ?";
var query = "SELECT \"IsEC\", IFNULL(\"TaxIdDigts\",0) as \"TaxIdDigits\" FROM \"XXREPXX\".\"OCRY\" T0"
if (searchkey && searchvalue)
{
var query2 ="";
query = query + " WHERE T0.\"XXREP2XX\" = 'XXREP3XX'";
query = query.replace(/XXREP2XX/g, searchkey);
query = query.replace(/XXREP3XX/g, searchvalue);
}
if (LimitRecords > 0)
{
query = query +" Limit " + LimitRecords.toString();
}
query = query.replace(/XXREPXX/g, UserComp);
pstmt = conn.prepareStatement(query);
var rs = pstmt.executeQuery();
while(rs.next()){
checkiseu= rs.getString(1);
var taxiddigits = rs.getString(2);
}
rs.close();
pstmt.close();
conn.close();
if (country !== vatid.substring(0,2))
{
returnmessage = country + " Country doesnt match with prefix found " + vatid;
}
// if (checkiseu != "Y")
// {
// returnmessage = searchvalue + " IS No EU Country";
// }
if (country == vatid.substring(0,2))
{
var validvatid = false;
var mystringlength = vatid.length;
returnmessage = "true";
if(taxiddigits > 0)
{
if (mystringlength-2 > taxiddigits )
{
returnmessage = "vatid is too long";
}
if (mystringlength-2 < taxiddigits )
{
returnmessage = "vatid is too short";
}
var checkisnum = vatid.substring(2,taxiddigits);
if (isNaN(checkisnum) && searchvalue == 'DE')
{
returnmessage = "Number Part is not a number";
}
}
}
return returnmessage;
}
+319
View File
@@ -0,0 +1,319 @@
//LIB Version 1.5
// TS 04.04.2018 Mapping LinkedBusinessPartner
// 23.02.2022 Mapping defaultbank
// 24.01.2024 Mapping U_UO_OUTPUT_VSARTAR
// 28.11.2024 Mapping U_CompanyName2
// 29.05.2026 PFT-1845 Austausch U_EON_RECACC_PAY und U_EON_RECACC_REC
var slDest = $.import("uniorg.destinations", "uodestlib");
var UserComp = slDest.uniorg_eon_bp_v1_UserComp;
function convertAdrType(adrtype) {
switch (adrtype) {
case '1':
case 'S':
return 'bo_ShipTo';
case '2':
case '3':
case 'B':
return 'bo_BillTo';
default:
return 'bo_BillTo';
}
}
function getVendorRECACC(custpgnr)
{
var conn = $.db.getConnection();
var pstmt;
//var query = "SELECT T0.\"U_EON_RECACC_REC\" FROM \"A19753_P01_TEST03\".\"@EON_PGN\" T0 WHERE T0.\"Code\" = ?";
var query = "SELECT T0.\"U_EON_RECACC_PAY\" FROM \"XXREPXX\".\"@EON_PGN\" T0 WHERE T0.\"Code\" = ?";
query = query.replace(/XXREPXX/g, UserComp);
pstmt = conn.prepareStatement(query);
pstmt.setString(1,custpgnr);
var rs = pstmt.executeQuery();
if (!rs.next()) {
// outMsg = {};
// outMsg.method = "getnexval from sequence error";
// outMsg.status = "error";
// outMsg.message = e.message;
//outMessages.push(outMsg);
} else {
return rs.getString(1);
}
rs.close();
pstmt.close();
conn.close();
}
function buildBPObj(cSBOOBJ, vSBOOBJ) {
var groupcode_default = 101; // GroupCode Lieferanten
var groupnum_default = 13; // 2 Tage Netto sepa
var myseries = 2; // BelegSerie manuell
if (vSBOOBJ === undefined || typeof vSBOOBJ !== 'object') {
vSBOOBJ = {};
}
// switch (JbpObj.group) {
// case 'B2C':
// mycardname = JbpObj.name.toString() + ' ' + JbpObj.surname.toString();
// mybpcontactname = JbpObj.name.toString() + ' ' + JbpObj.surname.toString();
// myseries = series_b2c;
// mygroupcode = groupcode_b2c;
// mycmpprivate = cmpprivate_b2c;
// break;
// case 'B2B':
// //mycardname = JbpObj.name.toString();
// mycardname = JbpObj.addresses[0].address.toString();
// mybpcontactname = JbpObj.name.toString() + ' ' + JbpObj.surname.toString();
// myseries = series_b2b;
// mygroupcode = groupcode_b2b;
// mycmpprivate = cmpprivate_b2b;
// break;
// case 'B2M':
// //mycardname = JbpObj.name.toString();
// mycardname = JbpObj.addresses[0].address.toString();
// mybpcontactname = JbpObj.name.toString() + ' ' + JbpObj.surname.toString();
// myseries = series_b2m;
// mygroupcode = groupcode_b2m;
// mycmpprivate = cmpprivate_b2m;
// break;
// default:
// mycardname = JbpObj.name.toString() + ' ' + JbpObj.surname.toString();
// mybpcontactname = JbpObj.name.toString() + ' ' + JbpObj.surname.toString();
// myseries = series_b2c;
// mygroupcode = groupcode_b2c;
// mycmpprivate = cmpprivate_b2c;
// }
var bpObj = {};
bpObj.Series = myseries;
// bpObj.CompanyPrivate = mycmpprivate; // JbpObj.type.toString();
bpObj.CardCode = cSBOOBJ.CardCode + '-L';
bpObj.CardName = cSBOOBJ.CardName;
bpObj.CardType = 'cSupplier';
bpObj.GroupCode = groupcode_default;
bpObj.PayTermsGrpCode = groupnum_default;
bpObj.Phone1 = cSBOOBJ.Phone1;
bpObj.Cellular = cSBOOBJ.Cellular;
bpObj.EmailAddress = cSBOOBJ.EmailAddress;
bpObj.LinkedBusinessPartner = cSBOOBJ.CardCode;
bpObj.FederalTaxID = cSBOOBJ.FederalTaxID;
bpObj.U_EON_ID_CRM = cSBOOBJ.U_EON_ID_CRM;
bpObj.U_EON_ID_CRM_INTERNAL = cSBOOBJ.U_EON_ID_CRM_INTERNAL;
bpObj.U_EON_ASSU = cSBOOBJ.U_EON_ASSU;
bpObj.U_EON_PGN = cSBOOBJ.U_EON_PGN;
bpObj.U_UO_OUTPUT_VSARTAR = cSBOOBJ.U_UO_OUTPUT_VSARTAR;
//23_02_2022 default bank
bpObj.BankCountry = cSBOOBJ.BankCountry;
bpObj.DefaultBankCode = cSBOOBJ.DefaultBankCode;
bpObj.DefaultAccount = cSBOOBJ.DefaultAccount;
if (cSBOOBJ.U_EON_PGN)
{
bpObj.DebitorAccount = getVendorRECACC(cSBOOBJ.U_EON_PGN);
}
// getVendorRECACC(customerObject.BP.U_EON_PGN);
bpObj.BilltoDefault = cSBOOBJ.BilltoDefault;
bpObj.ShipToDefault = cSBOOBJ.ShipToDefault;
bpObj.ContactPerson = cSBOOBJ.ContactPerson;
// bpObj.CollectionAuthorization = cSBOOBJ.CollectionAuthorization; // gibts nicht bei Lieferanten
bpObj.BPAddresses = [];
// // bpObj.BPAddresses[0].AddressName = 'test';
for (var g in vSBOOBJ.BPAddresses) {
var mybpAdresses = {};
// mybpAdresses.g = g;
// mybpAdresses.h = h;
//var myaddressbpname = vSBOOBJ.BPAddresses[h].street.toString() + ' ' + vSBOOBJ.addresses[h].street_no.toString();
mybpAdresses.AddressName = vSBOOBJ.BPAddresses[g].AddressName;
mybpAdresses.AddressType = vSBOOBJ.BPAddresses[g].AddressType;
mybpAdresses.BPCode = vSBOOBJ.BPAddresses[g].BPCode;
mybpAdresses.RowNum = vSBOOBJ.BPAddresses[g].RowNum;
for (var h in cSBOOBJ.BPAddresses) {
if (vSBOOBJ.BPAddresses[g].AddressName === cSBOOBJ.BPAddresses[h].AddressName && vSBOOBJ.BPAddresses[g].AddressType === cSBOOBJ.BPAddresses[
h].AddressType) {
//mybpAdresses.AddressName = JbpObj.addresses[h].address.toString();
mybpAdresses.Street = cSBOOBJ.BPAddresses[h].Street;
//mybpAdresses.Block = 'test';
mybpAdresses.ZipCode = cSBOOBJ.BPAddresses[h].ZipCode;
mybpAdresses.City = cSBOOBJ.BPAddresses[h].City;
//mybpAdresses.County = 'test';
mybpAdresses.Country = cSBOOBJ.BPAddresses[h].Country;
//mybpAdresses.State = 'test';
//mybpAdresses.FederalTaxID = 'test';
//mybpAdresses.TaxCode = 'test';
//mybpAdresses.BuildingFloorRoom = 'test';
mybpAdresses.AddressType = cSBOOBJ.BPAddresses[h].AddressType;
mybpAdresses.AddressName2 = cSBOOBJ.BPAddresses[h].AddressName2;
mybpAdresses.U_CompanyName2 = cSBOOBJ.BPAddresses[h].U_CompanyName2;
mybpAdresses.AddressName3 = cSBOOBJ.BPAddresses[h].AddressName3;
mybpAdresses.StreetNo = cSBOOBJ.BPAddresses[h].StreetNo;
// JbpObj.addresses[h].street_no.toString();
mybpAdresses.U_EON_EXT_ID = cSBOOBJ.BPAddresses[h].U_EON_EXT_ID;
break;
}
}
//mybpAdresses.BPCode = 'test';
//mybpAdresses.RowNum = 'test';
//mybpAdresses.GlobalLocationNumber = 'test';
//mybpAdresses.Nationality = 'test';
//mybpAdresses.TaxOffice = 'test';
bpObj.BPAddresses.push(mybpAdresses);
}
//Suche ob Objekte vorhanden.. wenn nicht, ergänzen
for (var h in cSBOOBJ.BPAddresses) {
var myfound = false;
var myaddbpAdresses = {};
// var myaddbpname = JbpObj.addresses[h].street.toString() + ' ' + JbpObj.addresses[h].street_no.toString();
for (var g in vSBOOBJ.BPAddresses) {
if (vSBOOBJ.BPAddresses[g].AddressName === cSBOOBJ.BPAddresses[h].AddressName && vSBOOBJ.BPAddresses[g].AddressType === cSBOOBJ.BPAddresses[
h].AddressType) {
myfound = true;
}
}
if (myfound === false) {
myaddbpAdresses.AddressName = cSBOOBJ.BPAddresses[h].AddressName;
myaddbpAdresses.Street = cSBOOBJ.BPAddresses[h].Street;
myaddbpAdresses.ZipCode = cSBOOBJ.BPAddresses[h].ZipCode;
myaddbpAdresses.City = cSBOOBJ.BPAddresses[h].City;
//myaddbpAdresses.County = 'test';
myaddbpAdresses.Country = cSBOOBJ.BPAddresses[h].Country;
//myaddbpAdresses.State = 'test';
//myaddbpAdresses.FederalTaxID = 'test';
//myaddbpAdresses.TaxCode = 'test';
//myaddbpAdresses.BuildingFloorRoom = 'test';
myaddbpAdresses.AddressType = cSBOOBJ.BPAddresses[h].AddressType;
myaddbpAdresses.AddressName2 = cSBOOBJ.BPAddresses[h].AddressName2;
myaddbpAdresses.U_CompanyName2 = cSBOOBJ.BPAddresses[h].U_CompanyName2;
myaddbpAdresses.AddressName3 = cSBOOBJ.BPAddresses[h].AddressName3;
//myaddbpAdresses.TypeOfAddress = 'test';
myaddbpAdresses.StreetNo = cSBOOBJ.BPAddresses[h].StreetNo;
myaddbpAdresses.U_EON_EXT_ID = cSBOOBJ.BPAddresses[h].U_EON_EXT_ID;
bpObj.BPAddresses.push(myaddbpAdresses);
}
}
bpObj.ContactEmployees = [];
for (var cpB1v in vSBOOBJ.ContactEmployees) {
var mybpContactEmployees = {};
mybpContactEmployees.Name = vSBOOBJ.ContactEmployees[cpB1v].Name;
mybpContactEmployees.CardCode = vSBOOBJ.ContactEmployees[cpB1v].CardCode;
mybpContactEmployees.InternalCode = vSBOOBJ.ContactEmployees[cpB1v].InternalCode;
for (var cpB1c in cSBOOBJ.ContactEmployees) {
if (cSBOOBJ.ContactEmployees[cpB1c].Name === vSBOOBJ.ContactEmployees[cpB1v].Name) {
mybpContactEmployees.FirstName = cSBOOBJ.ContactEmployees[cpB1c].FirstName;
mybpContactEmployees.LastName = cSBOOBJ.ContactEmployees[cpB1c].LastName;
mybpContactEmployees.Title = cSBOOBJ.ContactEmployees[cpB1c].Title;
mybpContactEmployees.U_EON_SALUTATION = cSBOOBJ.ContactEmployees[cpB1c].U_EON_SALUTATION;
}
}
bpObj.ContactEmployees.push(mybpContactEmployees);
}
for (var cpB1c in cSBOOBJ.ContactEmployees) {
var myfoundCP = false;
for (cpB1v in vSBOOBJ.ContactEmployees) {
if (cSBOOBJ.ContactEmployees[cpB1c].Name === vSBOOBJ.ContactEmployees[cpB1v].Name) {
myfoundCP = true;
}
}
if (myfoundCP === false) {
mybpContactEmployees = {};
mybpContactEmployees.Name = cSBOOBJ.ContactEmployees[cpB1c].Name;
mybpContactEmployees.FirstName = cSBOOBJ.ContactEmployees[cpB1c].FirstName;
mybpContactEmployees.LastName = cSBOOBJ.ContactEmployees[cpB1c].LastName;
mybpContactEmployees.Title = cSBOOBJ.ContactEmployees[cpB1c].Title;
mybpContactEmployees.U_EON_SALUTATION = cSBOOBJ.ContactEmployees[cpB1c].U_EON_SALUTATION;
bpObj.ContactEmployees.push(mybpContactEmployees);
}
}
bpObj.BPBankAccounts = [];
// var myIBAN = JbpObj.bank_account.iban.toString().replace(/ /g, '');
// var myCountry = myIBAN.substring(0, 2);
// var myBankCode = myIBAN.substring(4, 12);
// var myAccountNo = myIBAN.substring(12, 23);
// var mySignatureDate = convertToISODate(JbpObj.bank_account.signature_date);
for (var bav in vSBOOBJ.BPBankAccounts) {
var myBPBankAccounts = {};
myBPBankAccounts.BPCode = vSBOOBJ.BPBankAccounts[bav].BPCode;
myBPBankAccounts.InternalKey = vSBOOBJ.BPBankAccounts[bav].InternalKey;
myBPBankAccounts.Country = vSBOOBJ.BPBankAccounts[bav].Country;
myBPBankAccounts.BankCode = vSBOOBJ.BPBankAccounts[bav].BankCode;
myBPBankAccounts.AccountNo = vSBOOBJ.BPBankAccounts[bav].AccountNo;
myBPBankAccounts.IBAN = vSBOOBJ.BPBankAccounts[bav].IBAN;
for (var bac in cSBOOBJ.BPBankAccounts) {
if (vSBOOBJ.BPBankAccounts[bav].IBAN === cSBOOBJ.BPBankAccounts[bac].IBAN) {
// myfoundBank = true;
// if (JbpObj.bank_account.bic.toString() !== '') {
myBPBankAccounts.BICSwiftCode = cSBOOBJ.BPBankAccounts[bac].BICSwiftCode;
// }
myBPBankAccounts.AccountName = cSBOOBJ.BPBankAccounts[bac].AccountName;
myBPBankAccounts.Street = cSBOOBJ.BPBankAccounts[bac].Street;
myBPBankAccounts.ZipCode = cSBOOBJ.BPBankAccounts[bac].ZipCode;
myBPBankAccounts.City = cSBOOBJ.BPBankAccounts[bac].City;
// myBPBankAccounts.MandateID = JbpObj.bank_account.sepa_mandate_id.toString();
myBPBankAccounts.SignatureDate = cSBOOBJ.BPBankAccounts[bac].SignatureDate;
// if (JbpObj.bank_account.sepa_mandate.toString() == 'Ja') {
myBPBankAccounts.MandateID = cSBOOBJ.BPBankAccounts[bac].MandateID;
// bpObj.CollectionAuthorization = 'tYES';
}
}
bpObj.BPBankAccounts.push(myBPBankAccounts);
}
for (var bac in cSBOOBJ.BPBankAccounts) {
var myfoundBank = false;
for (var bav in vSBOOBJ.BPBankAccounts) {
if (vSBOOBJ.BPBankAccounts[bav].IBAN === cSBOOBJ.BPBankAccounts[bac].IBAN) {
myfoundBank = true;
}
}
if (myfoundBank === false) {
myBPBankAccounts = {};
myBPBankAccounts.IBAN = cSBOOBJ.BPBankAccounts[bac].IBAN;
myBPBankAccounts.Country = cSBOOBJ.BPBankAccounts[bac].Country;
myBPBankAccounts.BankCode = cSBOOBJ.BPBankAccounts[bac].BankCode;
myBPBankAccounts.AccountNo = cSBOOBJ.BPBankAccounts[bac].AccountNo;
myBPBankAccounts.BICSwiftCode = cSBOOBJ.BPBankAccounts[bac].BICSwiftCode;
myBPBankAccounts.AccountName = cSBOOBJ.BPBankAccounts[bac].AccountName;
myBPBankAccounts.Street = cSBOOBJ.BPBankAccounts[bac].Street;
myBPBankAccounts.ZipCode = cSBOOBJ.BPBankAccounts[bac].ZipCode;
myBPBankAccounts.City = cSBOOBJ.BPBankAccounts[bac].City;
// myBPBankAccounts.MandateID = JbpObj.bank_account.sepa_mandate_id.toString();
myBPBankAccounts.SignatureDate = cSBOOBJ.BPBankAccounts[bac].SignatureDate;
// if (JbpObj.bank_account.sepa_mandate.toString() == 'Ja') {
myBPBankAccounts.MandateID = cSBOOBJ.BPBankAccounts[bac].MandateID;
myBPBankAccounts.SEPASeqType = cSBOOBJ.BPBankAccounts[bac].SEPASeqType;
// }
bpObj.BPBankAccounts.push(myBPBankAccounts);
}
}
return bpObj;
}
+190
View File
@@ -0,0 +1,190 @@
var slib = $.import("uniorg.ServiceLayer", "B1SLLogic");
var slfwlib = $.import("uniorg.ServiceLayer", "B1SLFramework");
var datetimelib = $.import("uniorg.libs", "datetime");
var logginglib = $.import("uniorg.libs", "uologging");
var slDest = $.import("uniorg.destinations", "uodestlib");
var bpmaplib = $.import("uniorg.eon.libs", "bpmapping");
//var ParDebug = false;
//var mCardCode = "";
var output = {};
var outMessages = [];
var outMsg = {};
var outStatus = "success";
var myDebug = {};
var UserName = slDest.uniorg_eon_bp_v1_UserName;
var UserPass = slDest.uniorg_eon_bp_v1_UserPass;
var UserComp = slDest.uniorg_eon_bp_v1_UserComp;
var service_version = '1.4';
function copyBP(ParDebug,mCardCode) {
var SESSIONID = "";
var NODEID = "";
// SL credentials
var loginInfo = {};
loginInfo.UserName = UserName;
loginInfo.Password = UserPass;
loginInfo.CompanyDB = UserComp;
var searchparamC = {};
//searchparam.key = "U_EON_ID_CRM_INTERNAL";
searchparamC.key = "CardCode";
searchparamC.value = mCardCode;
var searchparamV = {};
//searchparam.key = "U_EON_ID_CRM_INTERNAL";
searchparamV.key = "CardCode";
searchparamV.value = mCardCode + "-L";
output.searchparamC = searchparamC;
output.searchparamV = searchparamV;
var slError;
// SL LOGIN
var response = slib.SLLogin(JSON.stringify(loginInfo), null, null);
// B1SESSION and ROUTEID cookies returned by Login
for (var j in response.cookies) {
if (response.cookies[j].name == "B1SESSION") {
SESSIONID = response.cookies[j].value;
output.SessionID = SESSIONID;
} else if (response.cookies[j].name == "ROUTEID") {
NODEID = response.cookies[j].value;
output.NodeID = NODEID;
}
}
if (ParDebug > 1) {
//output.loginInfo = loginInfo;
}
// output.loginResponse = JSON.parse(response.body.asString());
var loginResponse;
try {
loginResponse = JSON.parse(response.body.asString());
} catch (e) {
loginResponse = response.body.asString();
}
output.loginResponse = loginResponse;
if (response.status !== 200) {
outMsg = {};
outMsg.method = "login";
outMsg.status = "error";
//outMsg.message = output.loginResponse;
var slError = loginResponse.error;
if (slError && slError.hasOwnProperty("code") && slError.message && slError.message.value) {
outMsg.message = slError.message.value + " (Code: " + slError.code.toString() + ")";
} else {
outMsg.message = JSON.stringify(loginResponse);
}
outMsg.response = loginResponse;
outMessages.push(outMsg);
outStatus = "error";
}
output.cardcode = mCardCode;
output.outStatus = outStatus;
if (outStatus !== "error") {
outMsg = {};
outMsg.method = "CustomercheckExists";
var customerObject = slfwlib.getfullBPbysearchParam(searchparamC, SESSIONID, NODEID,ParDebug);
var vendorObject = slfwlib.getfullBPbysearchParam(searchparamV, SESSIONID, NODEID,ParDebug);
var consBPObject="";
// outMessages.push(customerObject.Messages);
// outMessages.push(vendorObject.Messages);
myDebug.customerObject = customerObject;
myDebug.vendorObject = vendorObject;
//consBPObject = bpmaplib.buildBPObj(customerObject.BP,vendorObject.BP);
//myDebug.mappedUPDBPObj = consBPObject;
if (customerObject.Status == "exists" && vendorObject.Status == "exists") {
consBPObject = bpmaplib.buildBPObj(customerObject.BP,vendorObject.BP);
myDebug.mappedUPDBPObj = consBPObject;
output.method = "updateVendor";
var responseUpdate = slib.updateBusinessPartner(vendorObject.BP.CardCode, JSON.stringify(consBPObject), SESSIONID, NODEID);
outMsg = {};
outMsg.method = "update";
myDebug.statusUpdate = responseUpdate.status;
outMsg.statuscode = responseUpdate.status;
if (responseUpdate.status >= 200 && responseUpdate.status < 300) {
myDebug.Updatemessage = "Update sucessfull";
outMsg.status = "success";
} else {
myDebug.message = "Update error occured";
outMsg.status = "error";
if (responseUpdate.body) {
myDebug.responseUpdate = JSON.parse(responseUpdate.body.asString());
//outMsg.message = myDebug.responseUpdate;
slError = myDebug.responseUpdate.error;
if (slError && slError.hasOwnProperty("code") && slError.message && slError.message.value ) {
outMsg.message = slError.message.value + " (Code: " + slError.code.toString() + ")";
} else {
outMsg.message = JSON.stringify(myDebug.responseUpdate);
}
outMsg.response = myDebug.responseUpdate;
}
outStatus = "error";
}
outMessages.push(outMsg);
}
if (customerObject.Status == "exists" && vendorObject.Status == "not exists") {
consBPObject = bpmaplib.buildBPObj(customerObject.BP);
myDebug.mappedCreateBPObj = consBPObject;
output.method = "createVendor";
outMsg = {};
outMsg.method = "create";
var responseCreate = slib.createBusinessPartner(JSON.stringify(consBPObject), SESSIONID, NODEID);
myDebug.statusCreate = responseCreate.status;
outMsg.statuscode = responseCreate.status;
myDebug.responseCreate = JSON.parse(responseCreate.body.asString());
if (responseCreate.status >= 200 && responseCreate.status < 300) {
myDebug.Createmessage = "Create sucessfull";
outMsg.status = "success";
} else {
myDebug.Createmessage = "Create error occured";
output.errorCreatestatus = myDebug.Createmessage;
outMsg.status = "error";
//outMsg.message = myDebug.responseCreate;
outStatus = "error";
slError = myDebug.responseCreate.error;
if (slError && slError.hasOwnProperty("code") && slError.message && slError.message.value ) {
outMsg.message = slError.message.value + " (Code: " + slError.code.toString() + ")";
} else {
outMsg.message = JSON.stringify(myDebug.responseCreate);
}
outMsg.response = myDebug.responseCreate;
}
outMessages.push(outMsg);
}
//output.CardCode = CardCode;
//output.CardName = body.CardName;
slib.SLLogout(SESSIONID, NODEID);
}
outMessages.push(outMsg);
output.Messages = outMessages;
if (ParDebug)
{
output.debug = myDebug;
}
return output;
}
+28
View File
@@ -0,0 +1,28 @@
{
"exposed": true,
"authentication": [
{
"method": "Form"
}
],
"mime_mapping": [
{
"extension": "jpg",
"mimetype": "image/jpeg"
}
],
"force_ssl": false,
"enable_etags": true,
"prevent_xsrf": true,
"anonymous_connection": null,
"cors": [
{
"enabled": true
}
],
"allowOrigin": [
"*"
],
"cache_control": "no-cache, no-store",
"default_file": "index.html"
}