Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 8459

Re: Table name as variable with NATIVE SQL in ABAP

$
0
0

Hi,

you can generate your own program with native SQL and paste table name in it. Try to code like this:

 

REPORT  ztest8.

 

PARAMETERS : tabname(30)TYPE c DEFAULT'spfli'.

 

DATA:

  g_prog TYPEstring,

  g_line TYPEstring,

  g_tab  TYPESTANDARDTABLEOFstring,

  g_mess TYPEstring,

  g_sid  TYPEstring.

 

APPEND'PROGRAM subpool.'                      TO g_tab.

APPEND`DATA spfli_tab TYPE TABLE OF spfli.`   TO g_tab.

APPEND`LOAD-OF-PROGRAM.`                      TO g_tab.

APPEND`DATA: BEGIN OF wa,`                    TO g_tab.

APPEND`        connid   TYPE spfli-connid,`   TO g_tab.

APPEND`        cityfrom TYPE spfli-cityfrom,`TO g_tab.

APPEND`        cityto   TYPE spfli-cityto,`   TO g_tab.

APPEND`      END OF wa.`                      TO g_tab.

APPEND`DATA c1 TYPE spfli-carrid VALUE 'LH'.`TO g_tab.

APPEND`EXEC SQL PERFORMING loop_output.`      TO g_tab.

APPEND`  SELECT connid, cityfrom, cityto`     TO g_tab.

APPEND`  INTO   :wa`                          TO g_tab.

 

CONCATENATE`   FROM ` tabname INTO g_line.

APPEND g_line TO g_tab.

 

APPEND`  WHERE  carrid = :c1`                         TO g_tab.

APPEND`ENDEXEC.`                                      TO g_tab.

APPEND`FORM loop_output.`                             TO g_tab.

APPEND`  WRITE: / wa-connid, wa-cityfrom, wa-cityto.`TO g_tab.

APPEND`ENDFORM.`                                      TO g_tab.

 

GENERATESUBROUTINEPOOL g_tab NAME g_prog

         MESSAGE g_mess

         SHORTDUMP-ID g_sid.

 

IF sy-subrc = 0.

  PERFORM('LOOP_OUTPUT')INPROGRAM(g_prog)IFFOU

ELSEIF sy-subrc = 4.

  MESSAGE g_mess TYPE'I'.

ELSEIF sy-subrc = 8.

  MESSAGE g_sid TYPE'I'.

ENDIF.

 

ABAP source code in this document was coloured using the ABAP code lighter for SCN.

 

Best regards,

George Shlyahov


Viewing all articles
Browse latest Browse all 8459

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>