Archival Method of a custom transparent table
Hi, I have created a custom transparent table and now I want to archive its contents after a certain point of time. Is there any way for this? Please advice.
Thanks, Sagar...
Hi Sagar,
Have a look at demo archive object EXAMPLE.
Create your custom archive object from AOBJ transaction along with the underlying write, delete, reload and read programs.
Hope this helps.
Thanks
Lakshman
Similar Messages
-
Loading a Z* custom transparent table using BW ETL tools
Hi,
In BW is it possible to load a Z* custom transparent table(instead of DSO) directly using BW ETL tools?. Thanks.
Thanks.
Raj.With BI 7.0 a typical tale is DSO[ write protected]...which should solve all your requirements.
You can have a start/end routine to add records to a z-table while processing data stagging [ datasrc>psa>dtp>dso ]..and delete data in target BI-datatarget[ dso]...and still keep data in ur ztable.
Edited by: Gopi Eriki on Aug 13, 2009 5:37 PM -
Track user changes in customized transparent table
Greetings..
How do i to track user changes in my table ? is there any master table that keep track changes made by user on the specific field.? Is there possible if the table have the original and changed data.i got the below explanation from other thread, which has explained by an expert, so, take it as reference and interprete according to ur req.
BEGIN
Table Events:
Go to SE11 and open your Ztable
click on the Table maintenance generator.
you can find the function group. right
Take the Function group name and go to Tcode SE37
and open the Function Group.
In the Status of the small window of the Function
group display
you can find out change requests , Main program and
Function group Docu tabs.
Click on Main program and create user defined Include.
check the sample code below
Click on main program
Create user defined include
User-defined Include-files (if necessary). *
INCLUDE LZPHIRF... " Subprograms
INCLUDE LZPHIRO... " PBO-Modules
INCLUDE LZPHIRI... " PAI-Modules
Create the below include.
INCLUDE LZPHIRI01. " PAI-Modules
Double click on the Include name. you have the below
code
Loop at Extract.
module liste_init_workarea.
chain.
field fild1
field fild2
field fild n
module set_update_flag on chain_request.
You have to add a new module here
check the below code
*----User defind module
Module user_defind_validation.
endchain.
Double click on module write code in that.
Include <Include Name> *
*& Module user_defind_validation
Module user_defind_validation.
Here you can write your own validations.
field2 = field1 /2.
field4 = field1 /4.
if field4 field3.
message.
endif.
EndModule. "user_defind_validation
Events allow you to change the generated table
maintenance dialog at predefined positions, which
cannot be reached by user modules in the screen flow
logic.
The user routines are called dynamically at runtime.
For this reason, the routines must be in a user include
in the table/view maintenance dialog function group.
All extended table maintenance global data is available.
An interface is only required for events 22 and AF.
The events can be additions or replacements.
Additional events
Event 01 before saving the data in the database
This event occurs before new, changed or deleted
entries are written to the database
FORM abc.
DATA: F_INDEX LIKE SY-TABIX. "Index to note the
lines found
LOOP AT TOTAL.
IF <ACTION> = desired constant.
READ TABLE EXTRACT WITH KEY <vim_xtotal_key>.
IF SY-SUBRC EQ 0.
F_INDEX = SY-TABIX.
ELSE.
CLEAR F_INDX.
ENDIF.
(make desired changes to the line TOTAL)
MODIFY TOTAL.
CHECK F_INDX GT 0.
EXTRACT = TOTAL.
MODIFY EXTRACT INDEX F_INDX.
ENDIF.
ENDLOOP.
SY-SUBRC = 0.
ENDFORM.
END
thanq -
Function Module showing Transparent Table access??
Hi Guys,
I'm in the process of writing some programs that will archive some of our Custom tables (they are getting very full!).
Now, instead of going through ALL the custom tables we created, I'm trying to write a small program that will bring me tables that have certain criteria...
One of the criteria is Tables Access. I'm trying to see when last a table has been accessed (by a program, for example). Im not talking about the last Change Date (as per table DD02L entries) as I presume this actually indicates technical changes to the table??
Im looking for a Function Module that can actually give me the last date any given transparent table's data has been accessed...
Does anyone know of such a Function Module/Class?
tks
C
POINTS WILL BE REWARDED FOR USEFULL AWNSERSHello Christian,
To answer your question, it is normally obtained through ST04 (DB Performance Monitor).
However, the inherent information pertinent to Table Access made by application programs depends on the underlying Database involved. In case of DB server being ORACLE...you may use the program RSORASCC.
Also, I would like to make a further recommendation about your methodology to identify custom transparent tables. Besides studying the table accesses, it is very important to consider the current size and the growth rate over a period of time. For doing this, use DB02 (Space Statistics for Tables and indexes) and workout the list of tables which you have to concentrate from archiving perspective.
Hope this info helps you and resolves your query.
With Regards
Vijay Gajavalli -
How to read open customer items from Archive system i.e BSID & BSAD tables
Hi,
We have a requirement to get the customer line items data that were open as of key date from archive system and present it as customer aging through a custon report. Example,in SAP R/3 we have data for last 3 yrs and beyod that the data is in archive system. Based on teh Key date, we need to got o archive system get the customer open items i.e from BSID & BSAD tables.
If you anyone has already dealt with this kind of requirement, please help me out with directions like simple way to ge the data. There is a standard report FBL5N with the option to choose datasources as , Database or archive system which used the logical database DDF.
Regards,
Abhi- First take a look at the [Archive Development Kit (BC-CCM-ADK)|http://help.sap.com/SAPHELP_NW04S/helpdata/en/2a/fa0391493111d182b70000e829fbfe/content.htm] and for coding sample at [Archiving Class|http://help.sap.com/SAPHELP_NW04S/helpdata/en/2a/fa03f9493111d182b70000e829fbfe/frameset.htm] and report BC_SFLIGHT_READ_DB_AR_BY_INDEX.
- Look also at archive object FI_DOCUMNT via transaction AOBJ.
Regards,
Raymond -
General method to fetch data from transparent tables with cluster field
Hi,
I want to know is there any general method to fetch data from the transparent tables which have cluster type field. For
example MDTC, STXL, PCL1.
thanksMeans using the IMPORT statement we can fetch data from any cluster field?
Yes, basically you should use IMPORT/EXPORT statements for clusters.
AR and MC are cluster ID (area identification), so called RELID.
By definition cluster is a combination of table and such area i.e
PCL2(RX) - international payroll resuts from table PCL2
PCL2(B2) - time results
Regards
Marcin -
What is the Transparent Table for PO Delivery Date field
Hii All,
Does anyone know the Transparent table where the delivery date is stored for the PO line item. It's not in EKPO. Where is it?
Thanks in advanceUnfortunatly there is no diagram anywhere for the table relation.
I usually help myself by F4 search in SE11
You know e.g. table EKKO. So enter just EK* and press F4 to see all other tables starting this way.
But in most cases when I search for tables that belong somehow together I use DB15 transaction.
This gives me all tables that belong to the same archiving object.
You can start there by entering a table name and search for the archving object.
then you do it reverse and you get all tables for this object.
(Unfortunatly SAP does not have archiving objects for any table) -
Reg : Creation of Transparent table in background
Hi Experts,
Whether is it advisable to use 'CL_REBF_DDIC_TABL' to create a transparent table.
I have used PUT_COMPLETE in this class to create the table, I am able to create it.
This method has a import parameter 'ID_MSGLIST', I am not getting what need to be passed for this parameter.
I have simply passed some number (eg: 123) for testing, so inside this class if any sy-subrc check fails it is giving
dump. If sy-subrc is equal to 0 then the table is created successfully.
Regard's,
Jean.Following are the steps to assign table to a transport request.
1. Create Transport Request in SE09.
2. Double click the Request and Go to Objects Tab.
3. Create an entry with PROGRAM ID = 'R3TR', Object Type = 'TABL', Object Name = <You Table Name>.
Move the transport request to from one system to another. -
Idoc data in transparent tables
Hi,
There is a existing program which picks up data from Idoc and creates the output files for further processing.
My requirement is I need to pick up data with using Idoc tables, is there any SAP transparent tables which stores the data? Is it possible or is there any method available to select the data?
Regards,
Kumar.Hi,
Use the table EDID4 to read the IDOC data.
You can also use the FM IDOC_READ_COMPLETELY
Thanks,
Naren -
Change documents for customer Z table - serious help wanted
Hi all,
I am no beginner and I don't expect any comments from beginners.
Situation: My customer wants to replace the material valuation transactions MRN1 MRN2 MRN3 due to bad performance and locking problems with own developed programs.
The valuation results will be stored in a customer Z-Table on a monthly base. For auditing and transparency purposes, this Z-table has to get a change object and the update routines will have to write change documents.
Due to the expected size of the new Z-table, it is not advisable to simply switsch on table logging.
In this huge project (and in none I participated!) nobody ever implemented the change document process for a Z-table. <b>BUT EVERYBODY CAN TELL YOU THI IS NO PROBLEM AT ALL.</b>
I read some documentation at SAP and serached for threads or blogs here. I could not find anything desribing that in depth.
So before I start, I'd be happy to get some hints from people who created own change documents and implemented the process. Links to documentation and other helpful pages are also welcome.
If I can keep the process simple, I'd like to create a BLOG on this - because I think, in the future it will get more and more difficult to pass the auditing process with undocumented features and uncontrolled table changes.
TIA.
Regards,
ClemensHi,
Please check this thread.
http://www.sapdevelopment.co.uk/tips/changedoc/cd_createch.htm
Once you create your change document object using generate update pgm option then please check the WRITE document fm.
I have done this long back i am updating CDHDR and CDPOS for 2 table YATT and YATTPLANTS. Here YATT have single record (header table) and YATTPLANTS have multiple records (item table)
function yatt_write_document .
call function 'CHANGEDOCUMENT_OPEN'
exporting
objectclass = 'YATT '
objectid = objectid
planned_change_number = planned_change_number
planned_or_real_changes = planned_or_real_changes
exceptions
sequence_invalid = 1
others = 2.
case sy-subrc.
when 0. "ok.
when 1. message a600 with 'SEQUENCE INVALID'.
when 2. message a600 with 'OPEN ERROR'.
endcase.
if upd_yctc ne space.
call function 'CHANGEDOCUMENT_SINGLE_CASE'
exporting
tablename = 'YATT '
workarea_old = o_yatt
workarea_new = n_yatt
change_indicator = upd_yattc
docu_delete = 'X'
exceptions
nametab_error = 1
open_missing = 2
position_insert_failed = 3
others = 4.
case sy-subrc.
when 0. "ok.
when 1. message a600 with 'NAMETAB-ERROR'.
when 2. message a600 with 'OPEN MISSING'.
when 3. message a600 with 'INSERT ERROR'.
when 4. message a600 with 'SINGLE ERROR'.
endcase.
endif.
if upd_yctcauthplnts ne space.
call function 'CHANGEDOCUMENT_MULTIPLE_CASE'
exporting
tablename = 'YATTPLANTS '
change_indicator = upd_yattplants
docu_delete = 'X'
tables
table_old = yyattplants
table_new = xyattplants
exceptions
nametab_error = 1
open_missing = 2
position_insert_failed = 3
others = 4.
case sy-subrc.
when 0. "ok.
when 1. message a600 with 'NAMETAB-ERROR'.
when 2. message a600 with 'OPEN MISSING'.
when 3. message a600 with 'INSERT ERROR'.
when 4. message a600 with 'MULTIPLE ERROR'.
endcase.
endif.
call function 'CHANGEDOCUMENT_CLOSE'
exporting
objectclass = 'YATT '
objectid = objectid
date_of_change = udate
time_of_change = utime
tcode = tcode
username = username
object_change_indicator = object_change_indicator
no_change_pointers = no_change_pointers
exceptions
header_insert_failed = 1
object_invalid = 2
open_missing = 3
no_position_inserted = 4
others = 5.
case sy-subrc.
when 0. "ok.
when 1. message a600 with 'INSERT HEADER FAILED'.
when 2. message a600 with 'OBJECT INVALID'.
when 3. message a600 with 'OPEN MISSING'.
* WHEN 4. MESSAGE A600 WITH 'NO_POSITION_INSERTED'.
* do not abort, if positions are not inserted!!!
when 5. message a600 with 'CLOSE ERROR'.
endcase.
endfunction.
a® -
Download transparent table data in excel
Hi all
I have ECC 6.0 system. I have a transparent table with 112 fields. Sufficient amount of data is present in that table. I need to download this data into an excel file. But I found there are some inconsistencies:
1. I used SE16. But we know that list output of the SE16 screen is limited to 1023 characters. Hence all the columns are not displayed. In my case it is displaying only 52 columns. Eventhough if we download this using System->List->Save->Local File->Spreadsheet, only those 52 columns are displayed in excel. So this SE16 was out of option.
2. I used SE16n. Here I could see all the 112 columns in the screen. But if I go for Export->Local File->Spreadsheet , each row gets splitted into two rows in excel. Also last few columns are not downloaded. All in all, it is an incomplete download and is not readable. Hence this method is out of option.
3. I used a manual method. In SE16n I copied all the data to the clip board using Ctrl+A and pasted them in a new excel document. The data got copied fully and properly. But the header line was missing.
What could be the solution other than writing a separate ABAP program?
Thanks,
PrasadHi Ankur,
Thanks for the reply.
I agree that there is ALV grid option. But that would result in point (2) I mentioned above. Evnthough, all columns are displayed, the rows gets splitted in excel. Also, last few columns does not get downloaded.
Thanks,
Prasad -
User provisioning to custom DB tables
Hi All,
I have a requiremnt where I need to provision users to custom DB tables(user table,role table and user_roles).
We need to treat this as a test app which will be used for further implementations.
what are the ways to achieve this?
1.using GTC-Will it allow me to provision to 2 different tables? and how?
2.normally defining the IT resourse-But I am not sure how the where will I define the table names to whcih I need to provision
Anyways,
I am using OOTB connectors
Thanks as alwayshmm...rite...
Do i need to specify the Status Lookup Code and status attribute values.I just need to implement this requirement for further implementation of the workflows..
Once I clicked next..the admin console returned to the home page with the following error in the log file
10/04/07 05:45:57 Oracle Containers for J2EE 10g (10.1.3.3.0) initialized
*ERROR,07 Apr 2010 06:47:59,750,[org.apache.struts.actions.DispatchAction],Dispatch[CreateConnector] to method goNext returned an exception*
java.lang.reflect.InvocationTargetException
* at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)* at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
at com.thortech.xl.webclient.actions.tcLookupDispatchAction.execute(Unknown Source)
at com.thortech.xl.webclient.actions.tcActionBase.execute(Unknown Source)
at com.thortech.xl.webclient.actions.tcAction.execute(Unknown Source)
at com.thortech.xl.webclient.actions.CreateConnectorAction.execute(Unknown Source)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
at com.thortech.xl.webclient.security.SecurityFilter.doFilter(Unknown Source)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:623)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
at com.thortech.xl.dataobj.tcADPClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
Edited by: watisoim on Apr 7, 2010 4:47 AM
My OIm uses jdk1.5 and the connector is in 1.6...i already raised this issue i received earlier bt oracle say its nt the issue with jd version
Edited by: watisoim on Apr 7, 2010 4:57 AM -
Calling method of a custom infotype from ABAP
Hi Experts,
I am working on an application where i need to call a method of a custom defined infotype.
I have done this -->
1. Create a custom infotype 9111
2. SAP creates a class of that infotype ZCL_HRPA_INFOTYPE_9111
3. Inside this method there are few inherited method which provide me functionality of insert , update , delete
i want to call methods IF_HRPA_INFTY_BL~MODIFY,
IF_HRPA_INFTY_BL~INSERT
However when i call these method from abap report this method does not work.
where as when i try to insert an entry using PA30 transaction it works.
Does anyone know why does this happen and what is the solution?
Regards,
Ashish ShahHad the same problem (probably copied from the same program). The answer is that you need to commit the work at the end using something like
* Commit
CALL METHOD busilog->flush
EXPORTING
no_commit = space.
Here is an example of my code for IT0002 which works.
*& Report Z_TEST2
REPORT z_test2.
DATA: a_masterdata_bl TYPE REF TO if_hrpa_masterdata_bl,
p0002 TYPE p0002,
lo_0002 TYPE REF TO cl_hrpa_infotype_0002,
ls_p0002_ref TYPE REF TO data,
container_tab TYPE hrpad_infty_container_tab,
container TYPE REF TO if_hrpa_infty_container,
message_handler TYPE REF TO cl_hrpa_message_list,
infotype_logic TYPE REF TO if_hrpa_infty_bl,
update_mode TYPE hrpad_update_mode VALUE 'XXX',
lt_0002_container TYPE REF TO cl_hrpa_infotype_container,
key TYPE pskey,
l_is_ok TYPE boole_d.
FIELD-SYMBOLS <p0002> TYPE p0002.
* get business logic from masterdata factory
CALL METHOD cl_hrpa_masterdata_factory=>get_business_logic
IMPORTING
business_logic = a_masterdata_bl.
* CATCH cx_hrpa_violated_assertion .
*ENDTRY.
*TRY.
CALL METHOD a_masterdata_bl->read
EXPORTING
tclas = 'A'
pernr = '508'
infty = '0002'
begda = sy-datum
endda = sy-datum
no_auth_check = 'X'
message_handler = message_handler
IMPORTING
container_tab = container_tab
is_ok = l_is_ok
* CATCH cx_hrpa_violated_assertion .
*ENDTRY.
READ TABLE container_tab INTO container INDEX 1.
lt_0002_container ?= container.
TRY.
CALL METHOD lt_0002_container->primary_record_ref
IMPORTING
pnnnn_ref = ls_p0002_ref.
CATCH cx_hrpa_violated_assertion.
ENDTRY.
ASSIGN ls_p0002_ref->* TO <p0002>.
MOVE-CORRESPONDING <p0002> TO key.
break stantric.
<p0002>-vorna = 'Rick'.
container ?= lt_0002_container->modify_primary_record( <p0002> ).
TRY.
CREATE OBJECT lo_0002
EXPORTING
tclas = 'A'
infty = '0002'.
CATCH cx_hrpa_violated_assertion .
ENDTRY.
CREATE OBJECT message_handler.
TRY.
CALL METHOD lo_0002->get_specific_bl
EXPORTING
versionid = '01'
tclas = 'A'
pskey = key
IMPORTING
infotype_logic = infotype_logic.
CATCH cx_hrpa_violated_assertion .
ENDTRY.
TRY.
CALL METHOD infotype_logic->modify
EXPORTING
old_container = lt_0002_container
massn = space
massg = space
update_mode = update_mode
no_auth_check = 'X'
message_handler = message_handler
IMPORTING
is_ok = l_is_ok
CHANGING
container = container.
CATCH cx_hrpa_violated_assertion .
ENDTRY.
* Commit
CALL METHOD a_masterdata_bl->flush
EXPORTING
no_commit = space. -
Load data from BW 7.0 DSO into a ECC 6.0 SD standard/Custom pricing table
Gurus,
We have a scenario, where we need to load data from a BW DSO to SD standard/Custom pricing table in ECC 6.0. That data will be few thousand records.
Per my knowledge, in BPS, retractors are available to update data from BW to ECC and OpenHub also can be used to handle similar scenarios.
Any one of you came across similar scenario?
If you have any third option (not BPS rectors or OpeHub) as a solution to handle this kind scenario, and share the knowledge, it will be greatly appreciated.
Thanks in advance,
VittalHi Yogesh,
Thanks for your reply.
We have large data volumes for Billing datasource and hence moving flat files using PI is not an option and also as i mentioned a part of requirement is monitoring of the whole process as well. What i mean by this is if a 1000 billing document items were passed on to CRM7 to create a member activities and because of some reason a member activity was not created for one of the billing doc items, we should know the problematic record and reason why member activity was not created in CRM7 (reason code). And then be able to fix it. All this requires an end to end monitoring capability and also guaranteed delivery of data to CRM7.
Hence i was trying to explore the enterprise web service option.
What i am not sure of is how to expose BW DSO delta request to CRM7 using a web service ? or any other method that gives end to end monitoring capability and also guaranteed delivery of data to CRM7.
Any other suggestions ?
Thanks
CK -
What are the methods to modify SAP standard tables?
hi
what are the methods to modify SAP standard tables?.APPEND structures AND CUSTOMIZING INCLUDES.
these are the two methods.. but customizing includes we, as a developers do not use.
generally we use .APPEND structures to modify standard tables.
note that we need an access key to modify atandard tables.
we can create an apend structure and add that structure to the standard table at the end.
note that .append structures should only be added only at the end.
that is the reason we use .append structures to modify standard tables.as we should not include a field in the middle and disturb the original order of the standard table fields as it may effect many objects depending on the standard table.
but Some standard tables for which there is a LONG datatype field can never be modified.
the reason is the LONG datatype field should always be there at the end and also .APPEND strutures should always be there at the end. there will be a conflict. so, some standard tables can not be appended.
Maybe you are looking for
-
Why does siri not work on my iPhone 4s?
Just purchased iphone 4S and Siri is not working. I have the most up to date software - 5.0.1 When I hold down the home button I get the voice control feature that's on previous versions. Any ideas?
-
Updates needed to the N8!
#1: Kill the sms-erase bug! - When writing long sms´s and you are about to delete one letter but 95% of the whole long sms is erased due to something. Have happen to me about 10 times since Oct 2010, **bleep** me off! And when saving your sms while w
-
SSRS Print one row then detail urgent...
hi all, I have a report that has two sections of data. In a list component with textboxes I have Barcode, warehouse location, pallets. Then below this I have detail information in a tablix including Racklocation Use by date, Qty, Product, Description
-
Why don't I see the little plus sign (+)
Why don't I see the little plus sign(+) to the right of an open tab? The one that allows you to open a new tab? I updated two other computers and there's no problem (one is using XP and the other is Windows 7). I can open a new tab by pressing "ctrl
-
[C++] External functions
Hi, I'm new of this forum...hallo world! I'm trying to include function from external files to manage to develop clearer project. At the moment I compile with g++ from the terminal, could it be a problem? I tried to use Eclipse but I'm not able to un