Calculation of revenue per employee

hi gurus
I am facing a Porbrm in designing a report int hat report I have to calculate REVENUE PER EMPLOYEE.
the scenario is like this
I have a Project XFPB_BW  revenue for this project is known say 5000.00 INR
we have EMPLoyee they book TIme using timesheet and the cost rete is maintained in the time sheet.
say
      emp no    qty   cost
     1010         10     100
     1010          8      200
      1010          7      300
total                25      600
now I have to calculate rev per employee like this
rev/cost = (revenue/cost)*individual cost  = 8.33
rev / qty= (revenue/qty)*individual qty        = 200
<b>  project          employee    cost      qty     rev       rev/cost      rev/qty</b></b>
    XFPB_BW                          0          0       5000      0              0
                            1010           100      10      0         833                    2000 
                            1010           200      8        0        1666                   1600
                            1010           300      7        0         2499                    1400
total                                       600       25       5000   4998                    5000

I am writing this start routine for this
PROGRAM trans_routine.
      CLASS routine DEFINITION
CLASS lcl_transform DEFINITION.
  PUBLIC SECTION.
Attributs
    DATA:
      p_check_master_data_exist
            TYPE RSODSOCHECKONLY READ-ONLY,
*-    Instance for getting request runtime attributs;
    Available information: Refer to methods of
    interface 'if_rsbk_request_admintab_view'
      p_r_request
            TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.
  PRIVATE SECTION.
    TYPE-POOLS: rsd, rstr.
  Rule specific types
    TYPES:
      BEGIN OF tys_SC_1,
     InfoObject: 0PROJECT Project Definition.
        PROJECT           TYPE /BI0/OIPROJECT,
     InfoObject: 0EMPLOYEE Employee.
        EMPLOYEE           TYPE /BI0/OIEMPLOYEE,
     InfoObject: 0FISCPER Fiscal year / period.
        FISCPER           TYPE /BI0/OIFISCPER,
     InfoObject: 0FISCVARNT Fiscal year variant.
        FISCVARNT           TYPE /BI0/OIFISCVARNT,
     InfoObject: 0CALDAY Calendar Day.
        CALDAY           TYPE /BI0/OICALDAY,
     InfoObject: 0VTYPE Value Type for Reporting.
        VTYPE           TYPE /BI0/OIVTYPE,
     InfoObject: 0CURTYPE Currency Type.
        CURTYPE           TYPE /BI0/OICURTYPE,
     InfoObject: 0AMOUNT Amount.
        AMOUNT           TYPE /BI0/OIAMOUNT,
     InfoObject: 0RECORDMODE BW Delta Process: Update Mode.
        RECORDMODE           TYPE RODMUPDMOD,
     InfoObject: 0CURRENCY Currency Key.
        CURRENCY           TYPE /BI0/OICURRENCY,
     InfoObject: ZMATERIAL Material (Role).
        /BIC/ZMATERIAL           TYPE /BIC/OIZMATERIAL,
     InfoObject: 0PRIORITY Priority.
        PRIORITY           TYPE /BI0/OIPRIORITY,
     InfoObject: 0CO_AREA Controlling area.
        CO_AREA           TYPE /BI0/OICO_AREA,
     InfoObject: 0WBS_ELEMT Work Breakdown Structure Element (WBS Elem
*ent).
        WBS_ELEMT           TYPE /BI0/OIWBS_ELEMT,
     InfoObject: 0UNIT Unit of Measure.
        UNIT           TYPE /BI0/OIUNIT,
     InfoObject: 0COSTELMNT Cost Element.
        COSTELMNT           TYPE /BI0/OICOSTELMNT,
     InfoObject: 0COMP_CODE Company code.
        COMP_CODE           TYPE /BI0/OICOMP_CODE,
     InfoObject: 0PROFIT_CTR Profit Center.
        PROFIT_CTR           TYPE /BI0/OIPROFIT_CTR,
     InfoObject: ZREV_CE1 revenue from cost element.
        /BIC/ZREV_CE1           TYPE /BIC/OIZREV_CE1,
     InfoObject: 0QUANTITY Quantity.
        QUANTITY           TYPE /BI0/OIQUANTITY,
     Field: RECORD.
        RECORD           TYPE RSARECORD,
      END   OF tys_SC_1.
    TYPES:
      tyt_SC_1        TYPE STANDARD TABLE OF tys_SC_1
                        WITH NON-UNIQUE DEFAULT KEY.
$$ begin of global - insert your declaration only below this line  -
... "insert your code here
TYPES: BEGIN OF tt_revfac,
          projdef     TYPE /bic/cs8zods_mpp-project,
          FISCPER     TYPE /bic/cs8zods_mpp-FISCPER,
          amt         TYPE /bic/cs8zods_mpp-amount,
          revenue     TYPE /bic/cs8zods_mpp-/BIC/ZREV_CE1,
          "Add by Jatin
END OF tt_revfac.
TYPES: BEGIN OF tt_qtyfac,
           projdef     TYPE /bic/cs8zods_mpp-project,
           FISCPER     TYPE /bic/cs8zods_mpp-FISCPER,
           qty         TYPE /bic/cs8zods_mpp-quantity,
           revenue     TYPE /bic/cs8zods_mpp-/BIC/ZREV_CE1,
           "Add by Jatin
  END OF tt_qtyfac.
DATA:   ...
*DATA: g_t_revfac  TYPE STANDARD TABLE OF tt_revfac.
*DATA: g_t_qtyfac  TYPE STANDARD TABLE OF tt_qtyfac.
DATA: g_t_revfac  TYPE SORTED TABLE OF tt_revfac WITH UNIQUE KEY projdef
fiscper.
DATA: g_t_qtyfac  TYPE SORTED TABLE OF tt_qtyfac WITH UNIQUE KEY projdef
fiscper.
$$ end of global - insert your declaration only before this line   -
    METHODS
      start_routine
        IMPORTING
          request                  type rsrequest
          datapackid               type rsdatapid
        EXPORTING
          monitor                  type rstr_ty_t_monitors
        CHANGING
          SOURCE_PACKAGE              type tyt_SC_1
        RAISING
          cx_rsrout_abort.
    METHODS
      inverse_start_routine
        IMPORTING
          i_th_fields_outbound         TYPE rstran_t_field_inv
          i_r_selset_outbound          TYPE REF TO cl_rsmds_set
          i_is_main_selection          TYPE rs_bool
          i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
          i_r_universe_inbound         TYPE REF TO cl_rsmds_universe
        CHANGING
          c_th_fields_inbound          TYPE rstran_t_field_inv
          c_r_selset_inbound           TYPE REF TO cl_rsmds_set
          c_exact                      TYPE rs_bool.
ENDCLASS.                    "routine DEFINITION
$$ begin of 2nd part global - insert your code only below this line  *
... "insert your code here
$$ end of 2nd part global - insert your code only before this line   *
      CLASS routine IMPLEMENTATION
CLASS lcl_transform IMPLEMENTATION.
      Method start_routine
      Calculation of source package via start routine
  <-> source package
  METHOD start_routine.
*=== Segments ===
    FIELD-SYMBOLS:
      <SOURCE_FIELDS>    TYPE tys_SC_1.
    DATA:
      MONITOR_REC     TYPE rstmonitor.
*$*$ begin of routine - insert your code only below this line        *-*
... "insert your code here
DATA: lwa_datapackage  LIKE LINE OF  SOURCE_PACKAGE,
        lwa_revfac      TYPE  tt_revfac,
        lwa_qtyfac      TYPE tt_qtyfac.
  LOOP AT SOURCE_PACKAGE INTO lwa_datapackage.
     lwa_revfac-projdef = lwa_datapackage-project.
     lwa_revfac-FISCPER = lwa_datapackage-FISCPER.         "Add by Jatin
     lwa_revfac-amt     = lwa_datapackage-amount.
     lwa_revfac-revenue = lwa_datapackage-/BIC/ZREV_CE1.
     COLLECT lwa_revfac INTO g_t_revfac.
     lwa_qtyfac-projdef = lwa_datapackage-project.
      lwa_qtyfac-FISCPER = lwa_datapackage-FISCPER.      "Add by Jatin
     lwa_qtyfac-qty = lwa_datapackage-quantity.
     lwa_qtyfac-revenue = lwa_datapackage-/BIC/ZREV_CE1.
     COLLECT lwa_qtyfac INTO g_t_qtyfac.
  ENDLOOP.
SORT g_t_revfac BY projdef.
SORT g_t_qtyfac BY projdef.
*--  fill table "MONITOR" with values of structure "MONITOR_REC"
*-   to make monitor entries
... "to cancel the update process
   raise exception type CX_RSROUT_ABORT.
$$ end of routine - insert your code only before this line         -
  ENDMETHOD.                    "start_routine
      Method inverse_start_routine
      This subroutine needs to be implemented only for direct access
      (for better performance) and for the Report/Report Interface
      (drill through).
      The inverse routine should transform a projection and
      a selection for the target to a projection and a selection
      for the source, respectively.
      If the implementation remains empty all fields are filled and
      all values are selected.
  METHOD inverse_start_routine.
$$ begin of inverse routine - insert your code only below this line-
... "insert your code here
$$ end of inverse routine - insert your code only before this line -
  ENDMETHOD.                    "inverse_start_routine
ENDCLASS.                    "routine IMPLEMENTATION
(REV by quantity)
      CLASS routine IMPLEMENTATION
CLASS lcl_transform IMPLEMENTATION.
  METHOD compute_ZRFEV_QTY.
  IMPORTING
    request     type rsrequest
    datapackid  type rsdatapid
    SOURCE_FIELDS-PROJECT TYPE /BI0/OIPROJECT
    SOURCE_FIELDS-EMPLOYEE TYPE /BI0/OIEMPLOYEE
    SOURCE_FIELDS-FISCPER TYPE /BI0/OIFISCPER
    SOURCE_FIELDS-CURRENCY TYPE /BI0/OICURRENCY
    SOURCE_FIELDS-UNIT TYPE /BI0/OIUNIT
    SOURCE_FIELDS-QUANTITY TYPE /BI0/OIQUANTITY
   EXPORTING
     RESULT type tys_TG_1-/BIC/ZRFEV_QTY
     CURRENCY type tys_TG_1-CURRENCY
    DATA:
      MONITOR_REC    TYPE rsmonitor.
*$*$ begin of routine - insert your code only below this line        *-*
... "insert your code here
DATA: lwa_qtyfac TYPE tt_qtyfac,
        l_avg  TYPE tt_qtyfac-qty.
  READ TABLE g_t_qtyfac INTO lwa_qtyfac
                        WITH KEY projdef = SOURCE_FIELDS-PROJECT
                                 FISCPER = SOURCE_FIELDS-FISCPER
                       BINARY SEARCH.
Collect entries for fical year
  IF sy-subrc = 0.
    IF lwa_qtyfac-qty <> 0.
      l_avg = lwa_qtyfac-revenue / lwa_qtyfac-qty.
    ELSE.
      l_avg = 0.
    ENDIF.
ENDIF.
*--  fill table "MONITOR" with values of structure "MONITOR_REC"
*-   to make monitor entries
... "to cancel the update process
   raise exception type CX_RSROUT_ABORT.
... "to skip a record
   raise exception type CX_RSROUT_SKIP_RECORD.
... "to clear target fields
   raise exception type CX_RSROUT_SKIP_VAL.
     RESULT = l_avg * SOURCE_FIELDS-quantity .
     CURRENCY = SOURCE_FIELDS-CURRENCY .
$$ end of routine - insert your code only before this line         -
  ENDMETHOD.                    "compute_ZRFEV_QTY
      Method invert_ZRFEV_QTY
      This subroutine needs to be implemented only for direct access
      (for better performance) and for the Report/Report Interface
      (drill through).
      The inverse routine should transform a projection and
      a selection for the target to a projection and a selection
      for the source, respectively.
      If the implementation remains empty all fields are filled and
      all values are selected.
  METHOD invert_ZRFEV_QTY.
$$ begin of inverse routine - insert your code only below this line-
... "insert your code here
$$ end of inverse routine - insert your code only before this line -
  ENDMETHOD.                    "invert_ZRFEV_QTY
ENDCLASS.                    "routine IMPLEMENTATION
the problem with this is that I can not filter at the Query levele NOw I want to know Can I write it at query level if possible how
Please help its urgent and challenging also.

Similar Messages

  • How to generat multiple invoices based on per employee/contractor/services?

    Hello Experts / Dina,
    I am in situation where customer is in business of body shopping and charges to his final customer based on individual invoice / per employee /contracor & customer services. This was happening in legacy system but after the implementation of Oracle Project costing and Oracle Project billing, customer is not able to generate invoices per employee services. Rather consolidated invoices are getting generated.
    How to achieve this functionality in oracle project billing?
    Lets take example - On Project P1 for customer ABC, 3 below employees are working on different task for 3 months.
    Now after one month employees have been billed as shown below.
    Emp 1 - 1000 USD - for 100 Hrs
    Emp 2 - 2000 USD - for 200 Hrs
    Emp 3 - 1000 USD - for 50 hrs
    Now @ end of the month when invoice is getting generated is 1 invoice including 3 lines of amount total 4000 USD. There is problem; customer wants that there should be 3 different invoices per employee shoud generated based on above mentiond 3 diff lines for customer ABC.
    I guess with oracle projects billing - You can split the invoice based on Accrue through date ( which is not possible in this case ) and agreement ( which is also not possible in this case ) and different currency ( which is again not possible in this case) - I may be wrong when saying it is not possible. plz correct me if I am wrong.
    even I guess billing extension wont work. So is there any way to achive this?
    Right now only option i am thinking is let single invoice of 4000 USD with 3 different lines should pass to AR and while priniting the invoice customer can create 3 diff prints which includes individual lines. and while applying receipts on the single invoice in the system, customer can apply the receipts to indivual lines.
    but I am not sure about AUDIT issues.. Can some one think about any AUDIT issues comes to this approch or issues with TAX rounding amount issues ?
    Infact I would like to solve this issue with the help of Oracle Projects billing and not with custom invoice print program. I guess someone from you experts can figure it out to generate muiltple invoice based on employees / suppliers / contractors / materials etc.
    A suggestion on Extension / customization / seeded functionality of Oracle Project billing on thi issue would be gr8 help.
    Please help.
    Thanks
    Edited by: oracle_samba on Jan 7, 2013 1:06 AM
    Edited by: oracle_samba on Jan 7, 2013 1:07 AM

    Hi Dina,
    First of all thanks for your update :-) Your solution looks much promising.
    I thought of using billing extension but rejected on the ground that I would end up in generating events based on employee for their corsponding billig amounts so finally generating a consolidated invoice only in One GDI run. But what i was missing was pre-processing extension and running the extention in loop based on employee count.
    I am fully sure business would not have any issues of auto approving and releasing invoice upon generation. But my question is "is it possible to just approve the invoice & not release it using auto approve and release extension?" The reason is I think when GDI runs it only deletes Unapproved invoice & spare Approve invoices. - So please suggest.
    Also please validate my understanding about your solution with an existing example -
    As with the current example, there are 3 EMP presents so need to run GDI 3 times and develop pre-processing ext in a such a way that at each time it will put on hold on all the billable items except EMP1, and EMP2 and EMP3 on each consecutive run respectivly. And ensure that Auto Approve and release extension should be used in order to avoid overriding previously generated invoice? Am I right ?
    Many Many thanks for solution !!!
    Regards,
    :-)

  • How to include a key value, per employee, in payslip print program output?

    Employee payslips are printed externally. The output file has to include a 3 char value, per employee, to determine the logo that will be printed on to the payslip.
    What is the best way to include this 3 char value in the output file?
    I assume the best way is to use program RPCEDTG0 and include the code in this program. We are on ECC6 so PE51 isn't used, HRFORMS is, but I assume this wouldn't matter anyway as we don't need to change the HRFORM but rather the RPCEDTG0 program?
    Thanks in advance.

    Hi Kapil,
    Thank you for your help.
    Yes, I have suggested as you said, i.e. putting logo into the smartform linked to the HRFORM. However, the external printers want a code in the file which they will interpret their side and then pickup and output the logo from their system. We merely need to pass them the code for this.

  • Filter Simple List to show only 1 record per employee

    All,
    I'm looking for a very simple OOTB way to filer a list.
    I've used InfoPath form to create a simple test form which is published to form library on submission.
    My list columns are:
    Employee Name, Pass/Fail,Test Score, Test Attempt (Count).
    The list is grouped by Pass/Fail
    I need to show all passed tests and only failed tests where a user hasn't subsequently taken the test again(s) and passed it.
    I was hoping I could do this with a filter web part as with OOTB filter column options, I can't seem to do it. Or just show the highest count number per employee.
    Any help would be greatly appreciated.
    Thanks
    W

    Thanks, yet that doesn't work for me.
    Maybe it's my test attempt count.
    Each form is a new form, and each form will have a test attempt (TA=) number against it.
    i.e.
    Form1 TA=1 Fail
    Form2 TA=2 Pass
    With the above, both seem to appear with the above filter.
    No form as TA=0
    I can't guarantee that users will only fail once.
    Forms ending in 130 and 310 are completed by the same Employee Name
    Thanks
    W

  • Top 2 records per employee ID

    I am trying to retrieve the top two salary records per employee ID to show their current salary and one previous. The salary table is a transaction type table showing all salary changes per employee.
    For example:
    Employee_ID
    Salary_Effective_Date
    Salary_Amount
    We are using Oracle 10G, SQLPlus. We normally select the max(salary_effective_date) to get their current salary_amt. Is there anyway to pull the top two per employee to get current and previous?

    Hi,
    This question doesn't concern SQL*Plus or iSQL*Plus in any way, does it? It's a SQL question, so, in the future, you might have better luck posting questions like this in the SQL forum:
    PL/SQL
    The analytic RANK (or, depending on how you want to handle ties, ROW_NUMBER) function is more versatile than aggregate functions for this kind of thing
    Since I don't have a version of your table, I'll use the scott.emp table to illustrate.
    Here's one way to get some information about the two latest rows (in order by hiredate) for each job:
    WITH     got_r_num     AS
         SELECT     job, hiredate, ename, sal
         ,     RANK () OVER ( PARTITION BY  job
                          ORDER BY      hiredate     DESC
                        )     AS r_num
         FROM     scott.emp
    SELECT       *
    FROM       got_r_num
    WHERE       r_num     <= 2
    ORDER BY  job
    ,       hiredate     DESC
    ;Output:
    JOB       HIREDATE  ENAME             SAL      R_NUM
    ANALYST   19-APR-87 SCOTT            3000          1
    ANALYST   03-DEC-81 FORD             3000          2
    CLERK     23-MAY-87 ADAMS            1100          1
    CLERK     23-JAN-82 MILLER           1300          2
    MANAGER   09-JUN-81 CLARK            2450          1
    MANAGER   01-MAY-81 BLAKE            2850          2
    PRESIDENT 17-NOV-81 KING             5000          1
    SALESMAN  28-SEP-81 MARTIN           1250          1
    SALESMAN  08-SEP-81 TURNER           1500          2 
    I hope this answers your question.
    If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only), and the results you want from that data.
    Explain, using specific examples, how you get those results from that data.

  • Report to list all infotype record per employee

    Hi All
    is there a report that list all infotypes record per employee  ?
    thanks for helping
    Corinne

    Hi,
    It will not be feasible as all the IT has different fields.
    There is no standard report as Mr, Raghu mentioned.
    Ketul

  • Absence Deduction is calculated wrong for one employee

    Hi,  We have an employee who changed his absence booking for the year and all of sudden his absence deduction is not calculating properly.  His total absence quota was 20 days.  He initially booked all 20 days and then cancelled them and created a new booking for 9.5 days but his deduction is saying 16.5 days.
    Is there a way I can check his records why it's only happening to him.  Also I am new to this so not sure where to start investigating.  I did check the deduction rule and it's ok - calculates correctly for other employees, only this particular employee is calculating wrong.

    Hi Joe,
    I did replicate it for another employee belonging to the same group and it calculated correctly.  And the 9.5 days already excludes holidays and weekends.  Not sure what else to check at this point.  Although the only difference in the records of the 2employees is that the problematic employee has a negative carryover from previous year.  not sure exactly what that means.

  • CONTRIBUTION MARGIN (PLAN) CALCULATION FOR PRODUCTS (PER UNIT, LOCATION WIS

    Requirement of a Report to calculate Contribution Margin (Plan) - For Calculating Contribution Margin.
    2 Key figures need to be arrived (per unit/cv of product, locationwise) are Net Sales Realisation (NSR) and Total Variable Cost (TVC).
    a) To arrive at NSR (Plan), all the combinations of upcoming discounts and Free Goods schemes which are going to be in force for the coming month for a product, need to be adjusted in the Net Sales Value to get NSR value per unit of Product (SKU / CV), locationwise
    The NSR is the result of adjusting Discounts, Excise and Schemes to the List price of a product.
    b) TVC is the result of adding Total Material Cost(TMC) + [(LabourPower) conversion cost]Freight.
    Calculation of material cost takes into account the LCC (Landed cost chart) price of the materials, which is a future price.
    The Total variable Manufacturing Cost (TMC+Conversion cost) can be calculated using Costing Run (CK40N), using LCC price.
    In COPA Reporting the values like List price, Discounts, Excise, Free Goods Schemes and freight flows from Billing Documents (SD) because of condition types mapping in to value fields in COPA, which are components for calculating NSR (Actual), based on the Actual sales.
    We want to understand how do the Plan values (List price, Discounts, Excise, Free Goods Schemes and freight) per unit of Product, location wise, flow to the Value fields in COPA Planning,  so that the Contribution Margin (Plan) can be calculated for each product per unit , location wise.
    Contribution Margin = NSR u2013 Total Variable Cost.

    Then you hit a bug in your version of Oracle. You may want to investigate and update to a newer version. I get the following error when trying to register your schema in 10.2.0.1
    ORA-31154: invalid XML document
    ORA-19202: Error occurred in XML processing
    LSX-00246: invalid QNAME "***_voting_flag"
    This error is consistent with Spy 2008 as well (I didn't try Xerces but I've got two that agree so it's good for me).

  • Do I need to pay $99/year per employee just to test web pages on IOS simulator?

    Hi there, I run a small web development shop with 5 employees. We all bought Xcode through the app store and have been using the iOS simulator to test web pages and troubleshoot problems with our customers sites on iPhones and iPads.
    I just upgraded to Mountain Lion, and it seems I lost my iOS simulator.  I tried to install it through XCode again, and it says I need a developer account, which is $99/year.
    We don't develop apps, we just use the simulator to view websites locally and on the web.  Does this mean if I want all of my employees to be able to just simply use the simulator to view web pages, that I have to pay $500 per year to Apple?  Am I missing something here?  Why could we use the simulator's basic features for free under Snow Leopard, but not under Mountain Lion with the new version of the simulator?
    Please tell me I'm an idiot and am just missing something about how to install it or configure it.  Thanks so much for your help!

    See, I am an idiot.  It was right there.  Somehow I think Alfred lost how to launch the simulator in the update to Mountain Lion. Since I couldn't launch it like I used to, I dug around until I found the Preferences > Downloads screen and had the option to install "iOS 5.0 Simulator" which is when I was prompted to get a developer license.
    I never found the Xcode > Open Developer Tool method of locating it. 
    Anyway, thanks so much for your time!

  • IT0045 - How to restrict loan types to a maximum of 1 per employee?

    Hi Gurus - We have a requirement to restrict employees to only one loan type to be open at a time. This means if an employee has a Vehicle Loan currently running, he or she cannot create another one unless the previous one is closed.
    Setting the Time Constraint of IT0045 to "T" and then setting the individual Subtypes (Loan Types) to Time Constraint of 2 did not work. SAP apparently creates a unique sequential number for each loan type thus enabling more loans to be created for the same loan type. I guess this is the standard functionality.
    1. How can we prevent the user from taking more than one loan type?
    2. The ENDDA of the loan record may not reflect the correct loan schedule. Sometimes users create it a 31.12.9999. We need to check the payment in IT0078 I guess.
    The 45 infotype has this functionality for India. I am using International Payroll for Nigeria.
    Any help in this regards would be appreciated.
    Thanks
    Pramod

    Thanks Mohan. That constant is for India payroll only. I am using international payroll customized for Nigeria. SAP creates a unique sequential number for each loan you create and makes this number as part of the primary key thereby allowing any number of loans of the same type to be created. This is a default functionality. However SAP has modified this for India's IT0045. Do you have any other suggestions? Thanks once again.
    Regards
    Pramod

  • Change Vendor records per Employee Master

    Using RPRAPA000 pgm we should be able to update following fields:
    Names
    Address
    Email address- User exit
    Tax No
    Bank Details
    Payment Method
    Search Term is updated with last name
    Company Code
    Fields from Reference vendor u2013 Non HR data
    Reconciliation Account: 213000
    Payment terms: ZA01
    Question: I get message "Missing master data on key selection date" and under Bank Det column, it says the data is "missing". on employee master.
    I checked info type 9 and yes it is missing.
    So are bank details mandatory for changing vendor master data?

    Check in transaction OB24 and OB23 for the activity Change Vendor (Accounting). Here in change mode the Bank details may be made mandatory for FI reasons. Check first and confirm with business before you change.

  • ISO consideration for calculation of MRP per Safetystock adds more demand

    Hi Planning experts,
    Internal Sales order consideration for aggregate demand which uses for Safetystock calculation based on MRP Planned percentage safety stock adds more demand in the warehouse.
    We have ASCP Plan where X1 warehouse procures material from X2 Inventory organization through ISO created from Plan, after transfer Planned order releases from X2 and We have Safety stock calculated based on MRP percentage method in individual warehouses.
    Since ISO considered for aggregated demand to safety stock, and acts as a individual demand for Plan adds of more demand to the plan and recommending additional Planned order supplies by ASCP engine.
    Procurement rule: X2 --->X1through ISO recommended by Plan
    Steps to Reproduce :
    Goto ISCP Responsibility > Advanced Supply CHain Planner >Workbench > Open Plan > query PWB data for X1 warehouse for any item which is procuring from X2 org for ex:Item: Y1 , verify the safety stock for this item in X1 and verify the ISO created from X2 through early Planned order releases from Plan, so there is additional demand equals to ISO qty observed, where ISO qty not required to be considered for aggregated demand used for MRP Planned percentage safety stock calculation for item:Y1.
    Need to exclude ISO qty for MRP Planned safety stock calculation, please let us know how to exclude ISO for safety stock calculation, so additional supply will not be recommended by ASCP.
    Please let me know, if u have any idea how to crack this issue.
    Regards,
    Kumar
    Edited by: user9093449 on Mar 2, 2010 3:14 PM

    -->What is the shortcut to change location type in APO?
    Report /SAPAPO/CHECK_LOCATION_TYPE can be used to change location type (say from 1001 to 1002 or vice-versa)
    can you check if this works - cos i think you need to use/SAPAPO/CHANGE_LOCTYPE
    --> Can SAP APO be used as a stand-alone solution?
    *of course, as a stand-alone planning solution it can be !!
    and the connected executed system, which need not be ECC, is to give a well rounded solution
    there are organizations that have APO alone and integrate to other execution systems, and there are companies that have implemented APO first and R3 later. there are companies that just need planning and dont have to execute it (transport planning and demand planning)*
    -->How to copy a Process Chain?
    To copy a process chain to another process chain, goto the Process Chain you want to copy and then type copy in the tool tar
    also... if you dropdown on the toolbad under process chain you have a copy option... but this looks cool

  • Resource based revenue

    Hi,
    My cient wants to implement a business logic, where they want to be able to track the costs and profits per employee.
    They want to generate reports on the revenue per employee or per project member.
    Is this functionality already provided in Oracle ? or a part of some other module ?
    SUDEEPT

    Currently it's not available directly in any module.

  • QuickSizer BI

    hello Gurus
    I want to do the sizing with the quick sizer from marketplace, but i don t have clearly the terms, please send me info about sizing in BI, the help indicates:
    <b>Business Intelligence
    SAP NetWeaver Business Intelligence      Find information about SAP NetWeaver Business Intelligence at  the Service Marketplace -> Business Intelligence, for example information about Performance Tuning.
    User Groups Business Planning
    Planning 1,
    Planning 2,
    Planning 3      Definition
    The general idea is to define user groups which are determined by the number and size of data records they work with and the types of planning functions they execute. If you are not sure exactly how many data are involved, you can take the proposed values, which are  based on internal measurements and customer feedback.
    Specifics for User Groups Business Planning
    Users
          Estimate the highest number of active users per hour. Opposed to other sizing approaches in the Quick Sizer you can arbitrarily include users in a specific group. Normally the user groups reflect the fact that you have power, medium and occasional users (example at "Planning steps per user").
    Planning steps per user
          Estimate the peak number of planning steps per user and hour.
          Example for "Users" and "Planning steps per user"
          A user carries out six planning functions, the first three work on the same set of data (5,000 records), the other ones each work on separate set of 600 records. If this sequence is carried out every 20 minutes, we were faced with 18 planning steps per hour and user.
    Average number of data records per planning step
          A planning step always contains exactly one planning function, for example a formula function. If that planning sequences are used, these cannot be calculated as a planning step, instead the number of planning functions contained must be entered.  The average number of data records manipulated by one single planning step has an impact on the CPU time consumed by a user.
          Example
          In our example we have an average of 2,800 ( = (3 * 5,000 + 3 * 600) / 6) records per planning step.
          Note
              o The term planning step is often understood from a business view, where it means a total run of a planning area. Here, we take a functional perspective.
              o The memory requirement and CPU consumption is estimated on the basis of this data. To determine memory requirements, we assume that there is an average data record length of 1KB.
    Maximum data per planning step
          Estimate the maximum number of data records manipulated by one single planning step.
          Example
          As mentioned above the planning functions work through different sets of data. The maximum number is 5,000 per hour and user.
    Maximum data per user
          Estimate the maximum number of data records a user holds in memory simultaneously. This is needed to estimate the memory consumption of a user.
          Example
          Take the example mentioned above. If the user doesn't leave the transaction, he holds 6,800 (5,000 + 600 + 600 + 600) records in memory. Please keep in mind, that the set of data is the sum of records read and records created
    Comment
    Editing/creating data records is achieved by planning functions or manual planning. We do not differentiate between these two types for sizing, as both of them are used to manipulate data records.
    We only size "User Groups Business Planning". NetWeaver BI server must be sized separately.  However, the sizing result includes the part of NetWeaver BI that is used to deliver the transaction data to "User Groups Business Planning". For sizing the load generated on the NetWeaver BI system by "User Groups Business Planning" we assume that 30% of all executed planning steps access NetWeaver BI. For the remaining 70% of the planning steps we assume that they manipulate data records which have already been read by NetWeaver BI.
    BI Users
    BI-INFO,
    BI-BUSIN.,
    BI EXPERT      Definition
    In NetWeaver BI, we distinguish roughly between user types according to their frequency of activity and the reporting they will normally do.
    Active User Type       Navigation Steps per Hour       This user will predominantly ...
    Information Consumer      1      ... view predefined and static reports
    Business User      11      ... navigate within reports, do slicing and dicing, but usually hit aggregates
    BI  Expert       33 and more      ... run ad-hoc queries with a high probability of full table scans
    A navigation step includes drilling down in the reports and corresponds to nine dialog steps in the SD benchmark. If you don't know the user distribution, a typical ratio in the NetWeaver BI environment is 71% : 26% : 3% (Information Consumer : Business User : BI Expert).
    Comment
    The system automatically calculates the Java parts which are shown at the result level.
    If BI Java is not used, you should add 5 % to the SAPS of the application server.
    User Groups Reporting & Analysis
         Definition
    Collection of a selection of characteristics and key figures (InfoObjects) for the analysis of the data of an InfoProvider. A query always refers exactly to one InfoProvider, whereas you can define as many queries as you like for each InfoProvider.
    For sizing purposes we distinguish between three query types which are defined by the load they create in the system.
    Report Viewing: Predefined, static, reports using optimal aggregates
    OLAP Analysis: Slicing and dicing, navigating in reports, using various aggregates
    Data Exploration: Data mining, that is ad-hoc reports with unpredictable navigation paths, access of detail data, full table scans
    Any user can do any type of query. However, experience shows a certain activity pattern, as you can see in the table below.
    Query Type       Report Viewing      OLAP Analysis      Data Exploration      Total Percent
    Information Consumer      80%      20%      0%      100%
    Business User      50%      50%      0%      100%
    BI Expert       0%      0%      100%      100%
    Data Upload
    UPLOAD      Definition
    In this section you can specify how many records you need to upload within your peak time interval.
    InfoCube
    INFOCUBE
    IC-APO
    IC-CO
    IC-CRM
    IC-FI
    IC-HR
    IC-MM
    IC-PP
    IC-PS
    IC-SD
    IC-SEM
         Definition
    The central objects upon which reports and analyses in NetWeaver BI are based, are called InfoCubes. An InfoCube describes (from a reporting point of view) a self-contained dataset, for example, of a business-orientated area.
    An InfoCube has a particular type:
    BasicCube which is a collection of relational tables arranged according to the star schema: A large fact table in the center, surrounded by several dimension tables.
    MultiCube which is based on the basic cube. It combines data from several BasicCubes/RemoteCubes, and brings it together into one context. The MultiCube itself does not contain any data; its data comes exclusively from the BasicCubes it is based on.
    RemoteCube to carry out reporting using data in external systems without having to physically store transaction data in NetWeaver BI.
    Only BasicCubes physically contain data on the database. MultiCubes and RemoteCubes simply display logical views of a dataset. The InfoCube type is not important, as far as reporting is concerned. A query definition always refers to one InfoCube. The difference between the InfoCube types becomes important at the point when you select data for the query.
    InfoCube types: From the list below you can choose additional InfoCubes, just take the information and fill it in the questionnaire.
    Long Text      Short Name      Cube name      Dimensions      Key Figures      Length
    Aerospace & Defense      A&D      0AD_C01      6      2      94
    Apparel and Footwear      AFS      0AFMM_C01      8      48      896
    Automotive           0AUPPC_3      12      11      307
    Business Planning and Simulation           0SEM_C09      5      14      288
    Category Management           0CM_C07      7      34      648
    Consumer Products Industry      CP      0CP_PURC1      8      52      964
    Distribution Channel-Specific A           0CRM_CTI2      3      16      302
    E-Analytics           0WEB_C01      12      5      205
    External Market Data           0DB_MC01      9      5      175
    Financials Management & Control           0FITV_C02      12      13      341
    Healthcare           0HC_C01      9      16      362
    Insurance           0IS_CS_C1      9      8      226
    Inventory Management           0COPC_C04      7      6      172
    Investment Management           0IMFA_C02      7      3      121
    Marketing           0CRM_MC05      12      43      851
    Marketplace           0MA_OP_C1      9      13      311
    Media Enterprises           0MEMAMC04      11      16      382
    Mobile Sales      MSA      0MSA_C05      8      6      182
    Oil & Gas      Oil & Gas      0OI_SSC01      9      16      362
    Personnel Management           0PACM_C01      10      17      389
    Point of sale      POS      0RT_C06      9      33      651
    Retail - Logistics           0RT_C41      7      183      3181
    Sales and Distribution Analyses           0CSAL_C09      12      29      613
    Service           0CRM_PRI      14      47      939
    Strategic Enterprise Management      SEM      0SEMPA_C2      13      68      1286
    Strategic Enterprise Management           0SEM_MC01      6      9      213
    Traffic Analysis           0MA_C02      15      21      507
    Treasury      TR      0TRCM_MC1      6      2      94
    Utility Company           0UCSA_C01      12      20      460
    Specifics for InfoCubes
    Dimension
          A grouping of those evaluation groups (characteristics) that belong together, as regards contents, in one generic term. With the definition of an InfoCube, characteristics are summarized into dimensions in order to store them in a table of the star schema (dimension table). An InfoCube has no more than 16 dimensions, of which three are standard (package, time, unit) and included in the sizing by default. You can therefore enter only 13 dimensions at most.
    Key figures
          Values or quantities, such as sales revenue, fixed costs, sales quantity, or number of employees.
          In addition to the key figures saved on the database, you have the option of defining derived (calculated) key figures in the query definition in the Business Explorer. Such key figures are calculated using a formula from the key figures of the InfoCube.
          Examples of derived key figures are "sales revenue per employee" (sales revenue divided by number of employees), "variance as a percentage", or "contribution margin".
    Initial load & periodic load
          Initial load: Specify the estimated number of records which you plan to load into the cube initially.
          Periodical load: Specify the estimated number of records which are loaded in your periodical upload process. You should take into account that you upload data volume grows with time.
    Number of periods
          Specify the total number of uploads which will be kept in the InfoCube. Example: if you want to keep weekly data for 5 years, you should enter 260 (52*5)
    Short text
          If you have several different InfoCubes of the same type, use short text to attribute names in order to identify them more easily.
    DataStore Object
    DS OBJECT      Definition
    A DataStore Object serves to store consolidated and debugged transaction data at a document level (atomic level). It describes a consolidated dataset from one or more InfoSources. This dataset can be analyzed with a BEx Query or InfoSet Query.
    A DataStore contains a key (for example, document number/item) as well as data fields that can also contain character fields (for example, order status, customer) as key figures. The data of a DataStore Object can be updated with a delta update into InfoCubes and/or other DataStore Objects in the same system or across systems.
    In contrast to multi-dimensional data storage with InfoCubes, the data in DataStore Objects is stored in transparent, flat database tables.</b>

    Hi,
    BPS ;- Here you need to decide if you r really going to use this...If your are not going to use Business planning and simulation then skip this part.
    In case of no. of users ....Take information from your client that how many no. of users will be there and then distribute these user as per gide lines given by sap. ( In quick sizer this help is available on market place )
    Then decide which modules u r going to take in BW.
    ( In our case BW implementation is limited to SD, FI and CO. )
    After this talk to your functional people and decided how many records will be generated per day for each module and for each functionality.
    This is required to decide disk space.
    Then list down all the infocubes and ods which are installed count dim. and key fig. for each cube. For ods count key fields and data fields.
    Hope this helps....
    Regards,
    Mahendra

  • How to Convert Date to Month in Database which is pointing to EBS, Not DWH.

    Hi Friends,
    We are planning to create reports in OBIEE and the Source is EBS. That means, we don’t want to depends on Datawarehouse and Informatica and OBIApps. We just create some reports and they are pointing to EBS database.
    For testing purpose, we have taken one HR Report and it containsthe below columns:
    Month (Dim)
    Revenue Per Employee Headcount (Fact)
    Average Cost per Active Workforce Headcount (Fact)
    In my little investigation, we found that Revenue column is coming from EBS: GL_BALANCES. And we configured W_Day_D base table in DAC as there is no Month column in EBS (Not sure).
    *** Coming to my problem, how can I call Month column in my database pointed to EBS. How to convert Date to Month in my database.
    I could be wrong but anyone please look into this issue.. How can I create columns for that exact OBI report in EBS database instead of DwH.
    Thanks in Advance..
    Raghu Nagadasari

    Hi Veeresh,
    You are right. Here, no need of using W_DAY_D table, but, we need all the stuff from the table and to explain my problem i have taken that table as an example. Now, we ran scripts for W_MONTH_D and W_DAY_D tables with EBS columns. So, we are getting data for the tables. In the same manner we have to create scripts for the below tables.
    W_GL_ACCOUNT_D
    W_GL_OTHER_F
    W_STATUS_D
    W_MCAL_DAY_D
    W_EMPLOYMENT_STAT_CAT_D
    W_WRKFC_BAL_A
    W_DAY_D (Completed)
    W_MONTH_D (Completed)
    But, we are not aware of EBS Tables and their columns much. So, we are back tracing from RpD --> DAC --> Info --> EBS for each and every column and its taking much time.
    So, if anyone of you facing the same issue, please share the EBS tables for the corresponding OBI tables, which are mentioned above.

Maybe you are looking for

  • Accounting Document Number in invoice

    Dear all, just trying to find out, when successfully posted an invoice, some users are able to see both the material and accounting document numbers generated at the status bar, while some can only see the material document number. May i know is ther

  • How to span vlans across core layer in core/distribution/access campus design?

    Hi, I studied Cisco Borderless Campus Design Guide 1.0 (http://www.cisco.com/c/en/us/td/docs/solutions/Enterprise/Campus/Borderless_Campus_Network_1-0/Borderless_Campus_1-0_Design_Guide.html) last week because we plan to redesign our campus backbone

  • Reg:mm tables

    Hi friends, if u know table name for request for quotation date kindly tell me. thank u. regards Suchithra

  • Inserting button in table

    I need insert buttons in html table to display them well aligned. I have a idea : I created html in region. The html contain <tab ...></tab> Is possible insert button in the table?

  • Presets are foolish...

    Am I missing something or is Apple? In Lightroom and in Bridge, you can set image presets that span all types of image adjustments; white balance, levels, exposure, color, sharpening, etc. You can have one preset that saves all those settings. It app