LC.ItemExport Funktionsbeschreibung

Inhalt

Hauptfenster

Das Programm besteht aus einem Fenster, welches die Befehlsfunktionalität und die Visualisierung der Daten enthält.

Übersicht

Die folgende Abbildung zeigt das Hauptfenster mit geladener Konfiguration und selektierten Beispieldaten.

worddav8e75d91531f9ba6ee7560971805c68d9.png

Abbildung 1: Hauptfenster

Befehle

Sämtliche Befehle werden über die Symbolleiste ausgeführt.

Befehl

Symbol

Beschreibung

Artikel laden

worddav35b8ad00d3578cc4b88e18a70f397f89.png

Mit diesem Symbol werden die Artikeldaten laut der Konfigurationsdatei geladen und im Tabellenteil angezeigt.

Preise berechnen

worddav548d00d2f25287920cd09fadbfb7cf3e.png

Mit diesem Symbol werden zu den Artikeln im Tabellenteil die kundenspezifischen Preise ermittelt. Die Kundennummer ist in der Konfigurationsdatei angegeben. Die ermittelten Preise werden in der Datenbank gespeichert. Nach der Preisberechnung werden die Preise im Tabellenteil mit angezeigt.

Preise laden

worddavf6435472de7957baebf353f48cb6a403.png

Mit diesem Symbol werden die Preise, welche bereits errechnet wurden anstelle einer Neuberechnung aus der Datenbank geladen.

Datei erstellen

worddavf4d588ce877726354ce4744333ad0ef5.png

Durch Anklicken dieses Symbols wird aus dem Tabellenteil eine Datei laut in der Konfigurationsdatei angegebenem Format erzeugt und normal im Ordner ExportFiles, einem Unterordner des Stammverzeichnisses von LC.ItemExport abgelegt.

In der Konfigurationsdatei kann auch festgelegt werden, ob ein Speichern-Unter-Dialog angezeigt werden soll.

Datei uploaden

worddav17d5d7f78504cc9ede1a4d5703aca0af.png

Je nach Einstellung in der Konfigurationsdatei wird die Datei dadurch per E-Mail versandt und/oder auf einen FTP-Server geladen.

Prompts ein-/ausblenden

worddavd099d643c78550cbde2ad02af39fc022.png

Zeigt die Prompts an, welche in der Konfigurationsdatei vorkommen und bietet eine Eingabemöglichkeit dafür.

Konfiguration

worddavfeaf87b6b0888a542aba795557bb1c8d.png

Ermöglicht die Auswahl der Konfigurationsdateien, welche im Unterordner Configuration des Stammverzeichnisses von LC.ItemExport enthalten sind.

Konfiguration laden

worddava611525f9a1cb4939b59cf191e01314f.png

Lädt die ausgewählte Konfiguration neu. Alle selektierten Daten gehen hierbei verloren.

Konfiguration

Die Auswahl der eingestellten Konfiguration erfolgt mittels DropDown-Liste, wie in Abbildung veranschaulicht. Darin sind alle Konfigurationsdateien enthalten, welche im Unterordner Configuration des Stammverzeichnisses von LC.ItemExport abgelegt sind.

worddav307b3a5b1fa1a9787dd2cc975a46bcb4.png

Abbildung 2: Konfiguration auswählen und laden

Wird eine Konfiguration geladen, so werden alle Einstellungen und selektierten Daten zurückgesetzt. Dasselbe geschieht, wenn man die Schaltfläche Konfiguration laden betätigt.

Tabellen

Im Hauptfenster stehen zwei Tabellen zur Verfügung, wobei die Prompt-Tabelle abhängig von der ausgewählten Konfiguration ist.

Daten

Hier erfolgt die Visualisierung der selektierten Daten mit den zu exportierenden Spalten – es können auch manuelle Änderungen an den Daten erfolgen, die dann beim Export berücksichtigt werden.

Folgende drei Spalten werden immer angezeigt, wenn eine Kundennummer zur Preisfindung angegeben wurde: VK, VK_INKL, DATUM. Diese werden aber nur exportiert, wenn sie in der Konfiguration angegeben wurden.

Prompts

Diese Tabelle verwaltet die Prompts der aktuell geladenen Konfiguration. Die Prompts werden in einer Tabelle im Hauptfenster angezeigt. Diese Tabelle lässt sich über den Befehl Prompts ein-/ausblenden ein- oder ausblenden. Zu jeder Variable kann ein Wert hinterlegt werden, welcher anschließend

beim Laden der Artikel in die SQL-Abfrage eingebunden wird. Ein Beispiel ist in Abbildung 3: Prompts-Tabelle unten dargestellt.

worddav7b3022c5fe1d1f16d0a9f28dfdf9f476.png

Abbildung 3: Prompts-Tabelle

Die dazugehörige SQL-Abfrage zu Abbildung 3: Prompts-Tabelle oben sieht wie folgt aus:

select artikelnummer, [%Prompt(Spalte_Bezeichnung, Bezeichnung1)%], bezeichnung2, bezeichnung3, [%Prompt(Spalte_Bezeichnung, Bezeichnung1)%]
from artikelstamm
where [%Prompt(Spalte, artikelnummer)%] like '[%Prompt(Wert,1110444)%]'


Automatik-Modus

Das Programm LC.ItemExport kann über Kommandozeilenparameter im Automatik-Modus gestartet werden. Dabei erfolgt die Abarbeitung aller Konfigurationsdateien in einem, mittels Kommandozeilenparameter angegebenen Verzeichnisses. Das Programm wird nach Abarbeitung der einzelnen Konfigurationsdateien wieder beendet. Der Aufruf sieht wie folgt aus:

Jedes XML File im Verzeichnis wird auf den Root Tag Export geprüft. Ist der Root Tag nicht Export, wird die nicht verarbeitet. Ist die Datei nicht XML Konform wird die Datei auch nicht verarbeitet

LC.ItemImport.exe „Verzeichnis" DATENBANK BENUTZERNAME PASSWORT

Die Reihenfolge der Kommandozeilenparameter ist zwingend. Die einzelnen Parameter haben folgende Bedeutung:


Parametername

Position

Beschreibung

Verzeichnis


Das Verzeichnis, welches die Konfigurationsdateien enthält. Diese werden sequentiell geladen und die Daten entsprechend selektiert und abgearbeitet. Die Angabe des Verzeichnisses muss unter doppeltem Hochkomma erfolgen.

DATENBANK


Der Datenbank-Alias der Datenbank, von welcher die Daten selektiert werden sollen.

BENUTZERNAME


Der Benutzername für die Datenbankanmeldung.

PASSWORT


Das Passwort für die Datenbankanmeldung.


Konfiguration

Die Konfiguration wird über Konfigurationsdateien angegeben. Dies sind XML-Dokumente, welche einer bestimmten Struktur folgen, wobei nicht alle Elemente angegeben werden müssen.

Aufbau

Die einzelnen Elemente sind im Wurzelknoten Export zusammengefasst. Folgende Legende gibt Überblick über die möglichen Optionen der Elemente:

  •     Optional für alle Bereiche

  •     Optional, außer FTP

  •     Optional, außer E-Mail

  •     Optional, außer Point-S

Die First-Elemente ermöglichen es, in der zu erstellenden Datei einen zusätzlichen Kopfbereich sowie separate Spalten anzulegen, die unabhängig von der bisherigen Kopf- und Spaltendefinition sind.


Element

Optional

Beschreibung

Mögliche Werte

FileFormat


Die Art der Verarbeitung und Ausgabe der Daten. Standardwert: TXT

CSV, TXT, POINTS, XML

Encoding


Encoding der Ausgabedatei – wird bei Excel NICHT angewendet. Mögliche Werte:

iso-8859-15, utf-8, utf-16, windows-1252

https://docs.microsoft.com/en-us/dotnet/api/system.text.encoding.getencodings?view=netframework-4.7.2


Separator


Das Trennzeichen für die TXT- oder CSV- Ausgabe. Standardwert: ;

, ; TAB

UseDelimitedStrings


Gibt an, ob die einzelnen Werte unter doppeltem Hochkomma gesetzt werden. Standardwert: false

true, false

FileName


 Der Dateiname der zu exportierenden Datei mit Dateiendung. Für die Angabe des aktuellen Datums können folgende Platzhalter angegeben werden: Jahr [YYYY], Monat [MM] und Tag. Zum Beispiel: [YYYY][MM][DD]_Data.txt


SaveAsDialog


Gibt an, ob beim manuellen Exportieren der Datei ein Dialog angezeigt wird, welcher es dem Benutzer ermöglicht, den Pfad und den Dateinamen anzugeben.
Standardwert: false

true, false

SaveAsDirectory


Das Verzeichnis, welches der optionale Speichern-Unter-Dialog des Dateiexports beim Starten anzeigt. Wird hier nichts angegeben, wird ein Betriebssystem-Standardwert verwendet.


CreateHeaderRow


Gibt an, ob eine Überschriftzeile für die TXT- und CSV-Ausgabe generiert wird. Standardwert: false

true, false

CreateHeaderRowFirst


Gibt an, ob eine Überschriftzeile für die TXT- und CSV-Ausgabe generiert wird. Standardwert: false

true, false

UploadServer


Die Adresse des FTP-Servers, auf dem die exportierte Datei hochgeladen werden soll.
Bei einer IP-Adresse braucht man das "ftp" nur am Anfang, dafür aber immer kleingeschrieben.
Wenn es Unterordner gibt, dann muss nach dem letzten Unterordner nochmals ein „/" angegeben werden.

Beispiel:
ftp://164.215.113.170/FTP/TEST/

Wird eine Portnummer angeben, so wird diese auch verwendet. Standardmäßig wird Port 21 verwendet.

Wird Port 22 angegeben, wird das Protokoll automatisch auf SFTP gesetzt.


UploadUser


Der Benutzername für die Anmeldung am FTP-Server oder WebService.


UploadPwd


Das Passwort für die Anmeldung am FTP-Server oder WebService.


UploadProtocol


FTP Protokoll für den Upload des Files
Mögliche Werte: leer lassen (Default), SFTP, SCP
Bei SFTP und SCP wird automatisch GiveUpSecurityAndAcceptAnySshHostKey für die FTP-Session auf true gesetzt


UploadFolder


Bei Export via (S)FTP(S) kann hier der Ordner angegeben werden in dem exportiert werden soll
Default: / (das Hauptverzeichnis)


Email


Die E-Mail-Adresse, an welche die exportierte Datei als Anhang gesendet wird. Als Absenderadresse wird die E-Mail Adresse aus den SMTP Einstellungen (GRUNDLAGEN4.SMTP_SEND_ADR) verwendet.


Stocks


Die Lagernummern für die Lagerbestandsauskunft durch Komma getrennt.


StocksMaxValue


Die maximal angezeigte Menge für die Lagerbestandsauskunft.


PricesCustomerNo


Die Kundennummer auf der die Preisfindung beruht. Diese ist nur notwendig, falls die Preisfindung verwendet wird.


PointSSupplierNumber




RecalculateDays


Die Anzahl von Tagen, nach der die Preisfindung erneut ausgeführt werden soll. Für nie wird -1 angegeben, für immer wird 0 angegeben.

-1, 0, 1, 2, 3, …

DecimalSeparator


Das Zeichen, welches zur Trennung der Nachkommastellen verwendet wird. Standardwert: ,

, .

UploadEmptyFile


Gibt an, ob leere Exportdateien hochgeladen werden sollen. Standardwert: false

true, false

WhereCondition


Der Konditionsteil einer SQL-Abfrage zur Selektion der Artikeldaten.


WhereConditionFirst


Der Konditionsteil einer SQL-Abfrage zur Selektion der Artikeldaten.


SelectStatement


Eine SQL-Select-Abfrage zur Selektion der Daten.


SelectStatementFirst


Eine SQL-Select-Abfrage zur Selektion der Daten.


Conditions


Konditionen, welche für Platzhalter benötigt werden und die Daten zur Verfügung stellen.


PassthroughSelectFields


Alle Felder aus dem Select-Statement werden automatisch für die Ausgabe in die Datei durchgeschliffen. Einzelne Felder können in den DATA-Optionen individuell bearbeitet/formatiert werden.

true, false

DATA


Gibt Daten für eine Spalte an, welche exportiert werden soll.


DATAFIRST


Gibt Daten für eine Spalte an, welche exportiert werden soll.



WhereCondition und WhereConditionFirst

Diese Bedingung kommt nur zum Tragen, wenn keine SQL-Select-Abfrage, wie unter Kapitel 2.1.2 auf Seite 9 beschrieben, vorhanden ist.

Die Bedingung kann mit einem where-Schlüsselwort starten, muss aber nicht. Die darin enthaltenen Spalten müssen die Tabellenkürzel verwenden. Folgende Tabellen werden unterstützt:


Tabellenname

Tabellenkürzel

Beschreibung

ARTIKELSTAMM

a

Artikelstamm

ALIEF

l

Artikellieferant

ARTIKELTEXT

t

Artikeltexte

ART_PROFKRIT

k

Artikelprofilierungskriterien

LAGERBESTAND

b

Lagerbestand

KUNDEN_PREISE

p

Preis laut Preisfindung


Weiter können Platzhalter, wie unter Kapitel 2.1.5 Platzhalter auf Seite beschrieben eingefügt werden.

SelectStatement und SelectStatementFirst

Mithilfe dieses Elements lässt sich für die Selektion der Daten eine SQL-Select-Abfrage definieren. Darin können Platzhalter, wie unter Kapitel 2.1.5 Platzhalter auf Seite , sowie Prompts, wie unter Kapitel 2.1.6 Prompts auf Seite beschrieben enthalten sein.

Conditions

Beispiele:


<Conditions>
    <Condition SourceColumn="OE">
        <Case SourceValue="10" TargetValue="01" />
        <Case SourceValue="20" TargetValue="02" />
        <Case SourceValue="30" TargetValue="02" />
        <Case SourceValue="40" TargetValue="02" />
    </Condition>
    <Condition SourceColumn="Bestand">
        <Case SourceValue = "execute_always" TargetValue="[%Add(6)%]" />
    </Condition>
</Conditions>


DATA und DATAFIRST


Element

Beschreibung

Mögliche Werte

SourceTable

Eine der Tabellen, die beim Export unterstützt werden

ARTIKELSTAMM, ALIEF, ARTIKELSTAMM_TEXTE, ART_PROFKRIT, LAGERBESTAND, KUNDEN_PREISE

SourceColumn

Quell-Spalte aus der Datenbank der angegebenen Tabelle

siehe Tabellenbeschreibung

TargetColumn

Name der Spalte im Ziel ( Header, Spaltenüberschrift )

beliebig

CriteriaInx

Eindeutiger Index des Kriteriums aus der Tabelle XXX


DecimalPlaces

Anzahl der Dezimalstellen, wenn ein numerischer Wert

(Bei nicht numerischen Wert z.B. Artikelnummer auf -1 setzen)

0 - 10

Language



Value

Standard-Wert / Konstanter Wert

beliebig

IsVisible

Gibt an ob die Spalte in der erstellen Datei sichtbar ist

true, false

IsLogInx

Wenn diese Option aktiviert ist, wird für jeden Datensatz ein Eintrag in der Log-Tabelle ITEMEXPORT_LOG erstellt.
Zusätzlich wird der Wert aus der Spalte, in der dieses Element aktiv ist, für das Log verwendet, um die Datensätze eindeutig identifizieren zu können.

true, false


Platzhalter

Prompts

Bei Prompts handelt es sich um Platzhalter, welche in der SQL-Select-Abfrage in der Konfiguration eingefügt werden können. Sie werden wie folgt gebildet:

[%Prompt(Variablenname, Initialwert)%]

Die Variablen werden in einer Tabelle im Hauptfenster wie in Kapitel 1.4.2 Prompts auf Seite 5 angezeigt. Ein Beispiel ist in Abbildung 3: Prompts-Tabelle im vorher genannten Kapitel dargestellt.

Eine Beispiel-SQL-Abfrage sieht wie folgt aus:

select artikelnummer, [%Prompt(Spalte_Bezeichnung, Bezeichnung1)%], bezeichnung2, bezeichnung3, [%Prompt(Spalte_Bezeichnung, Bezeichnung1)%]

from artikelstamm

where [%Prompt(Spalte, artikelnummer)%] like '[%Prompt(Wert,1110444)%]'

Die Prompts werden direkt durch die jeweiligen eingegebenen Werte ersetzt. Wird also eine Zeichenkette eingefügt, so müssen in der SQL-Abfrage einfache Hochkomma das Prompt umschließen.

Beispiel

Nachfolgend ein Beispiel des Aufbaus einer Konfigurationsdatei


<?xml version="1.0" encoding="utf-8" ?>
<Export>
  <FileFormat>CSV</FileFormat>
  <Separator>;</Separator>
  <UseDelimitedStrings>false</UseDelimitedStrings>
  <FileName>Dateiname</FileName>
  <SaveAsDialog>false</SaveAsDialog>
  <SaveAsDirectory>C:\</SaveAsDirectory>
  <CreateHeaderRow>Y</CreateHeaderRow>
  <CreateHeaderRowFirst>Y</CreateHeaderRowFirst>
  <UploadServer>ftp://www.pollex-lc.com/</UploadServer>
  <UploadUser>Benutzername</UploadUser>
  <UploadPwd>Passwort</UploadPwd>
  <Email>office@pollex-lc.com</Email>
  <Stocks>100,102,105</Stocks>
  <StocksMaxValue>20</StocksMaxValue>
  <PricesCustomerNo>200036</PricesCustomerNo>
  <RecalculateDays>7</RecalculateDays>
  <DecimalSeperator>,</DecimalSeperator>
  <UploadEmptyFile>false</UploadEmptyFile>
  <WhereCondition>where a.hauptgruppe='NETZWERK' and rownum<6</WhereCondition>
  <WhereConditionFirst>where a.hauptgruppe='NETZWERK' and rownum<6</WhereConditionFirst>
  <SelectStatement>select artikelnummer, [%Prompt(Spalte_Bezeichnung, Bezeichnung1)%], bezeichnung2, bezeichnung3, [%Prompt(Spalte_Bezeichnung, Bezeichnung1)%] from artikelstamm where [%Prompt(Spalte, artikelnummer)%] like '[%Prompt(Wert,1110444)%]'</SelectStatement>
  <SelectStatementFirst>select artikelnummer, [%Prompt(Spalte_Bezeichnung, Bezeichnung1)%], bezeichnung2, bezeichnung3, [%Prompt(Spalte_Bezeichnung, Bezeichnung1)%] from artikelstamm where [%Prompt(Spalte, artikelnummer)%] like '[%Prompt(Wert,1110444)%]'</SelectStatementFirst>
 
  <Conditions>
    <Condition SourceColumn="EAN_NR">
      <Case SourceValue="0000000000" TargetValue="[%Increment(0, 1)%]"           
           Format="000000000#" />
    </Condition>
  </Conditions>
 
  <DATA SourceTable="ARTIKELSTAMM" SourceColumn="ARTIKELNUMMER"/>
  <DATA SourceTable="ARTIKELSTAMM" SourceColumn="BEZEICHNUNG1"/>
  <DATA SourceTable="ARTIKELSTAMM" SourceColumn="substr(substr(a.hersteller,1,(instr(a.hersteller,' ')-1)) ,1 ,10) as HERSTELLER"/>
  <DATA SourceTable="ARTIKELSTAMM" SourceColumn="ARTIKELNUMMER as HERST_ARTNR"/>
  <DATA SourceTable="ARTIKELSTAMM" SourceColumn="VK as UVP_EXKL" DecimalPlaces="2"/>
  <DATA SourceTable="ARTIKELSTAMM" SourceColumn="VK*1.19 as UVP_INKL"
       DecimalPlaces="2"/>
  <DATA SourceTable="ALIEF" SourceColumn="LIEFNAME as LIEFERANT_NAME"/>
  <DATA SourceTable="ARTIKELTEXT" SourceColumn="LANGTEXT" Language="D"/>
  <DATA SourceTable="ART_PROFKRIT" CriteriaInx="1089" />
  <DATA SourceTable="KUNDEN_PREISE" SourceColumn="VK as HÄNDLER_EK_NETTO"
       DecimalPlaces="2"/>
  <DATA SourceTable="LAGERBESTAND"/>

  <DATAFIRST SourceTable="ARTIKELSTAMM" SourceColumn="ARTIKELNUMMER" IsVisible="true" IsLogInx="true" />
</Export>


Protokollierung

Befindet sich das Programm im Automatik-Modus, welcher in Kapitel 1.5 Automatik-Modus auf Seite beschrieben ist, so werden für jede Datenverarbeitung Protokolldateien erstellt. Diese werden im Unterordner LogFiles des Stammverzeichnisses von LC.ItemExport gespeichert. Darin sind Statusmeldungen und etwaige Fehlermeldungen angeführt.

FTP-Uploads

Ab Version 4.95.1.0 wird eine Datei "WinSCP.log" direkt im Programmverzeichnis erstellt. Sollten beim Herstellen der FTP-Verbindung oder beim FTP-Upload Probleme auftreten, so kann die Ursache in diesem Log-File gesucht werden.

Hilfe

Die Ersteinrichtung des Systems ist vorzugsweise mit Hilfe eines Support-Mitarbeiters durchzuführen, um eventuelle Schwierigkeiten von Beginn an zu vermeiden.