Wo finde ich in einem ABAP Report die freien Abgrenzungen

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
10 Beiträge • Seite 1 von 1
10 Beiträge Seite 1 von 1

Wo finde ich in einem ABAP Report die freien Abgrenzungen

Beitrag von Gast ( / / 0 / 3 ) »
Hallo Group,

ich muss einen Z-ABAP anpassen, die im Bereich Fibu einige Belege sortiert ausgibt.
Dabei muss ich ein paar Berechnungen machen, wenn die Belegart = KR ist.

Jetzt kommt mein Problem:

Die Belegarten können nur über ein Zusatzfenster
"Freie Abgrenzungen" ausgewählt werden.
Und wenn ich debugge finde ich nirgends eine Tabelle/ein Feld/Select-options/parameter, wo diese Zusatzkriterien drin stehen.
Mit dieser/diesem Tabelle/Feld (womit ich ja weiss, ob die Belegart KR überhaupt ausgewählt worden ist)
will ich dann meine Prüfungen machen.

Kennt jemand das Problem?
Bzw. hat jemand eine Idee?

Grüsse und Danke im voraus

Chris

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


Beitrag von Asaph (Expert / 580 / 6 / 1 ) »
Hi,

du arbeitest mit einer log. Db.

das Feld bekommst du nur über den fm
RS_REFRESH_FROM_DYNAMICAL_SEL zu sehen


Andreas

Beitrag von Gast ( / / 0 / 3 ) »
Hallo Andreas,

das ist richtig, ich arbeite mit einer logischen Datenbank, ==> BRF.
das Feld bekommst du nur über den fm
RS_REFRESH_FROM_DYNAMICAL_SEL zu sehen
tut mir leid, verstehe ich nicht!
Wie kann ich die Parameter mit meinem Z-Abap auslesen und damit arbeiten?

Grüsse und nochmals Danke

Chris

Beitrag von Asaph (Expert / 580 / 6 / 1 ) »
Hi Chris,

binde den fb einfach mal ein und schaue dir im debugging den import-parameter P_TRANGE (Tabellentyp mit tiefer Struktur) an .


Andreas

Beitrag von Gast ( / / 0 / 3 ) »
Hallo Andreas,

tut mir leid, bin ein wenig aus ABAP raus!
das Feld bekommst du nur über den fm
RS_REFRESH_FROM_DYNAMICAL_SEL zu sehen
Ich konnte mit fm nichts anfangen, bis ich dann den Fuba ausprobiert habe.
Der Fuba läuft und bringt mit die Werte zurück.
Leider jetzt kommt mein neues Problem.
Wie bekomme ich die Werte aus diesem strukturierten Feld/Array heraus?

L_TRANGE[1]-FRANGE_T[1]-FIELDNAME
==> BLART

und dann weiter

L_TRANGE[1]-FRANGE_T[1]-SELOPT_T[1]-LOW
==> KR (für Kreditorenrechungen)

Wie bekomme ich jetzt den Wert KR in ein normales C-Feld??

Danke nochmal

Chris

Beitrag von Asaph (Expert / 580 / 6 / 1 ) »
Hi ,

ist umständlich , aber bist du nicht auf'm Holzweg:

mußt du deine Berechnungen machen auf der Grundlage de Selektionsbildes ? kannst du nicht abfragen nach der Selektion (get bkpf) ob der Beleg die blart KR hat ?

wenn nicht muß du die aus dem fuba gef. Einträge zu blart in einen range stellen und die Tabelle t003 damit selektieren .



Andreas[/code]

Beitrag von Gast ( / / 0 / 3 ) »
Hallo Andreas,

leider muss ich die Selektionsangaben abfangen, weil es nicht nur KR, sondern auch RE usw. sein könnte oder beides zusammen.

Wenn ich die Werte habe, checke ich auf die bkpf und schmeisse die nicht gewollten Sätze heraus.

Am liebsten wäre mir eine interne Tabelle damit ich checken kann ==> Check bkpf-blart in so_blart.
Aber wie bekomme ich jetzt die Daten aus dem Fuba in die interne Tabelle so_blart?

Grüsse Chris

Beitrag von Gast ( / / 0 / 3 ) »
Hallo,

weiss denn niemand, wie ich die folgenden Werte (Tabellentyp mit tiefer Struktur) in einen Range/Itab bekomme ??

So sehen diese Werte im Debugger aus, kann damit leider nichts anfangen!

L_TRANGE[1]-FRANGE_T[1]-FIELDNAME
==> BLART

und dann weiter

L_TRANGE[1]-FRANGE_T[1]-SELOPT_T[1]-LOW
==> KR (für Kreditorenrechungen)

Grüsse und nochmals Danke

Chris

Beitrag von Asaph (Expert / 580 / 6 / 1 ) »
sorry Chris,

abe ich habe leider wenig Zeit:
deshalb kann ich dir nur eine gebastelte routine anbietem,
den Rest,die Übergabe an ein range mußt du schon selbst schaffen:

Code: Alles auswählen.

DATA RANGE TYPE RSDS_TRANGE.

DATA : BEGIN OF zA OCCURS 0,
         TABLENAME LIKE RSDSTABS-PRIM_TAB,
         FRANGE_T TYPE RSDS_FRANGE_T,
       END OF zA.

DATA : BEGIN OF CA OCCURS 0,
         FIELDNAME LIKE RSDSTABS-PRIM_FNAME,
         SELOPT_T TYPE RSDS_SELOPT_T,
       END OF CA.
DATA ERR.
DATA: RSDSSELOPT LIKE RSDSSELOPT OCCURS   0 WITH HEADER LINE.
*
  CALL FUNCTION 'RS_REFRESH_FROM_DYNAMICAL_SEL'
       EXPORTING
            CURR_REPORT        = rep
            MODE_WRITE_OR_MOVE = 'M'
       IMPORTING
            P_TRANGE           = RANGE
       EXCEPTIONS
            NOT_FOUND          = 1
            WRONG_TYPE         = 2
            OTHERS             = 3.

  ERR = 9.

  LOOP AT RANGE INTO zA.
    APPEND zA.
    IF zA-TABLENAME = 'BSID'.
      ERR = 0.
    ENDIF.
  ENDLOOP.

  CHECK ERR = 0.
  ERR = 9.

  LOOP AT zA-FRANGE_T INTO CA.
    APPEND CA.
    IF CA-FIELDNAME = 'HKONT'.
      ERR = 0.
    ENDIF.
  ENDLOOP.

  CHECK ERR = 0.
  ERR = 9.


  LOOP AT CA-SELOPT_T INTO RSDSSELOPT.
    IF not RSDSSELOPT is initial.
      ERR = 0.
    ENDIF.
  ENDLOOP.

im 2. loop suchst du nach BLART
im 3. schaust du , ob sel-opt zu blart überhaupt gefüllt ist

lg + schönes WE
Andreas

o.T. Danke

Beitrag von Gast ( / / 0 / 3 ) »
Hallo Andreas,

vielen Dank, es funktioniert perfekt.

Grüsse Chris

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1013
Views
Massenänderung eines Feldwertes in der freien Abgrenzung
von rafaelvives » 12.05.2017 21:17 • Verfasst in ABAP® Core
5
Antw.
3179
Views
ABAP Report
von swonny » 05.12.2007 09:03 • Verfasst in ABAP® für Anfänger
7
Antw.
4885
Views
ABAP Report
von Fritz » 26.02.2014 19:17 • Verfasst in ABAP® für Anfänger
3
Antw.
3171
Views
ABAP-Coding CO-Report
von sap-junior » 24.09.2015 10:01 • Verfasst in ABAP® Core
0
Antw.
944
Views
Problem mit Spaltenausgabe im ABAP-Report
von Ingo » 10.01.2012 15:29 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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.