Deactivating ABAP UNIT in Production system

Hi All,
I have gone through the documention of ABAP UNIT for unit testing. In the documents it is mentioned that the Test classes created for Unit Testing are Local Classes and does not make any negative impact on the Production environment Because these classes are Inactive in Production system.
Can anyone please reply to the follwoing:
1) Are the Test classes Inactive by default in production system?
2) If No then what is the procedure for Deactivating Test classes in the production environment?
3) What is the transaction code for checking the status (active/inactive) these classes?
4) Is the menu path Programs->Test-> ABAP_Unit is inactive in production?
Thanks and Regards,
Ashvender

1) Unit Test Framework will look for the Type of Client. If your client is Production client, Unit test framework will automatically make them inactive.
The check happens to allow to run Unit test in FM SABP_AU_TEST_PROGRAM_FROM_EU.
3) Unit Test classes will be complied in the production system but you will not be able to exectue them.
When we create Unit test in development, Table TAUNIT_PROG_INFO is being updated (HAS_TESTS = 'X'). But when we transport our objects along with the ABAP Unit in Production client, this table is not being updated.
4) You can try running the ABAP unit by Program > Test > Unit Test in Production, but will give you message "Unit tests are not possible in production clients".
Regards,
Naimesh Patel

Similar Messages

  • How to make inactive ABAP Program in production system

    Dear Expert,
    I have a lot abap program in production system which are not used anymore and my company plan to upgarde our SAP system, therefore to reduce the effort for the SAP upgarde I will  deactivate the unused ABAP program.
    My question how to change the active abap to inactive in production system ?
    Thank you in advance.
    Best regrads,
    Tjandiagung

    Program details are stored in the table REPOSRC.
    Primaray keys are PROGNAME and R3STATE.
    Suppose if the program zxy is in active state, then enry will be
    ZXY  A
    Suppose if we made some changes to it and saved, so the program is in inactive state. so one more entry will be there in the table
    ZXY A
    ZXY  I
    So if you add like this for the program which you want in the table REPOSRC, then that programs will be in inactive state.
    Regards,
    Nikhil

  • Too many abap dumps in production system

    gurus ,
      i have a doubt .   there was around 56 abap dumps by a single user .
      i just want to know whether having these much of abap dumps in the production will hit performance system in a way or other ?
    if so i can make alert them on the criticality of running a report in production .

    "the problem is , most of the dumps are SYNTAX_ERROR which are generated by the customized reports created by the users"
    Good!  I much prefer them to the "there is something wrong with your system" type dumps.
    "these people make a direct attempt in production directly resulting in lot of dumps .
    we have a quality client with the latest production datas , but they dont do their first .
    i am not sure whether this practice will really hit any performance issue .
    if so then i can insist them the importance of being alert before making an attempt in production"
    Bad, bad, bad practise. 
    As you have mentioned a QA system, I'm assuming that you have at least a 3 tier landscape ... tell the developers  to use it!
    p.s - the problem isn't so much that the users are running the reports directly in Prod, it's that the reports haven't been tested properly before they reach the Prod system !

  • Product system not in LMDB only in SMSY

    Hi Solman experts,
    I have a question regarding Solman products in LMDB and SMSY.
    After updating Solman 7.1 from SP08 to SP10, in Managed Systems Configuration, Assign Product step I get the following errors:
    (I am using ABC as SID)
    ABC00001~JAVA: part of product system ABC, which is not in LMDB but only in SMSY
    ABC~ABAP: part of product system ABC, which is not in LMDB but only in SMSY
    In SMSY i see that under ABC there is both ABAP and JAVA whereas under ABC00001 there is only Java (in Products system).
    The Diagnosis of Solman for this error is:
    Diagnosis
    The technical system ABC00001~JAVA is assigned to product system ABC, which was created in transaction SMSY and has not yet been migrated into the Landscape Management Database (LMDB).
    The technical system ABC~ABAP is assigned to product system ABC, which was created in transaction SMSY and has not yet been migrated into the Landscape Management Database (LMDB).
    System Response
    Procedure
    If the product system information in transaction SMSY is still required for your system landscape maintenance, migrate it to LMDB. You can do this in the SAP Solution Manager: Configuration work center under System Preparation -> Prepare Landscape Description -> Migrate SMSY Data into LMDB -> Migrate Product Systems. (For more information, refer to the help text in the UI.)
    If the product system information in transaction SMSY is no longer required for your system landscape maintenance, delete the product system information in SMSY.
    Could anybody who had the same experience share their opinion on this case. This LMDB<>SMSY change is very confusing at this step. Would be more meaningful to execute the optional migrate from SMSY step or delete the product. the second seems a little bit meaningless in this case.
    Thanks in advance.
    Regards

    Hi Shkëlzen,
    then that could be the reason why you have some system(s) in SMSY and LMDB.
    As far as I understood you need to migrate all your Landscape from SMSY to LMDB by using the step "2.4 migrate smsy to lmdb" as mentioned by Jansi Rani Murugesan at http://scn.sap.com/message/15079962#15079962
    It might happen that this transformation creates double system entries in LMDB by adding the 0000x to the SID. But this is only an visual "defect".
    Once you have done the conversion from SMSY to LMDB you should get this issue resolved.
    The conversion report took me more than 48 hours to complete. This is totally normal. You can execute some database statistics updates and/or check/optimize the profile parameters and hope the conversion runs faster.
    Hope this helps,
    Niklas

  • Transport of ABAP Unit Test Classes between systems.

    Hi guys
    I have a bit of a dilemma on hands here pertaining to the transport of ABAP Unit test classes. Generally when you create a transport containing classes the transport manager will automatically include all "programs" related to the class like the local type definitions, local implementations and with ABAP Unit the local test classes.
    <b>The question that I have is how would one go about excluding the ABAP Unit test classes in transports to production systems and pre-WAS 6.40 systems that do not support ABAP Unit? Does the transport system automatically manage this for you?</b> Any help ideas regarding this would be greatly appreciated.
    Kind regards
    Ettienne Hugo

    Hello Ettienne
    I have a very similar problem that I have to maintain objects for release 6.20 and 6.40. Since I appreciate ABAP Unit Tests as being very helpful I do not want to miss them even in such a situation.
    My approach is as following:
    - If possible, I try to separate the local classes from the tested object, for example:
    - Report or function group
         - contains an include like <z_include_ft01>
                - Within <i><z_include_ft01></i> I have a single stament <i><z_include_au01></i>
    The actual ABAP Unit Tests are coded in <z_include_au01>. Now if I need to ship the development to a release < 6.40 the only thing I need to do is to comment the single INCLUDE statement in <z_include_ft01>. This manual step cannot be ommitted (however, it would be simple task to define an eCATT doing this). In addition, include <z_include_au01> should not be in the transport request for the development (if it happened the import error would not affect the function of the development because it is no longer linked together).
    Advantage of this approach:
    - I clearly see that my development contains ABAP Unit Tests (use naming conventions for the includes) and
    - I can ship - with little effort - the development to SAP releases not supporting ABAP Unit Testing yet
    Regards
      Uwe

  • Problem of unit of measurment in production system

    Hi Friends,
    I'm facing a peculiar problem of unit of measurement like error in all quantity and curreny fields in report output after transporting a query from quality system to production system but this query is generated from multiprovdier. what might be the problem.   
    Regards,
    Srinivas.

    Hi Dave,
    Thanks for ur reply. but to trace in monitor it is not showing any error message.
    My Mail ID is [email protected]  Please the send the document
    Regards,
    bharat

  • Use of proportion units or product units was deactivated - CT04

    While creating characteristic for PR & PO release strategy, I am able to save it, But while retrieving i am getting the meesage that "CHARACTERISTICS" not saved and getting message "Use of proportion units or product units was deactivatedu201D while drilling down the message.
    How to solve this?

    Hi,
    Please refer below links..
    Message LB163 when creating characteristic for release strategy
    Kuber

  • Create a Support Message in Production system showing up in Solution Manage

    Has anyone setup the link between creating a support message (under help) in a production system (like ECC) and SAP's Solution Manager.
    I understand that it uses BADI SBCOS001 with the interface method PREPARE_FEEDBACK_BO, but when I try to run it, it tells me that Customizing for feedback functionality missing. What functionality is missing? And how to I correct this? And how do I ensure it shows in SAP Solution Manager under a solution or project?
    Thanks
    Paul

    Hi Paul
    The only way is to use the IMG. I have just completed this via the IMG info. BUT, it is not that simple.
    Make sure your RFC's are trusted and that you have SAP ALL during config.
    I hope this will help:
    Setup Service Desk
    Steps to follow while configuring support desk.
    1) Implement the note 903587 .
    2) Create all the relevant RFC objects in the satellite system and add the appropriate logical components using transaction SMSY.
    3) Check all the objects in the table BCOS_CUST using transaction SM30.
    Appl : OSS_MSG
    + :W
    DEST :BACK RFC NAME (for solution manager system keep this field as 'NONE')
    + :CUST 620
    + :1.0.
    *4) Check whether the BC sets are activated or not using the transaction SCPR20.If the BC sets are not activated then implement the note 898614.The steps to activate the BC sets are described below
    4.1) Activate SOLMAN40_SDESK_BASICFUNC_000 BC Set.
    4.2) Activate this in expert mode with option u201COverwrite everythingu201D.
    4.3) Activation of the following components has to be done by replicating the previous steps
    3.1) SOLMAN40_SDESK_TPI_ACT_AST_001
    3.2) SOLMAN40_SDESK_ACTIONLOG_001
    3.3) SOLMAN40_SDESK_ACT_ADVCLOSE_001
    3.4) SOLMAN40_SDESK_TEXTTYPES_001
    *Depends upon the number of inactive BC set objects that we have after the upgrade.
    4.4) if the actions mentioned in 4.3 are not listed while executing the transaction SCPR20, then implement the note 898614.In the source client 000 of the solution manager system create a transport request using transaction SE09, unpack the file 'PIECELIST_SERVICE_DESK_INIT.ZIP' from the attachment of the note. Copy the contents of the file 'PIECELIST_SERVICE_DESK_INITIAL.TXT' to the transport request. And activate the actions. Use transaction SCC1 to import the transport request to the solution manager client. If any short dump occurs during the activation, implement the note 939116.
    5) Check whether the number range is set correctly. If not set the number ranges of basic notification (ABA) and the support desk message (Service transaction SLFN).To be able to use the same number ranges for both message types, the internal number range for basic notification (ABA) must correspond to the external number range for the support desk message.
    Number ranges for ABA notifications
    5.1) create an internal and external number range using transaction DNO_NOTIF.
    5.2) assign number range intervals to groups internal and external.
    5.3) SLF1 is the internal number range group
    5.4) SLF2 and SLF3 is the external number range interval
    5.5) Use transaction DNO_CUST01 to assign message categories to the number range.
    5.51) Go to transaction DNO_CUST01
    5.52) From the GOTO menu select the menu item DETAILS
    5.53) Now you can assign the number range of basis notification (ABA) into the notification type.
    The number range for ABA notification is 12 characters in length and to make it compatible with the CRM service transaction insert 2 ZEROES at the beginning.
    Number ranges for Support Desk notification
    5.54) Use transaction CRMC_NR_RA_SERVICE, and define the internal and external number ranges. Intervals must correspond to the intervals of the basic notifications (ABA notification).
    5.6) Then assign both the external and internal numbering
    5.61) Go to SPRO and then to SAP Solution Manager
    5.62) Then select General Settings and then select Transaction types
    5.63) Select the transaction type SLFN and then select the menu item DETAILS from the GOTO menu.
    5.64) In the Transaction Numbering block, assign the internal and external number range. The Number Range object should be CRM_SERVIC.
    5.7) To view the priorities use transaction DNO_CUST01 and select the notification type as SLF1 and then select priorities from the left pane of the screen. The priorities of the first four cannot be deleted, but new priorities can be added.
    6) Check the Action profiles for ABA Notifications (Action profiles are used for synchronization of ABA notification with the CRM Service transaction).
    6.1) To check the action profiles use the transaction SPPFCADM and select the application type DNO_NOTIF then select u2018DEFINE ACTION PROFILE AND ACTIONSu2019.
    6.2) Select the item u2018SLFN0001_STANDARD_DNOu2019 and then from the menu GOTO, select the menu item DETAILS.
    7) The Action profile u2018SLFN0001_STANDARD_DNOu2019 has to be assigned to the message category SLF1 (ABA notifications) using the transaction DNO_CUST01.
    8) The action profile for the support desk message can be set to u2018SLFN0001_ADVANCEDu2019.
    8.1) From SPRO select SAP Solution Manager then Scenario Specific Settings.
    8.2) Select the item Service Desk and then to general settings.
    8.3) Execute the category u2018Define Transaction Typesu2019.
    8.4) Select the transaction type as SLFN
    8.5) From the GOTO menu select the menu item u2018DETAILSu2019 and assign the action profile as SLFN0001_ADVANCED .
    9) Activate the partner/ Organization
    9.1) Go to CRM->MASTER DATA->BUSINESS PARTNER->INTEGRATION BUSINESS PARTNER ORGANIZATION MANAGEMENT->SET UP INTEGRATION WITH ORGANIZATIONAL MANAGEMENT.
    9.2)Find the entries starting with HRALX
    HRALX-HRAC WITH VALUE 'X'.
    HRALX-OBPON WITH VALUE 'ON'.
    HRALX-PBPON u2018ONu2019.
    HRALX-MSGRE u2013 u20180u2019.
    9.3) If entries are not found create it.
    10) Generate Business partner screens
    10.1) Go to transaction BUSP.
    10.2) Execute the report with the following parameters
    CLIENT - Client in which business partners should be created (solution manager client)
    APPLICATION OBJECT-
    SCREEN - *
    Generate all/ selected screens - All screens.
    delete sub screen containers -
    11) implement SAP note 450640.
    11.1) Go to transaction SA38 and select the report CRM_MKTBP_ZCACL_UPDATE_30.
    11.2) Execute it with test mode box unchecked.
    If a new relationship is to be created then steps 12 and 13 has to be followed
    12) To create a relationship category
    12.1) Go to transaction BUBA
    12.2) Select the entry CRMH00: Undefined relationship
    12.3) click on copy
    12.4) Rename CRMH00 to ZCRMH00.
    12.5) CREATE A RELATIONSHIP CATEGORY.
    IN GENERAL DATA FILL LIKE ' FROM BP1 : HAS THE ACTIVITY GROUP '.
    ' FROM BP2 : IS A PART OF ATTUNE
    13) Add the relationship category to the support team partner function
    13.1)Use SPRO
    IMG GUIDE->SAP SOLUTION MANAGER->SCENARIO SPECIFIC SETTINGS->
    -> SERVICE DESK->PARTNER DETERMINATION PROCEDURE->DEFINE PARTNER FUNCTION.
    13.2) FIND THE PARTNER FUNCTION SLFN0003 (SUPPORT TEAM).
    13.3) In the field relation ship category, Select the newly created relationship category and save.
    14) Steps 12 and 13 should be repeated for various business partner types like sold-to-party, message processors if new relationship is to be created for the respective business partner types.
    15) Create a new access sequence for the support team determination
    15.1) Go to the following IMG Path: SAP Solution Manager Implementation Guide ->
    SAP Solution Manager -> Configuration ->
    -> Scenario Specific Settings ->Service Desk -> Partner Determination Procedure ->
    ->Define Access Sequence
    15.2) Click on New Entries
    15.3) Define a new access sequence with sequence name as u2018Z001u2019 and description u2018NEW BP RELATIONSHIP ACTIVITY GROUPu2019
    15.4) Create an new Individual Access with the following value:
    u2022 Batch Seq: 10
    u2022 Dialog Seq : 10
    u2022 Source : Business Partner Relationship.
    u2022 Detail on the source:
    u2022 Partner Function : Reported By (CRM)
    u2022 Mapping/restrictions
    u2022 Flag Mapping/definition for partner being Searched
    u2022 Partner Function in Source: Support Team (CRM).
    Save it.
    This Access Sequence will give us the Partner which has the relationship assigned
    to the Support Team in the Reported By partner data.
    16) Adapt the partner determination schema/Function
    16.1) Go to the following IMG Path: SAP Solution Manager Implementation Guide ->
    SAP Solution Manager -> Scenario Specific Settings ->Service Desk ->
    -> Partner Determination Procedure -> Define Partner Determination Procedure.
    16.2) The two options to adapt partner determination schema are
    16.21) Adapt the standard Procedure (SLFN0001) or to create a new one by copying the standard one.
    16.22) select the line starting with SLFN0001 or the newly created procedure.
    16.23) Double Click on Partner Function in Procedure.
    16.24) Select the Partner Function "Support Team", and click Details.
    16.25) in the detail view only change the Partner Determination/access Sequence to
    the one we've just created. Save your entry.
    17) Create a root organizational model.
    17.1) Go to the following IMG Path: SAP Solution Manager Implementation Guide -> SAP Solution Manager -> Configuration-> Scenario Specific Settings ->Service Desk -> Organizational Model ->Create a Root Unit for Your Organizational Structure.
    17.2) creating an organizational unit by entering the data in the BASIC DATA tab.
    17.3) enter the organizational unit, the description and save it.
    18) Create the support team organization
    18.1) go to the following IMG Path: SAP Solution Manager Implementation Guide -> SAP Solution Manager -> Scenario Specific Settings ->Service Desk -> Create Organizational Objects in the Organizational Structure. Or use transaction (PPOMA_CRM).
    19) Create the business Partners.
    19. 1) Key users- End user (Business Partner General) ,Address should be specified.
    19.2) go to the transaction BP.
    19.3) create a new Person, Select the role: Business Partner (Gen).
    For Identification of the key user
    19.31) click on the identification tab
    19.32) enter a line in the identification number formatted as follows
    IDTYPE : CRM001.
    Identification number : <SID><INSTALL NUMBERS><CLIENT><USERNAME>
    eg: USER NAME : USER1.
    CLIENT : 100.
    SID : ER1.
    INSTALL NUMBER : 123456789.
    IDENTIFICATION NUMBER : ER1 123456789 100 USER1.
    20) Message Processors- Support Team members .
    20.1) they should be created first as the users in the corresponding client of the solution manager.
    20.2) As business partners they will have the role 'EMPLOYEE'.
    20.3) Go to transaction BP .
    20.4) Create New Person with the role employee.
    20.5) In the Identification tab you should enter the user name in the employee data/User Name.
    eg: username: proc1
    enter proc1 in the field User name.
    21) Organizational Business Partner- Organizational BPS have the same country in there main address tab. They should be created through the organizational model. Business partner corresponding to the root organization have the role 'SOLD TO PARTY'.
    22) Assign the business partners (Message Processors) to the previously created support team.
    22.1) Go to transaction PPOMA_CRM.
    22.2) Select the support team 1.
    22.3) Click on create
    22.4) select position
    22.5) call it 'MPROC_T1/Message Processors for team 1
    22.6) Replicate it for the other support teams.
    22.7) Select the position MPROC_T1/Message Processors for team1 and click assign,
    choose owner/Business Partner find and select the business partner
    22.8) Validate and Save it.
    22.9) If the assignment of business partner is not possible then implement the note 1008656
    Or 997009
    23) Create the iBase component
    23.1) IMG Path: SAP Solution Manager Implementation Guide -> SAP Solution Manager -> Basic Settings -> Standard Configuration of Basic Settings -> Solution Manager -> iBase -> Initially Create and Assign the Component Systems as iBase Components.
    23.2) or use the transaction IB51 to create the installed base.
    23.3) it is also possible to create the SOLUTION_MANAGER, select the solution and go to menu Edit -> Initial Data Transfer for iBase.
    24)Assign Business Partners to iBase Components
    IMG Path: SAP Solution Manager Implementation Guide -> SAP Solution Manager -> Basic Settings
    -> SAP Solution Manager System ->ServiceDesk-> iBase -> Assign Business Partners to iBase Components.
    *--optional--
    If you want to be able to assign the System Administrator: Go to the IMG: SAP Solution Manager Implementation Guide -> Customer Relationship Management -> Basic Function -> Partner Processing -> Define Partner Determination Procedure.
    Select the entry "00000032 Installed Base/IBase" and double click on Partner Functions in Procedure.
    Then copy the Entry "Contact Person (CRM)" to a new entry with the partner Function "System Administrator (CRM)" , save it.
    Go back to transaction IB52, select a component, and Goto -> Partner, you should be able
    now to assign the partner Function "System Administrator".
    25) Assign the SAP Standard Role to the user. Message Creator should have the role : SAP_SUPPDESK_PROCESS.
    26)Define the transaction variant for the message processors
    Go to the following IMG Path: SAP Solution Manager Implementation Guide -> SAP Solution Manager -> Configuration -> Scenario Specific Settings ->Service Desk -> General Settings -> Specify User Selection Variant.
    Here we will create variants for the central message processing transaction CRM_DNO_MONITOR.so that the user will have direct access to there dedicated message.
    27) Go to transaction PFCG
    27.1) Enter the role name as Z_MSG_PROCESSORS and choose single role.
    27.2) Give a description Message Processor role and save it.
    27.3) Go to the menu tab and choose add report
    27.4) select the report type : ABAP Report
    27.5) And in the report enter the report name as 'CRM_DNO_SERVICE_MONITOR'.
    27.6) Enter the previously created variant.
    27.7) flag the skip initial screen box.
    27.8) flag the SAPGUI for windows.
    27.9) Create a new transaction with tcode starting with Y or Z.
    27.10)Display this transaction and check the values at the bottom of the screen
    in the subscreen Default Values, you should have the following parameters:
    u2022 D_SREPOVARI-REPORT = CRM_DNO_SERVICE_MONITOR
    u2022 D_SREPOVARI-VARIANT = MY_TEAM_MSG
    u2022 D_SREPOVARI-NOSELSCRN = X
    And also all the user should have the correct role.

  • ABAP unit: test classes part of prod. code

    Hi all,
    I've read <a href="https://weblogs.sdn.sap.com/pub/u/266">Thomas Weiss</a>'s weblog: <a href="/people/thomas.weiss/blog/2004/12/17/a-spotlight-on-abap-unit-part-1 Spotlight on ABAP Unit Part 1</a>.
    I posted a question there, but apparently Thomas can't answer at the moment, and since I'm impatient for getting someone's opinion, I reckon we can discuss that topic here  :^)
    As explained in the <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/c1be1003-0701-0010-3795-f87160de6483">NetWeaver Developer’s Guide Using ABAP</a>, the test classes are part of the program under test (PUT):
    <i>In ABAP Unit, test classes are part of the production code of the TU. This avoids problems arising from the test code being separate from the production code:
    - Programs and tests must be kept synchronized.
    - You have to ensure that the test and program code are transported together.
    - External test code only enables black box tests with an outside perspective of the tested program.
    Since the test code is part of the production code, it is easy to keep the unit tests and the
    production code up to date if the latter is changed.
    Although the test code and the production code are transported through the system landscape, ABAP unit tests do not increase the load on the production system. By default, the test code is not compiled in the production system. Therefore, the test code can never be executed in the production system.</i>
    On the other hand, this idea is quite different from what suggested by other unit testing frameworks.
    For instance, the documentation of <a href="http://www.ruby-doc.org/stdlib/libdoc/test/unit/rdoc/classes/Test/Unit.html">Test::Unit - Ruby Unit Testing Framework</a> reads:
    <i>It‘s handy to collect a bunch of related tests, each test represented by a method, into a common test class that knows how to run them.
    The tests will be in a separate class from the code they‘re testing for a couple of reasons. First of all, it allows your code to stay uncluttered with test code, making it easier to maintain. Second, it allows the tests to be stripped out for deployment, since they‘re really there for you, the developer, and your users don‘t need them. Third, and most importantly, it allows you to set up a common test fixture for your tests to run against.</i>
    Regarding the advantages outlined by NetWeaver Developer’s Guide:
    - Programs and tests might be kept synchronized even if they don't belong to the same unit of code.
    - Moreover, you could assure that the test and program code are transported together by saving them in the same package.
    - And quite frankly, I don't have a thourough understanding of the reason why external tests only allow <i>black box tests with an outside perspective</i>.
    What are your opinions on this?
    Regards, Davide

    Hi,
    when I started unit testing with JUnit I was quite surprised that SAP groups the tests with the production code. But now I actually really like it. It has a few advantages:
    - Good tests serve as an excellent documentation so why not bundling them together.
    - If you want to look at the tests they are easy to find.
    - I write all my class tests as local classes. I found out that it really helps me to focus on writing tests only for the class under test. Sometimes it is quite easy to forget the "unit" and write integration tests again.
    Regarding your question:
    >And quite frankly, I don't have a thourough understanding of the reason why external tests only allow black box tests with an outside perspective.
    Usually I would not use the term black box testing in this context. Maybe you mean that it is easy to access private attributes, methods when you group class and testclass together?
    Normally black box testing means that you cannot look at the implementation of the code under test. So your tests are based on the specifications or if there is not one, on your common sense.
    cheers
    Thomas

  • Unable to delete Role from User ID in SAP SOLMAN production system but able to from DEV with the same authorization, pls suggest

    unable to delete Role from User ID in SAP SOLMAN production system but able to from DEV with the same authorization, pls suggest

    Hi,
    For SU01 role removal, you do not need S_USER_AGR with 02, and as you mentioned both authorizations available in production, if so trace should not show you the S_USER_AGR with 02 with RC=04.
    I would recommend to do role comparison for the user performing the activity. and then check if you have the S_USER_AGR with 02 in user buffer SU56.
    But ideally it should not ask you S_USER_AGR for 02 through SU01, so please take help of abaper to debug it.
    Also put trace in non-prd to see if S_USER_AGR is getting checked with 02 for removal through SU01.
    BR,
    Mangesh

  • Two Questions on ABAP UNIT

    I'm familiar with the technical concept of ABAP Unit testing, using both local or global classes, running sets of Unit Tests using the Code Inspector. However, I'm struggling with two issues:
    a) Technical issue: how can I test a Protected or Private method of a class using ABAP Unit testing? It works if the class to be tested has granted friendship to the unit test class, but is that the way to do this?
    b) conceptual issue on the types of Unit Tests to define: the Unit Test is based on comparing actual results with expected results. But how can I predict a result on a development environment that is constantly changing?
    Thanx in advance
    Ben Meijs

    Hi!
    For having plan vs actual report, first of all you need to define CO versions through ORKE for your operating concern. You also needs to define plan version through KE14. Also you need to assign COPA reciever plan version for integrated planning.
         All your SD condition types need to be assigned to value fields. Also to flow actual values of production orders, CO Orders - it is required to assign PA transfer structure to settlement profile. Settlement profile must allow profitlability segments as settlement recievers and it must be stored in settlement profile. The assignment ensures that variances also flows to COPA. Key figure should also be defined for when assessment is caried out from cost center accounting to COPA. Also your value fields are also to be assigned to Cost component structure in COPA.
           After doing above necessary activity, you may plan for your form of report through KE34. Lines, form and header are specified by means of characteristics or value fields.
    Hope it helps a lot!
    Please revert back for any query.
    Thanks & Regards,
    Taral Patel

  • Delete COPA value fields in a productive system

    Does anyone have practical experience with deleting COPA value fields in a productive system?
    The issue is that old, no longer used value fields should be deleted from a productive system to allow creating new ones, as the maximun number of value fields is reached.
    An alternative would be to delete the prior transaction data captured on these no longer to be used value fields and rename them for their new use (to avoid that different kind of old and new data is reported on the same value field).
    I am refering to the documentation on transaction KEA0 (or OSS note 160892 up to release 4.5), where it is mentioned that deleting value fields should only be done for operating concerns that have not yet been used productively. Did anyone do this already in a productive system?
    Cheers, Peter

    To delete characteristics or value fields, you should perform the following       
    activities:                                                                               
    1. Delete the corresponding characteristics and value fields from      
    Customizing in all clients (this includes forms, reports, planning     
    layouts, and so forth). To locate characteristics and value fields, use
    the appropriate where-used list in the Customizing Monitor. You can    
    access it by choosing Tools -> Analysis -> Check Customizing Settings  
    (TA KECM).                                                             
    You can jump directly from the where-used list to the relevant         
    Customizing transaction and then delete the appropriate field there.   
    2. Switch to the screen for maintaining the data structure of an       
    operating concern (Maintain operating concern).                                                                               
    3. If you need to effect other changes to the datastucture for the     
    operating concern before making any deletions, effect those changes and
    save the data structure.                                                                               
    4. In order to be able to select the fields of the data structure,     
    choose Extras -> Characteristics (or Value fields) -> Unlock.                                                                               
    5. Select the characteristics and value fields to be deleted and remove
    them from the data structure with the "Reset fields" function.                                                                               
    6. Reactivate the operating concern. The system starts by checking
    whether the operating concern contains any data and whether the fields   
    to be deleted are still being used in any Customizing settings.                                                                               
    7. If none of the fields are still in use, the system then starts the    
    re-activation. If the operating concern does not contain any data or     
    does not require the database system to be converted, the tables are     
    activated. You are then able to activate the environment for the         
    operating concern. In this case, the following activities no longer      
    apply.                                                                   
    If the operating concern already contains data, a system message tells   
    you that the database needs to be converted. If you proceed, an          
    activation log appears (at the top of the list).                                                                               
    8. Analyze the activation log. If it only contains error messages        
    telling you to convert the tables, proceed with the next activity.       
    You must otherwise remove the cause of the errors before the tables can  
    be converted. In this case, you should answer "No" to the next prompt,   
    which asks whether the conversion transaction should start.                                                                               
    9. If you still only receive error messages telling you to convert the   
    tables, choose "Back" and start the conversion.                                                                               
    10. Plan a job for the conversion. A list of the tables to be converted  
    is shown for this. If the tables only contain a small amount of data     
    (less than 10 000 records), then all the tables can be converted in one  
    job. In that case, you can select all the tables.                        
    For larger tables, conversion should take place in several jobs.                  
    However, you should ensure that table CE4xxxx (where xxxx = operating             
    concern) is the last table to be converted.                                       
    Warning. No other changes can be made to the operating concern during             
    the conversion.                                                                   
    A copy of the table is generated during the conversion. The database              
    system should have sufficient memory available for this copy.                     
    To schedule conversion as a job, use the "Schedule selections" function.          
    You can display the current status of the conversion by selecting the             
    "Refresh" icon. Tables disappear from the list once they have been                
    converted sucessfully. If a conversion is taking a while, it is also              
    possible to leave the transaction. You can then continue the conversion           
    using DB requests -> Mass processing in one of the following ways:                
    With the job overview. You access this by choosing System -> Services ->          
    Jobs.                                                                             
    Using the database utility transaction. You access this by choosing               
    Utilities -> Database Utility in the ABAP Dictionary menu.                        
    You can use the status function to call up the status of the operating            
    concern during operating concern maintenance. You need to activate all            
    tables after conversion.                                                                               
    11. To analyze errors that have occurred during the conversion, you can           
    use the database utility transaction by choosing Extras -> Logs. The log          
    has the same name as the conversion job: TBATG-date. You can also                 
    restart the conversion with this transaction.                                     
    For more information on the database utility, choose Help -> Application          
    help while still in the above transaction.                                                                               
    12. Once you have activated all the tables in the operating concern,    
    generate the operating concern environment from within operating concern
    maintenance.                                                            
    You can then use the operating concern again.                           
    Please, refer to the IMG documentation under Controlling ->             
    Profitability Analysis -> Structures -> Define operating concern        
    -> Maintain operating concern, for further details.                     
    Hope it helps

  • Transaction Launcher: Logical System in Production System does not change

    Hi,
    I created a transaction launcher in the CRM development system (CRD) to launch the transaction IL02 in the ECC 6.0 system (ECD). Then I transported the changes from CRD to the CRM production system CRP. I also transported the changes from ECD to ECC production system ECP.
    However, when I see the transaction launcher in CRP system, it is still configured for the URL of ECD. I want the transaction launcher to connect to ECP. One option I have is to change the class name in the CRP system. However, I am not allowed to create a new ABAP class in the production system. Is there any other way to change the target system automatically in production system?
    Thanks,
    Rohan.

    Thanks Piyush. Could you be a bit more specific? I followed these steps:
    1. In transaction CRMS_IC_CROSS_SYS, created a logical system URL for production system
    2. In customizing setting Copy/Delete Launch Transactions, deleted the transaction launcher id.
    3. In customizing setting Configure Transaction Launcher, created the same transaction launcher id newly.
    I still am not able to change the logical system. However, I can do it if I change the class name.
    While deleting the transaction launcher id, should I be deleting all dependencies?
    Regards,
    Rohan.

  • Short dump "EXSORT_NOT_Enough_MEMORY" in production system

    Hi,
    "EXSORT_NOT_Enough_MEMORY" dump occuring in production system,Could any one please tell me how to fix this dump.
    Please refer the error message below
    What happened?
        The current ABAP program had to be terminated because the
        ABAP processor detected an internal system error.
        The current ABAP program "RSBPCOLL" had to be terminated because the ABAP
        processor discovered an invalid system state.
    Error analysis:
        The current ABAP/4 program was meant to sort a dataset (internal table
        or extract). For reasons of capacity, this was not possible due to
        insufficient main storage space. Therefore, the
        external sort was called and resulted in the following error:
        the following error:
        SAP runtime system internal error.
                   Last error logged in SAP kernel
        Component............ "EM"
        Place................ "SAP-Server cambsvr15_PEC_00 on host cambsvr15 (wp 12)"
        Version.............. 37
        Error code........... 7
        Error text........... "Warning: EM-Memory exhausted: Workprocess gets PRIV "
        Description.......... " "
        System call.......... " "
        Module............... "emxx.c"
        Line................. 1886
    and i see that background job  "SAP_COLLECTOR_FOR_JOBSTATISTIC" job being failed with  below error.
    Job started
    Step 001 started (program RSBPCOLL, variant , user ID BACKGROUND)
    ABAP/4 processor: EXSORT_NOT_ENOUGH_MEMORY
    Job cancelled
    Please help me to correct this error.
    Best Regards,
    Vinod

    Hi Bhaskar,
    yes, I have checked the Wp status and it looks fine.I'm getting this error on My PRD system on regular basis since 1 week.
    We have tried to restart the server but no luck.
    Here are the ST02 values and background job SAP_COLLECTOR_FOR_JOBSTATISTIC also being failed with this error.
      Buffer              Hitratio    Allocated       Free space          Dir. size      Free directory        Swaps      
                              [%]         [kB]           [kB]      [%]      Entries       Entries    [%]                  
    Program                   99.11       400,000        1,481     0.38      100,000      90,774    90.77       36,307
    CUA                       99.31         3,000          264    10.53        1,500       1,263    84.20       14,934
    Screen                    98.45         4,297           27     0.82       10,000       9,653    96.53         645
    Calendar                  99.76           488          359    75.10          200          48    24.00         0
    OTR                      100.00         4,096        3,439   100.00        2,000       2,000   100.00         0
    SAP memory              Current use      Max. use  In memory   On disk
                            [%]      [kB]       [kB]       [kB]       [kB]
    Roll area              1.45      3,808     7,680    262,144         0
    Paging area            3.40      8,904     13,056       0        262,144
    Extended Memory        9.05    389,120    812,032  4,299,776
    Swaps
            0
       21,249
            0
       16,399
       36,307
       14,934
          645
            0
            0
          272
            0
      210,742
            0
    Please let me know if you require further information.
    Thanks & Regards,
    Vinod

  • Change of decimal places in productive system

    Hello
    We are on ECC 6.0 in a post Go Live environment.
    In our productive system we have set the decimal places to 2. For our business requirements, we would like to maintain 3 decimal places to 3 for Logistics modules (SD / MM & PP) where as we would like to maintain 2 decimal places for Financials module.
    Pls advise us of the methodology of this changeover as well as the possible side effects as a result of this change.
    Thanks & Regards,

    Hello
    The number of decimal places saved on the database is determined by the Global Settings made in Customizing for that unit (unit of measure or currency unit). If no entry has been made in Customizing, the number of decimal places saved for this key figure and characteristic value is the number of decimal places shown in the planning table at the time of saving. If the key figure has no displayable unit (for example, if it is a percentage), all the decimal places are saved.
    However, you need to perform some testing of scenarios to really know the impact 2 different decimals. Definitely, there is one aspect, whether any conversion is required or is it just a display of values in decimals.
    Data from FI to other modules is not a issue, but data from other modules to FI should be able to take this extra decimal.
    Although personally in my opinion it is not going to cause any errors, please test the same.
    Check documentation on Key Figures
    Reg
    assign points if useful

Maybe you are looking for