Can have multiple threads of execution whith SDK??

hi,
can  i pause the execution of record and continue it when i want??
thanks

Hi Teun;
this is my code to add a BusinessPartners. see how I can pause the execution until I get a value from another form; how can do it???
If BusinessObjectInfo.EventType = SAPbouiCOM.BoEventTypes.et_FORM_DATA_ADD And
BusinessObjectInfo.BeforeAction = True Then
BP = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners)
BP.Browser.GetByKeys( BusinessObjectInfo.ObjectKey )//open Form1
oXmlDoc.Load(NameForm)
creationPackage = SBO_Application.CreateObject (SAPbouiCOM.BoCreatableObjectType.cot_FormCreationParams)
creationPackage.XmlData = oXmlDoc.InnerXml
oForm1 = SBO_Application.Forms.AddEx(creationPackage)
dim Class as NewClass = new (oForm1 ,BP)
// PAUSE. I Dont want to add this record until the Form1 get me a value.
// This value I have to selected from a Grid on the Form1,
// so until I select it I can't continue with the execution,
// because I need to assign the value to the BusinessPartners. how can do it???
// assign to the IC the Value
IC.UserFields.Fields().Item("UserField").Value = Class.Value
End if
Please, help me.Thanks

Similar Messages

  • A person can have multiple assignments as an employee.

    I'm interested for the architecture using 2 PERNR.
    A person can have multiple assignments as an employee. To make a distinction between employment relationships (employees = 0EMPLOYEE) and real people (0PERSON), the person is an attribute of the employee.
    Why "multiple assignments"? for what?

    Hi Konstantin,
    This may be the case in concurrent employment.
    Please check:
    http://help.sap.com/saphelp_47x200/helpdata/en/31/39de77c15c5043b0b420b60a89e4db/content.htm
    In general, when an employee has two personnel assignments, we generally create two separate positions and assign the same personnel numbers to these positions, percentage of which assignment not be more than 100%.
    However, if according to customer policy, a real person is to be paid/benefits are arranged differently based on the personel assignment he/she is holding, then you will need two separate employee numbers. In the end, however, there is only one physical person so you will maintain this information using 0PERSON characteristic.
    Regards,
    Dilek

  • How can I shut off spaces so I can have multiple windows on my desktop, how can I shut off spaces so I can have multiple windows on my desktop

    How can I shut off spaces so I can have multiple windows open on my desktop?

    Hi,
    Section #2 of the Printer Ststus report will tell you. Please try:
    Printer status report
    Use the printer status report to view current printer information and ink cartridge status. Also use the printer status report to help you troubleshoot problems with the printer.
    The printer status report also contains a log of recent events.
    If you need to call HP, it is often useful to print the printer status report before calling.
    To print the Printer Status Report
    1. From the printer control panel display, touch and slide your finger across the screen and then touch Setup.
    2. Touch Print Reports and then touch Printer Status Report.
    Regards.
    BH
    **Click the KUDOS thumb up on the left to say 'Thanks'**
    Make it easier for other people to find solutions by marking a Reply 'Accept as Solution' if it solves your problem.

  • Example when a page can have multiple AMs and multiple Controllers

    Hi All
    Can you please let me know one practical scenario where a page can have multiple AMs. Also in which scenario a page needs to have multiple conrollers ?
    One last question : i know vo.getFetchedRowCount() will not hit the database again and vo.getRowCount() will hit database everytime. Could you please let me know one example scenario where both these methods will return different values. Thanks in advance

    One last question : i know vo.getFetchedRowCount() will not hit the database again and vo.getRowCount() will hit database everytime. Could you please let me know one example scenario where both these methods will return different values.
    In advance tables, you have Create New Row functionality.
    Suppose page loaded with 5 rows fetched from the database. Now in the table you created 5 more rows. Now
    vo.getFetchedRowCount() will return 10 and vo.getRowCount() will return 5

  • Can one Condition type can have multiple access sequence?

    hi,
    Can one Condition type can have multiple access sequence?

    Hello,
    You can have one access sequence for condition type, but an access sequence can have more than one accesses.
    Prase

  • Suddenly I can open only one Firefox window at a time. I can have multiple tabs in that window, but I can suddenly no longer open another window. What happened?

    Suddenly I can open only one Firefox window at a time. I can have multiple tabs in that window, but I can suddenly no longer open another window. What happened?

    Start Firefox in <u>[[Safe Mode]]</u> to check if one of the extensions or if hardware acceleration is causing the problem (switch to the DEFAULT theme: Firefox/Tools > Add-ons > Appearance/Themes).
    *Don't make any changes on the Safe mode start window.
    *https://support.mozilla.org/kb/Safe+Mode
    *https://support.mozilla.org/kb/Troubleshooting+extensions+and+themes

  • Iphone 5c, i cannot open emails that have multiple threads?

    I can open some of my email in my outlook account, however I cannot open an email that is part of a conversation with multiple threads?  Any help is appreciated!

    normally this means you are not or cannot connect to Apple server. Usually this is from a line in your Hosts file directing traffic away from the Apple server.
    Open your Host file using Notepad and see if you have a line that reads gs.apple.com if you do you will need to remove this line and you will be able to Restore after.
    You can Google or YouTube "how to edit host file" for help.

  • Can SO/Line item can have multiple delivery items

    Folks
    For ex, there is a SO with 2 lines items. Item 10, 20  required qty are 5,10 respectively
    1. Can SO have multiple delivery documents?
    2. Can each SO line item can have more than oen delivery documents?
    what parameter drives the delivery document and SO/Line combination?
    Thanks

    1. Can SO have multiple delivery documents?
    Yes , it is possible.
    2. Can each SO line item can have more than oen delivery documents?
    Yes .
    what parameter drives the delivery document and SO/Line combination?
    It is drives from parameter "Max. partial deliveries" that you define in Customer master (VD03) and schedule line in sales order.
    Also off course on manual delivery creation (VL01n); for how many quantities you create delivery.
    If you have  customer material info record (VD51) there you can also define "Max. partial deliveries"  , it get preference over customer  master.
    Manish

  • BW can have multiple client?

    Hello Experts,
    is it possible to have multiple client for the BW System?
    if yes please guide me in creating the one more client to our BW System. ( BW 3.0B).
    and also give information about setting i want to ensure before creating client.
    thanks in advance.
    VHE.

    Hello Vishwanath,
    You can not work with multiple clients in BW.
    OSS note 522569 gives the following explanation regarding the same.
    In BW, master data IDs and dimension IDs are taken from number ranges. The BW objects against which the number range intervals are client-specific are cross-client objects. As the IDs must be unique, these may only be determined in one client. This means that BW can only operate in one client.
    The BW objects are cross-client. They can be accessed and changed to the same extent in all clients. BW is displayed identically in all clients. In particular, there is only one Myself source system as this is used to generate the change log for ODS objects. Therefore, when the Administrator Workbench is started, the system checks to see whether you are working in the same client in which the Myself source system was created.
    Regards,
    Praveen

  • Options for modeling massterdata attributes which can have multiple values

    Hallo All BW Experts!
      here is a modelling requirement which i find quite interesting and challenging.
       How can we use attributes for a masterdata  which can have  multiplevalues. Currently these kind of attributes are stored in seperate ODS. One example for such a requirement might be the Busines Partner groupes. Each Business partner can be in more than one group.
      my  question is , How can we modell such kind of masterdata model which enables us to use these attributes for restrictions in reporting from various independent infoproviders. Main problem is due to the condition that the no of such groups per each user is not fixed and can be changed in runtime.
    any suggession will be rewarded.
    with regards
    ashwin

    Hi Arun!
      Is there any possiblily to create such a model in BW which   is flexible. One option might be to use a heirarchy. Actually the requirement looks like this. We must be able to analyse all  businesspartner data and with that data we will be able to group the customers into various target groups. now we want to anyalyse  the performance of such target grouops in past time.
    to be simple
    1) it is possible to create customer groups based on masterdata charecteristics.(there is lot of facilitiey available in BW3.5 and more in 7.0 for this) this is very dynamic
    2) Now is it in anyway possible to analayse the performance of such a group. I think currently heirarchies serve such purpose but small limitation in SAP is that they must not contain more than 100000 records otherwise the performance is siverly limited.
    any suggestion
    with regards
    ashwin

  • Hi,is  a rtmfp connection can have multiple netgroup or netStream?

    I connect to cirrus only one connection.Then I creat multiple netgroup with this connection.Whether to support?
    will be conflict between multiple netgroup?or must creat multiple connection?

    you can create multiple NetGroups and NetStreams on one NetConnection.
    Cirrus will only bootstrap 16 groups per NetConnection.

  • Can a profileId can have multiple incomplete orders ?

    Is this valid,a profileId having multiple incomplete orders? Or is there any constraint that a profileId should point to only one incomplete order.

    Is this valid,a profileId having multiple incomplete orders?It is possible for an abandoned order. An incomplete order which remains idle for a specific time duration becomes an abandoned order. That duration is a configurable property in abandoned order service and I think default is 7 days. Further, an abandoned order becomes a lost order when it remains idle over extended period of time again controlled through a property in abandoned order service.
    ATG's abandoned order service extends the user profile definition by adding an additional item descriptor named abandoned-order and 2 properties to the user item descriptor:
    1. abandonedOrders: a multi type property containing collection of abandoned-order items currently associated with the user.
    2. abandonedOrderCount: a derived property which gives the number of items in the abandonedOrders property.
    You can find it in <ATG>/DCS/AbandonedOrderServices/config/atg/userprofiling/userProfile.xml

  • Blackberry Desktop can have multiple account?

    Thanks for taking time to read this,
    I got a blackberry curve 9300 and he's connected with the pc.
    Recently a friend gave me his playbook ( i will have to gave it back later ) His blackberry id constantly pop up and it's annoying! I wonder if I log the tablet in my pc to backup his files then wipe off the tablet I will put my blackberry id instead. Later when I have to give it back will i be able to restore his file by wipe it again ?
    And is the blackberry desktop will mess up with users?

    Hello vivodmrs,
    Welcome to the BlackBerry Support Community.
    Please refer to the following article on how to change the BlackBerry ID on a BlackBerry PlayBook tablet or BlackBerry smartphone:
    http://bbry.lv/L0U5QX
    Thank you.
    -FB
    Come follow your BlackBerry Technical Team on Twitter! @BlackBerryHelp
    Be sure to click Kudos! for those who have helped you.
    Click "Accept as a Solution" for posts that have solved your issue(s)!

  • Can one instance have multiple redo threads ?

    i was reading the Oracle Data guard 10g guide and it says
    Determine the appropriate number of standby redo log file groups.
    Minimally, the configuration should have one more standby redo log file group than the number of online redo log file groups on the primary database. However, the recommended number of standby redo log file groups is dependent on the number of threads on the primary database. Use the following equation to determine an appropriate number of standby redo log file groups:
    (maximum number of logfiles for each thread + 1) * maximum number of threads
    Using this equation reduces the likelihood that the primary instance's log writer (LGWR) process will be blocked because a standby redo log file cannot be allocated on the standby database. For example, if the primary database has 2 log files for each thread and 2 threads, then 6 standby redo log file groups are needed on the standby database
    while Oracle's definition of redo log states the following
    Redo Threads
    When speaking in the context of multiple database instances, the redo log for each database instance is also referred to as a redo thread. In typical configurations, only one database instance accesses an Oracle Database, so only one thread is present. In an Oracle Real Application Clusters environment, however, two or more instances concurrently access a single database and each instance has its own thread of redo.
    this is confusing, in a typical environment where only one instance accesses a database, can we have more than one redo thread ?

    Though you can create multiple threads but of no use in NON-RAC or non-parallel server configuration.
    Following is the generic formula. You should consider
    maximum number of threads = 1 for single instance (NON-RAC).
    (maximum number of logfiles for each thread + 1) * maximum number of threads
    Message was edited by:
    Reega

  • Can multiple threads write to the database?

    I am a little confused from the statement in the documentation: "Berkeley DB Data Store does not support locking, and hence does not guarantee correct behavior if more than one thread of control is updating the database at a time."
    1. Can multiple threads write to the "Simple Data Store"?
    2. Considering the sample code below which writes to the DB using 5 threads - is there a possibility of data loss?
    3. If the code will cause data loss, will adding DB_INIT_LOCK and/or DB_INIT_TXN in DBENV->open make any difference?
    #include "stdafx.h"
    #include <stdio.h>
    #include <windows.h>
    #include <db.h>
    static DB *db = NULL;
    static DB_ENV *dbEnv = NULL;
    DWORD WINAPI th_write(LPVOID lpParam)
    DBT key, data;
    char key_buff[32], data_buff[32];
    DWORD i;
    printf("thread(%s) - start\n", lpParam);
    for (i = 0; i < 200; ++i)
    memset(&key, 0, sizeof(key));
    memset(&data, 0, sizeof(data));
    sprintf(key_buff, "K:%s", lpParam);
    sprintf(data_buff, "D:%s:%8d", lpParam, i);
    key.data = key_buff;
    key.size = strlen(key_buff);
    data.data = data_buff;
    data.size = strlen(data_buff);
    db->put(db, NULL, &key, &data, 0);
    Sleep(5);
    printf("thread(%s) - End\n", lpParam);
    return 0;
    int main()
    db_env_create(&dbEnv, 0);
    dbEnv->open(dbEnv, NULL, DB_CREATE | DB_INIT_MPOOL | DB_THREAD, 0);
    db_create(&db, dbEnv, 0);
    db->open(db, NULL, "test.db", NULL, DB_BTREE, DB_CREATE, 0);
    CreateThread(NULL, 0, th_write, "A", 0, 0);
    CreateThread(NULL, 0, th_write, "B", 0, 0);
    CreateThread(NULL, 0, th_write, "B", 0, 0);
    CreateThread(NULL, 0, th_write, "C", 0, 0);
    th_write("C");
    Sleep(2000);
    }

    Here some clarification about BDB Lock and Multi threads behavior
    Question 1. Can multiple threads write to the "Simple Data Store"?
    Answer 1.
    Please Refer to http://docs.oracle.com/cd/E17076_02/html/programmer_reference/intro_products.html
    A Data Store (DS) set up
    (so not using an environment or using one, but without any of the DB_INIT_LOCK, DB_INIT_TXN, DB_INIT_LOG environment regions related flags specified
    each corresponding to the appropriate subsystem, locking, transaction, logging)
    will not guard against data corruption due to accessing the same database page and overwriting the same records, corrupting the internal structure of the database etc.
    (note that in the case of the Btree, Hash and Recno access methods we lock at the database page level, only for the Queue access method we lock at record level)
    So,
    if You want to have multiple threads in the application writing concurrently or in parallel to the same database You need to use locking (and properly handle any potential deadlocks),
    otherwise You risk corrupting the data itself or the database (its internal structure).
    Of course , If You serialize at the application level the access to the database, so that no more one threads writes to the database at a time, there will be no need for locking.
    But obviously this is likely not the behavior You want.
    Hence, You need to use either a CDS (Concurrent Data Store) or TDS (Transactional Data Store) set up.
    See the table comparing the various set ups, here: http://docs.oracle.com/cd/E17076_02/html/programmer_reference/intro_products.html
    Berkeley DB Data Store
    The Berkeley DB Data Store product is an embeddable, high-performance data store. This product supports multiple concurrent threads of control, including multiple processes and multiple threads of control within a process. However, Berkeley DB Data Store does not support locking, and hence does not guarantee correct behavior if more than one thread of control is updating the database at a time. The Berkeley DB Data Store is intended for use in read-only applications or applications which can guarantee no more than one thread of control updates the database at a time.
    Berkeley DB Concurrent Data Store
    The Berkeley DB Concurrent Data Store product adds multiple-reader, single writer capabilities to the Berkeley DB Data Store product. This product provides built-in concurrency and locking feature. Berkeley DB Concurrent Data Store is intended for applications that need support for concurrent updates to a database that is largely used for reading.
    Berkeley DB Transactional Data Store
    The Berkeley DB Transactional Data Store product adds support for transactions and database recovery. Berkeley DB Transactional Data Store is intended for applications that require industrial-strength database services, including excellent performance under high-concurrency workloads of read and write operations, the ability to commit or roll back multiple changes to the database at a single instant, and the guarantee that in the event of a catastrophic system or hardware failure, all committed database changes are preserved.
    So, clearly DS is not a solution for this case, where multiple threads need to write simultaneously to the database.
    CDS (Concurrent Data Store) provides locking features, but only for multiple-reader/single-writer scenarios. You use CDS when you specify the DB_INIT_CDB flag when opening the BDB environment: http://docs.oracle.com/cd/E17076_02/html/api_reference/C/envopen.html#envopen_DB_INIT_CDB
    TDS (Transactional Data Store) provides locking features, adds complete ACID support for transactions and offers recoverability guarantees. You use TDS when you specify the DB_INIT_TXN and DB_INIT_LOG flags when opening the environment. To have locking support, you would need to also specify the DB_INIT_LOCK flag.
    Now, since the requirement is to have multiple writers (multi-threaded writes to the database),
    then TDS would be the way to go (CDS is useful only in single-writer scenarios, when there are no needs for recoverability).
    To Summarize
    The best way to have an understanding of what set up is needed, it is to answer the following questions:
    - What is the data access scenario? Is it multiple writer threads? Will the writers access the database simultaneously?
    - Are recoverability/data durability, atomicity of operations and data isolation important for the application? http://docs.oracle.com/cd/E17076_02/html/programmer_reference/transapp_why.html
    If the answers are yes, then TDS should be used, and the environment should be opened like this:
    dbEnv->open(dbEnv, ENV_HOME, DB_CREATE | DB_INIT_MPOOL | DB_INIT_LOCK | DB_INIT_TXN | DB_INIT_LOG | DB_RECOVER | DB_THREAD, 0);
    (where ENV_HOME is the filesystem directory where the BDB environment will be created)
    Question 2. Considering the sample code below which writes to the DB using 5 threads - is there a possibility of data loss?
    Answer 2.
    Definitely yes, You can see data loss and/or data corruption.
    You can check the behavior of your testcase in the following way
    1. Run your testcase
    2.After the program exits
    run db_verify to verify the database (db_verify -o test.db).
    You will likely see db_verify complaining, unless the thread scheduler on Windows weirdly starts each thread one after the other,
    IOW no two or ore threads write to the database at the same time -- kind of serializing the writes
    Question 3. If the code will cause data loss, will adding DB_INIT_LOCK and/or DB_INIT_TXN in DBENV->open make any difference?
    Answer 3.
    In Your case the TDS should be used, and the environment should be opened like this:
    dbEnv->open(dbEnv, ENV_HOME, DB_CREATE | DB_INIT_MPOOL | DB_INIT_LOCK | DB_INIT_TXN | DB_INIT_LOG | DB_RECOVER | DB_THREAD, 0);
    (where ENV_HOME is the filesystem directory where the BDB environment will be created)
    doing this You have proper deadlock handling in place and proper transaction usage
    so
    You are protected against potential data corruption/data loss.
    see http://docs.oracle.com/cd/E17076_02/html/gsg_txn/C/BerkeleyDB-Core-C-Txn.pdf
    Multi-threaded and Multi-process Applications
    DB is designed to support multi-threaded and multi-process applications, but their usage
    means you must pay careful attention to issues of concurrency. Transactions help your
    application's concurrency by providing various levels of isolation for your threads of control. In
    addition, DB provides mechanisms that allow you to detect and respond to deadlocks.
    Isolation means that database modifications made by one transaction will not normally be
    seen by readers from another transaction until the first commits its changes. Different threads
    use different transaction handles, so this mechanism is normally used to provide isolation
    between database operations performed by different threads.
    Note that DB supports different isolation levels. For example, you can configure your
    application to see uncommitted reads, which means that one transaction can see data that
    has been modified but not yet committed by another transaction. Doing this might mean
    your transaction reads data "dirtied" by another transaction, but which subsequently might
    change before that other transaction commits its changes. On the other hand, lowering your
    isolation requirements means that your application can experience improved throughput due
    to reduced lock contention.
    For more information on concurrency, on managing isolation levels, and on deadlock
    detection, see Concurrency (page 32).

Maybe you are looking for