Diff between ForEach & ParForEach blocks in BPM

Hi,
Can anyone let me know the difference between ForEach & ParForEach blocks? I am aware of the fact that ForEach gets executed sequentially and ParForEach gets executed parallelly from SAP help. But what I require is "Does usage of ParForEach improve the performance, since it executes parallelly, when compared with ForEach which executes sequentially. If not, how does ForEach behave compared with ParForEach?
Thanks
Sreeks

Hi,
The main difference between the two is the scenarios where they are used,
parforeach : is mainly used in places where you have to fork for seperate requests, and have to collect individual responses into a single message.
foreach : is maily used in places where sequencial processing is important or the order of the message has to be preserved by executing.
As for which is better you could probably judge interms of cost(memory) vs performance. Parforeach forks a seperate flow for each path(thread on java stack + work flow on abap stack), and if your message is huge, you will be having n*message+BPM initialization cost, where n is the number of paths.
the very nature of Foreach enables recycling of memory and there by for each execution it uses only message+BPM initialization cost.
Bottom line, use parforeach where you need to use fork-collect pattern.
Naveen

Similar Messages

  • Sync JDBC call from ParForEach block in BPM (XI 3.0)

    Has anyone tried the following scenario:
    My BPM flow starts with a single message that I split using a message map into a list of messages to be sent synchronously to an Oracle stored procedure via the JDBC adapter.  After the mapping step, the flow goes into a ParForEach block that executes the sync Send step to the JDBC adapter, and then has a Container Action that collects the responses.
    My problem is that BPM seems to not like executing a synchronous send from inside a block.  The first execution of the send step will produce an error in the BPM flow.  The adapter framework, however, shows that the JDBC call executed normally and that the response message was sent back to the integration server.  There is no error indicated in SXMB_MONI, which inidicates to me that the response message was delivered successfully business server (the BPM flow).
    If anyone could shed any light or share any experience, it would be greatly appreciated.
    Chris

    Hi Chris,
    I am facing same situation how you configured BLOCK step for Sync response.Please let me know the flow how you configured.
    Srinivas.

  • Diff between Credit block and credit hold

    hi all,
    plz tel me the diff between credit block and credit hold
    rgds,
    raj..

    hi all,
    plz tel me the diff between credit block and credit hold
    rgds,
    raj..

  • Diff between Item Amount Check and Stochastic Block

    Hi,
    what's the diff between Item Amount Check and Stochastic Block in LIV??

    Item Amount Check
    The system calculates the sum of the value invoiced so far for the
    order item and the value of the current invoice and compares it with
    the value limit of the purchase order. It then compares the
    difference with the upper percentage and absolute tolerances
    defined.
    Stochastic Block
    You can block all invoices to check them again through Stochastic block automatically. If the stochastic block is active and you post an invoice that is not subject to any other blocking reason, it can be selected for blocking.
    Please make a note that- A stochastic block is not set at item level, but for the whole invoice. If a stochastic block is set when you post the invoice, the system automatically sets an R in the field Payment block in the document header data; there is no blocking indicator in the individual items.
    In Customizing for Invoice Verification, you can define:
    -If stochastic blocking is active
    -The degree of probability of a block. You set a threshold value and a percentage for this.
    If you enter a threshold value of zero and a percentage of 99.9%, all invoices would then be blocked automatically.

  • ParForEach mode in BPM

    HI all
    I want to send different messages to multiple receiversu2019 parllelly.
    This I want to achieve by ParForEach mode in BPM.
    I want to send message to related receiver system, like
    Devmsg to Dev system
    Qualitymsg to quality system
    Prodmsg to Production system
    Sometimes I have multiple clients for each system
    How to design my BPM? Please suggest
    I am using standard receiver determination in my design but it is not sending, how to design my block and send step.

    Hi Chitra,
    When you use asnychronous messaging and require responses, you'll need to configure correlation.
    Of course, this is only possible in case there is some field that can be used to correlate sent and received messages...
    I haven't tried this from within a ParForEach block, though...
    Best regards,
    Dennis

  • What is the exact diff between  At New  and On Chnage

    hello all
    what is the exact diff between  At New  and On Chnage in control breaks statements. and when  shall we go for At new & when shall we go for On change on events.
    Plz tell with with some code.

    Hi ,
    Using at new
    Each time the value of c changes, the lines of code between at new and endat are executed. This block is also executed during the first loop pass or if any fields to the left of c change. Between at and endat, the numeric fields to the right of c are set to zero. The non-numeric fields are filled with asterisks (*). If there are multiple occurrences of at new, they are all executed. at end of behaves in a similar fashion.
    Using the on change of Statement
    Another statement you can use to perform control break processing is on change of. It behaves in a manner similar to at new.
    The following points apply:
    u2022     If the value of any of the variables (v1, v2, and so on) changes from one test to the next, the statements following on change of are executed.
    u2022     If no change is detected and else is specified, the statements following else are executed.
    on change of differs from at new in the following respects:
    u2022     It can be used in any loop construct, not just loop at. For example, it can be used within select and endselect, do and enddo, or while and endwhile, as well as inside get events.
    u2022     A single on change of can be triggered by a change within one or more fields named after of and separated by or. These fields can be elementary fields or field strings. If you are within a loop, these fields do not have to belong to the loop.
    u2022     When used within a loop, a change in a field to the left of the control level does not trigger a control break.
    u2022     When used within a loop, fields to the right still contain their original values; they are not changed to contain zeros or asterisks.
    u2022     You can use else between on change of and endon.
    u2022     You can use it with loop at it where . . ..
    u2022     You can use sum with on change of. It sums all numeric fields except the one(s) named after of.
    u2022     Any values changed within on change of remain changed after endon. The contents of the header line are not restored as they are for at and endat.
    Regards,
    KV

  • Diff between at-new and on-change of in loop events

    diff between <b>at-new</b> and <b>on-change of</b> in loop events

    Hello,
    <b>ON CHANGE OF f.
    Normally, you use the statement to manipulate database fields during GET events or SELECT/ENDSELECT processing.
    AT NEW
    There are special control structures for processing control breaks in LOOP s on internal tables or extract datasets (AT).</b>
    ON CHANGE OF f.
    Executes the processing block enclosed by the "ON CHANGE OF f" and "ENDON" statements whenever the contents of the field f change (control break processing).
    Normally, you use the statement to manipulate database fields during GET events or SELECT/ENDSELECT processing.
    ON CHANGE OF is unsuitable for recognizing control levels in loops of this type because it always creates a global auxiliary field which is used to check for changes. This global auxiliary field is only changed in the relevant ON CHANGE OF statement. It is not reset when the processing enters loops or subroutines, so unwanted effects can occur if the loop or subroutine is executed again. Also, since it is set to its initial value when created (like any other field), any ON CHANGE OF processing will be executed after the first test, unless the contents of the field concerned happen to be identical to the initial value.
    Example
    TABLES T100.
    SELECT * FROM T100 WHERE SPRSL = SY-LANGU AND
                             MSGNR < '010'
                       ORDER BY PRIMARY KEY.
      ON CHANGE OF T100-ARBGB.
        ULINE.
        WRITE: / '**', T100-ARBGB, '**'.
      ENDON.
      WRITE: / T100-MSGNR, T100-TEXT.
    ENDSELECT.
    Displays all messages with their numbers in the logon language, provided the number is less than '010'.
    Each time the message class changes, it is output.
    AT NEW f.
    f is a field from the field group HEADER. The enclosed sequence of statements is executed if the field f occurs in the sort key of the extract dataset (and thus also in the field group HEADER) and the field f or a superior sort criterion has a different value in the current LOOP line than in the preceding (AT NEW) or subsequent (AT END OF) record of the extract dataset.
    If f is not an assigned field symbol, the control break criterion is ignored, and the subsequent sequence of statements is not executed. If a field symbol is assigned, but does not point to the HEADER field group, the system triggers a runtime error.
    Example
    DATA: NAME(30),
          SALES TYPE I.
    FIELD-GROUPS: HEADER, INFOS.
    INSERT: NAME  INTO HEADER,
            SALES INTO INFOS.
    LOOP.
      AT NEW NAME.
        NEW-PAGE.
      ENDAT.
      AT END OF NAME.
        WRITE: / NAME, SUM(SALES).
      ENDAT.
    ENDLOOP.
    Notes
    If the extract dataset is not sorted before processing with LOOP, no control level structure is defined and the statements following AT NEW or AT END OF are not executed.
    Reward if helpful,
    Regards,
    LIJO

  • Diff between ECC5.0 and ECC6.0

    Hi,
    This is Ramakrishna,can any one give proper explanation diff between ECC5.0 and ECC6.0
    Regards
    Ramakrishna

    Hi,
    Refer following link;
    [SAP ERP Solution Browser|http://solutionbrowser.erp.sap.fmpmedia.com/]
    Following are the basic differences as far as MM Module is concerned;
    Pickup list - Batch where-used list display in transaction MB56
    u2022 Until release 4.7, the top-down and bottom-up analyses in the function pickup list for batch where-used list (transaction MB5C) were displayed only in the form of simple output lists. As of release 6.00 of SAP ERP Central Component, the function pickup list for batch where-used list branches to the batch where-used list itself (transaction MB56).
    u2022 In addition, user can define how the data in the batch where-used list is displayed, in the initial screen.
    u2022 User can use all the settings available in the batch where-used list. For example, he can expand transfer posting or display vendor batch. However, it is not possible to limit the selection to valid plants in the initial screen of the pickup list.
    Usability enhancements for transaction MIGO for the posting of goods movements
    u2022 For goods movements that refer to purchase orders as reference documents (for example, goods receipt, goods issue, subsequent adjustment), user can specify the ordering plant as an additional selection criterion directly next to the purchase order number and the item number.
    u2022 There is a new default value: "copy account assignment fields." When entering other goods receipts, user can copy existing account assignment data from the previous item to use as the default values for a new item. To do this, user has to set the copy account assignment fields indicator in the default values.
    u2022 User changes the default values in the menu path "Settings -> Default Values."
    u2022 Goods movement is monitored with reference to a material document. When you enter the following goods movements, it is possible to specify a material document, such as the following, as the reference document:
    - Goods receipt
    - Goods issue
    - Transfer posting
    - Remove from storage
    u2022 Note that these material documents must be documents that have arisen from a goods movement without reference ("Others") and that are not reversal documents.
    New report : display list of invoice documents (MIR5)
    u2022 Logistics invoice verification offers a new report display list of invoice documents (RMMR1MDI), w hich user can use to display such a list (Transaction is MIR5).
    u2022 As an addition to the existing program invoice overview (transaction code MIR6), user have extended selection criteria and display options. For example, on the initial screen user can make selections by one-time customers, invoice gross amount, and entry date.
    u2022 User can also show an expert mode, which enables him to select at plant level by FI document, GL A/c posting, and Material Posting.
    u2022 In the output list, the report shows both posted and held invoices.
    u2022 It does not show invoices without a corresponding FI document; such as invoices planned for verification in the background or which the software has already verified as containing errors.
    Requirement prioritizations in materials management
    u2022 With Requirement Prioritization functionality user can assign requirement urgency at item level in purchasing and reservation documents.
    u2022 The software determines the relevant requirement priority (overall priority) of a material requisition from the combination of requirement urgency group and organizational priority.
    Mass maintenance of outline agreements
    The following two transactions available:
    u2022 Mass maintenance for contracts: transaction code MEMASSCONTRACT
    u2022 Mass maintenance for scheduling agreements: transaction code MEMASSSA
    Commitment plan for purchase contracts
    u2022 With the function of the commitment plan for purchase contracts, it is possible to pre plan value consumption for a purchase contract.
    u2022 To this end, a commitment plan is generated for each document item of the relevant contract.
    u2022 This commitment plan itself can have any number of items.
    u2022 User can define a value and a validity date for each commitment plan item.
    u2022 This enables user to pre plan different values for different periods of time.
    u2022 The software generates an earmarked fund document for a defined commitment plan item.
    u2022 This earmarked funds document can in turn contain several different items with different account assignments.
    u2022 The software adopts these account assignments from the item account assignments of the commitment plan.
    u2022 If a purchase requisition or purchase order references this contract, the earmarked funds document is copied into the purchase order, and the account assignment is adopted from that document.
    u2022 Account assignment to a different account assignment object is then no longer allowed.
    Availability check in "Enjoy purchase order and requisition"
    u2022 Display and checking of availability are invokable separately in the "Enjoy purchase order and requisition" function, in line with the software behavior on the sales side.
    u2022 User invoke the display and checking of availability in the "Enjoy purchase order" function (transaction code ME21N) and the "Enjoy purchase requisition" function (transaction code ME51N) as follows:
    - To display the availability overview, choose the menu path "Environment -> Availability." - To check availability, choose the "Check Availability" icon.
    - Until this release, if user carried out the availability check for an item of a stock transport order, the software adopted confirmations as per the desired date/time only.
    u2022 Two settings are possible with availability check:
    - Confirmation as per desired date/time (this is the standard setting and corresponds to previous software behavior)
    - Delivery proposal - Full confirmation
    External services: putting service items in the purchase order on hold (changed)
    User can put purchase orders with service items on hold if these items do not contain any errors. Purchase orders with service items can also be put on hold if errors occur only at header level or as a result of the availability check.
    Customizing transactions OX18 replaced by view
    The assigned customizing transactions have been replaced by the following view in the following implementation guide activity in customizing for the enterprise structure: Assign plant to company code: transaction OX18 replaced by view V_T001K_Assign. One will find this activity in the implementation guide under the menu path "Enterprise Structure -> Assignment -> Logistics General -> Assign Plant to Company Code."
    Goods receipt: new movement types in inventory management
    The following new movement types are available in inventory management:
    - 107: Goods receipt to valuated goods receipt blocked stock
    - 109: Goods receipt from valuated goods receipt blocked stock
    Prepayment of invoices
    This functionality is characterized as follows:
    u2022 User can trigger prepayment of vendor invoices in logistics invoice verification.
    u2022 User use the prepayment function for vendors with whom organisation has a good, long-standing relationship.
    u2022 The function enables payment soon after issue of the invoice and full exploitation of the date of required payment and existing cash discounts, by posting the vendor liabilities, taxes, and cash discounts in financial accounting in advance.
    u2022 The software executes the payment of the invoice regardless of the relevant goods receipt and the outcome of the invoice verification check.
    u2022 Most logistics invoice verification standard functions are not affected by the prepayment function.
    u2022 When the software posts invoices, it continues to execute the standard checks.
    u2022 If the software has already posted the prepayment document, user can make only restricted changes to the header fields of the invoice.
    u2022 To ensure adequate and orderly financial accounting postings, a prepayment clearing account has been added to SAP ERP Central Component.
    u2022 Upon prepayment, the software debits this account and then settles the account again after executing the check.
    Purchasing accounting information to the former SAP Business Information Warehouse
    u2022 With the transfer of the purchasing account information to the former SAP Business Information Warehouse component (whose functionality is now part of SAP Net Weaver), it is now possible to maintain Info Cubes, reports, and queries that can determine how and where the costs from purchasing documents have been assigned and controlled.
    u2022 As part of the software, a new data source (2LIS_02_ACC) has been created and the purchasing extraction process extended to cover the account information for purchasing orders, schedule agreements, and contracts.
    Automatic settlement of planned delivery costs with evaluated receipt settlement (MRDC)
    u2022 A new report (RMMR1MDC), available within the logistics invoice verification, can be used to automatically settle planned delivery costs.
    u2022 To invoke the report, from the SAP easy access screen, choose the menu path "Logistics -> Materials Management -> Logistics Invoice Verification -> Automatic Settlement -> Automatic Delivery Cost Settlement" (transaction code MRDC).
    u2022 Functionality for report RMMR1MRS is enhanced.
    u2022 User can use the report RMMR1MRS, "Evaluated receipt settlement with logistics invoice verification (LIV)" (transaction code MRRL), to settle planned delivery costs in addition to goods and service items within logistics invoice verification.
    u2022 To do so, set the relevant indicator on the initial screen of the report.
    Parking service items
    It is now possible to put service orders without errors or with commitment errors on hold.
    Report MB5B : Stock on Posting Date
    u2022 This Report is available with u201CNon-Hierarchyu201D display option which provides details of Opening, Receipt, Issue and Closing balances of Stock with quantity and value both for a given period.
    u2022 This functionality is not available in Release 4.7.
    Stock Transfer Between Storage Locations
    u2022 Function of stock transport orders between storage locations is available from ECC 6.0 onwards.
    u2022 As a result of which user can input issuing storage location with supplying plant.
    u2022 Facility of using different delivery types for different issuing storage locations is available.
    u2022 Shipping Point data can also be determined based on the issuing storage location

  • Diff between these 2 queires

    Hi all,
    Can any1 let me know the diff between below queris
    select count(distinct material_no) from ot_raw_demand_plan_dep_stg stg
    where EXISTS (select 'x' from ot_flat_bom bom
                   where bom.produced_part=stg.MATERIAL_NO)
    Select count(distinct stg.material_no) from ot_raw_demand_plan_dep_stg stg,ot_flat_bom bom
    where bom.produced_part=stg.material_no

    the first query will give a better performance than the second one when the size
    of the table(S) are huge,Really ?
    SQL> set autotrace traceonly
    SQL> select count(distinct stg.id2) from outer_tab stg,
      2  inner_tab bom
      3  where bom.id1=stg.id1
      4  /
    Execution Plan
       0      SELECT STATEMENT Optimizer=ALL_ROWS (Cost=13 Card=1 Bytes=39
       1    0   SORT (GROUP BY)
       2    1     HASH JOIN (Cost=13 Card=1000000 Bytes=39000000)
       3    2       TABLE ACCESS (FULL) OF 'INNER_TAB' (TABLE) (Cost=6 Car
              d=10000 Bytes=130000)
       4    2       TABLE ACCESS (FULL) OF 'OUTER_TAB' (TABLE) (Cost=6 Car
              d=10000 Bytes=260000)
    Statistics
              0  recursive calls
              0  db block gets
             46  consistent gets
              0  physical reads
              0  redo size
            407  bytes sent via SQL*Net to client
            508  bytes received via SQL*Net from client
              2  SQL*Net roundtrips to/from client
              1  sorts (memory)
              0  sorts (disk)
              1  rows processed
    SQL> select count(distinct id2) from outer_tab stg
      2  where EXISTS (select 'x' from inner_tab bom
      3  where bom.id1=stg.id1)
      4  /
    Execution Plan
       0      SELECT STATEMENT Optimizer=ALL_ROWS (Cost=13 Card=1 Bytes=39
       1    0   SORT (GROUP BY)
       2    1     HASH JOIN (RIGHT SEMI) (Cost=13 Card=10000 Bytes=390000)
       3    2       TABLE ACCESS (FULL) OF 'INNER_TAB' (TABLE) (Cost=6 Car
              d=10000 Bytes=130000)
       4    2       TABLE ACCESS (FULL) OF 'OUTER_TAB' (TABLE) (Cost=6 Car
              d=10000 Bytes=260000)
    Statistics
              0  recursive calls
              0  db block gets
             46  consistent gets
              0  physical reads
              0  redo size
            403  bytes sent via SQL*Net to client
            508  bytes received via SQL*Net from client
              2  SQL*Net roundtrips to/from client
              1  sorts (memory)
              0  sorts (disk)
              1  rows processedRgds.

  • Diff between at line selection and HIDE technique

    hi all,
           wht is the diff between at-line-selection and HIDE technique.
            wht r code instructor
            wht is extended testing
            how can we find selected error records in session                          method ex:-if there r errors in 4th 9th 13th record.
    tthnx in advance

    HIDE
    Syntax
    HIDE dobj.
    Effect
    This statement stores - in the current list level - the content of the variable dobj together with the current list line whose line number is contained in sy-linno. The data type of the variables dobj must be flat and no field symbols can be specified that point to rows of internal tables, and no class attributes can be specified. The stored values can be read as follows:
    For each user action in a displayed screen list that leads to a list result, all the row values stored using HIDE - that is, the row on which the screen cursor is positioned at the time of the event - are assigned to the respective variables.
    If a list row of an arbitrary list level is read or modified using the statements READ LINE or MODIFY LINE, all the values of this row stored using HIDE are assigned to the respective variables.
    Notes
    The HIDE statement works independently of whether the list cursor was set. In particular, variables for empty list rows can be stored - that is, rows in which the list cursor was positioned using statements like SKIP.
    The HIDE statement should be executed immediately at the statement that has set the list cursor in the row.
    Outside of classes, constants and literals that cannot be read in list results and in the statement READ LINE can be specified for dobj outside of classes.
    Example
    Storing square numbers and cubic numbers for a list of numbers. The example shows that arbitrary variables can be stored independently of row content. In the real situation, one would more likely store only the number and execute the calculation, when required, in the the event block for AT LINE-SELECTION.
    REPORT ...
    DATA: square TYPE i,
          cube   TYPE i.
    START-OF-SELECTION.
      FORMAT HOTSPOT.
      DO 10 TIMES.
        square = sy-index ** 2.
        cube   = sy-index ** 3.
        WRITE / sy-index.
        HIDE: square, cube.
      ENDDO.
    AT LINE-SELECTION.
      WRITE: square, cube.
    AT LINE-SELECTION
    Syntax
    AT LINE-SELECTION.
    Effect
    This statement defines an event block whose event is triggered by the ABAP runtime environment during the display of a screen list - provided the scren cursor is on a list line and you select a function using the function code PICK. Through the definition of this event block, the standard list status is automatically enhanced in such a way that the function code F2 and, with it, the double-click mouse function is linked up to the function code PICK.
    Note
    If the function key F2 is linked with a function code different than PICK, each double click will trigger its even, usually AT USER-COMMAND, and not AT LINE-SELECTION.
    Example
    This program works with the standard list status. A line selection with the left mouse key causes the event AT LINE-SELECTION and creates details lists.
    REPORT demo_at_line_selection.
    START-OF-SELECTION.
      WRITE 'Click me!' COLOR = 5 HOTSPOT.
    AT LINE-SELECTION.
      WRITE: / 'You clicked list', sy-listi,
             / 'You are on list',  sy-lsind.
      IF sy-lsind < 20.
        SKIP.
        WRITE: 'More ...' COLOR = 5 HOTSPOT.
      ENDIF.
    Thanks,

  • What is the diff between sd userexits compared to other userexits

    hi all,
    can anybody tell the diff between  sd userexits compared to other userexits
    thanks and regards
    sareen

    Hi
    In some of the SD Transactions, Some user exits were default provided in the STd program of that transaction for example Sales order program SAPMV45A has provided with MV45AFZZ and in that you can write most of your user exits
    similarly the Delivery Std Program SAPMV50A also has this type of facility
    apartfrom these exits these transactions also have other exits which we create/using CMOD/SMOD tcodes
    User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a function module. The code for the function module is written by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module.
    The naming standard of function modules for functionmodule exits is:
    EXIT_<program name><3 digit suffix>
    The call to a functionmodule exit is implemented as:
    CALL CUSTOMER.-FUNCTION <3 digit suffix>
    To find a Exit.
    Goto Transaction -- Find The Package
    SMOD >f4>Use the Package here to Find the Exits In the Package.
    Else if you Want to search by Application Area wise ,
    There is one more tab to find the Exits in the Respective Application Area.
    Implementing the Exit-- CMOD Create ProjectsAssgn your Component .
    Now Run ur Transaction to Check if it Triggers.
    Thats it..
    Suppose you need to find out all the user exits related to a tcode.
    1. Execute the Tcode.
    2. Open the SAP program.
    3. Get the Development Class.
    4. Execute Tcode SE84.
    5. Open the Node 'Envir. -> Exit Techniques -> 'Customer Exits -> Enhancements'
    6. Enter the Development class and execute.
    Check out this thread..
    The specified item was not found.
    1. Type the transaction : system->status-> <PROG. NAME>
    2 open SE37 , type EXIT<PROG NAME> and press F4 to get the list of function exits available.
    3. Open CMOD utilities->SAP enhancements
    EDIT->All selections
    4.type the function module name obtained in step 2, in fields 'component name' in 'additional selections' block. and execute.
    5. The displayed list contains the enhancements names for the transaction You were looking for.
    6. Create a project in CMOD and the code in default include->activate.
    http://www.erpgenie.com/sap/abap/code/abap26.htm
    which gives the list of exits for a tcode
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec079f5db911d295ae0000e82de14a/frameset.htm
    For information on Exits, check these links
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    http://www.planetsap.com/userexit_main_page.htm
    User-Exits
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/ab038.htm
    http://www.planetsap.com/userexit_main_page.htm
    http://www.sap-basis-abap.com/sapab013.htm
    http://sap.ittoolbox.com/documents/popular-q-and-a/user-exits-for-the-transaction-code-migo-3283
    These links will help you to learn more on user exits.
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
    http://www.planetsap.com/userexit_main_page.htm
    http://www.allsaplinks.com/user_exit.html
    www.sap-img.com/abap/what-is-user-exits.htm
    Also please check these threads for more details about user exits.
    Re: Screen exit
    user exit and customer exit
    user exit
    1. Document on UserExits in FI/CO
    http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc
    2. Finding User Exits...
    http://sap.ionelburlacu.ro/abap/sap2/Other_Useful_Tips.html#Finding_User_Exits
    3. List of all User Exits...
    http://www.planetsap.com/userexit_main_page.htm
    <b>Reward points for useful Answers</b>
    Regards
    Anji

  • How can I make a server differ between two or more clients?

    How can I make a server differ between two or more clients?
    The clients can connect and talk to the server fine, but how can I make the server talk to one, two or all clients? i.e. what would be a good way to implement this?
    Currently, the server listens for connections like this:
    while (listening) {
    try {
    new ServerThread(this, serverSocket.accept()).start();
    I guess one way would be to add the ServerThreads to a Hashtable with the client ID as key, and then get the ServerThread with the proper client ID, but this seems unnecessary complicated. Any ideas?

    Complicated was perhaps the wrong word, I should have
    written something like it doesn't "feel" right. Or is
    this a common and good way to solve communication
    between a server and multiple clients?Thats pretty much how I do it. I normally use an array or ArrayList of Sockets instead of HashTable, with [0] being the first player etc.... Then you can communicate with exactly who you want. If you want to send bytes to all of them, just send the same thing to each socket individually (or is there a better way to do this?).

  • What are the Major and Minor Diffs between oracle,sql server,MSAccess

    Hi all,
    Can any one explain or send me all the diff between
    oracle ,sql server,access..like how much data can each
    support,...
    Thanks

    Dear sir,
    here it is.
    http://www.oracle.com/database/product_editions.html

  • In LSMW, what is diff between LSMW-BAPI and LSMW-IDOC

    hello all
    In LSMW, what is diff between LSMW-BAPI and LSMW-IDOC

    Hi Swamy,
    The differences between IDoc and BAPI are as follows: 
    IDOC
    IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system.
    Idocs are processed asynchronously and no information whatsoever is returned to the client.
    The target system need not be always online. The IDOC would be created and would send the IDOC once the target system is available (tRFC concept). Hence supports guaranteed delivery.
    With asynchronous links the sub-process on the client can be finished even if the communication line or the server is not available. In this case the message is stored in the database and the communication can be done later.
    The disadvantage of asynchronous links is that the sub-process on the server cannot return information to the calling sub-process on the client. A special way for sending information back to the client is required. In addition, a special error handling mechanism is required to handle errors on the receiving side.
    IDOCs may be more changeable from release to release.
    IDOCs  are poorly documented.
    BAPI
    BAPIs are a subset of the RFC-enabled function modules, especially designed as Application Programming Interface (API) to the SAP business object, or in other words: are function modules officially released by SAP to be called from external programs.
    BAPIs are called synchronously and (usually) return information.
    For BAPIs the client code needs to do the appropriate error handling.
    Problems with synchronous links occur if the communication line or the server is temporarily not available. If this happens, the sub-process on the client cannot be finished (otherwise there would be data inconsistencies).
    Synchronous links have the advantage that the sub-process on the server can return values to the sub-process on the client that has started the link.
    BAPIs are not totally immune to upgrades.
    BAPIs are reasonably well documented.
    Reward points if useful.
    Best Regards,
    Sekhar

  • Diff between programme BBP_GET_STATUS_2  & CLEAN_REQREQ_UP in SRM7.0

    Hi Experts ,
    We have ECC6.04 with SRM 7.0 with Classic Scenarion
    I am confused over exactly what BBP_GET_STATUS_2  do in SRM ?
    I believe CLEAN_REQREQ_UP  update the SC with follow on document i..e Classic PO....
    and BBP_GET_STATUS_2  update the entries in BBP_DOCUMENT_TAB..but not getting exactly what is does..since if we change qty in Classic Po ..it automatically updates automatically  in SC follow on document...if we Craete GR in ECC it updates automatically  in SC follow on document...
    Can anyone please suggest me exactly what BBP_GET_STATUS_2  do in SRM  ( what is exact  diff between both )?
    Thanks
    NAP

    Hello,
    Report : BBP_GET_STATUS_2
    Function : This reports updates the  requirement coverage requests (Shopping carts) to ensure that information on the status of backedn purchase requisitions, purchase orders, and reservations is up-to-date.
    You should schedule this report to run daily in the SRM server system.
    Report : CLEAN_REQREQ_UP
    Function : Interval for update check.
    Updating of documents (purchase requisitions, purchase orders, reservations) is executed asynchronously in the backend system. You can only process the requirement coverage request in the SRM server system further after the update has been carried out. At the interval defined by you in Customizing, the system checks whether the documents have been updated and thus if you can further process the requirement coverage request.You should schedule this report periodically.
    Hope this helps.
    Best Regards,
    Rahul

Maybe you are looking for

  • 2 hours of video?

    my question is sorta simple. if i want to get 2hours of video on a dvd what settings should i use. what video rate, and should it be 2pass VBR or what, and what about the audio. can i do it all from DVDSP or do i need to use compressor and Apack befo

  • Purchase Requisition release WF with multi-level release strategy

    Since it has been "a while" from my WF course and i lack experience with WF's (this is supposed to be the 1st one i implement, finally)... The problem I'm facing is really in planning phase of sketching up how my scenario should look like. I have to

  • OAF: Deployment / NoClassDefFoundError

    Hi, Today I deployed a new page to our test environment (OA_TEST). Upon running my page I got the following exception: java.lang.NoClassDefFoundError: oracle/jdeveloper/webservices/runtime/WrappedDocLiteralStub In jDeveloper I had no problems running

  • Is it necessary to use Bing with Firefox

    I thought I was downloading Mozilla Firefox but instead Bing is the home page that comes up and wondering why? I don't want to use Bing if at all possible.

  • Creative Suite won't work anymore!

    Why won't my creative suite work anymore since I have upgraded my Mac system? I used it all the time. I cannot afford to buy more softward. I am a Senior and also a teacher. How can I use my Photoshop CS. It won't even open or give me a message.