Modifying SAP Tables directly

Hi Friends,
As per SAP, no one should update SAP standard tables diectly. I mean direct modification of data in standard table is not a good practice. But my query is, whether it is been mentioned in any Notes or Best Practice? <removed_by_moderator>
Thanks And Regards
Pradipta Kumar Mishra
Edited by: Julius Bussche on Sep 1, 2008 8:43 AM

>
Pradipta Kumar Mishra wrote:
> As per SAP, no one should update SAP standard tables diectly. I mean direct modification of data in standard table is not a good practice. But my query is, whether it is been mentioned in any Notes or Best Practice? <removed_by_moderator>
It's not mentioned in precisely the terms you specify in any SAP official note or good practice document I've ever seen.  But then also there's no note that says that if you delete all your backup tapes and then reformat your harddrives, SAP won't help you recover your data.
I like note 415983 about using unreleased function modules potentially leading to a violation of license agreement.
The problem you described is caused by the fact that unreleased function modules were used for a customer development or modification. This is a violation of the software agreements with SAP.
The consequences are as follows:
o   If malfunctions occur after changes have been made to unreleased function modules or if unreleased function modules were used, you are not entitled to any support nor does SAP provide support in these cases.
o   In case of violations, SAP reserves the right to dun the violation of the terms of use and to make a claim for compensation.
There's nothing quite as explicit that I've found about updating tables directly.  (Though given the above, I'd be surprised if something similar wasn't found in the licensing legalese)  The nearest is note 890379, where it's clear you won't get support for errors caused by "the use of User Exits, Z-Transactions and Modifications to or Custom Developments created in addition to, the Standard SAP code".
So, there's nothing to stop you updating BSEG directly if you want, possibly even it doesn't violate your license.  But it will be a custom development that does it, and if it goes horribly wrong, then according to note 890379 you're stuffed.  Whether it is bad programming practice or not is utterly irrelevant.  Direct changes are carried out at your own risk.
matt

Similar Messages

  • Access sap tables directly

    hi
    i am trying like this using jdbc.... to sap connection
    conn = DriverManager.getConnection(
    "jdbc:oracle:thin:@10.10.88.111:50000","username","password");
    but it is throwing ioException: get minus one from a read call
    pls help me....
    thanks

    Please refrain from opening a new thread with the exact same question. There are plenty of resources on the net with examples on how to create and use a jdbc connection. Simply search for "jdbc example" or something similar in google and you will get thousands of results.
    JDBC connections to a DB used by SAP are no different then any other jdbc connection to a DB, so any example would be valid.
    regards,
    Dion

  • Report on direct SAP table updates?

    Is there a SAP (audit) report that will list customer developments that update SAP tables directly? (a listing of Z* programs that INSERT, DELETE, MODIFY, UPDATE SAP tables). Thank you, Adrian

    Hello Adrian,
    the 50 object restriction should not apply if you define an object set and do not use the on the fly search but save a pattern. I have run the code inspector for 1000 and more objects w/o problems.
    Kind Regards
    Roman

  • Optimized sql not properly generated when using SAP tables

    Hi Experts
    We are using BODS 4.1 sp2.
    We have a simple dataflow where we pull data from SAP r3 using direct download and push it in our database.
    Basically its like this:
    SAP Table-->Query Transform-->Oracle Database
    Inside query transform,we have applied some conditions in where clause,which are combinations of 'or' and 'and' operator.
    However when we are generating optimized SQL for the same,we observe that the conditions in where clause are not being included in the optimized query.
    But if we replace all conditions by only 'or'  or by only 'and' condition,the optimized sql query with condition  is generated.
    Somehow the optimized sql with conditions is not generated if where clause has mixer of 'and' and 'or' conditions.
    The issue is only observerd for SAP Tables
    However the same dataflow in bods 4.0,generates an optimized sql containing the mixed conditions of 'and' and 'or' in where clause.
    Please help me on this.

    Dear Shiva
    We e
    Let me explain this in detail to you:
    We have a simple dataflow where we push data from the sap table directly into our oracle database.
    The dataflow has a query transform where we have some conditions to filter the data.
    The method used to pull data from R3 is direct download.
    System Used:
    BODS 4.2 SP1
    SAP R3 620 release(4.7)
    The where clause has mixed 'and' and 'or' operators.The problem is that this where clause is not getting pushed in the Optimized sql.
    Eg: Table1.feild1=some value and Table1.feild2=some value or Table1.feild3=some value.
    If this is the condition in  where clause,the where clause does not appear in optimized sql.
    Also the condition in where clause is from same table.
    However if all the condition in where clause are either all 'and'  or either all 'or',the condition gets pushed and appears in optimized sql.
    But if their is mixed 'and' and 'or' it fails.
    The same was not the case when we used BODS 4.0 with R3 620(4.7).
    We investigated further and used R3 730 with BODS 4.2.With R3 720,we the where condition was getting pushed into optimized sql for mixed 'and' 'or' predicated.
    SAP support too confirmed the same.They were able to reproduce the issue.
    We will use ABAP dataflow and see if if resolves the issue.
    Regards
    Ankit

  • 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.

  • Updating SAP table field directly?

    Hi all,
    The client is using SAP for 2-3 years and this will be replaced by new SAP system ( same version - 4.6c) in few months.
    So as to get data from old system we are doiong conversion right now. In this client, PO creator name is very important and it drives so many things. When we will do conversion and convert old PO into the PO in the new system, the username ( created by) will be "batch user".
    Client somehow want to retain the username, the original username of old POs.
    For this, they are asking to update the EKKO-ERNAM field directly once the new POs are created ( we will have old PO - new PO mapping and user name).
    In my view, it is not advisable to update the SAP standard table directly. But i want the opinion from you guys that what are the implications of updating field directly. Is it advisable? Is there any other way to meet this requirement?
    Thanks,
    Pratik

    Hi palaniappan,
    1. Good question and good concern !
    2. Your concern is absolytely correct.
    3. Sap does not advise to
       update SAP standard tables directly
       thru any z program
      (It may stop support in future)
    4. But for your requirement,
       it the po user will be "batch user",
       then
       thru some Z program,
       u may do so.
    5. BUT
       Please take care that
       a) u have signed specifications of this logic
          and concern from the FUNCTIONAL CONSULTANT !
         (only after that one should do)
    regards,
    amit m.

  • Update ztable from database table directly

    hi all,
    can u tell me the possible ways to update a ztable from database table directly.
    i mean is there anyway to update ztable whenever entry is created in database table .
    i dont want to update using insert,modify statements.
    points will be rewarded to all hlpful answers.

    A slightly dirty solution:
    Use SAP functions for reading from CDHEADER and CDPOS tables [with enough filters such that you extract minimum records possible] to read changes to MARA table fields since last run of your program. Use this information to update your ZTABLE. I would recommend having a table maintainance generator on ZTABLE. The actual update should be by a BDC by calling transaction SM30 for ZTABLE maintainance. Now the program may be set up as a batch job running 1ce an hour. You get updates to the extent of 1 hour latency.
    Alternatively, you may look if an opportunistic BADI / user Exit is there alongside MM01/02 transactions - assuming the latter are the only ones updating MARA. In this BADI you may write the code to update ZTABLE- again, look to do it by BDC call transaction sm30 to maintain ZTable. To lighten up the code -load on BADI you may simply raise a custom event and move on. You will configure a job that runs your program when that particular event is raised. This will need the 'burden' of figuring out the changes, though.
    An elegant way would be to fire a MATMAS fIDOC for every change to Material, capture that and turn back the changes to ZTABLE. This will facilitate the delta load.

  • Questions on SAP Biller Direct Java Customization

    Hi,
    I am working on SAP Biller Direct java customizations. Can anyone help me find answers to these questions.
    --  I have created local DC from the Biller direct track in NWDI. I would like to change the User registration page in Biller Direct.
    Can any one let me know the JSP page name for that and where can i find it in the components.
    --- Also all this development do i have to do it in J2EE perspective and checkin my changes?
    Also i would like to know if anyone can send some documents on devlopment part of Biller direct.
    Thanks
    Edited by: Aparna on Aug 20, 2009 12:33 PM

    Hi Aparna,
    I have a couple quick questions about BD development and would really appreciate it if you could provide some advice since we are starting our build soon.
    In my NWDI track, I have component FSCMBD and several other of the required SAP components. I did not create a new product or component, just followed the procedure in this thread: https://forums.sdn.sap.com/thread.jspa?threadID=1331894. Is that the method you recommend?
    I am concerned about doing development directly on the FSCMBD component. How do I prevent my developers from modifying BD source code? Is the idea that they will create independent DCs in NWDS (as you described) and only modify those? I just want to make sure that we are doing development in a way that is supported and will not cause issues when applying SPs or upgrades to FSCMBD.
    I also want to confirm that this "create project" activity is not something that I need to do as an Administrator in the NWDI track; this is something my java developers will need to do in NWDS at the beginning of the build.
    Thanks Aparna!
    - Michelle

  • How to update Records of SAP table from .CSV file

    Hi,
    I have written a code which takes a data from (,) delimited CSV file and adds it into the Internal table.
    Now I want to update the all fields in SAP table with the Internal table.
    I want to use Update statement.
    Update <table Name> SET <field needs to update> WHERE connditon.
    I don't want to iterate through thousand on record in sap table to check the where condition.
    Could you please tell me how to do it.

    Hi. I thing you will not workaround the iterating of the internal table.
    You can pre-load all the records into another internal table
    check lt_csv[] is not initial. " important, otherwise next select would read all records of the table
    select .... into lt_dbitab for all entries in lt_csv where key-fieds = lt_csv-key_fields...
    check sy-subrc eq 0 and lt_dbitab[] is not initial.
    then do in-memory update of the it_dbitab
    loop at it_dbitab assign <fs>.
      read table lt_csv assign <fs_csv> with key ... " lt_csv should be sorted table with key, or you should try to use binary search
      if sy-subrc eq 0.
        ...change required lt_dbitab fields: <fs>-comp = <fs_csv>-comp...
      endif.
    endloop.
    ant then you can do mass-update
    update dbtab from table lt_dbitab.
    From performance view, this solution should be much faster than iterating lt_csv directly and updating every single database record
    Br
    Bohuslav

  • Read SAP table data outside of SAP, without a SAP license

    Hello all,
    I have been asked to allow people within my company to directly access vendor information, but of course they don't want to purchase a SAP license.
    Yes, yes, I know that directly reading from SAP tables at the Oracle database level is generally frowned upon.
    I can envision creating an external application that presents the user with a screen of searchable fields, uses these fields to create SQL for the oracle tables LFA1, LFB1, ADRC, and ADR6, and returns a report of vendors that match the selection criteria.  The report could have drill down capability to give additional detail per vendor  This application would be executed with a user that has read only table access to the aforementioned tables.
    I just started to use the Oracle tool SQL Developer for a project that has nothing to do with SAP and that gave me the idea I described in the previous paragraph.
    Is anyone doing something like this?  Or what other methods are being used to allow on demand access to SAP tables, without a SAP license . 
    We are using SAP Enterprise Edition  version 4.7and Basis 620.
    Thanks
    Bruce

    Hello,
    You can use an RFC to extract data from SAP.
    Depending on the language you can extract data, for example if it is on .NET, you can use the .Net SAP conector, and create a RFC function on SAP, that returns the data you need.
    To extract the data you will need a valid SAP user and password.
    Hope this helps
    Gabriel P.

  • Insert the data in sap tables from C SHARP application

    Hi All,
                 I want to save some data in sap table from my CSharp(DOTNET)  windows application.I tried with the help of  SAP.Net Connector but that connector is not been supported visual studio 2005 or i not have visual studio 2003 .Soo plz any one can help how i can do this .
    If any one have a idea then plz give me some example also how we did.
    thanks
    regards
    sandeep Dabral

    You have to use SAP .NET connetor to make interface with SAP. This is better way of doing interface between .NET and SAP.
    You create web service (wsdl) in .NET 2003 and try to use that in .NET 2005.
    You're getting the two technologies confused ......
    .Net Connector is used for RFC-type interfaces. It calls Bapi's directly. Web services are not involved for this type of interface.
    WSDL files are used to generate proxies for the .Net client to call Web Services (typically web-enabled Bapi's). This type of interface uses SOAP protocol not RFC and does not use the .Net Connector. Enterprise Web Services may be discovered using the .Net Enterprise Service Explorer, which is a different component from the .Net Connector.
    Regards,
    D.

  • To upload a data into SAP Table with the help of RFC function in BODS

    Hi,
    Please provide me step-by-step solution to upload data into any SAP table with the help of RFC function in Data Services.
    I have created RFC function that upload data into SAP table. RFC Function contains one table that has same structure as my database table.
    In the data services how can i filled the table of RFC function, i am using this function in query transform of data services but it gives me error.
    I am also follow link http://wiki.sdn.sap.com/wiki/display/BOBJ/BusinessObjectsDataServicesTipsand+Tricks
    but it did not help me.
    Thanks,
    Abhishek

    Hi Abhishek,
    Did you import the function module in the SAP datastore first? When you open the SAP datastore, the function should be listed in the 'functions' section. If not, import it. Make sure your function is remote executable.
    Once the function is there, you can use it in a transformation. In 'Schema Out' right-click on 'Query' (top level) and choose 'New Function Call'. You can then select a datastore and a function in the datastore. The wizard will show you which output parameters are available. I believe you have to add at least one and can select as many as you like.
    After confirming your selection the function and the output parameters appear in Schema Out. You can then right-click on the function and choose 'Modify function call'. A popup will appear where you can specify the input parameters.
    I hope this helps.
    Jan.

  • Accessing SAP Tables from a Java application

    Hi,
    I know, the forum is called "Web Application Server" but because it's Java question I hope to get answers here.
    I have a small stand-alone Java application that needs to access (read-only) all records from a SAP table. Is there a possibility to do this without writing a BAPI before?
    thanks a lot
    Paul

    Hi Paul,
    You can use JCo to call the standard remote-enabled function RFC_READ_TABLE. There is one annoyance involved with this function, though: each row of data returned is packed into a single string, so you must either specify a delimiter and use e.g. String.split(...) to parse out the column values or use the returned metadata to extract each value based on position and length attributes of the column.
    Another option (although this is usually not allowed in a productive environment) is to establish a direct JDBC connection to the database, thus bypassing the ABAP application layer entirely.
    Regards,
    Thorsten

  • Oracle VIEW created on SAP table

    Hi All,
    I've Oracle 10g. I've a view in it on an SAP table using DB link.
    I started getting error ORA-06502: PL/SQL: numeric or value error: Bulk Bind: Truncated Bind when this view is fetched using FOR loop. On investigation, I found that there is a column which when VIEW is described shows datatype as VARCHAR2(10) but it actually has some records with length more than 10.
    When I modified PL/SQL block and modified this query by adding SUBSTR on the column to get just 10 chars, it worked.
    I suspect that this SAP table might have been recently altered to increase columns length i.e. altered after VIEW was created on it. Here, my question is that will I need to recreate this view? As usually when a view is created on an Oracle table, it automatically inherits table column's data types. even when a table column is altered after view is created.
    Thanks in advance.

    Hi Chintan,
    Why can't you Query the SAP table and checking the length of the column ?
    I think the error is now in the view. I think the problem is with the code. Hope you might
    have declared a variable which does not fit the size of the value you are assigning.
    This may be the cause too when you take the substr function you are not getting errors.
    Can you Please the code ??
    And,
    If I am Clear,
    When you create a view from SAP table, we just issue,
    CREATE OR REPLACE VIEW sp_view
    AS
       SELECT *
         FROM sapprd.marm@sap;And, the view is created based onthe base Table. So the datatype is inherited, for VARCHAR and NUMBER datatype.
    And, the TIMESTAMP in SAP is to VARCHAR2 type in oracle.
    Thanks,
    Shankar

  • Accessing sap tables data and display in webi

    Hi all,
    i installed business objects edge series.
    i want to access SAP tables data and display in webi for adhoc reporting.
    Is there any process to achieve this.

    Hi
    currently (April 2010) you have the following options:
    1. You load your R/3 data into an SAP BW and use universes based on BEx queries to create WebI reports
    2. You can use SAP rapid marts. They contain Data integrator mappings (you need an installation of the DI for this) to extract and load your SAP R/3 data into a relational database. Additionally they provide universes (based on a relational schema) hich ill allo you to build WebI reports.
    3. You can use the R/3 connector for the Data Federator (You need a DF installation for this). Please note that the R/3 connector is not yet a product rather just a PROTOTYPE. Take a look here: SAP BusinessObjects Web Intelligence Reporting for SAP ERP [original link is broken]
    4. You can try to access the underlying database directly using the appropriate DB drivers. Please note that this is NOT RECOMMENDED. This way you cannot leverage security defined on the R/3 side in your WebI reports and you will not be able to access all data as available in R/3 since some of them are stored encoded/compressed in the underlying tables.
    5. Instead of WebI you can use Crystal Reports and the R/3 drivers (eg. SAP Tables, Functions, Cluster) provided when installing the integration kit for SAP.
    Regards,
    Stratos

Maybe you are looking for