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

Similar Messages

  • 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.

  • 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 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.

  • Best way to author field level help for a CHM?

    Hi
    I have been asked to create an HTML help (CHM) system for a .Net application which will include context sensitive help at both page and field level.
    I have used map ids for page level help before - i.e. assigned a map id to topics and given this list to a developer for implementation, but I have never created field level help.
    I've been looking at the 'What's This?' help project wizard but am confused as to whether this is the best approach and how it fits with the project as a whole (or even if it compatible with .Net applications). Does this mean that I need two help projects for the application - one for the main help, and one for the field level help? Is there a way to create field level help without using the 'What's This?' wizard?
    I am using Robohelp 7.
    Any advice gratefully received!
    Chloe

    Hi, Chloe,
    As Peter notes, even Microsoft has backed away from using field-level Help in the last few years, so it may be worth trying to determine whether your users will benefit from having it available to them. That's not to say that you can't deliver field-level Help, however, as all the required methods for calling it are still available to .NET developers.
    To clarify, what Madcap Software calls "DotNet Help" is just a proprietary Help viewer that the company hopes will be more modern and appealing to writers than the older HTML Help (.chm) viewer. HTML Help remains the recommended format for Windows applications, whether .NET or not, and you can use any authoring tool that is capable of outputting a .chm file to create online Help for a .NET application.
    The method that your developers use to call field-level Help determines how it should be authored. If they use the standard .NET method (the SetHelpString method of the HelpProvider class), each text string is embedded in the application code itself, and not retrieved from your .chm file. More information here:
    http://msdn.microsoft.com/en-us/library/system.windows.forms.helpprovider.sethelpstring(VS .71).aspx
    http://support.microsoft.com/kb/821777
    http://helpware.net/mshelp2/demo2/h1xNET.htm
    Alternatively, developers can use the old HTML Help API to retrieve the text string from a .chm file. See:
    http://msdn.microsoft.com/en-us/library/ms670082(VS.85).aspx
    http://helpware.net/htmlhelp/how_to_whatsthis.htm
    http://support.microsoft.com/?kbid=317406
    The drawback of both methods is that the Help popups are plain text only — no graphics, text formatting, hyperlinks, etc. To work around this, some people use the third-party KeyHelp control to create feature-rich HTML popups. See:
    http://www.keyworks.net/keyhelp.htm
    This allows you to deliver the type of Help that you mentioned in your second message ("is there a way to do this so that these topics open in a small popup, without the TOC / tri-pane structure?").
    Pete

  • Withdraw Field level RETRO for IT-0021

    Hi,
    Please let me know, is there any impact on Payroll (Indian) in case Field level RETRO is withdrawn for IT-0021
    G.V.Mohan Rao,sCCL

    IT 0021 is Dependent on.....Subtypes

  • Row level validations for JTable

    Is their a way to validate the row data of a editable JTable before moving out from that row, and if invalid data existings in that row then we need to display an error message and set the focus back to that row.
    Basically the user should not be able to move out from that row until he enters valid data for the row.
    I was able to do the validations at the cell level, by validating in the editor of that particular cell or in the SetValueAt() method. The reason i need the row level validations are for example if a required cell is left blank(if we don't tab into the cell then nor the editor is started nor the setValueAt() is called to do the validations) or if a cell's validation depends on the other cell's value in the same row.
    I can over write the valueChanged() method of the Jtable itself to trap the row change event. But the valueChanged() method only does the repainting for the new selection, the selectedRow index is changed even before the valueChanged is called. So in the valueChanged() method the selectedRow index is the row to which u are moving into rather than the row from which u are moving out and this is the row u need validations for. ListSelectionEvent has two methods getFirstIndex() and getLastIndex(), one among these two will return the row number from which u are moving out from, so based on this i can validate the row iam moving out from and set the focus back to that row if invalid data exists.(The valueChanged event is fired again when u are resetting back the focus).
    But the problem is when the row u are moving into and the row u are moving out from both have invalid data. Then it becomes an infinite loop as the valueChanged event is fired when u are setting back the focus.
    Any Suggestions ?
    Thanks

    DrClap:
    i need a editable JTable. so ur suggestion doesn't work.
    Jaredth :
    here is the code. I have over rided valueChanged method of JTable and called my validateRow in this method. I am just displaying a error msg for now, iam not setting the focus back to the row which has invalidate data. This code doestn't work for cases where when the row u are moving into and the row u are moving out from both have invalid data.
    public void valueChanged(ListSelectionEvent e){
    if( this.getSelectedRow() == -1) return;
    if(!e.getValueIsAdjusting() ) {
    int selRow = this.getSelectedRow();
    int firstIndex = e.getFirstIndex();
    int lastIndex = e.getLastIndex();
    int rowToValidate = selRow == lastIndex ? firstIndex : lastIndex;
    if( !isValidateRow( rowToValidate) ){
    JOptionPane.showMessageDialog(null,"Invalid Data at row: "+rowToValidate,
    "Row validation failed", JOptionPane.ERROR_MESSAGE);
    return;
    kenny_lee:
    I have already done what u explained above. This works fine for cases where u need to validate individual cells in a row. But what happens when the validation of a cell in a row depends on the value in a different cell in the same row and for which u didn't enter any value yet. So in these cases u need to do the validation when u are moving out from the row. So i need to know is their a way to handle this in a efficient way? There is a way by over loading the valueChanged method of the JTable as mentioned above but it will not work for cases where the row u are moving into and the row u are moving out from both have invalid data.
    Thanks for ur response.
    Let me know if u find a solution to this problem

  • We need to give field-level authorization for some fields

    The schenario is as follows :
    1. There are various storage locations within a plant.
    2. There is one or more people incharge of creating PO and receiving
    stocks for every storage location.
    3. We dont want to authorise the person incharge of one storage
    location to receive stock in another storage location or even view the
    other storage locations at the time of creating the PO or any other
    transaction. The user incharge of one storage location should not be
    able to view any other storage location in any storage location field's
    drop down.
    regards
    Manish
    +91 9811647727

    Hi Umesh,
    Please see the documentations for authorization profile P_ABAP in the R/3 library and the following:
    SU03 -> HR Human resources -> position your cursor to P_ABAP HR: Reporting -> choose button "Docu."  -> the pop-up "help - P_ABAP" appears.
    There is an example, which describes a similar issue regarding RPTIME00 and the Basic pay infotype (0008).
    The standard reports of personnel administration are based on logical database PNP I would recommend to set your authorization as follows:
    Object HR: Master data (P_ORGIN) (two authorizations)
      Infotype                  0002             ' '
      Subtype                   *                ' '
      Authorization level       R                ' '
      Organizational key        ' '              0001YYYYXXX
    Object HR: Reporting  (P_ABAP)
      Report name                SAPDBPNP
      Degree of simplification   1
    Please note, that if a user has authorization for e.g. the birthday list , (s)he will be able to view the birth date through thisquery, although (s)he cannot access to IT0002 through PA20.
    Another possibility would be using Customer-Specific Authorization Object P_NNNNN. I have attached a file with a very comprehensive documentation regarding HR authorizations. P_NNNNN is documented on pages 40 ff.
    Hope this help
    Sarah

  • Field level Authorization for IT0002

    Hi All,
    We have a requirement to control the authorization for the field NI Number/Social Security number from IT0002.
    This field is getting displayed in various standard reports which are in use by administrators/Managers etc....
    We want to disable the access of this field to every one, even the HR administartor.
    Kindly suggest if this is possible using authorizations.
    I know that we can hide the field in display access for PA20 or PA30, but I am particularly serching the option for various reports.
    Regards,
    Umesh Chaudhari.

    Hi Umesh,
    Please see the documentations for authorization profile P_ABAP in the R/3 library and the following:
    SU03 -> HR Human resources -> position your cursor to P_ABAP HR: Reporting -> choose button "Docu."  -> the pop-up "help - P_ABAP" appears.
    There is an example, which describes a similar issue regarding RPTIME00 and the Basic pay infotype (0008).
    The standard reports of personnel administration are based on logical database PNP I would recommend to set your authorization as follows:
    Object HR: Master data (P_ORGIN) (two authorizations)
      Infotype                  0002             ' '
      Subtype                   *                ' '
      Authorization level       R                ' '
      Organizational key        ' '              0001YYYYXXX
    Object HR: Reporting  (P_ABAP)
      Report name                SAPDBPNP
      Degree of simplification   1
    Please note, that if a user has authorization for e.g. the birthday list , (s)he will be able to view the birth date through thisquery, although (s)he cannot access to IT0002 through PA20.
    Another possibility would be using Customer-Specific Authorization Object P_NNNNN. I have attached a file with a very comprehensive documentation regarding HR authorizations. P_NNNNN is documented on pages 40 ff.
    Hope this help
    Sarah

  • Problem with decimal fields using BADI For PD Infotypes

    Hi,
    I'm implementing BADI  HRBAS00INFTY.
    For reading the fields of infotype , I'm using the substring
    of the field NEW_INNNN-VDATA .
    I have a problem with fields of type DEC.
    In field NEW_INNNN-VDATA it looks like this :  '####'
    I believe that the possible reason for this is conversion from DEC to CHAR
    But I don't know how to fix it.
    Thank you .
    Message was edited by: Alon Lozinsky

    Hi Alon,
    We had same issue. Use following code.
    data: hri1011_str type hri1011.
    move new_innnn-vdata to hri1011_str.
    HRI1011_STR fields will have decimal values.
    Let me know if you still have any issues. If solution works, kindly do Point Recognition.
    -Bharat

  • 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'

  • Row level validation for Master-Detail form

    OA JDeveloper 9i (RUP5) 9.0.3.5 (Build 1453)
    I have a form which is based on a master detail relationship.
    - For each employees details (Advancetable) based on a EO (AbsenceInputsEO)
    - For each employee you can add one or more allowances records (AdvanceTable) VO (AbsenceInputsVO)
    Both the above VO and EO is based on the same table (XHR_BWCD_KRONOS_INTERFACE)
    How do stop a user from selecting (radio button) the next employee in an advance table (master level), it the the records they entered at the detail level for the previous employee is not valid?
    I used the the same validation method I used for the "APPLY" event to validate the records entered at detail level
    to the "EmployeeSelect" event, but the error message showed only after the new employee has been selected. Thus the error message that is displayed does not relate to the employee record selected at that stage.
    How do I prevent the user from selecting the next employee in the Master(Advancetable) if the records in the Detail(AdvanceTable) is not valid?

    Thanks for you help,
    Where able to reset the "SelectFlag" for the employee the error related to, but now I endup with two radio buttons being selected. One for the employee which the error relates to and one for the employee which triggered the validation when user navigated away from the current employee record.
    I need to be able to set the attribute "SelectFlag" for any other employee selected in the master record to "N", before the error is thrown. I do not seem to be able to access the newly selected employee record to set the "SelectFlag" to "N" as I only have access to the currentrow SelectFlag in the processFormData.
    It looks to be if I can only access the new selected employee in the processFormRequest(OAPageContext pageContext, OAWebBean webBean), but I never get to this method as the error message stop processing in the processFormData().
    I have the following code in the processFormData(OAPageContext pageContext, OAWebBean webBean)
    if ("EmployeeSelect".equals(event))
    if (!IsValid(pageContext,am,true,AsgJobName,EmpStartDate.toString()))
    // oracle.jbo.Row ValidationRow = vo.getFirstFilteredRow("SelectFlag", "Y");
    // Set flag for employee record with error
    Row [] rows = vo.getFilteredRows("SelectFlag", "Y");
    // getFilteredRows returns a zero-length array if it finds no matches.
    if ((rows != null) && (rows.length > 0))
    // Set the master row and get the unique identifier.
    Row masterRow = rows[0];
    am.findViewObject("EmployeeAbsenceDetailsVO1").getCurrentRow().setAttribute("SelectFlag","Y");
    vo.setCurrentRow(masterRow);
    // Unselect new Employee
    throw new OAException(ErrorMessage, OARowValException.ERROR);
    } // EmployeeSelect-Event
    Question:
    =======
    Can I access the newly selected employee rows from the processFormData to reset the "SelectFlag" to "N" before I through the error message? I would like to be able to do this in the section I have marked "// ?????", before I throw the error. How would I do this?

  • Field Level Mapping For OCDM Release 11.3.2

    Hi Everybody,
                         We are implementing a EDW using OCDM For a telco operator.Our major issue is that we don't have a column description/mapping for the OCDM tables.I had a link to the following patch which had the columnar documentation for a previous release(11.2.3)https://support.oracle.com/rs?type=patch&id=9450986
                          Can anybody point to towards a corresponding solution for the current release?
    Thanks In Advance,

    Please read the documentation:
    Downloading and Extracting Client Installers
    Installing Individual EPM System Clients
    Installing EPM System Clients from EPM Workspace
    Launching Clients
    Cheers
    John

  • 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

  • Item Level Validations on Submit

    Hello guys,
    I would like to use Item level Validations but I have a problem. When I submit the page from a button the Item Level Validations automatically fire, can I not run the item validaitons when a specific button is pressed and not 'on submit'? If so how...
    Thanks in advance
    Spam

    Hi "user502286",
    in APEX 4.0 you have more control if validations (also the built-in one for required) should automatically fire during submit or not than in previous APEX versions. It's all about the two new settings
    -) "Execute Validations" which is available in the "Action When Button Clicked" section of a button and
    -) "Always Execute" for validations
    Please consult the field level help for this attribute to find out how they should be set.
    Hope that helps
    Patrick
    My Blog: http://www.inside-oracle-apex.com
    APEX 4.0 Plug-Ins: http://apex.oracle.com/plugins
    Twitter: http://www.twitter.com/patrickwolf

Maybe you are looking for