ABAP Memory Validity Period

Hi All,
          I am exporting a value to ABAP memory using EXPORT nametab FROM it_error_messg TO MEMORY ID mem_id_export.
Now after reading the value I am unable to clear free the memory as the control comes multiple times i.e., in a loop. I think the value in this memory is stored till the session is active. Will it contents of the memory get cleared once i log off from SAP.
Thank you in advance.
Regards
Sandy

yes until the session ends, or you can clear programatically...

Similar Messages

  • 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

  • Purchase Info record conditions Validity Period

    Hi,
    In the Inforecord ME12/ME13 the conditions are displayed with validity period which are shown in ascending order.
    Example
    23.10.2008 to 31.10.2008
    01.11.2008 to 30.06.2009
    01.07.2009 to 31.10.2009
    01.11.2009 to 31.12.9999
    The required display or change is in the decending order in Inforecord Conditions
    01.11.2009 to 31.12.9999
    01.07.2009 to 31.10.2009
    01.11.2008 to 30.06.2009
    23.10.2008 to 31.10.2008
    What are the setting required to get the output as above in the decending order?
    Regards,
    Vengat

    Hi,
    SAP  Standard for the infor record is the Ascending Order
    The old validity period will be displayed and in the end the  latest validity period is displayed
    Go to the  program  SAPMM06I
    with the help of ABAP Technical just check whether it is possible to change
    I think it is not possible .
    Please check
    Regards
    Ganesh

  • ABAP Memory.

    Hi,
    I have 2 ABAP program which was created in dialog screen not selection-scrren and list-processing.  I using IMPORT & EXPORT with MEMORY ID 'mem_test' to pass value. I would like to know will there be any memory corruption and cause inconsistency when there is multi-concurrency of user using the ABAP program.
    IF using IMPORT & EXPORT without Memory ID, will it cause any memory corruption and cause inconsistency when 2 person accessing the program at a time, or the memory will be smart enough to allocated another new memory space for the other user?
    How do i avoid this? Is there any other better way like using submit? Please advise.
    Regards,
    Rayden

    SUBMIT
    Syntax
    SUBMIT {rep|(name)} [selscreen_options]
                        [list_options]
                        [job_options]
                        [AND RETURN].
    Addition:
    ... AND RETURN
    Effect
    The SUBMIT statement accesses an executable program rep. The executable program is executed as described under Calling Executable Reports.
    The program name rep can either be specified directly or as the content of a character-like data object name. The data object name must contain the name of the program to be accessed in block capitals. If the program specified in name is not found, an irretrievable exception is generated.
    The selscreen_options additions can be used to determine the selection screen for the program accessed and to supply it with values.
    The list_options additions allow you to influence the output medium and the page size in the basic list for the program accessed.
    You can schedule the program for background processing by specifying job_options.
    SUBMIT - selscreen_options
    Syntax
    ... [USING SELECTION-SCREEN dynnr]
        [VIA SELECTION-SCREEN]
        [selscreen_parameters] ... .
    Extras:
    1. ... USING SELECTION-SCREEN dynnr
    2. ... VIA SELECTION-SCREEN
    Effect
    The addition USING SELECTION-SCREEN specifies the selection screen, VIA SELECTION-SCREEN specifies whether it is displayed. The additions selscreen_parameters provide values for the parameters, selection criteria, and the free selection of the called selection screen.
    The values are transferred to the selection screen between the events INITIALIZATION and AT SELECTION-SCREEN OUTPUT The following hierarchy applies for transferring values:
    First, the variant of the addition USING SELECTION-SET is transferred, which sets all parameters and selection criteria to the values of the variant. The values previously set in the called program are overwritten.
    The values of the table of the addition WITH SELECTION-TABLE are then transferred. All parameters and selection criteria specified there are overwritten accordingly.
    Finally, the values of the additions WITH sel value are transferred. All parameters and selection criteria are overwritten accordingly. If the addition WITH sel value is used more than once for the same parameter, this is overwritten with the last specified value. If the addition WITH sel value is used more than once for the same selection criterion, a selection table with the corresponding number of lines is transferred.
    Providing values for free selections is independent of this hierarchy.
    Notes
    The options for parameter transfer enable a selection screen to be viewed as a parameter interface of an executable program. This applies particularly for background selection screen processing and for parameters and selection criteria that are defined without screen elements using the addition NO-DISPLAY
    When transferring data, note that any adjustments made to the screen format, such as abbreviations or the execution of conversion routines, are not executed for fields for which there are no screen elements on the selection screen. This applies for all parameters and selection criteria defined with NO DISPLAY. It also applies for all lines of a selection table with the exception of the first line.
    The additions selscreen_parameters only work the first time the called program is executed. If a selection screen is displayed in the called program, the runtime environment calls the program again after it is finished, thereby replacing the values specified in selscreen_parameters with the previous input values.
    Addition 1
    ... USING SELECTION-SCREEN dynnr
    Effect
    This addition specifies which selection screen is called. dynnr is a data object that must contain the screen number of a selection screen defined in the called program when the SUBMIT statement is called.
    If the addition USING SELECTION-SCREEN is omitted or the screen number 1000 is entered, the standard selection screen is called. If no standard selection screen is defined in the called program, no selection screen is called.
    If a screen number that is not 1000 is entered in the addition USING SELECTION-SCREEN, the corresponding independent selection screen is called. If no selection screen with this screen number is defined in the called program, this leads to an untreatable exception.
    Addition 2
    ... VIA SELECTION-SCREEN
    Effect
    If this addition is specified, the selection screen is displayed on the screen. Otherwise, background selection screen processing takes place. In background selection screen processing, the selection screen events are triggered without the selection screen being displayed.
    SUBMIT - list_options
    Syntax
    ... [LINE-SIZE width]
        [LINE-COUNT page_lines]
        { [EXPORTING LIST TO MEMORY]
        | [TO SAP-SPOOL spool_options] } ... .
    Extras:
    1. ... LINE-SIZE width
    2. ... LINE-COUNT page_lines
    3. ... EXPORTING LIST TO MEMORY
    4. ... TO SAP-SPOOL spool_options
    Effect:
    These additions affect the basic list in the program accessed. While LINE-SIZE and LINE-COUNT influence the formatting, the other two additions determine the output type of the list.
    EXPORTING LIST TO MEMORY saves the list to the ABAP Memory and TO SAP-SPOOL sends it as a print list to the SAP spool system. If you do not specify these additions, the basic list is displayed as a screen list.
    Note:
    The additions only take effect the first time the program accessed is executed. If a selection screen is displayed in the program accessed, the runtime environment accesses the program again after completion, without taking account of the list_options additions. This is particularly important to the addition TO SAP-SPOOL, because the basic list is displayed as a screen list and not as a print list when the program is accessed again. For this reason, it is advisable not to use the addition VIA SELECTION-SCREEN when using list_options.
    Addition 1
    ... LINE-SIZE width
    Addition 2
    ... LINE-COUNT page_lines
    Effect
    These additions define the line width and page length of the basic list. They have the same effect as the additions of the same name in the program initiating statement for the program accessed. If the program accessed has the same additions in the program initiating statement, these overwrite the values specified for SUBMIT.
    Addition 3
    ... EXPORTING LIST TO MEMORY
    Effect
    This addition stores the basic list for the program accessed in the ABAP Memory. It can only be used together with the addition AND RETURN.
    The list is stored in the ABAP Memory as an internal table of the row type ABAPLIST, ABAPLIST being a structured data type in the ABAP Dictionary.
    The calling program can access the list stored once program access is completed, using function modules belonging to the function group SLST.
    The function module LIST_FROM_MEMORY loads the list from the ABAP Memory to an internal table of the row type ABAPLIST.
    The function module WRITE_LIST inserts the content of an internal table of the row type ABAPLIST in the current list.
    The function module DISPLAY_LIST displays the content of an internal table of the row type ABAPLIST in a separate list screen.
    Note
    The addition can only work provided the function key Enter is not linked to a function code in the GUI status last defined for the program accessed.
    Example
    Once the program report has been accessed, the list stored there in the ABAP Memory is read by means of function modules and inserted in the current list.
    DATA list_tab TYPE TABLE OF abaplist.
    SUBMIT report EXPORTING LIST TO MEMORY
                  AND RETURN.
    CALL FUNCTION 'LIST_FROM_MEMORY'
      TABLES
        listobject = list_tab
      EXCEPTIONS
        not_found  = 1
        OTHERS     = 2.
    IF sy-subrc = 0.
      CALL FUNCTION 'WRITE_LIST'
        TABLES
          listobject = list_tab.
    ENDIF.
    Addition 4
    ... TO SAP-SPOOL spool_options
    Effect
    This addition causes a new print list level to be opened in the internal session of the program called and assures that the first output statement for the basic list creates a new spool request. All list outputs of the program called are transferred as print lists, page by page, to the SAP spool system. Using the spool_options additions, the print parameters and archiving parameters of the spool request are specified.
    Note
    It is not possible to switch from the print list to a screen list in the program called. The statement NEW-PAGE PRINT OFF does not work on print list levels created using SUBMIT TO SAP-SPOOL.
    Example
    Accessing an executable program and creating a spool request.
    DATA: print_parameters TYPE pri_params,
          archi_parameters TYPE arc_params,
          valid_flag(1) TYPE c.
    CALL FUNCTION 'GET_PRINT_PARAMETERS'
      EXPORTING
        archive_mode           = '3'
      IMPORTING
        out_parameters         = print_parameters
        out_archive_parameters = archi_parameters
        valid                  = valid_flag
      EXCEPTIONS
        invalid_print_params   = 2
        OTHERS                 = 4.
    IF valid_flag = 'X' AND sy-subrc = 0.
      SUBMIT submitable TO SAP-SPOOL
                        SPOOL PARAMETERS print_parameters
                        ARCHIVE PARAMETERS archi_parameters
                        WITHOUT SPOOL DYNPRO.
    ENDIF.

  • ABAP Memory ID

    Hi All,
    Is the ABAP memory ID global?
    for example, I have FUNC1, in FUNC1, I export value to memory ID 'ABC'. the value of 'ABC' is valide for all other function call?
    The porblem I experinced is that the FUNC1 may called by many interface at the SAME time, and because the memory ID id "global", it may cause problem.
    Thanks,

    If you look at the documentation of the 'EXPORT' statement, you will see that data is stored in the ABAP memory not in SAP global memory. See below for an extract of the documentation.
    Stores a data cluster in ABAP memory. The specified objects obj1 ... objn (fields, structures, complex structures, or tables) are stored as one cluster in ABAP memory.
    If you call a transaction, an executable program, or a dialog module in call mode ( CALL TRANSACTION, SUBMIT, CALL DIALOG), the ABAP memory is retained, even over several call levels. The called transaction can import the data from ABAP memory using IMPORT ... FROM MEMORY. Each new EXPORT ... TO MEMORY overwrites the old data in ABAP memory. You cannot therefore append to data already in the ABAP memory.
    When you leave the lowest level of the call chain, the ABAP memory is released.
    SAP and ABAP/4 Memory
    There is a difference between the cross-transaction SAP memory and the transaction-specific ABAP/4 memory.
    SAP memory
    The SAP memory, otherwise known as the global memory, is available to a user during the entire duration of a terminal session. Its contents are retained across transaction boundaries as well as external and internal sessions. The SET PARAMETER and GET PARAMETER statements allow you to write to, or read from, the SAP memory.
    ABAP/4 memory
    The contents of the ABAP/4 memory are retained only during the lifetime of an external session (see also Organization of Modularization Units). You can retain or pass data across internal sessions. The EXPORT TO MEMORY and IMPORT FROM MEMORY statements allow you to write data to, or read data from, the ABAP memory.
    Please consult Data Area and Modularization Unit Organization documentation as well.
    and Memory Structures of an ABAP Program
    So, just based on this, your problem may not be related to the export statement or the import statement.
    Are you making multiple function calls from the same program/transaction? In this case there is a chance of the memory getting overlaid. But if different people are using the transaction/program at the same time, but the function call is just once in the program/transaction, then you should not have this issue.
    Srinivas

  • 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 ?

  • 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

  • EWT - giving validity period based on withholding tax code

    Dear Friends,
    1) My client is having different withholding tax codes (based on rates) for the same withholding tax type. I have given validity period based on withholding tax type in EWT -> Company code -> Assign withholding tax types to company codes, but they want at withholding tax code level because each withholding tax code is having different validity period.
    Could you please let me know whether we can give validity period or dates based on withholding tax code instead of withholding tax types.
    2) Also please let me know how to handle LTDC based withholding tax codes.
    Thanks & Regards,
    Dwarak.

    Hai,
    it is not possible to give validity period for tax codes.if you are
    using formula functionality,you can set validity period for tax code rates.
    Raghav

  • 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

  • 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

  • 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

  • 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

  • Change in validity period of Scheduling agreement

    Dear all,
    I extended validity period of existing Scheduling agreement,
    But In MD04 it is not creating Schedule lines.
    Regards,
    Nitin Patil.

    hi,
    you shd also check the validity period of the source list maintained for this schedule agreement..
    Regards
    Priyanka.P

  • 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

  • Blank Tip of the day window

    Hi all, We have an odd happening in one of our video labs here at work.  When launching AE CS3 (ver 8 i believe?) the tip of the day window pops up after the program launches, but it's blank.  This happens on all but one of the machines in the lab. 

  • Adobe After Effects or Premire Pro?

    I'm looking to do a little bit of video editing / creation, and I'm not sure which to go for. I come from a mostly musical background, but as I do some film scoring and such I'd like something more sophisticated than iMovie or Quicktime to cut togeth

  • Oracle.apps.fnd.framework.OAException: oracle.jbo.JboException: JBO-29000:

    Hi, We are doing upgrdation project 11.5.10.2 to 12.1.3 in 12.1.3 i am getting below error when i select submit button Exception Details. oracle.apps.fnd.framework.OAException: oracle.jbo.JboException: JBO-29000: Unexpected exception caught: java.lan

  • UDF and imported Archives

    Hi, We've created two classes in a package and created a jar file. Then we imported the JAR into the a namespace as an Imported Archive. In our UDF we imported the package. But when we test the map we get the following exception. <b>bad class file: /

  • Javax.jms.Destination found at the specified.....

    I am making a Message Driven EJB, but i get this error when i try to run it."javax.jms.Destination found at the specified destination-location (jms/theTopic) for MessageDrivenBean MessageDrivenEJB".I am using JDeveloper 9.0.5 My ejb-jar <enterprise-b