sap-enterprise-toolkit
v1.0.0
Published
Enterprise-grade SAP integration toolkit with free and premium features for Node.js applications
Maintainers
Readme
SAP Enterprise Toolkit
🚀 Enterprise-grade SAP integration toolkit for Node.js applications
📋 Table of Contents
- Features
- Installation
- Quick Start
- Free Tier Features
- Premium Features
- API Documentation
- Examples
- Configuration
- Pricing
- Contributing
- License
✨ 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-toolkitYarn ile Kurulum
yarn add sap-enterprise-toolkitPaket Bilgileri
- Paket Adı:
sap-enterprise-toolkit - NPM Linki: https://www.npmjs.com/package/sap-enterprise-toolkit
- GitHub: https://github.com/xaynx/sap-enterprise-toolkit
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-toolkit2. 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 testrunDiagnostics(config)- Full diagnostic report
DataValidator
validateData(data, rules)- Validate data against rulescreateValidationRules()- Helper for creating rulesgetSAPValidators()- SAP-specific validators
DataConverter
convert(data, fromFormat, toFormat)- Convert data formatsbatchConvert(dataArray, fromFormat, toFormat)- Batch conversion
QueryTemplates (Static)
getAllTemplates()- Get all available templatesapplyTemplate(name, entitySet)- Apply template to entitygenerateCode(name, entitySet, language)- Generate code
SimpleQueryBuilder
createQuery(entitySet)- Create new query builderselect(field)- Add field to selectionlimit(count)- Set result limit
FieldMapper
createMappingTemplate(name, config)- Create mapping templatesuggestMappings(sourceFields, targetFields)- Get mapping suggestions
BasicPerformanceMonitor
recordMetric(metric)- Record performance metricgetStats(timeWindow?)- Get performance statisticsgetDailySummary()- Get daily performance summary
ErrorDecoder
decodeError(errorCode)- Decode SAP error codeanalyzeErrorMessage(message)- Analyze error message
InteractiveTutorial
getAvailableTutorials()- List available tutorialsstartTutorial(name)- Start a tutorialexecuteStep(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 lintProject 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
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Add tests for new features
- Run tests:
npm test - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🆘 Support
- Documentation: https://github.com/xaynx/sap-enterprise-toolkit#readme
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: [email protected]
Enterprise Support
For enterprise customers, we provide:
- 24/7 priority support
- Custom integration assistance
- Training and onboarding
- SLA guarantees
Contact: [email protected]
🔗 Related Projects
- SAP Cloud SDK - Official SAP SDK
- node-rfc - SAP RFC connector
- odata-client - Generic OData client
📈 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
