BP ext. id type & id no. validation check

Hi,
I need to validate the external Id type and Id no. ( from table BUT0ID) based on some conditions from the WebUI while adding a new id type and also during deletion of that id.
I have found out 2 Badi's BUPA_IDENT_UPDATE, BUPA_IDENT_CHECK
Will these BADI triggered from the WebUI ?
What would be the other way to implement these checks for the Business Partner?
Provide some possible solutions.

Hi Shobhit,
You can get the related entities fof Identification details with the relation name "BuilIdentificationRel" of the root entity "BuilHeader" . Then after getting the entity you need to call GET_PROPERTIES method to get the data of identification.
After getting the data you can validate in DO_VALIDATE_INPUT
for getting current entity in Do validate input method use below code
data: lr_entity             TYPE REF TO cl_crm_bol_entity.
data: lr_ident              TYPE REF TO cl_crm_bol_entity.
lr_entity ?= me->typed_context->(YOUR CONTEXT NODE ) ->collection_wrapper->GET_CURRENT( ).
check lr_entity is bound.
lr_ident ?= lr_entity->get_related_entity( 'BuilIdentificationRel' ).
then call the method get_properties.

Similar Messages

  • Problem on using Crystal Report Viewer on windows application ("specified type is not valid ")

    Hi
    I am having problem on using Crystal Report Viewer on one of my windows application.
    I am not sure how to put the Crystal Report Viewer 11 Control onto the tool box.
    I could found a Crystal Report Viewer control on my computer, but it is version 8.5.
    I have also found another one which is Called Crytal ActiveX Report Viewer, i don't think it is the one I can use. As when I try to load a dummy report on to the Crytal ActiveX Report Viewer, It return an error. "specified type is not valid"
    Please see the Code sample below.
    private sub loadReport()
         Dim r as New ReportDocument
         'v is the name of the Crystal ActiveX Report Viewer Control
         r.Load("C:\Report1.rtp")
         v.ReportSource(r) <---It throw error on this line.
    End Sub
    Could you give me some advice about what have I done wrong, How to check if I have set up the Crystal Report Component correctly in my Visual Studio 2005 Standard edition.
    Thanks in advances.
    Many thanks
    Chi

    VS 2005 Standard and Express editions do not come with Crystal Reports; only the Professional and higher editions will have CR bundled. However, I believe you can purchase CR XI R2 Developer and it will give you the components you need to create a VS .NET 2005 application using the Standard edition.
    -MJ

  • Validation check for Tcode FB10 and FB60 - FICO.

    I have an issue in validation check for Tcode 'FB60' and  'FB10'.
    there are two exits coded for these transactions through transaction 'GGB0'.
    details for the two exits.
    exit 1.
      when posting a vendor invoice, the network status is checked whether it is completed or not - if status is completed error message is raised.
    exit 2.
      when posting vendor invoice - for G/L Account in 60000 - 69999 series network should not be posted. if posted error message is raised.
    when these two exits are entered via a prerequisites in code 'KGB' a code is generated automatically to call these exits- when transaction 'FB10' 'FB60' is executed.
    Issue:
    for  code 'FB10' is executed with network with status completed and with G/LP account in 60000 - 69999 series -
    error message is raised in sequence i.e. exit 1 is raised and then exit 2 is raised.
    but for code 'FB60' if condition for exit 2 is  not satisfied then exit 1 message is raised.
    but it should be in sequence in raising the error message i.e. exit 1 and then exit.
    Even though for both the transaction the auto generated code is similar and even exits are similar - but it is execution in raising the error message is diffrent.
    - Since it is auto generated code i am able to figure out the issue.
    i would appreciate if any one could help me out in this issue.
    thank you,
    with dregs,
    Karthik.

    Hi,
    I have tried what you have suggested. But still validation is not working
    I have done the following validation based on your inputs.
    Prerequisite
    Company Code = '1265' AND Transaction code = 'FB60' AND
    Account Type = 'K' OR
    Transaction code = 'F-43' AND Account Type = 'K' OR
    Transaction code = 'F-48' AND Account Type = 'K'
    Check
    Business Place > '' AND Business Place = Section Code
    Message
    E - Error Message
    Still it is not working.
    Please suggest.
    Best Regards
    Shashikanth.M

  • SAP: HR/ABAP Pan Card Validation check in PA 30 (Subtype : 185)

    Hi Gurus,
    I am trying to implement BADI : ZHRPAD00INFTY for a validation check over the screen field  p0185-icnum.
    Pan must be of 10 digits .
    First five digit and tenth digit must be alphabet(A_Z)
    Sixth to Ninth digit must be Number (0,1,2,3,4,5,6,7,8,9)
    Fourth digit of Pan represent Assessee status,and if a Partnership firm provides pan with forth digit as P or C then it means the pan is incorrect
    Fifth Digit of Pan represent Surname as per Data filled in the application in case of Individual assessees and in other case first name .
    I require an assistance with code.
    Regards.

    Thank you always learner. Here is my working code in BAPI.
    IF new_innnn-infty = '0185'.  " Pan Card Check
    * screen field: P0185-ICNUM
         DATA: v_icnum TYPE i.
         DATA: text TYPE string,
            moff TYPE i,
            mlen TYPE i.
         FIELD-SYMBOLS : <fs_pan> TYPE any .
         ASSIGN ('(MP018500)P0185-ICNUM') TO <fs_pan>.
         v_icnum = strlen( <fs_pan> ).
         IF <fs_pan> IS NOT INITIAL AND v_icnum = '10' .
           FIND REGEX `[A-Z]{5}\d{4}[A-Z]{1}`
           IN <fs_pan>
              IGNORING CASE
              MATCH OFFSET moff
              MATCH LENGTH mlen.
           IF sy-subrc NE 0.
             MESSAGE e398(00) WITH 'Please Enter Valid Pan No.'.
           ENDIF.
         ELSE.
           MESSAGE e398(00) WITH 'Please Enter Valid Pan No.'.
         ENDIF.
       ENDIF.

  • Wage Type  is not valid for allowance grouping

    Gurus
        When i am Executing PC00_M40_TERM and entered Details then in very next screen it is with error
       ''Wage Type  is not valid for allowance grouping ''
    The Issue is showing generic and No specific Wage type shown in error.
    ABAP Team also Debuged and could not get the Issue.
    Kindly Let me know from your Experience what could be the Issue.

    Your wage type is missing in allowance grouping configuration against RAP indicator R,Reimbursement
    Check table V_T7INA9 , check  the wage type is configured for the allowance grouping of that employee with RAP Indicator R, Reimbursement

  • OO ALV validation check without event DATA_CHANGED and results via popup

    Hi Gurus,
    I'm working on SAP ECC 6.0 and I'm facing a problem during the ALV validation check. My requirement is to show an ALV with one editable field. In addition I have to pre-initialize this field in order to give a reference value to the user, but this is not always correct, or better, this field represent the maximum amount available, but, because of other validation checks, this field is not always correct (and it's ok, it's not a problem), and if it is greater than another amount I have to display an error.
    I was thinking about catching the event DATA_CHANGED and do the checks inside of it. It works but not completely, because if the user do not change anything the event is not raised and I cannot do my checks.
    My solution is to do the checks without catching the DATA_CHANGED event and display the errors in a separate popup window.
    The checks are ok, but I have problems during the displaying of the results: I would like to use the class CL_ALV_CHANGED_DATA_PROTOCOL in order to display the errors, I tried creating the Object:
      Data: go_Error Type Ref To CL_ALV_CHANGED_DATA_PROTOCOL.
      Create Object go_Error
        Exporting
    *      i_container =
          i_calling_alv = go_0200_Alv
    giving it a reference to the ALV (the go_0200_Alv is my CL_GUI_ALV_GRID object).
    Then I did many Call Methods to the Add_Protocol_Entry to add the message in the protocol and then display them calling the Display_Protocol Method of my "go_Error".
    The Popup is shown and the "links" to the ALV are correct (if I double click a message it selects the corresponding row of the ALV, but (and it's my problem) I cannot see the Description of the Column with the error: the popup window is an ALV grid itself with 3 columns ("Message Type", "Name of the Column" and "Message Text") where I can see correctly the Message Type and the Message Text but not the name of the column.
    Debugging the code I found that If I catch the event, the parameter er_Data_Changed (the class CL_ALV_CHANGED_DATA_PROTOCOL) is filled with some other informations like Modified Rows and other attributes like FieldCatalog, Row-ID, so I thought the problem was related to that, and that's why I replicated the whole case in my processing, filling every table I would see if I use the "standard way" for validation. Bu it didn't correct the error. I still don't see the name of the Column.
    This is my code, it's only the part interested, If you need other informations, please ask me and I will copy them.
    form CHECK_ALV_0200_0110 Changing pc_Error Type Char01.
      Data: lt_MatchK1 Type tp_Matches1_Key_t,
            l_Message  Type Char100,
            l_MessX    Type String,
            l_QtaRes   Type ZDM_AMT_ASSIGNED,
            l_QtaAcc   Type ZDM_AMT_ACCRUED,
            l_QtaStep  Type ZDM_AMT_ASSIGNED.
      Field-Symbols: <fs_Table>    Type Standard Table,
                     <fs_Master>   Type Standard Table,
                     <fs_Mod_Cell> Type LVC_S_MODI,
                     <fs_Line>     Type Any,
                     <fs_Field>    Type Any,
                     <fs_Any>      Type Any.
      Data lt_Matches_Alv_Mod Type tp_Matches1_Alv_t.
      Data ls_Modi Type LVC_S_MODI.
      Data: l_Row_ID Type I,
            l_Tabix  Type I.
      Field-Symbols: <fs_Match_ALV> Type tp_Matches1_Alv_s.
      Free go_Error.
      CREATE OBJECT go_Error
        EXPORTING
    *      i_container =
          i_calling_alv = go_0200_Alv
    * Validation Checks
      Clear pc_Error.
      Clear ls_Modi.
      Loop At gt_Matches1_Alv Assigning <fs_Match_ALV>.
        l_Tabix = Sy-Tabix.
        Check <fs_Match_ALV>-Status Eq con_Status_Temp.
    *   Set the Modified Row for the CL_ALV_CHANGED_DATA_PROTOCOL object
          Append <fs_Match_ALV> To lt_Matches_Alv_Mod.
          Add 1 To ls_Modi-Row_Id.
          ls_Modi-FieldName = 'AMT_DEDUCTED'.
          Write <fs_Match_ALV>-Amt_Deducted To ls_Modi-Value Currency <fs_Match_ALV>-Waers.
          Condense ls_Modi-Value No-Gaps.
          ls_Modi-Tabix = l_Tabix.
          Append ls_Modi To: go_Error->mt_Mod_Cells,
                             go_Error->mt_Good_Cells.
          l_Row_ID = ls_Modi-Row_Id.
        Clear l_Message.
        If <fs_Match_ALV>-Amt_Deducted Eq 0.
          pc_Error = con_X.
          CALL METHOD go_Error->Add_Protocol_Entry
            EXPORTING
              i_msgid     = 'ZDMV'
              i_msgty     = 'E'
              i_msgno     = '005'
    *          i_msgv1     =
    *          i_msgv2     =
    *          i_msgv3     =
    *          i_msgv4     =
              i_fieldname = 'AMT_DEDUCTED'
              i_row_id    = l_Row_ID
    *          i_tabix     =
          Continue.
        EndIf.
        Case g_Dynnr.
          When '0110'.
            Perform Get_ResQtaDispute1 Using lt_MatchK1
                                             <fs_Match_ALV>
                                       Changing l_QtaRes.
            Perform Get_ResQtaAccrued1 Using <fs_Match_ALV>
                                       Changing l_QtaAcc.
    *      When '0111'.
    *        Perform Get_ResQtaDispute2 Using lt_MatchK2
    *                                         <fs_Match_ALV>
    *                                   Changing l_QtaRes.
    *        Perform Get_ResQtaAccrued2 Using <fs_Match_ALV>
    *                                   Changing l_QtaAcc.
        EndCase.
        Add <fs_Match_ALV>-Amt_Deducted To l_QtaStep.
        If l_QtaStep > l_QtaRes.
    *     Store the Error
          pc_Error = con_X.
          Write l_QtaRes To l_Message Currency <fs_Match_ALV>-Waers.
          Condense l_Message No-Gaps.
          CALL METHOD go_Error->Add_Protocol_Entry
            EXPORTING
              i_msgid     = 'ZDMV'
              i_msgty     = 'E'
              i_msgno     = '002'
              i_msgv1     = l_Message
    *          i_msgv2     =
    *          i_msgv3     =
    *          i_msgv4     =
              i_fieldname = 'AMT_DEDUCTED'
              i_row_id    = l_Row_ID
    *          i_tabix     =
        EndIf.
        If l_QtaStep > l_QtaAcc.
    *     Store the Error
          pc_Error = con_X.
          Write l_QtaAcc To l_Message Currency <fs_Match_ALV>-Waers.
          Condense l_Message No-Gaps.
          CALL METHOD go_Error->Add_Protocol_Entry
            EXPORTING
              i_msgid     = 'ZDMV'
              i_msgty     = 'E'
              i_msgno     = '002'
              i_msgv1     = l_Message
    *          i_msgv2     =
    *          i_msgv3     =
    *          i_msgv4     =
              i_fieldname = 'AMT_DEDUCTED'
              i_row_id    = l_Row_ID
    *          i_tabix     =
        EndIf.
      EndLoop.
      If pc_Error Eq con_X.
    *   If there was at least one error, Display the Popup
        go_Error->mt_FieldCatalog[]   = gt_0200_FCat[].
        go_Error->ms_Layout-Zebra     = con_X.
        Get Reference Of lt_Matches_Alv_Mod[] Into go_Error->Mp_Mod_Rows.
        CALL METHOD go_error->display_protocol
    *      EXPORTING
    *        i_container        =
    *        i_display_toolbar  =
    *        i_optimize_columns =
      EndIf.
    EndForm.
    Do you know if there is a particular issue about that? Or, maybe, I'm doing something wrong...
    Please help me
    Regards,
    Claudio
    Edited by: Claudio Distrutti on Oct 31, 2008 12:38 PM

    Hello Claudio
    Nobody prevents you from calling your event handler method go_grid->HANDLE_DATA_CHANGED directly!
    What do I mean with that?
    I assume you are calling method go_grid->CHECK_CHANGED_DATA at the beginning of the PAI module to catch any changes from the editable ALV grid. Within the event handler method you do your validation and send the error popup if necessary.
    Now when the user closes the error popup and pushes e.g. the SAVE button then I can happen that method HANDLE_DATA_CHANGED does not trigger event DATA_CHANGED because nothing was indeed changed on the ALV grid. Yet the invalid value is still there.
    However within the FORM routine for saving the data you can just call your event handler method directly:
    FORM save_data.
    CALL METHOD go_grid->handle_data_changed
        EXPORTING
    *      er_data_changed =
          e_ucomm = 'SAVE'.
    ENDFORM.
    Now within your event handler method you always know when the method was called because if method CHECK_CHANGED_DATA triggers event DATA_CHANGED the IMPORTING parameter ER_DATA_CHANGED is bound whereas it is empty when the method is called from your SAVE routine.
    METHOD handle_data_changed.
      DATA: lo_log   TYPE REF TO CL_ALV_CHANGED_DATA_PROTOCOL.
        IF ( er_data_changed IS BOUND ).
          lo_log = er_data_changed.
        ELSE.
          CREATE OBJECT lo_log.
        ENDIF.
    " Do the validations and send error log if necessary
      lo_log->DISPLAY_PROTOCOL( ).
    ENDMETHOD.
    Regards
      Uwe

  • Validation checks we usally do during mapping

    Hi Experts,
       Can any one Help me what are validation checks we usally do during mapping before posting to R3 system.Can any body please give me some examples.
    Thanks
    dhanush

    Hi
    I assume you are making an entry into a table on R/3,let me know if you want something else.
    1)Import and Export parameters are taken care of.(i.e.Data types,format etc)
    2)Exceptions are handled
    3)Primary Key is taken care of.
    4)Foreign key constraints.
    Thanks

  • Validation check for an item

    I am not sure about how to use regular expression for a validation check for an Item
    I might need to check for an item for the below format -
    1 , XXX-XXXXX-## ( "3 alphanumeric" , "middle score" , "5 alphanumeric" , "2 digit year" )
    2, XX##-### ("2 alphabets ", "2 digit number", " middle score ",3 digit number

    Lucy,
    Create an item level validation of type regular expression, and use the following for the respective Regular Expression values:
    1) ^[[:alnum:]]{3}-[[:alnum:]]{5}-[[:digit:]]{2}$
    2) ^[[:alpha:]]{2}[[:digit:]]{2}-[[:digit:]]{3}$I'm only very new to regular expressions, so I welcome being corrected if there's a more efficient way of declaring this. But this works.
    Anthony.

  • Validation Checks

    Hey buddies, iam using JDK 1.3.3 and i want to put in validation checks for my aplication, i know i cant do it using JFormatedTextField using JDK 1.4 but when using JDK 1.4 the output iis really screwed so i had to revert back to JDK 1.3, please someone advice whats the other option i have for JDK 1.3
    by the way when i say validation check i mean, i cant type in characters in a field that is supposed to be numerical, for date i will use SimpleDateFormat
    asrar

    searched the forum but didnt get much of what i wanted, u said u use the PlainDocument and override the insertString method, how is that done? if you dun mind maybe u could attach a small code,
    thanx alot
    asrar

  • Validation Check - Duplicate vendor Invoices

    Hi,
    We have a situation where the Duplicate Vendor Invoices have been entered by the users, bearing the same date and reference nos. as the original ones. When we checked we observed that, the system gives the warning message, but the same is ignored by the users. To prevent the same from happening again, we want to convert the warning message into the error message.
    Could any one guide as to how can we set up the validation checks, such that the system would throw an error message. In the vendor masters, we have set up the check for Duplicate Invoices.
    Thanks in advance.
    Best Regards,

    Hi,
    If you already know the message number, then go to T.code:OBA5 or
    T.code:SE91 (if its an custom message class) and change the message from waring to Error.
    If you are not aware of Message, and try to post a duplicate invoice & when the warning message comes, double click on the same, it will give you the message number.
    This will resolve your issue.
    Please let me know the result of the same
    Thanks
    Kalyan

  • URGENT please help Prob in implementing fi validation checking - zrggbr000

    Hi SAP Expert,
    I'm currently working on FI Validation checking (ZRGGBR000) to control amount posted to asset number. Thus, I use an internal table declared in ZRGGBR000 to keep all the balance to be posted from 1 FI doc no and compare it with the limit (taken from customized table). But i'm having a prob,specifically while doing several Goods Issue (GI) posting continously without leaving the transaction MIGO. This is because the internal table i declared previously in ZRGGBR000 was not refresh automatically. The same thing happens while i'm doing the SES (ML81N).
    Is there any way i can do to refresh this internal table?
    any help, assistance and guidances are very much appreciated and will be very greatfull for the fast reply.
    thanks & rgds,
    fn
    Message was edited by:
            fnr n

    Hi SAP Expert,
    Really need your advice and guidance, Please help me.  I'm currently working on FI Validation checking (ZRGGBR000) to control amount posted to asset number. Thus, I use an internal table declared in ZRGGBR000 to keep all the balance to be posted from 1 FI doc no and compare it with the limit (taken from customized table). But i'm having a prob,specifically while doing several Goods Issue (GI) posting continously without leaving the transaction MIGO. This is because the internal table i declared previously in ZRGGBR000 was not refresh automatically. The same thing happens while i'm doing the SES (ML81N).
    Is there any way i can do to refresh this internal table?
    For help, assistance and guidances are very much appreciated and will be very greatfull for the fast reply.
    thanks & rgds,
    fn

  • Validation check for Cash Payments

    Hi Gurus,
    I need to put validation check for cash payment only - not more than Rs. 20000/- & no check for cash receipt.
    Please guide me what is reqd in - PREQUISITE & CHECK.
    Thanks,
    Vikas

    Hi Vikas,
    Try this, its working at my place.
    Prerequsite:
    BKPF-AWTYP = 'CAJO' AND BSEG-WRBTR > '20000.00' AND (
    BSEG-HKONT = 'XXXXXX' AND BSEG-BSCHL = '50' )
    Check:
    NOT SYST-UNAME IN <Set name@>
    @ being set created with Table-SYST and field name- UNAME
    Here the set was created to allow few user to post more than 20000/-
    Regards,
    Kiran

  • Syntax error in validation check "DHVALID", step "001"

    Hi,
    I have booked invoice for $ 25,000.00, now i want to make this  payment via t-code F-53. At that time system giving error  i.e.  "Syntax error in validation check "DHVALID", step 001*"
    Request to you please tell me what are the steps to resolve this issue.
    Regards,
    Nilesh Surve.

    Hi,
    Check validations in ob28. It seems there are some validations, for which paramters are set for accounts or transaction code.
    Regards

  • How can I achieve good validation check on String Input?

    This is a portion of my code,am just starting to learn java programming.public class Thickness
    public Thickness(){
    public static void main(String[]args)
    int thickness=0;
    double length;
    String strL;
    strL=JOptionPane.showInputDialog(null,"Enter the length of your building:");
    length=Double.parseDouble(strL);
    while((length<4)||(length>12))
    JOptionPane.showMessageDialog(null,"Error!This Program only works for"+"\n"+"Building whose Length lies Between 4m and 12m:");
    strL=JOptionPane.showInputDialog(null,"Enter the length of your building:"+"\n"+"Note that Minimum Length is 4m:"+"\n"+"Maximum Length is 12m:");
    length=Double.parseDouble(strL);
    So that if the user enters a length outside the specified range of values the error message,"Error!This Program only works for"+"\n"+"Building whose Length lies Between 4m and 12m:" will be displayed and the program will prompt the user to re-enter the length.
    This validation check works perfectly as long as the input is double or integer,What I need now is to include a check to display an error message if the user inputs nothing or supplies a character (other than integer or double)as input.I want to be able to customise the error message,like having(JOptionPane.showMessageDialog(null,"Error!This is an invalid input:")).
    I know the compiler will also generate an error message if the user inputs a String instead of a double,but I want to be able to achieve this instead of the compiler doing it for me.
    pls I will be very happy if you can assist me with the code that would perform this check.
    Thanks in advance                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    length=Double.parseDouble(strL);Read the API. It tells you that it can throw some kind of exception if the input isn't valid. Then it's up to you to properly handle the exception. If you don't handle it, the VM does by displaying the exception and terminating the app.
    API docs:
    http://java.sun.com/j2se/1.5.0/docs/api/index.html
    Tutorial on exceptions:
    http://java.sun.com/docs/books/tutorial/essential/exceptions/index.html

  • When I want to download an app it keeps saying payment type is not valid please enter new payment method, what do I do

    When an app is free and it asks for account information which is correct why does it keep saying payment type invalid please choose another payment type.?

    Maybe check with your bank and see if everything is ok with your account.
    settings - appstore - view id - account info, then you can edit your payment.

Maybe you are looking for

  • How can i get rid of any personas that has been uploaded without my knowledge?

    I have updated my firefox to 3.6.10 And it came back in a page showing the personnas.As i did not know what was all about i started touching the icons and found that my toolbar was changing colors. I did not like any of them so i tried to restore my

  • Shared Services Delegated Admin

    Hi, I am trying to create a delegated administrator role in Shared Services for HFM. I have created the delegated list in Shared Services and assigned a manager to the group. However when I log-in as that user I am only able to view the groups I have

  • Scope not found intermittent error

    We are using Oracle 10g R2 and BPEL 10.1.3.1. Our application consists of 2 processes. Process 1 invokes process 2 asynchronously and waits for a response. We have observed that when instances are being created for process 1 and at the same time resp

  • Can I get away with 150ppi?

    Hi, Im designing a poster (A3). As I know 300ppi is the acceptable standard for high quality printing but Its not a simple task to find materials in that resolution. What you think-can I get away with 150 ppi instead? This poster is for educational p

  • Courses i WEB dynpro for abap?

    Hi Do anybody know if there are any courses in WebDynpro for ABAP. I know that the NET310 is scheduled in Germany - but the language is German... - any courses in english?? Best regards Lars