Hallo!
Ich habe folgendes Problem in einem SMARTFORMS-Formular (Fremdbearbeitungslieferschein):
Ich muss Preise aus Infosätzen auf dem Lieferschein andrucken.
Soweit so kompliziert, gibt es dann auch noch einen Stolperstein:
Die Tabelle EINA enthält den Infosatz, die Tabelle KONP den Konditionssatz mit dem zugehörigen Preis. Um von der EINA-INFNR zur passenden Konditonssatznummer zu kommen, hilft mir die Tabelle A025, in der beide Nummern enthalten sind. Dummerweise ist in der EINA die Materialnummer nicht gepflegt (die Gründe liegen in unserer Arbeitsvorbereitung). Im Feld EINA-TXZ01 (Kurztext) sind die ersten sieben Stellen IMMER die Materialnummer.
Im Formular wollte ich habe ich soweit alles hinbekommen (und mit einer manuell eingetragenen Infosatznummer getestet), bis auf den ersten (aber entscheidenden) Schritt mit der Materialnummer:
Code: Alles auswählen.
DATA LV_INFNR TYPE INFNR.
SELECT INFNR FROM EINA
INTO LV_INFNR
WHERE TXZ01(7) = GV_MATNR
ENDSELECT.
**
Leider sagt er mir dann, dass er TXZ01(7) nicht kennt, weil das wohl innerhalb von WHERE-Klauseln nicht geht.
Und ohne die Begrenzung findet er die richtige Tabellenzeile nicht, da der Inhalt von TXZ01 ja länger ist und nach der Materialnummer weitergeht...
**Ich hab der Einfachheit halber mal die weitere Bedingungen (Lieferantennummer etc.) weggelassen.
Wie kann ich SAP sagen, dass er nur die ersten sieben Stellen von EINA-TXZ01 nach der Materialnummer durchsuchen soll?
Für eure Hilfe bedanke ich mich bereits im voraus...