Quantcast
Channel: SCN : Document List - SAP Project Systems (SAP PS)
Viewing all 36 articles
Browse latest View live

Report mapping

$
0
0

When you found a project information system report has problem, or you want to create one refer to the standard one, you may need to know the technical name or form for the standard report, but how to find it? Here, I list some of the mappings for hierarchy and cost element reports.

 

Hierarchy report which can be checked from CJE0:

S_ALR_87013558 -> 12KST1A

S_ALR_87013560 -> 13BUDAKT

S_ALR_87013533 -> 12KST1C

S_ALR_87013540 -> 12CTC1

S_ALR_87013532 -> 12KST1D

S_ALR_87013556 -> 22KST2

S_ALR_87013557 -> 12KST1B

S_ALR_87013559 -> 13BUD1A

S_ALR_87013561 -> 13BUD1B

S_ALR_87013577 -> 10KEF1A

S_ALR_87013532 -> 11ERL1C

S_ALR_87013567 -> 11ERL1D

S_ALR_87015125 -> 12EVA2

S_ALR_87013537 -> 12KST1F

S_ALR_87100185 -> 3CST1

 

Cost element report which can be checked from GR55:

S_ALR_87013542        6PP1

S_ALR_87013543        6PP2

S_ALR_87013544        6PP3

S_ALR_87013545        6PP4

S_ALR_87013546        6PP5

S_ALR_87013547        6PP6

S_ALR_87013548        6PP7

S_ALR_87013549        6PPP

S_ALR_87013555        6PPW

 

 

To be continue...

 

Any additional information is welcome.


SAP PS - Configure Budget Availability Control

$
0
0

Purpose

The purpose of this document is to document the entire Configuration required for Budget Availability Control (BAC) including Budget Profile and Tolerance Limits. At the end of the document, examples of BAC response based on the tolerance limit set are documented.

 

General Information

The configuration for BAC can be divided into two steps

- Maintaining Budget Profile

- Defining Tolerance Limits

 

Maintaining Budget Profile

Detail Configuration steps with screen shots for Budget profile are listed below:

 

Go to Maintain Budget Profile using the Transaction code or Menu Path stated below:

 

 

Transaction CodeOPS9
Menu PathSPRO
> SAP Reference IMG
>>  Project System
>>> Costs
>>>> Budget
>>>>> Maintain Budget Profile<

 

 

IMG1.jpg

 

 

Select “New Entries”

• Profile – Budget Profile Enter the name for the new Budget Profile, say “ZCAP”

 

• Text – Description for Budget Profile

Enter the Description for the Budget Profile, Example -> “Profile for Capital Projects“

 

• Timeframe: Based on the business requirement, specify the number of years in the past/future you would like to plan/budget projects for.

For the purpose of illustration, the budget profile is maintained such that the Budget can be maintained for 5 years in the past/ 5 years in the future and the start year (current year) as the reference point.

 

IMG2.jpg

 

Total values (Indicator): Check this indicator so that overall values can be maintained for budget.

 

Annual values (Indicator): Check this indicator if business prefer to maintain the budget on annual basis.

 

Representation: • Decimal places and the Scaling factor would help in controlling the layout of the filed group values that have constant units.

                            • Decimal Places - Number of Decimal Places (say ‘2’ )

 

IMG3.jpg

 

• Exchange Rate Type – M

 

IMG4.jpg

 

Maintain the exchange rate type that would be used for the BAC calculations.

 

• Program Type Budget - Program type for budgeting In case of Investment Projects, this field will be significant, as this will ensure that WBS elements with a given budget profile cannot receive overall or annual budgets unless the WBS element (or a WBS element above it in the hierarchy) is assigned to a program position of an investment program with the correct program type entered here.

 

Select the Program Type for the Budget Profile, example “Z001”

 

IMG5.jpg

 

• Activation Type – Availability Control Activation Type

 

IMG6.jpg

 

This Field determines whether and how availability control should be activated.

 

IMG7.jpg

 

 

There are three activation types:

 

0 = cannot activate: This activity type may cause an already active availability control to be deactivated.

 

1 = automatic activation when budget is assigned. Upon selecting this activation type, at least one tolerance limit should be maintained for the budget profile.

 

2 = background activation when percentage of consumption is exceeded For the Project used in this illustration, as we want to activate Budget Availability

Control when Budget is allocated, maintained the Activation Type as “1“

 

Usage - Usage in % for background activator.

- Use this indicator, only when the activation type ‘2’ has been used. By maintaining a percentage value in this field, say 50, the system will activate BAC when the assigned funds of the WBS is more than the 50 % of the budget available on the WBS. Since we have opted for Activation type ‘1’ – Automatic activation during Budget allocation, this usage field is left blank.

 

Overall- Availability control against overall value.

- Select the Overall indicator so that the budget checks would be done against the Overall budget values and not against the annual values.

 

 

Object Currency (Indicator) - Availability Control in Object Currency

- In case if business prefers budget checks to be done against the Object currency values, only then check this indicator.

 

Releases(Indicator) - Availability control against releases

- If the business requirement is such that the budget is released as and when required and the budget check accordingly should be for the released budget

only, then check this indicator. If the Budget check needs to be done for the entire amount budgeted, then leave this indicator deselected.

 

 

Budgeting Currency-

- Controlling Area Currency(Indicator) - Budgeting/Planning in the Controlling Area Currency

- Object Currency (Indicator) - Budgeting/Planning in the Object Currency

- Transaction curency (Indicator) - Budgeting/Planning in the Transaction Currency

 

IMG8.jpg

 

Select the Controlling Area currency.

 

• Save the Budget Profile.

 

 

Result

Configuration of Budget Profile is completed for which Tolerance limits are to be set.


Example

Below is the screen shot for Budget Profile ZCAP as an Example.

 

 

IMG9.jpg

 

 

Define Tolerance Limits

Tolerance Limits are set for defining what actions are to be taken when the Budget is overrun. Example: Warning will be shown if the Budget Exceeds 70% of Budget available. Warning with mail to the Person responsible when the Budget Exceeds 90% of Budget available. Hard stop Error will be shown if the Budget Exceeds 100% of Budget available. Different Budget Profiles can have different Tolerance settings.

 

Detail Configuration steps with screen shot for Tolerance limits are listed below:

 

• Go to Maintain Define Tolerance Limits using the Menu Path stated below:

 

Menu PathSPRO --> SAP Reference IMG --> Costs --> Budget --> Tolerance Budget

 

 

Select “New Entries”

• COAr – Controlling Area. Enter Controlling area.

 

• Prof. – Budget Profile

 

Enter Budget Profile for which you want to set the Tolerance Limits. In this example, “ZCAP”

 

Tr. Grp – Tolerance Group

Tolerance Group is the Activity Group for which you want to set the Tolerance

limits.

 

E.g. Activity Group 00 – Purchase Requisition, Tolerance settings for this activity group will be applied only for Budget overrun due to Purchase Requisition.

Below is the list of allowed Activity Groups:

 

IMG10.jpg

 

Select Activity Group “00” for setting Tolerance limits to give warning message and an email when PR exceeds 90% of Budget.

 

Act. - Availability control action

This field indicates what action is triggered if the defined tolerance limit is exceeded.

 

IMG11.jpg

 

Enter “2” in this field as we want a warning message and an email when PR exceeds 90% of Budget.

 

• Usage - Usage rate in %

The "usage" represents the ratio of funds commitments to the budget, expressed as a percentage. If this value is exceeded because of budget reductions or assigned funds in commitments which are too high, the specified action is triggered.

Enter “90” in Usage Field.

 

• Save the Tolerance Limits for PR for 90% Usage.

 

• Below is sample of business requirement for Tolerance Limits for below Activity Group and Budget Profile combinations.

 

IMG12.jpg

 

Result

Tolerance Limits were successfully set for Budget Profiles and Activity Groups.


Example

Below is the screen shot of a Tolerance Settings for Budget profile ZCAP when budget exceeds 90% and 100% of WBS Budget.

 

IMG13.jpg

 

 

Examples of BAC actions:

 

• Created a project (FS00141) and assigned the WBS FS00141 to an Investment Program.

 

• Distributed the budget to the project using transaction IM52 for a value (USD 1000.00).

 

IMG14.jpg

 

• Since the activation type maintained for the budget profile ZCAP is automatic activation upon budget allocation, the status of the WBS for which the budget is

distributed will now be BUDG AVAC

 

• WBS Person responsible is maintained on the WBS

 

IMG14.jpg

 

Now create a PR for USD 901.00, which is 90.1% of the available budget (USD 1000.00). In this example, created PR for qty 1, hence the valuation price is same as the PR amount.

 

IMG16.jpg

 

Check that the account assigned object is the WBS element for which the budget has been maintained.

 

IMG17.jpg

 

• If the requisitioned tries to save the PR, then system will pop-up the below messages

 

IMG18.jpg

IMG19.jpg

 

• Once the PR is saved, a warning mail will be triggered to the person responsible maintained on the WBS. Below is the screen shot of how the message will look like at the SAP Business Workplace (SBWP) in the inbox of the person responsible maintained on the WBS.

 

IMG20.jpg

 

• In the above message, the following details can be noticed.

 

- PR number which has triggered this warning message

- WBS FS00141 for which the PR has been assigned and for which the budget check was done

- Assigned funds are 99.00 USD less than budget which means the available budget on the WBS is now 99.00 USD

 

• For this same WBS copying the above created PR 20001251, if the Purchase Order is tried to create for USD 1001.00 which is a dollar over the budget allocated, the system as per the tolerance limit set (Hard stop error when assigned funds exceed 100% of available budget) should throw a hard stop error.

 

• With reference to PR 20001251, create a PO for USD 1,001.00. Check that the WBS is the same used on the PR and budgeted FS00141

 

• When the buyer, tries to save the PO, the following message window will pop-up and prevents from saving the PO. The message displays the amount by which the available budget exceeded. (USD 1.00)

 

IMG21.jpg

 

IMG22.jpg

 

• Similarly in case of the other activity groups, BAC would trigger appropriate action based on the tolerance limits set.

Archival - Appropriation Request

$
0
0

Appropriation Request - Archival process

 

I have posted some queries regarding archival of appropriation request , I did get some replies, but was unsuccessful in my attempt , since no clear directions , how to archive was not there. I take this opportunity to thank those people made me to attempt the archival process of Appropriation Request. I tried and succeeded in doing the process. Hence I thought , to document these steps in this forum , so that this will be useful for our members.

Step :1  Check if all the appropriation requests have status of Technically completed and closed : Transaction code  IMR6    :

1.jpg

 

Step 2: If the status is not as seen above, Set deletion flag manually Transaction code IMA11. Before marking deletion please ensure to remove manually the investment program and  position id . If failing to do so, you will end up in a error shown below.

2.jpg

 

Step 3: After successfully completing both the above steps - Execute Transaction IM_LKZS3.jpg

Output of Step 3

4.jpg

Now we are ready for the archival of appropriation request that are set deletion indicator successfully.

 

Beginning of Archival;  Transaction Code : SARA

 

Enter "APPREQUEST"  as archiving object and click WRITE

Enter the variant Name and click maintain and select the check box and radio button as shown and choose continue

6.jpg8.jpg

 

Next screen -  Select Archive and click Attributes, enter description and save - it takes you to back to variant screen - save once again the values of the variant ZARDEL_21041A

9.jpg10.jpg

select once again Archive and delete and save  and choose     back arrow 12.jpgtakes to the archive administration  screen below  

11.jpg13.jpgClick start date

Select immediate and save

1.jpg

Click spool parameters of the archive administration screen and fill in all your parameters as per your need. e.g:  time of print, print priority, output device etc.and save now you can see both start date and spool parameters lights are Green - Press execute  and you will see a message new archive job scheduled

7.jpg10.jpg

 

Choose job overview 4 from left to see the job

 

11.jpg

 

Choose Logs to see the statistics of the records archived and deleted -

 

12.jpg13.jpg

14.jpg

 

    Record set to Deletion status are archived and deleted. Now to see the Archived Records use Transaction code "SARI" archive explorer .

 

16.jpg

   Input the AR's that has been archived

17.jpg

  Output list of the above step

 

21.jpg

   Select Disp. Approval Request

19.jpg

 

20.jpg

 

   Hope this will helpful. Request others members to feel free and modify if required.

Embed Custom Fields of WBS in Standard Report CJI3

$
0
0

Purpose

We have done some enhancement for Custom Fields of WBS to be incorporated in Standard Report - CJI3 (Actual Cost Line item)

This document would be useful when client give requirement to see custom fields with Actual line item report for Example: in my case, Client has some specific projects which are maintained by a team and they want to see their line item report along with custom fields which are maintained (Customer Fields maintained using user exit CNEX0007).

Information

 

For Customer Enhancement we have implemented User Exit- CNEX0007 (PS customer specific fields WBS element). for fields we also created Custom table -ZPS_PRPS.

 

Steps 1: Create Project in CMOD

 

1.JPG

Step 2: Enhancement to be Added:

 

Add “COOMEP01

 

2.JPG

Step 3: Components

we have standard Exits for different purpose:

 

      Actual      EXIT_SAPLKAEP_001

      Plan        EXIT_SAPLKAEP_002

      Commitment  EXIT_SAPLKAEP_003

      Budget      EXIT_SAPLKAEP_004

3.JPG

Step 4: Double click on EXIT_SAPLKAEP_001


ABAP code to be added in the exit “EXIT_SAPLKAEP_001

4.JPG

Step 5: Double click on ZXKAEPU01

 


5.JPG

 

Step 6: double click on include “CI_RKPOS”. Add customer required fields as shown below:

 

6.JPG

ABAP Code (select SINGLE * from ZPS_PRPS into CORRESPONDING FIELDS OF CS_RECORD where POSID CS_RECORD-posid.) will fetch all fields in corresponding table and display fields in CJI3.

 

 

Authorization Control:

 

This can be controlled using Authorization Object where if you assign that authorization object to User ID than only these fields will display in CJI3.

 

Below code will be used to control Authorization Object:

 

DATA DUMMY TYPE C.

AUTHORITY-CHECK OBJECT 'Z_ZZCJI3'

          ID 'POSID' FIELD DUMMY

 

Output:

RUN CJI3:

7.JPG

 

Check Field Selection:

8.JPG

Now Report with Fields:

 

9.JPG

Thank you for reading and hope you liked it.

Thank you for your time and feedback!

Suggestions would be appreciated and always welcome to improve Quality of this document.

Warm Regards

Sunil Yadav


S_alr_87013558 Addition of New Field as Value category on selection screen using report painter

$
0
0

HI All,


Recently i had come across one scenario which i would like to share

User required Loan WBS entries should not come in S_ALR_87013558 in actual cost and there should be no negative figure in overall budget report.


Below points you can learn

  • Functionality of report painter to add new fields on the selection screen of report S_ALR_87013558
  • Creation and Importance of global variable
  • How to assign the global variable to report painter

Understanding :

  1. When users are posting any entries on the Loan wbs with cost element, S_ALR_87013558 report available budget goes to negative as cost element  is exempt to control budget.
  2. User required Loan WBS entries should not come in S_ALR_87013558 and there should be no negative figure in overall budget report.

Proposed Solution :
S_ALR_87013558 Actual column consider the two fields for calculating actual cost based on value category in my case.

  • Value category : costs and expenses com - COSTS
  • Value Category : Not assigned cost or Loan entry WBS

1.  We decided to add one more field on the selection screen of the report as Value category.

2.  Based on value category, selection field output of the report will come.
3.  Support in Value category field users had input “COSTS” and while execution, report will not consider the “Not assigned cost” means Loan entry WBS Implementation:

  • Global variable creation
  • Assignment of variable in report painter of S_alr_87013558


1. Global Variable creation using CJEV Transaction CJEV for value category

    

CJEV_Global Variable.jpg

 

2. Edit the report painter :

        Use CJE2 transaction and go to report 12KST1A Costs: budget/actual/commt/rem.plan/assigned report

        Edit the report and then go to actual column

        Double click on that and add the field as Value category

        Assign the global variable to value category field


Note: variable can be local also but Value category field will be mandatory on the selection screen. 

Report Painter.jpg

 

3. Execute the report S_alr_87013558

S_ALR_87013558 Loan entry in actual column - Solution.jpg

 

Now user can see the report with value categories as costs, also budget will be in positive and will not consider the loan entries against wbs

SAP PS- Useful Tables Linkage to fetch data from various tables

$
0
0

Purpose

This document would be useful for beginners who usually post new thread regarding table links. Sometimes we did not able to recall relation between different tables during New Requirement either we have worked before or not.

Information

Plan Cost:

(1) Manual Cost Planning (WBS Elements):

Pass WBS as into PRPS-PSPNR and obtain the PRPS-OBJNR.

Pass PRPS-OBJNR to RPSCO-OBJNR where value type would be RPSCO-WRTTP = 1 and get Plan cost by adding the value of RPSCO table WLP00, WLP01,...to.... WLP16.

(2) Network Costing:

if we does not have network number than Pass WBS number (PRPS-POSID) to AUFK-PSPEL and get AUFK-AUFNR.

Pass the network number to AFKO-AUFNR and obtain AFKO-AUFPL.

Pass AFKO-AUFPL to AFVC-AUFPL and obtain AFVC-OBJNR (object number for Network Activity).

pass AFVC-OBJNR to RPSCO-OBJNR where value type RPSCO-WRTTP = 1 and get Plan cost by adding the valueof RPSCO table WLP00, WLP01,...to.... WLP16

(3) Actual Cost: if you need actual cost from RPSCO table than you should choose WRTTP=4 rest whole logic would be same in above.

other optional table: COEP-CO Object: Line Items (by Period), this table is also useful when we want to create a custom report line item wise or according to Date/period/fiscal year.

Pass OBJNR to COEP-OBJNR and fetch COEP-BELNR, WTGBTR where COEP-WRTTP=4 and VRGNG NE KOAO.

if you need value according to date range

Pass COEP-BELNR to COBK-BELNR fetch COBK-BUDAT

Compare COBK-BUDAT to selection parameter date and select records on or before selection parameter.

If BUDAT is equal or less than selection parameter date which is 01.01.2015 then select this entry.

Compare COBK-BELNR to COEP-BELNR and obtain COEP-WTGBTR

Budget:

Budget Type:

1. Annual Budget

2. Overall Budget

This is defined in budget profile:

   -Only annual budget.
   -Overall Budget.
   -Annual + Overall Budget

BPJA: this table is for Budget Annual: For this we have pass PRPS-OBJNR to BPJA-OBJNR and fetch BPGE-WTJHR.
BPGE: This table is for Budget Overall: For this we have pass PRPS-OBJNR to BPGE-OBJNR and fetch BPGE-WLGES.


In above table we can have link between PRPS and above two tables. we need to pass OBJNR of WBS to BPEG & BPJA table to fetch values.

Status: SAP hase different types of Status as below:

1. System Status: which is SAP Standard Status, User can not interfere with SAP System Status. according to transaction system status would be activated. Example: CRTD, REL, CNF, TECO & CLSD etc

2. User Status: this is a User defined status which user himself creates and use as per business function/process.

Tables:

JEST-Object Status

TJ02-System Status

TJ02T- text for system status

JSTO-Status Object Info

JCDS-change Document for system and user status

TJ30-User Status

TJ30T-Text for user status

if we need status for any object than we should have OBJNR for required object for Example: if we need to fetch status of WBS than Pass PRPS-OBJNR to JEST-OBJNR. this will return like I0001 or I0002 etc which are internal naming but if you want to see text than you should pass I0002 to TJ02T than you will get status as below:

1.JPG

Commitment:

Commitment is a value which are liabilities arising from contractual obligations incurred on time to time basis. i projects we need to estimate our cost/investment.

to get values for commitment we should use below link:

Table COOI-Commitments Management: Line Items

Pass OBJNR of PS object in COOI-OBJNR to get values

other option is Pass OBJNR to RPSCO table and fetch values basis of RPSCO-WRTTP = 21,22,23,24.

Integration with HR:

In SAP we have major integration between PS and HR.

we need to check table:

CATSDB - CATS: Database Table for Time Sheet

this table contain all data posted to HR like time sheet whether this is approved or not.

Pass WBS/Network to fetch time sheet posted by Personnel Number.

 

CATSPS- Cross-Application Time Sheet (CATS): Transfer to PS

This table contain all timesheet which are posted and transfer to PS object.

Pass Network in CATSPS-RNPLNR and get personnel Number and Hours posted Etc.


CATSCO-Cross-Application Time Sheet (CATS): Transfer to CO

This table contain all timesheet which are transferred to CO Object.

Pass WBS to CATSCO-RPROJ and get personnel Number and Hours posted Etc.

 

CATSHR-Cross-Application Time Sheet (CATS): Transfer to HR

This table contain all timesheet which are transferred to HR Object.

Pass WBS to CATSHR-RPROJEXT and get personnel Number and Hours posted Etc.

 

PA0001-HR Master Record: Infotype 0001 (Org. Assignment)

Pass Personnel Number in PA0001-PERNR and get all details of Personnel Number.

 

Integration with MM:

for integration with MM we can refer tables like: EKKN-Account Assignment in Purchasing Document.

 

EKKN- Account Assignment in Purchasing Document

we can pass WBS element to EKKN-PS_PSP_PNR and Network to EKKN-NPLNR to fetch PO related to PS object.

 

EKPO -Purchasing Document Item

we can fetch PO related to Account assignment P, N and Q. for this Pass Account Assignment to EKPO-KNTTP and get PO Number (EBELN). we can also fetch Service PO via Entering item category in EKPO-PSTYP.

 

EBAN - Purchase Requisition

This table is linked with EBKN (Account Assigned PR), and EBKN is linked with all account assigned Objects for example: WBS Element, Network, Plan no.f.oper., To order, Cost Object etc.

 

RESB: Reservation/dependent requirements

if any reservation is created for any object than you will get from this table like:

Pass WBS Element (RESB-PSPEL) and get Reservation number.

 

RKPF : Document Header: Reservation

this table contain data related to reservation. linked to AFKO table via RSNUM

 

there are many more tables like:

EVPOC:-Percentage of completion:

Pass PRPS-OBJNR to EVPOC-OBJNR to fetch Plan or Actual POC

 

COBRA-Settlement Rule for Order Settlement

PRPS-OBJNR=COBRA-OBJNR

COBRB-Distribution Rules Settlement Rule Order Settlement

PRPS-OBJNR=COBRB-OBJNR


COSB-CO Object: Total Variances/Results Analyses

Pass OBJNR and get result analysis data for Object

 

PRTP-Sub Projects

PRPS-SUBPR = PRTP-SUBPR

 

PRHIS-Standard Project Hierarchy

this table is used to identify all hierarchy for a selected Standard WBS

Pass Standard WBS to PRHIS-POSNR and check which is Project ID and Immediate lower WBS and Left and right WBS if available.

 

PRPSS- Standard WBS Element (WBS element) - Master Data

Pass Standard WBS to PRPSS-POSID and get all master data assigned to Standard WBS.

 

PROJS-Standard Project ID

Pass Standard ProjectID to PROJS-POSID and get all master data assigned to Standard Project.

 

 

PLPO- Standard Network Activity

Pass Standard WBS to PLPO-PSPNR to fetch all activity assigned to WBS

 

MLST- Milestones

if you have WBS, than Pass WBS to MLST-PSPNR and fetch Milestone assigned to WBS

if you have network than you need to fetch plan no of operation and counter, pass these to MLST-AUFPL and MLST-APLZL and fetch MLST-MLST_ZAEHL (Milestone number), MLSTN (Usage) etc.

 

SMLS-Standard Milestones

standard milestone are attached to PS objects like standard network.

 

PRTX-WBS PS Text

Pass WBS to PRTX-PRPSPNR to fetch PRTX-PRTXTKY then Pass PRTX-PRTXTKY to PSTX-PSTXTKY and get PSTX-PSTXTTI (Description).

 

PRST-WBS BOM Link

Pass WBS to PRST-PSPNR to get Material (MATNR).

 

QBEW-Project Stock valuation

Pass Material  (QSEW-MATNR) and WBS (QBEW-PSPNR) and get stock and values

 

MSPR-Project Stock

Pass WBS in MSPR-PSPNR and get Material (MSPR-MATNR) with quantity.

 

AFRU-Confirmation

Pass AFRU-AUFNR and AFRU-APLFL to get confirmation details

 

COSS- Cost total for internal posting

Pass Object Number of PS Object and get all values.

 

COSP-Cost total for External Postings.

FMZUOB-Allocation of CO Object to FM Account Assignment

 

VBAK-Sales Document: Header Data

Pass WBS in VBAK-PS_PSP_PNR to get details for sales order

 

VMPA-Selection Methods for Search Help VMPA

When business process is link assembly Process and RRB so we need to check link between Sales Document with WBS.

Pass WBS to VMPA-PS_PSP_PNR to get Sales Order Item or vice versa.


Resource Related Billing tables:


AD01DLI: Dynamic items (DI)

Pass Object number and find all details related to RRB

 

AD01DLISF: DI Flow: Totals Flow

pass DLINR from AD01DLI table

 

AD01DLIEF: DI flow: Individual flow

Pass DLINR from AD01LIEF table

 

Thank you for reading and hope you liked it. I will be regularly updating this Document for rest of important formula/links.

Thank you for your time and feedback!

Suggestions would be appreciated and always welcome to improve Quality of this document.

Warm Regards

Sunil Yadav

Authorization according to Project Profile

$
0
0

Business Case:

 

When Business wants to give access for projects according to any specific object which is not given by SAP Standard than we have to create Custom Authorization Object to suffice this requirement.

 

I have encountered a situation where Business wants to restrict users on basis of Project Profile for Example: If User has Authorization for Profile1 than only user will able to Access/Open that Project having project Profile "Profile1".

 

Solution:

 

For above requirement below are the steps:

 

1: Create Authorization Field

 

The Authorization Object is used to check the user’s privileges for specific data selection. An Object Class contains one or more Authorization Objects.

 

Authorization is controlled by Authorization Object which is assigned/maintained in Profile/Roles and then this Role will be assigned to User Master Record.

 

Create Authorization Field using TCODE-SU20

 

profile.JPG

2: Create Authorization Class (Object Class)

 

Transaction – SU21 Create a new Authorization Class (Object Class) by clicking on the Create button’s drop down icon, then select “Object Class”.

 

profile.JPG

profile.JPG

Enter Object Class Name and Description.

 

3: Create Authorization Object

 

profile.JPG

profile.JPG

Maintain Object name, Text, Class and Authorization Field.

 

4: Assign Authorization Object to Roles

 

TCODE-PFCG

 

profile.JPG

 

5: Code to Check this Object in User Master Record.

for this ABAP Consultant has created as below

profile.JPG

profile.JPG

Code Behind report source "LCJWBF0Z" is:

 

*----------------------------------------------------------------------*

*       FORM Profil

*----------------------------------------------------------------------*

*       Profil lesen und in PROJ ablegen

*       Sonstige Standardwerte bei Anlegen in PROJ fuellen

*----------------------------------------------------------------------*

*  -->  Profid    Id

*----------------------------------------------------------------------*

form profil using value(pro_id) like tcj41-profidproj.

 

ENHANCEMENT ZPSPROFILE.  

     AUTHORITY-CHECK OBJECT 'ZPSPROFILE'

            ID 'PROFL' FIELD '*' .

         if sy-subrc = 0 .

           else.

 

          if pro_id = 'ZLGLPRO' .

             AUTHORITY-CHECK OBJECT 'ZPSPROFILE'

              ID 'PROFL' FIELD pro_id." '__________'.

                if sy-subrc <>  0 .

              MESSAGE 'No Authorization for ZLGLPRO' type 'E' .

              endif.

         else.

 

           AUTHORITY-CHECK OBJECT 'ZPSPROFILE'

              ID 'PROFL' FIELD pro_id." '__________'.

              if sy-subrc <> 0 .

              MESSAGE 'NOT Authorized ' type 'E' .

             endif.

 

 

          endif.

      endif.

   

ENDENHANCEMENT.

 

 

Testing for above Code:

 

Check Authorization:

 

profile.JPG

If we create/change Project where Project Profile as ZCAPEX than system will allow to User to create/change

 

profile.JPG

System will allow to create/change

 

Now check with Other project Profile:

 

profile.JPG

 

Now system generate Error Message for Authorization.

 

Hope, this will Help a lot.

Enjoy SAP..

PS Reports Graphical Output Saving Default or Individual User layouts

$
0
0

In drilldown reports such as 12KST1D      Plan/act. compare   & 12KST1C      Plan/Act./Cmmt/ResPl

 

You can save the layout via menu path Report > save layout.

This is then the default for all users of the report(s) until either a) the
layout is changed again or b) the report is re-generated.

 

In the graphical report you should be able to save the layout for individual users.

The following briefly describes how all things should work in drill-down reporting.

In particular, see the example at the bottom.

 

Terms (what and when you can save):


1. variant

   - You can save settings of selection screen (variable    values, selection options etc.)

   - You can save it only during selection screen processing (save  should not change, layout, data and definition)

   - Saved data should visible for all users - it can not be user  dependent

 

2. layout

   - You can save size of the windows, column widths, type of graph (you can not save actual drill down, hierarchy settings etc.)

   - You can do it only in graphical report output (not classic - text) in executed report

   - Layout is always user dependent and nobody can overwrite your own layout

    (To delete layouts, to go to report definition, change report output type and save report)

 

3. definition
   - You can save actual drilldown position or detail focus, hierarchy variant settings, number formats, etc

   - You can save it in executed drilldown report and in classic and graphic layout

   - definition is user independent and during save of definition also layout of actual user is saved

     (layout is user dependent as in above case only definition is general)

 

4. data

   - You can save data selected into drilldown report, you can do it only if new data selection was done
     (report was not executed with old saved data) and you can not do it if 'read upon each step' is turned on.

   - It works in graphical and classical report output too

   - Saved data is user independent, old saved data are overwritten
     (some applications have special functionality in this area but  generally only one saved data are supported by drilldown rep)
     if you save data then save of definition and layout is done automatically because data are relevant only for actual drilldown
     position and with report definition the layout is saved  automatically.

 

- To save variant you can use menu items or 'save' icon but only on selection screen

- To save layout you have to use menu item 'Report/Save Layout' in graphical output (this menu item does not exist in classic drilldown)

- To save definition you can use menu item 'Report/Save definition' or icon 'Save' on tool bar

- to save data you can use menu item 'Report/Save data'

 

Example:

 

Two users A and B will execute same drilldown report in graphical output

  they now see  absolutely same screen and same data

 

- User A will change size of header part (he moves splitter) and do  save of layout.

  NOTE: (menu item not icon, icon is for definition)

- Both will execute report again but user A has own layout, user B has  'default' layout

 

- Now user B will change for example actual characteristic and save  the definition (menu item or icon on tool bar)

 

- User A will change size of header part (he moves splitter) and do  save of layout.

  NOTE: (menu item not icon, icon is for definition)

- Both will execute report again but user A has own layout, user B has 'default' layout

 

- Now user B will change for example actual characteristic and save  the definition (menu item or icon on tool bar)


Validation to restrict creation of wbs upto 4th level

$
0
0

In any SAP PS Project usually we get requirement related to Validations. So i am describing one of my Experience where Business does not want to create WBS beyond 4th Level.

 

Document describes How to create validation to prohibited Max WBS level code is 4 in project structure.

if client have kind of requirement like system prohibited to create <=4 level wbs in project.

hope this will help directly if any one get same requirement. generally this kind of requirement consultant face always

 

Validation: You can check values and combinations of values as they are being entered in the SAP environment. Validation rules are stored in the Rule Manager; as data is entered, the Integration Manager validates the data against the validation rules stored in the Rule Manage.

 

Regards,

Sanjeev

Customizing for Easy Cost Planning (ECP)

$
0
0


Easy Cost Planning (or simply ECP) represents one of the planning methods available in SAP PS module.  In reality ECP is a cross-functional environment being also available for other objects outside of PS module.  It is probably the most user-friendly planning environment available in standard SAP ECC and quite often neglected by the project implementation teams.

 

This article has no objective to cover A to Z customizing process and give away all hints and tips, instead it should give you a flavor of available options and stimulate to discover more.

 

Below I will include few customizing steps to start up with a process.  First you need to define a CO version for ECP, I recommend it as ECP exclusive version and it does not restrict you on anything since copying between versions is available.

 

ECP-001.PNG

 

I will call the version ECP for easier association:

ECP-002.PNG

 

Next we need to define the ECP version as "ECP relevant" version:

ECP-003.PNG

 

If necessary the Revenue planning from Billing Plan can be also activated:

 

ECP-004.PNG

 

There is a standalone IMG activity to include NWA with ECP if necessary:

ECP-005.PNG

 

ECP-006.PNG


I will assign standard Costing Variant PS06 to ECP version:

ECP-007.PNG

ECP-008.PNG

 

I will also activate multiple CO versions with ECP as it does not change much for the purpose of this demo, but has a slight impact on the interface:

ECP-009.PNG

ECP-010.PNG

 

Next I can go to the Project Builder and open for editing my sample project for ECP testing:

ECP-011.PNG

Once you click on ECP icon (third from right hand side on the icon's bar) the following pop-up window will display:

ECP-012.PNG

 

You will need to create on the New icon as shown by the arrow on above screen.  Once the ECP version is taken to the list you can start editing by selecting an Edit icon as shown on the below screen:

ECP-013.PNG

 

Next the ECP screen will open, on the left hand side it contains the project hierarchy same as with the Project Builder:

ECP-014.PNG

 

I recommend creating a Planning forms (models) for every "standard" WBS-element or "working package":

ECP-015.PNG

The Costing models are created in transaction CKCM:

ECP-016.PNG

 

ECP-017.PNG

Now back to the ECP screen I will select a relevant Costing Model:

ECP-018.PNG

 

Finally, after a model selection I can get into my custom planning screen:

ECP-019.PNG


The back end of the above screen is the html, means you have almost unlimited design options to make it customer specific and nice looking too.

 

 

Below I will summarize some of the business benefits around the use of ECP:

  1. ECP is a standard SAP ECC functionality (no interfaces, instant data update, no additional user licenses, standard reporting);
  2. Business users can execute the planning operating with their own terminology and dimensions, while GL accounts mapping can be preconfigured in the background;
  3. Previous point can enforce consistent planning across organization, because users are not entering GL accounts directly, but the system does it in the background;
  4. Possibility to include non-financial data into the planning (comments, quantities, physical characteristics, etc) and save it together with financial data;
  5. Possibility to execute calculations with predefined formulas in background (example daily rate x number of days or 10% surcharge on total cost);
  6. Highly customizable end-user interface to design the planning screen layouts according to the planning subject and geography for example;
  7. WBS and Network Activity integrated planning on the same screen;
  8. Possibility to lock/unlock planning data with specific authorization;
  9. Possibility for manual cost phasing with value dates;
  10. Visibility of the business user behind latest data changes (some auditing).


Thank you for your time and attention.

Usefull report for PS for Project Managers/Directors

$
0
0

Hi all,

 

I have try to search to find a article / doc about useful report for PS, but unable to find any. I know we can go to shortcut menu and find bunch of reports, however its hard to find which one is the useful one. So I want to share my finding on the report I found can help the Project managers/directors to track the status of multiple project along with some of the detail reports.

 

NoCategoryReportUsage
1CostS_ALR_87100190 - Plan/Actual/Variance for Each Project and Person ResponsibleShows variance(plan vs actual) of each project/person responsible - suitable for multiple project selection
2CostS_ALR_87013532 - Plan/Actual/Variance (more detail)Shows variance(plan vs actual) of each project/person responsible in detail
4CostS_ALR_87013533 - Plan/Actual/Cmmt/Rem.Plan/AssignedShows the plan,actual,cmmt,rem.plan and assigned costs
5BudgetS_ALR_87013557 - Budget/Actual/VarianceShows budget,actual costs, and variance - suitable for multiple project selection
7LogisticME5J Purchase Requisitions for ProjectShows PR at project level selection
8LogisticME2J Purchasing Documents for ProjectShows PO at project level selection
9LogisticMD4C - Order ReportShows Planned orders and its component
10LogisticCN44N - Planned OrdersShow Planned order and its basic start/ end date
11CostS_ALR_87013542 - Actual/Commitment/Total/Plan in CO Area CurrencyActual / Commt ./ Total / Plan base on Cost element
12RevenueS_ALR_87013566 - Actual Contribution MarginShows Revenue contributed by projects - suitable for multiple project selection
13CostS_ALR_87013533 - Plan/Actual/Commitment/Rem.Plan/AssignedCan be use as indication of progress
14BudgetS_ALR_87013558 - Budget/Actual/Commitment/Rem. Plan/AssignedShows all comparison of Budget v/s Actual v/s Assigned Amount
15CostCJI3 - Actual Line itemsShows all actual line item posted to WBS/Activity
16LogisticsCJI5 - Commitment Line ItemsShows all PR/PO raised for WBS/Network Activity

 

 

This 3 reports should really be use by the Project director which can quickly indicate the progress of multiple projects;

 

S_ALR_87100190 - Plan/Actual/Variance for Each Project and Person Responsible - understand which project having cost burst

S_ALR_87013557 - Budget/Actual/Variance  - understand which project having budget burst

S_ALR_87013566 - Actual Contribution Margin  - understand which project having profit / loss


Just configure a selection profile to select specific project with execution status / budget approved level, along with some restriction such as company code etc. These report also can quickly connect to CJI3 and will show the exact same amount contribute to the cost.



,

Improve CATS reporting for SAP PS with SQVI table join

$
0
0

Business Case:

 

In the time reporting process with CATS quite often the account assignment object is a PMWork Order.  It is a typical PS/PM integration scenario when PM work orders are assigned either to the WBS or to the NWA.  As result of that the CATS_DA report gives the output with Work Orders only.  Same time a common business requirement is to report hours by WBS, as well as provide management with statistics on CAPEX/OPEX breakdown (for example) that normally can be done only based on the WBS information.  Furthermore WBS-elements contain additional characteristics like Person Responsible, Responsible Cost Center, and JVA related fields.  All these additional fields can be important from reporting perspective.

 

Solution:

 

I will use SQVI transaction to create a query based on a simple Table join:

 

SQVI_104.PNG

 

Next I will link three tables as a minimum set of data: CATSDB, AUFK, and PRPS.

 

SQVI_105.PNG

 

I will need AUFK table to get the order link with WBS table, and PRPS to get WBS information.


Finally you can select the List fields and Selection fields for all the tables involved:


SQVI_500.png

 

Another common question is how to share the query with other business users.  Use transaction code SQ02.

Select from the menu Settings -> Settings and select the flag for Display system objects:

 

SQVI_501.png


Select from the menu Environment -> Query areas and select the radio button for Standard area:

 

SQVI_502.png

Next you can easily find your QV by the User Name:

 

SQVI_503.png

If you click on Role/User Group Assignment you can take a note of system generated User Group (it has a standard prefix SYSTQV followed by sequential number).  Next you can edit the User Group and assign additional users if needed.

 

Another (and probably better) alternative is to create a Z t-code for the SQVI generated program in SE93.

 

There are many more opportunities around SQVI to polish and improve it further, but this sample is hopefully enough to get you a quick start.

 

Thank you for your time and feedback!


Report mapping

$
0
0

When you found a project information system report has problem, or you want to create one refer to the standard one, you may need to know the technical name or form for the standard report, but how to find it? Here, I list some of the mappings for hierarchy and cost element reports.

 

Hierarchy report which can be checked from CJE0:

S_ALR_87013558 -> 12KST1A

S_ALR_87013560 -> 13BUDAKT

S_ALR_87013533 -> 12KST1C

S_ALR_87013540 -> 12CTC1

S_ALR_87013532 -> 12KST1D

S_ALR_87013556 -> 22KST2

S_ALR_87013557 -> 12KST1B

S_ALR_87013559 -> 13BUD1A

S_ALR_87013561 -> 13BUD1B

S_ALR_87013577 -> 10KEF1A

S_ALR_87013532 -> 11ERL1C

S_ALR_87013567 -> 11ERL1D

S_ALR_87015125 -> 12EVA2

S_ALR_87013537 -> 12KST1F

S_ALR_87100185 -> 3CST1

 

Cost element report which can be checked from GR55:

S_ALR_87013542        6PP1

S_ALR_87013543        6PP2

S_ALR_87013544        6PP3

S_ALR_87013545        6PP4

S_ALR_87013546        6PP5

S_ALR_87013547        6PP6

S_ALR_87013548        6PP7

S_ALR_87013549        6PPP

S_ALR_87013555        6PPW

 

 

To be continue...

 

Any additional information is welcome.

SAP PS - Configure Budget Availability Control

$
0
0

Purpose

The purpose of this document is to document the entire Configuration required for Budget Availability Control (BAC) including Budget Profile and Tolerance Limits. At the end of the document, examples of BAC response based on the tolerance limit set are documented.

 

General Information

The configuration for BAC can be divided into two steps

- Maintaining Budget Profile

- Defining Tolerance Limits

 

Maintaining Budget Profile

Detail Configuration steps with screen shots for Budget profile are listed below:

 

Go to Maintain Budget Profile using the Transaction code or Menu Path stated below:

 

 

Transaction CodeOPS9
Menu PathSPRO
> SAP Reference IMG
>>  Project System
>>> Costs
>>>> Budget
>>>>> Maintain Budget Profile<

 

 

IMG1.jpg

 

 

Select “New Entries”

• Profile – Budget Profile Enter the name for the new Budget Profile, say “ZCAP”

 

• Text – Description for Budget Profile

Enter the Description for the Budget Profile, Example -> “Profile for Capital Projects“

 

• Timeframe: Based on the business requirement, specify the number of years in the past/future you would like to plan/budget projects for.

For the purpose of illustration, the budget profile is maintained such that the Budget can be maintained for 5 years in the past/ 5 years in the future and the start year (current year) as the reference point.

 

IMG2.jpg

 

Total values (Indicator): Check this indicator so that overall values can be maintained for budget.

 

Annual values (Indicator): Check this indicator if business prefer to maintain the budget on annual basis.

 

Representation: • Decimal places and the Scaling factor would help in controlling the layout of the filed group values that have constant units.

                            • Decimal Places - Number of Decimal Places (say ‘2’ )

 

IMG3.jpg

 

• Exchange Rate Type – M

 

IMG4.jpg

 

Maintain the exchange rate type that would be used for the BAC calculations.

 

• Program Type Budget - Program type for budgeting In case of Investment Projects, this field will be significant, as this will ensure that WBS elements with a given budget profile cannot receive overall or annual budgets unless the WBS element (or a WBS element above it in the hierarchy) is assigned to a program position of an investment program with the correct program type entered here.

 

Select the Program Type for the Budget Profile, example “Z001”

 

IMG5.jpg

 

• Activation Type – Availability Control Activation Type

 

IMG6.jpg

 

This Field determines whether and how availability control should be activated.

 

IMG7.jpg

 

 

There are three activation types:

 

0 = cannot activate: This activity type may cause an already active availability control to be deactivated.

 

1 = automatic activation when budget is assigned. Upon selecting this activation type, at least one tolerance limit should be maintained for the budget profile.

 

2 = background activation when percentage of consumption is exceeded For the Project used in this illustration, as we want to activate Budget Availability

Control when Budget is allocated, maintained the Activation Type as “1“

 

Usage - Usage in % for background activator.

- Use this indicator, only when the activation type ‘2’ has been used. By maintaining a percentage value in this field, say 50, the system will activate BAC when the assigned funds of the WBS is more than the 50 % of the budget available on the WBS. Since we have opted for Activation type ‘1’ – Automatic activation during Budget allocation, this usage field is left blank.

 

Overall- Availability control against overall value.

- Select the Overall indicator so that the budget checks would be done against the Overall budget values and not against the annual values.

 

 

Object Currency (Indicator) - Availability Control in Object Currency

- In case if business prefers budget checks to be done against the Object currency values, only then check this indicator.

 

Releases(Indicator) - Availability control against releases

- If the business requirement is such that the budget is released as and when required and the budget check accordingly should be for the released budget

only, then check this indicator. If the Budget check needs to be done for the entire amount budgeted, then leave this indicator deselected.

 

 

Budgeting Currency-

- Controlling Area Currency(Indicator) - Budgeting/Planning in the Controlling Area Currency

- Object Currency (Indicator) - Budgeting/Planning in the Object Currency

- Transaction curency (Indicator) - Budgeting/Planning in the Transaction Currency

 

IMG8.jpg

 

Select the Controlling Area currency.

 

• Save the Budget Profile.

 

 

Result

Configuration of Budget Profile is completed for which Tolerance limits are to be set.


Example

Below is the screen shot for Budget Profile ZCAP as an Example.

 

 

IMG9.jpg

 

 

Define Tolerance Limits

Tolerance Limits are set for defining what actions are to be taken when the Budget is overrun. Example: Warning will be shown if the Budget Exceeds 70% of Budget available. Warning with mail to the Person responsible when the Budget Exceeds 90% of Budget available. Hard stop Error will be shown if the Budget Exceeds 100% of Budget available. Different Budget Profiles can have different Tolerance settings.

 

Detail Configuration steps with screen shot for Tolerance limits are listed below:

 

• Go to Maintain Define Tolerance Limits using the Menu Path stated below:

 

Menu PathSPRO --> SAP Reference IMG --> Costs --> Budget --> Tolerance Budget

 

 

Select “New Entries”

• COAr – Controlling Area. Enter Controlling area.

 

• Prof. – Budget Profile

 

Enter Budget Profile for which you want to set the Tolerance Limits. In this example, “ZCAP”

 

Tr. Grp – Tolerance Group

Tolerance Group is the Activity Group for which you want to set the Tolerance

limits.

 

E.g. Activity Group 00 – Purchase Requisition, Tolerance settings for this activity group will be applied only for Budget overrun due to Purchase Requisition.

Below is the list of allowed Activity Groups:

 

IMG10.jpg

 

Select Activity Group “00” for setting Tolerance limits to give warning message and an email when PR exceeds 90% of Budget.

 

Act. - Availability control action

This field indicates what action is triggered if the defined tolerance limit is exceeded.

 

IMG11.jpg

 

Enter “2” in this field as we want a warning message and an email when PR exceeds 90% of Budget.

 

• Usage - Usage rate in %

The "usage" represents the ratio of funds commitments to the budget, expressed as a percentage. If this value is exceeded because of budget reductions or assigned funds in commitments which are too high, the specified action is triggered.

Enter “90” in Usage Field.

 

• Save the Tolerance Limits for PR for 90% Usage.

 

• Below is sample of business requirement for Tolerance Limits for below Activity Group and Budget Profile combinations.

 

IMG12.jpg

 

Result

Tolerance Limits were successfully set for Budget Profiles and Activity Groups.


Example

Below is the screen shot of a Tolerance Settings for Budget profile ZCAP when budget exceeds 90% and 100% of WBS Budget.

 

IMG13.jpg

 

 

Examples of BAC actions:

 

• Created a project (FS00141) and assigned the WBS FS00141 to an Investment Program.

 

• Distributed the budget to the project using transaction IM52 for a value (USD 1000.00).

 

IMG14.jpg

 

• Since the activation type maintained for the budget profile ZCAP is automatic activation upon budget allocation, the status of the WBS for which the budget is

distributed will now be BUDG AVAC

 

• WBS Person responsible is maintained on the WBS

 

IMG14.jpg

 

Now create a PR for USD 901.00, which is 90.1% of the available budget (USD 1000.00). In this example, created PR for qty 1, hence the valuation price is same as the PR amount.

 

IMG16.jpg

 

Check that the account assigned object is the WBS element for which the budget has been maintained.

 

IMG17.jpg

 

• If the requisitioned tries to save the PR, then system will pop-up the below messages

 

IMG18.jpg

IMG19.jpg

 

• Once the PR is saved, a warning mail will be triggered to the person responsible maintained on the WBS. Below is the screen shot of how the message will look like at the SAP Business Workplace (SBWP) in the inbox of the person responsible maintained on the WBS.

 

IMG20.jpg

 

• In the above message, the following details can be noticed.

 

- PR number which has triggered this warning message

- WBS FS00141 for which the PR has been assigned and for which the budget check was done

- Assigned funds are 99.00 USD less than budget which means the available budget on the WBS is now 99.00 USD

 

• For this same WBS copying the above created PR 20001251, if the Purchase Order is tried to create for USD 1001.00 which is a dollar over the budget allocated, the system as per the tolerance limit set (Hard stop error when assigned funds exceed 100% of available budget) should throw a hard stop error.

 

• With reference to PR 20001251, create a PO for USD 1,001.00. Check that the WBS is the same used on the PR and budgeted FS00141

 

• When the buyer, tries to save the PO, the following message window will pop-up and prevents from saving the PO. The message displays the amount by which the available budget exceeded. (USD 1.00)

 

IMG21.jpg

 

IMG22.jpg

 

• Similarly in case of the other activity groups, BAC would trigger appropriate action based on the tolerance limits set.

Improve CATS reporting for SAP PS with SQVI table join

$
0
0

Business Case:

 

In the time reporting process with CATS quite often the account assignment object is a PMWork Order.  It is a typical PS/PM integration scenario when PM work orders are assigned either to the WBS or to the NWA.  As result of that the CATS_DA report gives the output with Work Orders only.  Same time a common business requirement is to report hours by WBS, as well as provide management with statistics on CAPEX/OPEX breakdown (for example) that normally can be done only based on the WBS information.  Furthermore WBS-elements contain additional characteristics like Person Responsible, Responsible Cost Center, and JVA related fields.  All these additional fields can be important from reporting perspective.

 

Solution:

 

I will use SQVI transaction to create a query based on a simple Table join:

 

SQVI_104.PNG

 

Next I will link three tables as a minimum set of data: CATSDB, AUFK, and PRPS.

 

SQVI_105.PNG

 

I will need AUFK table to get the order link with WBS table, and PRPS to get WBS information.


Finally you can select the List fields and Selection fields for all the tables involved:


SQVI_500.png

 

Another common question is how to share the query with other business users.  Use transaction code SQ02.

Select from the menu Settings -> Settings and select the flag for Display system objects:

 

SQVI_501.png


Select from the menu Environment -> Query areas and select the radio button for Standard area:

 

SQVI_502.png

Next you can easily find your QV by the User Name:

 

SQVI_503.png

If you click on Role/User Group Assignment you can take a note of system generated User Group (it has a standard prefix SYSTQV followed by sequential number).  Next you can edit the User Group and assign additional users if needed.

 

Another (and probably better) alternative is to create a Z t-code for the SQVI generated program in SE93.

 

There are many more opportunities around SQVI to polish and improve it further, but this sample is hopefully enough to get you a quick start.

 

Thank you for your time and feedback!



BDC for CJIC (Automation of Line Item Settlement Rule creation)

$
0
0

Purpose

CJIC (Display Project Settlement Line Item) is used to create line item settlement rules. In this transaction, user is able to create settlement rule per line item or by selecting all line item and create one settlement rule for all.

Now, we got requirement to Automate this process where user will give Excel file with data and settlement Rule will be created accordingly.

Information

 

For this requirement, we have created BDC recording as follows:

 

Transaction Code- SHDB

 

Capture1.JPG

Click Start Recording

 

Capture2.JPG

Enter WBS Element as per above screen

 

and Execute

 

Capture3.JPG

 

Select Line item

 

Capture4.JPG

 

click Final Settlement and enter details as below

 

Capture5.JPG

 

click back

 

Capture6.JPG

 

line item will be displayed as Green and then Save

 

Now check below BDC recording output. this needs to be used by ABAP Consultant.

 

0000TCJIC                                                                                                                              
RKPEP012                               1000X
0000BDC_CURSOR                                                                                                                         CN_PSPNR-LOW
0000BDC_OKCODE                                                                                                                         =ONLI
0000CN_PSPNR-LOW                                                                                                                       N-00002.001
0000P_AFABE                                                                                                                           1
0000P_DISVAR                                                                                                                           /RITESH-1
0000BDC_SUBSCR                                                                                                                         SAPLSSEL                                2001%_SUBSCREEN_%_SUB%_CONTAINER
0000BDC_SUBSCR                                                                                                                         SAPLSSEL                                2002SUBSCREEN_CONTAINER2
SAPMSSY0                               0120X
0000BDC_CURSOR                                                                                                                         04/03
0000BDC_OKCODE                                                                                                                         =BURG
SAPLKOBS                               0130X
0000BDC_CURSOR                                                                                                                         COBRB-PROZS(01)
0000BDC_OKCODE                                                                                                                         /00
0000COBRB-KONTY(01)                                                                                                                   FXA
0000DKOBR-EMPGE(01)                                                                                                                   42000000
0000COBRB-PROZS(01)                                                                                                                   100
0000BDC_SUBSCR                                                                                                                         SAPLKOBS                                0205BLOCK1
SAPLKOBS                               0130X
0000BDC_CURSOR                                                                                                                         COBRB-KONTY(01)
0000BDC_OKCODE                                                                                                                         =BACK
0000BDC_SUBSCR                                                                                                                         SAPLKOBS                                0205BLOCK1
SAPMSSY0                               0120X
0000BDC_CURSOR                                                                                                                         04/03
0000BDC_OKCODE                                                                                                                         =BSAV

 

Now ABAP Consultant will work and complete the program.

 

Please check below program to updated by ABAP Person (Courtesy: Mr. Sadruz Ansari):

 

 

REPORT ZPS_CJIC_SETTLEMENT_RULE. "       no standard page heading line-size 255.

 

 

 

 

*HANDLING TABLE CONTROL IN BDC

DATA : BEGIN OF IT_DUMMY OCCURS 0,

         DUMMY(100) TYPE C,

       END OF IT_DUMMY.

TYPES : BEGIN OF IT_CJIC ,

          PSPNR TYPE PRPS_R-POSID,    " WBS Number

          KONTY TYPE TBO01-OBART_LD,  "Account assignment category

          EMPGE TYPE DKOBR-EMPGE,     "Fixed Assets Number

 

 

          REFBN TYPE KAEP_COAC-REFBN, "Reference Document Number

          MATNR TYPE KAEP_COEP_X-MATNR,  " material No.

          REFBZ TYPE KAEP_COAC-REFBZ,  " Posting Row

        END OF IT_CJIC.

DATA : IT_BDCDATA     LIKE BDCDATA OCCURS 0 WITH HEADER LINE,

       IT_BDCMSGCOLL  LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE,

       WIT_BDCMSGCOLL TYPE BDCMSGCOLL.

 

 

TYPES:

   FS_STRUCT(4096) TYPE C OCCURS 0 .

 

 

DATA:

  W_STRUCT TYPE FS_STRUCT.

DATA:

  T_FIELD    TYPE STANDARD TABLE OF IT_CJIC,

  E_FIELD    TYPE STANDARD TABLE OF IT_CJIC,

  S_FIELD    TYPE STANDARD TABLE OF IT_CJIC,

  EXPORT_FLD TYPE STANDARD TABLE OF IT_CJIC,

  TR_FIELD   TYPE STANDARD TABLE OF IT_CJIC,

  T_BDCDATA  LIKE TABLE OF BDCDATA,

  T_LFBK     TYPE STANDARD TABLE OF LFBK,

 

 

  W_FIELD    TYPE IT_CJIC,

  W_LFBK     TYPE LFBK.

 

 

TYPES : BEGIN OF TY_CJIC ,

          BANKS     TYPE LFBK-BANKS,

          LIFNR(10) TYPE C,    

          BANKL     TYPE LFBK-BANKL,

          BANKN     TYPE LFBK-BANKN,

          KOINH     TYPE LFBK-KOINH,

          BKONT     TYPE LFBK-BKONT,

          BVTYP     TYPE LFBK-BVTYP,

          BKREF     TYPE LFBK-BKREF,

        END OF TY_CJIC.

 

 

DATA: IT_XK02 TYPE STANDARD TABLE OF TY_CJIC,

      IT_SUCC TYPE STANDARD TABLE OF TY_CJIC,

      WA_XK02 TYPE TY_CJIC.

 

 

PARAMETERS:

  P_FILE   TYPE RLGRAP-FILENAME.                  " File Path

 

 

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.

  CALL FUNCTION 'F4_FILENAME'

    EXPORTING

      PROGRAM_NAME  = SYST-CPROG

      DYNPRO_NUMBER = SYST-DYNNR

      FIELD_NAME    = ' '

    IMPORTING

      FILE_NAME     = P_FILE.

 

 

START-OF-SELECTION.

 

 

  CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'

    EXPORTING

      I_FIELD_SEPERATOR    = 'X'

      I_LINE_HEADER        = 'X'

      I_TAB_RAW_DATA       = W_STRUCT

      I_FILENAME           = P_FILE

    TABLES

      I_TAB_CONVERTED_DATA = T_FIELD

    EXCEPTIONS

      CONVERSION_FAILED    = 1

      OTHERS               = 2.

 

 

  DATA : FNAM(20) TYPE C,

         IDX      TYPE CHAR3,

         IDX1     TYPE CHAR3,

         VAR      TYPE I,

         VAR1     TYPE I,

         CONTROL  TYPE CHAR5.

 

 

  IF NOT T_FIELD  IS INITIAL.

 

 

    EXPORT_FLD[] = T_FIELD[].

 

 

    EXPORT EXPORT_FLD TO MEMORY ID 'CJIC_FLD'.

    CONTROL  = 'B_CJIC'.

    EXPORT CONTROL TO  MEMORY ID 'BDC_CJIC'.

 

 

 

 

  ENDIF.

 

 

 

 

  LOOP AT T_FIELD INTO W_FIELD.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

      EXPORTING

        INPUT  = W_FIELD-MATNR

      IMPORTING

        OUTPUT = W_FIELD-MATNR.

 

 

 

 

    APPEND W_FIELD TO TR_FIELD.

    EXPORT TR_FIELD TO MEMORY ID 'CJIC_WA'.

 

 

    PERFORM BDC_DYNPRO      USING 'RKPEP012' '1000'.

    PERFORM BDC_FIELD       USING 'BDC_CURSOR'

                                  'CN_PSPNR-LOW'.

    PERFORM BDC_FIELD       USING 'BDC_OKCODE'

                                  '=ONLI'.

    PERFORM BDC_FIELD       USING 'CN_PSPNR-LOW'

                                  W_FIELD-PSPNR  .

**                                  'N-00002.001'.

    PERFORM BDC_FIELD       USING 'P_AFABE'

                                  ' 1'.

    PERFORM BDC_FIELD       USING 'P_DISVAR'

                                  '/RITESH-1'.

    PERFORM BDC_DYNPRO      USING 'SAPMSSY0' '0120'.

    PERFORM BDC_FIELD       USING 'BDC_CURSOR'

                                  '04/03'.

    PERFORM BDC_FIELD       USING 'BDC_OKCODE'

                                  '=BURG'.

    PERFORM BDC_DYNPRO      USING 'SAPLKOBS' '0130'.

    PERFORM BDC_FIELD       USING 'BDC_CURSOR'

                                  'COBRB-URZUO(01)'.

    PERFORM BDC_FIELD       USING 'BDC_OKCODE'

                                  '=BACK'.

    PERFORM BDC_FIELD       USING 'COBRB-KONTY(01)'

                                  W_FIELD-KONTY.

*                                  'fxa'.

    PERFORM BDC_FIELD       USING 'DKOBR-EMPGE(01)'

                                   W_FIELD-EMPGE.

 

 

 

 

    PERFORM BDC_FIELD       USING 'COBRB-PROZS(01)'

                                  '100'.

 

 

    PERFORM BDC_DYNPRO      USING 'SAPMSSY0' '0120'.

    PERFORM BDC_FIELD       USING 'BDC_CURSOR'

                                  '04/03'.

    PERFORM BDC_FIELD       USING 'BDC_OKCODE'

                                  '=BSAV'.

 

 

 

 

**

    CALL TRANSACTION 'CJIC' USING IT_BDCDATA

                            MODE  'N'

                            UPDATE 'S'

                            MESSAGES INTO IT_BDCMSGCOLL.

    IF SY-SUBRC = 0.

      APPEND W_FIELD TO S_FIELD    .

    ELSE.

      APPEND W_FIELD TO E_FIELD    .

    ENDIF.

 

 

 

 

    REFRESH: IT_BDCDATA.

    CLEAR: W_FIELD,TR_FIELD.

    FREE MEMORY ID 'CJIC_WA'.

  ENDLOOP.

 

 

  PERFORM MSG_DISPLAY.

 

 

FORM BDC_DYNPRO USING PROG SCR.

  CLEAR IT_BDCDATA.

  IT_BDCDATA-PROGRAM = PROG.

  IT_BDCDATA-DYNPRO  = SCR.

  IT_BDCDATA-DYNBEGIN = 'X'.

  APPEND IT_BDCDATA.

ENDFORM.                    "BDC_DYNPRO

 

 

 

 

FORM BDC_FIELD USING FNAM FVAL.

  CLEAR IT_BDCDATA.

  IT_BDCDATA-FNAM = FNAM.

  IT_BDCDATA-FVAL  = FVAL.

  APPEND IT_BDCDATA.

 

 

ENDFORM.                    "BDC_FIELD

 

 

FORM MSG_DISPLAY.

  IF NOT   S_FIELD IS   INITIAL.

    LOOP AT  S_FIELD INTO W_FIELD .

      WRITE: 'Success:: ', W_FIELD-REFBN,',', W_FIELD-MATNR,',',W_FIELD-REFBZ ,

             /.

    ENDLOOP.

 

 

 

 

  ENDIF.

  IF NOT E_FIELD IS INITIAL.

    LOOP AT  E_FIELD INTO W_FIELD .

      WRITE: 'Error:: ', W_FIELD-REFBN,',', W_FIELD-MATNR,',',W_FIELD-REFBZ ,

             /.

    ENDLOOP.

  ENDIF.

 

 

ENDFORM.                    " MSG_DISPLAY

 

 

Information


Finally when we run this

Capture7.JPG

 

and select Excel file.

 

content to be added in Excel file as below:

 

Capture1.JPG

 

System will check ref. Document Number, Material and Posting Row (Posting row of reference document)

 

on basis of these combination system will create settlement rule for line item.

 

Capture1.JPG

 

Execute and below is output:

 

Capture1.JPG

 

Thank you for reading and hope you liked it.

Thank you for your time and feedback!

Suggestions would be appreciated and always welcome to improve Quality of this document.

Warm Regards

Sunil Yadav

Prevent release of WBS-element before Budgeting

$
0
0

The objective of this article is to guide you through SAP PS system customizing that prevents Release for WBS-elements before the budget allocation.  Same approach can be applied to orders.


It is a very common business requirement to avoid any postings before the budget is assigned and availability control is activated.  It can be achieved in few easy configuration steps with a user status profile.

 

Step 1: Create initial WBS user status

 

In a new or existing user status profile create a new initial user status.  This initial user status should prevent everything except budgeting, and it can auto delete afterwards.

 

Let us assume I do not use any user status profiles with my WBS-elements yet, therefore I will create a new user status profile called ZWBS0001.  Use the following IMG path:

 

24-12-2014 13-30-26_img_01.png

 

Next click on New entry icon and populate the data as on the below screen:

 

24-12-2014 13-40-31_img_02.png

 

Next double-click on the new profile record to drill down into setup of user statuses and maintain the following data:

 

24-12-2014 13-46-20_img_03.png

 

Double-click the newly created NOBU status to browse into the overview of available operations, the system will display a pop-up window suggesting profile assignment to allowed object types:

 

24-12-2014 13-54-26_img_05.png

 

I will select Yes option and maintain a check-mark for WBS-element:

 

24-12-2014 13-59-44_img_06.png

 

Save the data, go back, drill-down again on the NOBU status and click on New entries button.  This is a radio-button selection to allow or disallow different business transactions.  I will keep budget related transactions active with status Delete option on Budgeting.  Besides I will keep Release forbidden as shown on two next screens:


24-12-2014 16-38-33_img_07.png

 

24-12-2014 16-52-51_img_08.png

In case you are using availability control based on released budget you need to enable additional business transaction into the User Status list of managed business transactions that can influence the User Status.


Use transaction code BS32 and set a check mark for KBFR as shown on the below screen:


BS32_KBFR.PNG

Next it will show up on the list of business transactions with additional radio-buttons and similar settings can be made:


BS32_result.PNG



Step 2: Assign the user Status Profile within Project Profile


Use the following IMG path:


24-12-2014 16-58-46_img_10.png

 

Next I will assign the user status profile ZWBS0001 to the project profile0000001 for the purpose of this example as shown on the below screen:

 

24-12-2014 16-57-10_img_09.png

Now the customizing is completed and I can proceed with testing.

 

Step 3: Unit test

 

I will create a new project and a sample account assignment WBS-element with CJ01 transaction code. You can see that the initial user status NOBU is being automatically assigned:


24-12-2014 17-40-07_img_11.png


Next I will try to Release the WBS-element using CJ02 transaction, the system will display an error message:


24-12-2014 17-43-09_img_12.png


Finally I will go to transaction CJ30 to maintain original budget for the Project/WBS and next will display WBS master data in CJ03:


24-12-2014 17-54-38_img_13.png


You can see that system status BUDG was raised by the system, while user status NOBU has disappeared.

 

This configuration setup is based on OSS Note 602588- Availability control before budgeting and the note can provide additional support information as well as references to related OSS notes.


You are welcome to suggest any improvements to this article!

 

Thank you for reading,

Paulo


Improve CATS reporting for SAP PS with SQVI table join

$
0
0

Business Case:

 

In the time reporting process with CATS quite often the account assignment object is a PMWork Order.  It is a typical PS/PM integration scenario when PM work orders are assigned either to the WBS or to the NWA.  As result of that the CATS_DA report gives the output with Work Orders only.  Same time a common business requirement is to report hours by WBS, as well as provide management with statistics on CAPEX/OPEX breakdown (for example) that normally can be done only based on the WBS information.  Furthermore WBS-elements contain additional characteristics like Person Responsible, Responsible Cost Center, and JVA related fields.  All these additional fields can be important from reporting perspective.

 

Solution:

 

I will use SQVI transaction to create a query based on a simple Table join:

 

SQVI_104.PNG

 

Next I will link three tables as a minimum set of data: CATSDB, AUFK, and PRPS.

 

SQVI_105.PNG

 

I will need AUFK table to get the order link with WBS table, and PRPS to get WBS information.


Finally you can select the List fields and Selection fields for all the tables involved:


SQVI_500.png

 

Another common question is how to share the query with other business users.  Use transaction code SQ02.

Select from the menu Settings -> Settings and select the flag for Display system objects:

 

SQVI_501.png


Select from the menu Environment -> Query areas and select the radio button for Standard area:

 

SQVI_502.png

Next you can easily find your QV by the User Name:

 

SQVI_503.png

If you click on Role/User Group Assignment you can take a note of system generated User Group (it has a standard prefix SYSTQV followed by sequential number).  Next you can edit the User Group and assign additional users if needed.

 

Another (and probably better) alternative is to create a Z t-code for the SQVI generated program in SE93.

 

There are many more opportunities around SQVI to polish and improve it further, but this sample is hopefully enough to get you a quick start.

 

Thank you for your time and feedback!


Prevent release of WBS-element before Budgeting

$
0
0

The objective of this article is to guide you through SAP PS system customizing that prevents Release for WBS-elements before the budget allocation.  Same approach can be applied to orders.


It is a very common business requirement to avoid any postings before the budget is assigned and availability control is activated.  It can be achieved in few easy configuration steps with a user status profile.

 

Step 1: Create initial WBS user status

 

In a new or existing user status profile create a new initial user status.  This initial user status should prevent everything except budgeting, and it can auto delete afterwards.

 

Let us assume I do not use any user status profiles with my WBS-elements yet, therefore I will create a new user status profile called ZWBS0001.  Use the following IMG path:

 

24-12-2014 13-30-26_img_01.png

 

Next click on New entry icon and populate the data as on the below screen:

 

24-12-2014 13-40-31_img_02.png

 

Next double-click on the new profile record to drill down into setup of user statuses and maintain the following data:

 

24-12-2014 13-46-20_img_03.png

 

Double-click the newly created NOBU status to browse into the overview of available operations, the system will display a pop-up window suggesting profile assignment to allowed object types:

 

24-12-2014 13-54-26_img_05.png

 

I will select Yes option and maintain a check-mark for WBS-element:

 

24-12-2014 13-59-44_img_06.png

 

Save the data, go back, drill-down again on the NOBU status and click on New entries button.  This is a radio-button selection to allow or disallow different business transactions.  I will keep budget related transactions active with status Delete option on Budgeting.  Besides I will keep Release forbidden as shown on two next screens:


24-12-2014 16-38-33_img_07.png

 

24-12-2014 16-52-51_img_08.png

In case you are using availability control based on released budget you need to enable additional business transaction into the User Status list of managed business transactions that can influence the User Status.


Use transaction code BS32 and set a check mark for KBFR as shown on the below screen:


BS32_KBFR.PNG

Next it will show up on the list of business transactions with additional radio-buttons and similar settings can be made:


BS32_result.PNG



Step 2: Assign the user Status Profile within Project Profile


Use the following IMG path:


24-12-2014 16-58-46_img_10.png

 

Next I will assign the user status profile ZWBS0001 to the project profile0000001 for the purpose of this example as shown on the below screen:

 

24-12-2014 16-57-10_img_09.png

Now the customizing is completed and I can proceed with testing.

 

Step 3: Unit test

 

I will create a new project and a sample account assignment WBS-element with CJ01 transaction code. You can see that the initial user status NOBU is being automatically assigned:


24-12-2014 17-40-07_img_11.png


Next I will try to Release the WBS-element using CJ02 transaction, the system will display an error message:


24-12-2014 17-43-09_img_12.png


Finally I will go to transaction CJ30 to maintain original budget for the Project/WBS and next will display WBS master data in CJ03:


24-12-2014 17-54-38_img_13.png


You can see that system status BUDG was raised by the system, while user status NOBU has disappeared.

 

This configuration setup is based on OSS Note 602588- Availability control before budgeting and the note can provide additional support information as well as references to related OSS notes.


You are welcome to suggest any improvements to this article!

 

Thank you for reading,

Paulo


Improve CATS reporting for SAP PS with SQVI table join

$
0
0

Business Case:

 

In the time reporting process with CATS quite often the account assignment object is a PMWork Order.  It is a typical PS/PM integration scenario when PM work orders are assigned either to the WBS or to the NWA.  As result of that the CATS_DA report gives the output with Work Orders only.  Same time a common business requirement is to report hours by WBS, as well as provide management with statistics on CAPEX/OPEX breakdown (for example) that normally can be done only based on the WBS information.  Furthermore WBS-elements contain additional characteristics like Person Responsible, Responsible Cost Center, and JVA related fields.  All these additional fields can be important from reporting perspective.

 

Solution:

 

I will use SQVI transaction to create a query based on a simple Table join:

 

SQVI_104.PNG

 

Next I will link three tables as a minimum set of data: CATSDB, AUFK, and PRPS.

 

SQVI_105.PNG

 

I will need AUFK table to get the order link with WBS table, and PRPS to get WBS information.


Finally you can select the List fields and Selection fields for all the tables involved:


SQVI_500.png

 

Another common question is how to share the query with other business users.  Use transaction code SQ02.

Select from the menu Settings -> Settings and select the flag for Display system objects:

 

SQVI_501.png


Select from the menu Environment -> Query areas and select the radio button for Standard area:

 

SQVI_502.png

Next you can easily find your QV by the User Name:

 

SQVI_503.png

If you click on Role/User Group Assignment you can take a note of system generated User Group (it has a standard prefix SYSTQV followed by sequential number).  Next you can edit the User Group and assign additional users if needed.

 

Another (and probably better) alternative is to create a Z t-code for the SQVI generated program in SE93.

 

There are many more opportunities around SQVI to polish and improve it further, but this sample is hopefully enough to get you a quick start.

 

Thank you for your time and feedback!


Viewing all 36 articles
Browse latest View live