How to write an inverse routine for an info object at field level.

Hi All,
Our requirement is as follows:
Need to populate 0MAT_PLANT in a virtual provider. But during query performance it is like -
If someone were to add a filter to the BW query on 0MAT_PLANT, it would take the system awhile to search the APO database for that 18 CHAR material number because the data in APO is stored differently (40 CHARs).  The point of the  inverse routine is to convert the 18 CHAR to be 40 CHAR for those times when someone selects on 0MAT_PLANT.  That way, the field types match and finding the data in APO is much quicker.
Hence if we need selection on the selection scree of the query for 0MAT_PLANT, we are trying for inverse routine which will convert 18 chars to 40 chars in the query level and the performance will be quicker.
See, 0MAT_PLANT is of 18 Char length. We are mapping it from ZMATNR in source which is of 40 chars. Thus initially in the field routine we will write a code to convert 0MAT_PLANT to 18 from 40.
Below is the code and the place we now we also need to write inverse routine to convert it to 40 from 18 chars.
*****Code to convert from 40 chars to 18******
*In APO if the material contains all integers values the material will
* come over as a 40 byte field.  It needs to be shortened.
  IF SOURCE_FIELDS-/BIC/ZMATNR CO '0123456789'.
    short_material = SOURCE_FIELDS-/BIC/ZMATNR+22(18).
*In APO if the material contains any character fields the material will
* not be zero filled and will be left alligned. Take the 1st 18 bytes.
  ELSE.
    short_material = SOURCE_FIELDS-/BIC/ZMATNR(18).
  ENDIF.
*add leading zeros to numeric only value
  IF short_material CO '0123456789 '.
     w_num18 = short_material.
     short_material = w_num18.
  ENDIF.
  RESULT = short_material.
*$*$ end of routine -
***********here the iverse routine need to write************
*       Method invert_0MATERIAL
*       This subroutine needs to be implemented only for direct access
*       (for better performance) and for the Report/Report Interface
*       (drill through).
*       The inverse routine should transform a projection and
*       a selection for the target to a projection and a selection
*       for the source, respectively.
*       If the implementation remains empty all fields are filled and
*       all values are selected.
  METHOD invert_0MATERIAL.
*$*$ begin of inverse routine - insert your code only below this line*-*... "insert your code here
Here you would write logic in 0MAT_PLANT to do the opposite of the above,
convert 18 back to 40 characters.
*$*$ end of inverse routine - insert your code only before this line *-*
  The articulated form above in RED says that the subroutine i.e. the inverse routine is implemented for direct access and report to report interface.
Could anybody please help me or let me know any idea related to this.

Hi All,
Our requirement is as follows:
Need to populate 0MAT_PLANT in a virtual provider. But during query performance it is like -
If someone were to add a filter to the BW query on 0MAT_PLANT, it would take the system awhile to search the APO database for that 18 CHAR material number because the data in APO is stored differently (40 CHARs).  The point of the  inverse routine is to convert the 18 CHAR to be 40 CHAR for those times when someone selects on 0MAT_PLANT.  That way, the field types match and finding the data in APO is much quicker.
Hence if we need selection on the selection scree of the query for 0MAT_PLANT, we are trying for inverse routine which will convert 18 chars to 40 chars in the query level and the performance will be quicker.
See, 0MAT_PLANT is of 18 Char length. We are mapping it from ZMATNR in source which is of 40 chars. Thus initially in the field routine we will write a code to convert 0MAT_PLANT to 18 from 40.
Below is the code and the place we now we also need to write inverse routine to convert it to 40 from 18 chars.
*****Code to convert from 40 chars to 18******
*In APO if the material contains all integers values the material will
* come over as a 40 byte field.  It needs to be shortened.
  IF SOURCE_FIELDS-/BIC/ZMATNR CO '0123456789'.
    short_material = SOURCE_FIELDS-/BIC/ZMATNR+22(18).
*In APO if the material contains any character fields the material will
* not be zero filled and will be left alligned. Take the 1st 18 bytes.
  ELSE.
    short_material = SOURCE_FIELDS-/BIC/ZMATNR(18).
  ENDIF.
*add leading zeros to numeric only value
  IF short_material CO '0123456789 '.
     w_num18 = short_material.
     short_material = w_num18.
  ENDIF.
  RESULT = short_material.
*$*$ end of routine -
***********here the iverse routine need to write************
*       Method invert_0MATERIAL
*       This subroutine needs to be implemented only for direct access
*       (for better performance) and for the Report/Report Interface
*       (drill through).
*       The inverse routine should transform a projection and
*       a selection for the target to a projection and a selection
*       for the source, respectively.
*       If the implementation remains empty all fields are filled and
*       all values are selected.
  METHOD invert_0MATERIAL.
*$*$ begin of inverse routine - insert your code only below this line*-*... "insert your code here
Here you would write logic in 0MAT_PLANT to do the opposite of the above,
convert 18 back to 40 characters.
*$*$ end of inverse routine - insert your code only before this line *-*
  The articulated form above in RED says that the subroutine i.e. the inverse routine is implemented for direct access and report to report interface.
Could anybody please help me or let me know any idea related to this.

Similar Messages

  • How to write a Globla Routine for Transfer Rules

    Hi Experts,
    How to write a Global Routine for Tranfer Rules ? Where all the infoobjects need to be grouped? Effect need to be shown on group of fields that are available in a single structure.
    Thanks in Advance
    Vara

    Hi,
    Are you aware of Start Routine available?.. This helps to write a routine on all the infoObjects available in Transfer Structure
    http://help.sap.com/saphelp_nw04/helpdata/en/b3/0ef3e8396111d5b2e80050da4c74dc/frameset.htm
    regards
    Happy Tony

  • How to create master data/text for an info object

    Hi All,
    I am working on a report and having a problem with an info object since it has no master data. This characteristic is supposed to be in the selection parameters and also should contain key and text in it. Since there is no master data for this info object there is no text and keys don't come up. Does any one knows how to add master data to this info object without reloading the ODS?
    Thanks

    Mike,
    You shold load the master data into BW first,
    othere wise you can do one thing
    goto infopackage and schedule where in the update tab select the radio button                                                
    Always update the data,even if no masterdata is exist for that.
    Regards.
    Prasad

  • How to write a create method for a table Not null fields

    Hi all,
    I have a table with four columns,
    process
    prs_seqid NUMBER(4) NOT NULL,
    prs_sbs VARCHAR2(2) NOT NULL,
    prs_name VARCHAR2(64) NOT NULL,
    description VARCHAR2(128)
    Where prs_seqid is primary key and prs_sbs is foreign key.
    I tried to create a CMP bean for this table. I am unable to write a record in table while I can read
    Records from table. These are the create methods
    public Long ejbCreate() throws CreateException {
    return null;
    public Long ejbCreate(Long newPrs_seqid, String newPrs_sbs, String newPrs_name) throws CreateException {
    prs_seqid = newPrs_seqid;
    newPrs_sbs = prs_sbs;
    prs_name = newPrs_name;
    return null;
    public void ejbPostCreate() {
    public void ejbPostCreate(Long newPrs_seqid, String newPrs_sbs, String newPrs_name) {
    When I run the client code �home.create(pk, "AB", "ABC");�
    It throws
    java.rmi.ServerException: RemoteException occurred in server thread; nested exce
    ption is:
    java.rmi.RemoteException: Transaction aborted (possibly due to transacti
    on time out).; nested exception is: javax.transaction.RollbackException; nested
    exception is:
    javax.transaction.RollbackException
    java.rmi.RemoteException: Transaction aborted (possibly due to transaction time
    out).; nested exception is: javax.transaction.RollbackException; nested exceptio
    n is:
    javax.transaction.RollbackException
    javax.transaction.RollbackException
    <<no stack trace available>>
    In log file I got
    java.sql.SQLException: ORA-01400: cannot insert NULL into ("SCOTT"."PROCESSES"."PRS_SBS")
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
         at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
         at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
         at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
         at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:822)
         at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1446)
         at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1371)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1900)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:363)
         at com.sun.ejb.persistence.PersistenceManagerImpl.createRow(PersistenceManagerImpl.java:630)
         at com.sun.ejb.persistence.PersistenceManagerImpl.storeRow(PersistenceManagerImpl.java:412)
         at com.sun.ejb.persistence.PartitionImpl.ejbStore(PartitionImpl.java:555)
         at com.telesenskscl.processes.ProcessesBean_PM.ejbStore(ProcessesBean_PM.java:103)
         at com.sun.ejb.containers.EntityContainer.callEJBStore(EntityContainer.java:1581)
         at com.sun.ejb.containers.EntityContainer.enlistResourcesAndStore(EntityContainer.java:868)
         at com.sun.ejb.containers.EntityContainer.beforeCompletion(EntityContainer.java:853)
         at com.sun.ejb.containers.ContainerSynchronization.beforeCompletion(ContainerSynchronization.java:65)
         at com.sun.jts.jta.SynchronizationImpl.before_completion(SynchronizationImpl.java:48)
         at com.sun.jts.CosTransactions.RegisteredSyncs.distributeBefore(RegisteredSyncs.java:108)
         at com.sun.jts.CosTransactions.TopCoordinator.beforeCompletion(TopCoordinator.java:2289)
         at com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:233)
         at com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:208)
         at com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:386)
         at com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:208)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:434)
         at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:1460)
         at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:1278)
         at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:397)
         at com.telesenskscl.processes.ProcessesBean_PM_RemoteHomeImpl.create(ProcessesBean_PM_RemoteHomeImpl.java:41)
         at com.telesenskscl.processes._ProcessesBean_PM_RemoteHomeImpl_Tie._invoke(Unknown Source)
         at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatchToServant(GenericPOAServerSC.java:519)
         at com.sun.corba.ee.internal.POA.GenericPOAServerSC.internalDispatch(GenericPOAServerSC.java:204)
         at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatch(GenericPOAServerSC.java:112)
         at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:273)
         at com.sun.corba.ee.internal.iiop.RequestProcessor.process(RequestProcessor.java:84)
         at com.sun.corba.ee.internal.orbutil.ThreadPool$PooledThread.run(ThreadPool.java:99)
    javax.ejb.EJBException: nested exception is: javax.ejb.EJBException: nested exception is: java.sql.SQLException: ORA-01400: cannot insert NULL into ("SCOTT"."PROCESSES"."PRS_SBS")
    javax.ejb.EJBException: nested exception is: java.sql.SQLException: ORA-01400: cannot insert NULL into ("SCOTT"."PROCESSES"."PRS_SBS")
    java.sql.SQLException: ORA-01400: cannot insert NULL into ("SCOTT"."PROCESSES"."PRS_SBS")
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
         at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
         at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
         at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
         at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:822)
         at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1446)
         at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1371)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1900)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:363)
         at com.sun.ejb.persistence.PersistenceManagerImpl.createRow(PersistenceManagerImpl.java:630)
         at com.sun.ejb.persistence.PersistenceManagerImpl.storeRow(PersistenceManagerImpl.java:412)
         at com.sun.ejb.persistence.PartitionImpl.ejbStore(PartitionImpl.java:555)
         at com.telesenskscl.processes.ProcessesBean_PM.ejbStore(ProcessesBean_PM.java:103)
         at com.sun.ejb.containers.EntityContainer.callEJBStore(EntityContainer.java:1581)
         at com.sun.ejb.containers.EntityContainer.enlistResourcesAndStore(EntityContainer.java:868)
         at com.sun.ejb.containers.EntityContainer.beforeCompletion(EntityContainer.java:853)
         at com.sun.ejb.containers.ContainerSynchronization.beforeCompletion(ContainerSynchronization.java:65)
         at com.sun.jts.jta.SynchronizationImpl.before_completion(SynchronizationImpl.java:48)
         at com.sun.jts.CosTransactions.RegisteredSyncs.distributeBefore(RegisteredSyncs.java:108)
         at com.sun.jts.CosTransactions.TopCoordinator.beforeCompletion(TopCoordinator.java:2289)
         at com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:233)
         at com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:208)
         at com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:386)
         at com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:208)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:434)
         at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:1460)
         at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:1278)
         at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:397)
         at com.telesenskscl.processes.ProcessesBean_PM_RemoteHomeImpl.create(ProcessesBean_PM_RemoteHomeImpl.java:41)
         at com.telesenskscl.processes._ProcessesBean_PM_RemoteHomeImpl_Tie._invoke(Unknown Source)
         at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatchToServant(GenericPOAServerSC.java:519)
         at com.sun.corba.ee.internal.POA.GenericPOAServerSC.internalDispatch(GenericPOAServerSC.java:204)
         at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatch(GenericPOAServerSC.java:112)
         at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:273)
         at com.sun.corba.ee.internal.iiop.RequestProcessor.process(RequestProcessor.java:84)
         at com.sun.corba.ee.internal.orbutil.ThreadPool$PooledThread.run(ThreadPool.java:99)
    Please help me ASAP. Thanks in advance

    I found problem was with my code. I wrote
    newPrs_sbs = prs_sbs; instead of
    prs_sbs = newPrs_sbs;
    This solves my problem
    Thanks to all.....

  • How to write a case statement for the totals column of two different years (2013 and 2014) of the same month so that I can get a +/- column

    Please Help!!!
    How to write a case statement for the totals column of two different years (2013 and 2014) of the same month so that I can get a +/- column.
                                      January 2014         January
    2013                            +/-
                    Region   Entry   Exit  Total    Entry   Exit   Total   (Total of Jan2014-Total of Jan2013)
                    A               2         3      
    40        5       7        30                    40-30= 10

    What is a table structure? Sorry cannot test it right now..
    SELECT <columns>,(SELECT Total FROM tbl WHERE Y=2014)-(SELECT Total FROM tbl WHERE Y=2013)
    FROM tbl
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • How to write the regular expression for Square brackets?

    Hi,
    I want regular expression for the [] ‘Square brackets’.
    I have tried to insert in the below code but the expression not validate the [] square brackets.
    If anyone knows please help me how to write the regular expression for ‘[]’ Square brackets.
    private static final Pattern DESC_PATTERN = Pattern.compile("({1}[a-zA-Z])" +"([a-zA-Z0-9\\s.,_():}{/&#-]+)$");Thanks
    Raghav

    Since square brackets are meta characters in regex they need to be escaped when they need to be used as regular characters so prefix them with \\ (the escape character).

  • How to write the CMD command for restarting all obi services?

    Hi Experts,
    BIEE:11.1.1.6
    How to write the CMD command for restarting all obi services automatically by windows task scheduler?
    I am try to write the code as below, but it does not work. Please help me to review it and check what I am missing.Thanks.
    Or is there any better method for solving my requirement ? Please share me.Thanks very much.
    cd C:\InstallPath\OBIEE\instances\instance1\bin
    opmnctl stopall
    opmnctl startall
    I am facing the problem that it does not excute the 'opmnctl startall' code, which will be stopped after 'opmnctl stopall',
    So how to modify the command ?Thanks

    See if any of the these are useful or solves your query -
    4.5.2 Using a Windows Service to Start and Stop System Components
    http://docs.oracle.com/cd/E23943_01/bi.1111/e10541/components.htm#BABEEAAI
    4.5.3 Using the Oracle BI Systems Management API to Programmatically Start and Stop Oracle Business Intelligence
    http://docs.oracle.com/cd/E23943_01/bi.1111/e10541/components.htm#BABFGICA
    Edited by: Abhi on May 8, 2013 4:44 AM

  • How can I create a form for users wherein the text field will expand to accommodate additional text?

    How can I create a form for users wherein the text field will expand to accommodate additional text?

    You need to use LiveCycle (PC Only) to create a dynamic form like that.
    The best you can do with Acrobat to view all of the text in a field is to set the field to multiline, and set the size to "Auto" (If you don't set the size to 'Auto', you can enter as much text as you wish, but the user will need to use the scrollbar to view all of the text.)

  • How to check plan line items for plan cost at network activity level?

    Dear all,
    How to check plan line items for plan cost at network activity level? The plan cost is done in network activity in CJ20N.
    I am not able to check using CJI4 or CJI9 report.
    Kindly advise.
    Thanks and regards,
    Jessie

    Hi Jess,
    Have you checked the navigation part which is being displayed on left hand side of report S_ALR_87013565 and S_ALR_87013533.? There you have option to check transaction currency and object currency when you double click on it.
    In case if it is not being displayed under navigation. Then you can bring them on from transaction code CJE2. For eg: Report group for S_ALR_87013533 is 12KST1C. Double click on it and it will open up to do changes in report layout and many more. There you also have options to bring on transaction currency too. Similarly, you can check for other report groups as well just by checking the report description.
    But I am not sure if suits your requirements. Wait for other experts to comment on this.
    Regards,
    Amit

  • How to enter values for an Info-object Manually.

    Hi
    I have to enter certan values manually in the customised info-object which are not available in the
    BW at the moment.
    If I go via SE11 I am only getting change option.
    If I go via SM30 it says The maintenance dialog for ****** is incomplete or not defined.
    How can I enter certain values to this info-object.
    Please advise.
    Many thanks,
    Kate.

    Hi
    Use transaction rsdmd to maintain infoobject values - or right click any infoobject an select maintain master data.
    Regards,
    Beat

  • How can i watch native code for hashCode() in Object class?

    How can i watch native code for hashCode() in Object class?

    Those are two different requirements. You still haven't told us why you want the first one.
    The second one is called JNI - Java Native Interface. There is a forum here, and a large amount of documentation, and a book about it.

  • How to find the WhereUsed List for a Business Object Event?

    How to find the WhereUsed List for a Business Object Event?

    Can anybody let me know how to get which
    Whereused  function will get the data from
    different Werks in multi-level?
    Any sample program please!!!

  • Generating export datasource for an info object

    Hello Guys
    I am working on BW 3.5. I need to generate an export data source for an infoobject so that I can load its texts into another target IO. When I go into the infosources tab, and right click on the particular IO, it gives me the option of creating an export data source.
    My question is: How do i transport this data source from DEV --> QA? Do we have to re-create the export data source in each system individually, ie DEV, QA and PROD.
    Secondly, when I could see the export data source in the the BWQ source system, i tried moving the transfer rules for the DS to the target IO and it gave an error.
    Error message:
    Mapping between data source 80CRED_GROUPT and source system BWQCLNT100 is inconsistent           
    Field CRED_GROUP will not be delivered from DataSource 80CRED_GROUPT in source system BWQCLNT100 
    Field C_CTR_AREA will not be delivered from DataSource 80CRED_GROUPT in source system BWQCLNT100 
    Field LANGU will not be delivered from DataSource 80CRED_GROUPT in source system BWQCLNT100      
    Field TXTMD will not be delivered from DataSource 80CRED_GROUPT in source system BWQCLNT100      
    Why is this happening? And as i asked before, can i transport an export DS or do I create it in each environment individually? Please note: This is an export DS for an info object.

    Hi Srinivas,
    You can transport the export data source across the landscape(Dev to QA).
    You do not eed to generate it in each system.
    Also ensure that the conversion of logical system names or the source system names has been maintained.
    You are right it looks like the data source creation was a problem hence it is not alllowing importing transfer rules.
    You may try to recollect the export data source and transport and then once it is transported successfully replicate metadata of the self system.
    Now transport the transfer rules.
    Hope it works out,
    Best regards,
    Sunmit.

  • Leading single ZERO for char info object

    Hi All,
    I have a info object which is having characteristic value. It is getting values like this
    08976
    076534
    9865
    065435
    when it is coming to BW the ZEROs are skipped can some one help to get this value as it is.
    IF iam having alpha converision then it add zeros as many has characteristic length define.
    Please can someone help , how to get same format as it is.
    Thanks

    HI,
    Check if you are using any conversion in the data source.
    Also when you are trying to check the data, select the "do not use conversion" option to view the data.
    because if you are using a char data type for the info object you're using, the leading zeroes would be as it is.
    Regards,
    Joe
    Edited by: lazarus_joey on Feb 19, 2012 2:34 PM

  • Data source for 0REGION info object

    Hi.,
    I need to load master data text for 0REGION info object. Can any one tell the standard data source for 0REGION.
    Thanks,
    selva

    Hi Kumar,
    Try these following data sources and choose the opt one.
        0TV_REGION_TEXT
        0CML_REGIN_TEXT
        0FS_REGCON_TEXT
        0EC_REGION_TEXT
        0REGION_TEXT.
    With Regards,
    Ravi Kanth.

Maybe you are looking for

  • Special payment terms

    We have a very seasonal line of products that require special payment terms for customers. In one instance customers want terms that read "1% 9/10, net 10/15" whereby we would give a 1% discount if the invoice is paid before September 10th but the to

  • [SOLVED] ffmpeg help

    Hi, I'm  failing to create a (approx) 10 sec video from a (approx) 25 sec one. As can be seen the resultant file is WAY too small. Please advise! Thnaks ----------copy of terminal------------ $ ffmpeg -i out.mp4 -ss 00:04:18 -t 00:10:46 -async 1 -str

  • HT1414 my restore button in not active

    hi i have recently upgraded my iphone and i am not able to use it or restore it to factory settings. Pls help

  • Is there way to remove the bar you use to move a JFrame?

    Is there way to remove the bar you use to move a JFrame? I don't want it there for several reasons, if you want, I will give more detail.

  • Connect LabWindows/CVI to Opto22

    I would like to connect the hardware of Opto22 to the software of LabWindows/CVI. I thought of using OPC but I don't understand really how to setup an OPC server. Is there another way to connect these 2 items using a driver of maybe DDE? I quite new