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
-
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 -
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
ThanksIf <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?
ThanksHere 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) | | (firstDash == -1) | | (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 ) | | ( 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] | | 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' -
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,
HappyAUTHORITY-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
BilalHi,
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 PMAUTHORITY-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
RubanHi 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,
ShivaniDear 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 RHi,
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,
NitishAre 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
thanksHi,
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 -
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
-
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