Entity Developer Error

Discussion of open issues, suggestions and bugs regarding Entity Framework support in ADO.NET Data providers
Post Reply
Zero-G.
Posts: 398
Joined: Sat 09 Dec 2006 12:20

Entity Developer Error

Post by Zero-G. » Sun 24 May 2009 09:01

Hey
I use the latest download for mySQL (Entity Developer Version:2.0.021)
I have a few SP's. I can use all of them in the Entity Developer expected one. - There I always get the error: The value for the property "Name" is not valid. - But I don't know why.

This is the complete SP:

Code: Select all

--Procedure: rechnungvergeben

--DROP PROCEDURE IF EXISTS `rechnungvergeben`;

DELIMITER |

CREATE DEFINER = 'root'@'%' PROCEDURE `rechnungvergeben` 
(
  IN   `uebergabeid`      text,
  IN   `isbezahlt`        boolean,
  IN   `zahlungsart`      text,
  IN   `kundenname`       text,
  IN   `kundenadresse`    text,
  IN   `auftragsbetrag`   decimal(10,2),
  IN   `bezahlterbetrag`  decimal(10,2),
  IN   `mitarbeitername`  text,
  IN   `FId`              bigint,
  IN   `RNr`              int,
  IN   `AuftragsJahr`     year,
  OUT  `nReNummer`        int
)
BEGIN
Declare _Pos, _ReNummer, _Menge, _Zuordnung INT;
Declare _AuftragsNummer, _TagabID BigInt;
Declare _DetailID BigInt;
Declare _Code, _Artikelbezeichnung VarChar(30);
Declare _Kassenanteil, _Selbstbehalt Decimal(10,2);

-- Zuerst muss geprüft werden, ob die Aufträge schon gespeichert sind
If RNr > 0 Then
  -- Rechnungsnummer wird mit übergen
  -- das bedeutet, dass der Auftrag 
  -- bezahlt wurde. - Jetzt müssen
  -- die Artike abgebucht werden.
  Begin
   Declare _AbbuchenID BigInt;
   Declare _MengeAbbuchen INT;
   Declare _AbbuchenDone INT Default 0;
   Declare _CursorAbbuchen Cursor For 
        Select ArtikelID, Menge From Tagesabschlussdetails 
               Where ReNummer=RNr And FirmenID=Fid
               And Datum=AuftragsJahr;
        Declare Continue Handler For Not Found Set _AbbuchenDone=1;
        Open _CursorAbbuchen;
        AbbuchenLoop: Loop
            Fetch _CursorAbbuchen Into _AbbuchenID, _MengeAbbuchen;
            If _AbbuchenDone=1 Then Leave AbbuchenLoop; End If;
            Call Artikelabbuchen(_AbbuchenID, FId, _MengeAbbuchen);
        End Loop AbbuchenLoop;  
    Set nReNummer = RNr; 
  End;  
Else
-- Wenn keine Rechnungsnummer übergeben wurde
  -- muss der komplette Vorgang ausgeführt werden  
  -- Daten in den Tagesabschluss schreiben
  -- /Mastertable/
  Insert Into Tagesabschluss(Druck, Name, Adresse, 
                            BezDatum, Abgegeben, 
                            BezArt, AufBetrag, 
                            BezBetrag, FirmenID)
              Values(0, Kundenname, Kundenadresse, 
                     Current_Date(), Mitarbeitername, 
                     Zahlungsart, auftragsbetrag, 
                     BezahlterBetrag, Fid);
  Set _TagabID=Last_Insert_ID();
  
  -- Rechnungsnummer ermitteln
  Select Max(ReNummer) From Tagesabschlussdetails 
        Where Datum=Year(Current_Date()) And FirmenID=FId
        Group by ReNummer Into _ReNummer;
  If _ReNummer Is NULL Then
     Set _ReNummer=1;
  Else
      Set _ReNummer=_ReNummer+1;
  End If;
  -- Hier werden in einer Schleife alle 
  -- Auftragsnummer durchgearbeitet & in
  -- die Childtabelle geschrieben
  AuftragIDLoop: While Not(Trim(UebergabeID)="") Do
     Set _Pos = Locate(";", UebergabeID);
     If _Pos0 Then
        Set _AuftragsNummer=Trim(Left(UebergabeID, _Pos-1));
        Set UebergabeID = Substr(UebergabeID, _Pos+1);
        -- Auftragstatus setzen
        Update Auftrag Set Bewegung=isBezahlt, ReNummer=
               _ReNummer, Zeitstempel=Current_TimeStamp Where
               Id=_AuftragsNummer;
        Begin
          Declare _Done INT Default 0;
          Declare _CursorDetail Cursor For 
          Select ArtikelID, Concat(InvNr, Lieferant, 
                                   ArtikelNr, 
                                   Groesse, Farbe) As Code, 
                                   ArtikelBezeichnung, Menge, Zuordnung from 
                                   AuftragDetails Where AuftragID=_AuftragsNummer
                                   Order by Zuordnung;
          Declare Continue Handler For Not Found Set _Done=1;
          Open _CursorDetail;
          DetailLoop: Loop
              Fetch _CursorDetail Into _DetailID, _Code, 
                    _ArtikelBezeichnung, _Menge, _Zuordnung;
              If _Done=1 Then Leave DetailLoop; End If;
              Insert Into Tagesabschlussdetails 
                          (TagAbID, ReNummer, Datum,
                          ArtikelID, Code, 
                          Artikelbezeichnung, Menge, 
                          Zuordnung, FirmenID) Values 
                          (_TagabID, _ReNummer, 
                          Year(Current_Date), _DetailID, 
                          _Code, _Artikelbezeichnung,
                          _Menge, _Zuordnung, FId);
              -- Die Artikel vom Stamm abbuchen
              -- aber nur dann, wenn sie bezahlt wurden
              If isBezahlt = True Then          
                Call ArtikelAbbuchen(_DetailID, FId, _Menge);
              End If;
          End Loop DetailLoop;   
          Close _CursorDetail;
        End; 
        -- Jetzt noch die Kassenpositionen 
        -- für den Tagesabschluss vorbereiten
        Select Distinct Selbstbehalt, Gesamtpreis 
                 From Auftragspositionen Where 
                 AuftragID=_AuftragsNummer Into
                 _Selbstbehalt, _Kassenanteil;
        If _Kassenanteil  0 Then
             Insert Into TagAbKrankenkassenanteil
                    (TagAbID, Kassenanteil, 
                    Selbstbehalt) Values
                    (_TagAbID, _Kassenanteil, 
                    _Selbstbehalt);
        End IF;
        Set _Kassenanteil = 0;           
     End If;
  End While AuftragIDLoop;
 Set nReNummer=_ReNummer;
End If; 
END|

DELIMITER ;
Any kind of Tip?

THX

AndreyR
Devart Team
Posts: 2919
Joined: Mon 07 Jul 2008 13:16

Post by AndreyR » Mon 25 May 2009 13:41

Could you please describe the steps for reproducing the error?
Does the error appear on drag&dropping the procedure on the designer surface?

Zero-G.
Posts: 398
Joined: Sat 09 Dec 2006 12:20

Post by Zero-G. » Tue 26 May 2009 13:13

Yes, you are right.
This happens when drag&drop the procedure to the designer.

THX

AndreyR
Devart Team
Posts: 2919
Joined: Mon 07 Jul 2008 13:16

Post by AndreyR » Wed 27 May 2009 13:40

Please provide the full version of your MySQL server.

Zero-G.
Posts: 398
Joined: Sat 09 Dec 2006 12:20

Post by Zero-G. » Sun 31 May 2009 09:19

My version of the server:

5.1.31 SP1 ENTERPRISE

THX

AndreyR
Devart Team
Posts: 2919
Joined: Mon 07 Jul 2008 13:16

Post by AndreyR » Tue 02 Jun 2009 10:55

Please drop the procedure on the DataSourceModel.Store element in the Project Explorer window, not on the designer surface.
Then save the model and send it to support * devart * com, subject "EF: Invalid SP Name".

Zero-G.
Posts: 398
Joined: Sat 09 Dec 2006 12:20

Post by Zero-G. » Wed 15 Jul 2009 08:17

Hey
For your information:
I have now updated to the latest Pro Server Edition: 5.1.34 SP1
Now I can drag/drop my SP onto the designer and it works fine

Hope this will help you.

Post Reply