Abbruch der Aufbereitung bei Sonderzeichen & im Mailbody

SFP..SAPscript (Transaktion SE71)..Smartforms (TA Smartforms).. Interactive Forms..Transaktion EFRM)..SIFBA..IAF..AIF..SIFBA - SAP_Interactive_Forms_based_on_Adobe // LÖSUNGSANSÄTZE aber AUCH FÜR "NORMALE" PDFs VERWENDBAR ;-)
Antworten
iKaffeepause
Beiträge: 4
Registriert: 24.07.2012, 16:01

Abbruch der Aufbereitung bei Sonderzeichen & im Mailbody

Beitrag von iKaffeepause » 03.09.2012, 16:32

Hallo,

momentan arbeite ich an einem interaktiven Formular auf Basis von SAP interactive Forms by Adobe unter Verwendung des Livecycle Designer 8.2.

Ich habe ein Formular erstellt auf dem sich ein Button zum E-Mail Versand befindet. Nach Betätigung des Buttons wird eine E-Mail erstellt und zum Versand vorbereitet. Der Mail Body wird hierbei mit Hilfe von JavaScript erzeugt und besteht aus den im Formular befindlichen Werten (mit entsprechender Anordnung).

Sobald in einem Formularfeld ein Sonderzeichen wir das & vorkommt (z.B. bei GmbH & Co KG im Firmennamen) bricht die Aufbereitung ab und ich erhalte eine unvollständige E-Mail.

Wie kann ich hier vorgehen um solche Sonderzeichen auszugeben ohne die Verarbeitung abzubrechen? Leider bin ich zu neu im JavaScript um hier eine Lösung zu kennen. Eine Suche in Foren hat mir bisher noch nichts geholfen.

Kann mir hier geholfen werden?

Schon jetzt vielen Dank!

iKaffeepause

Hier noch das Beispielcoding welches eben noch nicht funktioniert:
hier habe ich versucht im Feld lv_name den Fehler zu beheben. (leider ohne Erfolg)


data.#subform[0].EMAIL_BEST::preSubmit:form - (JavaScript, client)
// Variable für die E-Mail Adresse des Anforderers (Einkäufer)
var lv_mailAddress = xfa.resolveNode("data.#subform.GV_ANF_MAIL");
var lv_zzloli = xfa.resolveNode("data.#subform.ZZLOLI");
var lv_zzduns = xfa.resolveNode("data.#subform.ZZDUNS");
var lv_flag_duns = xfa.resolveNode("data.#subform.GV_FLAG_NO_DUNS");
// Beispielhaft versuche ich den Fahler im Feld lv_name zu beheben
var lv_name = xfa.resolveNode("data.#subform.GV_NAME_LONG[1]");
var lv_bankname = xfa.resolveNode("data.#subform.ZZBANKTEXT");


// Empfänger der Antwortmail festlegen (Anforderer)
xfa.resolveNode("data.#subform.EMAIL_BEST.#event.#submit").target =
"mailto:" + lv_mailAddress.rawValue
+ "?subject=" + "Eröffnung von LN " + lv_zzloli.rawValue

// ab hier erfolgt die Aufbereitung des EMail Body zur Visualisierung in der Archivierung
+ "&body=" + "Lieferantennummer wurde erstellt: " + lv_zzloli.rawValue
+ "\n\n#################################################################################################################"

+ "\nAdresse"
+ "\nD.U.N.S: " + lv_zzduns.rawValue
+ "\nKeine D.U.N.S Nr. vorhanden: " + lv_flag_duns.rawValue
+ "\nBegründung für Lieferantennr. ohne D.U.N.S: " + xfa.resolveNode("data.#subform.ZZBEGRU_DUNS_TX").rawValue
+ "\nCSM Anfragenummer: " + xfa.resolveNode("data.#subform.QMNUM").rawValue

//+ "\nFirmenname: " + xfa.resolveNode("data.#subform.GV_NAME_LONG").rawValue
+ "\nFirmenname: " + escape(lv_name.rawValue)

+ "\nRechtsform: " + xfa.resolveNode("data.#subform.ZZRECHTSFORM").rawValue
+ "\nStrasse :" + xfa.resolveNode("data.#subform.ZZSTRAS").rawValue
+ "\nHausnummer: " + xfa.resolveNode("data.#subform.GV_HOUSE_NO").rawValue
+ "\nPLZ: " + xfa.resolveNode("data.#subform.ZZPSTLZ").rawValue
+ "\nOrt: " + xfa.resolveNode("data.#subform.ZZORT01").rawValue
+ "\nLand: " + xfa.resolveNode("data.#subform.ZZLAND1").rawValue
+ "\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
+ "\nPostfach"
+ "\nPostfach Nr.: " + xfa.resolveNode("data.#subform.ZZPFACH").rawValue
+ "\nPLZ: " + xfa.resolveNode("data.#subform.ZZPSTL2").rawValue
+ "\nOrt: " + xfa.resolveNode("data.#subform.ZZPFORT").rawValue
+ "\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
+ "\nKontaktdaten"
+ "\nTelefon: " + xfa.resolveNode("data.#subform.GV_TEL_NO").rawValue
+ "\nFax: " + xfa.resolveNode("data.#subform.GV_FAX_NO").rawValue
+ "\nEmail: " + xfa.resolveNode("data.#subform.ZEMAIL").rawValue
+ "\nWebadresse: " + xfa.resolveNode("data.#subform.ZZURI_ADDR").rawValue
+ "\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
+ "\nSteueridentifikation"
+ "\nHandelsregisternummer: " + xfa.resolveNode("data.#subform.ZZCOMM_REGIS").rawValue
+ "\nUmsatzsteuernummer: " + xfa.resolveNode("data.#subform.ZZSTENR").rawValue
+ "\nUmsatzsteuerIdentnummer: " + xfa.resolveNode("data.#subform.ZZSTCEG").rawValue
+ "\nBranchenbezeichnung: " + xfa.resolveNode("data.#subform.ZZBRANCHE").rawValue
+ "\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
+ "\nBankverbindung"
//+ "\nBankbezeichnung: " + xfa.resolveNode("data.#subform.ZZBANKTEXT").rawValue
+ "\nBankbezeichnung: " + escape(lv_bankname.rawValue)
+ "\nKontonummer: " + xfa.resolveNode("data.#subform.ZZBANKKTO").rawValue
+ "\nBankleitzahl: " + xfa.resolveNode("data.#subform.ZZBANKID").rawValue
+ "\nSwiftcode: " + xfa.resolveNode("data.#subform.ZZSWIFT").rawValue
+ "\nIBAN: " + xfa.resolveNode("data.#subform.ZZIBAN").rawValue
+ "\nWährung: " + xfa.resolveNode("data.#subform.ZZKTOWAEH").rawValue
+ "\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
+ "\nZahlungs-, Verpackungs-, Lieferbedingungen"
+ "\nZahlungsbedingungen: " + xfa.resolveNode("data.#subform.ZZZAHLBED").rawValue
+ "\nVerpackungsbedingungen: " + xfa.resolveNode("data.#subform.ZZKRIAS_VSBED").rawValue
+ "\nLieferbedingungen: " + xfa.resolveNode("data.#subform.ZZKRIAS_LFBED").rawValue
+ "\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
+ "\nAntragsteller"
+ "\nAbsender der Email: " + xfa.resolveNode("data.#subform.GV_ANF_TITLE_P").rawValue + " "
+ xfa.resolveNode("data.#subform.GV_ANF_FIRSTNAME").rawValue + " "
+ xfa.resolveNode("data.#subform.GV_ANF_LASTNAME").rawValue
+ "\nAntragsteller: " + xfa.resolveNode("data.#subform.GV_ANF_TITLE_P").rawValue + " "
+ xfa.resolveNode("data.#subform.GV_ANF_FIRSTNAME").rawValue + " "
+ xfa.resolveNode("data.#subform.GV_ANF_LASTNAME").rawValue
+ "\nKostenstelle: " + xfa.resolveNode("data.#subform.GV_ANF_KOSTL").rawValue
+ "\nTelefon: " + xfa.resolveNode("data.#subform.GV_ANF_TEL").rawValue
+ "\nEmail Adresse: " + xfa.resolveNode("data.#subform.GV_ANF_MAIL").rawValue
+ "\nBemerkung: " + xfa.resolveNode("data.#subform.Bemerkung").rawValue
;

iKaffeepause
Beiträge: 4
Registriert: 24.07.2012, 16:01

Abbruch der Aufbereitung bei Sonderzeichen & im Mailbody

Beitrag von iKaffeepause » 03.09.2012, 18:43

Nachtrag:

ich habe es gerade mit replace versucht und bekomme die folgende Fehlermeldung bei Ausführung des Formulars im Reader:

Acrobat 10.0 - Integrierte Escript-Funktionen
Adobe Acrobat SOAP 10.0
TypeError: lv_name.replace is not a function
17:XFA:data[0]:#subform[0]:EMAIL_BEST[0]:preSubmit

bin ich hier noch völlig auf dem Holzweg? Mache ich grundsätzliche Fehler? Wäre wirklich nett wenn sich hier jemand meiner erbarmt.

Hier noch das verwendete Coding als Auszug:


data.#subform[0].EMAIL_BEST::preSubmit:form - (JavaScript, client)
// Variable für die E-Mail Adresse des Anforderers (Einkäufer)
var lv_mailAddress = xfa.resolveNode("data.#subform.GV_ANF_MAIL");
var lv_zzloli = xfa.resolveNode("data.#subform.ZZLOLI");
var lv_zzduns = xfa.resolveNode("data.#subform.ZZDUNS");
var lv_flag_duns = xfa.resolveNode("data.#subform.GV_FLAG_NO_DUNS");
var lv_name = xfa.resolveNode("data.#subform.GV_NAME_LONG[1]");
var lv_bankname = xfa.resolveNode("data.#subform.ZZBANKTEXT");

// Die Sonderzeichen machen noch Probleme
lv_name = lv_name.replace(/&/g,"&");

// Generierung der E-Mail
xfa.resolveNode("data.#subform.EMAIL_BEST.#event.#submit").target =

// Empfängeradresse !!!hier muss noch ein cc: eingefügt werden !!!!
"mailto:" + lv_mailAddress.rawValue

// Betreffzeile mit Lieferantennummer
+ "?subject=" + "Eröffnung von LN " + lv_zzloli.rawValue

// ab hier erfolgt die Aufbereitung des EMail Body zur Visualisierung in der Archivierung
+ "&body=" + "Lieferantennummer wurde erstellt: " + lv_zzloli.rawValue
+ "\n\n#################################################################################################################"
+ "\nAdresse"
+ "\nD.U.N.S: " + lv_zzduns.rawValue
+ "\nKeine D.U.N.S Nr. vorhanden: " + lv_flag_duns.rawValue
+ "\nBegründung für Lieferantennr. ohne D.U.N.S: " + xfa.resolveNode("data.#subform.ZZBEGRU_DUNS_TX").rawValue
+ "\nCSM Anfragenummer: " + xfa.resolveNode("data.#subform.QMNUM").rawValue
//+ "\nFirmenname: " + xfa.resolveNode("data.#subform.GV_NAME_LONG").rawValue
+ "\nFirmenname: " + lv_name.rawValue;
+ "\nRechtsform: " + xfa.resolveNode("data.#subform.ZZRECHTSFORM").rawValue
+ "\nStrasse :" + xfa.resolveNode("data.#subform.ZZSTRAS").rawValue
+ "\nHausnummer: " + xfa.resolveNode("data.#subform.GV_HOUSE_NO").rawValue
+ "\nPLZ: " + xfa.resolveNode("data.#subform.ZZPSTLZ").rawValue
.
.
.
.
.

mathiaslange
Beiträge: 4
Registriert: 19.07.2012, 15:08

Abbruch der Aufbereitung bei Sonderzeichen & im Mailbody

Beitrag von mathiaslange » 11.10.2012, 15:57

Hallo,

hast Du schon eine Lösung für das Problem gefunden? Ich hatte das gleiche Problem und habe es so gelöst:

//var Mail    = "mailto:" + Mailto + "?Subject=" + Subject + "&Body=" + Body;

/*
event.target.submitForm({
    cURL: Mail,
    bEmpty: true,
    cSubmitAs: "PDF"
});
*/

event.target.mailDoc({
    bUI:       false,
    cTo:       Mailto,
    cCC:       "",
    cSubject:  Subject,
    cMsg:      Body,
    cSubmitAs: "PDF"
    });

Ich hatte in den Varaiblen Subject und Body auch einen Namen mit "&". Danach wurde der Text abgeschnitten.
Mit "event.target.mailDoc" funktioniert es aber.

Antworten