Code: Alles auswählen.
REPORT z_email_users.
TYPES: BEGIN OF gtys_user_email,
bname TYPE xubname,
smtp_addr TYPE adr6-smtp_addr,
END OF gtys_user_email.
DATA: gt_user_email TYPE STANDARD TABLE OF gtys_user_email,
gs_user_email TYPE gtys_user_email,
gv_email type adr6-smtp_addr.
PERFORM email USING sy-uname CHANGING gv_email." USING gv_email email.
WRITE: / sy-uname, gv_email, gs_user_email-bname.
FORM email
USING sy-uname
CHANGING gv_email .
SELECT adr6~smtp_addr INTO CORRESPONDING FIELDS OF TABLE gt_user_email
UP TO 1 ROWS
FROM adr6
INNER JOIN usr21
ON adr6~addrnumber = usr21~addrnumber
AND adr6~persnumber = usr21~persnumber
WHERE usr21~bname = sy-uname.
* ENDSELECT.
read TABLE gt_user_email INTO gs_user_email INDEX 1.
gs_user_email-bname = sy-uname.
gv_email = gs_user_email-smtp_addr.
ENDFORM.
Code: Alles auswählen.
FORM email TABLES input_data structure itcsy CHANGING output_data structure itcsy.
....
ENDFORM.
Code: Alles auswählen.
Data: gt_input_data type itcsy,
gt_output_data type itcsy.
DATA: gt_user_email TYPE STANDARD TABLE OF gtys_user_email,
gs_user_email TYPE gtys_user_email,
gv_email type adr6-smtp_addr.
* email type adr6-smtp_addr.
PERFORM email USING gt_input_data
CHANGING lv_email.
FORM email TABLES gt_input_data STRUCTURE itcsy
CHANGING gt_output_data structure itcsy.
DATA: lv_bname LIKE usr21-bname,
lv_email LIKE adr6-smtp_addr.
Data: gt_usr21 type STANDARD TABLE OF usr21,
gs_usr21 type usr21,
gs_adr6 type adr6.
READ TABLE gt_input_data
WITH KEY name = 'USR03-BNAME'.
CHECK sy-subrc = 0.
MOVE gt_input_data-value TO lv_bname.
SELECT SINGLE * FROM usr21
into CORRESPONDING FIELDS OF gs_usr21
WHERE bname EQ lv_bname.
CHECK sy-subrc = 0.
*
SELECT SINGLE * FROM adr6
into CORRESPONDING FIELDS OF gs_adr6
WHERE addrnumber EQ gs_usr21-addrnumber
AND persnumber EQ gs_usr21-persnumber
AND flgdefault EQ 'X'.
CHECK sy-subrc = 0.
MOVE: gs_adr6-smtp_addr TO gv_email.
*
* READ TABLE gt_output_data INTO gs_output_data WITH KEY name = 'EMAIL'.
MOVE lv_email TO gt_output_data-value.
* MODIFY gt_output_data INDEX sy-tabix.
*
CLEAR: gs_adr6, gs_usr21.
CLEAR: lv_bname, lv_email.
*
ENDFORM.
Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag:
autohandel7
Ich brauche Perform um zu Testen, oder wie kan ich anderes Testen ob die date da.?wreichelt hat geschrieben:Hallo,
du mußt den PERFORM weglassen.
PERFORM email USING gt_input_data
CHANGING lv_email.
Gruß
Wolfgang
Folgende Benutzer bedankten sich beim Autor wreichelt für den Beitrag:
autohandel7
Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag:
autohandel7
Code: Alles auswählen.
FORM email TABLES input_data STRUCTURE itcsy
output_data STRUCTURE itcsy.
DATA: lv_bname TYPE usr21-bname,
lv_email TYPE adr6-smtp_addr.
READ TABLE Input_data
WITH KEY name = 'USR03-BNAME'.
CHECK sy-subrc = 0.
MOVE Input_data-value TO lv_bname.
SELECT a~smtp_addr FROM adr6 AS a INNER JOIN usr21 AS u
ON u~persnumber = a~persnumber AND u~addrnumber = a~addrnumber
INTO lv_email
WHERE a~flgdefault = 'X' AND u~bname = lv_bname.
READ TABLE output_data WITH KEY name = 'EMAIL'.
CHECK sy-subrc = 0.
output_data-value = lv_email.
MODIFY output_data INDEX sy-tabix.
ENDFORM.
Folgende Benutzer bedankten sich beim Autor jocoder für den Beitrag:
autohandel7
Beides ist wahnsinnig kompliziert, wenn die Anforderung hinreichend komplex ist. Ich habe nichts gegen SAPscript, ich setze es selbst noch ein (aber eher für "schöne Report-Druckausgaben"), aber zeitgemäß ist das nicht mehr, wenn man sich moderne Workflows anguckt (oder willst du mir zeigen, wie man ein interaktives, plattformübergreifendes Formular erstellt, dessen Inhalte elektronisch weiterverarbeitet werden sollen?).jocoder hat geschrieben:Apropos SAPScript:
Ich erstelle noch im Jahr 2015! Formulare in SAPScript Wenn me sich damit auskennt,
geht das viel besser als mit dem Adobe-Käse
Report Druckausgabe?ralf.wenzel hat geschrieben:jocoder hat geschrieben:wie gesagt: Ich nutze es, um Report-Druckausgaben in optisch ansprechender Form zu erzeugen, das geht in der Tat schneller als mit Adobe).
Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag:
autohandel7