Veröffentlicht am :
Reporting CREATION_INTERNE

Generierung und Versand von PDF-Zertifikaten per E-Mail

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Das Programm definiert eine feste Liste von Empfängern (Namen und E-Mails). Anschließend wird ein Makro verwendet, um diese Liste zu durchlaufen. Für jede Person wird ein personalisiertes PDF-Zertifikat mit PROC GANNO zur präzisen Platzierung von Text und Bildern (Hintergrund, Signatur) generiert. Die resultierende Datei wird sofort als Anhang über die SMTP-Engine von SAS© versendet.
Datenanalyse

Type : CREATION_INTERNE


Die Daten (Namen und E-Mails der Studenten) werden direkt im Skript über einen DATA-Schritt und die CARDS-Anweisung erstellt.

1 Codeblock
DATA STEP Data
Erklärung :
Konfiguration der Umgebung (Pfade, Grafikoptionen, SMTP-Parameter) und Erstellung der Empfängertabelle.
Kopiert!
1%let local=C:\Papers_ALAN\GLOBALSAS\2020;
2 
3goptions reset=all iback="&local\template.PNG"
4imagestyle=fit border;
5 
6options noemailfrom emailsys=smtp emailhost=SMTP emailauthprotocol=login emailport=PORT
7emailid="e-mail" emailpw="password";
8
9DATA database;
10INPUT name $1-37 email $38-66;
11CARDS;
12Alan da Silva djalan @bol.com.br
13yyyyyyyyyyyyyyyyyyyyyyy yyy @email.com
14zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz zzz @email.com
15;
2 Codeblock
DATA STEP
Erklärung :
Transformation der Daten in Makrovariablen zur Iteration und Berechnung der Gesamtzahl der Empfänger.
Kopiert!
1DATA database;SET database;
2call symput('name'||trim(left(_n_)),trim(left(upcase(name))));
3call symput('email'||trim(left(_n_)),trim(left(email)));
4RUN;
5%put &name1 &email1;
6PROC SQL noprint;
7select count(*) into:n from database;
8QUIT;
9%put &n;
3 Codeblock
MACRO
Erklärung :
Definition und Ausführung der Makroschleife. Sie generiert das grafische PDF (PROC GANNO) und sendet die E-Mail für jeden Studenten.
Kopiert!
1%macro certificate(local=);
2options nodate nonumber leftmargin=1cm rightmargin=1cm topmargin=1cm
3bottommargin=1cm papersize=A4 orientation=landscape;
4%DO i=1 %to &n;
5ods pdf file="&local\certificate &&name&i...pdf" style=printer;
6DATA text;
7LENGTH function style $30. color $6. text $150.;
8retain line 1 xsys ysys '2' hsys '3' x 8;
9/* ... Code de génération des annotations (texte, positions, images) ... */
10text="The Department of Statistics of the University of Brasilia";OUTPUT;
11/* ... suite des instructions output ... */
12RUN;
13PROC GANNO anno=text;RUN;
14ods pdf close;
15filename myfile email
16to= "&&email&i"
17subject= "Certificate of Completion"
18attach="&local\certificate &&name&i...pdf";
19DATA _null_;
20file myfile;
21put "Dear Student, please find attached the certificate of completion of the course of study.";
22put " ";
23put "Best regards";
24put "Prof. Alan Ricardo da Silva";
25RUN;
26%END;
27%mend certificate;
28%certificate(local=&local);
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.