Discussion:
Texte für Zahlungsbedingungen
(zu alt für eine Antwort)
Steffen Kother
2011-10-19 12:04:59 UTC
Hallo Leute,

die russische Sprache bereitet uns etwas Kopfzerbrechen. Im Speziellen
die Texte der Zahlungsbedingungen.

Ich habe schon die wichtig(st)en Tabellen abgegrast: T052, T052U, ZT052U
(eigene), TVZB, TVZBT. Und auch unser Druckprogramm für die Fakturen:
ZRVADIN01.

Leider werde ich nicht schlauer. Die Rechnung wurde in Russisch per
"Nachricht wiederholen" erzeugt. Für den Andruck der Zahlungsbedingungen
wird eine Prüfung der Tabelle ZT052U vorgenommen bzw. der
(Standard)-ZB-Text angedruckt.

Die Kundentextprüfung sieht so aus:

select single text1 into zt052u-text1
from zt052u
where spras = nast-spras and
zterm = vbdkr-zterm.

call function 'WRITE_FORM'
exporting
element = 'HEADER_DATA'
exceptions
element = 1
window = 2.
if sy-subrc ne 0.
perform protocol_update.
endif.

Beim Debugging hat NAST-SPRAS den Wert "R" und VBDKR-ZTERM bspw. "000N".
Dazu gibt es keinen eintrag in unseren Kundentabelle. Soweit ist alles
in Ordnung. Allerdings finde ich nicht raus, warum dann im Formular ein
englischer ZB-Text ("Up to ... without deduction"), scheinbar vom
Standard, gezogen wird. Es hätte doch auch der deutsche sein können?

Wenn ich nun aber alle o.a. Texttabellen durchgehe, dann finde ich den
angedruckten Text in keiner davon. Übers Customizing und dann die
Übersetzung in den Zahlungsbdingungen liefert auch nur die schon
eingetragenen Texte, aber nicht den angedruckten.

Suche ich evtl. an der völlig falschen Stelle? Oder fehlt mir ein
entscheidender Teil für das "Puzzle"?
--
Für Hilfe dankbar und freundlich grüßend

Steffen
gs_dev0@nexgo.de
2011-10-20 07:52:11 UTC
Hallo Steffen,

schau dir mal die Textelemente zum Include SAPLVPRI (FB
SD_PRINT_TERMS_OF_PAYMENT) an.
Aus denen wird normalerweise der Text für die Zahlungsbedingungen
zusammengebaut.
Beispiel: Text 004:
DE: Bis zum &DATUM ohne Abzug
EN: Up to &DATUM without deduction

Vermutlich fehlt die Übersetzung der Texte (Springen -> Übersetzung)
in der Anzeige der Textsymbole.

Viele Grüße,
Georg
Post by Steffen Kother
Hallo Leute,
die russische Sprache bereitet uns etwas Kopfzerbrechen. Im Speziellen
die Texte der Zahlungsbedingungen.
Ich habe schon die wichtig(st)en Tabellen abgegrast: T052, T052U, ZT052U
ZRVADIN01.
Leider werde ich nicht schlauer. Die Rechnung wurde in Russisch per
"Nachricht wiederholen" erzeugt. Für den Andruck der Zahlungsbedingungen
wird eine Prüfung der Tabelle ZT052U vorgenommen bzw. der
(Standard)-ZB-Text angedruckt.
select single text1 into zt052u-text1
               from zt052u
               where spras = nast-spras and
                     zterm = vbdkr-zterm.
   call function 'WRITE_FORM'
        exporting
             element = 'HEADER_DATA'
        exceptions
             element = 1
             window  = 2.
   if sy-subrc ne 0.
     perform protocol_update.
   endif.
Beim Debugging hat NAST-SPRAS den Wert "R" und VBDKR-ZTERM bspw. "000N".
Dazu gibt es keinen eintrag in unseren Kundentabelle. Soweit ist alles
in Ordnung. Allerdings finde ich nicht raus, warum dann im Formular ein
englischer ZB-Text ("Up to ... without deduction"), scheinbar vom
Standard, gezogen wird. Es hätte doch auch der deutsche sein können?
Wenn ich nun aber alle o.a. Texttabellen durchgehe, dann finde ich den
angedruckten Text in keiner davon. Übers Customizing und dann die
Übersetzung in den Zahlungsbdingungen liefert auch nur die schon
eingetragenen Texte, aber nicht den angedruckten.
Suche ich evtl. an der völlig falschen Stelle? Oder fehlt mir ein
entscheidender Teil für das "Puzzle"?
--
Für Hilfe dankbar und freundlich grüßend
Steffen
Steffen Kother
2011-10-20 09:59:12 UTC
Hallo Georg,
Post by ***@nexgo.de
schau dir mal die Textelemente zum Include SAPLVPRI (FB
SD_PRINT_TERMS_OF_PAYMENT) an.
Aus denen wird normalerweise der Text für die Zahlungsbedingungen
zusammengebaut.
Besten Dank. Wieder was gelernt. Ja Text in RU steht da nicht drin...

Ich habe mich noch weiter durchs Coding debuggt aber finde nur die
Stellen, an denen (Text-004) in CONDZEIL geschrieben wird. Mir
erschließt sich nicht, wie da der englische Text gezogen wird... Zumal
das Formular im Original die Sprache DE hat, als auch der Include LVPRI.

Kannst du mir das evtl. erklären? Kann man die Texte in eigene Sprachen
ersetzen oder sollte man das lieber vermeiden?
--
Viele Grüße, Steffen
gs_dev0@nexgo.de
2011-10-20 11:35:04 UTC
Hallo Steffen,

die Sprache wird zu Beginn des Funktionsbausteins gesetzt, siehe auch
die ABAP-Dokumentation dazu.
Du kannst den FB ja mal mit den Inputparametern LANGUAGE und
TERMS_OF_PAYMENT debuggen
und dir den Inhalt der Textvariablen im Debugger anzeigen lassen, dann
sieht man das schön.
...
IF LANGUAGE NE SPACE.
SET LANGUAGE LANGUAGE.
...
Theoretisch könntest du die Textelemente selbst anlegen, allerdings
würde ich mich da an der Standardübersetzung
von SAP orientieren.
Ggfs. musst du die Zielsprache noch mittels Programm RSCPINST anlegen,
damit du überhaupt die Übersetzung
in der gewünschten Sprache anlegen kannst.

Viele Grüße,
Georg
Post by Steffen Kother
Hallo Georg,
 >
Post by ***@nexgo.de
schau dir mal die Textelemente zum Include SAPLVPRI (FB
SD_PRINT_TERMS_OF_PAYMENT) an.
Aus denen wird normalerweise der Text für die Zahlungsbedingungen
zusammengebaut.
Besten Dank. Wieder was gelernt. Ja Text in RU steht da nicht drin...
Ich habe mich noch weiter durchs Coding debuggt aber finde nur die
Stellen, an denen (Text-004) in CONDZEIL geschrieben wird. Mir
erschließt sich nicht, wie da der englische Text gezogen wird... Zumal
das Formular im Original die Sprache DE hat, als auch der Include LVPRI.
Kannst du mir das evtl. erklären? Kann man die Texte in eigene Sprachen
ersetzen oder sollte man das lieber vermeiden?
--
Viele Grüße, Steffen
Steffen Kother
2011-10-20 12:27:12 UTC
Hi Georg,
Post by ***@nexgo.de
Hallo Steffen,
die Sprache wird zu Beginn des Funktionsbausteins gesetzt, siehe auch
die ABAP-Dokumentation dazu.
Das habe ich gesehen. Aber eben nicht E und EN sondern R und RU
(Language/Country).

Daher meine Aussage, dass ich nicht verstehe, warum das System dann den
Englischen nimmt.

Allerdings bin ich es auch langsam <kleinlaut>leid</kleinlaut>, in einem
nicht Russisch könnenden System alles zu verbiegen, damit es Russisch
aufm Papier macht.

Werde mich wieder aufs Programmieren stürzen. Die Reports sind imA
wichtiger.
--
Viele Grüße

Steffen
gs_dev0@nexgo.de
2011-10-20 12:55:01 UTC
Hallo Steffen,

wenn es die Textelemente in der angegebenen Sprache nicht gib,
versucht das System einen "Default"-Text zu ziehen.
Siehe Doku zu set language:
---schnipp---
Falls es zur angegebenen Sprache keinen Text-Pool gibt, wird der Text-
Pool der seit Release 6.20 im Profilparameter zcsa/second_language
angegebenen Sekundärsprache geladen. Falls keine Sekundärsprache
gesetzt ist, wird kein neuer Text-Pool geladen und sy-subrc auf 4
gesetzt. Das Programm verwendet dann weiterhin die Textelemente des
bisherigen Text-Pools.
---schnapp---

Gruß,
Georg
Post by Steffen Kother
Hi Georg,
Post by ***@nexgo.de
Hallo Steffen,
die Sprache wird zu Beginn des Funktionsbausteins gesetzt, siehe auch
die ABAP-Dokumentation dazu.
Das habe ich gesehen. Aber eben nicht E und EN sondern R und RU
(Language/Country).
Daher meine Aussage, dass ich nicht verstehe, warum das System dann den
Englischen nimmt.
Allerdings bin ich es auch langsam <kleinlaut>leid</kleinlaut>, in einem
nicht Russisch könnenden System alles zu verbiegen, damit es Russisch
aufm Papier macht.
Werde mich wieder aufs Programmieren stürzen. Die Reports sind imA
wichtiger.
--
Viele Grüße
Steffen