Check Point Group

download Check Point Group

of 4

description

Check Point Group

Transcript of Check Point Group

  • Generated by Jive on 2015-05-12+02:001

    ABAP Testing and Troubleshooting:Checkpoint-Group the powerful friend of everyABAPer but# beware!

    Posted by Andrea Olivieri Nov 9, 2011With this blog Id like to share my point of view on definition and usage of checkpoint-groups. Iwont focus on configuration of checkpoints groups nor using with break-points, log-points andassertions, because these topics are widely discussed in SCN.

    This is the reporting of what we (my colleague Sergio Ferrari and myself ) found in a productive system of acustomer.Once you read the official documentation and surfed thru the various blogs and wiki pages, youwould realize the advantage of the adoption of this tool: improvements in the quality of ABAPcodes and correctness of programs, etc ...This is truth, howeverwith some gaps. Do you want to know why?

    The issueI have to be honest; until I had a challenging problem with a standard program, I never used checkpoint groupseven for self written ABAP applications.During the last project I had to fix a bad behavior in a very complex standard transaction and this experiencemade me aware that everything would be much easier if I activated a checkpoint-group.The problem I had was strange and had all the characteristics of a programs bug, but insteadof requesting the support of the OSS, I made sure that the origin of that issue was due to anycustomization as an enhancement implementation, an exit routine or even a repair to thestandard.A voice in mind start repeating: Ok Andrea ... no problem. Just starting from the transaction, get the customcode, activate a break point then check, using the debugger, if the custom code is the cause of the problem It wasnt so easy!We mixed data coming from different trace tools generating an accurate list of the customroutines called during the transaction processing ; using this list we activated a lot of break-points (1 break for each custom routine) in order to check that the custom code didnt influencethe normal flow of the standard transaction...Well, if I set a checkpoint group and added a BREAKPOINT ID statement in all the custom routines, myanalysis would be very easy!

    Lesson LearnedI spent a lot of time in reading ABAP code and debugging applications and I can assure, that SAP standardcode makes a wide use of the checkpoints groups.

  • ABAP Testing and Troubleshooting: Checkpoint-Group the powerful friend of every ABAPer but# beware!

    Generated by Jive on 2015-05-12+02:002

    In my opinion this is one key to good, robust and efficient programming; very often we are temptedto quickly code a new functionality without looking forwardAlthough we wrote one of the most beautiful ABAP program in the world, what could we use in order to analyzethe program in case of problems?

    Checkpoint group as a standard of custom developments ;-)Try to look forward and imagine that maybe someone else will have to solve an issue of anapplication written by us.Why dont we start using the checkpoint groups as a standard?

    Beware of the LOG-POINTSAs we already know, the LOG-POINTs can be used to collect the values of some variables in orderto allow the developers to analyze their content and solve the problems but once activated donot forget to turn them off!!!It can happen that, for any reason, the value of the profile parameter abap/aab_log_field_size_limit has beenset to 0 (no restriction) by system administrators (see docu), checkpoints have been activated and an hugeamount of collected log records was never cleaned-up.Once LOG-POINTs are activated, log data are collected in tables SRTM_SUB and SRTM_DATAX; over time,these two tables contain so many records that transactions /nSAAB and /nSRTM became no more useful; anyquery on checkpoint group logs takes very long runtime and even worst they never end so that it is not possibleto delete the logs.Generally a checkpoint wouldnt be active for such a long time and create so many entries,but this can happen; we discovered at one customer more than 40 millions of records in tableSRTM_SUB.Unfortunately SAP doesnt provide a report which would delete such large numbers of entriesin batch and the easiest solution would be that the DBA team truncates the two mentioneddatabase tables (SRTM_DATAX and SRTM_SUB).

  • ABAP Testing and Troubleshooting: Checkpoint-Group the powerful friend of every ABAPer but# beware!

    Generated by Jive on 2015-05-12+02:003

    These tables are used only for checkpoints (trx SAAB) and won't lose any productive data when truncatingthese tables.

    Is everything under control?One thing that I dont like in this tool is that once you activate a checkpoint group you must alsoremember to deactivate it.Yes its real; SAP doesnt provide a mechanism for automatically deactivate a checkpoint groupnor a concept of time validity, especially for the LOG-POINTS.

    1. How could I check how many checkpoints groups are active in my system?The first method is absolutely standard; you can get a list of all the active checkpoints groups directly from theSAAB transaction by selecting the menu: Activation> Display> ALL

    However, if you need to perform this simple but useful check as a scheduled background job , I implemented asimple report and the code snippet can be found here.

    2. How could I delete the active checkpoints groups?All the checkpoint activation can be deleted from the SAAB transaction by selecting the menu: Activation>Delete> ALL

  • ABAP Testing and Troubleshooting: Checkpoint-Group the powerful friend of every ABAPer but# beware!

    Generated by Jive on 2015-05-12+02:004

    3. How could I delete the records in the log tables?The easiest solution would be that the DBA team truncates the SRTM_DATAX and SRTM_SUB tables , but welove abap programming so the following snippet could be useful

    Hope this helps ;-)3206 Views Tags: abap, saab

    Drew XiuJun 6, 2014 5:46 AMGreat instruction!However current SAAB supports Activation Period/Delete Log feature.

    Manuel BelletNov 9, 2011 7:06 AMMany thanks Andrea for this great overview concerning "checkpoint-group". Especially for highlightingadvantages and warning about points to take care of before activation!

    Michelle CrapoNov 9, 2011 4:11 AMI had forgotten, if I ever knew, about checkpoint-groups. So now I know how to set them. AND I know howand that I should turn them off. Oh boy - if I left them on in a production environment it could cause a mess.

    Thank you!

    Michelle