Problem bei Zeilenauswahl mit Hidefunktion

Benutzeroberflächen in SAP®-Systemen.
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Problem bei Zeilenauswahl mit Hidefunktion

Beitrag von manuk (Specialist / 108 / 0 / 0 ) »
Hallo!

Ich verwende in einem Programm die Hide-Funktion, um eine Tabelle (ZPRUECK) zu pflegen. Wenn ich aber einmal aus dem Programm herausgeh und nochmals hinein, wird immer ein anderer Datensatz wie eigentlich angeklickt ist geöffnet.

Ich hänge mal die Codierung an, vielleicht fällt jemand was auf!
Hoffe sehr auf eure Hilfe!

Danke schon mal für eure Mühe!

mfg Manuela



LOOP AT zplrueck_wa.
IF zplrueck_wa-zpernr = '00000000' AND zplrueck_wa-zplst = 0.
WRITE: 'Kostenstelle:', zplrueck_wa-zkstl,
zplrueck_wa-zla, zplrueck_wa-zpl, 'jährlich'.
HIDE: zplrueck_wa-zpernr, zplrueck_wa-zplst,
zplrueck_wa-zla, zplrueck_wa-zpl, zplrueck_wa-zbem.

ELSEIF zplrueck_wa-zpernr NE 0 OR zplrueck_wa-zplst NE 0.
READ TABLE pers_wa WITH KEY pernr = zplrueck_wa-zpernr
plst = zplrueck_wa-zplst.
WRITE:/ zplrueck_wa-zplst,
zplrueck_wa-zpernr,
pers_wa-sname,
zplrueck_wa-zla,
zplrueck_wa-zpl,
zplrueck_wa-zbem.
HIDE: zplrueck_wa-zpernr, zplrueck_wa-zplst,
zplrueck_wa-zla, zplrueck_wa-zpl.
CLEAR zplrueck_wa.
ENDIF.
ENDLOOP.
CLEAR zplrueck_wa.
ENDIF.

AT LINE-SELECTION.
vorhanden = 0.
SELECT SINGLE * FROM zplrueck WHERE zpernr = zplrueck_wa-zpernr
AND zplst = zplrueck_wa-zplst AND zla = zplrueck_wa-zla
AND zkstl = pkostl AND zbegda IN pdate AND zenda IN pdate.
IF sy-subrc NE 0.
SELECT SINGLE * FROM zplrueck WHERE zpernr = zplrueck_wa-zpernr
AND zplst = zplrueck_wa-zplst
AND zkstl = pkostl AND zbegda IN pdate AND zenda IN pdate AND zist =
zplrueck_wa-zist.
IF sy-subrc NE 0.
vorhanden = 1.
CLEAR zplrueck.
zplrueck-zpernr = zplrueck_wa-zpernr.
zplrueck-zplst = zplrueck_wa-zplst.
ENDIF.
ENDIF.
CALL SCREEN 100.
IF upd = 'X'.
LOOP AT zplrueck_it.
DELETE zplrueck_it.
ENDLOOP.
CLEAR zplrueck_it.
SELECT * FROM zplrueck INTO zplrueck_it
WHERE zpernr = zplrueck_wa-zpernr
AND zplst = zplrueck_wa-zplst
AND zkstl = pkostl AND zbegda IN pdate
AND zenda IN pdate
OR ( zpernr = zplrueck_wa-zpernr
AND zplst = zplrueck_wa-zplst
AND zkstl = pkostl AND zbegda IN pdate
AND zenda IN pdate ).
APPEND zplrueck_it.
ENDSELECT.
IF sy-subrc NE 0.
zplrueck_it-zpernr = zplrueck_wa-zpernr.
zplrueck_it-zplst = zplrueck_wa-zplst.
APPEND zplrueck_it.
ENDIF.
LOOP AT zplrueck_it.
MODIFY CURRENT LINE FIELD VALUE zplrueck_wa-zla FROM zplrueck_it-zla
zplrueck_wa-zpl FROM zplrueck_it-zpl
zplrueck_wa-zbem FROM zplrueck_it-zbem.
ENDLOOP.
ENDIF.

MODULE user_command_0100 INPUT.
upd = ' '.
CASE sy-ucomm.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'SAVE'.
IF vorhanden = 1.
IF zplrueck-zpernr = ' ' AND zplrueck-zplst = ' '
AND zplrueck-zla NE 'GK'.
MESSAGE e899(/bdl/d-) WITH 'Nur Leistungsart GK möglich'.
ELSE.
zplrueck-zenda = pdate-high.
zplrueck-zbegda = pdate-low.
zplrueck-zkstl = pkostl.
INSERT zplrueck.
ENDIF.
ELSE.
IF zplrueck-zpernr = ' ' AND zplrueck-zplst = ' '
AND zplrueck-zla NE 'GK'.
MESSAGE a899(/bdl/d-) WITH 'Nur Leistungsart GK möglich'.
ELSE.
MODIFY zplrueck.
ENDIF.
ENDIF.
MESSAGE s042(/bdl/d-).
* Daten gesichert
upd = 'X'.
LEAVE TO SCREEN 0.
WHEN 'DELE'.
DELETE zplrueck.
MESSAGE s328(01).
upd = 'X'.
* Daten wurden gelöscht.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT



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


Beitrag von RiffRaff (Specialist / 379 / 0 / 1 ) »
Hallo,

auf jeden Fall, sollte der HIDE bereich 2x gelöscht werden. Sonst steht bei einer ungültigen Zeilenauswahl, der letzte Wert im HIDE-Bereich.

Das CHECK dient dazu, daß wenn der HIDE leer ist (ungültigen Zeilenauswahl) keine Verzweigungsliste angezeigt wird.

WRITE:....
HIDE: <<wa>>.

END-OF-SELECTION
CLEAR <<WA>>.

AT LINE-SELECTION.
CHECK NOT <<WA>> IS INITIAL.
.....
.....
.....
CLEAR <<wa>>.

mfg
Richard

Beitrag von manuk (Specialist / 108 / 0 / 0 ) »
Hallo Richard,

dankeschön, hab es gleich eingebaut, aber es ist total paradox. Im Testsystem macht mir das Programm keine Schwierigkeiten, nur im Produktivsystem. Wenn ich das Programm das 1. Mal starte funktioniert es. Ab den 2. Mal verutscht es immer um eine Zeile, echt faszinierend, ich kann es mit den gleichen Daten wie im Testsystem laufen lassen - im Produktiv funktionierts nicht.

Ich bin absolut ratlos!

mfg Manuela

Beitrag von manuk (Specialist / 108 / 0 / 0 ) »
Bin leider immernoch nicht darauf gekommen, aber ich umgehen den Hide-Bereich, da es eindeutig an ihm liegt.

Als Tipp für alle anderen.Ich lege eine interne Tabelle an, mit den Daten die ursprünglich in den Hide-bereich sollten und einem Feld für die Zeilennummer (sy-linno). bei einem Doppelklick lese ich das Systemfeld sy-lilli und suche in meiner internen TAbelle den zugehörigen Datensatz. Somit habe ich meinen eigenen funktionierenden Hide-Bereich geschaffen.

Gruß Manu

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1035
Views
ALV Zeilenauswahl
von SAP_ENTWICKLER » 22.12.2017 14:04 • Verfasst in ABAP® Core
2
Antw.
979
Views
ALV Zeilenauswahl
von SAP_ENTWICKLER » 08.12.2017 10:17 • Verfasst in ABAP® Core
1
Antw.
983
Views
ALV Dauer Zeilenauswahl
von SAP_ENTWICKLER » 12.12.2017 12:02 • Verfasst in ABAP® Core
3
Antw.
1696
Views
SQL Problem
von swonny » 22.04.2008 11:29 • Verfasst in ABAP® für Anfänger
3
Antw.
2239
Views
ALV-Problem
von Daniela » 14.01.2005 16:01 • Verfasst in ABAP® Core

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Regex in where
vor 15 Stunden von tar 8 / 347
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1628
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 274
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 518

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.

Aktuelle Forenbeiträge

Regex in where
vor 15 Stunden von tar 8 / 347
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1628
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 274
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 518

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 2 Tagen von snooga87 1 / 211
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3393
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9944