^Übergabe eines Range an FUBA

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

^Übergabe eines Range an FUBA

Beitrag von supermario73 (ForumUser / 62 / 0 / 0 ) »
Hallo,

ich möchte ein PERNR-Range an einen FUBA übergeben und der soll mir paar weitere Daten zu den PERNR ausgeben.

Ich habe eine Struktur angelegt /../RA_PERNR:

SIGN DDSIGN
OPTION DDOPTION
LOW PERNR
HIGH PERNR

IM FUBA /../GET_WERK_PERSONAL verwende ich folgende Import-Param:

IV_WERK TYPE /../WERKS
IT_PERNR TYPE /../RA_PERNR

Code: Alles auswählen.

* Personenliste pro Werk
  SELECT *
       INTO CORRESPONDING FIELDS OF TABLE it_personal
       FROM /../bde_wtoh
       INNER JOIN pa0001 ON /../bde_wtoh~persa = pa0001~werks
       AND  /../bde_wtoh~btrtl = pa0001~btrtl
       INNER JOIN pa0000 ON pa0000~pernr = pa0001~pernr
       INNER JOIN /../pa9001 ON /../pa9001~pernr = pa0001~pernr
       INNER JOIN pa0002 ON pa0002~pernr = pa0001~pernr
         WHERE /../bde_wtoh~werks = iv_werk

* Hier bekomme ich die Fehlermeldung: Auf den IN-OPerator folgt mit "IT_PERNR" weder eine interne Tabelle noch eine Werteliste.

         AND pa0001~pernr in  it_pernr.

         AND pa0000~begda <= sy-datum
         AND pa0000~endda >= sy-datum
         AND pa0001~begda <= sy-datum
         AND pa0001~endda >= sy-datum
         AND /../pa9001~begda <= sy-datum
         AND /..e/pa9001~endda >= sy-datum
         AND pa0002~begda <= sy-datum
         AND pa0002~endda >= sy-datum
         AND pa0000~stat2 = '3'
         AND /../pa9001~sprps = ' '.
Wenn ich das ganze wie folgt verwende (ohne FUBA) dann klappts?!:

Code: Alles auswählen.


  ra_pernr-sign = 'I'.
  ra_pernr-option = 'BT'.
  ra_pernr-low = ra_pernr-low.
  APPEND ra_pernr TO ra_pernr.

 Personenliste pro Werk
  SELECT *
       INTO CORRESPONDING FIELDS OF TABLE gt_abschluss
       FROM /../bde_wtoh INNER JOIN pa0001 ON
            /../bde_wtoh~persa = pa0001~werks
       AND  /../bde_wtoh~btrtl = pa0001~btrtl
       INNER JOIN pa0000 ON pa0000~pernr = pa0001~pernr
       INNER JOIN /../pa9001 ON /../pa9001~pernr = pa0001~pernr
       INNER JOIN pa0002 ON pa0002~pernr = pa0001~pernr
       WHERE /../bde_wtoh~werks = p_werk
* So klappt es
         AND pa0001~pernr IN ra_pernr
         AND pa0000~begda <= sy-datum
         AND pa0000~endda >= sy-datum
         AND pa0001~begda <= sy-datum
         AND pa0001~endda >= sy-datum
         AND /../pa9001~begda <= sy-datum
         AND /../pa9001~endda >= sy-datum
         AND pa0002~begda <= sy-datum
         AND pa0002~endda >= sy-datum
         AND pa0000~stat2 = '3'
         AND /../pa9001~sprps = ' '.
Was mache ich flasch? Kann mir jemand weiterhelfen?
Vielen Dank im Voraus

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


Beitrag von brinam (Specialist / 111 / 0 / 0 ) »
Hallo supermario,

nach Deiner Beschreibung ist die Variable IT_PERNR vom Typ RA_PERNR, aber RA_PERNR ist "nur" eine Struktur. Der IN-Operator beim SELECT erwartet aber eine interne Tabelle dieser Struktur.

Definiere die Variable mal so:
DATA: IT_PERNR TYPE RANGE OF PERNR.
Die Definition mittels RANGE impliziert die Attribute sign, option, low und high.
Viele Grüße
Britta

Beitrag von supermario73 (ForumUser / 62 / 0 / 0 ) »
Hallo Britta,

ja, wenn ich das im Quelltext des FUBU so deklariere funzt es.
Ich möchte das aber als Import-Parameter des FUBAS, es soll
quasi ein Rage von PERNR übergeben werden.

Bin totaler Änfänger, merkt man wahrscheinlich.
Kannst Du mir erneut helfen?

Vielen Dank im Voraus.

Mario

Beitrag von supermario73 (ForumUser / 62 / 0 / 0 ) »
Also der Art:

Code: Alles auswählen.

START-OF-SELECTION.
 SELECTION-SCREEN BEGIN OF BLOCK eingabe WITH FRAME TITLE text-100.
SELECT-OPTIONS: ra_pernr FOR /../..-pernr OBLIGATORY.
SELECTION-SCREEN END OF BLOCK eingabe.

  ra_pernr-sign = 'I'.
  ra_pernr-option = 'BT'.
  ra_pernr-low = ra_pernr-low.
  APPEND ra_pernr TO ra_pernr.

Und genau dieses PerNr-Range möchte ich meinem FUBA übergeben...

Nochmals Danke,

Mario

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Wenn du es als Parameter für den FuBa brauchst, dann musst du eine Range-Tabelle im DDIC anlegen.

SE11->Datentyp->Anlegen->Tabellentyp->Bearbeiten->Als Rangetab definieren.

Beitrag von supermario73 (ForumUser / 62 / 0 / 0 ) »
Hi DeathGuardian,

Stand der Dinge:

Range-Tabelle angelegt:
Datenelement /../PERNR (DOMÄNE PERSNO, NUMC 8)
Strukt. Zeilentyp /../RA_PERNR (LOW --> /../PERNR, NUMC 8); High ebenso


SELECT-OPTIONS. ra_pernr FPR /../...-pernr (Ebenfalls NUMC 8)

ra_pernr-sign = 'I'.
ra_pernr-option = 'BT'.

CALL FUNCTION '/MANAGE/GET_WERK_PERSONAL'
EXPORTING
iv_werk = p_werk
ra_pernr = ra_pernr
tables
it_personal = gt_abschluss
.

Ergebnis: Kurzdump --> RA_PERNR nur Felder eines bestimmten Typs.
Das aktuell mitgegebene Feld hat aber einen anderen Feldtyp.

Oh Mann! Versteh ich nicht... sind doch alles die gleichen Feldtypen, oder?!

K - Dank!

Mario

Seite 1 von 1

Vergleichbare Themen

4
Antw.
11293
Views
Übergabe eines RANGE an FUBA
von supermario73 » 15.08.2006 12:45 • Verfasst in ABAP® Core
4
Antw.
3090
Views
Range Tabelle an Unterprogrmm im FUBA übergeben
von jondahl11 » 24.01.2007 15:16 • Verfasst in ABAP® für Anfänger
1
Antw.
795
Views
FuBa: Objektstatus gegen Range prüfen
von Thomas R. » 25.03.2015 11:43 • Verfasst in ABAP® Core
3
Antw.
1501
Views
Range-Tabelle gegen Range-Tabelle abgleichen
von Romaniac » 09.02.2024 16:26 • Verfasst in ABAP® Core
11
Antw.
4531
Views
RANGE
von robin1at » 13.06.2006 08:33 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Regex in where
vor 6 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 19 Stunden von Bright4.5 3 / 1487

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 6 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 19 Stunden von Bright4.5 3 / 1487

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9822