Service Layer Uploads

Das Hochladen von Beleganhängen oder Artikelbildern über den Service Layer erfordert häufig zusätzliche Konfigurationen auf dem Server, auf dem der Service Layer ausgeführt wird. (In der Regel der SLES-/HANA-Server.)

Nachfolgend die notwendigen Schritte am Beispiel des Attachments-Ordners. Alle Schritte müssen als root-Benutzer ausgeführt werden.

1. Ein Verzeichnis als Mount-Point anlegen: mkdir /mnt/sbo-attachments

2. Die Datei /etc/fstab bearbeiten und folgende Zeile einfügen:

//path/to/attachments /mnt/sbo-attachments cifs uid=b1service0,cred=/root/.sbo-atc-cred 0 0

Dies setzt voraus, dass der Service Layer unter dem lokalen Unix-Benutzer b1service0 läuft (siehe uid=). Falls auf Ihrem Server ein anderer Benutzer verwendet wird, bitte entsprechend anpassen.

Der Teil //path/to/attachments stellt den Netzwerkpfad der Attachments-Freigabe dar. Dieser muss exakt dem Wert in den SAP Business One Einstellungen entsprechen, mit der einzigen Ausnahme, dass hier Schrägstriche (/) anstelle von Backslashes (\) verwendet werden müssen.

Wichtig:

Beispiel Eintrag in /etc/hosts, falls der Hostname nicht auflösbar ist:

10.0.0.1 myhostname

Beispiel Netzwerkpfad:

//myhostname/B1_SHF/Attachments

3. Datei /root/.sbo-atc-cred anlegen (wie in der /etc/fstab Zeile referenziert)

Die Datei enthält die Zugangsdaten eines Domänen-Benutzers mit Zugriff auf die Netzwerkfreigabe:

user=myusername
password=mypassword
domain=mydomain

Anschließend Berechtigungen schützen:

chmod 600 /root/.sbo-atc-cred

4. Die Zeile in /etc/fstab wird beim Neustart automatisch gemountet.
Um dies sofort zu aktivieren: mount -a

Mit dem Befehl: mount kann überprüft werden, ob das Mounten erfolgreich war.

5. Auf manchen Systemen kann das Mounten beim Booten fehlschlagen, wenn der Mount-Vorgang vor der Netzwerkaktivierung ausgeführt wird.

Lösung: Anpassung des Bootprozesses (abhängig vom System). Einfache Alternative: Den Befehl mount -a in einer Datei ausführen lassen, die am Ende des Bootprozesses läuft, z. B.: /etc/rc.local /etc/init.d/boot.local (Je nach Betriebssystem und Version unterschiedlich.)