als APAB und SMARTFORMS Anfänger habe ich gerade folgende Aufgabe.
Ein Rechnungsformular (Smartforms) soll erweitert werden, so dass verschiedene Ansprechpartner und deren Kontaktdaten im Formular erscheinen.
ein bissel hab ich bereits hinbekommen:
Globale Def.:
VBRK TYPE VBRK
RNFK1 TYPE RNFK1
GV_MA_RUECK_NAME TYPE CHAR40
GV_MA_RUECK_TELEFONTYPE CHAR20
GV_MA_RUECK_MAIL TYPE CHAR40
Eingabeparameter:
VBRK-ABART
RNFKR1-VBELN
RNFKR1-ABRDATUM
Ausgabeparameter:
GV_MA_RUECK_NAME
GV_MA_RUECK_TELEFON
GV_MA_RUECK_MAIL
- Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
- **
- WHERE VBELN = RNFKR1-VBELN
- AND FKDAT = RNFKR1-ABRDATUM.
- * Zuweisung der Abrechnungsart des gelesenen VBRK Satzes
- lv_abart = itab_vbrk-abart.
- *
- *** IF für Abrechnungsart "AA" ODER "BB"
- lv_ma_name = 'Herr Mustermann'.
- lv_ma_telefon = '123456'.
- lv_ma_mail = 'max@mustermail.de'.
- **
- * ELSE wenn keine der oberen Bedingungen erfüllt werden:
- ELSE.
- lv_ma_name = 'Frau Alleskönner'.
- lv_ma_telefon = '999999'.
- lv_ma_mail = 'maxi@mustermail.de'.
- GeSHi ©
Jetzt muss ich weitere Bedingungen einbauen, da nicht nur nach VBRK-ABART ausgewertet, sondern auch auf die Leistung (RNFP1-ABLST) und die Bewegungsart (RNFP1–BWART), beides in Struktur RNFP1 enthalten, geprüft werden sollen.
In der Tabelle vbrk, sowie den Strukturen RNFKR1 und RNFP1 gibt es die Komponente VBELN (Faktura/Belegsnummer).
Da das Formular schon durch andere Mitarbeiter bearbeitet wurde finde ich unter Globalen Definitionen einen Eintrag zu:
RNFP1TYPERNFP1Nspace(Vorschlagswert)
Ich habe jetzt den Code oben an einigen Stellen ergänzt... bisher erfolglos
Eingabeparameter:
RNFP1-ERBOE
RNFP1-ABLST
RNFP1-BWART
- Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
- * Zuweisung der Leistung
- lv_ablst = itab_rnfp1-ablst.
- * Zuweisung der Bewegungsart
- lv_bwart = itab_rnfp1-bwart.
- **
- *mein Hauptproblem:
- Im Gegensatz zu lv_abart, kommen lv_ablst und lv_bwart nicht in Tabelle vbrk vor.
- Muss ein neuer SELECT Befehl geschrieben werden, wenn ja, wie sieht in diesem Fall die Syntax/Logik und Schachtelung aus?
- **
- *
- *ein Kollege meinte dass es mehrere Möglichkeiten gibt, aber beide funktionieren nicht...
- *IF lv_ablst = 'APO-Z' AND lv_bwart = 'AS'.
- *ODER besser so?
- *IF RNFP1-ABLST = 'APO-Z' AND RNFP1-BWART = 'AS'.
- GeSHi ©
Dazu ein Versuch der nicht das gewünschte Ergebnis brachte (liegt es am SELECT Befehl?)
- Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
- WHERE VBELN = RNFKR1-VBELN
- AND FKDAT = RNFKR1-ABRDATUM.
- * Zuweisung der Abrechnungsart des gelesenen VBRK Satzes
- lv_abart = itab_vbrk-abart.
- **
- * 1.IF für Abrechnungsart "AA" ODER "BB"
- lv_ma_name = 'Herr Mustermann'.
- lv_ma_telefon = '123456'.
- lv_ma_mail = 'max@mustermail.de'.
- **
- lv_ma_name = 'Frau Alternative1'.
- lv_ma_telefon = '111111'.
- lv_ma_mail = '111111@mustermail.de'.
- **
- lv_ma_name = 'Frau Alternative2'.
- lv_ma_telefon = '222222'.
- lv_ma_mail = '222222@mustermail.de'.
- ELSE.
- lv_ma_name = 'Frau Alleskönner'.
- lv_ma_telefon = '999999'.
- lv_ma_mail = 'maxi@mustermail.de'.
- ENDIF.
- WRITE lv_ma_name TO GV_MA_RUECK_NAME.
- WRITE lv_ma_telefon TO GV_MA_RUECK_TELEFON.
- WRITE lv_ma_mail TO GV_MA_RUECK_MAIL.
- GeSHi ©
Kann mir bitte jemand bei diesem Problem helfen?
Viele Grüße
Tom