Field level Validation in SAP PI

Hi All,
I am integrating with a 3rd Party system (File to Proxy scenario). Source file contains around 30 fields. I was asked to do field level validations for each of this field in PI. Is this a good practice. Do we do field validation in PI Integration development? I think PI should contain more of integration logic than field level validations. Please suggest.
Also out of all the 30 fields few are numeric, some are text and some are dates. While creating data types do I need to created all as string or based on their nature I need to use integer,date etc? Please suggest which is the best practice.
Thanks.

I agree with Rahul.
Yes we can perform validation in PI (most of the cases we do by request of the Business team).
But always have a thumb rule for your self.
1. Check first weather the source system is capable of doing the validation at its end.
2. If YES make sure the source system does the validations required. (I am sure most of the app would be able to the validation).
3.If NO then accept the validation process to be done in PI end.
One Important thing:
What kind of validation are you taking about? i assume this is field level validation rite?
and this is a Proxy to file scenario rite.
I will strongly suggest you to do following things at source and receiver Business systems.
1.gather a meeting the with the end business teams (source and receiver).
2.Force them to create data type at their end (sorce and target)with  same data type structure- with same field length even.
ie, if source first field is integer with maxlen25  corresponding reciver field is also integer with maxlen25, if source has char field then in reciver also its char.
If you make both the source and reciever business to have same data type at there end, NO VALIDATION would be required to be done in PI
also in this case you can declare all the data type as STRING in PI and pass the data to receiver system. (which has the same data type as sender).
Regards,
Senthilprakash.

Similar Messages

  • Field level validation

    I was looking at the Add/Modify Customer page – page 7 in the Sample Application which can be loaded into Oracle XE and was surprised to discover that there doesn’t seem to be any field validation. For example customer first name is set to varchar2(20) at database level yet more than 20 characters can be entered into the application field and there is no error message when moving cursor focus to another field. Credit Limit field is numeric only but alpha characters can be entered and again, there is no error message when moving cursor focus to another field. Error messages are only displayed on hitting the Create button and even then they are standard ORA-99999 type messages – not very friendly to your average end-user I would suggest! I would be amazed if field-level validation (javascript maybe?) can’t be included in XE applications – assuming it can be, can anyone tell me how it works, even point me towards a working example – if I’m really lucky(!) Phil

    As part of the page editor, looks in the center for validations. Right there you can enable all kinds of validations required for the objects in your page.
    If you require you can use JavaScript to activate those validations also. Check the
    Page Definition = Validation
    You can use Item Validation or Page Validation.
    A look to the APEX user manual will help with more examples on this.
    Regards Dino.

  • Field level validations for an Infotype

    Hi,
    Can anybody tell me if  field level validations can be done for each and every field in a HR infotype?
    Thank you.

    You can do most of the validations using the Infotype User exit ZXPADU02 or the AFTER_INPUT mrthod in the BAdI HRPAD00INFTY.
    But each & every field  -- NO
    ~Suresh

  • Field level Validation in ADF

    Hi,
    We have some forms and we want to implement validation on field level. Means, as soon as i enter a value and move to next field, if the value entered is not as per desired regular expression than it should show the error. What i am trying is applying validator attribute on inputText and setting auto submit to true. It is working but some times page suddenly refresh itself and then the validation don't work.
    Also one validation is to match the passwords (new password and confirm password). If i am using above method i am also not able to get the correct value of new password to match eith confirm password.
    Can someone please suggest whats the right way to implement this functionality in ADF.
    I am using jDev 11.1.1.4 and using Placeholder data control.
    Please suggest
    Thanks

    If <af:validateRegExp> meets your requirements then sure, use it. The neat thing about the default validators will do both client side and server side validation. As such bypassing the JavaScript validators by sending raw HTTP requests to your server will still result in the required validation being applied via the server side.
    For cross field validation, that's most easily done at the JSF bean level. It will require a round trip to the server to perform the validation though (rather than just validated at the client level). Is that an issue? There's an alternative solution but if you're not worried about round trips, go with the simple solution.
    CM.

  • Field Level Validation - Date Mask

    Hi all
    I need some Java Script to validate a date mask in a field. Format must be:
    dd-mm-ccyy.
    Can anyone help me?
    Thanks

    Here is a copy of the script I set up to do validation.
    I not only wanted it to check for a valid date,
    but I wanted to store leading zeros, but not make the user type them in.
    One of the things you have to do is to set the format mask for the date to MM-DD-YYYY for each date field in your form.
    Here it is:
    var DayArray =new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    var MonthArray =new Array("01","02","03","04","05","06","07","08","09","10","11","12");
    var firstDash = null;
    var lastDash = null;
    var inYear = null;
    var inMon = null;
    var inDay = null;
    var today = new Date();
    var curFullYear = today.getFullYear();
    var strYear = String(curFullYear);
    var thisCentury = strYear.slice(0,2);
    var thisYear = strYear.slice(2);
    var numThisYear = Number(thisYear);
    inDate = theElement.value;
    if (inDate.length == 0) return true;
    /* Check for a valid format. */
    var filter=/^[0-9]{1,2}-[0-9]{1,2}-[0-9]{2,4}$/;
    if (! filter.test(inDate))
    { alert("Please enter date in MM-DD-YY or MM-DD-YYYY format.");
    theElement.focus();
    theElement.select();
    return false;
    /* Pick off the indices (zero-based) of the two dashes. */
    firstDash = inDate.indexOf("-");
    lastDash = inDate.lastIndexOf("-");
    if ((firstDash == lastDash) &#0124; &#0124; (firstDash == -1) &#0124; &#0124; (lastDash == -1))
    alert("Please enter date using dashes (-), e.g. MM-DD-YY or MM-DD-YYYY.");
    theElement.focus();
    theElement.select();
    return false;
    /* Pick off the month and day (pad with leading zero, if necessary). */
    inMonth = inDate.slice(0,firstDash);
    if (inMonth.length == 1) inMonth = "0" + inMonth;
    inDay = inDate.slice(firstDash+1,lastDash);
    if (inDay.length == 1) inDay = "0" + inDay;
    /* Pick off the year. Filter ensures 2, 3, or 4 digit year. 4 is what we */
    /* want, so we only have to deal with 2 or 3 digit years. */
    inYear = inDate.slice(lastDash+1);
    /* If the user entered a two digit year, figure out which century to pad. */
    if (inYear.length == 2)
    /* Adding 5 years is still within the current century... */
    if ((numThisYear + 5) < 100)
    /* 00 to (current year + 5 years) should use the current */
    /* century; otherwise, use the previous century. */
    if (inYear > (numThisYear + 5))
    inYear = (thisCentury - 1) + inYear;
    else
    inYear = thisCentury + inYear;
    else
    /* Adding 5 years would rollover the century, use the current century */
    inYear = thisCentury + inYear;
    /* A 3 digit year is an error. */
    if (inYear.length == 3)
    alert("Please enter date with either a 2 digit or 4 digit year.");
    theElement.focus();
    theElement.select();
    return false;
    /* Check for a valid month. */
    var filter=/01|02|03|04|05|06|07|08|09|10|11|12/;
    if (! filter.test(inMonth))
    alert("Please enter a valid month.");
    theElement.focus();
    theElement.select();
    return false;
    /* Check for leap year. */
    N=Number(inYear);
    if ( ( N%4==0 && N%100 !=0 ) &#0124; &#0124; ( N%400==0 ) )
    DayArray[1]=29;
    /* Check for valid days for the month. */
    for(var ctr=0; ctr<=11; ctr++)
    if (MonthArray[ctr]==inMonth)
    if (inDay > DayArray[ctr] &#0124; &#0124; inDay <= 0)
    alert("Please enter a valid day.");
    theElement.focus();
    theElement.select();
    return false;
    /* Output the fixed up date. */
    theElement.value = inMonth + "-" + inDay + "-" + inYear;
    return true;
    Regards,
    Rene'

  • Field Level Authorization

    Hi Gurus,
    Can you explain me how to proceed forward inrelation to Field Level Authorizations in SAP HR. For instance I want to restrict roles of individuals based on Field for example restrict users based on Field Workschedule in IT 0007 ( Planned Working Time).
    Regards,
    Happy

        AUTHORITY-CHECK OBJECT 'S_TABU_LIN'
          ID 'ORG_CRIT' FIELD 'MOLGA'
          ID 'ACTVT' FIELD '03'
          ID 'ORG_FIELD1' FIELD '10'
          ID 'ORG_FIELD2' FIELD '*'
          ID 'ORG_FIELD3' FIELD '*'
          ID 'ORG_FIELD4' FIELD '*'
          ID 'ORG_FIELD5' FIELD '*'
          ID 'ORG_FIELD6' FIELD '*'
          ID 'ORG_FIELD7' FIELD '*'
          ID 'ORG_FIELD8' FIELD '*'.
        IF sy-subrc NE 0 .
          MESSAGE e000 WITH 'No Authorization for area' v_text.
        ENDIF.
    Use S_TABU_LIN authority object for field level authorizations.

  • Adding item level validation to a field

    Hi All,
    I am new to Oracle APEX.
    I have a field named semester_code in my page and I want end user to enter only alphanumeric values. I want to create item level validation using regular expressions, but I don't know what expression to write for this purpose.
    Any help will be highly appreciated.
    Thanks
    Bilal

    Hi,
    Go to the validations section of the application builder (for the application you are working on)
    -> add item level validation
    -> select the field that you are trying to validate
    ->item string comparison
    -> select 'Item specified is alphanumeric' from list
    Chris

  • Field level Authorization configuration in SAP BO issue !!!

    Hi gurus,
    I want to create field level authorization at query level and use the same at BO web Intelligence. (Ex if i h ave company code as A,B,and C. and if i have created a rolehe users  where only A and C is assigned so when i crreate a webi where users should only able to select comapny code as A and C only.)
    Now i want to know the steps to configure the same in BO for roles import and SAP authentication setting.Please do tell the pre-requisites .I got lot of links but am still confused.
    So please provide exact steps and setting to configure the same.
    Thanks &Regards,
    Montz
    Edited by: montz2006 on Jun 27, 2011 9:05 PM

        AUTHORITY-CHECK OBJECT 'S_TABU_LIN'
          ID 'ORG_CRIT' FIELD 'MOLGA'
          ID 'ACTVT' FIELD '03'
          ID 'ORG_FIELD1' FIELD '10'
          ID 'ORG_FIELD2' FIELD '*'
          ID 'ORG_FIELD3' FIELD '*'
          ID 'ORG_FIELD4' FIELD '*'
          ID 'ORG_FIELD5' FIELD '*'
          ID 'ORG_FIELD6' FIELD '*'
          ID 'ORG_FIELD7' FIELD '*'
          ID 'ORG_FIELD8' FIELD '*'.
        IF sy-subrc NE 0 .
          MESSAGE e000 WITH 'No Authorization for area' v_text.
        ENDIF.
    Use S_TABU_LIN authority object for field level authorizations.

  • How to do the validation in sap xi (input file)

    hi,
    how to do the validation in sap xi (input file)?
    regards
    Ruban

    Hi Ruban
    There are no fixed set of validations.
    It all depends on the exact functional requirements. Most of validations revolve in XI around,
    1. Validation of madatory fields.
    2. Cross Referncing of data.
    3. Validation for data in some fields , etc
    refr the below links for few details regarding validation
    <b>File Validations in SAP XI – A Case Study</b>
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/99593f86-0601-0010-059d-d2dd39dceaa0
    refer this Blog
    <b>Validating messages in XI using XML Schema</b>
    /people/morten.wittrock/blog/2006/03/21/validating-messages-in-xi-using-xml-schema
    <b> Where to create logical validations  </b>
    Where to create logical validations
    <b> HTTP to File with source XML validation </b>
    HTTP to File with source XML validation
    Thanks!!
    Regards
    Abhishek Agrahari

  • Some symbols gets prefixed  to a specific field in validation statement.

    Hi All,
    I am beginner in SAP MDM and facing an issue in validations in Data Manager. Some symbols gets prefixed  to a specific field in validation statement.
    Any ideas,in what situation does it happen i.e. due to any repository operation from console etc ?
    Regards,
    Shivani

    Dear Shivani,
    Please eleborate when are you getting this and which are the symbols?
    Regards,
    Pramod

  • E-Recruitment - Requisition - Infotype Field Level Change Log

    Hi Experts,
    We are implementing SAP E-Recruitment, and would like to know how to capture the changes made in Requisition at infotype field level.
    For example: If a support team member is added/delete in the Requisition (Tab - Support Team), then these changes (NEW/DELETE) at the infotype field level are required.
    I have tried to maintain the infotype and the required fields in V_T582A, V_T585A, V_T585B and V_T585C. But didnt get any result when I executed the report RPUAUD00. Is there any additional configuration required for this?
    Please adivse.
    Thanks and Regards,
    Dinakaran R

    Hi,
    You can just to that with the infotype table log. Support team is stored in table HRP5131.
    Regards,
    Nicole

  • How to fix the field level Error(Invalid Date)

    Hi All,
    Error: 1 (Field level error)
      SegmentID: ACK
      Position in TS: 5
      Data Element ID: ACK05
      Position in Segment: 5
      Data Value: 162014
      8: Invalid Date
    can anyone help me out, How to fix above error? i searched about this but only information about the error  is given and no where it is mentioned how to fix it  and how is it generated please help me out.
    Thanks,
    Nitish

    Are you sending or receiving the EDI?
    Either way, "162014" is simply not a valid EDI data format.  Dates in x12 are expressed as CCYYMMDD so December 30, 2013 would appear as 20131230.
    If you are receiving, you need to contact the sender and have them correct the output.
    If you are sending, you need to property format that date value.  For example:
    myDateVar.ToString("yyyyMMdd");

  • Error during transport-Structure change at field level (convert table /BIC)

    Hi,
    I am trying to transport from DEV to Test when I encountered this error.
    The tables are both consistent when I checked with SE14.
    Start of the after-import method RS_CUBE_AFTER_IMPORT for object type(s) CUBE (Activation Mode)
    Error/warning in dict. activator, detailed log    > Detail
    Structure change at field level (convert table /BIC/DZCRUSDI026)
    Table /BIC/DZCRUSDI026 could not be activated
    Return code..............: 8
    Following tables must be converted
    DDIC Object TABL /BIC/DZCRUSDI026 has not been activated
    Error when activating InfoCube ZCRUSDI02
    Error/warning in dict. activator, detailed log    > Detail
    Structure change at field level (convert table /BIC/DZCRUSDI023)
    Structure change at field level (convert table /BIC/FZCRUSDI02)
    Table /BIC/DZCRUSDI023 could not be activated
    Table /BIC/FZCRUSDI02 could not be activated
    Return code..............: 8
    Following tables must be converted
    DDIC Object TABL /BIC/DZCRUSDI023 has not been activated
    Error when resetting InfoCube ZCRUSDI02 to the active version
    How do I resolve this
    thanks

    Hi,
    There are no Inactive objects in the cube in DEV system. Also must of the changes I made in Test are already in the cube in TEST But the cube is not active.
    SAP proposed that the cube be activated manually but is not a good procedure to activate in TEST system.
    Error when resetting InfoCube ZCRUSDI02 to the active version
    Message no. RSO410
    Diagnosis
    Errors arose when activating InfoCube ZCRUSDI02. An active version already existed before the activation.
    System Response
    InfoCube ZCRUSDI02 could not be reset to the old active version. Since the generated objects no longer correspond to the old active version, they were reset to inactive.
    Procedure
    The old active version of InfoCube ZCRUSDI02 can no longer be used. Remove the cause of the activation error and activate InfoCube ZCRUSDI02 anew.
    thanks

  • Entity level validation

    I have a requirement where there are two entities in a master detail relationship (A and B respectively linked through entity association)
    EO A has a field called TotalQuantity (master)
    EO B has a field called Split Quantity (detail)
    The total quantity in the EO A to be split in the EO B, whereas the totals of the splits should equal the Total quantity of the EO A.
    Can anyone suggest how to achieve this consistency by using an entity level validation.?
    Please note that the EO A will be created and committed first, then only the child records are created(EO B). Both are not created and committed together.

    for the sales Quantity you can have a validation on 'SalesQuantity' as 'Compare Validation' against the ViewAccessors attribute in the EO. operator as less than or equal to
    for Entity you can have a 'Collection Validation' with the operaiton as 'Sum' with 'Equals' operator against the ViewAccessors attribute in the EO

  • Screen level validation on xk01 with holding tax screen .

    Hi,
    Can someone suggest a suitable way by which I can do screen level validation on xk01 screen 610,so that in case of
    user not giving proper inputas the concerned field is open for user input .
    Right now I am using an exit but it is triggered afete all data is collected form all sceens thus the error
    appears on the last screen of the chaion and does not give the usr the option to correct the error.
    He has to start all over again.

    Hi,
    inside your exit routine, you should call the standard routine NAVIGATE_TO_AFFECTED_SCREEN of the main program SAPMF02K
    In the below little test I implemented the EXIT_SAPMF02K_001.
    *-> SDN Begin
    * In this validation example we check if  the Exemption certificate number field
    * is filled with numeric characters only
    DATA :     l_dynnr        TYPE sydynnr VALUE '0610',
               l_scrgr        TYPE vend_scgr,
               l_fcode        TYPE taxitabs-fcode,
               l_ltsnr        TYPE ltsnr,
               l_werks        TYPE werks_d,
               l_target_dynnr TYPE sydynnr.
    *  PERFORM determine_target_screen(sapmf02k) USING l_dynnr
    *                                          l_scrgr
    *                                          l_fcode
    *                                          l_ltsnr
    *                                          l_werks
    *                                 CHANGING l_target_dynnr.
      LOOP AT t_lfbw .
        IF t_lfbw-wt_exnr IS NOT INITIAL AND
           NOT t_lfbw-wt_exnr Co '1234567890 '.
          l_target_dynnr = l_dynnr.
          IF NOT l_target_dynnr IS INITIAL.
            MESSAGE ID 'S1' TYPE 'I' NUMBER '333' DISPLAY LIKE 'E' WITH 'Exemption certificate number data is not'(001)
                                                                        ' filled with numeric chars'(002).
            PERFORM navigate_to_affected_screen(sapmf02k) USING l_target_dynnr
                                                      l_scrgr
                                                      l_fcode
                                                      l_ltsnr
                                                      l_werks.
            exit. "From loop
          ENDIF.
        ENDIF.
      ENDLOOP.
    *<-- SDN End
    Regards,
    Andrea

Maybe you are looking for

  • Mail attachments to Windows machines?

    I am trying to send two images as attachments to a user on a Windows machine.  The attachments are appearing in-line in the body of the email and do not show as attachments on Windows. I am attaching the 2 images by clicking the paper clip on the new

  • Report MRP data - Fixed Vendor

    Hi All, I am trying to build a report by query, to display MRP data and related fixed vendor (if available). I tried joining the tables MARC, MAKT, EORD and LFA1, but did not get the output as desired. The report shows only the material with a source

  • EWA report

    Hi, ewa report showing Errors in Data Collection The following exceptions were raised during data collection: Host     Function Name     Exception sapbwpapp     GET_FSYS_SINGLE     SHARED_MEMORY_NOT_AV sapbwpapp     GET_MEM_ALL     SHARED_MEMORY_NOT_

  • How to Disable Country Specific Checking for IT0021

    Hi I'm implementing PA for three countries. Client requires a common infotype be used across countries. For France and Italy I'm not able to set the IT0021 to the standard one. As SAP by default uses the Cpountry specific Infotpe. How to Disable this

  • Windows 2003 server scheduled tasks not work properly. Please help.

    I created a couple of windows shell scripting programs. When I call them from command line, it works well. Then I use Task Scheduler to schedule them to be run daily. The strange thing is: If I log into server and open Task Scheduler window. The sche