Skip to content

Latest commit

 

History

History
87 lines (64 loc) · 1.52 KB

File metadata and controls

87 lines (64 loc) · 1.52 KB

Attachments

Upload and download files through SAP B1's Attachments API.

Upload Files

use SapB1\Facades\SapB1;

$attachment = SapB1::attachments()->upload(
    filePath: '/path/to/document.pdf',
    fileName: 'invoice.pdf'
);

$absoluteEntry = $attachment['AbsoluteEntry'];

Download Files

$content = SapB1::attachments()->download($absoluteEntry);

// Save to disk
file_put_contents('downloaded.pdf', $content);

List Attachments

$attachments = SapB1::attachments()->list($absoluteEntry);

foreach ($attachments as $file) {
    echo $file['FileName'];
}

Get Metadata

$metadata = SapB1::attachments()->metadata($absoluteEntry);

Delete Attachments

SapB1::attachments()->delete($absoluteEntry);

Attach to Documents

// Create order with attachment
$order = SapB1::create('Orders', [
    'CardCode' => 'C001',
    'AttachmentEntry' => $absoluteEntry,
    'DocumentLines' => [...]
]);

Configuration

// config/sap-b1.php
'attachments' => [
    'max_size' => 10 * 1024 * 1024, // 10MB
    'allowed_extensions' => [
        'pdf', 'doc', 'docx', 'xls', 'xlsx',
        'jpg', 'jpeg', 'png', 'gif',
        'zip', 'rar', '7z',
    ],
    'temp_path' => storage_path('app/sap-b1-attachments'),
],

Error Handling

use SapB1\Exceptions\AttachmentException;

try {
    $attachment = SapB1::attachments()->upload($path);
} catch (AttachmentException $e) {
    // File too large, invalid extension, etc.
}

Next: SQL Queries