
Beispiel: Spezifische Formularelemente im HTML- Template (SAP-Design)
Nach der Anweisung `SAP_ISRFormBegin()`
beginnt der eigentliche, für das Szenario spezifische Teil des HTML-Templates. Sie können mit Hilfe der folgenden Funktionen die Formularelemente des Antrags definieren.
Die Funktionen sind im Internet Service sr_library im Template isr_template_library hinterlegt.

Laden Sie die Formularelemente ins SAP@Web-Studio, um die Funktionen zu studieren oder lassen Sie sich den Internet-Service SR_LIBRARY im Web Application Builder anzeigen. Der Syntaxcheck kann die Funktionen dann finden.
Weitere Informationen finden Sie in der SAP-Bibliothek unter Basis ®
SAP-Internet-Anwendungen ®
SAP@Web Studio oder Basis ® BC-ABAP Workbench ®
Integration von Internet Services ®
Web Application Builder.
Formularelemente

Die Beispiele sind dem im Standard ausgelieferten Szenario Antrag auf Büroumzug (SR01) entnommen. Um die beschriebenen Beispiele zu studieren, rufen Sie diesen auf.
SAP_ISRGetLabel(name)
Gibt die Beschreibung eines speziellen oder allgemeinen Merkmals
name zurück.
Beispiel:
`myLabel = SAP_ISRGetLabel(name="BUILDING_TO")`
Ergebnis:
Die durch die Zuweisung definierte Variable myLabel enthält den Text „nach Gebäude".
SAP_ISRGetMaxSize(name)
Gibt die maximale Länge für das Merkmal
name zurück.
Beispiel:
`mySize = SAP_ISRGetMaxSize(name="ISR_HEADER-NOTIF_TYPE")`
Ergebnis:
Die durch die Zuweisung definierte Variable mySize enthält den Wert 2.
SAP_ISRAdjustMode(mode)
Setzt den Modus für ein Eingabefeld unter Berücksichtigung des aktuellen Bearbeitungsmodus (CREATE oder DISPLAY) um.
Beispiel:
`myMode = SAP_ISRAdjustMode(mode)`
Ergebnis:
Wenn der Antrag im Modus Anzeigen aufgerufen wurde, enthält myMode den Wert disabled, in allen anderen Fällen den Wert, der über den Parameter mode übergeben wurde.
SAP_ISRFieldListBegin(left, top, labelWidth=SAP_ISRdefaultLabelWidth )
und
SAP_ISRFieldListEnd( )
Definieren eine Liste von Formularelementen, die zeilenweise untereinander angeordnet werden. Die Liste beginnt
left Spalten vom rechten Rand und top Zeilen vom oberen Rand des Formulars. Die Breite der Labels der Eingabefelder innerhalb der Liste ist labelWidth (optionaler Parameter mit Vorschlagswert SAP_ISRdefaultLabelWidth = 30).
Beispiel:
`x = 1; y = 1`
`SAP_ISRFieldListBegin( x , y , 018) `
`SAP_ISRLabel( labelText="von Büro", left = x+13); `
`SAP_ISRField( name="ISR_INITIATED_BY-BUILDING" ) `
`SAP_ISRField( name="ISR_INITIATED_BY-FLOOR" ) `
`SAP_ISRField( name="ISR_INITIATED_BY-ROOM_NO" ) `
`SAP_ISRFieldListEnd( ) ``
SAP_ISRFieldListRowBegin( )
und
SAP_ISRFieldListRowEnd( )
Definieren innerhalb einer mit SAP_ISRFieldListBegin() eröffneten Liste von Formularelementen eine Reihe von Formularelementen.
Beispiel:
`x = 1; y = 1`
`SAP_ISRFieldListBegin( x , y ,018) `
`SAP_ISRField( name="ISR_INITIATED_BY-FIRSTNAME" ) `
`SAP_ISRFieldListRowBegin( ) `
`SAP_ISRField( name="ISR_INITIATED_BY-TEL_NUMBER" ) `
`SAP_ISRLabel( labelText="-", left = x+23); `
`SAP_ISRField( name="ISR_INITIATED_BY-TEL_EXTENSION", fieldLabel="noLabel", left=x+22 ) `
`SAP_ISRFieldListRowEnd( ) `
`SAP_ISRField( name="ISR_INITIATED_BY-E_MAIL" ) `
` SAP_ISRField( name="ISR_INITIATED_BY-DEPARTMENT" ) `
`SAP_ISRFieldListEnd( ) `
SAP_ISRFieldListSkipRow( )
Definiert innerhalb einer mit
SAP_ISRFieldListBegin() eröffneten Liste von Formularelementen eine Leerzeile.
SAP_ISRField( id="", fieldLabel="noLabelSpec", fieldLabelWidth=0, name, mode="enabled", size=0, maxLength=0, inspectionText="",left=0, top=0)
Definiert ein Eingabefeld mit Label und optional Text hinter dem Eingabefeld.
Die Parameter bedeuten im Einzelnen:
id
optional
Id des Formularelements, falls Sie mit JavaScript arbeiten möchten.
fieldLabel
optional
Label vor dem Eingabefeld. Label="noLabel" bewirkt, daß kein Label ausgegeben wird.
fieldLabelWidth
optional
Breite des Labels.
Innerhalb einer Feldliste (siehe oben) muß keine Breite mitgegeben werden.
name
Name des Merkmals, für das das Eingabefeld erzeugt werden soll.
mode
optional
enabled (eingabebereit) oder disabled (nicht eingabebereit)
Wird ein Eingabefeld als eingabebereit definiert, die Anfrage jedoch im Modus Anzeigen aufgerufen, dann wird automatisch auf nicht eingabebereit umgeschaltet.
size
optional
Ausgabelänge des Eingabefeldes.
Wird keine Ausgabelänge mitgegeben, wird die Ausgabelänge des Feldes automatisch ermittelt.
maxLength
optional
Maximale Länge der Eingabe im Eingabefeld.
Wird keine Ausgabelänge mitgegeben, wird die Länge automatisch ermittelt.
inspectionText
optional
Text hinter dem Eingabefeld.
left
optional
Position des Eingabefelds gerechnet in Spalten vom linken Rand des Formulars.
Bei Verwendung einer Feldliste wird die Koordinate automatisch ermittelt.
top
optional
Position des Eingabefelds gerechnet in Zeilen vom oberen Rand des Formulars.
Bei Verwendung einer Feldliste wird die Koordinate automatisch ermittelt.Beispiel:
`SAP_ISRField( name="ISR_INITIATED_BY-FIRSTNAME" ) `
SAP_ISRPulldownField( id="", fieldLabel="noLabelSpec", fieldLabelWidth=0, name, key, content="", mode="enabled", size=0, maxLength=0, inspectionText="", onchange="", left=0, top=0 )
Definiert eine ComboBox mit Label und optional Text hinter der ComboBox. Im Modus
mode="disabled" gibt das System statt der ComboBox ein nicht eingabebereites Feld mit dem aktuell ausgewählten Wert aus.
Die Bedeutung der Parameter entspricht der Funktion bei
SAP_ISRField( )
.
Bei Verwendung einer Feldliste wird die Koordinate automatisch ermittelt.
Zusätzliche Parameter:
key
Name der Tabelle mit den Schlüsselwerten der ComboBox (die Tabelle kann z.B. innerhalb des BADI SCENARIO_SET_ADDITIONAL_VALUES angelegt werden). Die Werte der key-Tabelle werden nicht ausgegeben. Wenn der Anfrageerfasser eine Zeile der ComboBox auswählt, wird der entsprechende Wert der key-Tabelle in das Merkmal mit Namen name gestellt.
content
Name der Tabelle mit den Labels der Combobox (die Tabelle kann z.B. innerhalb des Business Add Inn SCENARIO_SET_ADDITIONAL_VALUES angelegt werden). Diese werden in der Liste der ComboBox ausgegeben.
Beispiel:
`SAP_ISRPulldownField(name="BUILDING_TO", key="BUILDING_OPTION", content="BUILDING_OPTION" ) `
SAP_ISRUserName( id="", fieldLabel="noLabelSpec", fieldLabelWidth=0, name, user, mode="enabled", size=0, maxLength=0, inspectionText="",left=0, top=0)
Definiert ein Eingabefeld für einen Namensbestandteil:
...-FIRSTNAME
...-LASTNAME
...-FULLNAME
Besonderheit dieser Funktion ist, daß falls im Namensfeld ein mehrdeutiger Name oder ein Namensbestandteil mit Platzhaltern (*) eingegeben wird, das System alle auf diese Eingabe passenden Benutzer ermittelt und diese dann anstelle des Eingabefeldes für den Namensbestandteil als ComboBox zur Auswahl stellt. Nach Auswahl eines Benutzers aus der Liste wird der Name des Benutzers dann in die Eingabefelder für die Namensbestandteile übernommen.
Die Bedeutung der Parameter entspricht der Funktion bei
SAP_ISRField( ).
Zusätzliche Parameter:
user
Name des Merkmals für die
UserID, die zu dem bei name angegebenen Namensbestandteil gehört.
Beispiel:
`SAP_ISRUserName( name="ISR_INITIATED_BY-LASTNAME", user="ISR_INITIATED_BY-USER_ID")`
SAP_ISRGroupBox(left, top, width, height, groupBoxLabel )
Definiert einen Gruppenrahmen an den Koordinaten
left, top mit der Breite width und Höhe height.
GroupBoxLabel ist das Label des Rahmens.
Beispiel:
`SAP_ISRGroupBox(001, 001, 034, 008, FRAME_INITIATED_BY.label) `
oder
`SAP_ISRGroupBox(001, 001, 034, 008, „Rahmentext")`
Ergebnis:
Zeichnet Rahmen für den Anfrageerfasser bzw. Rahmen mit dem Label Rahmentext.
SAP_ISRLongTextInput( cols=80, rows=4, left=0, top=0 )
Definiert das Eingabefeld für den Anfrage-Langtext an der Position
left, top mit cols Spalten und rows Zeilen.
Beispiel:
`SAP_ISRLongTextInput(cols=110, rows=5, left = 1, top = 1) `
SAP_ISRCheckBox( id="", name, mode="enabled", text="noTextSpec", left=0, top=0, labelWidth=0 )`
Definiert eine CheckBox für das Feld
name an der Position left, top mit dem Label text der Breite labelWidth. Bei Verwendung einer Feldliste wird die Koordinate automatisch ermittelt.
Beispiel:
`SAP_ISRCheckBox( name="CHANGE_PHONE" ) `
SAP_ISRLabel (labelText="", labelIconName="", id="" , left=0, top=0)
Definiert ein einfachen Text auf dem Formular.
Bei Verwendung einer Feldliste wird die Koordinate automatisch ermittelt.
Beispiel:
`SAP_ISRLabel( labelText="einText" ) `
SAP_ISRStandardButtons( left , top, buttonWidth=018 )
Gibt die im jeweiligen Modus benötigten Standard-Drucktasten an der Position
left, top aus. Jeder Button wird in der Breite buttonWidth ausgegeben.
Beispiel:
`SAP_ISRStandardButtons( 1 , 20 ) `