[gelöst] Schreiben eine BLOB-Feldes

19. Juni 2017 10:36

Hallo,

diesmal habe ich eine hoffentlich einfache Frage für Euch. Ich möchte gerne per Report bestimmte Artikel als gesperrt markieren und eine entsprechende Notiz hinterlassen.
Sperren und Notiz anlegen bekomme ich hin, aber das Blob-Feld "Hinweis" auf der Tabelle RecordLink bekomme ich nicht gefüllt. Hier ist mein Code - was mache ich denn verkehrt?

Notiz: record "Record Link"

Code:
RecRef.OPEN(DATABASE::Item);
RecRef.GETTABLE(Item);
Notiz."Record ID" := RecRef.RECORDID;
Notiz.SetURL(myURL);
Notiz.Description :=STRSUBSTNO('Artikelkarte - %1 · %2',"No.",Description);
Notiz.Type := Notiz.Type::Note;
Notiz.Company := COMPANYNAME;
Notiz.Created := CURRENTDATETIME;
Notiz."User ID" := USERID;
Notiz.Note.CREATEINSTREAM(inputStream);
inputText:='Lagerbereinigung, Wiederverwendung nach Absprache PGV';
inputStream.READTEXT(inputText);

if Notiz.INSERT then BEGIN
  Item.Blocked:=TRUE;
  Item.MODIFY;
END;
Zuletzt geändert von UGo am 8. August 2017 11:33, insgesamt 1-mal geändert.

Re: Schreiben eine BLOB-Feldes

19. Juni 2017 11:28

Code:
inputStream.READTEXT(inputText);

Naja, du möchtest in das Feld schreiben. Wie wäre es also mit WRITETEXT?

Re: Schreiben eine BLOB-Feldes

19. Juni 2017 11:40

Natalie hat geschrieben:
Code:
inputStream.READTEXT(inputText);

Naja, du möchtest in das Feld schreiben. Wie wäre es also mit WRITETEXT?


Zusätzlich muss aber auch anstelle eines InStreams ein OutStream verwendet werden.
Code:
Notiz.Note.CREATEOUTSTREAM(outputStream);


Warum Microsoft das "OutStream" genannt hat erschließt sich mir auch nicht so ganz wenn man doch schreiben will :-D
Der OutStream hat dann auch die Funktion WRITETEXT.

Re: Schreiben eine BLOB-Feldes

19. Juni 2017 11:52

Hallo Natalie,

danke! Da wäre ich nicht drauf gekommen - die Benennung ist völlig unlogisch. Mit outStream schreibt er zumindest etwas da rein. Aber anzeigen kann er den Text dann nicht:
Notiz.png

Hast Du noch einen Tipp was er hier von mir erwartet?

Viele Grüße,
Uta
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von UGo am 19. Juni 2017 11:58, insgesamt 1-mal geändert.

Re: Schreiben eine BLOB-Feldes

19. Juni 2017 11:53

UGo hat geschrieben:diese Funktion gibt es bei InStream-Objekten nicht:

Siehe vorherige Antwort von shove ;-)

Re: Schreiben eine BLOB-Feldes

8. August 2017 11:33

Microsoft hat offenbar systemseitig verhindert, dass jemand in der Tabelle "Record Link" via Stream das Feld "Note" füllt. Bei anderen Tabellen funktionierte es prima nur eben dort nicht.
Habe das Problem nun so gelöst:
  • gewünschten Notiztext manuell via RTC an einen Artikel drangehängt
  • Export des Notizinhalts in eine .txt-Datei
  • Import des Dateiinhalts in neue Notiz: MyRecordLink.Note.IMPORT('C:\Temp\NoteText.txt')