Check Customizing

Hello Community,
in our company the SAP System has to be customized (Initial Customization) for various sub-groups. During this process, the following things have to be done (selection): define sales organisation, define distribution channel, define division, define shipping...etc.
Due to the fact that a error is most likely when doing these bunch of operations, I wanted to write a report in abap to check (consistency, logic) the customizing. Since, i am new to abap and the SAP world I am not sure, whether abap is the right choice and if it is possible to write such a report. Is there possibly already something integrated in SAP? How do you check / validate the customization settings ?
Replys are highly appriciated! Thanks!
If you need more information, do contact me !

For most of the customization SAP provides the "Check" Functionality.
I.e. For Sales Organization: Enterprise Structure > Definition > Sales Organization > Define Copy, delete, check sales organization > Copy, delete, check sales organization.
From the menu Organizational Object > Check Org. object.
I would suggest to figure out, which objects you want to check and find out if SAP has provided that functionality or not.
Regards,
Naimesh Patel

Similar Messages

  • Error in VA01 - "Sales order cannot be processed. Check customer type."

    Hi,
    While creating a Sales Order in VA01, I receive this error message - "Sales order cannot be processed. Check customer type."
    Could you please tell me what could be the reason for this.
    Thank you,

    Hi,
    U Can Find the Customer Type in Extras> Account Group Information> Customer Types.
    There U can Make the Customer Type.
    Regards..
    Praveen Kumar.D

  • Help req for check customer table maintenance with XD02 if not throw error

    hello ABAP GURUS,
    check customer of the table maintenance with XD02 if not throw error i have given the codition for passing the values in the table but before that it has to check whether the customer i am passing in to the table is a customer from xd02.Here whatever no i am passing it is accepting it should not happen, but when i give the customer which is not a customer it should not accept but it has to throw the message as 'customer does not exist.Its urgent please help me
    TYPES: BEGIN OF TY_KNVI,
    KUNNR TYPE KUNNR,
    TATYP TYPE TATYP,
    TAXKD TYPE TAKLD,
    END OF TY_KNVI.
    DATA : VALIDFROM TYPE GUEBG,
    VALIDTO TYPE GUEEN.
    DATA : IT_KNVI TYPE STANDARD TABLE OF TY_KNVI,
    WA_KNVI TYPE TY_KNVI OCCURS 0 WITH HEADER LINE.
    DATA : V_NAME TYPE SYUNAME.
    SELECT KUNNR
    TATYP
    TAXKD
    FROM KNVI
    INTO TABLE WA_KNVI
    WHERE KUNNR = YYV_CFORM-KUNNR
    AND TATYP = 'ZCST'
    AND TAXKD = '1'.
    V_NAME = SY-UNAME.
    YYV_CFORM-ENTEREDBY = V_NAME.
    IF SY-SUBRC NE 0.
    MESSAGE E000(E4) WITH 'Please change the tax classification of ZCST as' '1' ', in Sales Area Data'.
    ENDIF.
    I have used the following code to enter the data into the table maintenance it is working fine and throwing the error when the tax type is not the one which i have given in the select statements but the problem is when i have given the customer no which is not there in the XD02 tcode, it is accepting and showing the error message as MESSAGE E000(E4) WITH 'Please change the tax classification of ZCST as' '1' ', in Sales Area Data'. now i have to check the customer no from XD02 and if it is existing in that tcode it should allow to save in the table maintenance otherwise throw a message as the 'Customer no does not exist, this I am unable to write so how can i check please help me .
    thankx in advance.
    Edited by: soni khadary on Apr 22, 2008 7:55 AM

    Hi Kelly,
    I guess <wa_tab>-handle_style is of type lvc_t_styl therefore you can do the following:
    ls_edit-style = cl_gui_alv_grid=>mc_style_enabled.
    "I assume you know your non-key fields' names so you can use subrotuine to perform update on each of them
    ls_edit-fieldname =  'First field name' .
    PERFORM update ls_edit.
    ls_edit-fieldname =  'Second field name'.
    PERFORM update ls_edit.
    ls_edit-fieldname = 'Third field name'.
    PERFORM update ls_edit
    FORM update USING fs_edit type lvc_s_styl.
    field-symbols: <style_tab> type lvc_t_styl,
                         <style_wa> type lvc_s_styl.
    LOOP AT <tab> ASSIGNING <wa_tab>.
       if e_row = sy-tabix .
         "get you style table
         assign component 'HANDLE_STYLE' of structure <wa_tab> to <style_tab>.
         "as <style_tab> is typed fully you can read the row you are interested in
         read table <style_tab> assigning <style_wa> with key fieldname = fs_edit-fieldname
         if sy-subrc = 0.
           "update this entry
            <style_wa> = fs_edit.
    *        modify table <style_tab> from <style_wa>. 
         endif.
       endif.
    endloop.
    endform.
    Note!
    Though, this should work, the use of RTTI as Uwe suggested would be best practise approach as far as dynamic programming is concerned. Anyhow it is still up to you which one you pick.
    Regards
    Marcin
    I noticed now that this line is not necessary
    modify table <style_tab> from <style_wa>. 
    as we simply are working with field symbols, so changes made to <style_wa> are already visible in that table <style_tab>.
    Edited by: Marcin Pciak on Mar 15, 2009 12:44 PM

  • CHECK CUSTOMER BALANCE

    HI
    FRIENDS,
                 HOW TO CHECK CUSTOMER BALANCE i.e. FOR A CUSTOMER HOW MANY INVOICE ALREADY EXSISTING & THEIR VALUES.
                 I MAY BE TECHNICALLY WRONG ACTUAL ISSUE IS I WANT TO CHECK CUTOMER WISE INVOICE VALUE, SO IS THERE ANY TRANSACTION CODE AVAILABLE BY WHICH I CAN GET THIS INFORMATION . THIS IS MAINLY  FOR FI PURPOSE
    P
    REGARDS
    AMBARISH

    Dear ambarish
    Go to FBL5N, select just Company Code and below that you can see three options to choose.
    -  Open items
    -  Cleared items
    -  All items
    If you want to see only invoice wise what is outstanding, choose the first one and execute.
    If you want to see invoice wise payment received details, select the second one.
    If you want to see both outstanding and payment received details, choose the third one.
    Also please note that once you execute with any of the above options, on the left corner, you can see red / green buttons which indicates;  outstanding for red, cleared for green.
    Similarly, if you want to see vendor details, go to T.Code FBL1N where also, you have the above three options.
    thanks
    G. Lakshmipathi

  • How to  check customer reference no. not  being use more than once

    I have the following situation and appreciate if  some one could show me a simple solution.
    “On the Sales order window, when user enter a value for Customer Ref. No”, check if the entered value has already  been used on any existing Sales Order, and give message eg. “this Ref. No already been used in SO. 257”
    What is the easiest way of implementing the validation?
    Using Formatted Search?
    Triggers or Stored Procedure?
    Or one must go about doing this simple task using SDK, DIAPI?
    sample code illustrating solution would be much appreciated.
    I tried to create a query and used it with Formatted search on the Field, but failed on an error.
    the code using temporary hard coded value instead of $[$x.0.0] looks like this
    if (SELECT    COUNT(*)
    FROM         dbo.ORDR
    WHERE     (NumAtCard = 'AAA' and CardCode ='1234')
    ) =0     
         Begin
                       select 'AAA' --redisplay value
         end
    else
                  begin
    SELECT     TOP 1 'already used in SO '+ Convert(Char(3),DocEntry)
    FROM        dbo.ORDR
    WHERE     (NumAtCard = 'AAA')    
             end
    where 'AAA' is the reference no. to check for customer '1234', this code works when I run it in SQL query analyser, but failed when I run it as query in Business one. the idea was to redisplay the entered No. 'AAA' if it is not found in any existing SO for cust ='1234'
    can anyone point out what the error is or show  alternative code for the query.
    thanks

    Hi Andy,
    I believe the best way to do this is probably to use the SDK as (to my knowledge) this is the only way you can get a message to be displayed and to stop the actual processing of the document.
    If you want to go the formatted search route I would suggest you change your query a bit. I have played with your query and the following is an example as I got it working in SBO. I think SBO gets confused if there is more than one select statement that returns a result and I have started using variables to save the results of the select statements in.
    [code]Declare @Val varchar(100)
    declare @Count integer
    set @Val = $[$14.0.0]
    if (SELECT COUNT(*) FROM dbo.ORDR WHERE (NumAtCard = @Val and CardCode = $[$4.0.0])) > 0
    begin
    SELECT TOP 1 @Val = 'already used in SO '+ Convert(Char(3),DocEntry) FROM dbo.ORDR WHERE (NumAtCard = @Val)
    end
    select @Val[/code]
    I hope it helps a bit,
    Adele

  • User-Exit for Checking Customer and Sale order type in Sales Order Creation

    Hi Experts,
      While creating the Sales Order once i enter sold-to-party and enter line item, i have to check the customer against the sales order type.
    Please suggest me if any user-exit or enhancement or BADI available for it.
    Thanks & Regards,
    -VM

    Hi
    Follow the below steps to find out what all BADI's are called when you press any button in any transaction.
    1) Goto se24 (Display class cl_exithandler)
    2) Double click on the method GET_INSTANCE.
    3) Put a break point at Line no.25 (CASE sy-subrc).
    Now
    4) Execute SAP standard transaction
    5) Press the required button for which you need to write an exit logic, the execution will stop at the break point.
    6) Check the values of variable 'exit_name', it will give you the BADI name called at that time.
    7) This way you will find all the BADIs called on click of any button in any transaction.
    mark if helpful
    Regs,
    Tushar Mundlik

  • AUTHORITY-CHECK & customized program

    Hi,
    I've applied an authority-check to my customized program. What I did was, I've created an authorization object name 'ZFI_PGRM' in SU21 and tie it with authorization fields BUKRS, ACTVT. This authority-check will validate on the company code (BUKRS) entered from the selection screen. Below are my lines in the customized program :
    DATA: text      TYPE string,
              m_text  TYPE string.
    text = 'You are not authorised for Company Code'.
    DATA: t_t001 LIKE t001 OCCURS 0 WITH HEADER LINE..
    SELECT * FROM t001
           INTO TABLE t_t001
                 WHERE bukrs IN s_bukrs.
    LOOP AT t_t001.
      AUTHORITY-CHECK OBJECT 'ZFI_PGRM'
          ID 'BUKRS' FIELD t_t001-bukrs
          ID 'ACTVT' FIELD '03'.
      IF sy-subrc <> 0.
        CONCATENATE text t_t001-bukrs INTO m_text SEPARATED BY space.
      ENDIF.
    ENDLOOP.
    At the same time BASIS tie the autorization object 'ZFI_PGRM' to the user role in order to access the program using PFCG. The problem now is the result that I'm getting always SY-SUBRC = 12 eventhough the user is allowed to access the company's report. Please help...
    Haryati

    Run transaction SU53 after the auth check fails and maybe it will give you a clue as to what is going on.

  • Check customer's locking

    Hey, there.
    I'm searching for a FM which checks if a customer is locked by another user or not.
    I have a FM which makes a batch input of XD02 transaction and I want to know before the BI proccessing if sombodey is editing the customer data at the same time and build an error message appropiatally.
    Thanks in advace,
    R.R.

    Hi,
    try to do something like:
    CALL FUNCTION 'ENQUEUE_EXKNA1'                                    
         EXPORTING                                                    
              KUNNR          = KNA1-KUNNR                             
         EXCEPTIONS                                                   
              FOREIGN_LOCK   = 1                                      
              SYSTEM_FAILURE = 2.                                     
    CASE SY-SUBRC.                                                    
      WHEN 1.                                                         
        SPERR_USER = SY-MSGV1.                                        
        MESSAGE E042 WITH KNA1-KUNNR SPERR_USER.                      
                                       "von anderem Benutzer gesperrt 
      WHEN 2.                                                         
        MESSAGE E038.                  "Systemfehler                  
    ENDCASE.
    Best regards.

  • Authorization check - customer exit EXIT_SAPLRRS0_001

    Hi gurus,
    a question on customer exit about EXIT_SAPLRRS0_001 related to i_step = 0 (Authorization check).
    I have two InfoObjects: 0WS_CAT and 0WSCATQ. The last one has a compounding that is 0WS_CAT.
    In the exit: I need to check the 0WS_OBSFLAG (a simple flag attribute) to determine if the entries in 0WSCATQ Master data are valid or no.
    If I found that the entry is valid I add the value to the e_t_range export table in this way:
    if ( i_step = 0 ).
        l_s_range-sign = 'I'.
        l_s_range-opt = 'EQ'.
        l_s_range-low = '00000001'.
        append l_s_range to e_t_range.
    endif.
    The problem is the compound, how can specify the value key for the export table?
    For example ... in the table I have three entries:
    0001 00000001 #
    0002 00000001 X
    0003 00000001 #
    The valid entries are:
    0001 00000001 #
    0003 00000001 #
    How can specify '0001' or '0003'? Because if I assign only the value  '00000001' to l_s_range-low then the entries valid in the authorization for 0WS_CATQ are three and not two.
    It's important for me to find a solution.
    Regards, Roberto

    Hi Roberto,
    you have to build your logic into a variable for the other infoobject 0WS_CAT and find your values 0001 and 0003 the way you described.
    You might have to restrict the selection for 0WSCATQ to a single value, in case you have a record like this in addition to the 3 you have listed.
    0002 00000005 #
    Best,
    Ralf

  • Work Order Material Availability Check Customizing

    Hi,
    I am currently trying to set up material availability check in the work order before saving. I am testing it by entering a material in the work order for which there is zero stock. Then clicking on ORDER > FUNCTIONS > AVAILABILITY > CHECK STOCK MATERIAL. However SAP would return 'All checked materials in order 100000317 are available' in status bar.
    My customizing is as follows:
    Define Checking Rules (SPRO):
    PM     Checking rule for plant maintenance
    Define Scope of Check (OPJJ):
       Availability Check: 01 (Daily Requirements)
       Checking Rule: PM (Checking rule for plant maintenance)
       Availability check: 2 (Check availability during order release)
        Stocks
        Include safety stock: X
        StockIn Transfer: X
        Incl. quality insp. stock: X
        Replenishment lead time
        Check without RLT: X
        In/outward movement
        Incl. purchase orders: X
        Incl. purchase requisitions: X
        Incl. dependant reqs: X
        Include reservations: X
        Include sales reqmts: X
        Include deliveries: X
        Incl. planned orders: X (check all planned o)
        Incl. production orders: X (take all production)
    Define Scope of Check (OIOI):
       Plant: (Corresponds to Work Order)
       Order Type: (Corresponds to Work Order)
       Check material availability when saving order: X
       Check rule: 02 (Corresponds to material being used)
       Release Material: 3 (No release if parts are missing)
       PRT Availability: No check
       Capacity Availability: No check
    I would appreciate if you could indicate if I am missing something in the customizing or if there is some sort of error. I would like SAP to display a system message on the status bar stating that this material is not available once the user enters this material.
    Regards,
    Nikolai

    I'am facing the almost the same problem. Could anyone tell me:
    1. How to make material availability check work  during Work Order creation?
    My requirement is Work Order can not be created when it has missing parts. I have set the config to '3' can not created when is has missing parts, but it still does not work.
    I have implemented SAP Notes 1148139 on my system (SAP ECC 6 Ehp 5) also, but still does not have any effect.
    I must not set the config Res./Purch Doc creation to 'immediately', because it does not fit to my user requirement. Is there anyone knows how to solve this requirement?
    2. How to make  information message/ Availability check screen appear when sparepart is missing, without clicking Availability Check button? for example: appear when clicking Save button.
    Thank you
    -amoonra-

  • We want  to check "Customer" in Classification/hours  tabstrip by default.

    Hi CRM gurus,
    we want to check the checkbox of "Customer" in classifications/hours tabstrip in BP transaction by default.
    For that, we are using BADI "BUPA_GENERAL_UPDATE".
    In this, we have GUID as input.
    Is there any funtion module to create classification data, by using GUID.
    Thanks in advance.
    santosh.

    Hi Santosh,
    This is the standard behaviour.
    SAP has provided what is called as FAST ENTRY. Say we need to create new BP in CRM and at this stage we are not sure whether this will going to be a real customer. So this will not be replicated to R/3. And thats the reason you will not find Classification/hours tab for the role "Business Partner(General)".
    So at this stage, just BP will be created which will stay in CRM. Now say this is going to be real customer, so then you will change the role to one of the type say "sold to party" and it will be replicated to R/3.
    Hope this helps.
    Regards
    Pankaj

  • Checking customer

    Hi all
    My problem is to allow to some users to access trx VA01, vA02 and VA03 only with specific customer. How can I solve this? Thanks
    Stefano
    Regards

    Thanks all for your suggestion
    The idea of having different order type is good but  I can't restrict user to only a  specific order type becuase customers have the same order type. The example was only with 2 users & 2 customers, but actually I have N usesrs and M customers
    I was thinking about creating an authorization object (Z_CUSTOMER_CHECK ) where I can chek sales organization & customer.
    No problem in creating the authorization object, still wondering in which user_exit
    , if any, I must place the authorization check.
    Regards
    Stefano

  • No red focus confirmation light on my 3 month old 60D. Checked customs functions, HELP

    Hi guys. Title pretty much says it all. Picked my 60D up today and noticed that it will focus (I get the beep), but no focus confirmation (the red square) through the viewfinder. I have tripled checked all settings, cleared custom functions, made sure my CfN III was set to 0 or ON. I'm in one shot mode, using autofocus. PLEASE HELP! Is there a such thing as AF-OFF? I saw this mentioned elsewhere but not on my 60D menus. The photos seem sharp and in focus, just no confirmation for me on the viewfinder. Any advice??

    It sounds like you've hit all the major things to check:
    In AI Servo mode the AF point will never flash to confirm a focus lock like it will in One Shot mode -- AI Servo mode is continuously focusing.
    C Fn. III -3 (Superimposed Display) needs to be set to '0' (on) which is the default.
    The beep and the red-light are normally tied together (unless you disable the beeping).  If you get a beep, the selected AF point will normally flash at the same time.  e.g. if you were in "AI Servo" mode (instead of "One Shot" mode) then you would not get an audible beep or the red AF point flash to indicate which point is focused.  The fact that you get the beep indicates you are in the right mode and it's confirming... but you should ALSO get the red flash unless you disabled it via C Fn. III -3 set to 1.  
    You could try clearing all custom functions and resetting the camera back to factory default state, but if that doesn't work, I suspect it needs service.
    Tim Campbell
    5D II, 5D III, 60Da

  • Can't find the System spell checker custom dictionary

    There's no /user/library/spelling.
    Opened textedit and misspelled a few words.
    Right click - Learn Spelling.
    Red squigglies go away so it learned the word.
    Looked for any file modified at this time and nothing shows up.
    Where's the custom spelling dictionary?
    Tried a different user and it's there.

    And you've rebooted so we know it isn't like in a Cache?
    I'd get EasyFind...
    http://www.devon-technologies.com/download/
    Add a unique spelling to the Dctionary, like QwertyChrisCA, then search for File Contents of QwertyChrisCA.

  • Customer refund paid using F110 for which check is not generated

    Hi,
    A customer refund is paid using the transaction F110. Payment document got generated and successfully posted. But the check number is not allotted for that document and checks are not printed. In the same payment run payment is made to the vendors for which checks got generated. I had checked customer master data and payment method settings and not able to figure out what is the exact reason.
    Please respond
    Regards
    Srinivas

    Hi,
    System thinks Check should be issued to vendors and collected from customer so check creation refer to the field LFA1-LIFNR, name written here is used for Check creation. Does customer name lie in to LFA1-LIFNR. This is the reason check issued for customer is not created. If you want then get the check printing form analyzed by an ABAPer to modify, if any.
    Regards,
    Chintan Joshi.

Maybe you are looking for