Hallo Waldemar,
die Paramter einer dbp-Funktion dürfen max. 250 Zeichen beinhalten. Wird der Wert überschritten, wird der Rest der Zeichen in der dbq einfach abgeschnitten.Der Compiler gibt hier keinerlei Fehlermeldungen aus.
z.B: ___ForRela(), ___Shell(), alles zwischen den Klammern zählt als Paramter und darf max. 250 Zeichen beinhalten.
In diesem Fall mit der ___LinkElement() hast du bereits mit ein paar wenigen selbst definierten Feldern die Zeichnen überschritten.
Lösbar ist das ganze recht einfach, und zwar per SQL-Prozedur.
- Du hängst dich einfach in die public Copy_Stl der part.dbq
- Mit ___XDWCMD() bzw. #(XDWSFKT) rufst du eine SQL-Prozedur auf, als Paramter #AIMKEY und #COPY_OF_AIMKEY
In der SQL-Prozedur:
- Über #COPY_OF_AIMKEY kannst du den Artikel suchen, der kopiert wurde (und in weiterer Folge dessen Stückliste kopiert wurde)
- Von diesem Artikel holst du die einfach über die VIEW_XREF_CHILD_PART die Artikel der Stückliste
- Jeden dieser Artikel kannst du nun als Quelle für ein UPDATE verwenden, welches die neuen XREF-Einträge und damit die kopierte Stückliste aktualisiert. Finden kannst du diese Einträge über #AIMKEY, der ja der neu erstellte Artikel ist.
Ciao,
WolfgangE
------------------
An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!!
[Diese Nachricht wurde von WolfgangE am 16. Sep. 2004 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP