commit d323936c755fe235f455d0c60a2fa991881f8b19 Author: Claude Agent Date: Wed Jul 8 23:06:07 2026 +0200 Export from HANA XS Repository diff --git a/uniorg/eon/bp/v1/duplicatebp.xsjs b/uniorg/eon/bp/v1/duplicatebp.xsjs new file mode 100644 index 0000000..e4c1ed8 --- /dev/null +++ b/uniorg/eon/bp/v1/duplicatebp.xsjs @@ -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 diff --git a/uniorg/eon/index.html b/uniorg/eon/index.html new file mode 100644 index 0000000..6caa3c5 --- /dev/null +++ b/uniorg/eon/index.html @@ -0,0 +1,70 @@ + + + + + + + + + + + + + Item Data Maintenance + + + + + + + + + + + + + diff --git a/uniorg/eon/libs/bp_businesslogic.xsjslib b/uniorg/eon/libs/bp_businesslogic.xsjslib new file mode 100644 index 0000000..168d4dc --- /dev/null +++ b/uniorg/eon/libs/bp_businesslogic.xsjslib @@ -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; + +} \ No newline at end of file diff --git a/uniorg/eon/libs/bpmapping.xsjslib b/uniorg/eon/libs/bpmapping.xsjslib new file mode 100644 index 0000000..02d15e2 --- /dev/null +++ b/uniorg/eon/libs/bpmapping.xsjslib @@ -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; +} \ No newline at end of file diff --git a/uniorg/eon/libs/copybp.xsjslib b/uniorg/eon/libs/copybp.xsjslib new file mode 100644 index 0000000..6947616 --- /dev/null +++ b/uniorg/eon/libs/copybp.xsjslib @@ -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; +} \ No newline at end of file diff --git a/uniorg/eon/nice/documentation/.xsaccess b/uniorg/eon/nice/documentation/.xsaccess new file mode 100644 index 0000000..7953bad --- /dev/null +++ b/uniorg/eon/nice/documentation/.xsaccess @@ -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" +} \ No newline at end of file