Voraussetzungen
- Adobe Lifecycle Manager (von https://me.sap.com)
- Java Stack auf Server
- SAP Netweaver
Relevante Transaktionen
| Transaktion | Beschreibung |
|---|---|
| SE83 | Einstieg in die Formularbearbeitung |
| SE63 | i18n Tool für Übersetzungen |
| NACE | Zentrale Nachrichtensteuerung |
| CQ85/FBMP | Anzeige von einigen Formularen, die nicht über NACE bedient sind |
| VA02 | Anzeige von Nachrichtenart |
| BA02 | Suche von Nachrichtenart |
| SE80 | Einstieg in die Schnittstellenerstellung |
| SO10 | Belegtexte / Standardtexte pflegen |
| SE36 | Funktionsbausteine Testen |
| SE38 | Aufruf von Funktionsmodulen |
| SE78 | Hinterlegen von Bildern / Logos |
| SE80 | Speichern von Bildern / Logos |
Workflow
Schnittstelle
- SE80 öffnen
- Schnittstelle anlegen mit Namensraum *Z_IF_…
- Auswahl von Datenquelle & Angabe von Typen
- Hinweis: Leeres Datum = INITIAL, leerer String = SPACE
Formular
- SE80 / SFP öffnen
- Neues Formular erstellen bzw. bestehendes kopieren
- Formular kann dann innerhalb von SAP mit Adobe LCM bearbeitet werden
- Zur besseren Bearbeitung von Formularen in Adobe Forms folgendes:
- In Usereinstellungen folgende Variablen setzen:
- FPSAVEERORPDF; 1
- FPTRACELEVEL; 04
- Exportierte XML Datei (XFD.xml) kann als Datenquelle in Formular verwendet werden unter
Bearbeiten -> Formulareigenschaften -> Vorschau
- In Usereinstellungen folgende Variablen setzen:
- Adobe Forms Texte sind gepflegt unter
Andere Texte -> PDF Basierte Formulare -> PDFB
Zum Formulardesign
Allgemeines
- Seitenumbrüche werden über Teilformulare abgebildet
- Adobe LCM teilt auf in Design und Daten (= Schnittstelle)
- Felder in Tabellen werden über Rechtsklick hinzugefügt:
Einfügen -> Spalte Links/Rechts -> DatenDann eingabe der Datenbindung, z.B. $BOOKID über Dropdown neben dem Feld - Falls z.B. Anschriftsdaten oder Logos nur auf einer Seite angezeigt werden sollen
- Erstellung neue Masterseite
- Dann
Objekt -> Masterseiten -> Auftreten der Seite begrenzen - Min: 1, Max: 2
Formcalc / Javascript
- Skripte sollten nur in Ausnahnefällen benutzt werden
- Beziehen sich auf ein einzelnes Feld, welches ausgewählt werden muss
- In Event
layout:ready
Dynamisch Felder ausblenden - Formcalc
if(HasValue($)) then
$presence = "visible"
else
$presence = "hidden"
endifDynamisch Felder ausblenden - Javascript
// this = ausgewähltes Formularelement
if(this.rawValue === "test@sap.com") {
this.presence = "visible";
} else {
this.presence = "hidden";
}Tips und Hilfestellungen
- Übersetzung von Formularen geht schneller für einzelne Felder durch Wiederverwendung des XML Felds xliff:rid
- Das funktioniert über
SE63 -> Auswahl und Anzeige von Quelltext - Standardformulare werden nicht geändert, sondern kopiert in T-Code SFP
- Klick auf ‘Formular’ oder ‘Schnittstelle’
- Klick auf Button ‘Kopieren’
- Eingabe neuer Name in Z-Namensraum
- Schnittstelle aktivieren
- Im Formular: Neue Schnittstelle hinterlegen
- Test: VA02 → Auftrag → Nachrichtenart
- Kunde immer fragen:
- Wie wird das Formular ausgegeben?
- Wie heißt das Formular?