Flowfields (Lagerbestand usw.) in externe DB

24. März 2015 12:55

Hallo,

ich möchte mir gerne ein externe Datenbank erstellen und diese mit Daten von Navision befüllen. Soll dann mittels Excel über PowerView zur Auswertung dienen.
Nun möchte ich z.B. jeden Tag best. Artikeln exportieren.
Dies würde ich gerne das Service Integration des SQL-Servers machen.
Und hier ist nun mein Problem. Wie komme ich z.B. an den aktuellen Lagerbestand (ist ja ein FlowField) am besten heran.
Bzw. wie kann ich generell FlowFields exportieren.

lg
stony

Re: Flowfields (Lagerbestand usw.) in externe DB

24. März 2015 13:34

Du musst die FlowField-Werte selbst berechnen (also quasi die Arbeit der FlowFields in NAV übernehmen): viewtopic.php?f=34&t=17348

Re: Flowfields (Lagerbestand usw.) in externe DB

24. März 2015 14:53

oder, du benutzt Webservices zum Füllen der DB und lässt dir das Ergebnis von der NAV Geschäftslogik ausrechnen und ausspucken :wink:

Re: Flowfields (Lagerbestand usw.) in externe DB

8. April 2015 15:41

Hallo,

ich habe auch einen Report laufen der Daten aus einer externen Datenbank verarbeitet. Hierzu könntest Du schön auf .NET Komponenten zurückgreifen und dir einen Report bauen. Wie folgt ein Beispiel mit dem ich Daten einlese und was Du dir entsprechend auf ein Insert Query umbauen kannst.

Name DataType Subtype Length
SqlCommand DotNet System.Data.SqlClient.SqlCommand.'System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
SqlConnection DotNet System.Data.SqlClient.SqlConnection.'System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
SqlDataReader DotNet System.Data.SqlClient.SqlDataReader.'System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
sqlQuery Text 250
ServerName Text 250
Db Text 250
ConnectionString Text

Code:
ServerName := '...............';
Db := '...............';

ConnectionString := 'Data Source=' + ServerName + ';Initial Catalog=' + Db + ';Trusted_Connection=True;';

SqlConnection := SqlConnection.SqlConnection(ConnectionString);
SqlConnection.Open;

sqlQuery := '..........SQL Query.........';

SqlCommand := SqlCommand.SqlCommand(sqlQuery, SqlConnection);
SqlDataReader := SqlCommand.ExecuteReader;

WHILE SqlDataReader.Read() DO BEGIN
  CLEAR(ItemNo);
  ItemNo := SqlDataReader.GetString(0);

  IF Item.GET(ItemNo) THEN BEGIN
    IF NOT ISNULL(SqlDataReader.Item(1)) THEN
      ...
  END;
END;

SqlDataReader.Close;
SqlConnection.Close;


Hoffe ich konnte Dir damit helfen.

Beste Grüße
Reinhard