RetroPay (Enhanced) query

Hello we are using RetroPay (Enhanced) UK legislation but it always creates headache in each run.
I need one suggestion.
We have a Pay element (A) that is an indirect result of an Information element (B) which is an indirect result of another element (C).
A is an earnings and B and C are Informatiom element. Only C can be atached to the employee.
We have created an Arrears element for A. Now if i attach C retrospectively do i need to create and add Arrears element in the recalculation tab for element B and C too?

It depends on what you need -
If you're just looking for element entry value change then -
Datetrack Correction PAY_ELEMENT_ENTRIES_F EFFECTIVE_END_DATE
Datetrack Update PAY_ELEMENT_ENTRIES_F EFFECTIVE_END_DATE
Datetrack Correction PAY_ELEMENT_ENTRIES_F EFFECTIVE_START_DATE
Datetrack Update PAY_ELEMENT_ENTRIES_F EFFECTIVE_START_DATE
Datetrack Update PAY_ELEMENT_ENTRY_VALUES_F SCREEN_ENTRY_VALUE
Datetrack Correction PAY_ELEMENT_ENTRY_VALUES_F SCREEN_ENTRY_VALUE
If you're also looking for other changes -
Datetrack Insert PAY_ELEMENT_ENTRIES_F
Datetrack Delete PAY_ELEMENT_ENTRIES_F
Datetrack End Date PAY_ELEMENT_ENTRIES_F
RetroPay(Enhanced) works the same way as normal Payroll.
What it does is imitate the normal payroll with the new value.
Say, the Annual Salary element is updated as of June. The system would recalculate the Payroll for each of the previous months with the new value and then compares it with the old values, then creates the retro elements with the difference.
Hope that helps,
Cheers,
Vignesh

Similar Messages

  • RetroPay (Enhanced) on grade step point value

    Hi,
    Retropay(Enhanced) picks everyone from the BG after I enter "pay_grade_rules_F" in the "Retro Notification" event group and change 1 point value. However, I just change ONLY 1 point value. Is that any means to pick those employees with that point value ONLY?
    Thanks
    Desmond

    Hi,
    Retropay(Enhanced) picks everyone from the BG after I enter "pay_grade_rules_F" in the "Retro Notification" event group and change 1 point value. However, I just change ONLY 1 point value. Is that any means to pick those employees with that point value ONLY?
    Thanks
    Desmond

  • Data Type enhancement Query.

    Hi All ,
    I have a query regarding Data type enhancement . We can create a Data Type enhancement based on a standrd Data Type and give a new name to this DataTypeEnhancement (DTE_Test). This is clear . My question is how do we actually use this newly created DataTypeEnhancement .
    In my case I do not want to change the Orignal Standard Objects.  I want to create Objects in a separate Custom SWCV . Can we create a new DataType / MessageType based on this DataTypeEnhancement and Use it. 
    Thanks
    Nilesh.

    Nilesh,
    Check this document 3.3 and its usage:
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0bb5687-00b2-2a10-ed8f-c9af69942e5d?overridelayout=true
    Regards,
    ---Satish

  • Problems with enhanced retropay setup

    Hi everyone, I'm not sure why but my enhanced retropay setup is not working.
    This is what I've done:
    a.) Enabled INCIDENT_REGISTER for my legislation (SA)
    b.) Made sure all triggers are working
    c.) Created a non recurring element, Basic Salary Retro
    d.) Created a recurring element Basic Salary
    e.) Attached my retro event group to Basic Salary element. Set as default component. Added start of time end of time, Basic Salary Retro as element
    f.) Run Payroll for January 2013
    g.) Made change to basic salary
    h.) Run Retropay enhanced pdf
    At this point, there is no data in the report. Any ideas why? Please don't point me to the metalink I already tried there.
    Many Thanks,
    Igwe

    Hi Igwe,
    Its strange the steps mentioned by you is fine. Is your Basic element assiciate with salary Basis? If yes then please try the below steps and check.
    1. Change Table Event Updates for PER_PAY_PROPOSALS table
    a.Navigate: Menu option > Other Definitions > Table Event Updates
    b.Query for PER_PAY_PROPOSALS in table name field
    Add Insert, Update & delete Event type for PROPOSED_SALARY_N column and change type DATE_EARNED
    Also, Check the Table Event Updates for for the tables PAY_ELEMENT_ENTRIES_F and PAY_ELEMENT_ENTRY_VALUES_F exist for the Date_Earned Change type.
    2. Manually Regenerate the Dynamic triggers again
    Unflag the enabled and generated flag for your dyanimc triggers and save
    Re flag the enabled generated flag and save
    3.Check if all dynamic triggers for PAY_ELEMENT_ENTRIES_F, PAY_ELEMENT_ENTRY_VALUES_F and PER_PAY_PROPOSALS table exist for legislation and business group
    Rerun the report.
    Hope it helps.
    Thanks,
    Sanjay

  • Enhance Retro Pay for Global Legislation?

    Hi,
    Is 'Enhance Retro pay' process available fro Global legislation if yes then how to configure it.
    Regards
    Majid

    Yes, it is. Check -
    What Localizations Support 'Retropay By Element' and Retropay Enhanced [ID 1118267.1]
    And check these Notes on the setup -
    Oracle Payroll RetroPay Enhanced - A Functional Whitepaper [ID 1484339.1]
    Enhanced RetroPay [ID 373148.1]
    Also -
    http://oracle.anilpassi.com/retropay-enhanced-setups-2.html
    Cheers,
    Vignesh

  • Copied query running indefinitely.

    Dear All,
    I am facing a strange issue. I have a query say A. On execution of the query it works fine and displays the results. When I save this query as B and execute it, it does not display any result. The query executes indefinitely.
    In SM50 the status is displayed as running with report CL_SQL_RESULT_SET=============CP. The action is Sequential Read.
    Does anyone have faced simillar issue?
    Regards,
    Niraj

    Hi Niraj,
    You can change it in the t-code RSRT.
    Open RSRT and select your query, you will see query properties. you can change the cache mode of query from this screen. you can try different modes and observe the performance.
    check the "Update cache objects in delta process" option from the properties of query in RSRT.
    For more info..
    cache is a temporary storage for recently access data.
    Used to enhance query performance.
    Use t-code RSRT to vew more on cache.
    Cache helps to improve query performance. As it can save data in memory, flatfile, cluster table or BLOB.
    You can remove cache per query or inactivate it for perticular info provider or inactivate it overall.
    But which is not recommended. Yes if u know that certain queries you dont use often and its not accessing large number of records then you can inactivate it for those queries. you can manage cache via three t-codes RSRT or RSRCACHE or SPRO>SAP Reference IMG>SAP Busines Wearhouse--> Reporting relevent setting -->General Reporting Setting in BEX -->Global Cache Setting.
    Hope this helps,
    Sri...

  • Query Performance for OLE DB OLAP Reporting

    Hi Experts,
    what are the advantages of enhancing query performance by
    A) building Aggregates or
    B) using Information Broadcaster Query Precalculation?
    Since the settings in Information Broadcaster could be done by any user - will the precalculated version be used only for this user or for all users exeucting the query?
    Are these settings also used if the query is executed via a 3rd party Frontend tool?
    Thanks,
    Angie

    Hi Angie,
    Which is the third party tool that's accessing the query? Is it BO? If so there's a lot of information available.

  • What is Database Hinging, regards of multi proiver performance improvement

    Hello,
    I have heard that instead of creating a query on a single cube, create a multiporvider on that single cube and create a query on the same.
    How multi Provider is going to improve the performace of query runtime  when only single cube in base?
    I  heard abt database hinglng as a answer of my question.
    Does any one have any idea abt database hinging and how can we use it?
    Expert Ideas Appreciated!!!

    Hello,
    I think you have got the concept wrong. It should be database hinging (in terms of hinge).
    As per the simple meaning of hinge whihc is joint, MPRO if used can help us in future if need comes to club more multiproviders for reporting. So this improves the effecincy of time taken for redesigning or remodelling. It has nothing to do with enhancing query performace.
    Hope it helps!!
    Regards,
    Shashank

  • Database schema SCM does not contain the associated database objects

    I am getting the following error when i am trying to migrate the form to apex using application migration.
    "*Database schema SCM does not contain the associated database objects for the project, aafs.*
    *Ensure the database schema associated with the project contains the database objects associated with the uploaded Forms Module .XML file(s).* ".
    Actully i am having one schema which i named as SCM, and i have defined one table TT.
    I created one form test.fmb in which i used TT table.its compiled successfully.
    Then i generated the xml file using frmf2xml from fmb file. After that, I created the project in appication migration wizard in SCM schema.
    Project creattion is working fine.but when i m trying to create application,it is showing me above error.
    can any one help in solving this problem.

    Hi Hilary,
    Thanks for your response/feedback.
    1. The schema associated with the project does not contain the necessary objects Can you please verify that the schema associated with your Forms conversion project does in fact contain the objects associated with the uploaded files. Could you also verify that the object names referenced in the error message do not exist within the schema associated with your workspace. Ensure that the schema associated with the project contains the necessary database objects before proceeding to the generation phase of the conversion process.
    Ans:
    Yes it does contain the objects (See results from SQL query Commands below):
    SELECT MWRA_CONTRACT_NO, OLD_CONTRACT_NO FROM PROJECTS@CONTRACT_LX19.MWRA.NET
    ORDER BY MWRA_CONTRACT_NO
    000000569 551TA
    000000570 553TA
    000000575 560TA
    000000576 561TA
    000107888 502TA
    000108498 500TA
    000108502 503TA
    2. The block being converted contains buttons, which may have been incorrectly identified as database columns, and included in the original or enhanced query associated with your block This is a known issue ,bug 9827853, and a fix will be available in our upcoming 4.0.1 patch release. Some possible solutions to this issue are:
    -> delete the buttons before generating the XML
    -> delete the button tags from the XML
    -> add "DatabaseItem=No" for the button in the XML file before importing it in Apex.The button is excluded when creating the Application.
    Ans
    yes it does contain push buttons to transfer to another forms and these are defined as Non data base items. Parial XML code provided below:
    - <Item Name="REPORTS" FontSize="900" DirtyInfo="true" Height="188" XPosition="4409" FontName="Fixedsys" ForegroundColor="black" DatabaseItem="false" Width="948" CompressionQuality="None" YPosition="3709" FontSpacing="Normal" Label="REPORTS" BackColor="canvas" FillPattern="transparent" ShowHorizontalScrollbar="false" FontWeight="Medium" ShowVerticalScrollbar="false" FontStyle="Plain" ItemType="Push Button">
    <Trigger Name="WHEN-BUTTON-PRESSED" TriggerText="GO_BLOCK('REPORT_1');" />
    </Item>
    - <Item Name="TRACKHDR" FontSize="900" DirtyInfo="true" Height="188" XPosition="3409" FontName="Fixedsys" ForegroundColor="black" DatabaseItem="false" Width="948" CompressionQuality="None" YPosition="3709" FontSpacing="Normal" Label="TRACK" BackColor="canvas" FillPattern="transparent" ShowHorizontalScrollbar="false" FontWeight="Medium" ShowVerticalScrollbar="false" FontStyle="Plain" ItemType="Push Button">
    <Trigger Name="WHEN-BUTTON-PRESSED" TriggerText="GO_BLOCK('TRACKHDRS');" />
    </Item>
    - <Item Name="SUBAWRD" FontSize="900" DirtyInfo="true" Height="188" XPosition="2429" FontName="Fixedsys" ForegroundColor="black" DatabaseItem="false" Width="948" CompressionQuality="None" YPosition="3719" FontSpacing="Normal" Label="SUBAWARDS" BackColor="canvas" FillPattern="transparent" ShowHorizontalScrollbar="false" FontWeight="Medium" ShowVerticalScrollbar="false" FontStyle="Plain" ItemType="Push Button">
    3. If you are still experiencing issues, then please create a testcase on apex.oracle.com and update this thread with the workspace details so I can take a look.
    Test case details are given below. It was created per ORACLE for open Service Request Number 3-1938902931 on ORACLE Metalink.
    Workspace: contract4
    username: [email protected] (my email)
    Password: contract4
    Comments:
    For my migration/testing purpose a dabatase link and synonyms have been setup by our ORACLE DBA. Could this be causing this problem?
    Do we know when the fix 4.0.1 patch release will be available?
    Thanks for your help.
    Indra

  • What is a cache monitoring? and what it is used for?

    what is a cache monitoring? and what it is used for? how safe it is to execute the transaction RSRCACHE in development?
    Thank you,
    York

    Hi Les,
    Cache is a temporary storage for recently accessed data.
    Used to enhance query performance.
    Use t-code RSRT to view more on cache.
    Please see this link:
    http://help.sap.com/saphelp_nw04/helpdata/en/41/b987eb1443534ba78a793f4beed9d5/content.htm
    Cache helps to improve query performance. As it can save data in memory, flatfile, cluster table or BLOB.
    You can remove cache per query or inactivate it for perticular info provider or inactivate it overall.
    But which is not recommended. Yes if u know that certain queries you dont use often and its not accessing large number of records then you can inactivate it for those queries. you can manage cache via three t-codes RSRT or RSRCACHE or SPRO>SAP Reference IMG>SAP Busines Wearhouse--> Reporting relevent setting -->General Reporting Setting in BEX -->Global Cache Setting.
    please follow the link which has few good documents on cache. which will clear your complete concept for cache.
    https://service.sap.com/bi -->Product information previous releases -->BI InfoIndex --> OLAP --> you will get bunch of documents in that.
    Look at the following threads :
    OLAP Cache
    what is cache?
    also check RSRT and OLAP cahce docs
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/afc59790-0201-0010-9f99-940f7c3934fc
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9f4a452b-0301-0010-8ca6-ef25a095834a
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/7c361b95-0501-0010-c0ab-897c5aa14504
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/31b6b490-0201-0010-e4b6-a1523327025e
    Hope this helps.
    ****Assign Points if Helpful****
    Regards,
    Ravikanth.

  • Performance tuning questions

    i am fresher in sap-abap. so i have some doubts.
    how to increase performance in a report. what r the minimum steps to follow.
    expecting the answer more clearly

    Hi Josh,
    Here is a detailed document for performance check:
    <b>AWARD POINTS IF IT HELPS:</b>
    5.1     SQL 
         In order to enhance the performance of your ABAP code a number of useful guidelines can be used.
    •     Use SELECT SINGLE wherever possible to retrieve up to one row of information.  It is important to specify all the key fields to ensure a unique record.
    •     Be careful using the FOR ALL ENTRIES addition since this is very bad for very large datasets (10,000+ records)
    •     Joins and subqueries are good
    •     Do not use SELECT * statement unless the program needs ALL columns from the table. Instead, only specify the fields you require. This will also avoid unnecessary network transports.  The addition INTO CORRESPONDING FIELDS of the INTO clause of the SELECT statement is worthwhile to use only for large amounts of data where the external table and destination fields have the same names. Consider the use of the DISTINCT option in the case of many duplicate entries.
         The following example compares selecting all fields to selecting only the document number, the item number and the material.
         Avoid:.  select   *      from vbap
                                         where vbeln in s_docno.
                   endselect.
         Use:     select vbeln posnr matnr
         into (wa_vbap-vbeln, wa_vbap-posnr, wa_vbap-matnr)
         from vbap
         where vbeln in s_docno.
                   endselect.
    Important Points:
         The order of the fields retrieved must match the order of the destination fields in the field list.
    •     Use the SELECT...WHERE clause to restrict data rather than retrieve all rows and use a CHECK or IF statements to filter data.
         Avoid:     select  vbeln  posnr matnr
         into (wa_vbap-vbeln, wa_vbap-posnr, wa_vbap-matnr)
         from vbap.
                      check s_docno.
                   endselect.
         Use:     select vbeln  posnr matnr
         into (wa_vbap-vbeln, wa_vbap-posnr, wa_vbap-matnr)
         from vbap
         where vbeln in s_docno.
                   endselect.
    Important Points:
         Order the columns in the where clause of a select in the same order as the key or index table.
    •     WHERE Clause Tips
    o     Exploit the indexes of  the database tables for an efficient use of the WHERE clause. To do so check all index fields with the equality operator (EQ, =) and concatenate these checks by AND. The primary key of a database table makes up its primary index automatically. Secondary indexes for a database table can be created in the ABAP Dictionary.
    o     If possible, include all columns of the key or an index in the where clause. Use a default or appropriate value. If the column(s) is not included, the database may not be able to fully utilise the index.
    o     Avoid complex WHERE clauses. The system must split up those into single statements for the database system.
    o     Do not use the logical NOT in WHERE clauses but inverted operators instead. The logical NOT is not supported by the database indexes.
    •     Try to avoid the select … endselect  programming construct. Rather select all the required records from the database directly into an internal table and loop at the table to process the entries.  This is usually faster than the select … endselect code, and also allows easier debugging of the code.
         Avoid:     select vbeln  posnr matnr
         into (wa_vbap-vbeln, wa_vbap-posnr, wa_vbap-matnr)
         from vbap
         where vbeln in s_docno.
                       write:/ wa_vbap-vbeln, wa_vbap-posnr, wa_vbap-matnr.
                   endselect.
    Use:     select vbeln posnr matnr into table ts_vbap
                   from vbap
                   where vbeln in s_docno.
              loop at ts_vbap into wa_vbap.
                   write:/ wa_vbap-vbeln, wa_vbap-posnr, wa_vbap-matnr.
              Endloop.
    •     Avoid nested select statements if possible as they generally have  poor performance.  It is preferable to select all the entries for each table directly into an internal table and use nested internal table loops to process all the entries. 
    •     Check runtime analysis tips and tricks for detailed comparisons in select performance (SM30). SELECT statements.
    •     Use aggregate expressions in the SELECT clause to perform calculations instead of transporting great amounts of data and calculating thereafter.  This distributes the processing load and minimises the network data transfer.  Valid aggregate functions include: MAX, MIN, AVG, SUM and COUNT.
    •     The storage of database tables in local buffers can lead to significant time savings. Use the buffering of database tables whenever possible. Use the addition BYPASSING BUFFER only if it is really necessary.
    If DISTINCT, SINGLE FOR UPDATE, and aggregate expressions are used in the SELECT clause, buffering should be turned off.
    •     Provide the appropriate selection criteria to limit the number of data base reads. Force users to provide selection criteria by evaluating the selection criteria entered on the selection screen during the AT SELECTION-SCREEN event.
    •     Create indices where needed to enhance query performance. This should be used in large table lookups to increase efficiency. For example, SELECT…WHERE FieldA = ‘001’. In this case FieldA is not a key field, therefore an index should be created to improve the efficiency of the select statement.  Beware that there is always an additional processing system overhead for indices.  Therefore, only create indices if a major performance benefit will be realised, especially if the program concerned is executed many times throughout the day and is business critical.
    5.1.1     SQL Checklist
    •     Keep the selected dataset small
    •     Keep the transferred data small
    •     Keep the number of database accesses small
    •     Use database buffers
    •     Create views for table joins instead of using multiple selects.
    •     Select data only one time where possible (i.e., don’t have multiple selects against the same table - get the data one time and store it in an internal table).
    •     Remove unused indexes from tables.
    5.2     General Programming Techniques
         Detailed below are a number of additional programming techniques that should be borne in mind when implementing ABAP code.
    •     When testing fields "equal to" something, one can use either the nested IF or the CASE statement.  The CASE is better for two reasons.  It is easier to read and the performance of the CASE is more efficient.
    •     Do not use MOVE CORRESPONDING unless the data is contiguous.
    •     When records a and b have the exact same structure, it is more efficient to MOVE a TO b than to MOVE-CORRESPONDING a TO b, if records a and b have the exact same structure.
                   MOVE  BSEG TO *BSEG.  is better than
                   MOVE-CORRESPONDING BSEG TO *BSEG.
    •     Do not use the COLLECT statement with large internal tables as this can be very CPU intensive.
    •     When reading a single record in an internal table, the READ TABLE WITH KEY is not a direct READ on a on a sorted table.  Therefore, SORT the table and use READ TABLE WITH KEY BINARY SEARCH.
    •     Use the SORT...BY when sorting internal tables.
              SORT ITAB BY FLD1 FLD2.  is more efficient than
                   SORT ITAB.
    •     Avoid hard-coding and use of literals in ABAP code. Use reference tables to drive processing to support business change flexibility and reduce ongoing maintenance costs.  If hard-coding and literals are required, be sure to include these as constants.
    •     The Tips & Tricks function is very useful in comparing different methods of coding without going to the trouble of coding both and then performing your own run-time analysis. System > Utilities > Runtime Analysis > Tips & Tricks.
    5.3     Logical Databases
    Use logical databases and ‘GET’ events wherever reads on parent/child segments need to be performed e.g. require data from both MARA then MARD table - use GET MARA then GET MARD. (Note you do not need to use an LDB if data from only the MARA or MARD table is required.)
    Where an LDB is used provide defaults or checks for the standard selection-options/parameters wherever possible.
    Avoid use of  logical data bases as much as possible - use SELECT  statements instead. (Logical databases are good as a reference tool to look up database hierarchies).
         &#61558;     Logical database should only be used when there are no other options.
    &#61558;     Use of Logical database in ABAP programs must be approved by a DEVELOPMENT TEAM LEAD
    &#61558;     Due to strategic importance of LDB’s and the potential impact on system performance, careful consideration should be made before creating new LDB’s. Consequently no LDB’s should be created without approval from the Development Team Lead
    5.4     Debugging
    When testing ABAP, use of the debugging tool plays an essential role in checking the value of variables during the execution of the program.  This tool should be used during the unit testing to ensure programs are executing as desired.
    You can use the debugging tool by selecting Program > Debugging from the ABAP program Development Initial screen.
    In addition to the static programming of breakpoints, ABAP’s on-line debugging tools also allow you to set breakpoints and interrupt conditions dynamically.  This makes the whole process of debugging reports much more flexible and the consequent advantage is that you do not have to change your code. Watchpoints can now be set based on the value a field takes (like R/2).
    Once you have stopped the report processing, you can view the contents of all the fields (up to 8), internal tables and database tables referenced in the report.  The system fields SY-TABIX and SY-DBCNT are now displayed at the bottom of the screen along with SY-SUBRC.
    Finally, you can change the contents of fields for debugging purposes and then resume report processing, with the changed data.  To set breakpoints select Breakpoints > Set from the ABAP: Editor screen.  Then execute the program.
    Beware that in order to debug SAPscript programs, hard-coded breakpoints are often required. Be sure to remove these once testing is complete and the program transported. Use the syntax BREAK username, rather than BREAK-POINT, as this will ensure the code only stops when running under the specified username.
    6     SAPscript Techniques
    6.1     Good Practice
    •     Always copy the SAP standard print programs where available and, in most instances, the layout set. Never start a complex SAPscript (e.g. Invoice, Purchase Order) from the beginning, as this will require far more development time to complete.
    •     When creating a new layout set by copying a SAP standard, always change the original language from D to E and then activate.
    6.2     Standards
    •     Naming convention for layout sets – this will follow the same as the program name, except the version number will be prefixed L. For example a purchase order layout set would be:
    ZMM_DESC where
    Z          First character of the program
    MM          SAP R/3 module/component
    DESC          Meaningful description i.e. PO printing, INVOICE.
    •     When copying SAP standard print programs ensure they have a standard header block as defined earlier. Also ensure that any code that is added, removed or changed is commented in the standard fashion.
    6.3     Standard Texts
    •     These should be of the following format:
         ZXX_DESC
    Where:
    Z          First character of the program
         XX          Module name
         DESC          Meaningful description.
    6.4     Tips
    •     Text elements must be maintained individually for each layout set language. Any other changes to the layout set i.e. window size or paragraphs, will be copied from the original language to the other languages.
         &#61558;     As layout sets are client-dependant they must be ‘transported’ between clients on the same box. To do this use the ‘Copy from Client’ function from within the ‘target’ client. This is language specific.
    &#61558;     Always ACTIVATE the layout set each change and in each language before transporting.
    &#61558;     The SAPscript debugger can be sent useful, this is turned on at the front screen on transaction SE71.
    &#61558;     Standard text used within a layout set must be assigned to a transport request using the program RSTXTRAN. Once assigned the transport request can be released in the usual manner via SE10.
    7     Changing the SAP Standard
    •     You can adjust the R/3 System to meet your needs in the following ways:
    o     Customizing: This means setting up specific business processes and functions for your system according to an implementation guide. The need for these changes has already been foreseen by SAP and an implementation procedure has been developed.
    o     Personalization: This means making changes to certain fields' global display attributes (setting default values or fading fields out altogether), as well as creating user-specific menu sequences.
    o     Modifications: These are changes to SAP Repository objects made at the customer site. If SAP delivers a changed version of the object, the customer's system must be adjusted to reflect these changes. Prior to Release 4.0B these adjustments had to be made manually using upgrade utilities. From Release 4.5A, this procedure has been automated with the Modification Assistant.
    o     Enhancements: This means creating Repository objects for individual customers that refer to objects that already exist in the SAP Repository.
    o     Customer Developments: This means creating Repository objects unique to individual customers in a specific namespace reserved for new customer objects.
    •     If your requirements cannot be met by Customizing or personalization, you may either start a development project or try using a CSP solution (= Complementary Software Product).
    •     A development project falls into the customer development category if the SAP standard does not already contain functions similar to the one you are trying to develop. If, however, a similar SAP function exists, try to assimilate it into your development project by either enhancing or modifying it, by using a user exit, or simply by making a copy the appropriate SAP program.
    •     Modifications can create problems, as new versions of SAP objects must be adjusted after an upgrade to coincide with modified versions of SAP objects you have created. Prior to Release 4.0B these adjustments had to be made manually using upgrade utilities. From Release 4.5A, this procedure has been automated with the Modification Assistant.
    •     Thus, you should only make modifications if:
    •     Customizing or personalizing cannot satisfy your requirements
    •     Enhancements or user exits are not planned
    •     It would not make sense to copy the SAP object to the customer namespace.
    7.1     Originals and copies
    •     An object is original in only one system.  In the case of objects delivered by SAP, the original system is at SAP itself. These objects are only copies in customer systems.  This applies to your development system and all other systems that come after it.
    •     If you write your own applications, the objects that you create are original in your development system.  You assign your developments to a change request, which has the type Development/Correction.
    This request ensures that the objects are transported from the development system into the subsequent systems
    7.2     Corrections and repairs
    •     Changes to an original are called corrections.  They are recorded in a change request whose tasks have the type "Development/correction". 
    •     If, on the other hand, you change a copy (an object outside its own original system), the change is recorded in a task with the type "Repair". Repairs to SAP objects are called modifications. 
    •     When you repair your own objects (for example, if something goes wrong in your production system), you can correct the original in your development system straight away. When you change copies, you must correct the original immediately!
    •     However, you cannot do this with SAP objects, because they are not original in any of your systems.
    •     You should only modify the SAP standard if the modifications you want to make are absolutely necessary for optimizing workflow in your company. Be aware that good background knowledge of application structure and flow are important prerequisites for deciding what kind of modifications to make and how these modifications should be designed.
    7.3     Modifications and upgrades
    During an upgrade or an import of R/3 Support Packages, new objects delivered overwrite existing objects of the SAP standard. In order to help customers keep those objects that have been modified in a previous release, SAP now offers upgrade adjustment for all objects being upgraded in the form of transactions SPAU and SPDD. These transactions allow customers to enter their modifications into the corresponding new objects being delivered at upgrade. The Modification Assistant supports this process of adopting customer modifications. In general, objects altered using the Modification Assistant can now be automatically accepted into the upgraded system if the modifications undertaken in the original version do not directly overlap those made in the customer version. If collisions occur between the two versions at upgrade (naming collisions, or if SAP has deleted an object modified by a customer), the system offers semi-automatic adjustment support. In some cases, however, you may still have to manually adjust objects using ABAP Workbench tools.
    •     Whenever you upgrade your system, apply a support package, or import a transport request, conflicts can occur with modified objects.
    •     Conflicts occur when you have changed an SAP object and SAP has also delivered a new version of it.  The new object delivered by SAP becomes an active object in the Repository of your system.
    •     If you want to save your changes, you must perform a modification adjustment for the objects.  If you have a lot of modified SAP objects, your upgrade can be slowed down considerably.
    •     To ensure consistency between your development system and subsequent systems, you should only perform modification adjustments in your development system.  The objects from the adjustment can then be transported into other systems.
    7.4     Modifications Procedures
    •     A registered  developer must register changes to SAP objects. Exceptions to this registration are matchcodes, database indexes, buffer settings, customer objects, patches, and objects whose changes are based on automatic generation (for example, in Customizing). If the object is changed again at a later time, no new query is made for the registration key. Once an object is registered, the related key is stored locally and automatically copied for later changes, regardless of which registered developer is making the change. For the time being, these keys remain valid even after a release upgrade.
    •     How do you benefit from SSCR (SAP Software Change Registration)?
    o     Quick error resolution and high availability of modified systems
    All objects that have been changed are logged by SAP. Based on this information, SAP's First Level Customer Service can quickly locate and fix problems. This increases the availability of your R/3 system.
    o     Dependable operation
    Having to register your modifications helps prevent unintended modification. This in turn ensures that your R/3 software runs more reliably.
    o     Simplification of upgrades
    Upgrades and release upgrades become considerably easier due to the smaller number of modifications.
    7.5     Modifications Assistant
    The aim of the Modification Assistant is to make modification adjustments easier. This is because (among other reasons) the modifications are registered in a different layer
    •     If you want to change an SAP object, you must provide the following information:
    o     SSCR key
    o     Change request
    •     The system informs you that the object is under the control of the Modification Assistant. Only restricted functions are available in the editor.
    •     You can switch the Modification Assistant on or off for the entire system by changing the R/3 profile parameter eu/controlled_modification. SAP recommends that you always work with the Modification Assistant.
    •     You can switch off the Modification Assistant for single Repository Objects.  Once you have done so, the system no longer uses the fine granularity of the Modification Assistant.
    •     In modification mode, you have access to a subset of the normal editor tools.  You can access these using the appropriate pushbuttons.  For example, in the ABAP Editor, you can:
    o     Insert
    The system generates a framework of comment lines between which you can enter your source code.
    o     Replace
    Position the cursor on a line and choose Replace.  The corresponding line is commented out, and another line appears in which you can enter coding.  If you want to replace several lines, mark them as a block first.
    o     Delete
    Select a line or a block and choose Delete.  The lines are commented out.
    o     Undo modifications
    This undoes all of the modifications you have made to this object.
    o     Display modification overview
    Choose this function to display an overview of all modifications belonging to this object.
    7.6     Restoring the original
    You can reset all of the modifications that you have made to the current object using the Modification Assistant by choosing this function.  The record of the modifications is also deleted.
    Remember that you cannot selectively undo modifications to an object.  You can only undo modifications based on the "all or nothing" principle.
         &#61558;     Any modifications in standard SAP object will require proper justification and needs to be documented. The rights of modification the standard SAP object is limited to PROJECT MANGER only.
    Cheers,
    ashish.

  • SQL Server 2014 New T-SQL Features

    I have seen the following new T-SQL features:
    1. In-memory OLTP tables.
    2. Inline specification of CLUSTERED and NONCLUSTERED indexes is now allowed for disk-based tables.
    3. The SELECT … INTO statement is improved and can now operate in parallel.
    Any others?  Thanks.
    Kalman Toth Database & OLAP Architect
    Free T-SQL Scripts
    New Book / Kindle: Exam 70-461 Bootcamp: Querying Microsoft SQL Server 2012

    http://windowsitpro.com/sql-server-2014/top-ten-new-features-sql-server-2014
    http://www.sqlpass.org/sqlserver2014/Webinars.aspx
    Enhanced query processing for better performance without app changes.
    Buffer Pool extension to SSDs for faster paging.
    Resource Governor controls IO along with CPU and memory.
    Enhanced Always On now supports 8 secondary for better HA (High Availability

  • Interval Partitioning

    Hi everyone,
    I've got a question about interval partitioning. I've got a fact table, W_GL_BALANCE_F that is fairly massive and I want to use interval partitioning on the BALANCE_DT_WID field. The values in the field are of the form YYYYMMDD || '000', i.e. 20100820000 would be today, 20100821000 would be tomorrow, etc.
    I create the table with interval partitioning with an interval of 1000, and then when I go to insert the data, I get the error "Partition does not exist". I was a little confused because I thought interval partitions created partitions for any new value.
    I ran some tests on a test table part_test(part_key number) partition range interval (1) ( partition "zero" less than 1). Then I inserted a few test records
    INSERT INTO part_test (part_key) values (1);
    INSERT INTO part_test (part_key) values (2);
    INSERT INTO part_test (part_key) values (10);
    INSERT INTO part_test (part_key) values (1000000); --- This causes error "Partition does not exist"
    Obviously there are some additional rules to go along with using the intervals. I was under the impression that it would just create a range for any new value but it seems more complicated than that.
    Can someone explain to me why the final record isn't able to have a new partition created for it?
    I apologize if this is a dumb question, but I'm a little new to the different partitioning options.
    Best regards and thanks for the help!
    -Joe

    Joe Bertram wrote:
    Hi Tubby,
    Just to give you a little more background, I am working with the Oracle BI Applications prepackaged data warehouse and ETLs. Because it's all prepackaged ETLs, I don't have too much flexibility to change the data being loaded, otherwise, I totally agree that using this date format is kind of strange. Thanks for the information, helps to know :)
    Joe Bertram wrote:
    I looked at other fields on the table for a potential partition key, and this field was the only one that was remotely uniformly distributed. That really isn't the first consideration you should have for partitioning. What are you trying to accomplish with partitioning? Are you looking to make data archival easier (dropping old partitions is the easiest way to go), or are you looking to enhance querying? Partitioning is a tool you implement for a given purpose ... so what's yours?
    Joe Bertram wrote:>
    You are correct, my test case was a little simplistic. I went back to the data the see why your case succeeded and mine failed. It turns out I missed one part in the date format. In addition to the date format as I laid it out, they also append the calendar ID which refers to the fiscal calender to which the date belongs. the actual format is <4-digit-cal_id>YYYYMMDD<000> i.e. 100120100820000 is today on calendar 1001, but there could also be a calendar 1007 which could have today's date i.e. 100720100820000.
    drop table part_test;
    create table part_test
    part_key number
    partition by range (part_key)
    interval (1000)
    partition zero_1 values less than (100120100820000)
    INSERT INTO part_test (part_key) values (100120100820000);
    INSERT INTO part_test (part_key) values (100720100820000); -- same day on calendar 1007, causes an errorIt pretty much seems to me that there would be too many potential partitions, so the DB gives up. Is that correct?That indeed seems to be the case, you could perhaps raise a service request with Oracle, but i'm not sure how eager they'd be to enhance the interval partitioning for this case. This data doesn't seem like it would be a good candidate for range partitioning. Again, we need to know what you're goal is from partitioning.
    If housekeeping is paramount (keeping X days of data and purging old data) then i would suggest the following.
    create table part_test
       part_key       number,
       magic_column   generated always as ( to_date(substr (part_key, 5, 8), 'yyyymmdd') ) virtual
       partition by range (magic_column)
       INTERVAL ( INTERVAL '1' DAY)
       partition zero_1 values less than ( to_date('20100820', 'yyyymmdd') )
    );Partitioning by a virtual column, the date in this case.
    It's possibly you have a more logical key to partition off of, but a RANGE partition scheme on your part_key doesn't sound good at all.

  • SQL Server 2014 New Database Design Features

    SQL Server 2014 has three major database design related features:
    1. In-memory OLTP tables (Hekaton)
    2. Inline INDEX declaration in CREATE TABLE
    3. Updateable clustered columnstore index
    Any other new feature? Thanks.
    Kalman Toth Database & OLAP Architect
    SQL Server 2014 Design & Programming
    New Book / Kindle: Exam 70-461 Bootcamp: Querying Microsoft SQL Server 2012

    http://windowsitpro.com/sql-server-2014/top-ten-new-features-sql-server-2014
    http://www.sqlpass.org/sqlserver2014/Webinars.aspx
    Enhanced query processing for better performance without app changes.
    Buffer Pool extension to SSDs for faster paging.
    Resource Governor controls IO along with CPU and memory.
    Enhanced Always On now supports 8 secondary for better HA (High Availability

  • Statistics and indexes

    hi gurus,
    wat r bw statistics and indexes .... how to use them
    thanx in advance

    Anna,
    Indexes are structures sorted by attribute values that contains a pointer to data stored in a table.
    In plain words, when we run an indexing process on a table we basically build a pointer to that table records. That pointer has one main purpose: to enhance read performance (in our case - to enhance query performance).
    BW Statistics are used in order to analyze the performance of queries and processes in the warehouse management (for example loading processes and aggregations). In order to use BW Statistics, you will need to enable them for your infoprovider and then be able to browse them from transcation ST03 or using the Technical Content Infoprovider and Queries.
    See the Statistics How to: https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/5401ab90-0201-0010-b394-99ffdb15235b
    Hope it helps,
    Gili

Maybe you are looking for

  • Call library function node - function not found

    When creating a DLL I get a the Labview error "Call Library Function Node "LabviewReceiverDLL.dll:readDataJ1939Data' Function not found. Everything looks correct to me and this used to work, though I've changed computers since then. This is the begin

  • Workflow saved as iCal Plug-in not executing

    Hello, I have created an automator workflow and saved it as an ical plugin. The workflow simply sends an email. It is only 2 actions (New Message, and Send Outgoing Messages). For testing purposes, if I then set the iCal event to execute, say in 1 mi

  • Error : Cannot resolve symbol shape

    I get the following error message <----------------------------------------------------------------------> C:\RandomShapeApplet.java:87: cannot resolve symbol symbol : variable shape location: class RandomShapeApplet           return shape; ^ 1 error

  • Gmail through native message app?

    Is there a way to get Gmail/Google Apps mail to come through the native Messages app? We've recently switched to Google Apps & GMail from an Exchange environment and the GMail app for Blackberry's has gone down like a brick.  It's hated - primarily b

  • Itunes match says "this item cannot be downloaded"

    When trying to play some music on my iphone4, I get this message: It's happening more frequently now - What is going on and what are my options?