AvERPDesigner - [Übersetzung aller Forms] (erl.)

Alles über Formulare, deren Erstellung und deren eventueller Austausch

Moderator: SYNERPY

Antworten
Geri12
Beiträge: 589
Registriert: Mi Apr 16, 2008 7:51 am

AvERPDesigner - [Übersetzung aller Forms] (erl.)

Beitrag von Geri12 »

Hallo

Habe gerade im AvERPDesigner mehrere Reporte (von meiner Entwicklungs-DB) über [aus *.RES laden] in die datengefüllte Test-DB eingespielt. In den Reporten sind teilweise neue LB_... - Komponenten drin, die sich normalerweise erst beim 1. Aufruf des Reports automatisch in die Datenbank eintragen. Erst nach dem Eintragen können sie übersetzt werden.

In diesem Zusammenhang ist bei mir die Frage aufgetaucht: Welchen Job erledigen die Schaltflächen [Übersetzung Formular] und [Übersetzung aller Forms] in AvERPDesigner ?

P.S. Wäre schön, wenn auch diese Teile in der nächsten Dokumentation überarbeitet wären ...
Zuletzt geändert von Geri12 am Fr Aug 14, 2009 10:37 am, insgesamt 1-mal geändert.
Gruß
Geri12

Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
Geri12
Beiträge: 589
Registriert: Mi Apr 16, 2008 7:51 am

Beitrag von Geri12 »

Ok, hat sich erledigt. (Die Flut der Antworten hätte mich zuviel Auswertungszeit gekostet :lol: :D :) :roll: )

Habe eine Funktion geschrieben, mit der ich die Übersetzungen direkt an Ort und Stelle in die entsprechenden Tabellen einpflegen kann. In einer Textdatei habe ich für alle LB-Komponenten der 5 Haupt-Reporte (Best, Angebot, AB, Lief, Rech) unsere eigenen Bezeichnungen und die entsprechenden Übersetzungen mit einem Funktionsaufruf eingetragen. Dann die Textdatei als Script ausgeführt und mit einem Rutsch waren unsere 100 Übersetzungen in die DB eingespielt ...
Gruß
Geri12

Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
Geri12
Beiträge: 589
Registriert: Mi Apr 16, 2008 7:51 am

Beitrag von Geri12 »

Hallo,
bin gerade am Verzeichnis-Aufräumen. Vielleicht kann sich ja noch jemand hiermit unnötige Arbeit ersparen ...

Das folgende Script in IBExpert einspielen (erzeugt die Prozedur Y_TRANS_LB)

Code: Alles auswählen

SET TERM ^ ;

CREATE PROCEDURE Y_TRANS_LB (
    LB_KOMPONENTE VARCHAR(75),
    ZIELSPRACHE VARCHAR(3),
    UEBERSETZUNG VARCHAR(254))
AS
DECLARE VARIABLE SPRACHE_ID INTEGER;
DECLARE VARIABLE A_TRANS_ID INTEGER;
DECLARE VARIABLE A_TRANSP_ID INTEGER;
begin
  /* Letzte Änderung: Geri12 17.11.2008 10:34 */

  -- UNIVERSAL-DRUCK-Variable (A_TRANS.UNIVERSAL=1) automatisch eintragen ...
  --
  -- Parameter:
  --   LB_KOMPONENTE -> Bsp.: 'LB_Ansprechpartner'
  --   ZIELSPRACHE   -> Bsp.: 'D' = deutsch, 'ENG' = englisch
  --   UEBERSETZUNG  -> Bsp.: 'Sachbearbeiter/in'

  SPRACHE_ID = NULL;
  SELECT A.A_SPRACHE_ID
  FROM BSPRA A
  WHERE UPPER(A.MASKENKEY) = UPPER(:ZIELSPRACHE)
  INTO :SPRACHE_ID;

  IF ((SPRACHE_ID IS NOT NULL) AND (SPRACHE_ID > 0)) THEN
  BEGIN
    A_TRANS_ID = NULL;
    --
    -- Datensatz mit LB-Komponente suchen
    SELECT B.ID
    FROM A_TRANS B
    WHERE ((B.UNIVERSAL = 1) AND (UPPER(B.MASKENKEY) = UPPER(:LB_KOMPONENTE)))
    INTO :A_TRANS_ID;
    --
    IF (A_TRANS_ID IS NULL) THEN
    BEGIN
      -- Datensatz mit LB-Komponente existiert noch nicht -> anlegen
      INSERT INTO A_TRANS (UNIVERSAL, AUTOMATISCH, MASKENKEY)
      VALUES (1, 0, UPPER(:LB_KOMPONENTE));
      --
      -- Datensatz mit LB-Komponente nochmals suchen
      SELECT B.ID
      FROM A_TRANS B
      WHERE ((B.UNIVERSAL = 1) AND (UPPER(B.MASKENKEY) = UPPER(:LB_KOMPONENTE)))
      INTO :A_TRANS_ID;
    END
    --
    IF ((A_TRANS_ID IS NOT NULL) AND (A_TRANS_ID > 0)) THEN
    BEGIN
      --
      A_TRANSP_ID = NULL;
      --
      -- Datensatz mit Übersetzung suchen
      SELECT C.ID
      FROM A_TRANSP C
      WHERE ( C.A_SPRACHE_ID = :SPRACHE_ID AND
              C.A_TRANS_ID_LINKKEY = :A_TRANS_ID )
      INTO :A_TRANSP_ID;
      --
      IF (A_TRANSP_ID IS NULL) THEN
      BEGIN
        -- Übersetzungs-Datensatz neu anlegen
        INSERT INTO A_TRANSP (A_TRANS_ID_LINKKEY, A_SPRACHE_ID, MASKENKEY)
        VALUES (:A_TRANS_ID, :SPRACHE_ID, :UEBERSETZUNG);
      END
      ELSE
      BEGIN
        -- Vorhandene Übersetzung updaten
        UPDATE A_TRANSP D
        SET D.MASKENKEY = :UEBERSETZUNG
        WHERE D.ID = :A_TRANSP_ID;
        --
        -- WHERE ( D.A_SPRACHE_ID = :SPRACHE_ID AND
        --         D.A_TRANS_ID_LINKKEY = :A_TRANS_ID );
      END
      --
    END
    --
  END

end^

SET TERM ; ^

GRANT SELECT ON BSPRA TO PROCEDURE Y_TRANS_LB;

GRANT SELECT,INSERT ON A_TRANS TO PROCEDURE Y_TRANS_LB;

GRANT SELECT,INSERT,UPDATE ON A_TRANSP TO PROCEDURE Y_TRANS_LB;

GRANT EXECUTE ON PROCEDURE Y_TRANS_LB TO SYSDBA;
Die so erzeugte Funktion wird im ff. Script dann ordentlich oft aufgerufen :lol:


Das Script mit Ihren eigenen Übersetzungen füllen (bzw. um neue LB-Variablen ergänzen), dann in IBExpert als Script ausführen ...

Code: Alles auswählen

SET SQL DIALECT 3;

SET NAMES NONE;

-- EXECUTE PROCEDURE Y_TRANS_LB( '', 'D', '');       // MUSTER
-- EXECUTE PROCEDURE Y_TRANS_LB( '', 'ENG', '');     // MUSTER

-- Allg. Felder
--
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_ProjNr', 'D', 'Projektnummer');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_ProjNr', 'ENG', 'Project no.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_myDruckdatum', 'D', 'Druckdatum');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_myDruckdatum', 'ENG', 'Printing date');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Kundennummer', 'D', 'Kunden-Nr.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Kundennummer', 'ENG', 'Customer no.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Telefon', 'D', 'Ihre Telefon-Nr.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Telefon', 'ENG', 'Your telefone no.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Telefax', 'D', 'Ihre Telefax-Nr.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Telefax', 'ENG', 'Your telefax no.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_UStID', 'D', 'Ihre USt-ID-Nr.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_UStID', 'ENG', 'Your VAT-ID-no.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_UnsereStrNr', 'D', 'Steuer-Nr.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_UnsereStrNr', 'ENG', 'Tax-no.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_UnsereUstID', 'D', 'USt-ID-Nr.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_UnsereUstID', 'ENG', 'USt-ID-no.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Ansprechpartner', 'D', 'Sachbearbeiter/in');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Ansprechpartner', 'ENG', 'Contact');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Durchwahl', 'D', 'Durchwahl');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Durchwahl', 'ENG', 'Direct dialing');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_EMailAdresse', 'D', 'eMail');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_EMailAdresse', 'ENG', 'eMail');
--
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_MwKz', 'D', 'MwSt');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Seriennummern', 'D', 'Seriennummern');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Seriennummern', 'ENG', 'Serial numbers');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Lieferbedingung', 'ENG', 'Delivery condition:');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Versandbedingung', 'ENG', 'Mode of shipment:');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Zahlungsbedingung', 'D', 'Zahlungsbedingungen:');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Zahlungsbedingung', 'ENG', 'Payment condition:');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Last', 'D', 'Ansonsten gelten unsere Allgemeinen Liefer- und Zahlungsbedingungen.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Last', 'ENG', 'Supply according to our general delivery and payment conditions.');


-- Ausdruck 'Angebot'
--
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Angebot', 'D', 'ANGEBOT');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Angebot', 'ENG', 'QUOTATION');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_AngebotNr', 'D', 'Angebots Nr.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_AngebotNr', 'ENG', 'Quotation no.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_myAngebotDatum', 'D', 'Angebotsdatum');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_myAngebotDatum', 'ENG', 'Quotation date');
--
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Lieferadr', 'D', 'Lieferadresse:');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Lieferadr', 'ENG', 'Delivery address:');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Rechadr', 'D', 'Rechnungsadresse:');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Rechadr', 'ENG', 'Billing address:');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Gueltig_Bis', 'D', 'Dieses Angebot ist gültig bis zum ');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Gueltig_Bis', 'ENG', 'This quotation is valid until  ');


-- Ausdruck 'Auftragsbestätigung'
--
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_AuftrBest', 'D', 'AUFTRAGSBESTÄTIGUNG');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_AuftrBest', 'ENG', 'ORDER CONFIRMATION');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Auftrag', 'D', 'AUFTRAG');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Auftrag', 'ENG', 'ORDER CONFIRMATION');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_AuftragNr', 'D', 'Auftrag Nr.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_AuftragNr', 'ENG', 'Order no.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_myAuftragDatum', 'D', 'Auftragsdatum');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_myAuftragDatum', 'ENG', 'Order date');


-- Ausdruck 'Lieferschein'
--
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_LieferscheinNr', 'D', 'Lieferschein Nr.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_LieferscheinNr', 'ENG', 'Delivery note no.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_myLieferscheinDatum', 'D', 'Lieferscheindatum');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_myLieferscheinDatum', 'ENG', 'Delivery note date');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Werkstoff', 'D', 'Werkstoff');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Werkstoff', 'ENG', 'Material');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_GewEin', 'D', 'Gewicht/Einheit');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_GewEin', 'ENG', 'Weight/Unit');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Auftragsnummer', 'D', 'Unsere Auftrags-Nr.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Auftragsnummer', 'ENG', 'Our order no.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_IhreBestellNr', 'D', 'Ihre Bestell-Nr.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_IhreBestellNr', 'ENG', 'Your order no.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Restmenge', 'D', 'Restmenge');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Restmenge', 'ENG', 'Remaining quantity');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_RestMengeStorno', 'D', 'Restmenge Storno, gemäß Absprache');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_RestMengeStorno', 'ENG', 'Remaining quantity cancelation, according to the agreement');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_OffLief', 'D', 'Offene Lieferungen:'); 
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_OffLief', 'ENG', 'Undelivered positions:'); 
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Mit', 'D', 'mit');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Mit', 'ENG', 'with');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_myVerpackung', 'D', 'Verpackung:');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_myVerpackung', 'ENG', 'Packaging:');


-- Ausdruck 'Rechnung'
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_RechnungNr', 'D', 'Rechnung Nr.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_RechnungNr', 'ENG', 'Invoice no.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_myRechnungsDatum', 'D', 'Rechnungsdatum');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_myRechnungsDatum', 'ENG', 'Invoice date');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_KundenNr', 'D', 'Kunden-Nr.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Proforma', 'D', 'PROFORMA-');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Proforma', 'ENG', 'PROFORMA ');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_KundenNr', 'D', 'Kunden-Nr.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_KundenNr', 'ENG', 'Customer no.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Lieferscheinnummer', 'D', 'Lieferschein-Nr.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Lieferscheinnummer', 'ENG', 'Delivery note no.'); 
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_GesamtNetto', 'D', 'Zwischensumme');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_GesamtNetto', 'ENG', 'Subtotal');
--
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Gutschrift', 'D', 'GUTSCHRIFT');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Gutschrift', 'ENG', 'CREDIT NOTE');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Gutschriftsbetrag', 'D', 'Gutschriftsbetrag');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Gutschriftsbetrag', 'ENG', 'Credit amount');
--
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_WirBeliefern', 'D', 'Ansonsten gelten unsere Allgemeinen Liefer- und Zahlungsbedingungen.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_WirBeliefern', 'ENG', 'Supply according to our general delivery and payment conditions.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Kontonummer', 'D', 'Bitte überweisen Sie auf das Konto Nr.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Kontonummer', 'ENG', 'Please pay to the account no.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_BLZ', 'D', 'Bankleitzahl');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_BLZ', 'ENG', 'Bank ID');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Bank', 'D', 'Kreditinstitut:');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Bank', 'ENG', 'Credit institution:');


-- Ausdruck 'Bestellung'
--
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_BestellungNr', 'D', 'Bestellung Nr.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Datum', 'D', 'Datum');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_UnsereKundenNr', 'D', 'Unsere Kunden-Nr.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Lieferantennummer', 'D', 'Lieferanten-Nr.');
--
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_PosNr', 'D', 'Pos');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_ArtBez', 'D', 'Artikelbezeichnung');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_IhreArtNr', 'D', 'Ihre Bestell-Nr.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Zeichnungsnr', 'D', 'Zeichnungs-Nr.');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_DIN', 'D', 'Norm');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Werkst', 'D', 'Werkstoff');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Oberfl', 'D', 'Oberfläche');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Gewicht', 'D', 'Stückgewicht:');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_AbwLiefAdr', 'D', 'Abweichende Lieferadresse');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_Liefertermin', 'D', 'Liefertermin');
EXECUTE PROCEDURE Y_TRANS_LB( 'LB_RechB', 'D', 'Gesamt (netto)');


COMMIT WORK;
Gruß
Geri12

Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

Danke für den ausführlichen Beitrag! Der nächste freut sich.
Antworten