Hierarchical + Analytical query for organizational unit parameters
Hello gurus,
I try for a couples of hour ago to make a query work as I would like.
Our application need to store some parameters for our organization units. These organization units are typically organized in in an hierarchy manner: one top unit with many level of child units. The parameters are stored into another table with 1:1 relationship.
For sake of visualisation, here is the data for the organization unit and parameter table in a more visual format:
SQL> select * from organization_unit;
UNIT_CODE UNIT_NAME PARENT_UNIT_CODE
00000 Top level
10 L2 unit #10 00000
10-01 L3 unit #10-01 10
10-02 L3 unit #10-02 10
20 L2 unit #20 00000
20-01 L3 unit #20-01 20
20-02 L3 unit #20-02 20
SQL> select * from org_unit_parameters;
UNIT_CODE PARAM1 PARAM2 PARAM3 PARAM4
00000 Default value Default value Default value {null}
10 {null} Value from 10 Value from 10 {null}
10-01 {null} {null} Value from 10-01 {null}
10-02 {null} {null} {null} Value from 10-02
20 Value from 20 Value from 20 Value from 20 {null}
20-01 {null} Value from 20-01 {null} {null}
20-02 {null} Value from 20-02 {null} {null}The application will query the parameter table to get a parameter value for a given unit.
The parameter resolution algorithm is rather simple: when querying a unit, the applicable parameter is the one defined at the requested level. If the parameter is not defined (null) at the requested level, the parameter value that must be returned is the next defined one in the parent hierarchy. In some rare cases, it can be null if a parameter is not defined anywhere from the requested level to top.
I've made a query that seems to work when querying for one unit at a time. It use hierarchical operators (start with + connect by) with a bit of analytical functions. Here is a test & raw output example:
SQL> WITH hierarchy
2 AS
3 (
4 SELECT ou.unit_code,
5 LEVEL AS lvl
6 FROM organization_unit ou
7 START WITH
8 ou.unit_code = '20-01'
9 CONNECT BY
10 ou.unit_code = PRIOR ou.parent_unit_code
11 )
12 SELECT h.*,
13 p.param1 AS param1_raw,
14 LAST_VALUE (p.param1 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param1_with_last,
15 FIRST_VALUE(p.param1 IGNORE NULLS) OVER (ORDER BY h.lvl ASC) AS param1_with_first,
16 p.param2 AS param2_raw,
17 LAST_VALUE (p.param2 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param2_with_last,
18 FIRST_VALUE(p.param2 IGNORE NULLS) OVER (ORDER BY h.lvl ASC) AS param2_with_first,
19 p.param3 AS param3_raw,
20 LAST_VALUE (p.param3 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param3_with_last,
21 FIRST_VALUE(p.param3 IGNORE NULLS) OVER (ORDER BY h.lvl ASC) AS param3_with_first,
22 p.param4 AS param4_raw,
23 LAST_VALUE (p.param4 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param4_with_last,
24 FIRST_VALUE(p.param4 IGNORE NULLS) OVER (ORDER BY h.lvl ASC) AS param4_with_first
25 FROM hierarchy h
26 LEFT JOIN org_unit_parameters p
27 ON h.unit_code = p.unit_code
28 ORDER BY h.lvl DESC;
UNIT_CODE LVL PARAM1_RAW PARAM1_WITH_LAST PARAM1_WITH_FIRST PARAM2_RAW PARAM2_WITH_LAST PARAM2_WITH_FIRST PARAM3_RAW PARAM3_WITH_LAST PARAM3_WITH_FIRST PARAM4_RAW PARAM4_WITH_LAST PARAM4_WITH_FIRST
00000 3 Default value Default value Value from 20 Default value Default value Value from 20-01 Default value Default value Value from 20 {null} {null} {null}
20 2 Value from 20 Value from 20 Value from 20 Value from 20 Value from 20 Value from 20-01 Value from 20 Value from 20 Value from 20 {null} {null} {null}
20-01 1 {null} Value from 20 {null} Value from 20-01 Value from 20-01 Value from 20-01 {null} Value from 20 {null} {null} {null} {null}Seems pretty good, the upper parameters are well «propagated» down with LAST_VALUE function. But, I don't understand why the use of FIRST_VALUE and oppposite ordering doesn't give the same result. A little more playing with the last query for getting the final result for a given unit code:
SQL> SELECT *
2 FROM
3 (
4 WITH hierarchy
5 AS
6 (
7 SELECT ou.unit_code,
8 LEVEL AS lvl
9 FROM organization_unit ou
10 START WITH
11 ou.unit_code = '20-01'
12 CONNECT BY
13 ou.unit_code = PRIOR ou.parent_unit_code
14 )
15 SELECT h.*,
16 LAST_VALUE (p.param1 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param1,
17 LAST_VALUE (p.param2 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param2,
18 LAST_VALUE (p.param3 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param3,
19 LAST_VALUE (p.param4 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param4
20 FROM hierarchy h
21 LEFT JOIN org_unit_parameters p
22 ON h.unit_code = p.unit_code
23 ORDER BY h.lvl
24 )
25 WHERE ROWNUM = 1;
UNIT_CODE LVL PARAM1 PARAM2 PARAM3 PARAM4
20-01 1 Value from 20 Value from 20-01 Value from 20 {null}Works well!
But, my ultimate goal is to create a view that resolve correctly all these parameters for each level of the organization with proper propagation rather then querying for each unit at a time. I played a bit, but without success. :( My current raw query is this one:
SQL> WITH hierarchy
2 AS
3 (
4 SELECT ou.unit_code,
5 LPAD(' ',2*(LEVEL-1)) || ou.unit_code AS tree,
6 LEVEL AS lvl
7 FROM organization_unit ou
8 START WITH
9 parent_unit_code IS NULL
10 CONNECT BY
11 PRIOR unit_code = parent_unit_code
12 )
13 SELECT h.*,
14 p.param1 AS param1_raw,
15 LAST_VALUE (p.param1 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param1_with_last,
16 FIRST_VALUE(p.param1 IGNORE NULLS) OVER (ORDER BY h.lvl ASC) AS param1_with_first,
17 p.param2 AS param2_raw,
18 LAST_VALUE (p.param2 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param2_with_last,
19 FIRST_VALUE(p.param2 IGNORE NULLS) OVER (ORDER BY h.lvl ASC) AS param2_with_first,
20 p.param3 AS param3_raw,
21 LAST_VALUE (p.param3 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param3_with_last,
22 FIRST_VALUE(p.param3 IGNORE NULLS) OVER (ORDER BY h.lvl ASC) AS param3_with_first,
23 p.param4 AS param4_raw,
24 LAST_VALUE (p.param4 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param4_with_last,
25 FIRST_VALUE(p.param4 IGNORE NULLS) OVER (ORDER BY h.lvl ASC) AS param4_with_first
26 FROM hierarchy h
27 LEFT JOIN org_unit_parameters p
28 ON h.unit_code = p.unit_code
29 ORDER BY h.unit_code;
UNIT_CODE TREE LVL PARAM1_RAW PARAM1_WITH_LAST PARAM1_WITH_FIRST PARAM2_RAW PARAM2_WITH_LAST PARAM2_WITH_FIRST PARAM3_RAW PARAM3_WITH_LAST PARAM3_WITH_FIRST PARAM4_RAW PARAM4_WITH_LAST PARAM4_WITH_FIRST
00000 00000 1 Default value Default value Default value Default value Default value Default value Default value Default value Default value {null} Value from 10-02 {null}
10 10 2 {null} Value from 20 Default value Value from 10 Value from 10 Default value Value from 10 Value from 10 Default value {null} Value from 10-02 {null}
10-01 10-01 3 {null} {null} Default value {null} Value from 20-02 Default value Value from 10-01 Value from 10-01 Default value {null} Value from 10-02 Value from 10-02
10-02 10-02 3 {null} {null} Default value {null} Value from 20-02 Default value {null} Value from 10-01 Default value Value from 10-02 Value from 10-02 Value from 10-02
20 20 2 Value from 20 Value from 20 Default value Value from 20 Value from 10 Default value Value from 20 Value from 10 Default value {null} Value from 10-02 {null}
20-01 20-01 3 {null} {null} Default value Value from 20-01 Value from 20-02 Default value {null} Value from 10-01 Default value {null} Value from 10-02 Value from 10-02
20-02 20-02 3 {null} {null} Default value Value from 20-02 Value from 20-02 Default value {null} Value from 10-01 Default value {null} Value from 10-02 Value from 10-02As you can see, it's not as I expected. I know there's something to do with a PARTITION BY clause, but don't know how.
Is anyone knows how to solve my problem?
Thanks
Bruno
For reproductibility purposes, here is the code to create sturcture and data:
Here is the format of my tables and some samble data:
CREATE TABLE organization_unit (
unit_code VARCHAR2(5 CHAR) NOT NULL PRIMARY KEY,
unit_name VARCHAR2(100 CHAR) NOT NULL,
parent_unit_code VARCHAR2(5 CHAR)
CREATE TABLE org_unit_parameters (
unit_code VARCHAR2(5 CHAR) NOT NULL PRIMARY KEY,
param1 VARCHAR2(100 CHAR),
param2 VARCHAR2(100 CHAR),
param3 VARCHAR2(100 CHAR),
param4 VARCHAR2(100 CHAR)
-- Inserting data
INSERT INTO organization_unit (unit_code, unit_name, parent_unit_code)
VALUES ('00000', 'Top level', NULL);
INSERT INTO organization_unit (unit_code, unit_name, parent_unit_code)
VALUES ('10', 'L2 unit #10', '00000');
INSERT INTO organization_unit (unit_code, unit_name, parent_unit_code)
VALUES ('10-01', 'L3 unit #10-01', '10');
INSERT INTO organization_unit (unit_code, unit_name, parent_unit_code)
VALUES ('10-02', 'L3 unit #10-02', '10');
INSERT INTO organization_unit (unit_code, unit_name, parent_unit_code)
VALUES ('20', 'L2 unit #20', '00000');
INSERT INTO organization_unit (unit_code, unit_name, parent_unit_code)
VALUES ('20-01', 'L3 unit #20-01', '20');
INSERT INTO organization_unit (unit_code, unit_name, parent_unit_code)
VALUES ('20-02', 'L3 unit #20-02', '20');
INSERT INTO ORG_UNIT_PARAMETERS (unit_code, param1, param2, param3)
VALUES ('00000', 'Default value', 'Default value', 'Default value');
INSERT INTO ORG_UNIT_PARAMETERS (unit_code, param2, param3)
VALUES ('10', 'Value from 10', 'Value from 10');
INSERT INTO ORG_UNIT_PARAMETERS (unit_code, param3)
VALUES ('10-01', 'Value from 10-01');
INSERT INTO ORG_UNIT_PARAMETERS (unit_code, param4)
VALUES ('10-02', 'Value from 10-02');
INSERT INTO ORG_UNIT_PARAMETERS (unit_code, param1, param2, param3)
VALUES ('20', 'Value from 20', 'Value from 20', 'Value from 20');
INSERT INTO ORG_UNIT_PARAMETERS (unit_code, param2)
VALUES ('20-01', 'Value from 20-01');
INSERT INTO ORG_UNIT_PARAMETERS (unit_code, param2)
VALUES ('20-02', 'Value from 20-02');
COMMIT;
Now, I hoppe I got your reqs:
WITH hierarchy AS (
SELECT ou.unit_code,
LPAD(' ',2*(LEVEL-1)) || ou.unit_code AS tree,
LEVEL AS lvl,
param1 AS param1_raw,
param2 AS param2_raw,
param3 AS param3_raw,
param4 AS param4_raw,
SYS_CONNECT_BY_PATH(p.param1,'#') || '#' AS param1_path,
SYS_CONNECT_BY_PATH(p.param2,'#') || '#' AS param2_path,
SYS_CONNECT_BY_PATH(p.param3,'#') || '#' AS param3_path,
SYS_CONNECT_BY_PATH(p.param4,'#') || '#' AS param4_path
FROM organization_unit ou LEFT JOIN org_unit_parameters p
ON ou.unit_code = p.unit_code
START WITH parent_unit_code IS NULL
CONNECT BY PRIOR ou.unit_code = parent_unit_code
SELECT unit_code,
tree,
lvl,
param1_raw,
REGEXP_SUBSTR(param1_path,'[^#]+',1,GREATEST(1,REGEXP_COUNT(param1_path,'[^#]+'))) AS param1_with_last,
REGEXP_SUBSTR(param1_path,'[^#]+') AS param1_with_first,
param2_raw,
REGEXP_SUBSTR(param2_path,'[^#]+',1,GREATEST(1,REGEXP_COUNT(param2_path,'[^#]+'))) AS param2_with_last,
REGEXP_SUBSTR(param2_path,'[^#]+') AS param2_with_first,
param3_raw,
REGEXP_SUBSTR(param3_path,'[^#]+',1,GREATEST(1,REGEXP_COUNT(param3_path,'[^#]+'))) AS param3_with_last,
REGEXP_SUBSTR(param3_path,'[^#]+') AS param3_with_first,
param4_raw,
REGEXP_SUBSTR(param4_path,'[^#]+',1,GREATEST(1,REGEXP_COUNT(param4_path,'[^#]+'))) AS param4_with_last,
REGEXP_SUBSTR(param4_path,'[^#]+') AS param4_with_first
FROM hierarchy
ORDER BY unit_code
UNIT_ TREE LVL PARAM1_RAW PARAM1_WITH_LAST PARAM1_WITH_FIRS PARAM2_RAW PARAM2_WITH_LAST PARAM2_WITH_FIRS PARAM3_RAW PARAM3_WITH_LAST PARAM3_WITH_FIRS PARAM4_RAW PARAM4_WITH_LAST PARAM4_WITH_FIRS
00000 00000 1 Default value Default value Default value Default value Default value Default value Default value Default value Default value
10 10 2 Default value Default value Value from 10 Value from 10 Default value Value from 10 Value from 10 Default value
10-01 10-01 3 Default value Default value Value from 10 Default value Value from 10-01 Value from 10-01 Default value
10-02 10-02 3 Default value Default value Value from 10 Default value Value from 10 Default value Value from 10-02 Value from 10-02 Value from 10-02
20 20 2 Value from 20 Value from 20 Default value Value from 20 Value from 20 Default value Value from 20 Value from 20 Default value
20-01 20-01 3 Value from 20 Default value Value from 20-01 Value from 20-01 Default value Value from 20 Default value
20-02 20-02 3 Value from 20 Default value Value from 20-02 Value from 20-02 Default value Value from 20 Default value
7 rows selected.
SQL> SY.
Edited by: Solomon Yakobson on Nov 12, 2010 10:09 AM
Similar Messages
-
No value found for Organizational Unit BILL_ORG
Hi Experts,
I am creating a Service transaction - Incident and then creating a follow up document (RFC). Upon saving the follow up document the system shows the following error:
An error occurred in system FEDCLNT200 during account assignment
Message no. CRM_ORDER_MISC 060
Orgfinder: No value found for Organizational Unit BILL_ORG (Notification E CRM_OFI 002)
I am not using any billing unit and do not even require one - also made settings for billing unit in Master data>Organization Management> Cross-system assignment of Org.Units... but still facing the same error
Kindly help.
Regards.Hi Amit,
It has been a long time since I have seen this issue. As far as I remember, and also mentioned in my answer, if distributing the document to another system is not part of your process / requirement, then simply switch off the distribution via status management and transaction control.
Select the status profile and add transaction control to the status on which the error shows up.
Hope it helps !
Haseeb. -
Tables for organizational unit
Hello!
I created an organizational unit including position and user id's.
In which tables this information is avaliable?
regards
yifatHi,
If you want to see the Organizational unit assigned to an employee, check PA0001 for that PERNR(Employee ID) and pick the ORGEH (Organizational Unit) and PLANS(Position).
If you just want to see the existence of org unit and position goto HRP1000 table and pick OTYPE = 'O' for organizational Unit and OTYPE = 'S' for positions.
If you want to see the relationship between them then goto table HRP1001. OTYPE = 'O' for org unit, OTYPE = 'S' for position and Check their relationship with OTYPE = 'P' for Person.
Regards,
Amit
Reward all helpful replies. -
LSO course authorization for Organizational Unit
Hi,
Is is possible to restrict courses in a course catalog according to Organizational unit. In the system we can restrict users to specific courses through structural authorization, but is it possible to maintain authorizations on Organizational units for LSO Courses or course types.
Regards,
AsadDisappering is the right behavior. On delivery method WBT participant type 'O' cannot be booked because WBT can be only accessed using Learning portal and Learning portal cannot be logged in using Org. Unit. So this is not possible for this release.
But i have heard in EHP4 this option of Org. unit booking on WBT is possible but not directly but system will take care if you select an org unit for booking.
Regards, kavya
Edited by: Kavya Shree on Oct 30, 2008 10:08 AM -
Account for organizational unit - translation of BP names possible?
Hello,
we created accounts for BP-Role BUP004 - organizational unit.
We need to have different translations of the name of this BP depending on the login language.
e.g.:
german BP-name = Einsatzplanung Lagern
english BP-name = WFM stroage systems
Is there a way to maintain different names per language?
Kind regards
ManfredHi Manfred,
You can maintain multiple language version of the bp name & address using International address version.
For more info, [http://help.sap.com/saphelp_sm40/helpdata/en/18/c042ffda4811d3b571006094192fe3/content.htm]
Cheers, Satish -
Search Help for Organization Unit ID..
Hello Friends,
Is there any search help which will display all the Organization Unit ID?..
John.Hello Friends,
When you goto Users_gen->create->copy user and employee... - > create users from existing SU01 users.. you can see the Organization unit id input field.. which has F4 help.. I need to have same F4 help in my custom program.. when i try to find the search help in debug mode i found that 'HRBAS00OBJID' but when i execute this search help in se11.. i dont find the same value which appear in the Users_gen. when i execute in se11 i can see more than 5000 records... appear but when execute users_gen i can see only 20 records.. i want to know is there any other search help will only display the Organiztion unit id only..
John. -
Standard Report for Organizational Unit
Hello Team,
Is there any standard report to fetch orgunit and their parent org unit ID in Organizational Management? Can we do it through Adhoc query??
Please suggest suitable solution.
Best Regards,
RPDear Rajas P,
SAP has given no.of option's like you can fetch the data through
S_AHR_61016362 - Flexible Employee Data
SAP Query : -> SQ03, SQ02, SQ01 or SQVI
Postimage.org / gallery - SQ 01 1, SQ 01 2, SQ 01 3, SQ 01 4, SQ 01 5, SQ 01 6, SQ 01 7
SE16
Try with these If still not getting expected result I think so you need to go with custom report..
Ur's
Mohan -
Authorisation Object for Organizational Unit.
Hi Experts
I have an query on user authorisation as follow,
As in my project I have two user as Maker & Checker. Maker is having Business Area B001 Authorisation and in checker is also having the different role with same Business area authorisation, Now my query is I wanted to sort this on Organisational Unit level. So is there any object available for to assign Org Unit level Authorasation. as like P_Origin is there in SAP sytem.. please guide me ...
Regards
SwapnilHi Swapnil,
You can use HR Master Data Customer-Specific object to include any fields from infotype 0001 to authorisation checks. Please check the |help.sap.com (http://help.sap.com/erp2005_ehp_02/helpdata/en/4e/74ba3bd14a6a6ae10000000a114084/frameset.htm) regarding use of this object. On the bottom of that page is a link for creating the object and activating the check against it.
Regards,
Saku -
Change of Cost Center Assignment for Organization Unit in HR
Hi,
Recently my client is changing their cost center number from 6char to 5 char format. I have created customized mapping table to link between old cost center number and new ones.
Create new cost center referencing to old cost center is done too.
However, for each Personnel Number, i need to change the cost center assignment which link to org unit. I have done this too manually at t-code PPOM. How can I do this for mass change? I have a list of org unit number with me. Is there any standard program to do this or i should use LSMW ?
How do I make sure for each Personnel number, their cost center assignment will change to new 5 char format in the end as required?
I am new to HR module.
Thank you for your help.Hi,
As Sikandar said, you will have to write an LSMW or BDC ( where in you can check and validate the input Cost centers) using PP01 or Po10.
Also I think if you use BDC or LSMW you will have to run the RHINTE30 report. Check the documentation on RHINTEXX reports to get better idea.
Cheers..
Ajay -
Budgets for Organizational units
Hi There,
We are implementing ECM at a client right now and are running into a couple of issues/concerns. As of today, they have SAP 4.7 and EP 6.0 on their servers. The issue we face revolves around budgets.
The client has offices in US and UK and other places in Europe. In some of the Org units, we have employees who are based in Europe and report to somebody in US. In other words, these UK based employees are in an US org unit. In some cases, we have the other scenario too. The issue that i need an answer to is:
How do we calculate budgets for them? In US, the standard merit increase is at 3 % and in UK, it is at 4%. There is a danger of the budget being overloaded in a US org unit containing UK people and that obviously is not a good thing. If it is the other way round, it is not an issue. In other words, for US people who are in an UK org unit, there isn't a danger of the budget being overused, but for UK people in a US org unit, this is definately an issue.
Any of you out there who has faced a similar issue and managed to resolve it, please feel free to comment on this.
Thanks,
Bhushan.Hi Bhushan
What does the business want? With expatriate population, these issues are bound to come. Also if you add the exchange rate the company uses when it created the budget and when it's allocating the awards......
I think it's more of a business question and once you get a clear answer from the stakeholders, it will become much easier to handle the system aspect. -
HR Requirements creation for organizational unit
Hi,
Has anyone had any experience do this by any method other than using batch input of transaction PP63 ??
Basically this transaction is cumbersome and slow and does not work particularly well so I am looking to create the requirements by another method such as a BAPI/function module or method call.
Any sensible suggestions would be greatly appreciated.
Cheers
Colin.
Message was edited by: Colin BickellHi Colin
Unfortunately, your thread does not seem to be a question thread. You may have set this property while posting your first question.
I do not know whether you can set this property at this point.
*--Serdar
Oh you can set it as question by editing your first post. But I do not know whether you can give points then. I marked one of my previous posts as question but it seems still I can't reward points.
*--Serdar
Message was edited by: Serdar Simsekler -
Number range for Object (Organizational unit, Job, Position)
Hi all,
How to maintain number range for Organizational unit or Job or Position by Company Code or PA, EG, ...?
Thanks,
QuangHi,
For organizational objects maintain number ranges via OONR.
e.g. In order to maintain number range for C - Job object in plan version 01 add the following line to OONR:
01C IN EX
Then select this line and hit "Number range maintenance"
There create the interval you want.
(EX 60000000 69999999)
For PA, EG there is no number range maintained.
Regards,
Dilek
Edited by: Dilek Ersoz Adak on Jan 14, 2010 8:08 AM -
How to get Personnel Numbers from Organizational Unit ?
Hello All,
I have a requirement in the HR module to get a list of all the personnel numbers maintained for a Organizational Unit.
Is there any Function Module to find out the Personnel Numbers assigned to a Organizational Unit for HR module ?
Thanks,
Ketan.Hi Ketan,
I'm not sure that there is any Function Module available for finding the Personnel Numbers. I have listed some Tables in HR Module try whether this will help you in finding Personnel Numbers for Organizational Unit.
DD01L Domains
DD02L SAP tables
DD03L Table Fields
DD03T DD: Texts for fields (language dependent)
DD04L Data elements
DD04T R/3 DD: Data element texts
DD05S Foreign key fields
DD06L Pool/cluster structures
DD20L Matchcode Ids
DD24S Fields of a matchcode ID
T000 Clients
T001 Company Codes
T001E Company code-dependent address data
T001P Personnel Areas/Subareas
T012 House banks
T012K House bank accounts
T012T House bank account names
T500L Personnel Country Grouping
T500P Personnel Areas
T500T Personnel Country Groupings
T501 Employee Group
T501T Employee Group Names
T502T Marital Status Designators
T503 Employee Groups / Subgroups
T503K Employee subgroup
T503T Employee Subgroup Names
T504A Benefits - Default Values (NA)
T504B Benefit Option Texts (North America)
T504C Benefit Type (NA)
T504D Benefit Credit Group Amount
T504E Benefit Amount
T504F Benefit Costs
T508A Work Schedule Rules
T508T Texts for Employee Subgroup Groupings for Work Schedules
T510 Pay Scale Groups
T510A Pay Scale Types
T510F Assign Pay Scale > Time Unit, Currency
T510G Pay Scale Areas
T510H Payroll Constants with Regard to Time Unit
T510I Standard Working Hours
T510J Constant Valuations
T510L Levels
T510M Valuation of pay scale groups acc. to hiring date
T510N Pay Scales for Annual Salaries (NA)
T510S Time Wage Type Selection Rule
T510U Pay Scale Groups
T510Y Special Rules for Wage Type Generation
T511 Wage Types
T512R Cumulation Wage Types in Forms
T512S Texts for Cumulation Wage Types in Forms
T512T Wage Type Texts
T512W Wage Type Valuation
T512Z Permissibility of Wage Types per Infotype
T513 Jobs
T514S Table Name Texts
T514T Field Name Texts
T51D2 Wage Type Classes
T51D3 Reduction Rules
T51D4 Cumulation Rules
T527X Organizational Units
T528B Positions - Work Centers
T528C Wage Type Catalog
T528T Position Texts
T529A Personnel Event
T529F Fast Data Entry for Events
T529T Personnel Event Texts
T52BT Texts For HR Objects
T52C0 Payroll Schemas
T52C1 Payroll Schemas
T52C2 Texts for Personnel Calculation Schemas
T52C3 Texts for Personnel Calculation Schemas
T52C5 Personnel Calculation Rules
T52CC Schema Directory
T52CD Schema Directory
T52CE Directory of Personnel Calculation Rules
T52CT Text Elements
T52CX Cross References via Generated Schemas
T52D1 Valid Processing Classes
T52D2 Valid Values for Processing Classes
T52D3 Valid Evaluation Classes
T52D4 Permitted Values for Evaluation Classes
T52D5 Wage Type Groups
T52D6 Wage Type Group Texts
T52D7 Assign Wage Types to Wage Type Groups
T52D8 Valid Processing Classes - Texts
T52D9 Valid Values for Processing Classes - Texts
T530 Reasons for Events
T530E Reasons for Changes
T530F Reasons for Changes
T530L Wage Types for Special Payments
T530T Event Reason Texts
T531 Deadline Types
T531S Deadline Type Texts
T533 Leave Types
T533T Leave Type Texts
T539A Default Wage Types for Basic Pay
T539J Base Wage Type Valuation
T539R Events for Standard Wage Maintenance
T539S Wage Types for Standard Wage Maintenance
T548 Date Types
T548S Date Conversion
T548T Date Types
T548Y Date Types
T549A Payroll Areas
T549B Company Features
T549C Decision Trees for Features (Customers)
T549D Feature Directory
T549L Date modifiers
T549M Monthly Assignment: Payroll Period
T549N Period Modifiers
T549O Text for date modifier
T549P Valid Time Units for Payroll Accounting
T549Q Payroll Periods
T549R Period Parameters
T549S Payroll date types
T549T Payroll Areas
T549M Monthly Assignment: Payroll Period
T549N Period Modifiers
T549O Text for date modifier
T549P Valid Time Units for Payroll Accounting
T549Q Payroll Periods
T549R Period Parameters
T549S Payroll date types
T549T Payroll Areas
T554S Absence and Attendance Types
T554T Absence and Attendance Texts
T554V Defaults for Absence Types
T554Y Time Constraints in HR TIME
T555A Time Types
T555B Time Type Designations
T559A Working Weeks
T559B Name of Working Week
T572F Event Texts
T572G Allowed Values for Events
T572H Event Value Texts
T582A Infotypes
T582B Infotypes Which Are Created Automatically
T582S Infotype Texts
T582V Assignment of Infotypes to Views
T582W Assigns Infotype View to Primary Infotype
T582Z Control Table for PA Time Management
T584A Checking Procedures - Infotype Assignment
T588A Transaction Codes
T588B Infotype Menus
T588C Infotype Menus/Info Groups
T588D Infogroups for Events
T588J Screen Header Definition
T588M Infotype Screen Control
T588N Screen Modification for Account Assignment Block
T588O Screen Modification for Assignment Data
T588Q Screen types for fast entry
T588R Selection Reports for Fast Data Entry
T588S Screen Types for Fast Entry
T588T Menu and Infogroup Designations
T588V Business object type
T588W Event types for infotype operations
T588X Cust. composite definition of event types for IT operations
T588Z Dynamic Events
T591A Subtype Characteristics
T591B Time Constraints for Wage Types
T591S Subtype Texts
T596F HR Subroutines
T596G Cumulation wage types
T596H _Cumulation wage type texts
T596I Calculation rule for cumulation wage types
T596U Conversion Table
T599B Report Classes
T599C Report Classes
T599D Report Categories
T599F Report Classes - Select Options
T777A Building Addresses
T777T Infotypes
T777Z Infotype Time Constraints
T778T Infotypes
T778U Subtypes
Error Messages tables
T100 Messages
T100A Message IDs for T100
T100C Control of messages by the user
T100O Assignment of message to object
T100S Configurable system messages
T100T Table T100A text
T100V Assignment of messages to tables/views
T100W Assign Messages to Workflow
T100X Error Messages: Supplements -
Controlling area already used for org. unit problem
Hi people,
can you please help me with one problem, my customer is upgrading SAP HR from 4.6 to 6.0 and now we are testing QAS system.
When I create new or. unit in PPOME, I have Cost-centre inherited from the org.unit above, but when I want to put another Cost-centre it gives me the next error "Controlling area HR01 already used for organizational unit XXXXXXXX".
The same procedure worksin PRD system which is on version 4. 6. Could you please help me what is wrong because i am not able to change cost centre in the QAS system.
Thank you.
Romano
Edited by: Romano Cinotti on Oct 13, 2009 11:25 AMHi,
To which object u are going to change the cost center i.e, position, job, org.unit.
If you are changing the cost center to position, If it is not allowing to change the cost center then u have to check the parameters:
May be u already assigned cost center
May be u already assigned cost center to ur org, unit, which u assigned to ur position. If u already assigned diffrent cost center to ur org.unit, you may not change the cost center to ur position or job.
Regards
Devi. -
Business partner of organizational unit is not consistent
Hi,
Client is on SRM 4.0. When we are trying to search a user in the org structure, and when clicking on "Check" for this user, it was showing fine. But when we are searching any BP in the org strucutre, then immediately the BP name is vanishing against the BP of the user and when doing the "Check" it is showing the below two messages:
Business Partner of organizational unit XXXXXXX is not consistent
User cannot be repaired becasue the organizational unit contains errors
When checking in BBP_CHECK_USRES, the user is not showing as defective. It is green.
Similarly, the the organizational unit check is also showing as green.
System is advising to run BBP_BP_OM_INTEGRATE. When we run this for the org units, these are coming as green.
Users are able to create the shopping carts and also are able to create confirmations. But the problem is happening for some of the users where the system is not allowing to create shopping basket / confirmation.
Strange thing is that, when we are searching the user by user id in the org structure, then the check is showing no messages. But if we search the same user using the BP number, then in the check, the messages are coming. And once the messages appear, it is appearing for all the users in the org strucutre even at the root node level.
Any help is highly appreciated.
Thanks & Regards,
AswiniHi Aswini,
There are some possibilities to raise these kind of errors messages:
1) User with inconsistent data.
Please, check the instructions described in the following notes:
597475 - Repair users with inconsistent address data
-> use the report B_REPAIR_EBP_USER_2 to make the user consistent.
419423 - Repairing incorrect EBP users
350129 - Creating business partner for organizational unit
When you create the Org Units have you fully completed the address
data, e.g post coe, telephone/fax number etc..
If not, please enter a full address, save the data and see if this
generates the Business Partner.
Remember, that you can delete this user and create a new user.
2) Error in the positions after HR replication
Please, implement the following notes and retest the scenario:
1056873 - Incorrect SRM users after HR distribution
1016450 - Replication of persons deletes positions in SRM
After implementing these notes you should send the employee
corresponsing to the user in error with his position (using
transaction PFAL or report RHALEINI in UPDATE mode for all periods.
3) the user was deleted and a new was created and during these two
actions the user opened documents. So, in this case, the new user
becomes inconsistent
If the user is deleted from SU01 still the BP and S which is related to
that user will be retained (we can see this in PPOMA_BBP) transaction.
In this case we can create the user again using SU01 and can be attached
with the old 'S' and 'BP'.
2. If the user is completed deleted ie., all relations BP and S.
The new user has created.
In this case if the new user is corrupted we can delete this
user (since the new user doesn't create any documents so far). But the
old documents should refer to the new BP related to the new user.
========================
Also, another option would be to follow the below instructions
After applying the notes 1056873 & 1016450, send the employees
corresponding to the users in errors with their positions (using
transaction PFAL or report RHALEINI in UPDATE mode for all periods,
using evaluation path A008) ? If not, please do this and it must repair
the SRM users. Please test and give me the feedback.
Hope this helps,
Kind Regards,
Matthew
Maybe you are looking for
-
Sub Contracting Challan Error during Reconcillation
Dear All While doing Sub Contracting quantity reconcilation in J1IFQ i am getting the following error."Challan material is different from material document" I am entering the correct (101)material document only. In MIGO itself i have reffered challan
-
Why wont my new ipod sync my enitre library?
I've been trying to sync my entire library to a new iPod but nothing is working. Even dragging and dropping individual songs won't work. What am I doing wrong??
-
Itunes/QT converts video from sound to no-sound
I have a video that has sound. when i convert it for ipod or when I convert in QT to ipod, it ends up converted with no sound. Any thoughts? Thanks!
-
Hi, We are getting Business area required entry for the GL account XXXX in Migo Transaction we made Business Area mandatory for all the GL accounts Business Area is assigned to Cost center. How to solve this Error
-
Hi, I completed my certification in SAP ABAP - how i am looking forward to do one more certification which will help in my carrier, can you suggest me with any options --- thanks in advance