Export internal table to memory.
How can I export and import an internal table to memory?
This:
export messtab to memory id 'TAB'. (in program 1)
import messtab=messtab from memory id 'TAB'. (in program 2)
does not work.
Even without the brackets it doesn't work.
In program 1 I have:
WRITE text-e21 TO messtab-message.
messtab-type = c_tipo_error.
APPEND messtab. CLEAR messtab.
DELETE messtab WHERE message = space.
EXPORT messtab[] TO MEMORY ID para.
EXIT.
The EXIT leads to program 2, from where I made a submit to program 1, and where I have:
import messtab[] from memory id para.
Where:
DATA: para TYPE tpara-paramid VALUE 'MES',
messtab TYPE TABLE OF bapireturn WITH HEADER LINE.
What's wrong?
Thanks in advance.
Oh, and I've checked the table in program 1 does have an entry.
Similar Messages
-
Export internal table to memory in User Exit FM
Hi all,
My scenario here is to export an internal table in one user exit FM and import it back in another user exit FM.
I was trying to use
Export lt_table to memory id 'LABEL'.
then
Import lt_table from memory id 'LABEL'.
But then i hit error in the import statement. How can I rectify this?
Thanks. Answer will be rewarded.Refer to the below related threads
Export an internal table to memory and import from memory into an internal
http://help.sap.com/saphelp_erp2005/helpdata/en/fc/eb3bf8358411d1829f0000e829fbfe/frameset.htm
Regards,
Santosh -
Problem while exporting internal table to memory id using EXPORT
Hi friends,
Iam facing a following problem.
I have 4 line items in my va01 tcode.
now when i give material number and quantity and hit enter the processing for that line item starts.
iam moving that current line item to a internal table lt_vbap in userexit_check_vbap.
now for the 2nd line item also i have to move to internal table lt_vbap.
but my problem is that in internal table lt_vbap iam not getting all the line items.
every time the current line item is being processed the the previous line items are being refreshed.
from lt_vbap internal table.
how can i export internal table.
code
move vbap to lt_vbap.
append lt_vbap.
export lt_vbap to memory id 'ZXYZ'.>
Prakash Pandey wrote:
> Hi Priyanka,
>
> The internal table lt_vbap will always be empty unless you import it from the Memory ID (in your case ZXYX).
>
> Use the code this way:
>
> IMPORT lt_vbap FROM MEMORY ID 'ZXYX'.
>
> move vbap to lt_vbap.
>
> append lt_vbap.
>
> export lt_vbap to memory id 'ZXYZ'.
>
> Regards,
> Prakash Pandey
The memory id shud be same in both cases -
Exporting internal table to memory variable
I need to extract some data within a program into an internal table. Then I need to export the internal table into a memory variable
Then in another program i need to import this memory variable into another internal table
How to do the import export into a memory variableSee the simple example :
REPORT ZTEST_AMEM1.
tables : lfa1.
data : begin of i_lfa1 occurs 0 ,
lifnr like lfa1-lifnr,
name1 like lfa1-name1,
land1 like lfa1-land1,
end of i_lfa1.
start-of-selection.
select lifnr
name1
land1 from lfa1
into table i_lfa1 up to 100 rows.
Export
export i_lfa1 to memory id 'SAP'.
submit ztest_amem2 and return.
write:/ 'hello'.
*& Report ZTEST_AMEM2
REPORT ZTEST_AMEM2.
data : begin of j_lfa1 occurs 0,
lifnr like lfa1-lifnr,
name1 like lfa1-name1,
land1 like lfa1-land1,
end of j_lfa1.
start-of-selection.
import i_lfa1 to j_lfa1 from memory id 'SAP'.
loop at j_lfa1.
write:/ j_lfa1-lifnr,j_lfa1-name1,j_lfa1-land1.
endloop. -
Problem in exporting internal table to memory
Hi,
I have to export two internal tables (thead and titem) from a report (RFTBCF00) to memory which i will import in my function module can anyone letme know hw it cud b done .
Points will b assigned
Thnx,You can take the help of this example:
report z_82235_test1 .
types: begin of tab1,
a(1),
b(1),
end of tab1.
types: begin of tab2,
c(1),
d(1),
end of tab2.
data: itab1 type table of tab1,
wa1 like line of itab1,
itab2 type table of tab2,
wa2 like line of itab2.
wa1-a = '1'.
wa1-b = '2'.
append wa1 to itab1.
clear wa1.
wa1-a = '3'.
wa1-b = '4'.
append wa1 to itab1.
clear wa1.
export itab1 to memory id '001'.
export itab2 to memory id '002'.
submit z_82235_test2 and return exporting list to memory . -
Save Internal table to memory - problem
Hi everybody ,
I need to extract one Internal table to memory , every 1st in the Month .
Then every day I will be reading this table for my report ( in order to avoid running every day same and same database selections) .
My originall idea wos with EXPORT TO MEMORY ID , AND IMPORT
but it does'nt work next day ... With Export data is cept only untill tthe end of the transaction ...
Is there any way except of storing data in one Z_ database table ???
Thanks in advanceHi,
You can use the following code to export to memory
*data variable required for background processing
data: wa_indx type indx.
*EXPORT Internal Table TO MEMORY ID 'XYZ'.
*part for background processing
export tab = <your table> to database indx(xy) from wa_indx client
sy-mandt id 'XYZ'.
the following code will import from Memory and clear memory
*data variable required for background processing
data: wa_indx type indx.
imports from database the list sent by the calling program
IMPORT tab = <your table> FROM DATABASE indx(xy) TO wa_indx CLIENT sy-mandt
ID 'XYZ'.
deletes the data to save wastage of memory
DELETE FROM DATABASE indx(xy)
CLIENT sy-mandt
ID 'XYZ'.
Regards,
Samson Rodrigues. -
Exporting an internal table to memory
Hi
I want to call an program from another program and want the values stored in an internal table used in the called program.
how can i export an internal table to memory id an then import it.
Regards
ArunSo to be clear, for your requirement it would be:
* Towards the end of the called program
EXPORT it_itab TO MEMORY ID 'ZZ_MEM_ID'.
* And then from calling program after the submit zzzz and return statement
IMPORT it_itab FROM MEMORY ID 'ZZ_MEM_ID'.
Hope that helps.
Brad
Message was edited by: Brad Williams (put back intro text)
Message was edited by: Brad Williams -
Export a table to memory ID and import it in the Workflow.
Hi,
For a particular requirement,
We are triggering Workflow from the User Exit MV45AFZZ.
Before triggering this WF, I am trying to export an internal table to a memory ID and trying to Import it back from the same memory ID into an internal table in the Workflow task. This is failing.
Even the name of internal tables and memory IDs are similar.
Can we do this like this? If yes please let me know how to do this.
Thanks & Regards,
Mallika MaktalaInitially,
I have populated the values of the internal table in to a Database table, immediately called Workflow, in a task tried to retrieve the data from the database table.
But though there is some data in the table, it dint retrieve any data, as at that point the table may not be updated.
So now I used this Import export concept.
I think its in same session, but still not working,
Any solution?
Mallika Maktala -
Dear Experts.
I have the following problem.
I am using a User-Exit for Travel that is called from a program standard with use the T.Code TRIP. The program standard use a structure that when entry in the user exit not is. I need use this structure in the user exit. (p_t_req_head).
I had read abour SAP and ABAP Memory but from the program standar How can Pass Internal Table to Memory SAP or ABAP from the program standard to user-exit?
When I am doing debugging in the program Standard and this call to the user exit, I use ()namestructure for example ()p_t_req_head and I get the datas of the structure, But In the Source Code ABAP, How can do this with instructions?
RegardsHi,
You try with Import & Export Statements as follows ---
DATA : t_itab LIKE TABLE OF spfli.
EXPORT t_itab TO MEMORY ID 'ABCD'.
After sending the internal table to ABAP memory you need to get that by IMPORT in the called session.
IMPORT t_itab FROM MEMORY ID 'ABCD'. -
Export INTERNAL TABLE to shared buffer
Hi all,
My requirement:
Export INTERNAL TABLE to shared buffer or SAP Memory.
Any help will be appreciated.
Can SET/GET parameter be adopted for internal tables?
Thanks,
TabraizEXPORT (OBJ_TAB) TO MEMORY ID 'ABCD'
also refer to
http://help.sap.com/saphelp_45b/helpdata/en/34/8e73a36df74873e10000009b38f9b8/content.htm -
Passing Dynamic Internal Tables to Memory
I have a bit of a conundrum right now that I can't seem to correct. I am working on adding an ALV report to an existing report program. I was able to write a simple helper program that builds a custom object that I defined that translates my raw data into two seperate dynamic tables, and then builds an ALV grid and outputs it. The reason I wrote this in a simple helper program was so that I could use SUBMIT ... EXPORTING LIST TO MEMORY from my primary report program and capture the input so I can later write it out under our company's standard ABAP list format as if I were using WRITE statements.
The output of the report itself is working beautifully. We have included functionality to automatically take the output, produce an HTML file from it, and then FTP it directly to a webserver so our clients can get easy access to it. What I want to be able to do though is give the clients two tab-delimited files that contain the raw data that was used to build the report. We have an interface in place to do that, but I somehow need to be able to pass these two dynamic internal tables which I have field-symbols to reference back to my calling program.
Here is what I am trying to do:
CALL METHOD OBJ_ALV_MR_EST_REASONS->PRODUCE_ESTIMATION_REPORT
IMPORTING
RPT_DATA_BY_REASON = ref_it_estreason
RPT_DATA_BY_DISTRICT = ref_it_district.
* Assign the field symbols
ASSIGN ref_it_estreason->* TO <it_estreason>.
ASSIGN ref_it_district->* TO <it_district>.
* Export the two internal tables to memory so they can be
* retrieved by the calling program
EXPORT reason = <it_estreason>[]
district = <it_district>[]
TO MEMORY ID 'ZCR_ESTIMATION_REASON_RPT'.
As you can see, my method returns two references to dynamic internal tables. I have used the memory debugger to see that these tables are being correctly written to the ABAP memory.
However, back in my parent program when I try to do the following,
CREATE DATA ref_it_estreason TYPE REF TO DATA.
CREATE DATA ref_it_district TYPE REF TO DATA.
ASSIGN ref_it_estreason->* TO <it_estreason>.
ASSIGN ref_it_district->* TO <it_district>.
IMPORT reason = <it_estreason>
district = <it_district>
FROM MEMORY ID 'ZCR_ESTIMATION_REASON_RPT'.
I get the REFS_NOT_SUPPORTED_YET exception which says that "For the statement Export/Import ..." object references, interface references, and data references are currently not supported".
I have tried multiple other ways of defining my field-symbols or my reference pointers but they all result in exceptions of some sort. Is there any way for me to get this data passed back? It seems like there must be a way to get the data from memory since I know it's being correctly stored there.
Thanks in advance.Shortly after posting this, I had an idea which I was able to implement to actually get this to work.
I decided that I would simply pass the FIELDCAT tables for each of my dynamic tables into the same memory ID as the tables themselves.
EXPORT reason_fcat = it_estreason_fcat
district_fcat = it_district_fcat
reason = <it_estreason>[]
district = <it_district>[]
TO MEMORY ID 'ZCR_ESTIMATION_REASON_RPT'.
Then, back in my calling program I execute the following code. This retrieves the FIELDCAT tables, builds two empty dynamic table type reference variables and then lets me create field-symbols to reference those components.
* Retrieve the fieldcat internal tables first
IMPORT reason_fcat = it_estreason_fcat
district_fcat = it_district_fcat
FROM MEMORY ID 'ZCR_ESTIMATION_REASON_RPT'.
* Generate an internal table type assigned to each
* reference variable based on the fieldcat listings we
* retrieve
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = it_estreason_fcat
IMPORTING
ep_table = ref_it_estreason.
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = it_district_fcat
IMPORTING
ep_table = ref_it_district.
* Assign the field symbols
ASSIGN ref_it_estreason->* TO <it_estreason>.
ASSIGN ref_it_district->* TO <it_district>.
CREATE DATA ref_wa_estreason LIKE LINE OF <it_estreason>.
CREATE DATA ref_wa_district LIKE LINE OF <it_district>.
ASSIGN ref_wa_estreason->* TO <wa_estreason>.
ASSIGN ref_wa_district->* TO <wa_district>.
* Finally, we can retrieve the data from memory and assign
* to the internal tables referenced by our field-symbols
IMPORT reason = <it_estreason>[]
district = <it_district>[]
FROM MEMORY ID 'ZCR_ESTIMATION_REASON_RPT'.
This worked beautifully and saved me from having to do a major redesign. I don't know how helpful it would be for ABAP Objects to be passed to memory (I believe some type of serialization would need to be in order there), but for dynamically typed internal tables it worked like a dream with little overhead. -
Import/export internal tabl
Hi,
This is regarding import/export internal table to 2 different prog, somehow when i execute in prog ztest_hl7, it doesnt work. Please help.
report ztest_hl7.
TYPES:
BEGIN OF tab_type,
para TYPE string,
dobj TYPE string,
END OF tab_type.
DATA:
id TYPE c LENGTH 10 VALUE 'TEXTS',
text1 TYPE string VALUE `IKE`,
text2 TYPE string VALUE `TINA`,
line TYPE tab_type,
itab TYPE STANDARD TABLE OF tab_type.
line-para = 'P1'.
line-dobj = 'TEXT1'.
APPEND line TO itab.
line-para = 'P2'.
line-dobj = 'TEXT2'.
APPEND line TO itab.
EXPORT itab TO MEMORY ID id.
submit ztest_hl6 and return.
report ztest_hl6.
data : id TYPE c LENGTH 10 VALUE 'TEXTS'.
TYPES:
BEGIN OF tab_type,
para TYPE string,
dobj TYPE string,
END OF tab_type.
DATA: itab TYPE STANDARD TABLE OF tab_type,
wa_itab type tab_type.
IMPORT itab FROM MEMORY ID id.
loop at itab into wa_itab.
write:
wa_itab-para,
wa_itab-dobj.
endloop.
Edited by: Hui Leng Yeoh on Jun 26, 2008 11:25 AMHi There are few syntax errors. Comment ur code and Paste this code and check. It is working fine.
report ztest_hl7.
TYPES:
BEGIN OF tab_type,
para TYPE string,
dobj TYPE string,
END OF tab_type.
DATA:
id(10) TYPE c VALUE 'TEXTS',
text1 TYPE string, " VALUE `IKE`,
text2 TYPE string, " VALUE `TINA`,
line TYPE tab_type,
itab TYPE STANDARD TABLE OF tab_type.
text1 = 'IKE'.
text2 = 'TINA'.
line-para = 'P1'.
line-dobj = 'TEXT1'.
APPEND line TO itab.
line-para = 'P2'.
line-dobj = 'TEXT2'.
APPEND line TO itab.
EXPORT itab TO MEMORY ID id.
SUBMIT z7569411 AND RETURN.
data : id(10) TYPE c VALUE 'TEXTS'.
TYPES:
BEGIN OF tab_type,
para TYPE string,
dobj TYPE string,
END OF tab_type.
DATA: itab TYPE STANDARD TABLE OF tab_type,
wa_itab type tab_type.
IMPORT itab FROM MEMORY ID id.
loop at itab into wa_itab.
write:
wa_itab-para,
wa_itab-dobj.
endloop.
Thanks,
vinod. -
It cannot reference the dynamic internal table in memory as an object.
Hi,
I am getting the syntax error in the second select. I guest it cannot reference the dynamic internal table in memory as an object.
The internal table contains different fields from multiple tables and it gets created OK. Then the first select within the loop executes OK allowing me to read the multiple tables in ITABLES.
* Create dynamic internal table and assign to FS
call method cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = ifc
IMPORTING
ep_table = dy_table.
***OK, the dynamic tables is created here
assign dy_table->* to <dyn_table>.
* Create dynamic work area and assign to FS
create data dy_line like line of <dyn_table>.
assign dy_line->* to <dyn_wa>.
loop at ITABLES.
***OK, no syntax errors in this select here
select * appending corresponding fields of table <dyn_table>
from (ITABLES-TABNAME).
endloop.
data: ikonp like konp occurs 0 with header line.
***NOT OK, there is syntax errors
select * into table ikonp
from KONP for all entries in <dyn_table>
where knumh = <dyn_table>-knumh.
Some of the tables in ITABLES are pooled tables which does not allow me to use INNER JOINS. Therefore I need a second select in order to read the pricing table KONP.
Thanks in advance for any hint.Hi Abel,
You must be getting the syntax error that <dyn_table> does not contain the field knumh.
try putiing the entire where clause in a char type variable say wa_char and then use in ur query as
where (wa_char) .. it may work..
concatenate 'knumh' '=' '<dyn_table>-knumh' INTO wa_char SEPARATED BY SPACES.
SELECT ... from konp...
where (wa_char).
Revert if it doesnt work. -
Export internal table to Excel file pressing a new button created in ALV
Hello, I am trying to implement the functionality to export to excel file inside a button that i have created into my ALV. I don't want to use FileDownload UI.
The code I have set for event handler of this button is the following:
METHOD attach_files .
TYPES:
BEGIN OF tipo_alv_tab,
tipod TYPE objid,
descd TYPE p1000-stext,
begda TYPE begdatum,
endda TYPE enddatum,
pernr TYPE pernr_d,
nombre TYPE ad_namefir,
email TYPE ad_smtpadr,
posicion TYPE p1000-stext,
uodesc TYPE p1000-stext,
END OF tipo_alv_tab.
DATA:
i_alv_tab TYPE TABLE OF tipo_alv_tab,
conv_out TYPE REF TO cl_abap_conv_out_ce,
content TYPE xstring,
lv_filename TYPE string,
xml_out TYPE string.
Fill values from memory
IMPORT name1 TO i_alv_tab FROM MEMORY ID 'ZCA'.
Build XML file with internal table information
CALL TRANSFORMATION ('ID') SOURCE tab = i_alv_tab[] RESULT XML xml_out.
Build XSTRING with XML
CALL FUNCTION 'CRM_IC_XML_STRING2XSTRING'
EXPORTING
instring = xml_out
IMPORTING
outxstring = content.
Format XSTRING
conv_out = cl_abap_conv_out_ce=>create( encoding = 'UTF-8' ).
Convert data
conv_out->convert( EXPORTING data = xml_out IMPORTING buffer = content ).
Save file
CALL METHOD cl_wd_runtime_services=>attach_file_to_response
EXPORTING
i_filename = 'Excel File.xls'
i_content = content
i_mime_type = 'application/msexcel'
i_in_new_window = i_in_new_window
i_inplace = i_inplace.
ENDMETHOD.
When pressing the button, the file created is without extension, and with a rare name. When trying to open the file, it seems to be corrupted.
Does anyone know what am I doing wrong???
Please, help is really really appreciated!!!!Hi Jorge,
The export data to excel functionality is available inbuilt in ALV and you dont have to write any implementation. However, if you want to create your own button for it, you can do so as below.
data:
lr_button type ref to cl_salv_wd_fe_button,
lr_function type ref to cl_salv_wd_function.
CREATE OBJECT lr_button.
lr_button->set_text( 'Export to excel' ).
lr_button->set_tooltip( 'Export data to excel' ).
lr_function = l_alv_model->if_salv_wd_function_settings~create_function( id = 'EXCEL' ).
lr_function->set_function_std( IF_SALV_WD_C_STD_FUNCTIONS=>EXPORT_EXCEL ).
lr_function->set_editor( lr_button ).
Now, you have created your own button, created a user defined function for the ALV and set this button as editor for the function. And using the set_function_std method, we have just mapped the functionality of your new button to the existing export to excel functionality in ALV.
Hope this is what you are looking for.
Regards
Nithya -
Export internal table from report to web-dynpro
Hi,
I am trying to export an internal table from a report to my web dynpro pragram however its not working.
Statement used in my report -
EXPORT it_ordbk FROM it_ordbk TO MEMORY ID 'ZORDBK'.
Statement used in my web dynpro program
IMPORT it_ordbk to it_ordbk FROM MEMORY ID 'ZORDBK'.
This dynpro application is being called in HTML container on the screen.
Kindly help.
Cordially,
DanishHi Danish,
do not use export or import in Webdynpro.
try to create a class with global variables and in the report or at the place of Export fille the data .
and next in the place of Import memory to to call the global variable in the webdynpro and fill the internal table
go to se24> create a zclasss-> methods initialize>create a ztable same as export table and also declare in glaobal vairaible
--> next in the webdynpro program -->call the method retrive and push the global data to internal table.
Prabhudas
Maybe you are looking for
-
Hi, I want to start weblogic in debug mode. Do you know what modifications should be made in the default configurations? -John
-
How to compress and decompress a pdf file in java
I have a PDF file , what i want to do is I need a lossless compression technique to compress and decompress that file, Please help me to do so, I am always worried about this topic
-
Applet question!!!
Hello there!!! I have an applet that sends text messages to a remote pc (chat application). I want to send a text message once the user closed the browser or another page is displayed or in general when the applet is no longer running. I tried to use
-
Best practice for saving long text messages?
I'm writing a cook book type program and for the instructions I expect that some of the steps can get quite lengthy. Is it acceptable to store a paragraph in a single string object or is there a better method? Thanks in advance.
-
Apple TV optical Audio stops working when connected to switch
Hi everyone, I'm installing a brand new Apple TV in the following setup: Apple TV (is up to date) - HDMI to HD Beamer - Optical Audio to Sonos Playbar (Works instantly) - Optical audio through switch to Sonos Playbar which doesn't work UPC Box - HDMI