MIGO/GR w/ PO and Validity Period Specific Pricing

We have a business requirement to maintain validity period specific pricing on our outline agreements (Scheduling Agreements/Contracts).  The question is can receiving be controlled to pick the correct price based on delivery date and not when the goods are actually received?
Example:
Part A
4/10/2014 to 4/20/2014 - $4.00
4/21/2014 to 4/30/2014 - $5.00
Scenario #1- Contract--> Release PO
This scenario is working correctly due the release purchase order pricing is referenced based on when the purchase order is created.
Scenario #2-Scheduling Agreement-->Delivery Schedule
During the prototype, when setting up a validity perios specific price as above, the price is only taken into account at the start of the validity period.
If the delivery schedule line says 4/18, but it's not received until 4/22, SAP will pull the 2nd validity period price instead of the 1st period.  Is there a way to ensure that the correct validity period gets pulled?

I think its possible, though i did not check for Scheduling agreement but it works for PO
Can you please explore Vendor master>Purchasing Data> Pricing Date Control field options
It should help
Thanks
DD

Similar Messages

  • Condition values and validity periods of a Scheduling agreement .

    Dear Friends,
    I have one querry .Where does (in  Database table) ,  the condition values and validity periods of a Scheduling agreement stored .
    Thanks and regards in advance.
    Vijay.
    Edited by: vij kot on Sep 9, 2008 12:09 PM

    Hi,
    Refer Tables
    KONH - Condition Header
    KONP - Condition Item
    KONV - Conditions (Transaction Data)

  • MM - Goods Receipt (MIGO) and Validity Period End (Contracts and PO)

    Hi Gurus,
    Within our PO process, I created a PO which references a contract. Both have a Validy Period Start and End set up in customizing and filled in. But my problem is that I can still enter a Goods Receipt in MIGO to that PO, after validity has ended. I've set up in customizing the system message 06-041 as Error, and I've put in Screen Layout the checkbox 'GR message' for both PO and Contract.
    Is there a way to block the GR threw IMG outside of the Validity Period ?
    Thx in advance,
    N.H.

    Hi,
    Anyone has any clues ?

  • Report for Service price conditions in contracts esp. validity periods

    Hi all
    I need a report that will show validity periods against price conditions for services in a contract. Can't find anything through the menus, SAP Help, Google.
    Is there something as standard or will I need to cobble something together? The report needs to display conditions and validity periods by service / contract.
    Any ideas?
    Regards
    David

    Hi
    Thanks for those, I had already found and tried a couple of those transaction. For some reason, those transactions aren't returning any results. I can get results if I branch into the 'Conditon info' screen, but unfortunately in this case the actual service numbers aren't quoted.
    Regards
    David

  • Goods Receipt (MIGO) outside PO and/or Contract Validity Period ?

    Hi Gurus,
    Within our PO process, I created a PO which references a contract. Both have a Validy Period Start and End set up in customizing and filled in. But my problem is that I can still enter a Goods Receipt in MIGO to that PO, after validity has ended. I've set up in customizing the system message 06-041 as Error, and I've put in Screen Layout the checkbox 'GR message' for both PO and Contract.
    Is there a way to block the GR threw IMG outside of the Validity Period ?
    Thx in advance,
    N.H.

    Hi,
    The validity period for any outline agreement, can stop you from creating release orders or schedule lines , if OA is expired.
    Ex: Its very much logical, on the very last day of validity end date, u will create release orders.
    In this case you will receive your goods, only after the Validity end period.
    So there is no such control, for stopping the GR to be made.
    One can only stop Release orders from getting created,outside the validity period, not the GRs.
    Check for  Any user exit, that may help
    Regards
    Krishna U

  • Difference between "Binding Period" and "Validity Start/End" in Bid

    SRM Experts,
    1. We see 2 different things, "Binding Period" and "Validity Start/End" while preparing the bid. What is the differece between these?
    2. These fileds are non-editable for the bidder, while preparing the bid response. How bidder can give validity period for his quote (at header level)?
    3. We see that, the bidder can specify validity start/end date at condition level. Is it not possible to specifiy a validity of the quote at header level?
    GH

    case1: After expiration of  - binding period in RFx header:
    case2: After expiration of  - validity end period in RFx header:
    case3: After expiration of  - validity end period of RFx Response:
    I created seprate documents for each cases.
    I tried accepting the RFx response in all above 3 cases system did not give any error.
    I tried creating the PO against the RFx response in all above 3 cases system did not give any error.
    Is it correct behavior or is there any problem?
    GH

  • I Have iPad4 and using with Aricel Prepaid 3G SIM, How to check my VAlidity period and balance amount through iPad?. pls help me

    I Have iPad4 and using with Aricel Prepaid 3G SIM, How to check my VAlidity period and balance amount through iPad?. pls help me, M.Kumar, Chennai,
    <Email Edited By Host>

    There are 2 concepts attached to a bank balance. The balance as per your books of accounts and another is the balance maintained with the bank. I believe i need not explain these 2 concepts. These 2 balances can be obtained from Oracle system provided some of prerequsities are met with.
    Balance as per your books - This is nothing but the GL balance available. In order to obtain balances for each bank accounts, it is advised that each bank account should have a separate account code combination. This is achieved generally by having a separate natural account for each bank. The code combination is attached to the cahs account for each bank. By maintaining separate account code combination, the balance in each code combination can be obtained from GL (provided transactions are accounted and posted in GL). These balances represent the balance for each bank according to your books of accounts. You can create an FSG for this purpose and provide the same to the customer, so that they can run the same whenevr they want.
    Balance as per bank - This balance is maintained by oracle in 2 ways - either the bank balance can be manually entered for each bank account for each date (quite cumbersome). Else, while loading the bank statement, the bank balances are also loaded. There are various types of bank balances stored - value dated balance, available balance, float balance etc. Depending on the balances provided by bank along with the bank statement, the bank balance can be recorded in oracle system. After the bank statement is uploaded and balances stored, standard cash management reports are available to query for the bank account balances. In order to view daily movement, the bank statement should be loaded on daily basis.
    Hope this helps.
    Vinit

  • Query to search between two specific dates and time period

    Hi,
    Need a query to search between two particular dates and time period
    Like i want to search table having one date field .
    Suppose the date range is '01-JUL-06' and '01-AUG-06' and time frame
    is 23:00:00 to 08:00:00
    i.e i want to search between dates 01 july to 01 aug and also within the time frame i.e 23:00 to 08:00 hrs only

    The general principle is
    SELECT * FROM your_table
    WHERE some_date BEWTEEN to_date('01-JUL-06') and to_date('01-AUG-06' )+0.99999
    AND  ( some_date <= trunc(some_date)+8/24
               OR  some_date >= trunc(some_date)+23/24 )
    /Cheers, APC

  • GR after expiry of validity period

    Hi friends,
    Pl help me out of following scenario.
    After i enter validity period for PO and goods receipt date prior to validity end period of PO. MIGO is still done after the expiry of validity period of PO. This should not bbe done.
    System should restrict the expired PO.
    Can any one help me out through this.
    Thanks in advance
    Prabhash

    Hi Prabhash,
    Validity in the case of purchase orders: End of the period in which the service is to be performed or the material delivered at header lever not at line item level.
    To avoide GR for this line item, you can use Latest GR date in Delivery tab of each line item.
    Bye,
    Muralidhara

  • Can you please how to retrive the new netprice from the new validity period

    Hi,
    When you display  a contract using ME33K and you click on  a item and view its conditions(shift+F6), there might be 2 validity periods for a given item.
    and each period will have different netprice in it.
    One will be old date before the PO was created and the other new one which has validity till 31.12.999..We want to fetch the netprice for the new validity date but currently the program is fetching this data from the table EKPO which is having the netprice of the old date only..
    Can you please how to retrive the new netprice from the new validity period

    Thank you so much.
    But I need more help specific to my problem.
    Let me describe the same.
    Suppose the PO creation date is 04.07.2007
    The conditions for an item in a contract for the PO are as follows;
    1. Validity from 04.07.2007 validity to 04.07.2007 Netprice = 100.00
    2. Validity from 05.07.2007 validity to 31.12.9999 Netprice = 200.00
    We need to always fetch the netprice from the validity period which always matches with the PO creatio date. here the value 100.00 should be the correct netpr as the PO creation date matches with the first validity period.
    But the program is fetching the netprice 200.000 which belongs to the second validity period. That is beacuse the select statement which fetches the data for contracts collects on the basis of EKKO-kdate and ekko-kdtab.the fields kdate and kdtab retrieves the validity period of the contract which is from 04.07.2007 to 31.072007. This data is then used to retrieve the netpr data from EKPO and it fetched 200.00 as it retrives the netprice of current data in contract validity and h not with respect to PO creation date.
    This data is then used to fetch the get the netpr data from EKPO.
    <u>what we need is the netprice for that validity period of item(Conditions) that matches with the PO creation date</u>..
    Below is the code where I'm selecting the data from ekko and ekpo for the contracts data..Can you please add the code snippet to the below attachesd subroutine to get the required data from KONV and KONP so that we can retrieve the correct Netprice.
    FORM select_contracts USING p_s_cebeln LIKE s_cebeln[]
                                p_c_k_bstyp  TYPE ebstyp
                                p_p_bukrs    TYPE bukrs
                                p_p_ekorg    TYPE ekorg
                                p_p_ekgrp    TYPE bkgrp
    *Begin of Mod-004
                                fp_p_cernam   type ty_r_ernam
                               p_p_cernam   TYPE ernam
    *End of Mod-004
                                p_s_werks    LIKE s_werks[]
                                p_s_matnr    LIKE s_matnr[]
                                p_s_lifnr    LIKE s_lifnr[]
                                p_s_val_dt   LIKE s_val_dt[].
    *mod-002
        data : l_amount   type BAPICURR_D,   " Net price
               l_waers    TYPE waers,        " Currency Key
               l_eff_amount type BAPICURR_D. " Effective value
          data: l_v_netpr type bprei.
    *mod-002
    SELECT  ebeln
              bukrs
              bstyp
              aedat
              ernam
              lifnr
              zterm
              ekorg
              ekgrp
              waers
              wkurs
              <b>kdatb
              kdate</b>
              inco1
              INTO TABLE i_ekko
              FROM ekko
              WHERE    ebeln IN p_s_cebeln
                   AND bstyp EQ p_c_k_bstyp
                   AND bukrs EQ p_p_bukrs
                   AND ekorg EQ p_p_ekorg
                   AND ekgrp EQ p_p_ekgrp
    *Begin of Mod-004
                  AND ernam EQ p_p_cernam
                   AND ernam IN fp_p_cernam
    *End of Mod-004
                   AND lifnr IN p_s_lifnr
                   AND ( kdatb IN p_s_val_dt OR kdate IN p_s_val_dt ).
      IF sy-subrc EQ 0.
    Populates internal table i_ekpo using EKPO table.
        SELECT   ebeln
                 ebelp
                 loekz
                 txz01
                 matnr
                 werks
                 ktmng
                 menge
                 meins
                 bprme
                 netpr
                 peinh
                 webaz
                 mwskz
                 uebto
                 untto
                 erekz
                 pstyp
                 knttp
                 repos
                 webre
                 konnr
                 ktpnr
                 ean11
                 effwr
                 xersy
                 aedat
                 prdat
                   INTO TABLE i_ekpo
                   FROM ekpo
                   FOR ALL ENTRIES IN i_ekko
                   WHERE ebeln = i_ekko-ebeln
                     and aedat = i_ekko-aedat
                     AND werks IN p_s_werks
                     AND matnr IN p_s_matnr.
    LOOP AT i_ekpo INTO rec_ekpo.
          MOVE rec_ekpo-ebeln  TO rec_contr-ebeln.
          MOVE rec_ekpo-ebelp  TO rec_contr-ebelp.
          MOVE rec_ekpo-loekz  TO rec_contr-loekz.
          MOVE rec_ekpo-txz01  TO rec_contr-txz01.
          MOVE rec_ekpo-matnr  TO rec_contr-matnr.
          MOVE rec_ekpo-werks  TO rec_contr-werks.
          MOVE rec_ekpo-ktmng  TO rec_contr-ktmng.
          MOVE rec_ekpo-menge  TO rec_contr-menge.
          MOVE rec_ekpo-meins  TO rec_contr-meins.
          MOVE rec_ekpo-bprme  TO rec_contr-bprme.
         MOVE rec_ekpo-netpr  TO rec_contr-netpr.
         move l_v_netpr        TO rec_contr-netpr.
    mod-002
          read table i_ekko into rec_ekko with key
                           ebeln = rec_ekpo-ebeln.
            l_waers =  rec_ekko-waers.
    CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL'
      EXPORTING
        currency              =  l_waers
        amount_internal       =  rec_contr-netpr
    IMPORTING
       AMOUNT_EXTERNAL       =  l_amount.
                rec_contr-netpr = l_amount.
    mod-002
          MOVE rec_ekpo-peinh  TO rec_contr-peinh.
          MOVE rec_ekpo-webaz  TO rec_contr-webaz.
          MOVE rec_ekpo-mwskz  TO rec_contr-mwskz.
          MOVE rec_ekpo-uebto  TO rec_contr-uebto.
          MOVE rec_ekpo-untto  TO rec_contr-untto.
          MOVE rec_ekpo-erekz  TO rec_contr-erekz.
          MOVE rec_ekpo-pstyp  TO rec_contr-pstyp.
          MOVE rec_ekpo-knttp  TO rec_contr-knttp.
          MOVE rec_ekpo-repos  TO rec_contr-repos.
          MOVE rec_ekpo-webre  TO rec_contr-webre.
          MOVE rec_ekpo-konnr  TO rec_contr-konnr.
          MOVE rec_ekpo-ktpnr  TO rec_contr-ktpnr.
          MOVE rec_ekpo-ean11  TO rec_contr-ean11.
          MOVE rec_ekpo-effwr  TO rec_contr-effwr.
    mod-002
          CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL'
       EXPORTING
          currency              =  l_waers
          amount_internal       =  rec_contr-effwr
       IMPORTING
          AMOUNT_EXTERNAL       =  l_eff_amount.
               rec_contr-effwr = l_eff_amount.
    *mod-002
          MOVE rec_ekpo-xersy  TO rec_contr-xersy.
          APPEND rec_contr TO i_contr.
          CLEAR: rec_ekpo,rec_contr.
    mod-002
          CLEAR : rec_ekko,l_amount, l_eff_amount,l_waers.
    mod-002
        ENDLOOP.
    Modifying i_contr using i_ekko.
        SORT i_ekko BY ebeln.
        LOOP AT i_contr INTO rec_contr.
          READ TABLE i_ekko INTO rec_ekko WITH KEY
                              ebeln = rec_contr-ebeln
                              BINARY SEARCH.
          MOVE rec_ekko-bukrs  TO  rec_contr-bukrs.
          MOVE rec_ekko-bstyp  TO  rec_contr-bstyp.
          MOVE rec_ekko-aedat  TO  rec_contr-aedat.
          MOVE rec_ekko-ernam  TO  rec_contr-ernam.
          MOVE rec_ekko-lifnr  TO  rec_contr-lifnr.
          MOVE rec_ekko-zterm  TO  rec_contr-zterm.
          MOVE rec_ekko-ekorg  TO  rec_contr-ekorg.
          MOVE rec_ekko-ekgrp  TO  rec_contr-ekgrp.
          MOVE rec_ekko-waers  TO  rec_contr-waers.
          MOVE rec_ekko-wkurs  TO  rec_contr-wkurs.
          MOVE rec_ekko-kdatb  TO  rec_contr-kdatb.
          MOVE rec_ekko-kdate  TO  rec_contr-kdate.
          MOVE rec_ekko-inco1  TO  rec_contr-inco1.
          MODIFY i_contr FROM rec_contr.
        ENDLOOP.
      ENDIF.
      REFRESH: i_ekko,
               i_ekpo.
      CLEAR  : rec_ekko,
               rec_ekpo,
               rec_contr.
    ENDFORM.      "select_contracts
    Thanks.

  • WINDOWS MANAGEMENT FRAMEWORK 4.0 - A required certificate is not within its validity period

    Hello, 
    I can't figure out if this is because the Root Certificates were updated in April 2014 then apparently expired by Microsoft or if the PowerShell installer signed this file with a bad software release signature??
    We were deploying PowerShell 4.0 (Windows6.1-KB2819745-x64-MultiPkg.msu) with ConfigMgr 2012 with a dependency of .NET Framework 4.5.1.  Everything was working fine until sometime around April 24 (exact date unknown).  Now any 
    Win 7 SP1 machines I try to update will not install WMF 4.0.  They installed .NET 4.5.1 without any trouble.. 
    The digital signature on it it states it was signed Sept 27 2013 and the certificate expires 4/24/2014. 
    Even if we change the system clock to April 1 2014 it still will not install.. but this shouldn't matter anyway.  They just can't sign new software with that certificate.. surely I can install it..
    As for a log... If I run as C:\Windows\ccmcache\3>wusa.exe Windows6.1-KB2819745-x64-MultiPkg.msu /log:c:\windows\ccmcache\3\broken.txt 
    In the broken.txt I see: 
    Install Worker.01194: Operation Result Code of the installation: 0X4        HRESULT of the installation: 0X80240022                Operation
    Result Code of the update:0X4 HRESULT of the update: 0X800b0101 
    Install Worker.01243: Failed install update Update for Windows (KB2819745) 
    Install Worker.01287: Exit with error code 0X800b0101 (A required certificate is not within its validity period when verifying against the current system clock or the timestamp in the signed file.) 
    WINDOWS MANAGEMENT FRAMEWORK 4.0 FOR MICROSOFT OPERATING SYSTEM PRODUCTS 
    Windows6.1-KB2819745-x64-MultiPkg.msu 
    I also see this same event information in Setup event log..
    I don’t know what to do here.  Anyone else having this problem? 

    Hi,
    Have you ever seen this article?
    Event ID 4107 or Event ID 11 is logged in the Application log in Windows and in Windows Server
    http://support.microsoft.com/kb/2328240/en-us
    If you have any feedback on our support, please click
    here
    Alex Zhao
    TechNet Community Support

  • Validity period error while creating Service Entry Sheet.

    Hi SAP experts,
    Users are facing below two error messages while creating serivce entry sheet with respect to Standard PO (NB).The PO has RFQ refrence where Validity start and end date is blank. Also PO has Item category 'D' (Services)
    1) "Runtime of entry must fall within Run time of the PO (05.12.2008-05.01.2009)
    2) Entry must be wihin validity period of purchase order (05.12.2008-05.01.2009)
    In the EKKO table system is showing validity start and end date for PO but it is not present in the PO (NB) by ME 22 / 23N.
    Basically standard PO (NB) should not have validity start date and end date but still it is showing in the table EKKO. 
    Kindly provide me related resolution ASAP.
    Thanks
    BR,
    Rahul

    Hi Alex,
    Thanks for the quick reply.
    There is no Validity period maintained in the PO header under "Additional data".
    but still I am getting Validity data in the table EKKO for standard PO (NB).
    BR,
    Rahul

  • Validity Periods: Netprice on EKKO, where to find the correct netprice?

    <b>Background</b>
    We are extracting open PO data from tables EKKO, EKPO and EKBE to send the data to an external system for further processing. The extraction is done by BODI (Business Objects Data Integrator), an ETL tool that generates ABAP. Current solution is used for 9 SAP systems. Changes in SAP or using non-standard tables is not possible. Performance is always a challenge.
    <b>Description</b>
    For EKKO and EKPO standard information is extracted.
    From EKBE only outstanding quantity and amount per goods receipt is extracted.  For the calculation is not a join or look-up used, but a group by, for performance. This data is grouped and summed on EKBE.LFBNR which is filled for VGABE = ‘1’ as EKBE.BELNR, the material document.  Values are negative or positive based on the debit/credit indicator (EKBE.SHKZG).
    In this extraction EKKO.NETPR is used to recalculate not fully invoiced entries in EKBE, since it is possible to enter a partial quantity and the full value.
    However, EKKO.NETPR contains only the price for the current validity period. When EKKO.MEPRF = ‘5’ multiple validity periods are possible.
    <b>Possibilities</b>
    1)     Recalculate the NETPR based on the goods receipt in EKBE
    2)     For recalculation of open items we need the NETPR of the corresponding validity period
    3)     Get the correct (open) quantity and value
    <b>1)</b>
    Last options was tried but gave an unacceptable performance drop, because for every VGABE =  ‘2’ where EKKO.MEPRF = ‘5’, a look-up had to be done to VGABE = ‘1’  to calculate the new NETPR. This option has been tried in several ways, but no performing solution was found.
    <b>2)</b>
    We know that on the Condition Records the NETPR is listed per validity period. However our problem is that we do not know how to reach the listing and further how to use it. Combining the correct validity period with every invoice receipt does not seem to be a permant way.
    <b>3) a</b>
    We think that somewhere in the financial area the quantities and values should be present, however a link to FI is completely unclear.
    <b>3) b</b>
    Also on the Condition Records is the correct quantity and value present, but here is the link also not clear. My best bet is on this.
    The big question is, does someone have knowledge about this, hints, tips to look for certain links between tables?

    Hi,
    Please get the valid condition ( based on date ) from A016 (MK & LPA). With the appropriate KNUMH read the Condition header. You can access the different condition items viz., PB00, RA00 etc., for the values from table KONP. Further if you have Value scales / Quantity scales, you can read the data from KONM, KONW.
    An additional tips: in KONP, if you have a condition like RA00 - Rebate, the value will be multiplied by 10 and saven in database to accomodate the discount to the third decimal.
    I could not completely understand your requirements like nature of development ( Is it a Report / SAP Script ??) you are working etc., so that I could help you precisely.
    Hope this helps,
    Best Regards, Murugesh AS
    Message was edited by:
            Murugesh Arcot

  • Fetch the netprice from the validity period which always matches with the

    Let me describe the same.
    Suppose the PO creation date is 04.07.2007
    The conditions for an item in a contract for the PO are as follows;
    1. Validity from 04.07.2007 validity to 04.07.2007 Netprice = 100.00
    2. Validity from 05.07.2007 validity to 31.12.9999 Netprice = 200.00
    We need to always fetch the netprice from the validity period which always matches with the PO creation date. here the value 100.00 should be the correct netpr as the PO creation date matches with the first validity period.
    But the program is fetching the netprice 200.000 which belongs to the second validity period. That is beacuse the select statement which fetches the data for contracts collects on the basis of EKKO-kdate and ekko-kdtab.the fields kdate and kdtab retrieves the validity period of the contract which is from 04.07.2007 to 31.072007. This data is then used to retrieve the netpr data from EKPO and it fetched 200.00 as it retrives the netprice of current data in contract validity and h not with respect to PO creation date.
    This data is then used to fetch the get the netpr data from EKPO.
    what we need is the netprice for that validity period of item(Conditions) that matches with the PO creation date..
    Below is the code where I'm selecting the data from ekko and ekpo for the contracts data..Can you please add the code snippet to the below attachesd subroutine to get the required data from KONV and KONP so that we can retrieve the correct Netprice.
    FORM select_contracts USING p_s_cebeln LIKE s_cebeln[]
    p_c_k_bstyp TYPE ebstyp
    p_p_bukrs TYPE bukrs
    p_p_ekorg TYPE ekorg
    p_p_ekgrp TYPE bkgrp
    *Begin of Mod-004
    fp_p_cernam type ty_r_ernam
    p_p_cernam TYPE ernam
    *End of Mod-004
    p_s_werks LIKE s_werks[]
    p_s_matnr LIKE s_matnr[]
    p_s_lifnr LIKE s_lifnr[]
    p_s_val_dt LIKE s_val_dt[].
    *mod-002
    data : l_amount type BAPICURR_D, " Net price
    l_waers TYPE waers, " Currency Key
    l_eff_amount type BAPICURR_D. " Effective value
    data: l_v_netpr type bprei.
    *mod-002
    SELECT ebeln
    bukrs
    bstyp
    aedat
    ernam
    lifnr
    zterm
    ekorg
    ekgrp
    waers
    wkurs
    kdatb
    kdate
    inco1
    INTO TABLE i_ekko
    FROM ekko
    WHERE ebeln IN p_s_cebeln
    AND bstyp EQ p_c_k_bstyp
    AND bukrs EQ p_p_bukrs
    AND ekorg EQ p_p_ekorg
    AND ekgrp EQ p_p_ekgrp
    *Begin of Mod-004
    AND ernam EQ p_p_cernam
    AND ernam IN fp_p_cernam
    *End of Mod-004
    AND lifnr IN p_s_lifnr
    AND ( kdatb IN p_s_val_dt OR kdate IN p_s_val_dt ).
    IF sy-subrc EQ 0.
    Populates internal table i_ekpo using EKPO table.
    SELECT ebeln
    ebelp
    loekz
    txz01
    matnr
    werks
    ktmng
    menge
    meins
    bprme
    netpr
    peinh
    webaz
    mwskz
    uebto
    untto
    erekz
    pstyp
    knttp
    repos
    webre
    konnr
    ktpnr
    ean11
    effwr
    xersy
    aedat
    prdat
    INTO TABLE i_ekpo
    FROM ekpo
    FOR ALL ENTRIES IN i_ekko
    WHERE ebeln = i_ekko-ebeln
    and aedat = i_ekko-aedat
    AND werks IN p_s_werks
    AND matnr IN p_s_matnr.
    LOOP AT i_ekpo INTO rec_ekpo.
    MOVE rec_ekpo-ebeln TO rec_contr-ebeln.
    MOVE rec_ekpo-ebelp TO rec_contr-ebelp.
    MOVE rec_ekpo-loekz TO rec_contr-loekz.
    MOVE rec_ekpo-txz01 TO rec_contr-txz01.
    MOVE rec_ekpo-matnr TO rec_contr-matnr.
    MOVE rec_ekpo-werks TO rec_contr-werks.
    MOVE rec_ekpo-ktmng TO rec_contr-ktmng.
    MOVE rec_ekpo-menge TO rec_contr-menge.
    MOVE rec_ekpo-meins TO rec_contr-meins.
    MOVE rec_ekpo-bprme TO rec_contr-bprme.
    MOVE rec_ekpo-netpr TO rec_contr-netpr.
    move l_v_netpr TO rec_contr-netpr.
    mod-002
    read table i_ekko into rec_ekko with key
    ebeln = rec_ekpo-ebeln.
    l_waers = rec_ekko-waers.
    CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL'
    EXPORTING
    currency = l_waers
    amount_internal = rec_contr-netpr
    IMPORTING
    AMOUNT_EXTERNAL = l_amount.
    rec_contr-netpr = l_amount.
    mod-002
    MOVE rec_ekpo-peinh TO rec_contr-peinh.
    MOVE rec_ekpo-webaz TO rec_contr-webaz.
    MOVE rec_ekpo-mwskz TO rec_contr-mwskz.
    MOVE rec_ekpo-uebto TO rec_contr-uebto.
    MOVE rec_ekpo-untto TO rec_contr-untto.
    MOVE rec_ekpo-erekz TO rec_contr-erekz.
    MOVE rec_ekpo-pstyp TO rec_contr-pstyp.
    MOVE rec_ekpo-knttp TO rec_contr-knttp.
    MOVE rec_ekpo-repos TO rec_contr-repos.
    MOVE rec_ekpo-webre TO rec_contr-webre.
    MOVE rec_ekpo-konnr TO rec_contr-konnr.
    MOVE rec_ekpo-ktpnr TO rec_contr-ktpnr.
    MOVE rec_ekpo-ean11 TO rec_contr-ean11.
    MOVE rec_ekpo-effwr TO rec_contr-effwr.
    mod-002
    CALL FUNCTION 'BAPI_CURRENCY_CONV_TO_EXTERNAL'
    EXPORTING
    currency = l_waers
    amount_internal = rec_contr-effwr
    IMPORTING
    AMOUNT_EXTERNAL = l_eff_amount.
    rec_contr-effwr = l_eff_amount.
    *mod-002
    MOVE rec_ekpo-xersy TO rec_contr-xersy.
    APPEND rec_contr TO i_contr.
    CLEAR: rec_ekpo,rec_contr.
    mod-002
    CLEAR : rec_ekko,l_amount, l_eff_amount,l_waers.
    mod-002
    ENDLOOP.
    Modifying i_contr using i_ekko.
    SORT i_ekko BY ebeln.
    LOOP AT i_contr INTO rec_contr.
    READ TABLE i_ekko INTO rec_ekko WITH KEY
    ebeln = rec_contr-ebeln
    BINARY SEARCH.
    MOVE rec_ekko-bukrs TO rec_contr-bukrs.
    MOVE rec_ekko-bstyp TO rec_contr-bstyp.
    MOVE rec_ekko-aedat TO rec_contr-aedat.
    MOVE rec_ekko-ernam TO rec_contr-ernam.
    MOVE rec_ekko-lifnr TO rec_contr-lifnr.
    MOVE rec_ekko-zterm TO rec_contr-zterm.
    MOVE rec_ekko-ekorg TO rec_contr-ekorg.
    MOVE rec_ekko-ekgrp TO rec_contr-ekgrp.
    MOVE rec_ekko-waers TO rec_contr-waers.
    MOVE rec_ekko-wkurs TO rec_contr-wkurs.
    MOVE rec_ekko-kdatb TO rec_contr-kdatb.
    MOVE rec_ekko-kdate TO rec_contr-kdate.
    MOVE rec_ekko-inco1 TO rec_contr-inco1.
    MODIFY i_contr FROM rec_contr.
    ENDLOOP.
    ENDIF.
    REFRESH: i_ekko,
    i_ekpo.
    CLEAR : rec_ekko,
    rec_ekpo,
    rec_contr.
    ENDFORM. "select_contracts
    Thanks.

    Hi,
    Please get the valid condition ( based on date ) from A016 (MK & LPA). With the appropriate KNUMH read the Condition header. You can access the different condition items viz., PB00, RA00 etc., for the values from table KONP. Further if you have Value scales / Quantity scales, you can read the data from KONM, KONW.
    An additional tips: in KONP, if you have a condition like RA00 - Rebate, the value will be multiplied by 10 and saven in database to accomodate the discount to the third decimal.
    I could not completely understand your requirements like nature of development ( Is it a Report / SAP Script ??) you are working etc., so that I could help you precisely.
    Hope this helps,
    Best Regards, Murugesh AS
    Message was edited by:
            Murugesh Arcot

  • How to change validity period of cost centre or activity type

    Hi
    How to change validity period for an Activity type or Cost centre?
    Can we change the validity period once created?
    regards
    Prakash

    Please note this can be done.
    Go to Edit Cost Center
    Goto Edit, Analysis Period.
    Create a new validity period say today until 3112999
    Change the data you want and save.
    When you go into the CC again it will show two validity periods.

Maybe you are looking for

  • New Infinity Install - Dialup Speeds ...

    This morning, I had Infinity installed by BT, although it was ordered through our ISP, a local firm who I've bought internet connection and services from for years - they have some sort of proxy deal with BT, and so actually my broadband has always b

  • I can no longer burn cd's in itunes, get the msg 'disc recording not found'.

    I have followed advice from other users and tried the following: >repair /install. >re-install. >updated to latest version. Nothing works so i would really appreciate some help, but please note i am not very techie! thanks.

  • SAP XI 2.0 Maintenance and Suport

    Hi, Does anyone know or can point me in the direction of a document detailing the maintenance and support dates for SAP XI 2.0  ? Many thanks Richard

  • Colors not correct in some browsers.

    Why does my text not render the correct color in some versions of IE?  Is there a fix?  The white turns blue and the yellow turns black. Here's one of  the pages but its the same across the site. The text does have a drop shadow on it which I conside

  • Smart form for a invoice

    Dear All, We have designed a smart form for printing of excise invoice. The invoice is in two pages. The second page printing is not aligned and starts immediately after the finish of the 1st page. There is no buffer place between two pages. How can