Difference between Stock transfer and transfer posting

I am little confused about the difference between stock transfer and transfer posting. Please clarify
<<Locked - reason: failed to search before posting question>>
Edited by: Csaba Szommer on Feb 9, 2011 9:10 AM

Hello,
Transfer posting may involve or not involve the physical goods transfer.  In the system you might do transfer posting from quality to unrestricted, or from one store location to another.
In transfer posting you remove and or replace materials from storage in one storage location and place them in another storage location.
That transction code you use for transfer posting MB1B with following movement types may be used
301, 303,305,311,411,309.
301 is Stock Transfer Between Plants in One Step
303 & 305 : Stock Transfer Between Plants in Two Steps
In stock transfer, it always involves physical movement of goods, like transfer between plants under same company code or different company codes.
Following types are possible with STO's
Stock Transport Order Without Delivery
Stock Transport Order with Delivery via Shipping
Stock Transport Order with Delivery and Billing Document/Invoice
http://help.sap.com/saphelp_470/helpdata/en/4d/2b90dc43ad11d189410000e829fbbd/content.htm
Please go through attach SAP document
BR,
Tushar

Similar Messages

  • Difference between backup, sync and transfer?

    I've read the iPad book and a few Apple tech notes on this but am still not 100% clear on the differences. It seems we can sync, backup and transfer our iPad data to our computers.
    Frankly, I don't understand why there isn't just one process that "backs up" your iPad to your computer so there is a mirror copy of data in case you need to restore your iPad, existing or new one if lost.
    Can some one summarize the difference between the 3 and a strategy to have ALL your iPad info on your computer? I use MobileMe BTW so my contacts and calendar are always synced using Push.
    Thanks. Steven

    A backup only backs up up certain items. Other items are synced from your library and other places. See the following for what is in a backup:
    http://support.apple.com/kb/HT4079
    The transfer only transfers/copies iTunes purchases to a computer. It is useful when you buy items directly from the itunes store from your iPad. It is also very useful when your computer crashed and you do not have a backup. Thus, you can transfer music (which you can't redownload for free unlike app where your can).
    Unless you cancel it, a backup is made every time you sync. Doing a backup alone is useful if you computer crashed and you do not have a backup. That way you can, along with doing other things like transferring purchases, get your iPad back to syncing with a "new" computer.

  • Difference between stock currency and material currency

    Hi all,
    I have noticed there is difference in Stock currency and Material currency in MB5L(List of stock overview).  Both stock vaue should tally every month.  But it is showing difference for the last month.
    Could anybody help me how to find out this difference,  I have checked the MR21 already, But there is no price difference.
    Any suggestions????????
    Tx,
    Veena

    Hello,
    Transfer posting may involve or not involve the physical goods transfer.  In the system you might do transfer posting from quality to unrestricted, or from one store location to another.
    In transfer posting you remove and or replace materials from storage in one storage location and place them in another storage location.
    That transction code you use for transfer posting MB1B with following movement types may be used
    301, 303,305,311,411,309.
    301 is Stock Transfer Between Plants in One Step
    303 & 305 : Stock Transfer Between Plants in Two Steps
    In stock transfer, it always involves physical movement of goods, like transfer between plants under same company code or different company codes.
    Following types are possible with STO's
    Stock Transport Order Without Delivery
    Stock Transport Order with Delivery via Shipping
    Stock Transport Order with Delivery and Billing Document/Invoice
    http://help.sap.com/saphelp_470/helpdata/en/4d/2b90dc43ad11d189410000e829fbbd/content.htm
    Please go through attach SAP document
    BR,
    Tushar

  • What is the difference between pick order and TO ?

    Hello Gurus,
    What is the difference between pick order and TO ? Can anybody throw some light on this?
    Any document ..any link please share.
    Helpful answers  Dont offer any rewards
    Thanks,
    Nilesh
    Edited by: Lakshmipathi on Dec 15, 2010 8:35 PM

    Hello Nilesh,
    Do you want the forum experts to do the search for you?
    Please search the forum before creating a new thread...
    Please refer here:
    difference between picking request and transfer order
    Hope this clarifies...
    Thanks,
    Jignesh Mehta

  • Difference between report mc49 and MC48

    HI,
    i would like to display stock value (in order to date and purchase group) in report MC48 and MC49. The value is different becouse report MC48 shows average stock value and mc49 just stock value. What arleady means "average stock value"? What is the difference between stock value and average stock value?
    Thanks in advance
    Kasia Gac

    Hi Kazia,
    MC48 shows the stock value at the end of the period you enter on the selection screen. The default here is the last 3 months.
    MC49 shows you the average stock value for that period.
    Best,
    Ralf

  • Difference between Stock Transfer Horizon and Planning Time Fence

    Hi Experts,
    Could you plz help to explain the difference between stock transfer horizon and planinng time fence?
    Appreciated your professional input to address my confusion.

    Hi Gavin,
    The stock transfer horizon is used in SNP planning, it is the time period within which SNP does not create any stock transfer requisitions.
    The planning time fence is used by PPDS planning. It is the time period within which the PPDS planning does not create any orders. The orders lying within this period are considered to be firmed by the PPDS planning.
    Functionally, the stock transfer horizon/ production horizon in SNP are analogous to the planning time fence in PPDS, which provide the system ability to keep the plan firm/unchanged within this period.
    Hope this helps!
    Regards,
    Umesh

  • Differences between stock transfer, transfer posting, stock transport order

    Hi all,
               what is the differences between stock transfer, transfer posting, stock transport order
    cheers
    bandhan

    Hi Bandhan Roy 
    Stock transfer:
                stock has been moved from one location to another. Here there is a physical movement must occured.
    Transfer posting:
               here may be or may not be physical movement is occured. but here the stock type is changed. transfer posting should affect the characteristci of a stock.
    Stock transfer order:
                We have to do transfer the stock through order is called stock transfer order...
    regards,
    sathes

  • Difference between initialization with data transfer?

    Dear Ones,
    What is the Difference between initialization with data transfer,initialization without data transfer and early delta initialization?
    Please explain me in senario basis..
    Thanks
    Shiva

    Hello Shivananda,
    See oss note 505700 :
    The early delta initialization is used to admit document postings
                in the OLTP system as early as possible during the initialization
                procedure.
    Regards,
    Fred

  • Difference between stock and non stock material

    what is the difference between stock and non stock material. example of stock and non stock material?

    Hello,
    Stock Material
    Material that is constantly kept in stock .A stock material has a material master record and is managed on a value basis in a material stock account.
    Ex: Raw Material.
    Non-stock Material
    Material that is not held in stock because it is consumed immediately.
    Ex: Office Stationary.
    You need to create purchase order and accounting document for payment but the stock balance is always zero as it is issued out immediately to the various department.
    Prase

  • What is the difference between Commit, Commit_Form and Post ?

    What is the difference between Commit, Commit_Form and Post ?

    Commit() and commit_form() are exactly the same. The changes done into the databased blocks are made in the database select/insert/update and commited.
    post() does the same, but without the last commit in the database (so that you can rollback).
    Francois

  • Difference between Session method and call transaction

    Hi,
    please give me the differences between session method and call transaction,
    briefly explaining synchronus , asynchronus, process, update.
    Thanks in advance

    Hi Vijay Kumar
    CLASSICAL BATCH INPUT (Session Method)
    CALL TRANSACTION
    BATCH INPUT METHOD:
    This method is also called as ‘CLASSICAL METHOD’.
    Features:
    Asynchronous processing.
    Synchronous Processing in database update.
    Transfer data for more than one transaction.
    Batch input processing log will be generated.
    During processing, no transaction is started until the previous transaction has been written to the database.
    CALL TRANSACTION METHOD :
    This is another method to transfer data from the legacy system.
    Features:
    Synchronous processing. The system performs a database commit immediately before and after the CALL TRANSACTION USING statement.
    Updating the database can be either synchronous or asynchronous. The program specifies the update type.
    Transfer data for a single transaction.
    Transfers data for a sequence of dialog screens.
    No batch input processing log is generated.
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    Among the two methods call transaction is better compared to session bcoz data transfer is faster in it.
    Differences between call transaction and session.
    Session Method:
    1) Data is not updated in the database table until the session is processed.
    2) No sy-subrc is returned.
    3) Error log is created for error records.
    4) Updation is always synchronous.
    Call Transaction Method:
    1) Immediate updation in the database table.
    2) sy-subrc is returned.
    3)Error need to be handled explicitly.
    4) updation can be synchronous as well as asynchronous.
    2) ya u can use using the N mode no screen.
    3)u can't handle multiple transaction in call transaction.
    4) u can handle multiple transaction in session using the BDC_INSERT fm.
    5)When u go to SM35 u can able to see the error records.
    Which is best?
    That depends on your requirement. Both of them have there advantages.
    According to the situation u can choose any one of these.
    difference between batch input and call transaction in BDC Session method.
    1) synchronous processing.
    2) can tranfer large amount of data.
    3) processing is slower.
    4) error log is created
    5) data is not updated until session is processed.
    Call transaction.
    1) asynchronous processing
    2) can transfer small amount of data
    3) processing is faster.
    4) errors need to be handled explicitly
    5) data is updated automatically
    For session method,these are the function modules to b used.
    BDC_OPEN_GROUP
    BDC_INSERT
    BDC_CLOSE_GROUP
    For call transaction,this is the syntax.
    CALL TRANSACTION TCODE USING BDCDATA
    MODE A or E or N
    UPDATE A or S
    MESSAGES INTO MESSTAB.
    Take a scenario where we need to post documents in FB01 and the input file has say 2000 records (2000 documents, not line items in FB01 but 2000 records)
    In the BDC call transaction method
    We call the transaction FB01 2000 times (once for each record posting) and if the processing fails in record no 3 it can be captured and start with reocord 4.
    Eg: Loop at itab.
    call transaction FB01
    capture errors
    endloop.
    In the session method.
    We do not explicity call the transaction 2000 times, but all the records are appeneded into a session and this session is stored. The processinf of the session is done wwhenever the user wants it to be done. Hence the errors cannot be captured in the program itself
    Check these link:
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    http://www.sap-img.com/abap/question-about-bdc-program.htm
    http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/
    http://www.planetsap.com/bdc_main_page.htm
    Batch Input Session method is asynchronous as told by others here. But the advantage of this is that you have all the error messages and the data for each transaction held persistantly. You don't have to code anything for processing them or writing the logs.
    But at the same time, the same feature can be disadvantageous if you need to react to an error or if there are too many errors to manually correct in a session. Since the session are created in the program and its execution is done seperately, you loose the trackability of such transactions.
    With a call transaction, what was a disadvantage above will become an advantage. Call transaction immediately gives you messages back and you can react to it in your program. But the disadvantage is that, if you have several hundreds of transactions to run, running them from within the program can be resource crunching affair. It will hamper the system performance and you cannot really distribute the load. Of course, you have some mechanisms with which you can overcome this, but you will have to code for it. Also, storing the messages and storing the errored transaction data etc will have to be handled by you in the program. Whereas, in batch input session, your program's job is to just create the session, after that everything is standard SAP system's responsibility.
    Ideally, you should do a call transaction if the resources are not a problem and if it fails, put the errored transaction into a session.
    You can decide based on the data volume that your BDC is processing. If data volume is high go for session else call transaction will do.The call transaction updates will be instantaneous where as session needs to be processed explictly after creation.
    Session Method
    1) Session method supports both small amount of data aswell as large amount of data
    2) data processing is asynchronus and data updation is synchronus.
    3) it process multiple apllication while perfomaning validations.
    4) in session method data will be updated in data base only after processing session only.
    5) system provide by default logfile for handling error records.
    6) it supports both foreground aswell as background process
    in bdc we use FM ...
    bdc_open_group " for creating Session
    bdc_insert " adding transaction and bdcdata table for updating database
    bdc_close_group " for closing Session
    Call Transaction
    1) Call transaction exclusively for small amout of data
    2) it supports only one apllication while perfoming validations
    3) there is no default logfile, We can explicitly provide logic for creating logfile for handling error records.
    we can create logfile by using structure....BDCMSGCOLL
    4) it doesn't support background processing.
    5) data processing is synchronous and Data updation is Synchronous( default), in
    this method also supports daya updation in asynchronus process also.
    syntax:
    Call transaction <transaction-name> using BDCDATA
    mode <A/N/E>
    update <L/A/S>
    messages into BDCMSGCOLL.
    BDC:
    Batch Data Communication (BDC) is the process of transferring data from one SAP System to another SAP system or from a non-SAP system to SAP System.
    Features :
    BDC is an automatic procedure.
    This method is used to transfer large amount of data that is available in electronic medium.
    BDC can be used primarily when installing the SAP system and when transferring data from a legacy system (external system).
    BDC uses normal transaction codes to transfer data.
    Types of BDC :
    CLASSICAL BATCH INPUT (Session Method)
    CALL TRANSACTION
    BATCH INPUT METHOD:
    This method is also called as ‘CLASSICAL METHOD’.
    Features:
    Asynchronous processing.
    Synchronous Processing in database update.
    Transfer data for more than one transaction.
    Batch input processing log will be generated.
    During processing, no transaction is started until the previous transaction has been written to the database.
    CALL TRANSACTION METHOD :
    This is another method to transfer data from the legacy system.
    Features:
    Synchronous processing. The system performs a database commit immediately before and after the CALL TRANSACTION USING statement.
    Updating the database can be either synchronous or asynchronous. The program specifies the update type.
    Transfer data for a single transaction.
    Transfers data for a sequence of dialog screens.
    No batch input processing log is generated.
    For BDC:
    http://myweb.dal.ca/hchinni/sap/bdc_home.htm
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&
    http://www.sap-img.com/abap/learning-bdc-programming.htm
    http://www.sapdevelopment.co.uk/bdc/bdchome.htm
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm
    http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html
    Check these link:
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    http://www.sap-img.com/abap/question-about-bdc-program.htm
    http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/
    http://www.planetsap.com/bdc_main_page.htm
    call Transaction or session method ?
    Check the following links:
    http://www.sap-img.com/bdc.htm
    See below example code :
    Call three FM : BDC_OPEN_GROUP,BDC_INSERT and BDC_CLOSE_GROUP.
    Once you execute the program and it creates the session at SM35 Transaction.
    Report : ZMPPC011
    Type : Data upload
    Author : Chetan Shah
    Date : 05/05/2005
    Transport : DV3K919557
    Transaction: ??
    Description: This ABAP/4 Program creates new Production Versions
    (C223). It accepts tab-delimited spreadsheet input and
    creates BDC sessions.
    Modification Log
    Date Programmer Request # Description
    06/10/2005 Chetan Shah DV3K919557 Initial coding
    report zmppc011 no standard page heading line-size 120 line-count 55
    message-id zz.
    pool of form routines
    include zmppn001.
    Define BDC Table Structure
    data: begin of itab_bdc_tab occurs 0.
    include structure bdcdata.
    data: end of itab_bdc_tab.
    Input record layout of Leagcy File
    data: begin of itab_xcel occurs 0,
    matnr(18) type c,
    werks(4) type c,
    alnag(2) type c,
    verid(4) type c,
    text1(40) type c,
    bstmi like mkal-bstmi,
    bstma like mkal-bstma,
    adatu(10) type c,
    bdatu(10) type c,
    stlal(2) type c,
    stlan(1) type c,
    serkz(1) type c,
    mdv01(8) type c,
    elpro(4) type c,
    alort(4) type c,
    end of itab_xcel.
    data: begin of lt_pp04_cache occurs 0,
    matnr like itab_xcel-matnr,
    werks like itab_xcel-werks,
    alnag like itab_xcel-alnag,
    plnnr like mapl-plnnr,
    arbpl like crhd-arbpl,
    ktext like crtx-ktext,
    end of lt_pp04_cache.
    data: v_ssnnr(4) type n,
    v_lines_in_xcel like sy-tabix,
    v_ssnname like apqi-groupid,
    v_trans_in_ssn type i,
    wa_xcel LIKE itab_xcel,
    l_tabix like sy-tabix,
    v_matnr like rc27m-matnr,
    v_plnnr like mapl-plnnr,
    v_plnal like mapl-plnal,
    v_tcode like sy-tcode value 'C223',
    v_plnty like plas-plnty value 'R',
    v_objty like crhd-objty value 'A',
    v_plpo_steus like plpo-steus value 'PP04',
    v_verwe like crhd-verwe value '0007'.
    Parameters
    selection-screen: skip 3.
    selection-screen: begin of block 1 with frame.
    parameters: p_name like rlgrap-filename
    default 'C:\My Documents\InputFile.txt'
    obligatory,
    bdc session name prefix
    p_bdcpfx(6) default 'ZPVCRT'
    obligatory,
    number for transction per BDC session
    p_trnssn type i
    default 2000 obligatory,
    retain the BDC session after successfull execution
    p_keep like apqi-qerase
    default 'X',
    user who will be executing BDC session
    p_uname like apqi-userid
    default sy-uname
    obligatory.
    selection-screen: end of block 1.
    possible entry list (F4 dropdown) for input file name
    at selection-screen on value-request for p_name.
    *-SELECT FILE FROM USERS LOCAL PC
    call function 'WS_FILENAME_GET'
    exporting
    DEF_FILENAME = ' '
    def_path = 'C:\Temp\'
    mask = ',.,..'
    mode = 'O'
    title = 'Select File '(007)
    importing
    filename = p_name
    RC =
    exceptions
    inv_winsys = 1
    no_batch = 2
    selection_cancel = 3
    selection_error = 4
    others = 5.
    if sy-subrc 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    endif.
    begin the show
    start-of-selection.
    read data from input file
    perform transfer_xcel_to_itab.
    loop at itab_xcel.
    hang on to xcel line num
    l_tabix = sy-tabix.
    each line in the xcel file marks begining of new prod.version defn
    if num-of-trnas-in-session = 0, create new BDC session
    if v_trans_in_ssn is initial.
    perform bdc_session_open.
    endif.
    begin new bdc script for rtg create trans
    fill in bdc-data for prod.version maintenance screens
    perform bdc_build_script.
    insert the bdc script as a BDC transaction
    perform bdc_submit_transaction.
    keep track of how many BDC transactions were inserted in the BDC
    session
    add 1 to v_trans_in_ssn.
    if the user-specified num of trans in BDC session is reached OR
    if end of input file is reached, close the BDC session
    if v_trans_in_ssn = p_trnssn or
    l_tabix = v_lines_in_xcel.
    perform bdc_session_close.
    clear v_trans_in_ssn.
    endif.
    endloop.
    top-of-page.
    call function 'Z_HEADER'
    EXPORTING
    FLEX_TEXT1 =
    FLEX_TEXT2 =
    FLEX_TEXT3 =
    FORM TRANSFER_XCEL_TO_ITAB *
    Transfer Xcel Spreadsheet to SAP Internal Table *
    form transfer_xcel_to_itab.
    Read the tab-delimited file into itab
    call function 'WS_UPLOAD'
    exporting
    filename = p_name
    filetype = 'DAT'
    IMPORTING
    filelength = flength
    tables
    data_tab = itab_xcel
    exceptions
    conversion_error = 1
    file_open_error = 2
    file_read_error = 3
    invalid_table_width = 4
    invalid_type = 5
    no_batch = 6
    unknown_error = 7
    others = 8.
    if sy-subrc = 0.
    sort the data
    sort itab_xcel by matnr werks.
    clear v_lines_in_xcel.
    if no data in the file - error out
    describe table itab_xcel lines v_lines_in_xcel.
    if v_lines_in_xcel is initial.
    write: / 'No data in input file'.
    stop.
    endif.
    else.
    if file upload failed - error out
    write: / 'Error reading input file'.
    stop.
    endif.
    endform.
    FORM BDC_SESSION_OPEN *
    Open BDC Session *
    form bdc_session_open.
    create bdc session name = prefix-from-selectn-screen + nnnn
    add 1 to v_ssnnr.
    concatenate p_bdcpfx v_ssnnr into v_ssnname.
    open new bdc session
    call function 'BDC_OPEN_GROUP'
    exporting
    client = sy-mandt
    group = v_ssnname
    keep = p_keep
    user = p_uname
    exceptions
    client_invalid = 1
    destination_invalid = 2
    group_invalid = 3
    group_is_locked = 4
    holddate_invalid = 5
    internal_error = 6
    queue_error = 7
    running = 8
    system_lock_error = 9
    user_invalid = 10
    others = 11.
    endform.
    FORM BDC_BUILD_SCRIPT *
    Build BDC *
    form bdc_build_script.
    data: l_arbpl like crhd-arbpl,
    l_text1 like mkal-text1,
    l_mdv01 like mkal-mdv01,
    l_mapl like mapl.
    clear bdc-data itab - begin of new bdc transaction
    clear itab_bdc_tab.
    refresh itab_bdc_tab.
    read material cross reference tables to determine sap part#
    clear : v_matnr, v_plnnr, v_plnal.
    perform read_matnr_cross_ref using itab_xcel-matnr
    itab_xcel-werks
    changing v_matnr.
    determine the version description to use
    if itab_xcel-text1 is initial.
    l_text1 = itab_xcel-verid.
    else.
    l_text1 = itab_xcel-text1.
    endif.
    determine the routing group# and group ctr# to use
    perform read_routing .
    determine the production line to use
    if itab_xcel-mdv01 is initial.
    if not provided in the file then:
    prod line = work ctr on the last PP04 op of the rtg determined above
    perform read_wc_on_last_pp04 using v_plnnr v_plnal
    changing l_mdv01.
    NOTE: when executing the above form\routine, if v_plnnr is initial
    or v_plnal is initial, THEN l_mdv01 will automatically be
    returned blank (ie initial)
    else.
    l_mdv01 = itab_xcel-mdv01.
    endif.
    build bdc script
    perform bdc_build_script_record
    fill in initial screen
    using: 'X' 'SAPLCMFV' '1000',
    ' ' 'BDC_OKCODE' '=ENTE',
    ' ' 'MKAL-WERKS' itab_xcel-werks,
    ' ' 'MKAL-MATNR' v_matnr,
    ' ' 'MKAL_ADMIN-DISPO' space,
    ' ' 'MKAL-PLNNR' space,
    ' ' 'MKAL_ADMIN-STTAG' space,
    ' ' 'MKAL-PLNNG' space,
    ' ' 'MKAL-MDV01' space,
    ' ' 'MKAL-PLNNM' space,
    click create button on initial screen and go to detail screen
    'X' 'SAPLCMFV' '1000',
    ' ' 'BDC_OKCODE' '=CREA',
    fill in the detail screen and go back to initial screen
    'X' 'SAPLCMFV' '2000',
    ' ' 'BDC_OKCODE' '=CLOS',
    ' ' 'MKAL_EXPAND-MATNR' v_matnr,
    ' ' 'MKAL_EXPAND-VERID' itab_xcel-verid,
    ' ' 'MKAL_EXPAND-TEXT1' l_text1,
    ' ' 'MKAL_EXPAND-BSTMI' itab_xcel-bstmi,
    ' ' 'MKAL_EXPAND-BSTMA' itab_xcel-bstma,
    ' ' 'MKAL_EXPAND-ADATU' itab_xcel-adatu,
    ' ' 'MKAL_EXPAND-BDATU' itab_xcel-bdatu,
    ' ' 'MKAL_EXPAND-PLTYG' v_plnty,
    ' ' 'MKAL_EXPAND-PLNNG' v_plnnr,
    ' ' 'MKAL_EXPAND-ALNAG' v_plnal,
    ' ' 'MKAL_EXPAND-STLAL' itab_xcel-stlal,
    ' ' 'MKAL_EXPAND-STLAN' itab_xcel-stlan,
    ' ' 'MKAL_EXPAND-SERKZ' itab_xcel-serkz,
    ' ' 'MKAL_EXPAND-MDV01' l_mdv01,
    ' ' 'MKAL_EXPAND-ELPRO' itab_xcel-elpro,
    ' ' 'MKAL_EXPAND-ALORT' itab_xcel-alort,
    save the production version from initial screen
    'X' 'SAPLCMFV' '1000',
    ' ' 'BDC_OKCODE' '=SAVE'.
    endform.
    FORM BDC_SUBMIT_TRANSACTION *
    Submit BDC Session *
    form bdc_submit_transaction.
    Load BDC script as a trqansction in BDC session
    call function 'BDC_INSERT'
    exporting
    tcode = v_tcode
    tables
    dynprotab = itab_bdc_tab
    exceptions
    internal_error = 01
    not_open = 02
    queue_error = 03
    tcode_invalid = 04.
    endform.
    FORM BDC_BUILD_SCRIPT_RECORD *
    form bdc_build_script_record using dynbegin name value.
    clear itab_bdc_tab.
    if dynbegin = 'X'.
    move: name to itab_bdc_tab-program,
    value to itab_bdc_tab-dynpro,
    'X' to itab_bdc_tab-dynbegin.
    else.
    move: name to itab_bdc_tab-fnam,
    value to itab_bdc_tab-fval.
    shift itab_bdc_tab-fval left deleting leading space.
    endif.
    append itab_bdc_tab.
    endform.
    FORM BDC_SESSION_CLOSE *
    Close BDC Session *
    form bdc_session_close.
    close the session
    call function 'BDC_CLOSE_GROUP'
    exceptions
    not_open = 1
    queue_error = 2
    others = 3.
    skip 2.
    if sy-subrc ne 0.
    write: / 'Error Closing BDC Session ' , 'RETURN CODE: ', sy-subrc.
    else.
    write : / 'Session created:', v_ssnname,
    50 '# of transactions:', v_trans_in_ssn.
    endif.
    endform.
    *& Form read_routing_cache
    *FORM read_routing_cache USING pi_matnr
    pi_werks
    pi_alnag
    pi_verid
    pi_mdv01.
    DATA: BEGIN OF lt_plpo OCCURS 0,
    vornr LIKE plpo-vornr,
    objty LIKE crhd-objty,
    objid LIKE crhd-objid,
    arbpl LIKE crhd-arbpl,
    END OF lt_plpo,
    l_mapl_plnnr LIKE mapl-plnnr.
    determine the routing group#
    CLEAR lt_pp04_cache.
    chk if its in the cache first, if not then get it from MAPL table
    and put it in the cache
    READ TABLE lt_pp04_cache WITH KEY matnr = pi_matnr
    werks = pi_werks
    alnag = pi_alnag.
    IF sy-subrc = 0.
    do nothing - lt_pp04_cache header line has rtg#
    ELSE.
    get the routing group # from MAPL
    SELECT plnnr INTO l_mapl_plnnr
    FROM mapl UP TO 1 ROWS
    WHERE matnr = pi_matnr AND
    werks = pi_werks AND
    plnty = 'R' AND
    plnal = pi_alnag AND
    loekz = space.
    ENDSELECT.
    put it in the cache internal table
    IF NOT l_mapl_plnnr IS INITIAL.
    lt_pp04_cache-matnr = pi_matnr.
    lt_pp04_cache-werks = pi_werks.
    lt_pp04_cache-alnag = pi_alnag.
    lt_pp04_cache-plnnr = l_mapl_plnnr.
    APPEND lt_pp04_cache.
    ENDIF.
    ENDIF.
    if the rtg# was determined AND
    -- the work center was not determined yet AND
    -- work center was really needed for this line in the input file
    then
    -- read the work center from last PP04 operation on the routing
    -- update the cache accordingly
    IF NOT lt_pp04_cache-plnnr IS INITIAL AND
    lt_pp04_cache-arbpl IS INITIAL AND
    ( pi_verid IS INITIAL OR
    pi_mdv01 IS INITIAL ).
    read the last PP04 operation
    CLEAR lt_plpo.
    REFRESH lt_plpo.
    SELECT vornr eobjty eobjid e~arbpl
    INTO CORRESPONDING FIELDS OF TABLE lt_plpo
    FROM plas AS b
    INNER JOIN plpo AS c
    ON bplnty = cplnty AND
    bplnnr = cplnnr AND
    bzaehl = czaehl
    INNER JOIN crhd AS e
    ON carbid = eobjid
    WHERE b~plnty = v_plnty AND
    b~plnnr = lt_pp04_cache-plnnr AND
    b~plnal = lt_pp04_cache-alnag AND
    c~loekz = space AND
    c~steus = v_plpo_steus AND
    e~objty = v_objty AND
    e~werks = lt_pp04_cache-werks AND
    e~verwe = v_verwe.
    SORT lt_plpo BY vornr DESCENDING.
    READ TABLE lt_plpo INDEX 1.
    IF NOT lt_plpo-arbpl IS INITIAL.
    lt_pp04_cache-arbpl = lt_plpo-arbpl.
    read work center description
    SELECT SINGLE ktext INTO lt_pp04_cache-ktext
    FROM crtx WHERE objty = lt_plpo-objty AND
    objid = lt_plpo-objid AND
    spras = sy-langu.
    the following read will get the index of the correct record to be
    updated in the cache
    READ TABLE lt_pp04_cache
    WITH KEY matnr = pi_matnr
    werks = pi_werks
    alnag = pi_alnag.
    MODIFY lt_pp04_cache
    INDEX sy-tabix
    TRANSPORTING arbpl ktext.
    ENDIF.
    ENDIF.
    *ENDFORM. " read_last_pp04_operation_cache
    *& Form read_routing
    form read_routing.
    data: begin of lt_mapl occurs 0,
    plnnr like mapl-plnnr,
    plnal like mapl-plnal,
    end of lt_mapl,
    l_arbpl like crhd-arbpl.
    get all the rtg# and grp ctr# from MAPL
    select plnnr plnal
    into corresponding fields of table lt_mapl
    from mapl
    where matnr = v_matnr and
    werks = itab_xcel-werks and
    plnty = v_plnty and "Rate Routing
    loekz = space. "with del flag = OFF
    sort lt_mapl by plnal.
    if not itab_xcel-verid is initial.
    if the verid=0001 then use the 1st good rtg-grp# and grp-ctr#
    if itab_xcel-verid = '0001'.
    read table lt_mapl index 1.
    v_plnnr = lt_mapl-plnnr.
    v_plnal = lt_mapl-plnal.
    else.
    if the verid0001 then use the rtg-grp# and grp-ctr# of the routing
    whose work center on the last PP04 operation matches the given verid
    loop at lt_mapl.
    clear l_arbpl.
    get the work center from the last PP04 operation
    perform read_wc_on_last_pp04 using lt_mapl-plnnr
    lt_mapl-plnal
    changing l_arbpl.
    if itab_xcel-verid = l_arbpl.
    v_plnnr = lt_mapl-plnnr.
    v_plnal = lt_mapl-plnal.
    exit.
    endif.
    endloop.
    endif.
    else.
    do nothing
    endif.
    For version IDs that are other then '0000' or 'ZWIP' :--
    if itab_xcel-verid NE '0000' and
    itab_xcel-verid NE 'ZWIP'.
    if routing group# or group counter was not determined, make the
    valid-to date 99/99/9999 so that the BDC, on execution, errors out.
    if v_plnnr is initial or
    v_plnal is initial.
    itab_xcel-bdatu = '99/99/9999'.
    endif.
    endif.
    determine the routing group#
    CLEAR lt_pp04_cache.
    chk if its in the cache first, if not then get it from MAPL table
    and put it in the cache
    READ TABLE lt_pp04_cache WITH KEY matnr = pi_matnr
    werks = pi_werks
    alnag = pi_alnag.
    IF sy-subrc = 0.
    do nothing - lt_pp04_cache header line has rtg#
    ELSE.
    get the routing group # from MAPL
    put it in the cache internal table
    IF NOT l_mapl_plnnr IS INITIAL.
    lt_pp04_cache-matnr = pi_matnr.
    lt_pp04_cache-werks = pi_werks.
    lt_pp04_cache-alnag = pi_alnag.
    lt_pp04_cache-plnnr = l_mapl_plnnr.
    APPEND lt_pp04_cache.
    ENDIF.
    ENDIF.
    if the rtg# was determined AND
    -- the work center was not determined yet AND
    -- work center was really needed for this line in the input file
    then
    -- read the work center from last PP04 operation on the routing
    -- update the cache accordingly
    IF NOT lt_pp04_cache-plnnr IS INITIAL AND
    lt_pp04_cache-arbpl IS INITIAL AND
    ( pi_verid IS INITIAL OR
    pi_mdv01 IS INITIAL ).
    read the last PP04 operation
    CLEAR lt_plpo.
    REFRESH lt_plpo.
    SELECT vornr eobjty eobjid e~arbpl
    INTO CORRESPONDING FIELDS OF TABLE lt_plpo
    FROM plas AS b
    INNER JOIN plpo AS c
    ON bplnty = cplnty AND
    bplnnr = cplnnr AND
    bzaehl = czaehl
    INNER JOIN crhd AS e
    ON carbid = eobjid
    WHERE b~plnty = v_plnty AND
    b~plnnr = lt_pp04_cache-plnnr AND
    b~plnal = lt_pp04_cache-alnag AND
    c~loekz = space AND
    c~steus = v_plpo_steus AND
    e~objty = v_objty AND
    e~werks = lt_pp04_cache-werks AND
    e~verwe = v_verwe.
    SORT lt_plpo BY vornr DESCENDING.
    READ TABLE lt_plpo INDEX 1.
    IF NOT lt_plpo-arbpl IS INITIAL.
    lt_pp04_cache-arbpl = lt_plpo-arbpl.
    read work center description
    SELECT SINGLE ktext INTO lt_pp04_cache-ktext
    FROM crtx WHERE objty = lt_plpo-objty AND
    objid = lt_plpo-objid AND
    spras = sy-langu.
    the following read will get the index of the correct record to be
    updated in the cache
    READ TABLE lt_pp04_cache
    WITH KEY matnr = pi_matnr
    werks = pi_werks
    alnag = pi_alnag.
    MODIFY lt_pp04_cache
    INDEX sy-tabix
    TRANSPORTING arbpl ktext.
    ENDIF.
    ENDIF.
    endform. " read_last_pp04_operation_cache
    *& Form read_wc_on_last_pp04
    form read_wc_on_last_pp04 using pi_plnnr
    pi_plnal
    changing pe_arbpl.
    data: begin of lt_plpo occurs 0,
    vornr like plpo-vornr,
    objty like crhd-objty,
    objid like crhd-objid,
    arbpl like crhd-arbpl,
    end of lt_plpo.
    get all the PP04 operations for the given rtg# & grp-ctr#
    select vornr eobjty eobjid e~arbpl
    into corresponding fields of table lt_plpo
    from plas as b
    inner join plpo as c
    on bplnty = cplnty and
    bplnnr = cplnnr and
    bzaehl = czaehl
    inner join crhd as e
    on carbid = eobjid
    where b~plnty = v_plnty and "Rate Routing
    b~plnnr = pi_plnnr and
    b~plnal = pi_plnal and
    c~loekz = space and "Oper Del Flag = OFF
    c~steus = v_plpo_steus and "PP04
    e~objty = v_objty. "WC Obj Type = 'A'
    read the last operation
    sort lt_plpo by vornr descending.
    read table lt_plpo index 1.
    pe_arbpl = lt_plpo-arbpl.
    endform. " read_wc_on_last_pp04
    Goto LSMW-> Select Direct Input method in 1st step. These are the standard programs for data transfer.
    Otherwise goto SPRO->SAP Reference IMG-> Under this you'll find standard data transfer programs module wise.
    Reward points,
    Shakir

  • Difference between Regular Reversal and out-of-sequence reversal

    Can anyone help me understand the difference between Regular Reversal and out-of-sequence reversal? How does the system behave differently i these two reversals?
    Thanks
    Charlene

    Sorry for the long reply, as here's some information that I have on Voids and Out-of-Sequence reversals.
    On occasion, SAP payroll results can be created in error. In these cases, the payment never goes to the employee and the payroll result should never have been created. These cases are considered “reverse payments” in the off cycle workbench.
    There are two forms of “reverse payments”: voids and out of sequence reversals. Notes 160515, 159701 and 337626 should be reviewed carefully.
    An out of sequence reversal occurs when third party remittance has been run for the payroll result, or when the payroll result is not the most recent result in the cluster directory for the employee. Wage type /568 (total reversal amount) is created in the reversed result for posting purposes. Wage type /571 replaces any /559 wage types in the reversed result and the BT cluster is cleared.
    Wage type /568 is created for posting purposes and it will not appear in any retros over the reversed result.
    An out of sequence reversal should not occur when the employee receives the money unless the actual check is returned or the direct deposit is reversed by the bank.  Because of the tax when paid principle, even if an employee writes a check back to the company for the overpaid amount, this should be processed by retro master data changes and the employee check should be used to relieve any claims in the most recent period.  The claims processing guide gives details on how to relieve claims. Out of sequence reversals depend on third party remittance but not on posting to FI.
    /568 - Total reversal amount - If you cancel a payroll result that A. Has had payments made to third parties or B. is other than the last one.  This is considered an out of sequence reversal.  If these two conditions do not apply, a true void occurs.     Wage type /568 is the total reversal amount.  Should be the sum of /569, /570 and /571.
    /571 - Reversal of /559 - Wage type /571 is the reversal of /559 (bank transfer).  /571 will record the amount from wage types /559.  The /559 wage types will be deleted from the cluster that was reversed.  Wage type /571 will have the same sign as wage      type /559. 
    In payroll reporting, the reversal amounts are evaluated in the next payroll period. The same is true for posting to FI.
    The out of sequence reversal should have been accompanied by a master data change that forced a retro via infotype 0003.
    This retro will fix FI postings in the posting process that accompanies the retro run.For this reason, out of sequence reversals do not need an entry in table T52OCG for processing by the off cycle batch process.
    Regardless of if a ‘reverse payment’ is a void or an out of sequence reversal, there should be an associated master data change to perform this process properly. There had to be a reason that the payment should not have been made and this reason needs to be reflected in the employee’s master data. Both voids and out of sequence reversals can occur before or after the master data change, but the safest method is to perform the master data change first to ensure it occurs before the next payroll is processed.
    In payroll reporting, voids are bypassed in the period for which they were originally paid. This means that if a payroll report is run for a specific period containing a void, the voided result will not be picked up. In FI, voids are bypassed in the period in which they were voided. This is possible because the off cycle batch process already reconciled any incorrect posting that occurred before the payroll result was voided.
    A voided payroll result occurs when no money was given to the employee and no money was remitted through third party remittance.  A void is simply a check or direct deposit that was created in error.  The payroll control record was already exited and the check or direct deposit was already processed, therefore the payroll result can not be recalculated in the original period.
    A void can only occur if the payroll result is the most recent result for the employee.
    If the payroll result is not the most recent result, an out of sequence reversal occurs by default. It is irrelevant whether the transfer to FI has occurred or not with relation to voids.  Some OSS notes state that posting to FI does matter and these notes are in error.

  • Difference between delta queue and unserialized v3 update - lo cockpit

    Hi guys,
    What is the difference between delta queue and unserialized v3 update.
    How does sm13 come into picture.  During system outages, how is setup table affected.
    Edited by: zsl05 on Apr 22, 2009 11:29 PM

    Hi,
        In BW there are basically 3 types of delta queue mechanisms
    1) Direct Delta: In this, as soon as the data is posted in the application tables, it is transfered to the RSA7 delta queue.
    2) Queued delta: In this, as soon as the data is posted, it is first transferred to the Extractor Queue(LBWQ) and then via V3 Collective job to the delta queue periodically. The transfer sequence is the same as the sequence in which the data was created
    3) Unserialized V3 : In this,when data is posted to the application table, it is posted into the Update queue first(SM13). It is then transferred to the Extractor queue (LBWQ) and then via V3 jobs to the Delta queue (RSA7). The difference lies in the fact that the sequence in which data was posted in the application table does not matter.
    Hope this helps.
    Regards.

  • Difference between ecc5.0 and 6.0 new GL functionality

    Hi Experts,
    What are the differences between ECC5.0 and 6.0 new GL functionality.
    If we want to implement IFRS, I think New GL functionality is very helpful, but why sap is recommending only for ECC6.0 new GL functionality, Eventhough this functionality is available in ECC5.0.
    Best Regards,
    Dharani

    Hi,
    In ERP 6.0 we can simulate the result of an online split, which can be previewed and analyzed before a document is posted. I think this is not available in mySAP ERP 2004. In ERP 6.0 there are enhanced interfaces and integration with public sector, contract accounting, human capital management, travel management, and material ledger transfer prices. Most of the new functionality in ERP 6.0 is supported in 2004 version of SAP ERP with support package 10.
    You can check in the below link...
    http://solutionbrowser.erp.sap.fmpmedia.com/Default.aspx

  • Difference between 4.6 and ECC 6.0

    Can anybody tell me what is the difference between 4.6 and ECC 6.0 related to SD Module.

    Hi Sunil,
    .  Please visit the following links:
    http://service.sap.com/erp
    http://solutionbrowser.erp.sap.fmpmedia.com/ (Functional perspective)
    http://service.sap.com/instguides --> mySAP Business Suite Applications --> mySAP ERP --> mySAP ERP 2005 --> Upgrade
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/LOVC/LOVC.pdf
    For Functionality Differences pls refer to the below site -
    http://solutionbrowser.erp.sap.fmpmedia.com/
    After opening the site, please select the Source Release Version which is 4.6 b Then Select the Target Release Version which is "mySAP ERP 2005" or ECC 6.0
    Select the Solution Area like Financials, Human Capital Management, Sales....
    Select module like MM, PP, SD, and QM.....
    Click on Search
    then it displays the Release Version and the Delta Functionality. Which can be downloaded to a word document if required.
    And also check the release notes of ECC 6.0 in service.sap.com.
    A2. When you are upgrading from 4.6C to ECC6
    Nothing major, follow the same process you'd follow if you were updating PI service packs in R/3 or enhancing data sources. Empty queues in RSA7 and lbwq. Also empty setup tables through lbwg as the upgrade doesn't like it if these tables contain data. This is all on the R/3 side (although you empty RSA7 by running each delta TWICE in BW).
    To transfer queues from lbwq to rsa7, execute jobs through LO cockpit (lbwe).
    Some of your data sources could also be using sm13 instead of lbwq, so do check it out as well.
    For installing ECC 6.0 you required a solution manager key. With out solution manager key you cannot install ECC6.0.
    For ECC 6.0 is called net weaver component here you have ABAP+JAVA stack.
    ECC6.0 supports UNCODE.
    For installing 4.6 you don't require solution manager key. It only having ABAP stack.
    4.6C supports NONUNICODE.
    Major difference is ECC6 is netwear product having WASJAVA+ABAP
    secondly support unicode apart from this we have other diff. you can get form master guide from service.sap.com/instguides.
    Please go through the link that is shown here and if there is any doubts then feel free to ask.
    A3. Major difference is ECC6 is net weaver  product having WASJAVA+ABAP
    secondly support Unicode apart from this we have other diff. you can get from master guide from service.sap.com/instguides
    For installing ECC 6.0 you required a solution manager key. With out solution manager key you cannot install ECC6.0.
    For ECC 6.0 is called net weaver component here you have ABAP+JAVA stack.
    ECC6.0 supports UNCODE.
    For installing 4.6 you don't required solution manager key. It only having ABAP stack.
    4.6C supports NONUNICODE.
    A4. Refer sdn thread and make a small search where u can find lot of information Reg this
    olution Browser would give the differences (Features):
    http://solutionbrowser.erp.sap.fmpmedia.com/ Give source and target versions.
    Release Info:
    ECC 6.0:
    http://help.sap.com/saphelp_erp2005/helpdata/en/43/68805bb88f297ee10000000a422035/frameset.htm
    Refer below and search for posts on this topic on sdn
    There are so many differences between the version in different objects
    I
    These are the some of the settings that are differed in the two versions and in that two objects
    Please visit the following links:
    http://service.sap.com/erp
    http://solutionbrowser.erp.sap.fmpmedia.com/ (Functional prespective)
    http://service.sap.com/instguides --> mySAP Business Suite Applications --> mySAP ERP --> mySAP ERP 2005 --> Upgrade
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/LOVC/LOVC.pdf
    For Functionality Differences pls refer to the below site -
    http://solutionbrowser.erp.sap.fmpmedia.com/
    Upgrade from 4.6c to 6.0 ECC
    upgrade from 4.7 to ecc 6.0
    Please Reward If Really Helpful,
    Thanks and Regards,
    Sateesh.Kandula

Maybe you are looking for