2008 Jul 07 5:01 PM
Hello experts
Is there a way to do this: get a table name as a string from a query and use it to define another variable
For example:
data: line TYPE RSDSSEG.
select * from RSDSSEG into line where DATASOURCE = '/CW1/MMD01'.
ENDSELECT.
psatablename = line-psa.
*now psatablename contains the name of the abap table i would like to read
the following two lines do not work
data: psaline type psatablename.
select * from psatablename into psaline.
Thanks a lot for your help
Thibault
2008 Jul 07 5:04 PM
Hello.
Check this example:
DATA: w_gentab TYPE aind_str2-gentab.
SELECT SINGLE gentab FROM aind_str2
INTO (w_gentab)
WHERE archindex EQ 'SAP_SD_VBRK_002'
AND active EQ 'X'.
SELECT fkimg FROM (w_gentab) ...
So, use SELECT * FROM (psatablename) ... psatablename type char field. psaline shouldn't be of type psatablename but type of the table that psatablename will be.
Regards.
Valter Oliveira.
Yes it is possible.
Pl. check this sample code.
DATA:
dy_table TYPE REF TO data,
dy_line TYPE REF TO data.
***********************************************************************
FIELD-SYMBOLS *
***********************************************************************
FIELD-SYMBOLS: <dyn_table> TYPE STANDARD TABLE,
<dyn_wa> TYPE ANY.
Create internal table dynamically with the stucture of table name
CREATE DATA dy_table TYPE STANDARD TABLE OF (psatablename).
ASSIGN dy_table->* TO <dyn_table>.
IF sy-subrc = 0.
Create workarea for the table
CREATE DATA dy_line LIKE LINE OF <dyn_table>.
ASSIGN dy_line->* TO <dyn_wa>.
Select data from table
SELECT * FROM (psatablename)
INTO TABLE <dyn_table>.
ENDIF.
Regards,
Joy.
2008 Jul 07 5:04 PM
Hello.
Check this example:
DATA: w_gentab TYPE aind_str2-gentab.
SELECT SINGLE gentab FROM aind_str2
INTO (w_gentab)
WHERE archindex EQ 'SAP_SD_VBRK_002'
AND active EQ 'X'.
SELECT fkimg FROM (w_gentab) ...
So, use SELECT * FROM (psatablename) ... psatablename type char field. psaline shouldn't be of type psatablename but type of the table that psatablename will be.
Regards.
Valter Oliveira.
2008 Jul 07 5:06 PM
Hi
data: line TYPE RSDSSEG.
select * from RSDSSEG into line where DATASOURCE = '/CW1/MMD01'.
ENDSELECT.
psatablename = line-psa.
*data: psaline type psatablename.
*select * from psatablename into psaline.
DATA: WA TYPE REF TO DATA.
FIELD-SYMBOLS: <WA>.
CREATE DATA WA TYPE (PSATABLENAME).
ASSIGN WA->* TO <WA>.
SELECT * FROM (PSATABLENAME) INTO <WA>.
ENDSELECT.Max
2008 Jul 07 5:11 PM
Yes it is possible.
Pl. check this sample code.
DATA:
dy_table TYPE REF TO data,
dy_line TYPE REF TO data.
***********************************************************************
FIELD-SYMBOLS *
***********************************************************************
FIELD-SYMBOLS: <dyn_table> TYPE STANDARD TABLE,
<dyn_wa> TYPE ANY.
Create internal table dynamically with the stucture of table name
CREATE DATA dy_table TYPE STANDARD TABLE OF (psatablename).
ASSIGN dy_table->* TO <dyn_table>.
IF sy-subrc = 0.
Create workarea for the table
CREATE DATA dy_line LIKE LINE OF <dyn_table>.
ASSIGN dy_line->* TO <dyn_wa>.
Select data from table
SELECT * FROM (psatablename)
INTO TABLE <dyn_table>.
ENDIF.
Regards,
Joy.
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |