Javascript Variable im ABAP Code?

ABAP Web Dynpro, BusinessServerPages; Erstellung von Webapplikationen.
10 Beiträge • Seite 1 von 1
10 Beiträge Seite 1 von 1

Javascript Variable im ABAP Code?

Beitrag von Tom_KN (ForumUser / 20 / 0 / 0 ) »
hallo,

ich möchte eine schleife basteln, welche jedesmal ein Select macht.

es soll folgendermassen aussehen:

while( mandantnr > x )
{
<% select * from CRMD_ORDERADM_H CLIENT SPECIFIED into table myactions where changed_by = 'user' and mandant='mandant[x]'.%>
x++

}

dabei ist mandant[x] ein Feld welches im js-Teil gefüllt wird.
kann ich die beiden Ebenen kombinieren?

danke!

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von Azreal (Specialist / 182 / 1 / 0 ) »
Hallo,
so wie es aktuell da steht nicht.
der JS Teil wird erst beim user ausgeführt. Wohingehend der abapteil schon vom webas gerendert wurde.

was genau möchtest du denn machen?
ich würde die tabelle myactions vorbereiten und gefüllt vom JS auswerten lassen.

gruß Aze

Beitrag von Tom_KN (ForumUser / 20 / 0 / 0 ) »
Genau da liegt mein Problem:

Ich muss für alle Mandanten ( ca. 20 ) jeweils eine eigene Liste erstellen.
Und diese sollen mit eigenem Kopf ausgegeben werden.

Also muss ich auch bei jedem durchlauf die passende Liste für den aktuellen Mandanten parat haben.
Mit dem schreiben der Liste habe ich dann kein Problem - mein Problem ist die dynamische Zuordnung des aktuellen Mandanten, also:

<% select * from CRMD_ORDERADM_H CLIENT SPECIFIED into table myactions where changed_by = 'user' and mandant='mandant[x]'.%>

das 'x' soll bei jedem Schleifendurchgang die ID den nächsten Mandanten erhalten.

Ich könnte das Ganze natürlich statisch lösen und kurz mal 2000 zeilen Code produzieren. Da ist die Schleifenlösung eindeutig die bessere - wenn diese Kleinigkeit nicht wäre....

Beitrag von Azreal (Specialist / 182 / 1 / 0 ) »
morgen!

dann würd ich dir doch folgendes vorschlagen.
1. den select im backend durchführen und die tabelle myactions befüllen.
2. folgendes coding beim java script:

<%
Field-symbols: <fs_actions> like line of my_actions.
data: myactions_2 like myactions.

loop at myactions assigning <fs_actions> where changed_by eq 'user' mandant='mandant[x].
append <fs_actions> to myactions_2.
endloop.
%>

Sprich: Datenaufbereitung am UI per loop in eine zweite tabelle, die dann entsprechend angezeigt wird.

Es gibt hierbei sicherlich noch performantere lösungen... aber die challange überlass ich dir ;)

gruß Aze

Beitrag von Tom_KN (ForumUser / 20 / 0 / 0 ) »
danke für den Vorschlag.
Doch sehe ich darin das gleiche Prob wie in meinem Ansatz.
Du hast weiterhin das JS-Feld 'Mandanten[x]' innerhalb vom Abap-Code:

loop at myactions assigning <fs_actions> where changed_by eq 'user' mandant='mandant[x].

würde das so funktionieren wäre ich schon lange fertig :=)
Dennoch ist deine Lösung performanter da ich mir die ganzen DB-Selects erspare.
Der Weg ist das Ziel *g*

Beitrag von Azreal (Specialist / 182 / 1 / 0 ) »
tja... netter versuch - sorry: hatte heut erst einen kaffee ;)

wenn du mehrer roundtrips verhindern möchtest dann kannst du die tabelle aufbereiten und den loop per java script realisieren. (ziemlich umständlich)

alternativ könntest du alles im backend selectieren und vorab rendern - alle tabellen. zusätzlich könntest du alle ergebnise per CSS auf visibla=false setzten. somit sind diese unsichtbar. und per java script die einzelnen stellen auf visible setzten.

oder und ich denke, daß ich die einfachste alternative: du machst einen roundtrip bei jeder auswahl vom mandanten und jeweils einen seperaten select.

wieviele datensätze werden da selektiert?

gruß Aze

Beitrag von Tom_KN (ForumUser / 20 / 0 / 0 ) »
Circa 4000. bei einem Select ist die Performance kein Thema - ich werde mal schauen wie es sich bei 20 verhält.
Ich habe gehofft das es eine Möglichkeit gibt Daten umzuwandeln ala. PHP zu JS und umgekehrt.
Damit wäre das Prob sofort aus der Welt.
Dennoch hab ich hier 1-2 nützliche Dinge gelernt. Danke

Beitrag von Azreal (Specialist / 182 / 1 / 0 ) »
mal so aus neugier weil ich auch gern mal mit php programmier? wie funktioniert es dort?? hast da evt. ein codingbeispiel?
immerhin basiert das doch auf dem gleichen prinzip: du hast auf der einen seite eine serverinterpretierte sprache und dann eine die beim user ausgeführt wird...

gruß Aze

Beitrag von Tom_KN (ForumUser / 20 / 0 / 0 ) »
Hier ist ein Beispiel wie eine PHP-Variable in JS umgewandelt wird:
doktemp ist die JS-Variable.

echo "doktemp = '".$dokstring."';";

leider ist das im Bezug auf ABAP keine Erleuchtung....

Beitrag von sebastianmenger (ForumUser / 4 / 0 / 0 ) »
Ich hab das Problem nicht ganz verstanden.
Sollen die verschiedenen Listen auf einmal ausgegeben werden, oder immer nur einzeln?

Entweder du machst deine Schleife aus dem ersten Beitrag komplett ABAP seitig ohne Javascript oder du machst sowas wie ein Auswahlfeld, mit dem der Mandant ausgewählt werden kann.

Bei ersterem musst du deine Tabelle mit den Mandanten im ABAP als Attribut verfügbar machen und dann über die Tabelle loopen.

Bei zweiterem wird nach einem Do_HANDLE_EVENT eine ABAP Variable mit dem Mandanten befüllt, die in das Select Statement eingebaut ist.
Nach dem Event wird dann automatisch die BSP aufgerufen und deine Ausgabe generiert.

Meines Erachtens sollte sowas eigentlich kein Problem sein.

Seite 1 von 1

Vergleichbare Themen

2
Antw.
2151
Views
Wertübergabe JavaScript -> BSP-Seite (ABAP)
von jassi » 11.01.2005 08:44 • Verfasst in Web-Dynpro, BSP + BHTML
1
Antw.
2359
Views
JavaStript Variable ins ABAP einbinden?
von Tom_KN » 29.09.2006 11:15 • Verfasst in Web-Dynpro, BSP + BHTML
1
Antw.
1201
Views
Ajax variable an ABAP übergeben
von KroKro » 11.08.2011 10:49 • Verfasst in ABAP® für Anfänger
4
Antw.
3344
Views
PAP aus ABAP-Code
von BesenWesen » 21.06.2006 09:49 • Verfasst in ABAP® Core
0
Antw.
1691
Views
RSA-Algorithmus im ABAP-Code
von stefan76 » 05.10.2006 17:31 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 12 Stunden von Bright4.5 1 / 267
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1906
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8509