Extending DataFinder to include Non-Data Entries and Relationships Between Entries

I am trying to create custom data centralization and management software for our lab with DataFinder Toolkit.  In addition to storing data from data acquisitions, I want to be able to store additional information with the data such as images, pdf files, word documents that can be easily accessed after finding the data.  My current idea is to handle external files by storing the filepath in a property of an object vs trying to store the data itself in the datafinder database.  My code would know how to open these files so the user can see them with external software or a custom labview app.
I also want to be able to store non-data objects such as an object that describes a piece of test equipment or a sample through properties and external files.  Images and documents are again important here.  And then create relationships through unique barcoded IDs that are a property in the datafinder entry.  So not only could I look at the data, I could find information about the samples and lab equipment. Or anything else we think needs to be saved.
The code I am writing around DataFinder would be in charge of maintaining the unique IDs and know how the relationships between those IDs work to generate the proper queries. Like a 'Get Test Equipment Used' button next to a search result.
For the external non-data objects I was going to use Labview code to create a file with all the information about the object (unique ID, properties and external file paths) and create a plug-in so the datafinder will index the file and make it searchable.
Does this seem reasonable? I like the idea of working with one system and having everything update based on adding, deleting and modifying files in a folder. Also, I like the idea of not splitting the data management up into multiple technologies and having to make those work together.
Solved!
Go to Solution.

From the description, you've given the system seems plausible. The non-data elements you discussed when broken down are just additional data to associate with an object.  Storing file paths seems plausible as done in the community example below:
Execute String/Numeric Querry Using Data Finder Toolkit
https://decibel.ni.com/content/docs/DOC-10631
Regards,
Isaac S.
Regards,
Isaac S.
Applications Engineer
National Instruments

Similar Messages

  • Data model - is tables and relationships between them are graph or tree

    Hello
    I want to ask if tables in database are nodes of graph what should this graph looks like - like real graph (with
    cycles) or tree ?
    Let the tables are nodes of graph and the relationships between the tables are edges in the graph.
    10x all
    Edited by: user10860289 on Apr 2, 2009 1:37 PM
    Edited by: user10860289 on Apr 2, 2009 1:37 PM
    Edited by: user10860289 on Apr 2, 2009 1:39 PM
    Edited by: user10860289 on Apr 2, 2009 2:04 PM

    You can put the \ tag before and after text to preserve white space.  That likely makes things easier to read if you're trying to post ASCII graphs.
    I wouldn't hesitate to use the proper set of tables and relationships for the entities I was trying to model.  Would I be concerned if my data model were full of loops?  Sure, that might cause me to double-check that I hadn't done something silly.  Would I be concerned if my data model had a loop if that was the best way to model something?  Not at all.
    There is no theoretical answer because the quality of a data model has nothing to do with whether it is more tree-like or more graph-like. 
    Justin                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • I have created a database, what is data structure and relationship?

    I have a database.
    I have 4 tables.
    Employee table
    Project Table
    Sales order table
    Customer table
    ================================
    SalesOrderId is unique
    EmploeeId Is unique
    CustomerID is unique
    ProjectId is unique
    What would be the relationship for these tables?
    Should I create 5th table that has salesOrderID and ProjectID and the primary key is the combination of salesOrderId and ProjectId?
    Is the whole process correct?
    Regards,
    GGGGGNNNNN
    GGGGGNNNNN

    . IDENTITY is never part of a valid data model and certainly not  a key.
    Identity can be a primary key, can't it be?
    It can be. What Celko is trying to say is that IDENTITY is not a good choice for a key. Unfortunately, he is sitting in an ivory tower and does not have very good ideas of real-world systems.
    More generally, when you design a database, you may decide to introduce a
    surrogate key in your tables. That is, a key which is not drawn from the data, but just generated in the system. Ideally, you should still have a real key in the data. The reason you would use the surrogate key is that the real key may be difficult to
    work with, for instance it is a long string or consists of many components.
    In practice, far from all entities can (easily) be described with a natural key, why the surrogate key is the only one you will have. However, you should always strive for finding a natural key, and not slap on IDENTITY as a matter of routine. For instance,
    say that you have a table called ProductCategories which defines which categories a product belongs to, that table should have a two-column of ProductID and CategoryID, and there should not be any IDENTITY column in that table.
    Generally, when I see people post a table table definition with an IDENTITY column and all other columns nullable, I know that they have not put in enough thought to their data-modelling.
    And, no, surrogate key != IDENTITY. IDENTITY is one way to implement surrogate keys, but you can also use guids, sequences (in SQL 2012 and up) or roll your own. Since IDENTITY incurs some limitations, you may want to avoid it. Sequences are cleaner and
    you don't have the same limitations. And rolling your own works very well, as long as you don't expect a high level of parallel inserts, which is what IDENTITY and sequences really are aimed for.
    We never put audit data in the table under audit. It is not just silly, it is illegal.
    What do you mean?
    Again, Celko is out of touch with reality. It may be illegal in Texas where he is sitting but not where you and I are sitting. It may also be illegal if the auditing is made for legal reasons. Obviously, if the auditing is mainly done to facilitate troubleshooting,
    your local law-enforcing authorities could not care less.
    Erland Sommarskog, SQL Server MVP, [email protected]

  • How to create tables and relationship between ?

    Hello everybody,<o:p></o:p>
    I have three table with structures as follow:<o:p></o:p>
    <o:p> </o:p>
    Table1
    contains information on ledger accounts,and
    Table2 contains Groups of the detailed
    accounts.
    When defining ledger
    accounts , we must associated them with
    groups of detailed accountsthat
    are
    set
    by the
    Check
    boxes. groups of detailed accounts are three
    levels, At each level, there are fifteen
    groups as follow:
    1_others ,2_People ,3_companies ,4_
    Cost centers ,5_projects ,6_
    Letter of Credits ,7_ Current
    Accounts ,8_
    Banking facilities ,9_
    Commodity ,10_ Branches
    aggregation ,11_ Purchase
    Contract
    Services ,12_
    Sales Contract
    Services ,13_
    Export Products ,14_
    Control account ,15_
    Months.Table3 contains detailed accounts information that should associated with groups of detailed accounts(fifiteen groups).
    In addition, we
    have in our program four combobox,
    detailed accounts must be
    linked to the detailed groups
    so that, by selecting one ledger account in combobox1 it should display detailed accounts of level1 in combobox2 ,detailed accounts of level2
    in combobox3 and detailed accounts of level3 in combobox4.<o:p></o:p>
    <o:p> </o:p>
    How
    to design tables and the relationships between them, so
    with select the ledger account I can see the detailed
    accounts of per level in other comboboxes?<o:p></o:p>
    <o:p> </o:p>
    I've
    spent
    a lot of time
    on this
    subject
    but
    I have
    not been able
    to
    solve this problem.<o:p></o:p>
    Please help me,<o:p></o:p>
    Best regards.<o:p></o:p>

    I am guessing....I hope it is helpful...
    >1_others ,2_People ,3_companies ,4_
    Cost centers ,5_projects ,6_
    Letter of Credits ,7_ Current
    Accounts ,8_
    Banking facilities ,9_
    Commodity ,10_ Branches
    aggregation ,11_ Purchase
    Contract
    Services ,12_
    Sales Contract
    Services ,13_
    Export Products ,14_
    Control account ,15_
    Months.
    Setup a table for each.
    >Table3 contains detailed accounts information that should associated with groups of detailed accounts(fifiteen groups).
    Setup the AccountDetail(1,2,3 level) tables with 15 NULLABLE FOREIGN KEYs. If some group is not applicable for an FK, keep the value NULL, otherwise enter a valid PK value.
    >Table1
    contains information on ledger
    accounts,and Table2 contains
    Groupsof the detailed
    accounts
    Setup LedgerAccount tables.
    Setup LedgerDetailXref table with FOREIGN KEYS to LedgerAccount & AccountDetail(1,2,3) tables.
    FOREIGN KEY examples: http://www.sqlusa.com/bestpractices2005/bankdatabase/
    Kalman Toth Database & OLAP Architect
    SQL Server 2014 Design & Programming
    New Book / Kindle: Exam 70-461 Bootcamp: Querying Microsoft SQL Server 2012

  • Crmm_erm_cat and relationship between database questions and activities

    Hello Guys,
    Using this transaction, it´s possible to make the relationship between the questions from the solution database with activities, and it´s possible to locate some activities over there. These activities are not apearing. Is there something else in the transaction, or additional transaction, I have to execute, to make the crmm_erm_cat work fine?
    cheers
    Luiz David

    Already solved, thanks

  • Random error occur if a program including Non-regeration AO and Synchronous AO&AI function?

    Hi,
    Does you know Non-regeneration of data and synchronous AO&AI functions can be written in same VI or not?
    I did a program which needs Non-regeneration of Signal and Synchronous AO&AI functions.
    When I run this program, a error 200292 is random occured. Would you know how to solve it? Thanks very much.
    Attachments:
    unstable question.vi ‏144 KB

    Hello,
    "1. If no. of sample is -1, then I can't control how many points it capture. I cannot do the alignment between AO and AI data. For example, AO is 100kpts and AI is 90~120kpts."
    Even though you are displaying 90 - 120 kpts per iteration of your while loop, the AI and AO is still synchronized. The reason you are seeing a difference in the number of points written and read in each loop is because the DAQmx Read.vi immediately reads whatever data is in the buffer. Then the DAQmx Write.vi writes 1000 points. The DAQmx Write will hold the loop until all 1000 points are written. When the next DAQmx Read is called, it picks up the data that it missed in the previous iteration plus the new that data that was written.
    "2. If the "Sinewave generation" is run before AO write, the level or frequency AO signal cannot be changed during program running. However, I need it to be changed easy and effectively."
    To change the waveform parameters during execution, you just need to put another waveform generator inside the while loop. I have made this modification and attached the new VI. Keep in mind that with AO, the output frequency is dependent on the frequency control, sampling frequency of the generator, and update rate. Use this formula to calculate actual output signal frequency:
    Output Frequency = [Update Rate * Frequency] / Sampling Frequency
    Let me know if you have any further questions.
    Regards,
    Sean C.
    Attachments:
    Multi-Function-Synch AI-AO-Non-Regen_2.vi ‏190 KB

  • Using a submit button, how can I include a data key and a message in the body of the email??

    I have a form that I have created in LiveCycle with a submit button to have the completed form emailed to a specific person. I have it set up with a message in the body of the email, but I am looking to add an additional message based on the results of one of the fields in the form....is this possible without major script writing?
    I am not a programmer, but willing to learn some script.

    softwater wrote:
    ...and costs $14.99
    Yep! And if you absolutely need (or think you need) that functionality, it is worth every penny.
    As Don already pointed out, exactly what the recipient sees will depend on how they've set up their machine and what unnecessary 3rd party apps they might've installed to display attachments the way they want.
    In theory, that is true. In practice, Attachment Tamer will cause more of your messages to show up as plain-jane icons on the other end. The problem is, after all, people running Outlook 2003 and 2007. These people likely aren't doing many system modifications.
    If I were you, I'd use the free solutions provided above, save my money and let my recipients decide how they will handle their mail.
    I completely agree.

  • Regading getting data to and forth between 2 programs through SUBMIT

    Hi All,
    I have a issue regarding fetching internal table data from one program to another.
    Actually I have <b>Main Program</b> from that through SUBMIT statement i am calling another program and executing it for every 100 records - Actually this program is having BAPI running in it, By result i will get an internal table data. Now i want to get that internal table data back into my MAIN Program so that i can use it for next process.
    <b>EXPORT & IMPORT statements are working from MAIN Program to Other Program.</b>
    <b>EXPORT & IMPORT statements are not working from Other Program[SUBMIT'ed Program] to MAIN Program.</b>
    So can anybody tell me how can i get that data in other program into MAIN Program[Back].
    Thanks in advance.
    Thanks & Regards,
    Rayeez.

    When you submit the program is then running in parallel with the program which submitted it.  There is no mechism that you are using to stop the calling program and wait for the submitted program to finish and bring back some data.   Most likly program 1 ends before program 2 is finished updating the material master. You can do this kind of thing with Function modules.   You would put your call to the submitted program inside of a function module,  then call that function module saying STARTING IN NEW TASK,  then you can wait for it to be done and get the results using the RECIEVING statement.
    Here is the F1 Help.
    +
    CALL FUNCTION
    Variant 2
    CALL FUNCTION func ...STARTING NEW TASK task name.
    Additions:
    1. ... DESTINATION dest
    2. ... DESTINATION IN GROUP group name
    3. ... DESTINATION IN GROUP DEFAULT
    4. ... PERFORMING form ON END OF TASK
    5. ... EXPORTING  p1 = f1    ... pn = fn
    6. ... TABLES     p1 = itab1 ... pn = itabn
    7. ... EXCEPTIONS syst_except = rc MESSAGE mess
    Effect
    Starts the function module func asynchronously ina new session. In contrast to normal function module calls, the callingprogram resumes processing as soon as the function module is started inthe target system. It does not wait until the function module hasfinished. Through CALL SCREEN,the called function module can, for example, display a screen and thusinteract with the user.
    Notes
    This variant applies only from R/3 Release 3.0, so boththe client system and the server system must have Release 3.0 orhigher.
    With this variant, the called function module must also be flagged inthe Function Builder as externally callable, even if it is executedlocally (without the addition DESTINATION).
    There can be no function call to the destination 'BACK' in thecalled function module (for more information about the destination 'BACK', see CALLFUNCTION func DESTINATION dest).
    This variant does not support the execution of externalprograms accessible via the destination of the TCP/IP type asasynchronous calls (see the Transaction Tools ¨Administration, Administration ¨ Network ¨ RFC destinations formaintaining destinations).
    You cannot display screens (screens or lists asamodal windows in RFC communication using SAP Router.
    From Release 4.0, you can check the load of each RFC destination moreclosely (in the RFC destination maintenance for an R/3 connection, choose Destination -> ARFC options). This checks whetherthe target host has sufficient resources before the function module isexecuted. If the target host is overloaded, the system delays executingthe function module. The algorithm for calculating the load on thetarget host is the same one used in an asynchronous RFC call using the DESTINATION IN GROUP addition. Note that this option can only beused with target hosts running Release 3.1H or higher. Note also thatit is the default setting.
    In principle, parallelization makes sense whenever applicationservers have the necessary resources. In this case, the applicationservers must be configured with at least 3 dialog work processes.
    A program that is run in the background and uses RFC parallelizationrequires at least 1 dialog work process per application server becausedialog processes use parallel execution.
    If the instance profile parameter 'auth/rfc_authority_check'is set (to 1), the system automatically performs an RFC authorizationcheck. The authorization check refers to the relevant function groupfor the function module to be called. If no authorization is found, aruntime error occurs. You can check the authorization in advance withthe function module AUTHORITY_CHECK_RFC. If the communication takes place in the same system with thesame user context (same client and user ID), there is no authorizationcheck. For further information, refer to the RFCAuthorization Concept.
    When you are using asynchronous RFC to implement parallel windows,all these windows are closed if the caller session is the only sessionand terminates.
    ABAP_ADDITION_1&
    ... DESTINATION dest
    Effect
    Executes the function module externally as a RemoteFunction Call (RFC); dest can be a literal or a variable.The R/3 System where the function module is executed depends on thespecified destination. Externally callable function modules must beflagged as such in the Function Builder (of the target system).
    Note
    If the destination is not explicitly specified, the systemuses the default destination 'NONE'.
    Note
    If, during a RemoteFunction Call, an error occurs in the target system, detailsof the error message are passed bac to the calling system in thefollowing system fields: SY-MSGNO, SY-MSGID, SY-MSGTY, SY-MSGV1,SY-MSGV2, SY-MSGV3, and SY-MSGV4. These fields areinitialized before every RFC. If a short dump or a type X messageoccurs, the short text of the dump is transferred to the caller, andthe contents of SY-MSGID, SY-MSGTY, SY-MSGNO, and SY-MSGV1 assigned by the system.
    In RFC-enabled function modules, no ABAP statements are allowed thatwould end the RFC connection (for example, LEAVE, SUBMIT or the ANDRETURN addition).
    Note
    Note that a database commit occurs at eachRemote Function Call (RFC). Consequently, you may not use RemoteFunction Calls between pairs of statements that open and close adatabase cursor (such as SELECT ... ENDSELECT).
    Addition 2
    ... DESTINATION IN GROUP group name
    Addition 3
    ... DESTINATION IN GROUP DEFAULT
    Effect
    You use this addition to perform parallel execution offunction modules (asynchronous calls) on a predefined group of R/3System application servers.
    You use addition 2 (DESTINATION IN GROUP group name) toperform parallel execution of function modules on a predefined group ofapplication servers. To maintain the RFC groups, choose Tools ¨ Administration ¨ Administration ¨ Network ¨ RFCdestinations ¨ RFC ¨ RFC groups. The application programmer isresponsible for the availability of RFC groups in the productionsystem.
    You use addition 3 (DESTINATION IN GROUP DEFAULT) to performparallel execution of function modules (asynchronous calls) on all currently available R/3 System application servers. However,instead of this variant, you are recommended to use an RFC group withappropriate resources for parallel processing of asynchronous calls (atleast for performance reasons). Please note that the additionDESTINATION IN GROUP ' ' has the same effect as the additionDESTINATION IN GROUP DEFAULT.
    When you first call a function module with these additions, thesystem initializes the specified RFC group (provided no explicitinitialization has already been performed).
    To obtain current information about resources (that is, the number ofresources available to process function modules), you can alsoinitialize the RFC group explicitly in the program via the functionmodule SPBT_INITIALIZE. You must perform this actionbefore the first function module call.
    In both cases, the system first determines the number of currentlyavailable resources (work processes) on the available applicationservers (either a group of servers or all servers). By checking thecurrent system load of each application server, the system determineshow many work processes are available to execute asynchronous calls.
    After determining the available resources, the asynchronous call isexecuted at one of the destinations. If no resources are available atthat particular time, the system executes the exception routine RESOURCE_FAILURE (see the addition EXCEPTIONS). In thecase of an asynchronous function module call, this exception must be handled by the application program (see example).
    Parallel processing cannot take place if any of the resourcethresholds are exceeded.
    Notes
    In order to be taken into consideration for RFC parallelprocessing, an application server must have at least 3 freedialog processes.
    The system triggers the exception RESOURCE_FAILURE only forasynchronous RFCs with the additions DESTINATION IN GROUP groupname and DESTINATION IN GROUP DEFAULT.
    At present, only one RFC group per program environment issupported for parallel execution of asynchronous calls. Using both theadditions DESTINATION IN GROUP group name and DESTINATION INGROUP DEFAULT in a program is thus not allowed.
    To find out which destination was automatically selected, call thefunction module SPBT_GET_PP_DESTINATION immediately after thefunction module call with the two additions. This returns the selectedRFC destination.
    If you want to delete an application server from the list of theconfigured RFC group at runtime (for example, when the applicationserver is not accessible for technical reasons), use the functionmodule SPBT_DO_NOT_USE_SERVER.
    Addition 4
    ... PERFORMING form ON END OF TASK
    While the parameters for receiving results (i.e. IMPORTING andTABLES parameters) are specified directly as additions in thecase of "conventional" function modules (see variant 2), these arelogged in the FORM routine form when making anasynchronous call (see RECEIVE).
    Notes
    If a function module returns no result, and you are notinterested in error messages that arise when executing the functionmodule, this addition (... PERFORMING form ON END OF TASK) canbe omitted.
    If you want to handle the error messages that arise when executingthe asynchronous function module call, you must use thisaddition. Also, when receiving the results in the FORM routine(see RECEIVE), you must reactaccordingly to the system exceptions SYSTEM_FAILURE andCOMMUNICATION_FAILURE.
    With asynchronous RFC, the task name uniquely identifies theasynchronous connection and thus the context called.
    If several asynchronous function modules are executed consecutivelyto the same destination, you must assign a different task name to each.
    A calling program that starts an asynchronous RFC with PERFORMINGform ON END OF TASK cannot switch roll areas or change to aninternal session. This is because the asynchronous function module callreply cannot be passed on to the relevant program. You can perform aroll area switch with SUBMIT or CALL TRANSACTION.
    If a calling program makes asynchronous calls, finishes, and thenexpects responses, these responses cannot be delivered.
    To wait for the reply to a started asynchronous function module, usethe WAIT command with the additionPERFORMING form ON END OF TASK. Here, WAIT must be in thesame program context (session).
    Note that the execution of the asynchronous calls involves a changeof roll area. This means that the FORM routines for receivingthe external calls can be processed while you are making furtherexternal calls. This means that the developer must ensure thatthe FORM routines can be executed at any time. You cannotmake any assumptions about the processing sequence.
    Addition 5
    ... EXPORTING p1 = f1 ... pn = fn
    Effect
    EXPORTING passes values of fields and fieldstrings from the calling program to the function module. In thefunction module, the formal parameters are defined as importparameters.
    Addition 6
    ... TABLES p1 = itab1 ... pn = itabn
    Effect
    TABLES passes the contents of internal tables.
    Addition 7
    ... EXCEPTIONS syst_except = rc MESSAGE mess
    Effect
    While any exceptions arising in the called functionmodule are handled by the second addition (in the FORM routine),this addition can handle two special system exceptions, as withfunction module calls with the addition DESTINATION:
    SYSTEM_FAILURE
    is triggered, if a system crash occurs on the receiving side.
    COMMUNICATION_FAILURE
    is triggered if there is a connection or communication problem.
    In both cases, you can get a description of the error with theoptional addition
    ... MESSAGE msg
    Note
    In principle, you should always react to these twosystem exceptions, whether you are making an asynchronous functionmodule call or receiving results.
    Examples
    Asynchronous call to a transaction and display in a separate session.
    DATA: MSG_TEXT(80) TYPE C. "Message text
    Asynchronous call to Transaction SM59 -->
    Create a new session
    CALL FUNCTION 'ABAP4_CALL_TRANSACTION' STARTING NEW TASK 'TEST'
      DESTINATION 'NONE'
      EXPORTING
          TCODE = 'SM59'
      EXCEPTIONS
        COMMUNICATION_FAILURE = 1 MESSAGE MSG_TEXT
        SYSTEM_FAILURE        = 2 MESSAGE MSG_TEXT.
      IF SY-SUBRC NE 0.
        WRITE: MSG_TEXT.
      ELSE.
        WRITE: 'O.K.'.
      ENDIF.
    Using RFC groups to parallelize function module calls (RFC parallelprocessing)
    TYPES: BEGIN OF TASKLIST_TYPE,
           TASKNAME(4) TYPE C, "Task administration
           RFCDEST LIKE RFCSI-RFCDEST
           END OF TASKLIST_TYPE.
    DATA: INFO LIKE RFCSI, C,  "Message text
          JOBS TYPE I VALUE 10,  "Number of parallel jobs
          SND_JOBS TYPE I VALUE 1,  "Sent jobs
          RCV_JOBS TYPE I VALUE 1,  "Received replies
          EXCP_FLAG(1) TYPE C,  "Number of RESOURCE_FAILUREs
          TASKNAME(4) TYPE N VALUE '0001',  "Task name administration
          TASKLIST TYPE TABLE OF TASKLIST_TYPE,
          WA_TASKLIST TYPE TASKLIST_TYPE.
    DO.
      CALL FUNCTION 'RFC_SYSTEM_INFO'
           STARTING NEW TASK TASKNAME DESTINATION IN GROUP DEFAULT
           PERFORMING RETURN_INFO ON END OF TASK
           EXCEPTIONS
             COMMUNICATION_FAILURE = 1
             SYSTEM_FAILURE        = 2
             RESOURCE_FAILURE      = 3.
      CASE SY-SUBRC.
        WHEN 0.
    Administration of asynchronous tasks
          WA_TASKLIST-TASKNAME = TASKNAME.
          CLEAR WA_TASKLIST-RFCDEST.
          APPEND WA_TASKLIST TO TASKLIST.
          WRITE: /  'Started task: ', WA_TASKLIST-TASKNAME COLOR 2.
          TASKNAME = TASKNAME + 1.
          SND_JOBS = SND_JOBS + 1.
          JOBS     = JOBS - 1.  "Number of existing jobs
          IF JOBS = 0.
            EXIT.  "Job processing finished
          ENDIF.
        WHEN 1 OR 2.
    Handling of communication and system failure
        WHEN 3.  "No resources available at present
    Receive reply to asynchronous RFC calls
          IF EXCP_FLAG = SPACE.
             EXCP_FLAG = 'X'.
    First attempt for RESOURCE_FAILURE handling
             WAIT UNTIL RCV_JOBS >= SND_JOBS UP TO '0.01' SECONDS.
          ELSE.
    Second attempt for RESOURCE_FAILURE handling
             WAIT UNTIL RCV_JOBS >= SND_JOBS UP TO '0.1' SECONDS.
          ENDIF.
          IF SY-SUBRC = 0.
            CLEAR EXCP_FLAG.  "Reset flag
          ELSE.  "No replies
            "Endless loop handling
          ENDIF.
        ENDCASE.
    ENDDO.
    Receive remaining asynchronous replies
    WAIT UNTIL RCV_JOBS >= SND_JOBS.
    LOOP AT TASKLIST INTO WA_TASKLIST.
      WRITE:/   'Received task:', WA_TASKLIST-TASKNAME COLOR 1,
            30  'Destination: ', WA_TASKLIST-RFCDEST COLOR 1.
    ENDLOOP
    FORM RETURN_INFO USING TASKNAME.
      RECEIVE RESULTS FROM FUNCTION 'RFC_SYSTEM_INFO'
        IMPORTING RFCSI_EXPORT = INFO
        EXCEPTIONS
          COMMUNICATION_FAILURE = 1
          SYSTEM_FAILURE        = 2.
      RCV_JOBS = RCV_JOBS + 1.  "Receiving data
        IF SY-SUBRC NE 0.
    Handling of communication and system failure
        ELSE.
          READ TABLE TASKLIST WITH KEY TASKNAME = TASKNAME
                              INTO WA_TASKLIST
          IF SY-SUBRC = 0.  "Register data
            WA_TASKLIST-RFCDEST = INFO_RFCDEST.
            MODIFY TASKLIST INDEX SY-TABIX FROM WA_TASKLIST.
          ENDIF.
        ENDIF.
    ENDFORM
    Note
    If you encounter problems, refer toTypical RFC problems and theirsolutions.
    Note
    Runtime errors:
    Note
    Runtime errors:
    CALL_FUNCTION_NO_RECEIVER:
    Data received for an unknown CPI-C connection.
    CALL_FUNCTION_DEST_TYPE:
    Destination type not allowed.
    CALL_FUNCTION_NO_DEST:
    Specified destination does not exist.
    CALL_FUNCTION_NO_LB_DEST:
    Specified destination (in load distribution mode) does not exist.
    CALL_FUNCTION_TABINFO:
    Data error (info internal table) in a Remote Function Call.
    CALL_BACK_ENTRY_NOT_FOUND:
    The called function module is not released for use in RFC.
    CALL_FUNCTION_FIELD_NOT_FOUND:
    The function parameter that you passed is not recognized on therecipient side.
    RFC_NO_AUTHORITY:
    The user does not have RFC authorization.
    CALL_FUNCTION_SINGLE_LOGIN_REJ:
    No authorization to log on as a trusted system. The error codeshave the following meanings:
    0) Valid security key but wrong logon data 1) Calling system is not a trusted system, or security key is invalid 2) User either does not have RFC authorization (authorization object S_RFCACL), or logged on as one of the protected users 'DDIC' or 'SAP*' 3) Timestamp of the logon data is invalid
    CALL_FUNCTION_DESTINATION_NO_T:
    Missing communication type (I for internal connection, 3 for R/3) in anasynchronous RFC
    CALL_FUNCTION_NOT_REMOTE:
    The function module called is not flagged as "RFC supported"
    CALL_FUNCTION_REMOTE_ERROR:
    An error occurred during the Remote Function Call. This has been loggedin the target system.
    CALL_FUNCTION_SIGNON_INCOMPL:
    The logon data for the user is incomplete.
    CALL_FUNCTION_SIGNON_INTRUDER:
    You cannot log onto a target system using an internal call.
    CALL_FUNCTION_SIGNON_INVALID:
    External RFC without a valid user name.
    CALL_FUNCTION_SIGNON_REJECTED:
    Attempt to log onto a target system without a valid user name. Theerror code can have the following meanings:
    1) Wrong password or invalid user ID
    2) User locked
    3) Too many logon attempts
    4) Error in authorization buffer (internal error)
    5) No external user check
    6) Invalid user type
    7) Validity period of user has expired
    CALL_FUNCTION_SYSCALL_ONLY:
    RFC without a valid user name only allowed when calling system functionmodules. For the meaning of the error codes, refer toCALL_FUNCTION_SINGLE_LOGIN_REJ.
    CALL_FUNCTION_TABLE_NO_MEMORY:
    No memory available for a table to be imported
    CALL_FUNCTION_TASK_IN_USE:
    Asynchronous RFC only: Task name already in use.
    CALL_FUNCTION_TASK_YET_OPEN:
    Asynchronous RFC only: The specified task is already open.
    CALL_FUNCTION_SNC_ERROR:
    Error reading the SNC information for the destination.
    CALL_RPERF_SLOGIN_READ_ERROR:
    No valid trusted system entry for the calling system.
    CALL_RPERF_SLOGIN_AUTH_ERROR:
    No trusted authorization for the RFC caller and trusted system.
    +
    Regards,
    Rich Heilman

  • Data export and import between Oracle 9 and 10

    Hi all,
    I have been working with this for weeks. Reading posts and oracle doc. Finally, bugs block my way. Hope you can help me out. Many Thanks.
    Situation: I need to export data of one table from Oracle 10.2.0.1 to Oracle 9.2.0.8
    Background: Oracle 10.2.0.1 at Machine 1(IBM AIX), Oracle 9.2.0.8 at Machine 2(don't know, maybe Stratus), My local Machine(XP)
    Method 1: using SQL developer (MWB)
    Bug: there is CLOB field in the target table. All content of CLOB field become "(CLOB)" and data lost. This is a logged bug.
    Solution: give up using SQL developer
    Method 2: using Oracle 10 client exp & imp and remote from my local machine XP
    Bug: PLS-00302-SET_NO_OUTLINES must be declared
    Solution: using Oracle 9 client
    Method 3: using Oracle 9.2.0.1 client, since my local machine is XP
    Bug: EXP-00003: no storage definition found for segment (target DB run Oracle 9.2.0.8)
    Solution: using Oracle 9.2.0.8 client
    Problem: Oracle 9.2.0.8 client is for Stratus x86 only? I have no idea what Stratus is except believing it is a server machine.
    My senior told me to use sqlldr. But I just used it once for 3rd party DB for import. Can sqlldr export data?
    I would like to ask for any suggestions or/and solutions. Many Thanks!
    Best regards,
    Philip

    Hi OrionNet,
    Thank you very much for your helping and my problem solved. Here is my version of spool setting modifying from OrionNet example.
    set echo off
    set newpage 0
    set space 0
    set pagesize 0
    set long 2000000 //this is for CLOB, set it enough large to avoid missing data
    set feed off
    set head off
    set trimout on
    set trimspool on
    spool C:\spool.dat
    SELECT col1||'<EOFD>'||col2||'<EOFD>'||col3||'<EORD>' //this is separator for sqlldr
    FROM tab1
    WHERE col2 = 'XYZ';
    spool off
    and control file for sqlldr
    load data
    infile 'spool.dat' "str '<EORD>'" //ROW separator
    append
    into table tab1
    fields terminated by '<EOFD>' //FIELD separator
    trailing nullcols
    col1,
    col2,
    col3
    I think that using spool and sqlldr is the most "painless" method for Oracle 10g to 9i data move unless you are DBA of both DBs.
    Please share If anyone have easier/safer method. I am just crazy to migrate backward Oracle version.
    Thanks again,

  • How can I move Thunderbird data back and forth between computers like Outlook import/export of a .pst

    I want to regularly temporarily move my Thunderbird data to another computer running Thunderbird and then back again later. I am not permanently migrating. I do not want to move all my data from one machine to the other, just my Thunderbird folders, tasks, address book, etc. In Outlook this is accomplished simply by exporting the .pst on one computer and importing on the other. Is there a simple way to accomplish this without using Windows transfer or duplicating everything in Gmail?

    Thanks for the information.

  • Background Job definition and relationship between jobs

    Hi All,
    I have 2 jobs J1 and J2. After finishing J1, J2 should start. While defining through SM36, if we use After Job in Start Condition, first time the runs are ok, but if we wish to run it periodic, the dependency is lost. Can someone help me out??
    RSPC option is not there.
    thanks,
    Partha Maity

    Hi,
    I have tried the option of Job definition through SM36, it works for the first time as i have said, in periodic running dependency is lost. Tried again , same output.
    Defining a single job, we have tried this option, and it is taking unusally longer time, thats why we want to have separate job,. and one single big job fails we have very little option of recovery.
    RSPC option is not there in APO 3.1
    By events, how this can be acheived can some one give detail workout.
    Thanks in anticipation.
    Partha Maity

  • Have unlocked 3GS from EUR-can I buy a SIM in USA for Data, phone and text?

    Hi -
    I live in Germany and am planning a 3 month trip to the US. I have an unlocked iPhone 3Gs that I would like to use while I am in the states.
    I'm exhausted and confused looking at the various prepaid phone plans in the US and I am not entirely sure that if I get a SIM card for my iPhone, will it even work. Anyone know?
    Has anyone already been down this road and have a recommended prepaid monthly plan that includes unlimited data, texting, and phone calls?
    Thanks for your help.

    After 10 days in Scandinavia, this is what I have learned:
    1.) getting the mini or nano sim has been impossible _ in Sweden, Norway and Denmark the carriers I worked with have the old sim cards that they suggest that you trim down to nano size.  The one I tried was still too thick to fit in the sim card drawer on my iphone 5.
    2.) Verizon was very cooperative and unlocked my phone before I left the USA.
    3.) The Verizon plan may be competitive with plans that cover multiple countries in Europe.  The pricing is sufficiently confusing that providers are hard to compare, ie. initial plan / sim card purchase amout, voice, data, text send / receive rates, varying monthly or package  amounts of mintes and data allowances.
    4.) Keeping cellular data off, using wi-fi has mostly kept cellular data usage low, with a few exceptions resulting from data use for either google or i maps and a probable butt-call or mistaken program left on without wi-fi.
    5.) I am still going to check out France's rate, but I won't report more if the story stays the same.
    Good luck out there.
    Thank you to all that responded.  Even though the information did not help resolve the problem it gave us traction.

  • How to GRN date (MIGO) and Goods posting date (MB1C) as a Characteristcs

    Dear All,
    Our customer wants to include GRN date (MIGO) and Goods posting date (MB1C) as a Characteristic for a batch.
    And he wants the system to pick up these dates automatically for batch.
    So in batches will be sorted out based on GRN (MIGO) or Goods posting (MB1C) date.
    Is there any standard characteristics available for these fields?
    How to achieve this functionality.
    Regards,
    Mullairaja
    Edited by: MullaiRaja on Jan 7, 2011 8:28 AM

    Closed

  • Data logger and online processing application

    Dear All
    My application should include both data logging and online processing threads which are synchronized. I already implemented that by means of something we call "Ring buffer" which is an array containing the data and when the data stream reach its end it start over again from first index. It works almost well but sometimes it seems that my "timed loop" which is my processing thread is a little bit ahead of my data logger thread and it makes some distortion on data stream in processing thread but of course not in data logger.
    Since this type of application is very classic, we should have a kind of general prototype (example) for its implementation which provides fully synchronization between processing and logger threads so I was wondering if somebody knows where I should look into?
    Best regards
    Afshin

    Hello Afshin,
    Have a look at Software Circular Buffer in LabVIEW and Software Circular Buffer Reference Library for Multi-Channel Data Acquisition.
    The latter comes with an example.
    Regards,
    Eirikur Runarsson
    Platinum Applications Engineer
    NI Denmark

  • Repeatly passing data to and from external program

    I'm looking for some help to get me started.  I'm willing to bet
    the info is here I'm just not sure what to look for and my searches
    aren't reveiling anwsers. 
    Background: I'm trying to take control of a device that is comunicating
    through the PCI bus.  The device has a set of API dll's that I can
    access through C++, but not directly in LabVIEW.  So wish to creat
    a wrapper program that will give LabVIEW indirect access to the
    dlls.  
    Problem: I've breifly read up on CINs and Libaray call functions and
    have found one underlying problem with both.  I have not found a
    way to pass data back and forth between the external code and LabVIEW
    once the external code is running.  I require an interactive
    conection between the two. 
    Any sugestions of what to search for would be greatly appreatiated, or even how to resolve my problem.
    Thank you.
    Don't get even, get odd!

    If the data buffers are owned by the driver and are updated asynchronously, you should expose that buffer to LabVIEW as a handle (simple int32 for the pointer to the buffer). This can then be passed to the wrapper code and checked (implements your polling). Remember that handling tasks in LV that should run in parallel is different from C++ however - you don't create threads, instead you should simply set up independent loops.
    I'm not sure what else to suggest since I don't fully understand what the API does or what the HW is doing, so feel free to post more information if you want more suggestions
    Brian Tyler
    http://detritus.blogs.com/lycangeek

Maybe you are looking for

  • How do I search for a particular magazine title in Newsstand?

    I'm interested in finding some particular magazines that are my favourites to download to read on my iPad. Yet when I go into Newsstand in the app store I seem to only have a choice between browsing a very narrow list of selected feature magazines or

  • Final Cut Pro 7 won't start up... urgent!!!

    I have some paid projects coming up so I need this fixed. Here is the error report. Help me if you can please! Thank you in advance! Process:         Final Cut Pro [1652] Path:            /Applications/Final Cut Pro.app/Contents/MacOS/Final Cut Pro I

  • Maybe you should use Google as a spell checker???

    I have FF 29, and the spell checker (I guess it is Hunspell?) pretty much sucks. It can't figure out couldn by adding an apostrophe-t, rather is suggests "could n" like that's even a thing. I wasn't aware bu was a word, but it isn't flagged as an err

  • How to set Selected Value in InputSelect

    Hi, I have implemented InputSelect component from the BC4J, and the items(attributes) are retrieved and updated to the table correctly. However,there's an additional item, "None" appeared in the menu-list. I didn't insert any item of the value of "No

  • Posting slideshow  to video.google--size matters

    I posted earlier about compressing a wmv file I had created to email and decided just to post it to video.google. So I posted a slideshow to video.google but no matter what I do, I can't make it "full screen." See here: http://video.google.com/videop