Package Exports
- sapb1-connect
- sapb1-connect/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sapb1-connect) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
SAP Business One Connection Library
SAPB1 Connect is a Node.js library for connecting and interacting with HANA databases, SQL Server, and the SAP Business One Service Layer.
📦 Installation
npm install sapb1-connect
⚙️ Configuration
Each connection requires a configuration object passed to the corresponding class constructor.
🚀 How to Use
🔹 Connecting to HANA DB
Example configuration:
const config = {
HOSTNAME: "your-hana-host",
USERNAME: "your-hana-username",
PASSWORD: "your-hana-password",
};
const { HanaDB } = require("sapb1-connect");
const hana = new HanaDB(config);
async function getData() {
try {
const result = await hana.query("SELECT * FROM \"SBODEMOBR\".\"OUSR\"");
console.log(result);
} catch (error) {
console.error(error);
}
}
🔹 Connecting to SQL Server
Example configuration:
const config = {
HOSTNAME: "your-sql-server",
USERNAME: "your-sql-username",
PASSWORD: "your-sql-password",
DATABASE: "your-database",
};
const { SqlServerDB } = require("sapb1-connect");
const sqlServer = new SqlServerDB(config);
async function getData() {
try {
const result = await sqlServer.query("SELECT * FROM OUSR");
console.log(result);
} catch (error) {
console.error(error);
}
}
🔹 Connecting to SAP B1 Service Layer
Example configuration:
const config = {
HOSTNAME: "your-service-layer-host",
PORT: "50000",
VERSION: "v1",
COMPANY: "your-company-db"
};
const { ServiceLayer } = require("sapb1-connect");
const sl = new ServiceLayer(config);
async function login() {
try {
const session = await sl.token("username", "password");
console.log("Session started:", session);
} catch (error) {
console.error(error);
}
}
🔹 Making Requests to Service Layer
🔸 GET Request
async function getBusinessPartners() {
try {
const data = await sl.request("GET", "BusinessPartners");
console.log(data);
} catch (error) {
console.error(error);
}
}
🔸 POST Request
async function createBusinessPartner() {
try {
const body = { CardCode: "C12345", CardName: "New Partner" };
const data = await sl.request("POST", "BusinessPartners", body);
console.log("Created:", data);
} catch (error) {
console.error(error);
}
}
🔸 PATCH Request
async function updateBusinessPartner() {
try {
const body = { CardName: "Updated Partner" };
const data = await sl.request("PATCH", "BusinessPartners('C12345')", body);
console.log("Updated:", data);
} catch (error) {
console.error(error);
}
}
🔸 DELETE Request
async function deleteBusinessPartner() {
try {
const data = await sl.request("DELETE", "BusinessPartners('C12345')");
console.log("Deleted:", data);
} catch (error) {
console.error(error);
}
}
📖 Documentation
For more details on the available methods, refer to the Official Service Layer Documentation.
🛠️ Development
Run Tests
npm test
Generate Documentation
npm run doc
📜 License
MIT License