2010년 4월 22일 목요일
2010년 3월 12일 금요일
Shift Plan - HR_READ_TIMEDATA_PSP
FUNCTION hr_read_timedata_psp.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(BEGIN_DATE) LIKE SY-DATUM DEFAULT SY-DATUM
*" VALUE(END_DATE) LIKE SY-DATUM DEFAULT SY-DATUM
*" VALUE(PERSON_ID) LIKE OBJEC-OBJID
*" VALUE(PERSON_TYP) LIKE OBJEC-OTYPE DEFAULT 'P'
*" VALUE(RP_BUILD_PSP_ERROR) DEFAULT SPACE
*" TABLES
*" PERS_AVAIL STRUCTURE PDPSP
*" EXCEPTIONS
*" NO_CAPACITY_AVAILABLE
*" NO_INTEGRATION_ACTIV
*" TIMEINFO_ERROR
*"----------------------------------------------------------------------
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(BEGIN_DATE) LIKE SY-DATUM DEFAULT SY-DATUM
*" VALUE(END_DATE) LIKE SY-DATUM DEFAULT SY-DATUM
*" VALUE(PERSON_ID) LIKE OBJEC-OBJID
*" VALUE(PERSON_TYP) LIKE OBJEC-OTYPE DEFAULT 'P'
*" VALUE(RP_BUILD_PSP_ERROR) DEFAULT SPACE
*" TABLES
*" PERS_AVAIL STRUCTURE PDPSP
*" EXCEPTIONS
*" NO_CAPACITY_AVAILABLE
*" NO_INTEGRATION_ACTIV
*" TIMEINFO_ERROR
*"----------------------------------------------------------------------
2010년 2월 26일 금요일
SAP Program
REKH0004 - SAP 그래픽 데모 프로그램
RGUGBR00 - Substitution/Validation utility
RHGRENZ0 - 오브젝트 한계 결정
RHGRENZ1 - 신규 종료일 설정
RHGRENZ2 - 정보 유형 한계 결정
RKCTSEAR - 프로그램 내 문자열 탐색
RPR_ABAP_SOURCE_SCAN - ABAP 레포트 소스 탐색
RPUAUD00 - HR 인포타입 데이타의 로그 변경
RPUAUDDL - HR 인포타입 데이타에서 로그된 변경사항 삭제
RPUDELPN - 사원번호 완전히 삭제
RPUP1D00 - 파일 PCL1에서 개별레코드 조회 및 삭제
RPUP2D00 - 데이타베이스 PCL2에서 단일레코드 조회 및 삭제
RPUP3D00 - 파일 PCL3에서 단일레코드 조회 및 삭제
RPUP4D00 - 파일 PCL4에서 단일레코드 조회 및 삭제
RSBDCBTC - Batch 입력에 대한 유틸리티 레포트
RSBDCDRU - Batch 입력:세션 내용 인쇄
RSBDCOS0 - OS 명령어 실행( SYSLOG 및 추적파일에 로그 )
RSBDCSUB - Batch Input : Process All Sessions
RSBTCDEL - Batch 작업 삭제
RSINCL00 - ABAP 프로그램 참조 리스트
RSORAREL - Oracle 버젼 점검
RSPARAM - Profile 파라미터 값 조회
RSPO0041 - Old Spool Request 삭제
RSRSCAN1 - 프로그램 소스코드에서 문자열 찾기
RSSNAPDL - 짧은 덤프의 테이블 SNAP에 대한 재구성프로그램
RSTXFCON - SAPscript: 서식에 대한 페이지 포맷 변환
RSTXSCRP - SAPscript를 데이타세트로 export / SAPscript를 데이타세트에서 import
RSTXTRAN - Correction에 SAPscript 텍스트전송
RSUSR001 - 정보 시스템 권한
RSUSR002 - 사용자 점검
RSUSR003 - 전체 클라이언트의 사용자 SAP* 및 DDIC의 비밀번호 점검
RSUSR009 - 중요 권한이 있는 사용자 리스트
RSUSR006 - 잘못된 로그온에 의해 잠겨진 사용자마스터레코드의 리스트
RSWBO052 - 오브젝트디렉토리엔트리 변경
RSWBO060 - 전송 요청에서 오브젝트 포함
RGUGBR00 - Substitution/Validation utility
RHGRENZ0 - 오브젝트 한계 결정
RHGRENZ1 - 신규 종료일 설정
RHGRENZ2 - 정보 유형 한계 결정
RKCTSEAR - 프로그램 내 문자열 탐색
RPR_ABAP_SOURCE_SCAN - ABAP 레포트 소스 탐색
RPUAUD00 - HR 인포타입 데이타의 로그 변경
RPUAUDDL - HR 인포타입 데이타에서 로그된 변경사항 삭제
RPUDELPN - 사원번호 완전히 삭제
RPUP1D00 - 파일 PCL1에서 개별레코드 조회 및 삭제
RPUP2D00 - 데이타베이스 PCL2에서 단일레코드 조회 및 삭제
RPUP3D00 - 파일 PCL3에서 단일레코드 조회 및 삭제
RPUP4D00 - 파일 PCL4에서 단일레코드 조회 및 삭제
RSBDCBTC - Batch 입력에 대한 유틸리티 레포트
RSBDCDRU - Batch 입력:세션 내용 인쇄
RSBDCOS0 - OS 명령어 실행( SYSLOG 및 추적파일에 로그 )
RSBDCSUB - Batch Input : Process All Sessions
RSBTCDEL - Batch 작업 삭제
RSINCL00 - ABAP 프로그램 참조 리스트
RSORAREL - Oracle 버젼 점검
RSPARAM - Profile 파라미터 값 조회
RSPO0041 - Old Spool Request 삭제
RSRSCAN1 - 프로그램 소스코드에서 문자열 찾기
RSSNAPDL - 짧은 덤프의 테이블 SNAP에 대한 재구성프로그램
RSTXFCON - SAPscript: 서식에 대한 페이지 포맷 변환
RSTXSCRP - SAPscript를 데이타세트로 export / SAPscript를 데이타세트에서 import
RSTXTRAN - Correction에 SAPscript 텍스트전송
RSUSR001 - 정보 시스템 권한
RSUSR002 - 사용자 점검
RSUSR003 - 전체 클라이언트의 사용자 SAP* 및 DDIC의 비밀번호 점검
RSUSR009 - 중요 권한이 있는 사용자 리스트
RSUSR006 - 잘못된 로그온에 의해 잠겨진 사용자마스터레코드의 리스트
RSWBO052 - 오브젝트디렉토리엔트리 변경
RSWBO060 - 전송 요청에서 오브젝트 포함
2010년 2월 21일 일요일
Additional Functions for Authorization Checks
Additional Functions for Authorization Checks
In this section you can find information on the most important reports that play a role for mySAP HR in the context of authorizations.
See also:
Report RHPROFL0
Report RHBAUS00 (Regeneration INDX for Structural Authorization)
Report RHBAUS01 (Output of Views on Objects in the Structural Authorization)
Report RHBAUS02 (Check and Compare T77UU (User Data in SAP Memory))
Report RPUACG00 (Code Generation: HR Infotype Authorization Check)
Report RHUSERRELATIONS (Display User Assignments)
In this section you can find information on the most important reports that play a role for mySAP HR in the context of authorizations.
See also:
Report RHPROFL0
Report RHBAUS00 (Regeneration INDX for Structural Authorization)
Report RHBAUS01 (Output of Views on Objects in the Structural Authorization)
Report RHBAUS02 (Check and Compare T77UU (User Data in SAP Memory))
Report RPUACG00 (Code Generation: HR Infotype Authorization Check)
Report RHUSERRELATIONS (Display User Assignments)
Troubleshooting Authorization Problems
Troubleshooting Authorization Problems
Use
The procedures described in this section are designed to help you analyze problems that arise in connection with authorizations.
Determining minimum authorization
You can use the following two procedures to determine which authorizations a user requires to carry out a transaction:
Set up authorizations for the relevant transaction and for the SU53 transaction for the user. Then call up the transaction and wait until the authorization check denies you access. Finally, use the SU53 transaction to see what type of authorization check was carried out. Add the missing authorization and repeat the process. This procedure is simple but can be fairly lengthy.
Start an authorization trace using the ST01 transaction and carry out the transaction with a user who has full authorizations. On the basis of the trace, you can see which authorizations were checked.
This procedure generally works well. However, sometimes the result is very surprising because certain programs can and do ignore some authorization checks by using preliminary checks and buffered results. In such cases, these methods are not very effective. You can recognize these cases because certain fields of the corresponding programs are specified with * or DUMMY at some point of the authorization check.
Analyzing authorization problems in an unknown program
The most frequently used method to analyze authorization problems in an unknown program involves you setting the Debugger breakpoints to the AUTHORITY-CHECK and MESSAGE commands. Then execute the program and analyze its behavior.
Determining all the authorizations a user has for an authorization object
When troubleshooting, it is often helpful to find out all the authorizations a specified user has for a specific authorization object. A simple method of reading these authorizations as raw data from the user master record is to execute the GET_AUTH_VALUES function module in the SUSR function group. Use the SE37 transaction or SE80 in test mode to do so. The result table is not formatted for output, but is very compact and easy to understand for authorization experts.
Analyzing an authorization problem that occurs for only one user
It is often the case that a certain authorization problem occurs for only one specific user. This kind of authorization problem generally affects users with no Debugging authorization. If you want to assign a user Debugging authorization without changing the HR authorizations, you can add the S_A.DEVELOP authorization profile (if available) to the user’s authorization profiles. In production systems, note that changes such as these to authorizations enable users (with relevant knowledge of the development environment) to access any system data easily (especially in other clients).
Analyzing an authorization problem that occurs for only one personnel number
Authorization problems that occur for a single personnel number are caused almost always by incorrect settings in the environment of the P_PERNR authorization object.
Authorization problems that are user-independent and occur for a single personnel number are caused almost always by a specialized organizational assignment (or even an incorrect organizational assignment). In this case, you should check the data of the Actions (0000) and Organizational Assignment (0001) infotypes and the relationships with the organizational structure (actively integrated systems) thoroughly.
Analyzing authorization problems in connection with locking and unlocking infotype records
Authorization problems that occur in connection with locking and unlocking infotype records are often caused by the CHECK_AUTH_SET_ENQ (SAPFP50M) form.
Localizing the cause of authorization problems after the import of HR Support Packages
The majority of code for the HR Master Data authorization check is localized in the CL_HRPAD00AUTH_CHECK_STD and CL_HRPAD00AUTH_CHECK_FAST classes, the SAPFP50P report, and the HRAC function group. You can also find smaller parts of code in the SAPDBPAP, SAPDBPNP, and SAPFP50M reports. If authorization problems are caused by HR Support Packages, a good place to start looking for changes to the code is in the above-mentioned classes and reports.
Useful questions for solving authorization problems
Over 90% of SAP’s incoming messages about authorization problems are consulting problems. What is more, in many cases customers are convinced that an error is causing their problems when in fact the problem is due to a misunderstanding of the functions of the corresponding protection mechanism. When analyzing authorization problems, it is therefore important that you can answer the following questions:
What data (which infotype/subtype) did the user access and how (using which transaction or which function of a transaction)?
How did the system react (did it incorrectly allow or deny access)?
How should the system have reacted (should it have allowed or denied the user access)?
Which authorization main switches are set up in the system?
How are the authorizations for the activated authorization checks set up?
Are the data records of the Organizational Assignment infotype (0001) as they should be for the personnel number in question?
Use
The procedures described in this section are designed to help you analyze problems that arise in connection with authorizations.
Determining minimum authorization
You can use the following two procedures to determine which authorizations a user requires to carry out a transaction:
Set up authorizations for the relevant transaction and for the SU53 transaction for the user. Then call up the transaction and wait until the authorization check denies you access. Finally, use the SU53 transaction to see what type of authorization check was carried out. Add the missing authorization and repeat the process. This procedure is simple but can be fairly lengthy.
Start an authorization trace using the ST01 transaction and carry out the transaction with a user who has full authorizations. On the basis of the trace, you can see which authorizations were checked.
This procedure generally works well. However, sometimes the result is very surprising because certain programs can and do ignore some authorization checks by using preliminary checks and buffered results. In such cases, these methods are not very effective. You can recognize these cases because certain fields of the corresponding programs are specified with * or DUMMY at some point of the authorization check.
Analyzing authorization problems in an unknown program
The most frequently used method to analyze authorization problems in an unknown program involves you setting the Debugger breakpoints to the AUTHORITY-CHECK and MESSAGE commands. Then execute the program and analyze its behavior.
Determining all the authorizations a user has for an authorization object
When troubleshooting, it is often helpful to find out all the authorizations a specified user has for a specific authorization object. A simple method of reading these authorizations as raw data from the user master record is to execute the GET_AUTH_VALUES function module in the SUSR function group. Use the SE37 transaction or SE80 in test mode to do so. The result table is not formatted for output, but is very compact and easy to understand for authorization experts.
Analyzing an authorization problem that occurs for only one user
It is often the case that a certain authorization problem occurs for only one specific user. This kind of authorization problem generally affects users with no Debugging authorization. If you want to assign a user Debugging authorization without changing the HR authorizations, you can add the S_A.DEVELOP authorization profile (if available) to the user’s authorization profiles. In production systems, note that changes such as these to authorizations enable users (with relevant knowledge of the development environment) to access any system data easily (especially in other clients).
Analyzing an authorization problem that occurs for only one personnel number
Authorization problems that occur for a single personnel number are caused almost always by incorrect settings in the environment of the P_PERNR authorization object.
Authorization problems that are user-independent and occur for a single personnel number are caused almost always by a specialized organizational assignment (or even an incorrect organizational assignment). In this case, you should check the data of the Actions (0000) and Organizational Assignment (0001) infotypes and the relationships with the organizational structure (actively integrated systems) thoroughly.
Analyzing authorization problems in connection with locking and unlocking infotype records
Authorization problems that occur in connection with locking and unlocking infotype records are often caused by the CHECK_AUTH_SET_ENQ (SAPFP50M) form.
Localizing the cause of authorization problems after the import of HR Support Packages
The majority of code for the HR Master Data authorization check is localized in the CL_HRPAD00AUTH_CHECK_STD and CL_HRPAD00AUTH_CHECK_FAST classes, the SAPFP50P report, and the HRAC function group. You can also find smaller parts of code in the SAPDBPAP, SAPDBPNP, and SAPFP50M reports. If authorization problems are caused by HR Support Packages, a good place to start looking for changes to the code is in the above-mentioned classes and reports.
Useful questions for solving authorization problems
Over 90% of SAP’s incoming messages about authorization problems are consulting problems. What is more, in many cases customers are convinced that an error is causing their problems when in fact the problem is due to a misunderstanding of the functions of the corresponding protection mechanism. When analyzing authorization problems, it is therefore important that you can answer the following questions:
What data (which infotype/subtype) did the user access and how (using which transaction or which function of a transaction)?
How did the system react (did it incorrectly allow or deny access)?
How should the system have reacted (should it have allowed or denied the user access)?
Which authorization main switches are set up in the system?
How are the authorizations for the activated authorization checks set up?
Are the data records of the Organizational Assignment infotype (0001) as they should be for the personnel number in question?
2010년 2월 19일 금요일
HR expert - article - Align SAP Time Management with Your Company’s Time Quota Requirements
Many organizations allow employees to exceed their annual leave entitlement quotas to a certain limit, but how do you regulate such quota modifications in SAP ERP? I’ll show you how to configure time quotas that surpass leave entitlement policies and ensure that additional leave time from one year is deducted properly for the subsequent year. Conversely, if your organization doesn’t subtract surplus leave entitlement quotas from one year to the next, I’ll describe how to avoid penalizing employees in SAP ERP for the following year.
Typically, the HR department processes time quotas as part of its year-end activities or at the beginning of each year through time evaluation reports RPTIME00 (for positive time) or RPTQTA00 (for negative time). However, you can use RPTIME00 for both positive and negative time. Some organizations use RPTQTA00 if they perform their time evaluation using the payroll driver instead of RPTIME00. In both situations, your time quotas must be accurate to avoid erroneous time data. I’ll discuss the configuration steps necessary to address the following two business scenarios:
1. A company allows employees to exceed leave entitlement to a certain limit and doesn’t carry over the time quota to the following year
2. A company allows employees to exceed leave entitlement to a certain limit and deducts the additional time used from the following year’s leave entitlement quota
The configuration steps I describe in this article are pertinent to R/3 Release 4.0B and onwards and all SAP ERP releases. Apply these time quota adjustments as needed or on an annual basis, per your company’s requirements
Typically, the HR department processes time quotas as part of its year-end activities or at the beginning of each year through time evaluation reports RPTIME00 (for positive time) or RPTQTA00 (for negative time). However, you can use RPTIME00 for both positive and negative time. Some organizations use RPTQTA00 if they perform their time evaluation using the payroll driver instead of RPTIME00. In both situations, your time quotas must be accurate to avoid erroneous time data. I’ll discuss the configuration steps necessary to address the following two business scenarios:
1. A company allows employees to exceed leave entitlement to a certain limit and doesn’t carry over the time quota to the following year
2. A company allows employees to exceed leave entitlement to a certain limit and deducts the additional time used from the following year’s leave entitlement quota
The configuration steps I describe in this article are pertinent to R/3 Release 4.0B and onwards and all SAP ERP releases. Apply these time quota adjustments as needed or on an annual basis, per your company’s requirements
2010년 2월 16일 화요일
피드 구독하기:
글 (Atom)