Friday, 6 June 2014

Administration: How To Delete Spool Request In Queue That Causing ABAP Runtime Error

Sample of the errors:

1) ABAP runtime error (TCODE: ST22) 

2) List of error that caused by spool request

3) Details of the error

Solution:

1) Execute TCODE: SE38 -> Enter "RSPO0041" -> click the execute button to run the program

2) Click the execute button with all the default value

3) Wait until the delete spool process complete

4) TCODE: SM50 showing the deletion process is running

5) Once deletion complete, execute TCODE: SQ01 to ensure all the spool request been clear completely

6) Sample of spool request before deletion

7) All the previous spool request been remove

Friday, 2 May 2014

Solution Manager: EarlyWatch Alert - Fix for Common Timeout Error on Remote System

Scenario
Encounter timeout error on remote system that caused by the data collection of EarlyWatch Alert.

Relevant SAP Note
1247198 - /SDF.RSORADLD_NEW timeout
984955 - Timeout with selection of V$-Views
838725 - Oracle dictionary statistics and system statistics

Error found on the remote system
1) Sample error from "ST22"

2) Double click to view the details

3) To further investigate the error with "ST11" and locate the trace log that within the time range of the error occur

4) Double click to view the details and search for the activities that occur on the specific time frame


Solution:
1) Prerequisite to ensure the BRTools version: SAP BRTools Release 7.00 Build 15 onwards.

2) To check the BRTools version and update it if required

3) Execute BRCONNECT command to create Oracle dictionary statistics - BRCONNECT internally calls the two procedures GATHER_DICTIONARY_STATS and GATHER_FIXEC_OBJECTS_STATS.

Login with user: ORA<SID> and execute the command below and wait until it complete. It will take couple of minutes depends on the system resources. (brconnect -u / -c -f stats -t oradict_stats)

4) Monitor the process with OS command: "top" with another putty session

5)  Creating Oracle system statistics (NOWORKLOAD) using BRCONNECT
     (brconnect -u / -c -f stats -t system_stats)

6) Creating Oracle system statistics (WORKLOAD) using BRCONNECT
    (brconnect -u / -c -f stats -t system_stats -i <minutes>) - example of 1 minutes

7) That's all, observe the task next cycle or day to determine the error been resolve.









Authorization: Example of Resolving Solution Manager Monitoring Error - RFC_NO_AUTHORITY

Scenario
Encounter authorization error on remote system after setting up of Solution Manager system monitoring.

System used
1) Remote system that been monitor: QAS client: 688

Error found on the QAS
1) TCODE: ST22 showing the list of error

2) Double click for further details

3) Locate the user that been used for the RFC connection


Solution
1) Execute TCODE: ST01 to trace the missing authorization for the user used for the RFC connection.

2) Execute TCODE: SUIM to find the role that required additional settings and select Roles by Complex Selection Criteria

3) Select the relevant user and the filtering object: S_RFC

4) Sample role found and double click to modify the authorization data

5) Click the change button

6) Add the missing authorization

7) That's all and observe the log of the next cycle or day to confirm the RFC error no longer appear.

Wednesday, 2 April 2014

How to view system parameter with SE38

Alternative solution to view system parameter instead of using TCODE: RZ11

Scenario:
Insufficient permission to access RZ11

Solution:
** Assumption of the user with the proper authorization on TCODE: SE38

1) Execute TCODE: SE38 -> Enter "rsparam" in the program textbox -> Click the "Execute" button.

 2) With the default option, click the "Execute" button again

3) Example of the parameter screen generated.

4) Use the search capability to find the relevant parameter.

5) Double click on the relevant parameter name to view the details



Tuesday, 1 April 2014

How to use Parameter IDs (PIDs)

How to use Parameters ID to:

1) Enhance users experience
2) Maintaining users favourites input that will save time and reduce the number of errors

Steps:

1) Example of setting as default value for the user text box in "SU01"

2) To find the PID, with the cursor in the relevant field -> press "F1" to launch the "Performance Assistant" screen -> Click the "Technical Information" button

3) Copy the content of the Parameter ID

4) Enter edit mode of Maintain User of (SU01) for the specific user -> "Parameters" tab -> Paste the PID and enter the default value to be display  in the "Parameter value"

5) When user access to the specific TCODE

6) The user textbox will contains the default value configure earlier

Wednesday, 26 March 2014

How to enforce of authorization in Adhoc query

Scenario:
Read/write access to certain employee group for Basic Pay infotype has been restricted in user authorization profiles but the user was able to generate the pay information that should be filtered when performing an execution of adhoc query with output fields of Basic pay infotype.

Example:
User only authorizes to generate a query for only "non-clerical, clerical and senior clerical" but the query is showing information that suppose to be restricted (query containing information of "manager" group).

The correct query that suppose to be generate:
(ex: for clerical, non-clerical and senior clerical group only)

But query generated contains additional data that need to be restrict according to user authorization:


Solution:
Ensure the authorization object "P_ABAP" be set to value "1" for ABAP program: SAPDBPNP

The incorrect settings:

The correct settings:







How to create HR Adhoc query with SQ01, SQ02, SQ03

Introduction:
The Ad-Hoc query is a tool for building reports and queries on basic data in all areas of the SAP system. When used in HR for Ad-hoc reporting, it offers access to data of all SAP infotypes.

Terms use:
1) Infotypes:  SAP HR uses infotypes to store all relevant employee data required for administration purposes. Ex: Personal Data (Infotype 0002) stores the employee's personal data (i.e., first name, last name, birth date, marital status).

2) InfoSets: semantic layer over the data sources that provide special views of logical databases and determine which fields of a logical database or data source can be evaluated in queries

3) User group: each user can be assigned to several user groups and with appropriate authorization user can change queries or define new ones. User are not allowed to modify queries from other user groups but under certain circumstances queries can be copy and execute.

Procedure to create Ad-hoc reporting

1. Creation of user group
2. Creation of infoset
3. Creation of queries

The transaction codes associated with ABAP Query are

• SQ01 - SAP Query
• SQ02 - Infoset
• SQ03 - User group


Sample creation of the Ad-hoc query:

A) Create/maintain user group: SQ03

1) Execute TCODE: SQ03 -> Select "Environment"->"Query areas"

 2) Select "Global area"
Explanation on work areas:
- Standard area which is client dependant
- Global area which is client independent.
- Global area will requires transport request to create any object in Global area, meaning no separate process for transport request required. If any change is required in any component in future, it can be done in development client and then moved along the landscape.It ensures that all queries under the infoset created in global area will also have to be created in global area.

3) Enter a new user group name and click "Create" button

4) Enter the descriptions

5) In this example we create as a local object

6) system prompt the group created successfully

B) Create new InfoSet: SQ02

1) Execute TCODE: SQ02, enter a new InfoSet name and click "create" button

2) In this example, select "Table join" and enter an table name that will be use in query in the data source option and enter the InfoSet name, Click the "check mark" button

3) Select "Edit" -> "Insert Table"

4) Enter/select additional table that will be use in the reporting

5) Repeat step 4 to add any other relevant tables for the reporting, click the "back" button or "F3" once all the tables added

6) Select "Create empty field groups"  when prompt appear.

7) The InfoSet builder screen appear

8) Begin InfoSet building by select the relevant node on the right panel and follow by right click on the required field to be add into the field group panel

9) Example of fields been add into the fields group

10) Click "local object" when saving the InfoSet.

11) New InfoSet been created successfully


C) Assign InfoSet with User Group: SQ02

1) Execute TCODE: SQ02, enter the newly created InfoSet name and click "Role/User Group Assignment" button

2) Select the relevant user group to assign with.

3) Assignment complete.

D) User group and user assignment for InfoSet: SQ03

1) Enter the InfoSet name and click "Change" button to verify the group been assign

2) User group been assign, select "back" button or "F3".

3) Enter the user group name and click "Assign users and InfoSets" to assign user access for the particular InfoSet

4) Enter the relevant username that can access the InfoSet and click the "Save" button.

E) Assigning InfoSet to Query and Create SAP Query: SQ01

1) Enter a new query name and click the "Create" button.

2) Select the InfoSet.

3) Enter the query title

4) Select the relevant options with the wizard builder.

5) Select the options required

6) Select the options required

7) The sample of the report build

8) Click the "Test" button to view the outcome

9) Depends on options select previously the "program selections" will be vary

10) Sample report of using ABAP List

11) Sample report of using SAP List Viewer