Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  PRO.FILE
  Dokumenten-/Teileformular!

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Dokumenten-/Teileformular! (1514 mal gelesen)
occordov
Mitglied
Ingenieur


Sehen Sie sich das Profil von occordov an!   Senden Sie eine Private Message an occordov  Schreiben Sie einen Gästebucheintrag für occordov

Beiträge: 228
Registriert: 25.02.2008

WF 2 M240
WF 3 M110
WF 5 M210
Creo Parametric 3.0 M060
Intel(R)Core(TM) i7-4820K CPU
3,7 GHz; 3,7 GHz 32.0 GB RAM
nVidia Quadro K2000

erstellt am: 24. Feb. 2012 10:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Pro.Filer,

kann man Felder des Dokumentenformulars mit Felder des Teileformulars verbinden(verknüpfen)? Was ich eigentlich sagen will ist, dass viele der Felder im Dokumentenformular und Teileformular denselben Eintrag(Wert) erhalten, macht also keinen Sinn diese Einträge doppelt auszufüllen erstens um Zeit zu sparen und zweitens um Fehler zu vermeiden.
z.B. Feld Zeichnungsnummer im Dokumentenformular und Feld Zeichnungsnummer im Teileformular erhalten immer denselben Wert. Ist es möglich dieses Feld z.B im Dokumentenformular auszufüllen und dann das Teileformular den Wert übernimmt ?

Vielen Dank im Voraus!

------------------
Errare humanum est sed perseverare diabolicum (Seneca)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

boni635
Mitglied
EDV Berater


Sehen Sie sich das Profil von boni635 an!   Senden Sie eine Private Message an boni635  Schreiben Sie einen Gästebucheintrag für boni635

Beiträge: 11
Registriert: 31.01.2011

erstellt am: 06. Mrz. 2012 20:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für occordov 10 Unities + Antwort hilfreich

Hallo,

im Standard ist es, so weit ich weiss, nicht möglich. An deiner Stelle würde ich mir gut überlegen, ob solche Funktion tatsächlich notwendig ist. Oder besser gesagt, ob du wirklich die gleichen Felder im Teil- und Dokumentenstamm brauchst. Vielleicht reicht es einige Lookup Felder anzulegen bzw. konfigurieren?

Wenn du es aber wirklich brauchst - ein Lösungsansatz mit einem Datenbank-Trigger:

Code:

USE [profile]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

-- =============================================
-- Description: Artikelnummer, Kurztext, Kunde und Fremdartikelnr. werden nach dem Verknüpfen automatisch
-- aus Teilestamm ins Dokumentstamm übertragen.
-- =============================================
CREATE TRIGGER [dbo].[US_TG_VERBIND_ARTNR]
  ON  [dbo].[VERBIND]
  AFTER INSERT
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
    -- Insert statements for trigger here   

    DECLARE @vb_objtyp1 int, @vb_objtyp2 int
    SET @vb_objtyp1 = (SELECT vb_objtyp1 FROM inserted)
    SET @vb_objtyp2 = (SELECT vb_objtyp2 FROM inserted)
   
    -- Aktualisieren nur dann, wenn ein Dokument (@vb_objtyp2 = 3) mit
    -- einem Teil (@vb_objtyp1 = 2) verknüpft wird
    IF ((@vb_objtyp1 = 2) AND (@vb_objtyp2 = 3))
    BEGIN       
        DECLARE @vb_objidnr1 int, @vb_objidnr2 int, @link_exists int

        -- Lese Dokument/Teil Db-Ids und prüfe, ob das Dokument schon mit einem
        -- Teil verknüpft ist.
        SET @vb_objidnr1 = (SELECT vb_objidnr1 FROM inserted)
        SET @vb_objidnr2 = (SELECT vb_objidnr2 FROM inserted)
        SET @link_exists = (SELECT count(*) FROM verbind WHERE vb_objidnr2 = @vb_objidnr2 AND vb_objtyp2 = 3 AND vb_objtyp1 = 2)

        -- Die Angaben werden nur für die erste Verknüpfung übernommen
        IF @link_exists = 1
        BEGIN
            DECLARE @teilenr varchar(39), @ktxt varchar(100), @kdnr numeric(16,6), @fremdnr varchar(39)

            -- Lese Artikelnummer, Kurztext etc. aus Artikelstamm und Dokumentenstamm.
            -- Nicht leere Felder aus Dokumentenstamm haben Vorrang.
            SELECT @teilenr = CASE WHEN LEN(do_fstl3) > 0 THEN do_fstl3 ELSE nft_stl9 END,
                @ktxt = CASE WHEN LEN(do_fstl4) > 0 THEN do_fstl4 ELSE nft_sth0 END,
                @kdnr = CASE WHEN do_fflo4 > 0 THEN do_fflo4 ELSE nft_flo4 END,
                @fremdnr = CASE WHEN LEN(do_fstl8) > 0 THEN do_fstl8 ELSE nft_stl8 END   
            FROM nfstamm, dokstamm WHERE nft_idnr = @vb_objidnr1 AND do_idnr = @vb_objidnr2

            -- ...und kopiere die Werte in den Dokumentstamm.
            UPDATE dokstamm
            SET do_fstl3 = @teilenr, do_fstl4 = @ktxt, do_fflo4 = @kdnr, do_fstl8 = @fremdnr
            WHERE do_idnr = @vb_objidnr2
        END
    END
END

GO


Mit freundlichen Grüßen
Jacek

------------------
ITecture
Sedanstr. 61
49076 Osnabrück

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ca18et
Mitglied



Sehen Sie sich das Profil von ca18et an!   Senden Sie eine Private Message an ca18et  Schreiben Sie einen Gästebucheintrag für ca18et

Beiträge: 54
Registriert: 29.04.2013

audio, video, disco...

erstellt am: 07. Mai. 2013 13:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für occordov 10 Unities + Antwort hilfreich

Hallo zusammen,

die Vorgehensweise per Trigger beim Einfügen einer Verknüpfung bestimmte Werte umzukopieren hat systembedingt den Nachteil dass mann dann einen weiteren Trigger braucht, der beim Ändern des Teilestamms das Dokument aktualisiert, sonst hat man dort veraltete Werte drin stehen.

Mein Vorschlag ist der, dass der Trigger beim Verknüpfen nur die ArtikelNr/Teileidentnr in die Dokumentbeschreibung dupliziert und man dieses so gefüllte Feld als Ankerfeld nimmt um via EAI immer die aktuellen Daten einzublenden. Dann spart man sich den ganzen Sermon mit Abgleichen und Aktualisieren.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz