How to calculate percentage of errors in DP

Hi Gurus,
             Can anyone tell me How to calculate the percentage of errors? 
I had generated forecast and wanted to know how much is the error we have .
Please let me know your answers
Thanks a Lot
regards,
Raj

Hi Gurus,
              I just wanted to know how to get lowest percentage errors for my forecast and make business happy ?
I am using "Auto Model selection-2" and i wanted to have lowest percentage errors and what should i do for it?
What alpha , Beta and Gamma values need to keep in forecast profile?
Please let me know it will be really great
Thanks for the answers
Regards,
raj

Similar Messages

  • How to calculate percentage and difference of two values in matrix report in ssrs 2008

    Hi everyone,
    DB--SQL server
    SSRS-2008
    I am creating matrix report with grouping on WEEK and Fiscalyearweek,
    I need to calculate of difference between FY14W01,FY15W01 ande  percentage of those..
    how to calculate in ssrs level.
    Thank You, Manasa.V

    Hi veerapaneni,
    According to your description, you want to calculated the increment percentage and difference between two fiscal year week within each week. Right?
    In this scenario, since we need to do calculation based on values between dynamically generated cells, we can't simply use expression to achieve this goal. In this scenario, we need to use custom code to record the value for fiscal 14 and fiscal 15, then
    we can calculate the difference and percentage within the column group. We have tested your case in our local environment, please refer to the steps and screenshots below:
    1. Add the custom code below into the report (you may need to modify the data type based on your scenario:
    Public Shared Value1 as Integer
    Public Shared Value2 as Integer
    Public Shared previous as string
    Public Shared previousweek as string
      Public Shared Function GetValue(Value as Integer,product as String,Week as String) as Integer
    If product =previous and Week =previousweek  Then
         Value2=Value
    Else
    previous=product
    previousweek=Week
    Value1=Value
    End If
         return Value
      End Function
      Public Shared Function GetPct()
         return (Value2-Value1)/Value1
      End Function
    Public Shared Function GetDiff()
         return Value2-Value1
      End Function
    2. Design the matrix like below:
    3. The result look like below:
    If you have any question, please feel free to ask.
    Best Regards,
    Simon Hou

  • How to calculate percentage old school

    I am looking for a calculator aps that can calculate percentage like in the 1980 Casio calculator,
    Example:
    100 x 25% +
    That would equal 125 and not 50
    Merck

    Meg St._Clair wrote:
    By the way, 100x25% =25, not 125 or 50. What your asking is 100 + (.25x100). At least, as best I can tell.
    What you missed - and I missed it as well at first is the + sign in the OP's post which then makes the calculation...
    100 x 1.25 + = 150 where the + adds the 25 back onto the subtotal.
    100 x 1.25 = 125 + 25 = 150.
    That is how I interpret what the OP wants to do.

  • How to calculate percentage in alv

    hi guru,
    i have 2 vaues one is onspec total = 543 . 00
                                 grand total    =  1098.00
    how i caculate percentage means i want (543 / 1098)*100
    help me in alv ....
    thanks

    I too have searched for a complete answer.  I have managed to calculate the percentage and update the subtotal line, but cannot force this data to the grid on first display.  I set the DO_SUM = 'X' in the field category and the SUBTOT = 'X' in the sort table.  The following code will change the subtotal line.  Any help with forcing the new subtotal to appear in grid at first display will be greatly appreciated.
    Get the sort criteria before subtotaling changes
        CALL METHOD G_GRID->GET_SORT_CRITERIA
          IMPORTING
            ET_SORT = GT_SORT.
    Get the subtotal structure
        CALL METHOD G_GRID->GET_SUBTOTALS
          IMPORTING
            EP_COLLECT00 = TOTAL
            EP_COLLECT01 = SUBTOTAL.
        ASSIGN TOTAL->* TO <TOTAL>.
        ASSIGN SUBTOTAL->* TO <SUBTOTAL>.
        CLEAR W_PLNHR.
    Recalculate the % done in subtotal line
        LOOP AT <SUBTOTAL> INTO WA_TOT.
          IF WA_TOT-PLNHR > 0.
            WA_TOT-PLNPR = WA_TOT-ESTHR / WA_TOT-PLNHR * 100.
          ELSE.
            WA_TOT-PLNPR = 0.
          ENDIF.
          WA_TOT-GJAHR = SGJAHR.
          MODIFY <SUBTOTAL> FROM WA_TOT INDEX SY-TABIX.
        ENDLOOP.

  • How to calculate percentage based on key figure maximum value

    Hello everybody!
    I need your expertise on a query 'issue' I'm facing. Let's say I have a query getting me the Number of Open Items per Week (starting from billing document's Issue Date).
    My client wants to be able to see the percentage per week and not the actual number.
    So, what I have is below:
    <b>Wk</b><b>"OI Nr"</b>
    1                                "68.801"
    2                                "66.288"
    3                                "59.344"
    4                                "50.506"
    5                                "20.950"
    And what I want is below (in italics):
    <b>Wk</b><b><i>"OI %"</i></b>
    1                       "<i>100%   </i>"           (i.e. 68.801 / 68.801 * 100)
    2                      "<i> 96,34%  </i>"         (i.e. 66.288 / 68.801 * 100)
    3                      "<i> 86,25%  </i>"         (i.e. 59.344 / 68.801 * 100)
    4                       ......
    5                       ......
    Is it possible to achieve sth like this by altering some key figure properties or in any other way?
    Thanks in advance.

    First u need to create a calculated Key Fig globally. You can do this at the extreme left end of the query Designer. Just right click on the Calculated key Fig and say <b>New Calculated Key Figure</b>
    Give the description of the Key Fig and in the formula section just put the the key fig . <b>'OI Nr'</b> in you case
    When u say ok it will open the properties of the key fig there u can see <b>Enhance>></b> at the bottom. Click on that make the <b>exception aggregation</b> to <b>maximum</b> and <b>refernce characteristic</b> for the one which u are having the values 68.801, 66.288, 59.344, ..
    Save this calculated key fig
    now in the Columns create a <b>new selection</b> under the key fig.
    drag the newly created calculated key fig in this <b>new selection</b> and say ok.
    Now right click on this <b>new selection</b>, go to the <b>Calculated Single Value</b> as drop down and make it <b>Normalize-Sub Totals</b>
    Tick the checkbox  <b>Also Apply to result</b>
    and select <b>Calculate Along Columns</b>.
    Save the query and execute. This should solve youe issue
    Hope this helps.

  • ALV Grid( How to calculate percentage) using alv gridfunctional module.

    Dear Gurus,
    In my report first coulmn and second column are sales and margin but third coulmn is margin%. now at last of report i want to display total sales and total margin and overall margin percentage. I am able to do total of sales and margin by using standard functionality of grid. I need to know to calculate overall percentage. I am not using alv oops method . I am using fucntional modules .
    Thanks in advance.
    Regards
    Dave

    Hi Devendra shrama,
    Percentage calculation in ALV
    The following method is a bit of a mission but it
    seems to be the only way around this at the moment.
    Also it only works with an ALV Grid not an ALV List.
    You have to take over the total lines manually.
    1. In the ALV output tab add extra fields that are the
    same as those on which you are sorting and contain the
    same values.
    2. In the Field Catalog you must add these fields but
    they must be hidden i.e. no_out = 'X'.
    3. These fields must be included in the Sort Catalog
    with subtot = 'X'.
    4. In order to handle the final total line in your
    layout for the ALV you must set field no_totalline'X' because you are going to be taking this over as
    well.
    5. Create a form called SUBTOTAL_TEXT or similar
    structured as follows:
    form subtotal_text using ep_subtot_line like
    output_tab
    es_subtottxt type
    slis_subtot_text.
    In this form you will do the percentage calculation
    again at total level. The structure ep_subtot_line
    will contain a field for each of the fields in your
    output_tab i.e. ep_subtot_line-sales,
    ep_subtot_line-cost and ep_subtot_line-margin. Put the
    margin calculation into ep_subtot_line-margin.
    6. In the eventtab that you pass to the ALV_GRID
    function module you must create a record with the
    field name = 'SUBTOTAL_TEXT' and the field form = the
    name of the form you created in step 5 above.
    This works OK.
    i hope it helps you.Happy solving.
    thanks
    karthik

  • How to calculate percentage

    hi,
    i have requirement below.
    i want to calculate 20 percent of wa_ameng .and if wa_menge value is more than 20 percent of wa_ameng  then i will capture that value to another varibale.how to write the code please help me
    data:wa_ameng type i,
         wa_menge type i,
         wa_percent type i.
    *DATA: BEGIN OF xe1edp10.
           INCLUDE STRUCTURE e1edp10.
    *DATA: END OF xe1edp10.
    LOOP AT dint_edidd
      WHERE segnam EQ 'E1EDP10'.
      CLEAR xe1edp10.
      MOVE dint_edidd-sdata TO xe1edp10.
    loop at DEKEH .
    move dekeh-ameng to wa_ameng.
    move dekeh-menge to wa_menge.
    endloop.
    ENDLOOP.

    Hi,
    Add decimals to it.
    data :wa_ameng type p DECIMALS 2,
          wa_menge type p DECIMALS 2 ,
          wa_percent type p DECIMALS 2 ,
          wa_percent1 type p DECIMALS 2 .
    Thanks,
    Sri.

  • How to calculate percentage growth rate

    Hi guys,
    Please I am trying to calculate the percentage of growth rate using MDX query.
    I have tried this but it keeps returns a null value.
    Create Member CurrentCube.[Measures].[Monthly Growth Internet Sales Amount]
    As [Measures].[Internet
    Sales Amount]/
    ([Date].[Month of Year].CurrentMember,[Measures].[Internet Sales Amount])- 
    ([Date].[Month of Year].PrevMember,[Measures].[Internet Sales Amount]), 
    FORMAT_STRING = "Currency", 
    VISIBLE = 1
    I need your assistance please.
    me

    Are you trying to return a percentage? If so, your format_string needs to have a percentage format.
    Also, are you trying to return [Internet Sales Amount] change vs last month? 
    If so, the query should be something like this...
    Member CurrentCube.[Measures].[Monthly Growth Internet Sales Amount]
    As
    (([Date].[Month of Year].CurrentMember,[Measures].[Internet Sales Amount])-
    ([Date].[Month of Year].PrevMember,[Measures].[Internet Sales Amount]))
    / [Measures].[Internet Sales Amount],
    FORMAT_STRING = "0.0%",
    VISIBLE = 1
    Please mark as answered, if this is what you are looking for.

  • How to calculate standard error in Numbers

    How to calculate standard error in Numbers?

    Urbinan,
    STDEV will estimate the stardard deviation based on your sample and STDEVP will calculate the standard deviation of your entire population.
    Jerry

  • How to calculate difference and percentage in matrix report dynamic columns in SSRS 2008

    Hi Friends,
    I need to calculate Difference and Percentage In matrix report SSRS 2008
    1) Row grouping based On Product
    2) Column Grouping Week and Fiscal Year Current week  and Previous Year same Weeks 
    3)Data Invnetory(Value fileld)
    Example:
    If value1 and Value2 Available we need to calculate Percentage and Difference.Otherwise Not required NA I need to Show.
    For example If Particular week,Current year data is available,Previous year  week data is not available No
    need to cal Diff and Percentage we need to show Empty.
    Below Code is working for If two values is available.
    If any one of the fiscal year week data is not there it's taking some garbage values.
    I tries with If condition in GetPCT() and GetDiff() It's not working.
    Can some one please help me on this.
    I am using the custom code 
    Public Shared Value1 as String
    Public Shared Value2 as String
    Public Shared previous as string
    Public Shared previousweek as string
    Public Shared Function GetValue(Value as String,partner as String,Week as String) as String
    If partner =previous and Week =previousweek Then
    Value2=Value
    Else
    previous=partner
    previousweek=Week
    Value1=Value
    End If
    return Value
    End Function
    Public Shared Function GetDiff()
    return Value2-Value1
    End Function
    Public Shared Function GetPct()
    return (Value2-Value1)/Value1
    End Function
    How to handle this.
    Thank You, Manasa.V

    Hi veerapaneni,
    According to your description, if one of the fiscal year week doesn’t have data, the custom code returns false results.
    For your requirement, if NULL value exists in the database, we should replace it as zero then perform calculate. So within the code, we should judge whether the value is NULL. To achieve your goal, please refer to the steps below:
    1. Create a table like below.
    create table dif4
    ([Product Group] varchar(50),
    [Week] varchar(50),
    [Fiscalyearweek] varchar(50),
    value int
    insert into dif4 values
    ('Desktops','W01','FY14W01',0),
    ('Desktops','W01','FY15W01',45),
    ('Desktops','W02','FY14W02',null),
    ('Desktops','W02','FY15W02',30),
    ('Desktops','W03','FY14W03',12),
    ('Desktops','W03','FY15W03',50),
    ('Notebooks','W01','FY14W01',35),
    ('Notebooks','W01','FY15W01',56),
    ('Notebooks','W02','FY14W02',45),
    ('Notebooks','W02','FY15W02',87),
    ('Notebooks','W03','FY14W03',75),
    ('Notebooks','W03','FY15W03',105),
    ('Tablets','W01','FY14W01',34),
    ('Tablets','W01','FY15W01',46),
    ('Tablets','W02','FY14W02',49),
    ('Tablets','W02','FY15W02',96),
    ('Tablets','W03','FY14W03',42),
    ('Tablets','W03','FY15W03',113)
    2. Add the custom code in the Report Properties.
    Public Shared Value1 as Integer
    Public Shared Value2 as Integer
    Public Shared previous as string
    Public Shared previousweek as string
    Public Shared Function GetValue(Value as Integer,product as String,Week as String) as Integer
    If Value=Nothing Then
    Value=0
    End If
    If product =previous and Week =previousweek Then
    Value2=Value
    Else
    previous=product
    previousweek=Week
    Value1=Value
    End If
    return Value
    End Function
    Public Shared Function GetPct()
    If Value1=0 Then
    return 0
    Else
    return (Value2-Value1)/Value1
    End If
    End Function
    Public Shared Function GetDiff()
    return Value2-Value1
    End Function
    3. Design the matrix like below.
    4. Then get the expected results.<o:p></o:p>
    If you have any question, please feel free to ask.
    Best regards,
    Qiuyun Yu
    Qiuyun Yu
    TechNet Community Support

  • How to calculate milestone percentage for final milestone (billing rule 3)

    Hi,
    Client is using percentage based milestone billing. For final milestone, billing rule is set to "3 Closing invoice in milestone billing" and milestone percentage, field FPROZ, is empty without any value.
    My aim is to calculate final milestone percentage, so it would be printed on invoice layout.
    I have suggested below logic to developer:
    "If RV60F-SFPRO field is not equal to  0,00 (zero), pass billing plan VBRP-FPLNR and item numbers VBRP-FPLTR into FPLT table to get FPLT-FPROZ"
    But developer can't find RV60F-SFPRO value anyway...
    Therefore, I have a problem - how to calculate final milestone percentage in this case?
    Could anyone provide any other logic how to calculate it?

    Percentage can't be added into final milestone in SO billing plan, field FPROZ is not editable....
    Moreover, this milestone just have billing value in SO billing plan.
    I am going to use this logic that hopefully would fix the issue:
    If invoice billing type VBRP-FKART value is XXX and billing plan rule FAREG value is 1, or 3, or 4, or 5, then milestone percentage should be calculated by following formula: milestone billing value x 100 and then divided by order net value from VBAP-NETWR.
    If invoice billing type XXX, but billing plan rule is different then, no milestone percentage is not printed. This logic is valid for header and item level billing.

  • How to calculate the individual sums of multiple columns in a single query

    Hello,
    Using Oracle 11gR2 on windows 7 client. I have a question on calculating sum() on multiple columns on different columns and store the results in a view. Unfortunately I could not post the problem here as it keeps on giving error "Sorry, this content is not allowed", without telling where or what it is! So I had to post it in the stack-overflow forum, here is the link: http://stackoverflow.com/questions/16529721/how-to-calculate-the-individual-sums-of-multiple-columns-in-a-single-query-ora
    Will appreciate any help or suggestion.
    Thanks

    user13667036 wrote:
    Hello,
    Using Oracle 11gR2 on windows 7 client. I have a question on calculating sum() on multiple columns on different columns and store the results in a view. Unfortunately I could not post the problem here as it keeps on giving error "Sorry, this content is not allowed", without telling where or what it is! So I had to post it in the stack-overflow forum, here is the link: http://stackoverflow.com/questions/16529721/how-to-calculate-the-individual-sums-of-multiple-columns-in-a-single-query-ora
    Will appreciate any help or suggestion.
    ThanksLooks like you want a simple group by.
    select
              yr
         ,      mnth
         ,      region
         ,     sum(handled_package)
         ,     sum(expected_missing_package)
         ,     sum(actual_missing_package)
    from test
    group by
         yr, mnth, region
    order by      
         yr, mnth, region;I wouldn't recommend storing your data for year / month in 2 columns like that unless you have a really good reason. I would store it as a date column and add a check constraint to ensure that the date is always the first of the month, then format it out as you wish to the client.
    CREATE TABLE test
         year_month                              date,
        Region                     VARCHAR2(50),
        CITY                       VARCHAR2(50),             
        Handled_Package            NUMBER,       
        Expected_Missing_Package   NUMBER,   
        Actual_Missing_Package     NUMBER
    alter table test add constraint firs_of_month check (year_month = trunc(year_month, 'mm'));
    ME_XE?Insert into TEST (year_month, REGION, CITY, HANDLED_PACKAGE, EXPECTED_MISSING_PACKAGE, ACTUAL_MISSING_PACKAGE)
      2  Values (to_date('2012-nov-12', 'yyyy-mon-dd'), 'Western', 'San Fransisco', 200, 10, 5);
    Insert into TEST (year_month, REGION, CITY, HANDLED_PACKAGE, EXPECTED_MISSING_PACKAGE, ACTUAL_MISSING_PACKAGE)
    ERROR at line 1:
    ORA-02290: check constraint (TUBBY.FIRS_OF_MONTH) violated
    Elapsed: 00:00:00.03
    ME_XE?Insert into TEST (year_month, REGION, CITY, HANDLED_PACKAGE, EXPECTED_MISSING_PACKAGE, ACTUAL_MISSING_PACKAGE)
      2  Values (to_date('2012-nov-01', 'yyyy-mon-dd'), 'Western', 'San Fransisco', 200, 10, 5);
    1 row created.
    Elapsed: 00:00:00.01
    ME_XE?select
      2        to_char(year_month, 'fmYYYY')    as year
      3     ,  to_char(year_month, 'fmMonth')   as month
      4     ,  Region
      5     ,  CITY
      6     ,  Handled_Package
      7     ,  Expected_Missing_Package
      8     ,  Actual_Missing_Package
      9  from test;
    YEAR         MONTH                REGION                         CITY                    HANDLED_PACKAGE EXPECTED_MISSING_PACKAGE ACTUAL_MISSING_PACKAGE
    2012         November             Western                        San Fransisco                       200                       10                      5
    1 row selected.
    Elapsed: 00:00:00.01
    ME_XE?Then you have nice a nice and easy validation that ensures you data integrity.
    Cheers,

  • CFM /TR - how system calculate amount based on rate FX 60A

    Hi all,
    i need to know how system calculates amount based on rate entered upon creating a contract (t-code TX01).
    steps input:-
    1. header - comp code, product type, trans type
    2. partner
    3. purchase curr & amount (eg. IDR 8,345,545,500)
    4. sale currency only (amount system will auto calculate) USD
    5. rate field = 11.553
    6. spot rate will auto pick up from rate
    7. value date
    8. contract date
    upon TBB1 no error. posting log as follows:-
    FX1000+ : 40 8,345,545,500 IDR bank GL acc
                    50 8,345,545,500 IDR clearing acc
    FX2000- : 40 722370.42 USD clearing acc
                   50 722370.42 USD bank GL acc
    but upon TPM18 error occurred as follows:
    DBT_C009 - GL not maintain in acc symbol 5.3.4
    DBT_E039 - no posting spec assigned to update type
    DBT_B018 : 40 0 USD, 431,977,511 IDR gain/loss
                       50 0 USD, 431,977,511 IDR clearing acc
    so, after maintained DBT_C009 as follows still error for DBT_E039:
    40  0 USD, 38 IDR clearing acc
    50  0 USD, 38 IDR P&L gl acc
    what i don't understand is how system calculate and get DBT_C009 & DBTE039.
    what is the function of TPM18?
    thanks.

    Hello Prarnod,
    I have done the first node only for actuals that come from the integration to the internal order.
    I have tried setting up 2 and 3 even though the 3rd one does not make any sense to me
    Thanks,
    Paul

  • How to calculate % based on totals of a characteristic

    HI BI query goeroes,
    I have following query:
    Sales org - S&OP - Channel - PSI - KeyFigure1 - % S&OPKF1 - % Channel KF1
    S100--SAA---1010/60--
    10/30
    S100--SAB---2020/60--
    20/30
    total  ChannelA--
    30
    S100--SBA---1515/60--
    15/30
    S100--SBB---1515/60--
    15/30
    total  ChannelA--
    30
       total S&OP S                                 60
    Question is how to calculate the last two colums.
    First colum should calculate the Keyfigure1 percentage based on the overall total of S&OP per salesorg (keep in mind that we have multiple sales orgs).
    Last colum should calculate the Keyfigure1 percentage based on the total of Channel per salesorg/s&op group.
    Can anyone please assist me how to do this?
    I am using the BI7.0 query designer.

    Hi,
    To Calculate % Channel KF1 you can use  'Percentage of Result'(KeyFigure1).
    To calculate % S&OPKF1 you can use ' Pecentage of Overall Result' (Keyfigure1).
    These are functions are available in the Percentage Functions when you create a formula or a CKF.
    Hope this helps.

  • BAPI_ACC_INVOICE_RECEIPT_POST how to calculate tax

    Hallo folks,
    i can't figuere out how to calculate the tax with the bapi BAPI_ACC_INVOICE_RECEIPT_POST. I already searched the Forums and google but no Solution helped me.
    I don't really get it, which fields i have to fill. For example i do i have to fill the amt_base for every item or just for the tax structure?
        ls_accgl-comp_code  = ls_outtab-zzfaleiemp.
        ls_accgl-tax_code   = 'V3'.
        ls_accgl-profit_ctr = ls_outtab-prctr.
        ls_accgl-sales_ord  = ls_outtab-kdauf.
        ls_accgl-s_ord_item = ls_outtab-kdpos.
        APPEND ls_accgl TO lt_accgl.
        CLEAR ls_curamt.
        ls_curamt-itemno_acc     = l_itemno.
        ls_curamt-currency_iso   = 'EUR'.
        ls_curamt-amt_doccur     = ls_outtab-zzsum.
      ls_acctax-itemno_acc = l_itemno.
      ls_acctax-tax_rate   = '19.000'.
      ls_acctax-gl_account = ls_accgl-gl_account.
      ls_acctax-tax_code   = 'V3'.
      ls_acctax-acct_key   = 'VST'.
      ls_acctax-cond_key   = 'MWVS'.
      APPEND ls_acctax TO lt_acctax.
      CLEAR ls_curamt.
      ls_curamt-itemno_acc = l_itemno.
      ls_curamt-currency   = 'EUR'.
    *  ls_curamt-amt_doccur = l_sum.
      ls_curamt-amt_base   = l_sum.
      APPEND ls_curamt TO lt_curamt.
    Because it doesn't matter what field i fill in TA FB03 there never come any taxes up.
    has anybody some Ideas?
    Best regards
    Mathias

    Hi,
      check the below code
    Read Invoice Work item data
      CLEAR: lwa_inv_header.
      SELECT SINGLE * INTO lwa_inv_header
        FROM zbw_inv_header
      WHERE zinv_id = i_documentheader-zinv_id.
      IF sy-subrc = 0.
    Get history line count
        SELECT COUNT(*) INTO lv_hist_lineid
          FROM zbw_wi_history
         WHERE zinv_id = i_documentheader-zinv_id.
    Get exception line count
        SELECT COUNT(*) INTO lv_lineid
          FROM zbw_wi_exception
         WHERE zinv_id = i_documentheader-zinv_id.
    Get document type
        SELECT SINGLE zdoctype INTO lv_doc_type
          FROM zbw_doc_types
        WHERE zinvtype = i_documentheader-zinvoicetype AND
              zinvind  = i_documentheader-invoice_ind.
        IF sy-subrc <> 0.
          CLEAR t_return.
          t_return-ztype    = 'E'.
          t_return-zmessage = 'Document type configuration is not done'.
          APPEND t_return.
          lv_lineid = lv_lineid + 1.
          CLEAR lwa_exceptions.
          lwa_exceptions-zinv_id  = i_documentheader-zinv_id.
          lwa_exceptions-zlineid  = lv_lineid.
          lwa_exceptions-zstep_id = i_stepid.
          lwa_exceptions-zuser    = sy-uname.
          lwa_exceptions-zdate    = sy-datum.
          lwa_exceptions-ztime    = sy-uzeit.
          lwa_exceptions-zexception = t_return-zmessage.
          MODIFY zbw_wi_exception FROM lwa_exceptions.
          EXIT.
        ENDIF.
    Read posting date config
        SELECT SINGLE * INTO lwa_posting
          FROM zbw_posting_date
        WHERE zarea = i_documentheader-zinvoicetype.
        IF sy-subrc <> 0.
          CLEAR t_return.
          t_return-ztype    = 'E'.
          t_return-zmessage = 'Posting date configuration is not done'.
          APPEND t_return.
          lv_lineid = lv_lineid + 1.
          CLEAR lwa_exceptions.
          lwa_exceptions-zinv_id  = i_documentheader-zinv_id.
          lwa_exceptions-zlineid  = lv_lineid.
          lwa_exceptions-zstep_id = i_stepid.
          lwa_exceptions-zuser    = sy-uname.
          lwa_exceptions-zdate    = sy-datum.
          lwa_exceptions-ztime    = sy-uzeit.
          lwa_exceptions-zexception = t_return-zmessage.
          MODIFY zbw_wi_exception FROM lwa_exceptions.
          EXIT.
        ENDIF.
        IF lwa_posting-zcurrentdate = 'X'.
    Todays date as posting date
          lwa_documentheader-pstng_date = sy-datum.
        ELSE.
          lv_today = sy-datum.
          CLEAR: lv_days,
                 lv_months,
                 lv_years,
                 lv_calcdt.
    Calculate last day of previous month as posting date
          CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
            EXPORTING
              date      = lv_today
              days      = lv_days
              months    = lv_months
              signum    = '-'
              years     = lv_years
            IMPORTING
              calc_date = lv_calcdt.
          IF sy-subrc <> 0.
            CLEAR t_return.
            t_return-ztype    = 'E'.
            CONCATENATE 'Error while calculating the'
                        'Last day of previous month'
              INTO t_return-zmessage SEPARATED BY space.
            APPEND t_return.
            lv_lineid = lv_lineid + 1.
            CLEAR lwa_exceptions.
            lwa_exceptions-zinv_id  = i_documentheader-zinv_id.
            lwa_exceptions-zlineid  = lv_lineid.
            lwa_exceptions-zstep_id = i_stepid.
            lwa_exceptions-zuser    = sy-uname.
            lwa_exceptions-zdate    = sy-datum.
            lwa_exceptions-ztime    = sy-uzeit.
            lwa_exceptions-zexception = t_return-zmessage.
            MODIFY zbw_wi_exception FROM lwa_exceptions.
            EXIT.
          ENDIF.
          CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
            EXPORTING
              day_in            = lv_calcdt
            IMPORTING
              last_day_of_month = lwa_documentheader-pstng_date
            EXCEPTIONS
              day_in_no_date    = 1
              OTHERS            = 2.
        ENDIF.
    Populate the header data
        lwa_documentheader-obj_type       = 'IBKPF'.
        CONCATENATE sy-datum sy-uzeit lwa_documentheader-comp_code
          INTO lwa_documentheader-obj_key.
        lwa_documentheader-obj_sys        =  sy-sysid.
        lwa_documentheader-username       =  sy-uname.
        lwa_documentheader-header_txt     =  'HD BAPI Test'.
        lwa_documentheader-comp_code      = i_documentheader-comp_code.
        lwa_documentheader-fisc_year      = i_documentheader-zfisc_year.
        lwa_documentheader-doc_date       =  i_documentheader-doc_date.
        lwa_documentheader-trans_date     = sy-datum.
        lwa_documentheader-fis_period     =  i_documentheader-zfisc_period.
        lwa_documentheader-doc_type       =  lv_doc_type.
            ALL ITEM DATA                                               *
    Populate Account payble data
        CLEAR lt_accountpayable.
        lt_accountpayable-itemno_acc      = 1.
        lt_accountpayable-vendor_no       = i_documentheader-zvendor.
        lt_accountpayable-item_text       = 'Webdesk invoice posting'.
        APPEND lt_accountpayable.
        clear lt_accountpayable.
    Populate the currency for Account payble
      CLEAR lt_currencyamount.
      lt_currencyamount-itemno_acc      = 1.
      lt_currencyamount-currency        = i_documentheader-currency.
      lt_currencyamount-amt_doccur      = i_documentheader-gross_amount * -1.
      APPEND lt_currencyamount.
      clear lt_currencyamount.
    Loop the GL table
        CLEAR lv_errfl.
        LOOP AT t_glacc.
          CONCATENATE i_documentheader-supcountry t_glacc-tax_code
            INTO lv_vakey SEPARATED BY space.
          SELECT knumh INTO lv_knumh
           UP TO 1 ROWS
            FROM konh
           WHERE vakey = lv_vakey.
          ENDSELECT.
          IF sy-subrc = 0.
            SELECT SINGLE kbetr INTO lv_kbetr
              FROM konp
             WHERE knumh = lv_knumh.
            IF sy-subrc <> 0.
              lv_errfl = 'X'.
            ENDIF.
          ELSE.
            lv_errfl = 'X'.
          ENDIF.
          lv_kbetr = lv_kbetr / 10.
          IF t_glacc-tax_base_amount IS INITIAL.
            lv_taxamt  =  ( i_documentheader-gross_amount * lv_kbetr ) / 100.
          ELSE.
            lv_taxamt  =  ( t_glacc-tax_base_amount * lv_kbetr ) / 100.
          ENDIF.
    Populate the GL data
          lt_accountgl-itemno_acc           = 2.
          lt_accountgl-gl_account           = t_glacc-gl_account.
          lt_accountgl-tax_code             = t_glacc-tax_code.
          lt_accountgl-acct_key             = t_glacc-zacct_key.
          lt_accountgl-item_text            = 'Webdesk invoice posting'.
          APPEND lt_accountgl.
          clear lt_accountgl.
          CLEAR lt_currencyamount.
          lt_currencyamount-itemno_acc        =  2.
          lt_currencyamount-currency          =  i_documentheader-currency.
          lt_currencyamount-amt_doccur        =  t_glacc-item_amount - lv_taxamt.
          APPEND lt_currencyamount.
          clear lt_currencyamount.
          IF NOT t_glacc-tax_code IS INITIAL.
    Populate the Tax data
            lt_accounttax-itemno_acc = 3.
            lt_accounttax-gl_account = t_glacc-ztaxgl_account.
            lt_accounttax-tax_code   = t_glacc-tax_code.
            lt_accounttax-acct_key   = t_glacc-zacct_key.
            APPEND lt_accounttax.
            clear lt_accounttax.
            CLEAR lt_currencyamount.
            lt_currencyamount-itemno_acc        =  3.
            lt_currencyamount-currency          =  i_documentheader-currency.
            lt_currencyamount-amt_doccur        =  lv_taxamt.
            IF t_glacc-tax_base_amount IS INITIAL.
              lt_currencyamount-amt_base          =  i_documentheader-gross_amount.
            ELSE.
              lt_currencyamount-amt_base          =  t_glacc-tax_base_amount.
            ENDIF.
            APPEND lt_currencyamount.
            clear lt_currencyamount.
          ENDIF.
        ENDLOOP.
        IF lv_errfl = 'X'.
          CLEAR t_return.
          t_return-ztype    = 'E'.
          CONCATENATE 'Error while calculating the'
                      'Tax amount'
            INTO t_return-zmessage SEPARATED BY space.
          APPEND t_return.
          lv_lineid = lv_lineid + 1.
          CLEAR lwa_exceptions.
          lwa_exceptions-zinv_id  = i_documentheader-zinv_id.
          lwa_exceptions-zlineid  = lv_lineid.
          lwa_exceptions-zstep_id = i_stepid.
          lwa_exceptions-zuser    = sy-uname.
          lwa_exceptions-zdate    = sy-datum.
          lwa_exceptions-ztime    = sy-uzeit.
          lwa_exceptions-zexception = t_return-zmessage.
          MODIFY zbw_wi_exception FROM lwa_exceptions.
          EXIT.
        ENDIF.
               CALLING BAPI                                             *
        CLEAR lwa_wi_history.
        lwa_wi_history-zinv_id  = i_documentheader-zinv_id.
        lwa_wi_history-zlineid  = lv_hist_lineid.
        lwa_wi_history-zstep_id = i_stepid.
        lwa_wi_history-zuser    = sy-uname.
        lwa_wi_history-zdate    = sy-datum.
        lwa_wi_history-ztime    = sy-uzeit.
        CLEAR: lt_return[].
        CALL FUNCTION 'BAPI_ACC_INVOICE_RECEIPT_POST'
          EXPORTING
            documentheader = lwa_documentheader
          IMPORTING
            obj_type       = obj_type
            obj_key        = obj_key
            obj_sys        = obj_sys
          TABLES
            accountpayable = lt_accountpayable
            accountgl      = lt_accountgl
            accounttax     = lt_accounttax
            currencyamount = lt_currencyamount
            return         = lt_return.
    Thanks & Regards,
    Sateesh.

Maybe you are looking for

  • How can i create a new simple tasks in uwl by API?

    Hi, I want create a simple tasks with the API (no with WD), can anybody help me? What is the API for create, are there any sample? Thanks in advance, Regards,

  • Lookup issue for File to Idoc scenario-- Urgent Pls.

    Hi All, Iam doing File to IDoc scenario with one file --> any of 3 R/3 systems. Routing has to be done dynamically using a lookup file, based on the incoming GLN code and last character of the Order Reference number. The last character of the Order r

  • Audio Not Syncing After Offline Conversion/Batch Capture from OfflineRT-DV

    WORKFLOW: 1. Shooting HDV on a Sony HDR-V1U (DF/NDF Timecode setting is AUTO on the camera) 2. Using the camera to downconvert to DV as I import into FCP 7 (final product will be NTSC DVD). 3. I first capture and log using the OfflineRT NTSC (Photo J

  • Ati Driver Not Found Xp

    I did a fresh install of windows xp on my new lenovo U330. Everything went fine. Yet when I go to install the lastest Ati Mobile Drivers 9.2 it says hardware not found. If I use the Ati drivers from lenovo's site then it works fine, yet the driver is

  • How to Put DVD/Video on iPod, PSP, Computer, Zune,...

    Many Mac users have iPod, PSP and other portable devices, but they can only enjoy songs and videos from iTunes or buy them from internet, because there is seldom nice Mac DVD and Video covnerter for iPod, PSP and other devices. Today I will introduce