Seite 1 von 1

Fehler bei Barcode-Rückerfassung - ID-Mta.

Verfasst: Mo Apr 14, 2008 11:20 am
von droesner
Hallo,
Hab mir gerade die neue Version 3.0.0.45 mit Datenbank 2008-A.09 eingerichtet. (Mitarbeiter, Arbeitsschritte, Arbeitsstammplan, Rechte)

Bei der Barcode-Rückerfassung bekomme ich jedoch bei Schritt Mitarbeiter-Scannen folgenden Fehler:

Aktuelle Variablenwerte:
Barcode = '2'
bEinfach = False
kenner = 'P'
MySQL = 15291016
STARTSTOP = '1'

Laufzeitfehler: 10000 (Zeile: 8)
"Komponente nicht gefunden"
Laufzeitfehler: 10000 (Zeile: 11)
"Komponente nicht gefunden"

Wenn ich die Fehleranzeige schließe wird der Mitarbeiter angezeigt

Wo könnte ich was vergessen haben? Hatte mir erst einen User BARCODE eingerichtet - klappt aber selbst mit SYSDBA nicht.

Für Hilfen jederzeit offen - Danke.

Edit am
18.04.08

Hab es in der leeren Datenbank mit SYSDBA probiert.
Scannen "NEWDATA" funktioniert.
Beim Scannen des Mitarbeiters "DB-Administrator - P00000001" taucht dieser Fehler ebenfalls auf.
Ist der Fehler reproduzierbar oder nur in meinem System?

Verfasst: Do Mai 29, 2008 12:14 pm
von Geri12
Hallo droesner,
ist mir gerade beim Testen genau so passiert: Laufzeitfehler 10000 in Zeile 8 und Zeile 11.

GDB 2008-A.08, AvERP-Version 3.0.0.45

Wüßte nicht, wo ich noch notwendige Stammdaten vergessen haben könnte: Mitarbeiter mit Wochenarbeitszeiten, Zeitmodell, Lohnarten, Lohngruppen (falls die für die Projektzeitenerfassung überhaupt benötigt werden). Fertigungsauftrag mit FA-Positionen mit Status "I".

Habe leider im Moment auch keine Ahnung, woran das liegen könnte :?:

Bei neuen Erkenntnissen würde ich mich über eine kurze Rückmeldung freuen.

Gruß
Geri12

Verfasst: Do Mai 29, 2008 2:36 pm
von Geri12
Hallo,

die Fehlermeldung tritt offensichtlich in der Maske BFABARC in Prozedur PROC0001 auf, wenn die Zeile ...

Code: Alles auswählen

MySQL.ParamByName('BSM_ID', BSM_ID);
... erreicht wird.

Wenn ich den kompletten ff. Quellcode (scheinbar dort, wo der letzte gescannte Datensatz des Mitarbeiters gesucht wird) auskommentiere, tritt die Fehlermeldung nicht mehr auf.

[EDIT]
Es wäre also nach dem Abschnitt ...

Code: Alles auswählen

 if (kenner <> '*') and ((q_1.state = dssInsert) or (q_1.state = dssEdit)) then
  begin
    if (kenner = 'P') then
    begin
      SetFocus('E_BSM_ID');
      E_BSM_ID.FIELD.AsInteger := StrToInt(Barcode);
      q_1.RelationIDFeld('BSM_ID');

      STARTSTOP := '1';
das Folgende auszukommentieren ...

Code: Alles auswählen

      if ((STARTSTOP = '1') AND (BSM_ID <> '')) then
      begin
        MySQL := frmData.Universal;
        MySQL.SQL.TEXT := ' SELECT MIN(A.ID) AS "ID", A.BFAA_ID AS "BFAA_ID", A.BSMST_ID AS "BSMST_ID", A.ZEITART AS "ZEITART"  ' +
                          ' FROM BFABARC A ' + 
                          ' WHERE A.BSM_ID = :BSM_ID AND ' +
                          '       A.STARTSTOP = :STARTSTOP AND ' +
                          '       A.BFAD_ID IS NULL ' +
                          ' GROUP BY A.BFAA_ID, A.BSMST_ID, A.ZEITART' ;
        MySQL.ParamByName('BSM_ID', BSM_ID);       /* HIER HÄNGT'S */
        MySQL.ParamByName('STARTSTOP', STARTSTOP);
        MySQL.open();
        BFABARC_ID := AsInteger(MySQL.FieldByName('ID'));
        BFAA_ID := AsInteger(MySQL.FieldByName('BFAA_ID'));
        BSMST_ID := AsInteger(MySQL.FieldByName('BSMST_ID'));
        ZEITART := AsString(MySQL.FieldByName('ZEITART'));
        MySQL.close(); 

        if (BFABARC_ID > 0) then
        begin
          // ältester gestarteter Arbeitsgang aufrufen
          LB_HINWEIS.CAPTION := 'J';
          M := q_1.FieldByName('BFAA_ID');
          M.Value := BFAA_ID;
          q_1.RelationIDFeld('BFAA_ID');
          N := q_1.FieldByName('BSMST_ID');
          N.Value := BSMST_ID;
          q_1.RelationIDFeld('BSMST_ID');
          E_ZEITART.FIELD.AsString := ZEITART;

          E_MENGE.Field.AsFloat := 0.0;
          E_AUSSCHUSS.Field.AsFloat := 0.0;
          E_MENGE.Enabled := false;
          E_AUSSCHUSS.Enabled := false;
        end
        else
          LB_HINWEIS.caption := 'N';
      end;
[/EDIT]

Allerdings ist das nur ein Teil meines Problems. Trotz Fehlermeldung beim Mitarbeiter-Scan konnte man ja weitere Daten einscannen/eingeben (Start/Stop/Fertig, Arbeitsgangbarcode). Aber beim Abschließen des Datensatzes mit SAVDATA bekomme ich ff. Debuggermeldung ohne Errormeldung und stehe damit wieder da wie am Anfang ...

Code: Alles auswählen

Aktuelle Variablenwerte:
Barcode = 'SAVDATA'
bEinfach = False
kenner = '*' 
Beim Abschließen des Datensatzes mit "Einfügen bestätigen" bekomme ich ...

Code: Alles auswählen

ISC Fehlernummer 335544652
multiple rows in singleton select
In der Tabelle BFABARC sind noch keine Datensätze.

Wie weiter ???

Gruß
Geri12

Verfasst: Fr Mai 30, 2008 2:33 pm
von Geri12
Hallo,
einen Lösungsansatz für den 2.Fehler habe ich scheinbar gefunden.
Muss aber noch genauer getestet werden.

Hier etwas mehr Infos zum Nachlesen ...
http://forum.synerpy.de/viewtopic.php?p=8691#8691

Gruß
Geri12