[54366] in SAPr3-news
Re: Select auf dyn. Tabellennamen
daemon@ATHENA.MIT.EDU (Matze)
Sun May 8 01:40:21 2005
To: sapr3-news@mit.edu
Date: Sun, 8 May 2005 07:40:00 +0200
From: "Matze" <sonstig_mre_at_@gmx.de>
Message-ID: <d5k8nj$8qv$03$1@news.t-online.com>
Hallo Hans-Jürgen,
super, genau das was ich brauche.
Danke für "dein_geniales_programm".
Viele Grüße
Matthias
"news.t-online.de" <hj.traebert@web.de> schrieb im Newsbeitrag
news:d5frao$17b$00$1@news.t-online.com...
> Hallo,
>
> das Problem ist ab 46c recht einfach zu lösen:
>
> REPORT mein_geniales_programm.
>
> SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
> PARAMETERS: pv_table TYPE tabname,
> pv_anz TYPE i.
> SELECTION-SCREEN END OF BLOCK b1.
>
> DATA: ref_tableline TYPE REF TO data.
>
> FIELD-SYMBOLS: <line> TYPE ANY,
> <field> TYPE ANY.
>
> START-OF-SELECTION.
> * 1. Objekt erzeugen
> CREATE DATA ref_tableline TYPE (pv_table).
> * 2. dem Kind einen Namen geben um zugreifen zu können
> ASSIGN ref_tableline->* TO <line>.
> * 3. verwenden
> SELECT * INTO <line>
> FROM (pv_table).
> IF sy-dbcnt GT pv_anz.
> **** NICHT SY-INDEX, der bleibt hier auf 0 ****
> EXIT.
> ENDIF.
> * where ginge auch dynamisch mit 'where itab' (siehe Online Doku)
> DO.
> ASSIGN COMPONENT sy-index
> * hier passt der SY-INDEX
> OF STRUCTURE <line> TO <field>.
> IF sy-subrc NE 0.
> NEW-LINE.
> EXIT.
> ENDIF.
> WRITE: <field>.
> ENDDO.
> ENDSELECT.
>
> Ab WAS sind auch dynamische Tabellen mit create Data möglich.
> Bis dahin müsste man sich mit GENERATE SUBROUTINE POOL ...
> behelfen.
>
> Gruss
>
> Hans-Jürgen
> "Matze" <sonstig_mre_at_@gmx.de> schrieb im Newsbeitrag
> news:d5b9j8$l0$01$1@news.t-online.com...
>> Hallo,
>> ich brauche ein Programm, das den Inhalt einer Tabelle (Parameter)
>> downloaded. Folgender Versuch scheitert aber an der into-Zuweisung. Bei
>> einem Charakter-Arbeitsbereich werden die gepackten Zahlen nicht
>> konvertiert. Für Ideen bin ich dankbar.
>>
>> Viele Grüße
>> Matthias
>>
>> REPORT Z_DOWNLOAD_TABLE .
>> TABLES: dd02l, dd03l.
>>
>> DATA: i_dd03l LIKE dd03l OCCURS 0 WITH HEADER LINE,
>> wa(2000).
>> FIELD-SYMBOLS <wa> TYPE any.
>>
>> PARAMETERS: p_table LIKE DD02L-TABNAME OBLIGATORY,
>> p_file(200),
>> p_anz LIKE SY-TFILL, " nur ein paar Zeilen
>> p_trenn(1) DEFAULT ';',
>> p_out AS CHECKBOX.
>>
>>
>> ASSIGN (p_table) TO <wa>. --> hier ist das Problem
>> SELECT * FROM (p_table) INTO <wa>. ---> bzw. hier
>> WRITE:/ <wa>.
>> IF SY-INDEX > p_anz and
>> p_anz > 0.
>> EXIT.
>> ENDIF.
>>
>> ENDSELECT.
>>
>>
>>
>