Distribute difference function in F-28

Hi Gurus,
When we use the distribute difference function during the incoming payment process (f-28) the posting keys which are currently used are
06 for underpayments
15 for overpayments
The correct posting key for overpayments should be 16 not 15
In case of under payment the system picks posting key 06 which is fine, but in case of over payment the system picks posting key 15 in place of 16.
I looked into OBXH and there the posting keys mentioned for payment difference are 06 and 16 however, the system is picking posting key 15 in place of posting key 16. I have checked with some of my ex-colleagues also working on different sites and they all are having the same issue. Could anyone tell me how to fix it and what is the reason why it is picking posting key 15 and not 16.
Thanks in advance

Hi,
As far as I understand, the system will use both the posting keys. Let me explain you with an example:
Lets assume that the outstanding invoice is for 9900/-. The customer has made a payment of Rs.10000/- with an over payment of Rs.100/-.
The entry for this would be as below along with the relevant posting keys:
PK       Account                                                   Amount
40      Bank                                                            10000
16      Customer(for the difference amount)                   100
15      Customer (for the invoice amount)                     9900
If this is the entry you are getting, then it is the normal way SAP will behave.
Regards
AKV

Similar Messages

  • Incoming Payment: Distribute Differences

    When applying payments and you want to distribute differences . . . the screen shows the amount and reason code  . . . how can you add another field to this view such as payment terms?

    All the Open item processing transactions like F-28, F-53, F-30, and FEBA_LOCKBOX use a single program SAPDF05X for performing the u201Copen item clearingu201D. In this program we have 4 different screens 4201, 4200, 1200, 1201 for performing the function of u201CDistributing differences in paymentu201D. One among these screens will be chosen by the program depending on the scenario.
    Foe example: Screen 4200 is chosen when we wish to distribute the Residual amount by Reason code.
                          Screen 4201 is chosen if we distribute the difference amount (non-residual) in payment.
    Among the four screens, 4200 and 1200 do not have any additional fields.
    While the following additional fields are available for the screens 4201 and 1201:
    DF05B-DFBUK    - Company Code
    DF05B-DFDEB    - Customer Number 1
    DF05B-DFKRE    - Account Number of Vendor or Creditor
    DF05B-DFSAK    - General Ledger Account
    Layout for these screens (4201 & 1201) cannot be maintained with the following standard options:
    Line layout configuration (T. codes: FAKP, FB00)
    Transaction variant configuration (T. code: SHD0)
    There is a possibility to bring the available additional fields by activating the u201Cconfigurableu201D checkbox in the Table control attributes of respective screens, through the T. code SE51.
    Above activity will allow us to create u201Ctable control variantsu201D which manages the available columns for input / output. However this option would be a Modification to the standard screen and will be overwritten during further upgrades.

  • Exchange Rate Differences function and when to use

    The company I am asking about is based in the US, but also has offices and transactions in Canada.  Does the Exchange Rate Differences function need to be run at month-end before finalizing the financials, in order to "re-value" the Canadian accounts, such as Accts Receivable, Accts Payable, Fixed Assets, etc. that may not have changed during the last month (no activity during the "current" month)?  The financials are expressed in US Currency.  Transactions during the month to the various Canadian accounts are "re-valued" at the time of the transaction entry, since the exchange rates are updated every day in the system.  We need a clear-cut idea of when the Exchange Rate Differences function should be run.

    I would say that you do need to do it. This is very important to ensure your account receivable control account (or payable) is revalued at the end of the month based on the new exchange rate.
    I know some companies do not revalue the balances as it is not required. I think, revaluating the balance makes sense as it will give you a true picture of your payable or receivable at the end of the month. This is also a good way of accruing your exchange rate loss/gain.
    Vincent

  • Distribute Planning Function(Using Variables)

    Hi All,
    I'm trying to distribute KeyFigure value between months.
    For example:Between Jan2005 and April2005 i want to distribute values.
    4000 gets distributed as below:
    Jan2005 - 1000
    Feb2005 - 1000
    Mar2005 - 1000
    Apr2005 - 1000
    I want user to select from CalYear/month and To CalYear/month from WebInterface dynamically.
    But,Distribute from Sender to Receiver planning function is not allowing me to use two variables From and To.
    It is allowing me to use only one Variable.
    Could u please suggest me how to use two variables in distribute planning function.
    Thanks in advance,
    Pat.

    Hello Saritha,
    A variable in the BPS can contain a single value or/and a range of values. In the definition of the planning function you can specify an interval by entering the from value and the to value or by choosing one variable containing this interval. This is why the system behaves the way you described it.
    What can you do? Use a variable of type Exit in the definition of the planning function. Use two additional variables in the web interface so the users can enter a from and a to value. Now in the exit (for the exit variable)you read the two values and return the interval. You can find the necessary coding and a more detailed description of such a scenario in the BPS how to guide "How to... Variables of type Exit".
    Best regards,
    Gerd Schoeffl
    SAPNet Weaver RIG BI

  • How can i implement 'Distribute Qty' function in BAPI_GOODSMVT_CREATE

    Hi all,
    Using MIGO For GR. if more than one Batch or Production Date or Vendor Batch for same Purchase Order Line Item and Deliv date, need to hit ‘Distribute Qty’ button to split the entry line into multiple lines before enter Production Date and Vendor Batch.
    So I want use bapi BAPI_GOODSMVT_CREATE  implement MIGO function for a interface. Anyone have some suggestion how can i implement the 'Distribute Qty' function in the bapi.
    My email address: [email protected]

    Hello,
    1. Use structure BAPIPAREX for passing custom fields. (There are several blogs/posts on how to make use of this).
    2. In the BAPI i noticed there is a BAdI to populate these fields into your business tables.
    Call BAdI MB_BAPI_GOODSMVT_CREATE to fill own fields
        TRY.
            get badi lo_mb_bapi_GOODSMVT_CREATE.
          CATCH cx_badi_not_implemented.                    "#EC NO_HANDLER
        ENDTRY.
        TRY.
            call badi lo_mb_bapi_goodsmvt_create->extensionin_to_matdoc
              EXPORTING
                EXTENSION_IN = EXTENSIONIN[]
              CHANGING
                CS_IMKPF     = S_IMKPF
                CT_IMSEG     = T_IMSEG[]
                CT_RETURN    = return.
          CATCH cx_badi_initial_reference.                  "#EC NO_HANDLER
        ENDTRY.

  • Time difference function

    Is there a time difference function to get the time difference between ending time and starting time which are in HHMMSS format?
    thanks

    Hi katarnak,
    you are right !
    you have to use try/catch statement.
    And if i want to put this code in a method and call it
    from another class what shoudl be the return type of
    this method?the ex i gave you print the result as a String
    if you want to use it as a method do this :
    public java.util.Date doDifference(java.util.Date dateStart, java.util.Date dateEnd) throws ParseException{
    java.text.SimpleDateFormat dateFormat = new
    java.text.SimpleDateFormat("hhmmss");
    java.util.Date dateStart =
    dateFormat.parse(strDateStart);
    java.util.Date dateEnd =
    dateFormat.parse(strDateEnd);
    java.util.Date difference= new
    java.util.Date(dateStart.getTime()-dateEnd.getTime());
    return difference;
    now the return type is java.util.Date !
    when you use this method do :
    java.util.Date dateDiffence;
    try {
    dateDifference = TheClassWhichContainsTheMethod.doDifference(YourDateStart, YourDateEnd) ;
    catch (ParseException pe) {
    pe.printStackTrace();
    Badr.

  • Difference function

    Hi,
    Is there any equivalent for SQL Server's difference function in Oracle. If not, is it possible to achieve the same ?
    Thanks,
    Sam

    As far as I unterstand the specification you could use something like:
    create or replace function my_difference (p_string1 IN VARCHAR2, p_string2 IN VARCHAR2) RETURN NUMBER
    is
      v_str1 VARCHAR2(4);
      v_str2 VARCHAR2(4);
      v_count pls_integer := 0;
    begin
       SELECT soundex(p_string1), soundex(p_string2)
       INTO   v_str1, v_str2
       FROM   dual;
       for i in 1..4 loop
         if (substr(v_str1, i,1) = substr(v_str2, i,1)) then
           v_count := v_count + 1;
         end if;
       end loop;
       RETURN v_count;
    end my_difference;
    SQL> -- Returns a DIFFERENCE value of 4, the least possible difference.
    SQL> SELECT SOUNDEX('Green'),
      2    SOUNDEX('Greene'), MY_DIFFERENCE('Green','Greene')
      3  from dual;
    SOUN SOUN MY_DIFFERENCE('GREEN','GREENE')
    G650 G650                               4
    SQL>
    SQL> -- Returns a DIFFERENCE value of 0, the highest possible difference.
    SQL> SELECT SOUNDEX('Blotchet-Halls'),
      2    SOUNDEX('Greene'), MY_DIFFERENCE('Blotchet-Halls', 'Greene')
      3  from dual;
    SOUN SOUN MY_DIFFERENCE('BLOTCHET-HALLS','GREENE')
    B432 G650                                        0
    SQL>

  • Distribute difference screen in F-32

    Hi,
    In F-32 Distribute difference option has just few pre defined fields, Amount, Reason code, Text, Ref key1, Ref key2 . How to add more fields to this screen. Initial F-32 layout changes won't be applicable for this screen.
    Thanks in advance
    Uma

    Dear Uma,
    What are the additional fields you want to have on this transaction ?
    Regards
    Saurabh

  • Month Difference - Function Module needed

    Hi Experts,
    In my report, I am using mcs0-spmon as select options; one of my inputs where the user will enter month and year in the selection screen . e.g. 04.2008 to 07.2008
    I want to calculate the month difference and it should not exceed 3 months. If it does, an error will be shown.
    My question is -
    Is there any Function Module by which I can proceed. How do I go about it?
    Can anyone tell me a solution?
    Thanks in advance

    Hi,
    concatenate '200804' '01' into dur_begda.
    concatenate '200807' '01' into dur_endda.
    call function 'HR_PT_GET_MONTHS'  
           exporting
                first_date            = dur_begda
                second_date       = dur_endda
                modify_interval    = space
           importing
                duration          = duration-months
           exceptions
                invalid_seq_dates = 1.
    Thanks,
    Durai.V
    Edited by: Durai V on Aug 12, 2008 6:33 AM

  • Distributed Topics function as intended?

    My question conerns distributed topics and how their intended functionality in a clustered environment should work.
              We have a clustered WLS 8.1 environment with two managed servers with app A and app B deployed to each of them. App A has a distributed topic that it publishes messages to. App A also has a JMS Server on each managed server with a physical topic on each one. So both of these topics are tied to the one Distributed topic. App B is subscribed to this distributed topic. When App A publishes a message to this topic - WL publishes a message to each physical topic on each managed server. Then App B's MDBs (one on each managed server) retrieve their message - in effect processing the one message twice (from an application standpoint). The behavior that I'd like to see is if one message is published to the distributed topic - that one of App A's physical topics would get the message - and that one of the MDBs in App B would process the message. In effect now we receive double messages into App B. Using a distributed Queue in App A is currently not possible as multiple different apps must listen for messages from App A.
              So if you were not running in a clustered environment you would not see this type of behavior because you'd ultimately be publishing only one message to one topic and your mdb would receive only one message.
              Can anyone comment on this?

    Hi,
              This is expected behavior. The purpose of a topic, or a distributed topic, is message replication. You would see the same behavior even if the topic was not distributed:
              MDB App A gets a message copy on both servers 1 and 2
              MDB App B gets a message copy on both servers 1 and 2
              If you made the MDB topic subscriptions "durable", you would get the behavior you desire. This is because durable subscriptions are exclusive, so that only the first MDB pool for App A to attach to the subscription would get messages - the other MDB pool A on the other server would be idle (but constantly retrying until the first MDB pool A fails, undeployes, or shuts down).
              I think this information is also in the MDB chapter of the 8.1 EJB Vdocs...
              Tom

  • Difference functionality student&teacher version vs. "normal" version

    Is there a difference conercerning functionality of the Design Studio Std. Student&Teacher version compared with the "normal" Design Studio Std. Version !?
    Thanks,
    i11ms

    No.

  • Post Incoming Payments:Distribute Differences

    When Accounts Receivable applies incoming payments, if a customer does not pay an invoice in fullt,  they will  distribute the difference . . . we will assign our own identifier and assign a reason code.  A document is created with Posting Key 06.  However, there are no terms assigned to that document.  Our Accounts Receivable group would like the terms to always default a certain terms code.  Is there a way to set this up in configuration . . . We know how to manually add it, but that is alot of work.
    BSEG-ZTERM
    Thanks,
    Diane

    Substitution:
    http://help.sap.com/erp2005_ehp_04/helpdata/EN/27/06e23954d9035de10000000a114084/frameset.htm

  • F-28 Distribute Difference and Company Code

    Hi Guru's,
    I have used a single company code to process a payment i.e., the receiving bank and the customer are from a single company code. But, when I process the difference it is defaulting in a different company code.
    <b>Why is the system defaulting the other company code?</b>
    As usual Thank you for your help.
    -ved

    There may be Company code for which incoming or outgoing payments are processed.
    Check SPRO>Financial Accounting>Accounts Receivable and Accounts Payable>Business Transactions>Incoming payments>Manual Incoming Payment>Prepare cross company code manual payments.

  • Date difference function that returns minutes between two dates and excludes weekends and holidays

    Is there a way to get this to work as a function? 
    Currently returns error "Select statements included within a function cannot return data to a client"
    CREATE FUNCTION [dbo].[WorkDays](@DateFrom datetime,@DateTo datetime)
    RETURNS int
    AS
    BEGIN
    --Working time
    DECLARE @WTFrom TIME = '8:00AM';
    DECLARE @WTTo TIME = '5:00PM';
    DECLARE @minCount BIGINT
    --Date ranges
    IF (DATEDIFF(HOUR, @DateFrom, @DateTo) > 12)
    BEGIN
    WITH CTE AS
    SELECT @DateFrom AS DateVal
    UNION ALL
    SELECT DATEADD(HOUR, 1, DateVal)
    FROM CTE
    WHERE DateVal < DATEADD(HOUR, -1,@DateTo)
    SELECT DATEDIFF(minute, MIN(CTE.DateVal), MAX(CTE.DateVal))
    FROM CTE
    WHERE (CAST(CTE.DateVal AS time) > @WTFrom AND CAST(CTE.DateVal AS time) < @WTTo) AND DATEPART(dw, CTE.DateVal) NOT IN (1, 7) AND NOT EXISTS (SELECT * FROM Holiday AS H WHERE H.holiday = CTE.DateVal)
    OPTION (MAXRECURSION 0);
    END;
    ELSE
    BEGIN
    WITH CTE AS
    SELECT @DateFrom AS DateVal
    UNION ALL
    SELECT DATEADD(MINUTE, 1, DateVal)
    FROM CTE
    WHERE DateVal < DATEADD(MINUTE, -1,@DateTo)
    SELECT DATEDIFF(minute, MIN(CTE.DateVal), MAX(CTE.DateVal))
    FROM CTE
    WHERE (CAST(CTE.DateVal AS time) > @WTFrom AND CAST(CTE.DateVal AS time) < @WTTo) AND DATEPART(dw, CTE.DateVal) NOT IN (1, 7) AND NOT EXISTS (SELECT * FROM Holiday AS H WHERE H.holiday = CTE.DateVal)
    OPTION (MAXRECURSION 0);
    END;
    END
    Thanks for your help.

    Please post DDL, so that people do not have to guess what the keys, constraints, Declarative Referential Integrity, data types, etc. in your schema are. Learn how to follow ISO-11179 data element naming conventions and formatting rules (you do not). Temporal
    data should use ISO-8601 formats (you do not!). Code should be in Standard SQL as much as possible and not local dialect. 
    This is minimal polite behavior on SQL forums. 
    We hate functions in SQL. This is a declarative language and you are using it like 1950's FORTRAN. We hate local variables (more FORTRAN!)
     The name of a function has to be either a known, common name, like “sine”, “cosine” etc. Or it is “<verb>_<object>”; you think a noun is a verb! Do you really need BIGINT? Why did you invite garbage data with it? Why do you think that SQL
    uses AM/PM? Have you never seen the TIME data type? 
    Think about “date_val” as a data element name. A date is a unit of temporal measurement on a calendar scale. This would be a “<something>_date” in a valid schema. 
    >> Is there a way to get this to work as a function? <<
    Probably, but why do it wrong?
    Build a calendar table with one column for the calendar data and other columns to show whatever your business needs in the way of temporal information. Do not try to calculate holidays in SQL -- Easter alone requires too much math.
    The julian_business_nbr is how SQL people do this. Here is the skeleton. 
    CREATE TABLE Calendar
    (cal_date DATE NOT NULL PRIMARY KEY, 
     julian_business_nbr INTEGER NOT NULL, 
    Here is how it works:
    INSERT INTO Calendar 
    VALUES ('2007-04-05', 42), 
     ('2007-04-06', 43), -- Good Friday 
     ('2007-04-07', 43), 
     ('2007-04-08', 43), -- Easter Sunday 
     ('2007-04-09', 44), 
     ('2007-04-10', 45); --Tuesday
    To compute the business days from Thursday of this sample week to next Tuesday:
    SELECT (C2.julian_business_nbr - C1.julian_business_nbr)
      FROM Calendar AS C1, Calendar AS C2
     WHERE C1.cal_date = '2007-04-05',
       AND C2.cal_date = '2007-04-10'; 
    See how simple it can be when you stop trying to write FORTRAN and think in sets? 
    --CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
    in Sets / Trees and Hierarchies in SQL

  • Multiple Residuals for One Invoice

    HI
    Is it possible to either split a residual into multiple residuals, or create more than one residual against one invoice?
    Thanks for your help
    T

    Not sure whether you have already tried this. Use the distribute difference function to split a residual to multiple residual lines.
    Using the difference distribute screen you can enter different line amounts and once posted the original will be cleared and the new line(s) will be created as open item.

Maybe you are looking for