Hallo Jörg,cosmo hat geschrieben:Wenn Du das Druckprogramm nicht ändern willst, beschäftige Dich mal mit dem SAPScript-Befehl "PERFORM". Hier kannst Du ein Unterprogramm in aus einem eigenen Pool aufrufen und das Ergebnis in einer Variable (z.B. &email&) ablegen.
Gruß Jörg
Code: Alles auswählen.
/: PERFORM GET_EMAIL_ADR IN PROGRAM Z_MAHNEN
/: USING FSABE-LNAME
/: CHANGING &EMAIL_ADR&
/: ENDPERFORM
Hi,Chrisu hat geschrieben:Hallo Jörg,cosmo hat geschrieben:Wenn Du das Druckprogramm nicht ändern willst, beschäftige Dich mal mit dem SAPScript-Befehl "PERFORM". Hier kannst Du ein Unterprogramm in aus einem eigenen Pool aufrufen und das Ergebnis in einer Variable (z.B. &email&) ablegen.
Gruß Jörg
Wie sieht es aus mit der lokalen Variable, muss ich die wo deklarieren? oder kann ich einfach so die codezeilen ins Formular schreiben?
Also:lg, ChrisCode: Alles auswählen.
/: PERFORM GET_EMAIL_ADR IN PROGRAM Z_MAHNEN /: USING FSABE-LNAME /: CHANGING &EMAIL_ADR& /: ENDPERFORM
lg Jens*/: PERFORM GET_EMAIL_ADR IN PROGRAM Z_MAHNEN
*/: USING &FSABE-LNAME&
*/: CHANGING &EMAIL_ADR&
*/: ENDPERFORM
FORM GET_EMAIL_ADR TABLES imp_par_tab STRUCTURE itcsy
exp_par_tab STRUCTURE itcsy.
data lv_email type AD_SMTPADR.
data lv_user type USR21-BNAME.
REFRESH exp_par_tab.
READ TABLE imp_par_tab WITH KEY name = 'FSABE-LNAME'.
CHECK sy-subrc = 0.
* Hier mal ein break einbauen zum testen
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = imp_par_tab-value
IMPORTING
output = lv_user.
select single ADR6~SMTP_ADDR into lv_email
from ( USR21
inner join ADR6
on ADR6~ADDRNUMBER = USR21~ADDRNUMBER
and ADR6~PERSNUMBER = USR21~PERSNUMBER )
where USR21~BNAME = lv_user .
if not lv_email is initial.
exp_par_tab-name = 'EMAIL_ADR'.
exp_par_tab-value = lv_email.
APPEND exp_par_tab.
endif.
ENDFORM.