npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

sap-enterprise-toolkit

v1.0.0

Published

Enterprise-grade SAP integration toolkit with free and premium features for Node.js applications

Readme

SAP Enterprise Toolkit

🚀 Enterprise-grade SAP integration toolkit for Node.js applications

npm version npm downloads License: MIT TypeScript Node.js Author

📋 Table of Contents

✨ Features

🆓 Free Tier Features

  • Connection Testing - Verify SAP system connectivity and performance
  • Schema Explorer - Discover SAP tables, fields, and metadata
  • 📝 Query Templates - Pre-built query templates for common SAP operations
  • ✔️ Data Validation - Validate SAP data formats and business rules
  • Data Conversion - Convert between SAP, JSON, CSV, and XML formats
  • 🔧 Simple Query Builder - Build SAP queries with fluent API
  • 🗺️ Field Mapping - Map SAP fields to application formats
  • 📊 Basic Performance Monitor - Track operation performance (24h history)
  • 🔴 Error Decoder - Decode SAP error codes with solutions
  • 📚 Interactive Tutorial - Learn SAP integration step-by-step

💎 Premium Features

  • 🤖 AI-Powered Data Mapping - Intelligent field mapping with ML
  • 🏢 Multi-SAP Cluster Management - Manage multiple SAP systems
  • 🎨 Visual Query Builder - Drag-and-drop query interface
  • Workflow Automation - Automated business process workflows
  • 🔄 Real-time Data Sync - Live data synchronization
  • 🚀 Advanced Caching - Redis-based performance optimization
  • 📈 Enterprise Monitoring - Advanced analytics and reporting
  • 🔒 Security Audit Logging - Comprehensive security tracking

📦 Installation

NPM'den Kurulum

npm install sap-enterprise-toolkit

Yarn ile Kurulum

yarn add sap-enterprise-toolkit

Paket Bilgileri

Sistem Gereksinimleri

  • Node.js 16.0.0 veya üzeri
  • TypeScript 5.0+ (önerilen)
  • SAP sistem erişimi (OData/RFC endpoints)

🚀 Quick Start

1. Paketi Kurun

# NPM ile
npm install sap-enterprise-toolkit

# veya Yarn ile
yarn add sap-enterprise-toolkit

2. Temel Kullanım

import { 
  ConnectionTester, 
  DataValidator, 
  QueryTemplates 
} from 'sap-enterprise-toolkit';

// Test SAP connection
const tester = new ConnectionTester();
const result = await tester.quickHealthCheck({
  host: 'your-sap-host',
  port: 8000,
  username: 'your-username',
  password: 'your-password',
  client: '100'
});

console.log('Connected:', result.success);

3. Demo Çalıştırın

# Projeyi klonlayın (geliştirme için)
git clone https://github.com/xaynx/sap-enterprise-toolkit.git
cd sap-enterprise-toolkit

# Bağımlılıkları kurun
npm install

# Ücretsiz özellikleri deneyin
npm run demo:free

# Enterprise özelliklerini görün
npm run demo:enterprise

🆓 Free Tier Features

1. Connection Testing

Test SAP system connectivity and diagnose connection issues.

import { ConnectionTester } from 'sap-enterprise-toolkit';

const tester = new ConnectionTester();

// Quick health check
const result = await tester.quickHealthCheck({
  host: 'sap-server.company.com',
  port: 8000,
  username: 'SAP_USER',
  password: 'password',
  client: '100'
});

// Full diagnostic report
const diagnostics = await tester.runDiagnostics(config);
console.log('Overall Status:', diagnostics.overallStatus);
console.log('Tests:', diagnostics.tests);

2. Data Validation

Validate SAP data against business rules and format requirements.

import { DataValidator } from 'sap-enterprise-toolkit';

const validator = new DataValidator();

const data = [
  { MATNR: 'MAT001', WERKS: 'P001', LABST: 100 },
  { MATNR: 'MAT002', WERKS: 'P002', LABST: -5 }  // Invalid
];

const rules = [
  { field: 'MATNR', type: 'required', constraint: true },
  { field: 'LABST', type: 'range', constraint: { min: 0, max: 10000 } }
];

const result = await validator.validateData(data, rules);
console.log(`Valid records: ${result.summary.validRecords}/${result.summary.totalRecords}`);

3. Data Conversion

Convert data between different formats (JSON, XML, CSV).

import { DataConverter } from 'sap-enterprise-toolkit';

const converter = new DataConverter();

const sapData = {
  MATNR: 'MAT001',
  MAKTX: 'Sample Material',
  MEINS: 'EA'
};

// Convert to XML
const xmlResult = await converter.convert(sapData, 'JSON', 'XML');
console.log('XML Output:', xmlResult.data);

// Convert to CSV
const csvResult = await converter.convert([sapData], 'JSON', 'CSV');
console.log('CSV Output:', csvResult.data);

4. Query Templates

Use pre-built query templates for common SAP operations.

import { QueryTemplates } from 'sap-enterprise-toolkit';

// Get available templates
const templates = QueryTemplates.getAllTemplates();
console.log('Available templates:', templates.length);

// Apply a template
const queryOptions = QueryTemplates.applyTemplate('Get Top 10', 'BusinessPartners');
console.log('Query options:', queryOptions);

// Generate code
const code = QueryTemplates.generateCode('Get Top 10', 'Materials', 'typescript');
console.log('Generated TypeScript code:', code);

5. Simple Query Builder

Build SAP queries with a fluent API.

import { SimpleQueryBuilder } from 'sap-enterprise-toolkit';

const builder = new SimpleQueryBuilder();

const query = builder
  .createQuery('MARA')
  .select('MATNR')
  .select('MAKTX')
  .limit(10)
  .build();

console.log('Built query:', query);

6. Field Mapping

Map SAP fields to your application's data structure.

import { FieldMapper } from 'sap-enterprise-toolkit';

const mapper = new FieldMapper();

// Create mapping template
const template = await mapper.createMappingTemplate('material-mapping', {
  name: 'Material Mapping',
  description: 'Maps SAP material fields',
  sourceSchema: 'SAP_MARA',
  targetSchema: 'APP_MATERIAL',
  mappings: [
    {
      id: '1',
      name: 'Material Number',
      sourceField: 'MATNR',
      targetField: 'materialNumber',
      required: true,
      confidence: 1.0
    }
  ]
});

7. Performance Monitoring

Monitor operation performance with 24-hour history retention.

import { BasicPerformanceMonitor } from 'sap-enterprise-toolkit';

const monitor = new BasicPerformanceMonitor();

// Record metrics
monitor.recordMetric({
  timestamp: Date.now(),
  operation: 'data-fetch',
  duration: 150,
  success: true
});

// Get statistics
const stats = monitor.getStats();
console.log('Total operations:', stats.totalOperations);
console.log('Average response time:', stats.averageResponseTime);
console.log('Success rate:', stats.successRate);

// Get daily summary
const summary = monitor.getDailySummary();
console.log('Today\'s performance:', summary);

8. Error Decoding

Decode SAP error codes and get solutions.

import { ErrorDecoder } from 'sap-enterprise-toolkit';

const decoder = new ErrorDecoder();

const errorInfo = await decoder.decodeError('MATERIAL_NOT_FOUND');
if (errorInfo.found && errorInfo.error) {
  console.log('Description:', errorInfo.error.description);
  console.log('Category:', errorInfo.error.category);
  console.log('Severity:', errorInfo.error.severity);
  console.log('Solutions:', errorInfo.error.solutions);
}

// Analyze error message
const analysis = await decoder.analyzeErrorMessage('Material MAT001 does not exist');
console.log('Analysis:', analysis);

9. Interactive Tutorial

Learn SAP integration with step-by-step tutorials.

import { InteractiveTutorial } from 'sap-enterprise-toolkit';

const tutorial = new InteractiveTutorial();

// Get available tutorials
const tutorials = tutorial.getAvailableTutorials();
console.log('Available tutorials:', tutorials);

// Start a tutorial
const firstStep = tutorial.startTutorial('basic-connection');
if (firstStep) {
  console.log('Tutorial:', firstStep.title);
  console.log('Description:', firstStep.description);
  console.log('Code example:', firstStep.code);
}

// Execute tutorial step
const result = await tutorial.executeStep('basic-connection', userCode);
console.log('Execution result:', result);

💎 Premium Features

AI-Powered Data Mapping

Intelligent field mapping using machine learning algorithms.

import { SmartMapper, LicenseValidator } from 'sap-enterprise-toolkit';

// Validate license
const validator = new LicenseValidator();
await validator.validateLicense('your-premium-license-key');

// Use AI mapping
const mapper = new SmartMapper('your-openai-api-key');
const analysis = await mapper.analyzeSchemas(sourceSchema, targetSchema);

console.log('AI Suggestions:', analysis.suggestedMappings);

Multi-SAP Cluster Management

Manage multiple SAP systems from a single interface.

import { SAPClusterManager } from 'sap-enterprise-toolkit';

const clusterManager = new SAPClusterManager();

// Add SAP systems
await clusterManager.addSystem('prod', prodConfig);
await clusterManager.addSystem('dev', devConfig);

// Execute across cluster
const results = await clusterManager.executeAcrossCluster(
  ['prod', 'dev'],
  async (client) => await client.getEntity('BusinessPartners')
);

Visual Query Builder

Drag-and-drop interface for building complex queries.

import { VisualQueryBuilder } from 'sap-enterprise-toolkit';

const builder = new VisualQueryBuilder();

// Create visual query
const query = builder
  .addEntity('BusinessPartner')
  .addJoin('Address', 'BusinessPartnerID')
  .addFilter('Country', 'equals', 'US')
  .addSort('Name', 'asc')
  .build();

📚 API Documentation

Core Classes

ConnectionTester

  • quickHealthCheck(config) - Quick connection test
  • runDiagnostics(config) - Full diagnostic report

DataValidator

  • validateData(data, rules) - Validate data against rules
  • createValidationRules() - Helper for creating rules
  • getSAPValidators() - SAP-specific validators

DataConverter

  • convert(data, fromFormat, toFormat) - Convert data formats
  • batchConvert(dataArray, fromFormat, toFormat) - Batch conversion

QueryTemplates (Static)

  • getAllTemplates() - Get all available templates
  • applyTemplate(name, entitySet) - Apply template to entity
  • generateCode(name, entitySet, language) - Generate code

SimpleQueryBuilder

  • createQuery(entitySet) - Create new query builder
  • select(field) - Add field to selection
  • limit(count) - Set result limit

FieldMapper

  • createMappingTemplate(name, config) - Create mapping template
  • suggestMappings(sourceFields, targetFields) - Get mapping suggestions

BasicPerformanceMonitor

  • recordMetric(metric) - Record performance metric
  • getStats(timeWindow?) - Get performance statistics
  • getDailySummary() - Get daily performance summary

ErrorDecoder

  • decodeError(errorCode) - Decode SAP error code
  • analyzeErrorMessage(message) - Analyze error message

InteractiveTutorial

  • getAvailableTutorials() - List available tutorials
  • startTutorial(name) - Start a tutorial
  • executeStep(tutorial, code) - Execute tutorial step

🔧 Configuration

SAP Connection Configuration

interface SAPConfig {
  host: string;           // SAP host
  port: number;           // Port (8000 for HTTP, 44300 for HTTPS)
  username: string;       // SAP username
  password: string;       // SAP password
  client: string;         // SAP client (e.g., '100')
  language?: string;      // Language (default: 'EN')
  timeout?: number;       // Request timeout (default: 30000ms)
  ssl?: boolean;          // Use HTTPS (default: false)
}

OData Configuration

interface ODataConfig extends SAPConfig {
  servicePath: string;    // OData service path
  version?: 'v2' | 'v4';  // OData version (default: 'v2')
}

RFC Configuration

interface RFCConfig extends SAPConfig {
  systemNumber: string;   // System number (e.g., '00')
  routerString?: string;  // SAP router string (if needed)
}

💰 Pricing

Free Tier

  • Price: $0/month
  • Data Validation: 50 records/day
  • Data Conversion: 10 conversions/day
  • Query Building: 5 queries/day
  • Field Mapping: 3 mappings/day
  • Error Decoding: 20 lookups/day
  • Performance History: 24 hours
  • Support: Community

Professional

  • Price: $49/month
  • Everything in Free Tier: Unlimited usage
  • AI-Powered Mapping: ✅
  • Advanced Caching: ✅
  • Priority Support: ✅
  • Performance History: 30 days

Enterprise

  • Price: $199/month
  • Everything in Professional: Plus
  • Multi-SAP Clusters: ✅
  • Visual Query Builder: ✅
  • Workflow Automation: ✅
  • Real-time Sync: ✅
  • Advanced Monitoring: ✅
  • Dedicated Support: ✅
  • Custom Integrations: ✅

📊 Usage Limits

Free Tier Daily Limits

const limits = {
  dataValidation: 50,      // records per day
  dataConversion: 10,      // conversions per day
  queryBuilding: 5,        // queries per day
  fieldMapping: 3,         // mappings per day
  errorDecoding: 20,       // lookups per day
  performanceHistory: 24   // hours
};

🛠️ Development

Build from Source

# Clone repository
git clone https://github.com/yourusername/sap-enterprise-toolkit.git
cd sap-enterprise-toolkit

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run tests
npm test

# Run linting
npm run lint

Project Structure

sap-enterprise-toolkit/
├── src/
│   ├── free/              # Free tier features
│   ├── premium/           # Premium features (stubs)
│   ├── clients/           # SAP clients (OData, RFC)
│   ├── utils/             # Utilities
│   ├── types/             # TypeScript types
│   └── index.ts           # Main exports
├── examples/              # Usage examples
├── dist/                  # Compiled JavaScript
└── docs/                  # Documentation

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Add tests for new features
  5. Run tests: npm test
  6. Commit changes: git commit -m 'Add amazing feature'
  7. Push to branch: git push origin feature/amazing-feature
  8. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🆘 Support

Enterprise Support

For enterprise customers, we provide:

  • 24/7 priority support
  • Custom integration assistance
  • Training and onboarding
  • SLA guarantees

Contact: [email protected]

🔗 Related Projects

📈 Roadmap

Q1 2026

  • [ ] GraphQL API support
  • [ ] Real-time webhooks
  • [ ] Advanced analytics dashboard

Q2 2026

  • [ ] Mobile SDK (React Native)
  • [ ] Kubernetes operator
  • [ ] Multi-tenant architecture

Q3 2026

  • [ ] Machine learning insights
  • [ ] Automated testing tools
  • [ ] Performance optimization engine

🏆 Awards & Recognition

  • Best SAP Integration Tool 2026 - SAP Community
  • Developer Choice Award - Node.js Foundation
  • Innovation Award - Enterprise Integration Summit

Made with ❤️ by Xaynx

GitHub stars GitHub followers Twitter Follow