Custom Table behaves differently

Hello!
We have a Z table that we made configurable (it was  not so before) and to keep change logs (it was not doing so before). The changes worked perfectly in the Dev system but when the transport was moved to Q, it still does not have these new features. The settings for it are the same in both the systems that tells us that the transport moved in correctly. What else could be wrong here? The settings (in both systems) are:
in SE11:
1. Tab Delivery and maintenance - Delivery Class is 'C', Data Browser/Table View Maintenance is marked 'X'
2. Under Technical Settings the radio button to Log Data Changes is checked
3. Under menu Utilities and sub menu Table Maintenance Generator, the radio button for standard recording routine is checked.
With these settings, it behaves perfectly in Dev, not in Q. The Q system is NOT open, the other Z tables can't be maintained directly in Q, I verified that too...
Appreciate any ideas where else to check?
Thank you very much.

Hi Wolfgang,
Can you check the system parameter rec/client in your Dev system and Q system. You can check it user self by running report RSPARAM.
SAP documentation about the "Log data changes" field.
Dependencies
Logging only takes place if the parameter rec/client in the system profile is set correctly. Setting the flag on its own does not cause the table changes to be logged.
Regards,
Vimal

Similar Messages

  • Custom Table Entry not in Sync between Different Environment

    Hi All,
    we have different environment like Dev System, Quality system, performance testing system etc... these are all environment customs table entry not in syn .. Table entry should be syn. How to make it syn all the entry between all environment without do any manual work. Kindly help on this.
    Thanks

    Hello Mohammed,
    It depends on what type of tables you are referring to. If you have a table of type 'Customizing', you have to transport your table entries across different environments and they will be in Sync.
    If you are referring to tables of type 'Master Data', they have to be maintained in all environments.
    Table of type 'Transaction Data' by default have different records based on your day to day transactions.
    You cannot have all custom tables with same data in all environments. Hope this helps.
    Rgds,
    Vijay.

  • How to find out which program fill a custom table ?

    Dear All,
    I am trying to find out which program fill custom table, I tried se11, which programs used this custom table via where used list but could not find. Is there any different way ?
    Regards

    Hi Sappcon,
    yes, it is as Brad said, but you should extend the approach regarding this tables content: If it is related to an existing business object (i.e. order, delivery or the like), you may have a look at user exits/Badis in that field.
    Also, the dynamic approach is possible. First use report RPR_ABAP_SOURCE_SCAN to find the name of the table in all programs in customer name space - it may be defined as a constant in program/function group/class.
    If the dynamic approach is used, the name of the table may be determined by reading another (custom) table or even in a programs text pool. You may find this by searching a pattern UPDATE() - or MODIFY/INSERT in customer programs.
    If the table has update date/time fields, check what jobs or online activities can be responsible.
    If, after all, you still do not know, then I'd say this is a consulting issue
    Regards,
    Clemens

  • How to maintain the sequence in the custom table

    Hi,
    We have custom table where we will store the standard text name based on different flags and it will be fetched the value according to the condition.
    Example code
    SELECT SINGLE field1
                      field2
                 INTO  ( vaiable1 variable2 )
                 FROM custom table
                WHERE tdobject = iv_signature
                  AND bukrs    = vbdkr-bukrs
                  AND vkorg    = iv_vkorg
                  AND vkbur    = iv_vkbur
                  AND lland    = vbdkr-land1
                  AND fkart    = vbdkr-fkart
                  AND kschl    = iv_kschl.
      CHECK sy-subrc <> 0.
      SELECT SINGLE field1
                      field2
                 INTO  ( vaiable1 variable2 )
                 FROM custom table
                WHERE tdobject = iv_signature
                  AND vkorg    = iv_vkorg
                  AND vkbur    = space
                  AND fkart    = vbdkr-fkart
                  AND kschl    = iv_kschl.
      CHECK sy-subrc <> 0.
    SELECT SINGLE field1
                      field2
                 INTO  ( vaiable1 variable2 )
                 FROM custom table           
                WHERE tdobject = iv_signature
                  AND vkorg    = iv_vkorg
                  AND vkbur    = space
                  AND fkart    = vbdkr-fkart
                  AND kschl    = space.
    The solution I created to avoid the select is, i have created the FM with all parameter. Addition to the FM, I have created a Table as well to maintain the flag.
    New table                                                                               
    TDOBJECT   TDID BUKRS VKORG VKBUR KUNNR      MWSKZ AUART VGBEL_AUART KTGRM LLAND FKART WERKS KSCHL STNAME                                                                               
    FOOTER                                                                           X     X           ZNET_DICI_FTR_FI  
    FOOTER                                                                           X     X           ZNET_DICI_FTR_NL  
    FOOTER                X     X                                                    X                                   
    i.e. say example if we maintain the value in the custom table based on the first select query. Then we need to maintain the flag in the table which was created newly.
    Note In the both field the key fields are same.
    The problem now is we have plenty of select query for different condition, i though of maintain the sequences of the entries. But my worry is how many sequence number will be maintained and in what bases it will be maintained.
    Could you please help me to resolve this problem?
    Regards,
    Vijay

    Hi,
    I got your requirement as,
    whenever a new entry is made in the table, one sequence has to be maintained somethign like serial number and everytime it has to be incremented. If it is so, then you can go for an additional field as serial number. Then get the max serial number from the following select query:
    select max(serial) from cust_table
    into v_serial.
    Now, when you make a new entry, just give (v_serial + 1) to serial number...
    Please let me know if i understood wrongly... or what you want...

  • Custom Module + Custom Tables

    Hello people.
    I even don't know if I am doing right but...
    I didn't liked the idea to develop inside CommerceReferenceStore, so I create a custom module named XXXXX, this module has the same structure of CRS but is XXXXX and Store is ECommerce.
    XXXXX
    ----> ECommerce
    --------> Storefront
    --------> EStore
    But I discovered that CRS creates custom tables with sufix crs_ and to all modules works fine I need this tables.
    My doubt is. How must I proceed with this issue? I wanna convert all sufix to (example) xxx_ to use in my custom module, to do this I must edit all .sql's inside sql folders, but what must I do to ATG/Nucleus/Dynamo execute this sqls create the tables and bind this with my store?
    I discoverd too that dbini.xml inside cim folder in some modules calls this sqls.
    Thank you! And I wish you all a great 2012! =D
    Edited by: Onhate on Dec 30, 2011 9:04 AM

    ATG does not provide any automated way to run your custom sql scripts. You can use whatever utility is appropriate for your DBMS. Once you've defined the tables, you won't need the sql files again unless you want to delete the schema and start over.
    There is no right or wrong way to use the crs tables in your application. There is nothing magic about any table names, in the sense that there is no code that looks for particular name prefixes. The only requirement is that your repository definition (the xml file) must mention whatever table names you choose. ATG uses a name prefix (dps, dss, dcs, crs, etc.) to make it easy to understand which module in the product stack contributed the table to the schema. If the crs tables are a good fit for your application, then the easiest thing might be to use the sql files as is or with minor modifications. On the other hand, if your table design is significantly different or your business has its own naming conventions, it would probably be more appropriate for you to ignore the crs names and pick your own.

  • Trapping the error records in a custom Table

    Hi,
    I am executing a report program. It is extracting different types of files - Invoice Header, Invoice line items, Customers, Master data attributes, Sales representative, Branch location data. Each file from different tables. In the selection screen we will be having check boxes for each file. The output is stored either on desktop or on application server in a file format.
    Here there are some mandatory fields for each file which should not be blank.
    For example there is one custom field for Sales Invoice header BUILDER which is mandatory. If it is blank then it will be an error record.
    We need to create a custom table with all these mandatory fields.
    Kindly pls help.

    Hi Abdul,
    this is a consulting issue, not an allowed question.
    Regards,
    Clemens

  • Insert Stmt behaving differently within a PL/SQL block than independently

    I have an INSERT INTO statement that is behaving different within a PL/SQL block than it does if ran as an independent SQL query. When executed within a PL/SQL block the INSERT statement does insert rows, but only less than 50% of the rows returned by the SELECT statement used by the INSERT. There are no constraints and the only check on the destination table is a NOT NULL for supplier_id column.
    BEGIN
        INSERT INTO suppliers (supplier_id, supplier_name)
        SELECT account_no, name FROM customers WHERE city = 'Newark';
    END;Can anyone help me with this?
    Thanks

    Thought this sounded familiar:
    INSERT INTO statement that is behaving different within a PL/SQL block

  • Selection screen for custom table

    We have developed a custom table and user want to have a selection selection screen similar to SE16. There are 9 fields in the table and user can enter data to the selection screen with any combination. My question is how do I filter based on the user input ? DO I need to write multiple SQL for different combination of selection screen parameter within IF ELSEIF statement ? If so then there will be huge number of SQL within IF & ELSEIF statment for 9 selection parameter. Please suggest if you have any better ideas.

    Even after using select-option along with IN statement in where clause , it did not work.
    I used following selection screen defination :
    SELECTION-SCREEN: BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
    SELECT-OPTIONS: P_PCBUS FOR MARA-ZZPC_BUSINESS NO-EXTENSION NO INTERVALS,
                    P_PCBUS1 FOR MARA-ZZPC_BUS_SUB1 NO-EXTENSION NO INTERVALS,
                    P_PLNFMT FOR MARA-ZZPLNG_FORMAT NO-EXTENSION NO INTERVALS,
                    P_PRDB FOR MARA-ZZPROD_BRAND NO-EXTENSION NO INTERVALS,
                    P_SEASCD FOR MARA-ZZSEASON_CODE NO-EXTENSION NO INTERVALS,
                    P_SNP FOR MARA-ZZSUP_NET_PATH NO-EXTENSION NO INTERVALS,
                    P_MAT_DC FOR MARA-MATNR NO-EXTENSION NO INTERVALS,
                    P_MAT_MG FOR MARA-MATNR NO-EXTENSION NO INTERVALS.
    SELECTION-SCREEN: END OF BLOCK B2.
    and SQL statement :
    SELECT ZZPC_BUSINESS
          FROM ZTB_RTL_TO_WHS
          INTO TABLE TA_ZZPCBUS
          WHERE ZZPC_BUSINESS =  P_PCBUS
          AND  ZZPC_BUS_SUB1  IN  P_PCBUS1
          AND   ZZPROD_BRAND   IN  P_PRDB
          AND  ZZPLNG_FORMAT   IN  P_PLNFMT
          AND  ZZSEASON_CODE   IN  P_SEASCD
          AND  ZZSUP_NET_PATH  IN  P_SNP
          AND  ZZD_MATNR       IN  P_MAT_DC
          AND  ZZM_MATNR       IN  P_MAT_MG.
    While executing program, I only enterd value for the field P_PCBUS. Though record present for that value, I rcvd SY-SUBRC = 4.
    ANy Idea?
    Edited by: J. Bakshi on Jul 14, 2009 10:17 AM

  • Custom Table wierd behaviour

    Hi All,
    I have a custom table. when i view this custom table in SE11, it looks somewhat different than what i see in SE16n. When I see in SE16n, it shows one field to be non-primary, although it shows it that field primary when viewed in SE11.
    That particular field is also non-primary when viewed in SM30.
    Please help me understand why this is happening.
    Thanks
    Rohit

    Hi Rohit,
    Did you activated the Custom Table multiple times. You can have a check at the following SE11-> Table name and then Display -> Utilities-> Runtime Object -> Check .
    It will give you the status of the generate object and will let you know if there is any problem with the table. You can once again make a small change in the table ( Change description) and then can again activate it.
    Hope this will help.
    Thanks,
    Samantak.

  • Custom table infotype

    Hi Experts,
    Can you please provide me with the steps to create a custom table infotype.
    Thanks
    Sri

    hi sri,
       the steps to follow to create the custom infotype are
    Steps to create a HR Infotype:
    1) Go to Transaction PM01.
    2) Enter the custom Infotype number which you want to create
    (Should be a 4 digit number, start with 9).
    3) Select the 'Employee Infotype' radio button.
    4) Select the 'PS Structure Infotype'.
    5) Click on Create... A separate table maintenance window appears...
    6) Create a PS structure with all the fields you want on the Infotype
    7) Save and Activate the PS structure
    8) Go back to the initial screen of PM01.
    9) Click on 'All' push button. It takes a few moments.
    10) Click on 'Technical Characteristics'. Infotype list screen appears
    11) Click on 'Change'(pencil) button
    12) Select your Infotype and click on 'Detail' (magnifying glass) button
    13) Give 'T591A' as subtype table
    14) Give 'T591S' as subtype txt tab
    15) Give your subtype field as subtype field
    16) Save and come back to PM01 initial screen
    17) Click on 'Infotype Characteristics' ... Infotype list screen appears
    18) Click on 'Change' (pencil) button
    19) Click on 'New Entries'
    20) Enter your Infotype number and short text
    21) Here we have to set different Infotype Characteristics as per the requirement.
    (Better open another session with some standard Infotype's
    infotype characteristics screen and use as the reference to fill yours)
    22) Save your entries.
    23) Now the Infotype is created and ready to use.
    24) If you want to change the layout of the Infotype as per your requirement...
    25) In the PM01 initial screen...Select 'Screen' radio button and give 2000
    as the screen name, then click on edit.
    26) In the next screen.. Select 'Layout Editor' and click 'Change'.
    27) Screen default layout appears...here you can design/modify
    the screen..change the attributes of the fields..etc.
    28) Save and activate. (Don't forget to 'Activate at every level)
    regards,
    sreelatha gullapalli

  • Custom table similar to T706V for Meals and Incidentals...

    Hi Experts,
    As you all know T706V table stores the Meals and Incidental reimbursement amount into one field called BETFA.
    In our project we want to store Meals and Incidental Expenses into different fields. Hence we are planning to create a custom table and change the TRIP Settlement program to read from the custom table.
    Please suggest us is the correct approach if we are wrong.
    Thanks & Regards,
    Phani.

    Hi,
    Please use the standard funtionality as far as possible. This will help to avold futher errors which excecting the Travel Management module. You can have fixed per-diem for meals seperatly & a fixed amount for incidentials which should solve your problem.
    Thanks & Reagrds
    Sanjay

  • Is it possible to restrict changing records in customizing table in SM30?

    Hi.
    Is it somehow possible to set authorizations in a way, that a user could change only certain entries in a customizing table using SM30? What I want to achieve with this - we have an internationally used system, where consultants from different countries are working often on the same customizing tables and we would like to restrict tham to be able to change records only relevant for those countries, so they cannot change the records for other countries by mistake / on purpose. The records are usually identified by a certain "grouping" field (for instance MOLGA in table T511K or MOABW in T554S).
    So far I couldn't find anything apart from the S_TABU_DIS object, which is too rough for this requirement.
    Or maybe is there another way to achieve security in such a scenario?
    Thanks in advance for any ideas.

    Hi dusan,
    1. If u are talking about SM30 for standard table,
       then i don't think there is any such standard feature / facility,
       for restricting.
    2. If its our own Z Table, then we can go for events in table maintenance
      and write our code for same.
    3. But if such restrictions/validations are required,
       then its better to have a module pool for such thing.
      SM30 is for very simple and basic table maintenance.
    regards,
    amit m.

  • Updating a custom table on PO save

    When we create an order with component having item catg N a PR created in backgroud. When I save the order I want the PR to be updated in the custom table for further action.
    Is any exit possible for this. The custom tabl to be updated only whn the PO is saved.

    Hi Aditya,
    There are also BADIs through which you can achieve it very easily.
    SAP Help:
    BAdI: Order Change
    With this business add-in all changes (creation, change, set deletion flag) to PM/CS/PP/PS/PI orders can be processed further and if necessary prohibited.
    Standard settings
    Business add-ins are not active in the Standard System. The business add-in can be used several times.
    Recommendation
    If you use different order types and want to handle these in different ways, note that this BADI is used by all of the above-mentioned order types. To differentiate between the order types, evaluate the "AUTYP" field for the corresponding order header.
    These are the possible entries in the "AUTYP" field:
    10: Production order (PP order)
    20: Network (PS order)
    30: Service and plant maintenance order (CS/PM order)
    40: Process order (PI order)
    Activities
    To activate the business add-in, you must create an active implementation. Note that business add-ins can be used several times and therefore all active implementations are called and run through.
    Further notes
    Note that no system messages may be sent in the methods. The only exception is the AT_SAVE method. Within this method, a system message may be issued, but only if you trigger the exception ERROR_WITH_MESSAGE at the same time.
    Also, note that within the methods, the "commit work" instruction may not be executed because this would inevitably lead to incorrect data in the database.
    Regards
    Mahesh

  • Records from two tables in different DB's

    I have two tables (in different DB's) that I need to build
    results from. I want to return results from all records in table A
    and when a matching record in table B is found, retrieve the value
    of a sqlbit field. The catch is that there may or may not be any
    records in Table B that match Table A, and there may be more than
    one record in Table B, but always only one record for Table A.
    Table A is [Order] (yes I know, a reserved word - not my
    design) and Table B is tblOrderFollowup - here is my current SQL
    statement:
    ****************BEGIN SQL*************************
    SELECT o.StoreID AS xStore
    , o.Time AS dCreated
    , o.ID AS xPurchase
    , c.FirstName AS sFirstName
    , c.LastName AS sLastName
    , c.Company AS sCompany
    , c.ID AS xCustomer
    , o.Type AS xType
    , o.Closed AS bClosed
    , o.Tax AS nTax
    , fu.OrderID AS xFUOrder
    , fu.bComplete AS xFUComplete
    FROM [Order] o
    INNER JOIN Customer c
    ON o.CustomerID = c.ID
    AND o.StoreID = c.StoreID
    LEFT OUTER JOIN db2.dbo.tblOrderFollowup fu
    ON o.ID = fu.OrderID
    AND o.StoreID = fu.StoreID
    WHERE o.StoreID IN ( #allowableStoreIDs# )
    AND o.StoreID = <cfqueryparam cfsqltype="cf_sql_integer"
    value="#FORM.StoreID#" />
    AND o.Time >= <cfqueryparam
    cfsqltype="cf_sql_timestamp"
    value="#CreateODBCDateTime(StartOfDay(FORM.dFrom))#" />
    AND o.Time <= <cfqueryparam
    cfsqltype="cf_sql_timestamp"
    value="#CreateODBCDateTime(EndOfDay(FORM.dTo))#" />
    AND o.Closed = <cfqueryparam cfsqltype="cf_sql_bit"
    value="1" />
    ORDER BY o.Time DESC
    ***********END SQL**********************
    The problem here is that when I have more than 1 record per
    OrderID/StoreID pair in Table B, I get more than one result - I
    only want one. I am guessing I need a sub query, but don't know how
    to go about doing that at all ...

    You say you want only one result. Do you know which one you
    want?
    By the way, your query is probably not giving you the right
    answer. My experience is that if you do this:
    select stuff
    from table1 left join table2 on something
    where table2.somefield = somevalue
    you get the wrong answer. What I do instead is,
    select stuff
    from table1 left join
    (select stuff from table2
    where whatever) need_an_alias on somthing

  • Custom Table Authorization Control

    Hi gurus-
    I got the following scenerios-
    The scenario is-
    We have a custom table. On that custom table, there are couple of fields that we want to control access (display access, edit access, no access etc.) based on different user profile role. I know you can control access on table basis by Authorization Group but for access control within a field (some records within that field will be accessed by only few people, other records by other group of people), how can these be accomplished, if possible. Authorization Object Controls access for a particular field. But my understanding is for all records in the field. Can you subdivide those into different groups of records?
    The logic is-
    After user enters input values (key fields in the custom table maintenance program), the program looks up the authorization group for the user and checks if the key combination has authorization to change access, if yes it executes the program, otherwise returns an error message. Can you accomplish that with the use of another field like Profile Group to maintain a list of records for different user groups?
    Any help will be greatly appreciated!!!
    Thanks!

    Hi,
    you can ask your ABAP consultant to code in the table maintenance events. We need to call appropriate authorization objects in the events and allow/disallow the changes for a field/record based on the authorization.
    If you want more details on TMG events, just search in SCN. We have lot of information on this.
    Thanks,
    Vinod.

Maybe you are looking for