SAP Smart Forms - Loop Ausgabe

Alles Rund um SAP®.
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

SAP Smart Forms - Loop Ausgabe

Beitrag von lars.NRW (ForumUser / 3 / 1 / 0 ) »
Guten Tag allerseits,

kurze Abgrenzung, ich arbeite in der Uniklinik und bin für das Krankenhausmodul IS-H zuständig.
In dem Zusammenhang soll unser Rechnungsformular (Smart Forms) angepasst werden.

Nun ist die Anforderung aufgekommen, dass alle Diagnosen (Tabelle NDIA, Feld DKEY1) zu einem Fall auf dem Formular ausgegeben werden.

Das Layout sieht im Moment wie folgt aus:

Fall- und Abrechnungsdaten:
KH-Fallnr.: 60000001/60000002 Punktwert: 60000003
Aufnahmedat.: 60000004 60000005 Aufn. FA.: 60000006 / 60000007
Diagnose: ..., ..., ...

Workaround mit LOOP
Diagnose: .............
Diagnose: .............
...

Die Fall und Abrechnungsdaten werden einwandfrei dargestellt, eine Diagnose darzustellen ist auch kein Problem.
Nur wenn der Fall mehr als eine Diagnose hat, würde ich sie gerne wie dargestellt alle hintereinander weg, mit Kommatas getrennt angezeigt bekommen, da auch nicht mehr so viel Platz auf dem Formular ist.

Man muss dazu sagen, dass ich mir bisher alles was Smart Forms angeht selber beigebracht.

Die Daten kommen aus der Tabelle NDIA und werden mit der Fallnummer selektiert.
Die Daten werden in die interne Tabelle I_NDIA geschrieben.
Über diese Tabelle (I_NDIA) habe ich im Formular einen LOOP aufgebaut, der bisher die Daten in die Variable "DIAGNOSE" schreibt und diese dann untereinander auf dem Formular ausgiebt (wie beim Workaround dargestellt).

Allerdings werden die Daten INTO CORRESPONDING FIELDS in die I_NDIA geschrieben und ich habe das Problem, dass ich bei dem LOOP nicht sagen kann, dass er nur I_NDIA-DKEY1 INTO DIAGNOSE schreiben soll, bzw. meiner Kenntnis nach.

Dem entsprechend bekomm ich zwar zwei mal den Text "Diagnose:" den ich hinterlegt habe angezeigt, doch die Variable "Diagnose" ist natürlich leer, da der DKEY1 nicht eingetragen wurde.

Kommen wir nun zur Frage, wie kann ich die Werte ausgeben lassen?

Vielen Dank schon mal im voraus!

Viele Grüße

Lars

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


Re: SAP Smart Forms - Loop Ausgabe

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
moin lars,
falls Du eine lange Zeichenkette mit conatenate zusammenbauen würdest, läufst Du Gefahr siehe : http://apentia-forum.de/viewtopic.php?f=2&t=22929
die Felder können nur max. 255 Zeichen ausgeben.
Also empfehle ich einen Dynamischen Text à la SO10 dynamisch zu erzeugen und über einen Textknoten vom TYP Dynamischer Text auszugeben.
Der Inhalt könnte so aussehen:

* Diagnose 1,
= Diagnose 2,
= Diagnose 3,

etc
Das Füllen der Dynamischen Texttabelle kannst du in einem Codingblock erledigen.
siehe http://apentia-forum.de/viewtopic.php?f=18&t=19671
gruß Jens
(mach doch bitte mal einen Screenshot vom LOOP)
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: SAP Smart Forms - Loop Ausgabe

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
... so fertig.
Habe mal ein kleines Beispiel erstellt. Setzt eine gefüllte Tabelle SBOOK voraus. (Braucht kein Druckprogramm und kein Style)
Das Formular heisst ztest007 und kann nach dem Entpacken hochgeladen werden.
Dann einfach auf die Tabelle Deines Loops anpassen !
ztest007.png
gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: SAP Smart Forms - Loop Ausgabe

Beitrag von lars.NRW (ForumUser / 3 / 1 / 0 ) »
Entschuldige bitte, hatte die letzten Tage viel um die Ohren...
Das ist echt klasse, das ist genau das was ich für die Diagnosen brauche!!

Ich hab es auch schon direkt versucht einzubauen undzwar wie folgt...

Zu erst habe ich die beiden Variablen in den Globalen Definitionen eingetragen...

I_NDIA TYPE TABLE OF NDIA
DIAGNOSE TYPE TSFTEXT

Ich hab deine Selektion angepasst und sieht nun wie folgt aus...

DATA LS_NDIA TYPE NDIA.
DATA SLINE TYPE STRING.

LOOP AT I_NDIA INTO LS_NDIA where falnr = rnf11-falnr and *Hierbei muss in der Tabelle NDIA die Diagnosen zum aktuellen Fall gefunden werden.
storn = ' ' and *Die nicht storniert sind.
bhdia = 'X' and *Als Behandlungsdiagnose gekenntzeichnet sind.
endia = 'X'. *Als Entlassungsdiagnose gekenntzeichnet sind.
CONCATENATE sline LS_NDIA-DKEY1 INTO sline SEPARATED BY ','.
ENDLOOP.

* führendes Komma weg
SHIFT sline LEFT BY 1 PLACES.

* nu mach mal nen Punkt
CONCATENATE 'Diagnose: ' sline '.' INTO sline RESPECTING BLANKS.

* String zu Sapscript-tabelle umwandeln
CALL FUNCTION 'FOPC_CONVERT_STR_TO_TEXT'
EXPORTING
im_string = sline
IMPORTING
ex_text = DIAGNOSE.

Es werden allerdings noch keine Daten ausgegeben, daher frag ich mich ob ich die Selektion richtig gesetzt habe oder ob ich irgendeinen Fehler mache.

Ich dank dir auf jeden Fall schon mal sehr für deinen Hilfe Tron, darf ich fragen wie du zu dem Wissen gelangt bist? Schulungen? Fortbildungen??? Weil ich habe mir bisher alles selber beigebracht.

Viele Grüße

Lars

Re: SAP Smart Forms - Loop Ausgabe

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Moin Lars,
1.)
Keine Daten in der Diagnose Tabelle ?
Wo ist den der Select ?
Werden die Diagnosedaten über die Formularschnittstelle übergeben, oder mußt Du die Daten aus der Tabelle NDIA nachlesen ?
Setz doch einfach mal einen Break-point im coding zum kontrollieren.
2.)
Ich habe vor längerer Zeit (2006) mit sapscript angefangen und vor ein paar Jahren mit der Einführung Netweaver die meisten Formulare auf Smartforms umgestellt.
Die ersten SF-Formulare waren eine Kopie des Best Practice (/SMB40/xxxx). Dann haben wir aber einen Formularsatz gekauft und ich habe ihn angepasst.
Ich habe mir zwar mal das Buch Smartforms von Galileo Press gekauft, fand es aber für mich nicht so toll, (war wohl schon etwas überaltert).
Das Smartformkonzept selbst finde ich sehr gut, wenn man den Überblick über Schleifen und Konditionalen Zweigen behalten will.
(Mehrfach ineinander verschachtelte CASE und IFs sind in Sapscript kaum im Blick zu behalten)
SF hat aber auch einige Tücken.
Z.B. die Geschichte mit den max. 255 Zeichen, oder das die Breite des Main Fensters auf allen Seiten gleich breit sein muss, oder das man in Schleifen keine
Rahmen an Textknoten aktivieren kann, um nur einiges zu nennen. Den Einstieg in Smartforms hatte ich mit einem Coach(Berater) mit dem ich gemeinschaftlich
die ersten Formulare angepasst habe. (Was ich als schwieriger empfinde, als "Neu machen"). Die restlichen (gefühlten 2000) habe ich dann allein machen dürfen !
Mein Lieblingstip an SF Entwickler :
Speichere ein Formular während der Entwichlung nach jeder Änderung fortlaufend lokal auf deine Platte/Stick. Falls man sich "vertan" hat, oder "das haben wir uns anders vorgestellt",
kannst Du in Sekunden den "alten stand" wieder herstellen.

gruß Jens
Tutorials: http://www.saptechnical.com/Tutorials/S ... SFMain.htm

Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag:
lars.NRW

<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: SAP Smart Forms - Loop Ausgabe

Beitrag von lars.NRW (ForumUser / 3 / 1 / 0 ) »
Hi Jens,

zu 1

- Daten sind in der Diagnosentabelle vorhanden, das habe ich schon mehrmals überprüft, um genau zu sein, 3 Einträge.
Diese finde ich auch, wenn ich nach der Fallnummern, Stornokennzeichen, etc. selektiere.

- Den Select habe ich im MAIN Fenster angesiedelt, dort wo die Daten auch ausgegeben werdne sollen.

- Die Tabelle NDIA habe ich wie du die GT_SBOOK definiert (GT_SBOOK TYPE TABLE OF SBOOK), NDIA TYPE TABLE OF NDIA

- Den Breakpoint habe ich gesetzt aber ich sehe weder Daten in der LS_NDIA ankommen noch welche die in die sline geschrieben werden.
Als ob er die Daten garnicht richtig aus der NDIA ziehen kann

zu 2

Dank dir für die Infos!

VG
Lars

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1763
Views
LOOP's in Smart Forms
von mono » 11.04.2006 16:33 • Verfasst in SAP - Allgemeines
3
Antw.
3518
Views
Smart Forms: Ausgabe besonderen Zeichen
von natallin » 04.01.2008 11:16 • Verfasst in ABAP® Core
3
Antw.
1912
Views
Smart Forms
von kostonstyle » 10.05.2006 10:45 • Verfasst in ABAP® für Anfänger
1
Antw.
1405
Views
Smart Forms
von kostonstyle » 02.02.2006 14:08 • Verfasst in SAP - Allgemeines
3
Antw.
2242
Views
Smart Forms
von robin1at » 03.05.2006 11:04 • Verfasst in ABAP® für Anfänger

Ü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 2 Tagen von Bright4.5 1 / 586
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2214
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8811