Table for Memory Id
Hi Guru's,
I actually curious to know to in which table the Memory id are stored. And the list of programs where the the memory id is used.
EXPORT lt_sub_mdata TO MEMORY ID ZTSD_SUB_MDATA.
I want to know the other programs where the memory id ZTSD_SUB_MDATA is used.
Regards
Anil
Hi Anil,
Please check this site will help you.
http://help.sap.com/saphelp_nw70/helpdata/en/fc/eb3bc4358411d1829f0000e829fbfe/content.htm
http://help.sap.com/saphelp_nw04/Helpdata/EN/fc/eb3bde358411d1829f0000e829fbfe/content.htm
Similar Messages
-
How to check a XMLTYPE table for corrupted (not invalid!) XML records ??
Hello,
I'd like to get help on the following issue, please. I need to check the XML data in a number of tables with XMLTYPE data type. Some of the data is corrupted but in terms not that the XML format is wrong but there is no XML at all in the fields but just only, for example, control characters (no tags, no anything, just corrupted data).
So, I have made a PL/SQL procedure cursor to get all the tables from a list, and then another cursor inside to browse each table for corrupted records. But can you help me how to check this? Any of the XML functions like for example: XMLIsValid, isFragment(), getrootelement(), etc. return to me an Oracle error "ORA-31011 XML parsing failed" and the procedure gets stuck on the first found bad record. But I need to continue and check all of them. Is it possible to get the ORA-31011 error with EXCEPTION, write to a logging table the corrupted record ID, and then continue?
Here is my simple procedure:
CREATE OR REPLACE PROCEDURE CHECKXML (v_schema in VARCHAR2)
IS
v_Message VARCHAR2(254);
sql_stmt1 VARCHAR2(1000);
sql_stmt2 VARCHAR2(1000);
c1 SYS_REFCURSOR;
c2 SYS_REFCURSOR;
cur_tab varchar2(100);
cur_appl varchar2(100);
cur_rec varchar2(200);
valid_flag number;
criteria VARCHAR2(20);
tab1 VARCHAR2(20);
tab2 VARCHAR2(20);
BEGIN
criteria := 'XMLTYPE';
sql_stmt1 := 'select id, path from ' || v_schema || '.stubfiles where type=:bcriteria';
open c1 for sql_stmt1 using criteria;
loop
begin
fetch c1 into cur_tab, cur_appl;
exit when c1%notfound;
insert into system.log_table values (sysdate, v_schema, 'next table', 'id ' || cur_tab, 'appl ' || cur_appl, '');
sql_stmt2 := 'select t.recid, t.xmlrecord.isFragment() from ' || v_schema || '.' || cur_tab || ' t';
open c2 for sql_stmt2;
loop
begin
fetch c2 into cur_rec, valid_flag;
exit when c2%notfound;
insert into system.log_table values (sysdate, v_Schema, 'next record', 'id ' || cur_tab, 'recid ' || cur_rec, 'valid ' || valid_flag);
commit;
EXCEPTION
WHEN OTHERS THEN v_Message := sqlerrm;
dbms_output.put_line('Error for ' || cur_tab);
dbms_output.put_line('-' || v_Message);
insert into system.log_table values (sysdate, cur_tab, 'id err' || c_Row.ID,'appl err' || c_Row.path, v_Message,'');
end;
end loop;
close c2;
commit;
end;
end loop;
close c1;
commit;
END CHECKXML;
Thanks in advance
EvgeniHi
Why do you use a GTT? Just keep your xml in memory...
HTH
Chris -
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 -
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 -
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. -
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'. -
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. -
Hi all,
is there a possibility in 11g to load tables at database starttime from disk to memory and therefore all further "read"-access to this table will handled in memory?
best regards
georgIt is possible to keep -especially small- tables in memory, by putting them into the keep pool.
The steps to take are:
- Determine size of the table
- Adjust size of the keep-pool so the table fits into it, using:
alter system set db_keep_cache_size=<size of table + 20%> scope=both;After tha 'pin' the table into the pool using:
ALTER TABLE <table> STORAGE ( BUFFER_POOL KEEP );
MAKE SURE that your SGA is large enough for the keep pool to be created. It is preffered to increase the SGA with the size the keep pool will become.
In that case no other memory buffers will be reduced in size
HTH
FJFranken -
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. -
Tables in memory (Nested tables ?)
For performance reasons, I would like to insert, update, etc...
a table in memory. Can I use a nested table as if it was a
normal table ? Can I do updates on nested tables with values
from normal database tables ??
Statement like : Update <nested-table> set <nested-
table>.x=<value> where <nested-table>.y = <normal-table>.y
Thanks for a quick response.The answer is yes and no.
A nested table is a "collection" and can be referenced in a SQL
statement using the pseudo-functions THE, CAST, MULTISET and
TABLE. The nested table and varray collections can be a column
in a database table (Oracle8) and are persistent. SQL
statements cannot act on memory held nested tables, varray and
index-by collections, which are transient. Index-by collections
are same as the older PL/SQL tables.
SQL statements cannot operate directly on transient collections.
For speed you can define an index-by collection as a table of
rowtype, and move data back and forth from database tables and
memory held tables using SQL. Records and index-by tables are
more efficient in Oracle 8 than in Oracle 7
In PL/SQL you can use replacement (:=) on the record or
record.column of the rowtype index-by collection. The downside
is you have to keep track of your own indexing which is only
BINARY_INTEGER, no SELECT, UPDATE, INSERT using FROM and WHERE
on transient collections. This works in Oracle 7 also.
Good Luck. -
How to create a TEMPORARY table in memory?
Hi,
Is there any way to create a temporary table in memory other than in tablespce?A cursor should do the job for you, I reckon.
Regards,
Raymond. -
Unaccounted for Memory is too big and lead to Native Memory Issuse.
In our server, after running 1 month, Unaccounted memory will increase up to 500m or higher. And the native memory will be big. So it lead to OOM. Below are one sample:
j2eeapp:jhf1wl101:root > jrcmd 27398 print_memusage
27398:
[JRockit] memtrace is collecting data...
[JRockit] *** 19th memory utilization report
(all numbers are in kbytes)
Total mapped ;;;;;;;5100644
; Total in-use ;;;;;;4038952
;; executable ;;;;; 75968
;;; java code ;;;; 23680; 31.2%
;;;; used ;;; 21833; 92.2%
;; shared modules (exec+ro+rw) ;;;;; 4858
;; guards ;;;;; 5928
;; readonly ;;;;; 0
;; rw-memory ;;;;;3986664
;;; Java-heap ;;;;3145728; 78.9%
;;; Stacks ;;;; 126050; 3.2%
;;; Native-memory ;;;; 714885; 17.9%
;;;; java-heap-overhead ;;; 99596
;;;; codegen memory ;;; 1088
;;;; classes ;;; 166656; 23.3%
;;;;; method bytecode ;; 13743
;;;;; method structs ;; 21987 (#281446)
;;;;; constantpool ;; 72105
;;;;; classblock ;; 7711
;;;;; class ;; 11900 (#21166)
;;;;; other classdata ;; 22950
;;;;; overhead ;; 114
;;;; threads ;;; 960; 0.1%
;;;; malloc:ed memory ;;; 81024; 11.3%
;;;;; codeinfo ;; 4815
;;;;; codeinfotrees ;; 2614
;;;;; exceptiontables ;; 1790
;;;;; metainfo/livemaptable ;; 24519
;;;;; codeblock structs ;; 20
;;;;; constants ;; 33
;;;;; livemap global tables ;; 8684
;;;;; callprof cache ;; 0
;;;;; paraminfo ;; 255 (#2929)
;;;;; strings ;; 24040 (#345745)
;;;;; strings(jstring) ;; 0
;;;;; typegraph ;; 10132
;;;;; interface implementor list ;; 260
;;;;; thread contexts ;; 598
;;;;; jar/zip memory ;; 12204
;;;;; native handle memory ;; 486
;;;; unaccounted for memory ;;; 366520; 51.3%;4.52
---------------------!!!>
"No one is perfect - not even Mac OS X. If a program manages to lock up central processes, a restart will be needed."
That first part of what you said there is indeed true.
But a modern OS is designed to keep processes separated. An application crash
SHOULD NOT
require a complete shut-down and reboot of your system. Yes, the Log-Out/Log back in process might take awhile if you have a particularly bad application crunch, because the OS has detected that something went screwy and is checking to see that the user account is healthy enough to run, and may be fixing some things in the process.
I've run all kinds of not-quite-polished software over the years since my adoption of OS X, and no matter how badly some of it performed nothing ever required me to reboot my system to restore operating health. Now, that's not to say I don't run system maintenance utilities which, after performing their routines, suggest or require a shutdown restart. I usually only do this if I've decided to delete the offending application from my system. (Sidebar: How diligent are you about maintaining the general health of your system through the regular practice of running preventative maintenance routines? Ramon may be along shortly to lay the boiler-plate on you about this :))
Does Photoshop dig its hooks so deeply into the root level of the OS that it could cause the kind of problems you've had? I don't know for sure, but I'd guess that it's possible. And I'd suggest that, if wonky Photoshop behavior can be so bad that it
requires
the user to restart in order to regain operational health, then something is VERY wrong. And I'd go even further out on a limb to guess that this is a fault in Adobe's Photoshop coding, and not in Apple's OS coding. -
How to keep a table in memory in Oracle 10g
How to keep a table in memory in Oracle 10g
Hi !
For small tables wich are mostly accessed with full table scan you can use
ALTER TABLE <table_name> STORAGE (BUFFER_POOL KEEP);KEEP pool should be properly sized , setting will cause once the table is read oracle will avoid flushing it out from pool.
T -
Roll space error during Fill Header Table for EQUI
Hello. During ECC time slice copy, phase "Fill Header Table" for table EQUI, we are getting roll space memory error on the sender. The error is as described in SMP Note 1266386. However, as per the note it is fixed in DMIS_CNT SP10, we are at DMIS_CNT SP14. Our memory parameters are generous. We have opened up a customer message; in the mean time just wondering if anyone has come across this and fixed. Thanks,
Regards,
ShanThere is an OSS note (1273545) which is specially about SP14, SP13.
Did you go over that note?
Please let us know. Thanks! -
How maintaining the connection table for sticky/persistent/non-persistent?
Question about how to maintain the connection table for the source(client) and destination(server) in the CSM(or CSS).
I know the sticky has the table and max size such as 128K(css11501)as per CCO but not clear how works the persistant and non-persistant case.
Q1) persistant. does it maintain the conntion table to tracking the session? then, any information the table size?
Q2) non-persistant. is this also have connection table? then, how it works?
why I'm asking is want to understand how the session keep tracking. for example, the router based on the routing table(stateless) versus PIX firewall has stateful table. As analogue, is the non-persistnet stateless and statefull for the persistent and sticky?
Thnaks in advance,The CSS uses FCB to maintain information about active connections.
Each connections requires 2 FCB - one for client to vip and one for server to client.
When you boot the CSS it will immediately reserver a good amount of memory to create a list of FCB.
Each connection will then take 2 FCB from the list.
You can do a 'flow stat' from llama mode to verify how much free/used FCB you have.
When running low on FCB, the CSS will try to allocate more memory.
Gilles.
Maybe you are looking for
-
HP Deskjet 5550 issues-can't print but iMac definitely recognizes printer!
I recently added my iMac to my network of PC desktop and laptop, supported by a Home Portal (router) and an Airport Express for streaming music from iTunes. Works great! With the new iMac, I cannot get any documents to print, even though the iMac rec
-
Lion problem with bootcamp diskutil and windows 7 help
Hi I have a problem with my imac 27th I have installed Mac Osx 10.7.2 Lion Processor 2.93 GHz Intel Core i7 Memory 12 GB DDR3 1333 MHz ATI Radeon HD 5750 1024 MB The serial number CK1160PBDNR I have 3 partitions on the system First MAC OS-500 GB on t
-
OCCI VS 2008 & OCCI 11.1.0.6.0 Performance Problem
I have been using VS C++ 2003 in combination with the oracle instant client 10.2.0.4 in our tool. We now moved to VS C++ 2008 (Express Edition) and oracle instant client 11.1.0.6.0 as listed at [http://www.oracle.com/technology/tech/oci/occi/occidown
-
Dear SAP Users, Please let me know on how to Start with SAP RE (Real Estate) Customization. While prepareing Sales Order , is there any reference with Objects like Business entity, property or lot. Please explain. regards, GHS.
-
The site identiy button is not showing up on any websites
I recently uploaded Firefox 4. When I go to websites the site identity button isn't there. It would be a nice feature to have.