[54362] in SAPr3-news

home help back first fref pref prev next nref lref last post

Re: Select auf dyn. Tabellennamen

daemon@ATHENA.MIT.EDU (news.t-online.de)
Fri May 6 09:28:19 2005

To: sapr3-news@mit.edu
Date: Fri, 6 May 2005 15:26:39 +0200
From: "news.t-online.de" <hj.traebert@web.de>
Message-ID: <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.
>
>
> 


home help back first fref pref prev next nref lref last post