Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

transfer data from one report to another report program?

Former Member
0 Likes
3,465

Hi Exports,

I want to transfer data from one report to another report program.

That data should store in a variable itself.

Please give with example.

Thanking you.

Subash

1 ACCEPTED SOLUTION
Read only

Former Member
1,901

Hi Subasha

EXPORT that data into a memory id in the source program and then IMPORT the same memory id into the destination program.

Hope this helps.

Harsh

Hi Exports,

I want to transfer data from one report to another report program.

That data should store in a variable itself.

Please give with example.

Thanking you.

Subash

6 REPLIES 6
Read only

Former Member
0 Likes
1,901

Hi,

You can use the statement the Export and import to transfer the data from one program to another program.

FREE 'MID'.

EXPORT ITAB FROM MEMORY 'MID'.

another program you need to import it.

IMPORT ITAB FROM MEMORY 'MID'.

FREE 'MID'.

Regards

Thiru

Read only

Former Member
0 Likes
1,901

Use Export/Import statement......

Example::

REPORT  zrich_0001.

DATA: lv_spool LIKE tsp01-rqident.

DATA: lt_pdf TYPE TABLE OF tline.
DATA: ls_pdf LIKE LINE OF lt_pdf.

DATA: lv_url TYPE char255.
DATA: lv_buffer TYPE string.
DATA: lv_content  TYPE xstring.

DATA: lt_data TYPE STANDARD TABLE OF x255.

data: lo_dialog_container type ref to cl_gui_dialogbox_container.
data: lo_docking_container type ref to cl_gui_docking_container.
data: lo_html    TYPE REF TO cl_gui_html_viewer.

FIELD-SYMBOLS <fs_x> TYPE x.

parameters: p_check.

at selection-screen output.

* Run the report program, in this program you need to export the
* spool id to memory.
 SUBMIT zrich_0002 TO SAP-SPOOL
      WITHOUT SPOOL DYNPRO
              DESTINATION space
              COVER TEXT ' Your Report Title'
              NEW LIST IDENTIFICATION 'X'
              IMMEDIATELY space
              AND RETURN.

* import spool number from memory
 IMPORT lv_spool = lv_spool FROM MEMORY ID 'ZRICH_0002_SPONO'.

* Convert the spool request to PDF format.
 CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
   EXPORTING
     src_spoolid              = lv_spool
   TABLES
     pdf                      = lt_pdf
   EXCEPTIONS
     err_no_abap_spooljob     = 1
     err_no_spooljob          = 2
     err_no_permission        = 3
     err_conv_not_possible    = 4
     err_bad_destdevice       = 5
     user_cancelled           = 6
     err_spoolerror           = 7
     err_temseerror           = 8
     err_btcjob_open_failed   = 9
     err_btcjob_submit_failed = 10
     err_btcjob_close_failed  = 11
     OTHERS                   = 12.

* convert pdf to xstring string
 LOOP AT lt_pdf INTO ls_pdf.
   ASSIGN ls_pdf TO <fs_x> CASTING.
   CONCATENATE lv_content <fs_x> INTO lv_content IN BYTE MODE.
 ENDLOOP.

 create object lo_docking_container
   EXPORTING
     repid     = sy-repid
     dynnr     = sy-dynnr
     side      = lo_docking_container->dock_at_right
     extension = 1200.

 CREATE OBJECT lo_html
   EXPORTING
     parent = lo_docking_container.

* Convert xstring to binary table to pass to the LOAD_DATA method
 CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
   EXPORTING
     buffer     = lv_content
   TABLES
     binary_tab = lt_data.

* Load the HTML
 lo_html->load_data(
   exporting
     type         = `application`
     subtype      = `pdf`
   IMPORTING
     assigned_url         = lv_url
   CHANGING
     data_table           = lt_data
   EXCEPTIONS
     dp_invalid_parameter = 1
     dp_error_general     = 2
     cntl_error           = 3
     OTHERS               = 4 ).

* Show it
 lo_html->show_url( url = lv_url  in_place = 'X' ).

Here is the source for the simple report program ZRICH_0002. The main point here is that after your write the report, just pass the spool number to memory.

REPORT  ZRICH_0002
       line-count 65
       LINE-SIZE  80.

DATA: lv_spool LIKE tsp01-rqident.
data: lv_value type i.

START-OF-SELECTION .

* Write the report.
 DO 20 TIMES.
   lv_value = sy-index * 10.
   WRITE:/ sy-index, at 20 lv_value.
 ENDDO.

* Export this spool number to memory
 lv_spool = sy-spono.
 EXPORT lv_spool = lv_spool TO MEMORY ID 'ZRICH_0002_SPONO'.

Regards,

Read only

former_member212005
Active Contributor
0 Likes
1,901

Please search the forum before posting...

You can use export and import statements...

EXPORT gv_data TO MEMORY ID 'data'.

in the importing program use...

IMPORT gv_data = gv_data

FROm MEMORY ID 'data'.

Read only

0 Likes
1,901

Sorry...for posting the same answer...was not aware of it...

Read only

Former Member
1,902

Hi Subasha

EXPORT that data into a memory id in the source program and then IMPORT the same memory id into the destination program.

Hope this helps.

Harsh

Read only

Former Member
0 Likes
1,901

Thanks all.