Montag, 12. Mai 2014

Hilfe - ich habe MUMPS

Nein - keine Sorge ich bin nicht krank!

Wir sind nur gerade dabei für die Caché Datenbank von InterSystems Webservices zu programmieren.
http://de.wikipedia.org/wiki/MUMPS

Hintergrund:
Ein Kunde von uns setzt diese Datenbank in Verbindung mit der Sanitärgrosshandelslösung SANGROSS ein. Alles ist natürlich nur in einer Terminal-Session zu benutzen, d.h. 80x25 Zeichen :)

Jetzt wäre es doch schön, wenn man für die Mitarbeiter auch HTML5-Oberflächen oder Apps anbinden könnte. Also muss man sich erstmal die Programmiersprache  ansehen.

w "Hello Mumps",!

Unglaublich! Ein Befehl - ein Buchstabe!

Früher musste der Programmierer noch jedes Bytes umdrehen. Speicherplatz war kostbar.

Natürlich kann der Code auch so aussehen:

write "Hello Mumps",!

Und man kann Klassen etc. verwenden. Aber der alte Code ist halt mit diesen kryptischen Kurzbefehlen geschrieben. Also muss man die alte Programmierergarde zu Rate ziehen und lernen wie man aus weniger mehr machen kann.

Wir sind auf einem guten Weg und programmieren für unseren eQ Arbeitsplatz eine REST-API für die bestehenden MUMPS-Anwendungen. Neben dem Sanitärgrosshandel findet man diese Art von Anwendung auch in Möbelhäusern etc.

Wenn jemand Interesse hat seine bestehenden MUMPS-Anwendungen an HTML5 anzubinden. Wir haben den passenden "Impfstoff".

Samstag, 10. Mai 2014

CSV-Dateien mittels Python und der XML-RPC Schnittstelle in OpenERP einfügen - Beispiel Intrastat-Codes

Wer OpenERP einsetzen will, kommt meist von einem anderen System. Heutzutage sollten die Warenwirtschaft oder ERP-Systeme über einen Excel- oder CSV-Export verfügen.



Jetzt stellt sich die Frage:
"Wie bekomme ich die alten Daten wie Adressen, Artikel etc. in das System?"

Zwar stellt OpenERP die Möglichkeit zur Verfügung CSV-Dateien direkt einzulesen. Dabei muss die Struktur und Namensgebung 1:1 der Feldbeschreibung von OpenERP entsprechen.

Deshalb verwende ich in meinen Projekten lieber Python und die Webservice-Schnittstelle XML-RPC.

Hier ein Beispiel für Intrastat-Codes:

# -*- coding: UTF-8 -*-
__author__ = 'info@OpenERP24.de'
import xmlrpclib
import csv

username = "admin"
pwd = "admin"
dbname = "datenbankname"
baseurl = "http://192.168.0.26:8069"

sock_common = xmlrpclib.ServerProxy(baseurl + "/xmlrpc/common")

uid = sock_common.login(dbname, username, pwd)

sock = xmlrpclib.ServerProxy(baseurl + "/xmlrpc/object")

#"CNKEY","CN","EN","DE","FR"
reader = csv.reader(open('intrastat_codes.csv', 'rb'))

intI = 1
for row in reader:
    print row[0] + " " + row[2] + " Durchlauf:" + str(intI)
    if (intI > 0):
        # Intrastatcode
        intrastat = {
            'name': row[0],
            'description': row[2]

        }
        intrastat_id = sock.execute(dbname, uid, pwd, 'report.intrastat.code', 'create', intrastat)

    intI += 1

print 'Fertig'


Die passende CSV Datei finden Sie auf unserer Seite www.OpenERP24.de