Checking of duplicate employee code
Hi
Is there anyway to check duplicate personnel no in sap. I mean to say, there is a possibility to create two employee code for one person. I want to know is there any standard way available to check this kind of error.
Ravi
Hello Ravi,
Standard system do not allow to create two pernr for same employee. It allowas only incase of concurrent employement. Here Personal ID is assigned to different Pernrs.
Incase personnel number is assigned via internal number assignment then the SAP system does not generate the same personnel number again. In order to ensure this the corresponding
number range (RP_PREL) is counted up with 1 for every PA40-call.
Incase you are using external number assignment then this means the user or any other mechanism proposes the personnel number:for e.g., Feature NUMKR or you can write masterdata user exit ZXPADU01 to generate the personnel number to be used in PA40 -> function module .
Now if you are using NUMKR feature then you will get popup if you are using the same pernr again.
Hope this information will help.
Regards
Pooja
Similar Messages
-
Check for duplicate record in SQL database before doing INSERT
Hey guys,
This is part powershell app doing a SQL insert. BUt my question really relates to the SQL insert. I need to do a check of the database PRIOR to doing the insert to check for duplicate records and if it exists then that record needs
to be overwritten. I'm not sure how to accomplish this task. My back end is a SQL 2000 Server. I'm piping the data into my insert statement from a powershell FileSystemWatcher app. In my scenario here if the file dumped into a directory starts with I it gets
written to a SQL database otherwise it gets written to an Access Table. I know silly, but thats the environment im in. haha.
Any help is appreciated.
Thanks in Advance
Rich T.
#### DEFINE WATCH FOLDERS AND DEFAULT FILE EXTENSION TO WATCH FOR ####
$cofa_folder = '\\cpsfs001\Data_pvs\TestCofA'
$bulk_folder = '\\cpsfs001\PVS\Subsidiary\Nolwood\McWood\POD'
$filter = '*.tif'
$cofa = New-Object IO.FileSystemWatcher $cofa_folder, $filter -Property @{ IncludeSubdirectories = $false; EnableRaisingEvents= $true; NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite' }
$bulk = New-Object IO.FileSystemWatcher $bulk_folder, $filter -Property @{ IncludeSubdirectories = $false; EnableRaisingEvents= $true; NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite' }
#### CERTIFICATE OF ANALYSIS AND PACKAGE SHIPPER PROCESSING ####
Register-ObjectEvent $cofa Created -SourceIdentifier COFA/PACKAGE -Action {
$name = $Event.SourceEventArgs.Name
$changeType = $Event.SourceEventArgs.ChangeType
$timeStamp = $Event.TimeGenerated
#### CERTIFICATE OF ANALYSIS PROCESS BEGINS ####
$test=$name.StartsWith("I")
if ($test -eq $true) {
$pos = $name.IndexOf(".")
$left=$name.substring(0,$pos)
$pos = $left.IndexOf("L")
$tempItem=$left.substring(0,$pos)
$lot = $left.Substring($pos + 1)
$item=$tempItem.Substring(1)
Write-Host "in_item_key $item in_lot_key $lot imgfilename $name in_cofa_crtdt $timestamp" -fore green
Out-File -FilePath c:\OutputLogs\CofA.csv -Append -InputObject "in_item_key $item in_lot_key $lot imgfilename $name in_cofa_crtdt $timestamp"
start-sleep -s 5
$conn = New-Object System.Data.SqlClient.SqlConnection("Data Source=PVSNTDB33; Initial Catalog=adagecopy_daily; Integrated Security=TRUE")
$conn.Open()
$insert_stmt = "INSERT INTO in_cofa_pvs (in_item_key, in_lot_key, imgfileName, in_cofa_crtdt) VALUES ('$item','$lot','$name','$timestamp')"
$cmd = $conn.CreateCommand()
$cmd.CommandText = $insert_stmt
$cmd.ExecuteNonQuery()
$conn.Close()
#### PACKAGE SHIPPER PROCESS BEGINS ####
elseif ($test -eq $false) {
$pos = $name.IndexOf(".")
$left=$name.substring(0,$pos)
$pos = $left.IndexOf("O")
$tempItem=$left.substring(0,$pos)
$order = $left.Substring($pos + 1)
$shipid=$tempItem.Substring(1)
Write-Host "so_hdr_key $order so_ship_key $shipid imgfilename $name in_cofa_crtdt $timestamp" -fore green
Out-File -FilePath c:\OutputLogs\PackageShipper.csv -Append -InputObject "so_hdr_key $order so_ship_key $shipid imgfilename $name in_cofa_crtdt $timestamp"
Rich ThompsonHi
Since SQL Server 2000 has been out of support, I recommend you to upgrade the SQL Server 2000 to a higher version, such as SQL Server 2005 or SQL Server 2008.
According to your description, you can try the following methods to check duplicate record in SQL Server.
1. You can use
RAISERROR to check the duplicate record, if exists then RAISERROR unless insert accordingly, code block is given below:
IF EXISTS (SELECT 1 FROM TableName AS t
WHERE t.Column1 = @ Column1
AND t.Column2 = @ Column2)
BEGIN
RAISERROR(‘Duplicate records’,18,1)
END
ELSE
BEGIN
INSERT INTO TableName (Column1, Column2, Column3)
SELECT @ Column1, @ Column2, @ Column3
END
2. Also you can create UNIQUE INDEX or UNIQUE CONSTRAINT on the column of a table, when you try to INSERT a value that conflicts with the INDEX/CONSTRAINT, an exception will be thrown.
Add the unique index:
CREATE UNIQUE INDEX Unique_Index_name ON TableName(ColumnName)
Add the unique constraint:
ALTER TABLE TableName
ADD CONSTRAINT Unique_Contraint_Name
UNIQUE (ColumnName)
Thanks
Lydia Zhang -
Check for Duplicate Credie Memos
Hi ,
We have set up the Duplicate invoice check for our company code.
Also, in the vendor master we have the " Chk. duplicate invoice " activated. This should check both the invoices and credit memos for duplicate entries.
However, the same is not working in the case of credit memos and all the parameters such as company code , reference and the invoice date are same for both the credit memos ( even the amount and other parameters ). In the documentation, it is mentioned that this would work for both the invoices and credit memos.
Still the system does not issue a warning message for the same.
Can anyone suggest .
Thanks,
Srikanth.Hi,
lease check the below OSS note:-
[https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=31771]
[http://help.sap.com/saphelp_afs30b/helpdata/en/ce/4f3e39ea3aee02e10000000a114084/content.htm]
Regards,
Gaurav -
Set Check for Duplicate Invoices.
Hi,
what is the difference if is set "<b>Set Check for Duplicate Invoices</b>"
in MIRO?
Best regardsHI,
This check will prevent incoming invoices being accidentally entered and paid more than once.
You can choose whether to activate or deactivate the check criteria of company code, reference document number and invoice date for each company code. The more criteria that you activate, the lower the probability of the system finding a duplicate invoice.
The company code check makes sense if you work with more than one company code.
Depending on the reference document number entry, the system checks as follows:
1. If you have entered a reference document number, the system checks whether the invoice matches in the following attributes:
Company code
Vendor
Currency
Invoice date
Reference document number
2. If you have not entered a reference document number, the system
3. checks whether the invoice matches in the following attributes:
Company code
Vendor
Currency
Invoice date
Amount in
document currency
Depending on the system settings, a warning message or an error message appears if the system finds an invoice that matches all attributes.
Requirements
The field Chk double inv. (Check for duplicate invoice) must be flagged on the Accounting view in the vendor master record.
Regards
Aasif -
Check for duplicate invoices and trigger a workflow
Hello All,
I have a requirement to check for duplicate invoices in AP(Accounts payable) and trigger a workflow when duplicate invoices are found. I a not sure how to do any of the above. Please let me know if you have any information on:
1) Checking for duplicate invoices in AP
2) Trigger a workflow
Are there any standard workflows that checks duplicate invoices?
Thanks.
--MithunHi MD,
I doubt if system gives an error on FI side when a duplicate invoice is posted.
I feel you would require a BAdi for it, where you can call your WF using FM SAP_WAPI_START_WORKFLOW.
Hope it helps.
Aditya
P.S also ask your Func Consultants, if there are any settings in the Customization, where you could capture Inv Dt, Inv Amt, Vendor, Company code.
Edited by: Aditya Varrier on Oct 15, 2008 9:38 AM -
How can i check the duplicate NPD project name?
Dear all,
I would like to know on how i can check the duplicate NPD's project name? I found that some NPD's project is initiate serveral time with the same or semilar name from user name. Supposing the project name was "Smart Pilot". I always found that project may type differently such as "Smart PILOT","smart pilot" or even "Smart Pilots". Supposing i would like to validate all of these name before save by using validation framework, or custom validation. Is it possible?
Supposing it was possible, can you please guiding me on how?
Thank you so much in advance for all of the answer.
Phaithoon W.So here is some example code for a quick validator. Note that this uses a hard coded English error message, rather than a translation. If you want to use translations instead, look at some of the examples in the ReferenceImplementations\Validation\SourceCode\ReferenceValidation folder in the Extensibility Pack, and review the Validation Training as well (in the ReferenceImplementations\Validation\Documentation folder).
Note that the provided code is for demonstration purposes only and is not supported by Oracle.
The classes:
using System;
using System.Data;
using System.Xml;
using Xeno.Data.NPD;
using Xeno.Prodika.Application;
using Xeno.Prodika.Services;
using Xeno.Prodika.Validation;
using Xeno.Prodika.Validation.Validators;
namespace Oracle.Agile.PlmProcess.Validation
public class NPDUniqueProjectNameValidatorFactory : XmlConfigValidatorFactoryBase
protected override IValidator Create_Internal(XmlNode configNode)
return new NPDUniqueProjectNameValidator();
public class NPDUniqueProjectNameValidator : BaseValidator
private const string sql = @"select 1 as dup from NPDPROJECTML where UPPER(title) = UPPER ('{0}') and FKPROJECT <> '{1}' and LANGID = {2}";
public override bool Validate(IValidationContext ctx)
var project = ctx.ValidationTarget as INPDProjectDO;
bool hasDuplicate = false;
string sqlToExecute = String.Format(sql, project.ProjectML.Title, project.PKID, UserService.UserContext.User.PreferredLanguage);
using (IDataReader reader = AppPlatformHelper.DataManager.newQuery().execute(sqlToExecute))
if (reader.Read())
hasDuplicate = true;
if (hasDuplicate)
ctx.AddError(String.Format("A project already exists with the name '{0}'.", project.ProjectML.Title));
return hasDuplicate;
private IUserService UserService
get { return AppPlatformHelper.ServiceManager.GetServiceByType<IUserService>(); }
Next, add the following to the ValidationSettings.xml file in config\Extensions:
1. add the validator factory, with a reference name in the config:
<ValidatorFactories>
<!-- Custom Validator Factory declaration goes here -->
<add key="NPD_CheckProjectNameForDuplicate" value="Class:Oracle.Agile.PlmProcess.Validation.NPDUniqueProjectNameValidatorFactory,ReferenceValidation" />
</ValidatorFactories>
2. Add a rule for NPD project Save event:
<rule type="3202">
<condition event="save">
<if type="NPD_CheckProjectNameForDuplicate" require="true" report="true" />
</condition>
</rule>
Compile the reference example into a dll, and add that dll into web\npd\bin
When you try to save a project with a duplicate name, it should now give you the error message. -
Create Employee code with the mix of alphabets & numeric
Hai,
Is there any possibility to create Employee code with the mix of alphabets & numeric instead of the system generated employee code in employee master data? If so, pls explain.
Any suggestion is appreciated.
Thanks,
Parvatha Solai.NHi Solai,
You can do a work around for it. Just Leave the Employee ID field as it is. Create a new User Defined field (Alpha Numeric Type) And make it visible on the the employee master data form.
Step2 : Depending upon your need write the code that is if it should be auto generated write the code for else leave it blank for the user to enter the employee code.
Step3: In before action = True. Make the newly created field as mandatory and check whether the value in the field is unique.
Refer Route Class. Hope you understand
Regards,
P. Anand
Edited by: Anand peter on Jan 2, 2012 11:59 AM -
Checking for duplicate primary keys on row inserts
Checking for duplicate primary keys on row inserts
I have a situation where I will be making bulk table inserts knowing that the primary key value will in some cases already exist. In this is the case I simply want to ignore the duplicate inserts.
Should I be performing a sub-query on the table and using a statement like:
where not exist in
Or is there a cleaner way of discarding or checking for duplicates on insert.
My concerns were mainly one of performance, as my routine will be inserting a few thousand rows in its operation.The MERGE commnad is a good option when a large percentage of the data will exist in the target because it is much more efficient to attempt to update then insert when the update affects zero rows than capture an error and convert it to an update.
However, since in this case it would appear that only a few rows will alreadys exist and we want to ignore the duplicates when they exist then
begin
insert
exception
when dup_value_in_index then null;
end
would be the way to code this one. The bulk insert version has in 9.2 the ability to store the errors so that they can all be handled at once which means the rest of the array insert can work.
HTH -- Mark D Powell -- -
How to Avoid Duplicate Employee Number in Custom Form
Developing A new employee screen, where all the Personal, Assignment, Visa, Passort & Tickets are capture and send for approval. Once it is done. Scheduled Concurrent Program will pick the APPROVED records and create the Employee & Assignment in the HRMS.
In custom form the employee Number is Last Employee Number in HRMS and Get the Last Employee Number in Custom table (always Custom table employee is higher) and increment by 1 whichever is higher.
This code written on ON-INSERT trigger.
SELECT MAX (TO_NUMBER(employee_number)) + 1 INTO v_max_empno
FROM per_all_people_f
WHERE employee_number != 99999
AND REPLACE ( TRANSLATE (employee_number, '1234567890', '~~~~~~~~~~'),'~', NULL) IS NULL
AND business_group_id = :parameter.bg_id ;
SELECT MAX (TO_NUMBER(employee_num)) + 1 INTO v_max_empno2
FROM xx_employee_details
WHERE business_group_id = :parameter.bg_id ;
IF v_max_empno2 IS NOT NULL THEN
v_emp_number := v_max_empno2 ;
ELSE
v_emp_number := v_max_empno ;
END IF ;
:xxempdet.employee_num := v_emp_number ;
Issue.
The above is working fine only when data entered from single machine. When multple users are access this form we are getting Duplicate Employee Numbers.
I need to impliment the process which is Sales Order Number generation without GAPLESS.
Regards/PrasanthMake use of Sequence and use sequence.nextval for fetching the next value to ensure unique values.
Thanks
Shree -
Loop not working for check of duplicate values in a repeating table
I have a form that is used for marking down problem items, describing the problems and assigning a value to the specified item. In some cases the problems belong to the same class. When they do, the value associated with the problem should only be marked once. If another problem in the same class is documented the value should not be recorded the second time. I have a variable that is called based on a switch statement in the exit event of the field that records the problem item number. The script in the variable is then supposed to check for duplicate values in the table. If no other problem item in that class is selected, then the problem value should be assigned a number. If another item from the same class has already been entered, then the problem value should just be left blank. I will paste the script for the variable below as well as the switch statement. When I used to call the variable based upon the change event for the problem item, the script work. At that time, the switch statement was related to a drop-down menu. We decided to get rid of the drop-down and just have the used type the item number. But to do so, I had to move the switch statement to the exit event for the field. when I did this, the script in the variable no longer worked properly. Here is the switch statment followed by the script in the variable:
this.rawValue = this.rawValue.toLowerCase();
var bEnableTextField = true;
var i = "Inspection Criteria: ";
var r = "Required Corrections: ";
switch (this.rawValue)
case "1a": // 1a- First debit option
CorrectionsText.CorrectionLang = r+"Correction description for 1st debit";
ViolCorrSection.ViolationsText.DebitVal = "C";
ViolCorrSection.Reference.RefLanguage = i+"1st debit reference";
break;
case "1b": // 1b- Second debit option
CorrectionsText.CorrectionLang = r+"Correction description for 2nd debit";
ViolCorrSection.Reference.RefLanguage = i+"2nd debit reference";
myScript.group1();
break; //the script continues for various item numbers...
________________ variable script ________________________
function group1()
//Used in checking duplication of violations
var oFields = xfa.resolveNodes("form1.MAINBODYSUB.ViolationsTableSubform.ViolationsTable.ViolCorrSectio n[*].ViolationsText.ItemNo"); // looks to resolve the repeating rows
var nNodesLength = oFields.length; //assigns the number of rows to a variable
var currentRow = xfa.resolveNode("form1.MAINBODYSUB.ViolationsTableSubform.ViolationsTable.ViolCorrSection ").index;
var currentDebit = xfa.resolveNode("form1.MAINBODYSUB.ViolationsTableSubform.ViolationsTable.ViolCorrSection [" + currentRow + "].ViolationsText.DebitVal");
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) // this loops through Item Numbers looking for duplicate violations
//console.println("nNodeCount: " + nNodeCount);
var nFld = xfa.resolveNode("form1.MAINBODYSUB.ViolationsTableSubform.ViolationsTable.ViolCorrSection [" + nNodeCount + "]");
//console.println("nFld.ViolationsText.ItemNo: " + nFld.ViolationsText.ItemNo.rawValue);
if (nFld.ViolationsText.ItemNo.rawValue == "1a" || nFld.ViolationsText.ItemNo.rawValue == "1b" || nFld.ViolationsText.ItemNo.rawValue == "1c" || nFld.ViolationsText.ItemNo.rawValue == "1d") // looks for other 1s
currentDebit.rawValue = "";
nNodeCount = nNodesLength; // stop loop
else
currentDebit.rawValue = "5";
So, if you enter 1b the first time, you should get a value of 5 appearing in the debit value field. If you enter 1c next, because it belongs to the same group of class of problem items, there should be no value assigned. What happens now is that the values for 1b and 1c don't appear at all because the form thinks that the first 1b entry already existed.
Any ideas? I have a stripped down version of the form that I can email to someone for reference if that would help. Thanks
P.S. I am working with LiveCycle Designer ES 8.2.1....Hi,
I can have a look at your form, but can you host it somewhere like Acrobat.com or google docs and add a link to it here.
Regards
Bruce -
Hi All,
My query goes like this
SELECT DISTINCT(T0.[ItemCode]), T0.[ItemName], T1.[OnHand] as STOCK_IN_METER, T2.[Price] as BASE_PRICE, T0.[U_Length_In_Meter],T1.[OnHand]/T0.[U_Length_In_Meter] as STOCK_IN_PIECE, T0.[U_Weight_kgm], T1.[OnHand]* T0.[U_Weight_kgm] as TOTAL_KG FROM OITM T0 INNER JOIN OITW T1 ON T0.ItemCode = T1.ItemCode INNER JOIN OINM T2 ON T0.ItemCode = T2.ItemCode WHERE T1.[WhsCode] ='03' and T0.[ItmsGrpCod] ='102' and T1.[OnHand] <>0
Why Duplicate item code is coming and how to solve that?
Regards,
Rupa SarkarHi Rupa,
There could be many different Prices under OINM for one item. You can only use OITM.LastPurPrc or a specific price under a specific price list for a item.
Thanks,
Gordon -
Every item has 12 digits code.
Reason of duplicate item code opening:
1. Different description formats for same part
2. Different unit of measurement
3. Different export place(e.g. China and India)
4. Different old code
5. Same use of part in different system leads to different catalog
so different code
Due to these reason the person who create code for items can’t
differentiate between the new item and existing item code. This
leads to opening of new item code for an existing code and hence
duplicate code.Hello,
I think application do not help you with this. This is business problem not application problem. In my company a few person can create items and a few person can request new items. This process should be centralized and you have make some procedure in your organization. You can make some rules to valid new item before creating it.
Regards,
Luko -
How do i check ensure that SAP checks for duplicate vendor invoice numbers?
Hi Experts -
How do I verify that SAP checks for duplicate vendor invoice numbers and blocks duplicate invoices from being paid?
Thanks!Hi
Pls chek the settigs by following the path
IMG>Materials Management>Logistics Invoice Verification>Incoming Invoice>Set Check for Duplicate Invoice.
Here you make the settings for creating a duplicate invoice check.
Moreever, in the vendor master, you need to tick the check box for duplicate invoice check.
I suggest you search the Forums before posting a query. There are lots of postings on this issue.
Thanks & regards
Sanil K Bhandari -
Problem in Set Check for Duplicate Invoices
Hi,
I have did all the required setting s for check duplicate invoice , but when i do miro , its not giving any error or warning msge.. i did all the config as per blw link..
FYI- in migo, i have entered the 3434 as a invoice ref # in delveriy note column and while doing miro , i have entered 3434 in ref column and give the 3434 as a dlvery note # in item tab .. but its not giving any error?
Pls guide, where the mistake has gone wrongly??
Problem in Set Check for Duplicate Invoices
Edited by: UJ on May 15, 2009 1:45 PMHello,
Hope you have done all the required configurations for the checking of double invoice and ticked the vendor for the double invoice checking in vendor master record.
You have to understand the way the system does the double invoice check.
As per the configuration, if the system identifies an invoice for a vendor whose double invoice check is activated, at the time of MIRO, system will update a separate table.
So system will check for the double invoice entry among the invoices entered after making the tick in the vendor master.
i meant to say that, if you are introducing this double invoice check in between the transactions, the check will be valid only for the invoices entered after the activation of double invoice check.
Regards -
How can I get the employee code in the customer master
Hi
What are the settings that I do so that I can get the employee code in the customer master?
We want to create a sales order on a employee , we have HR and SD in the same box.
regards
PravinHi
I tried xd02 it asks me for the customer , ifi click the search icon it opens up the search where thre is a tab named "Customer by Personnel Numbeer" when i try to search it does not show any employees even thoughi havemanyhired in HR
Please tell me what i need to do
regards
Pravin
Maybe you are looking for
-
Changing the Date and Time of photos
Hello, i have been importing images from my windows machine and want all the dates to be correct, i have seen the adjust date and time, and made the changes but under the events the dates dont change and when i click individual photos the dates and t
-
Going cuckoo over nests [AS,CS3]
As beginner continuing his intitial exploration, I have found that InDesign will quite happily allow a script to add the same nested style to a paragraph style multiple times. So if the nested style is to capitalise the first word, and the script add
-
Hi Experts, I hv a smartform like the following, 1-Page Node - FIRST_PAGE 2-Text Node - MY_TEXT_1 3-Table Node - MY_TABLE_1 4-Command Node - GO_TO_SECOND_PAGE(no condition is defined) 5-Text Node - MY_TEXT_2 6-Table Node - MY_TABLE_2 7-Window Node -
-
How do I move photos and videos from iPhoto onto my iPhone?
Hello! I downloaded all my videos and photos from my iPhone onto our Mac mini. My wife wants to put some of them on her iPhone. How do I get them from iPhoto onto her iPhone? Thanks for the help!!!
-
The dashboard Icon has disappeared from my dock and is not in my applications folder. I know it's there somewhere. How can I restore or reinstall it?