Export from HANA XS Repository
This commit is contained in:
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user