Failed to call InitLVClient function

Hi,
I'm trying to use LabView Interop Assembly in a .net framework 4.0 in a solution VS2010.
I known it's doesn't work with this framework.
Then i tried to make a new project ( in 3.5 ) in my solution. But it doesn't work and i can see this message : "Failed to call InitLVClient function."
I wonder why, when i create a new solution with just one project in 3.5, it works.
Can you help me ?
I don't want generate a new dll juste for that.
Thanks.
PS : I'm using Labview2011, VS2010, Framework 4.0 and 3.5, C#.

Hello Seb,
Even though it should work with the .net 3.5 try using the workaround implemented for using labVIEW interop with the 4.0 framework:
call Win32's LoadLibrary function (from kernel32) prior to calling the assembly in your application. This will load the assembly twice in your .NET application, so be aware of any potential issues that may arise from that, depending on your assembly/application.
internal static class Utility
[DllImport("Kernel32.dll")]
static extern IntPtr GetModuleHandle(string moduleName);
[DllImport("Kernel32.dll")]
static extern IntPtr LoadLibrary(string moduleName);
internal static void ensureModuleLoaded()
string moduleName = System.IO.Path.GetFileName(System.Reflection.Assembly.GetAssembly(typeof(LabVIEW_Built_Assembly.Exports)).Location);
if (GetModuleHandle(moduleName) == IntPtr.Zero)
if (LoadLibrary(moduleName) == IntPtr.Zero)
throw new InvalidOperationException("Unable to load assembly.", new System.ComponentModel.Win32Exception(Marshal.GetLastWin32Error()));
internal static void handleExceptions(VIAssemblyException e)
if (e.ErrorSource != null)
throw new ArgumentException(e.ErrorSource + ". Error Code: " + e.ErrorCode, e);
else if (((Exception)(e)).Message == "Invalid LV Client." || ((Exception)(e)).Message == "Failed to call InitLVClient function.")
throw new Exception("A resource dependency could not be found by your application. Check that all DLLs referenced can be found by your executable (ie. in the same folder as your executable) and that all applicable NI drivers are installed.", e);
else
throw e;
The attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system, or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense.
Best regards
Romain DUVAL || Application Engineer Specialist ||Certified LabVIEW Architect (CLA) || Certified TestStand Architect (CTA)
National Instruments France

Similar Messages

  • VI analyzer: Wire under object test fails with Call Library Function Nodes

    Hi,
    If I wire a Call Library Function Node with an ErrorIn and an ErrorOut, the VI Analyzer Test "Wire under Object" fails always with two occurrences per Call Library Function Node.
    A double click to the occurrence highlights the error lines connected with the call... node.
    The test does not fail, if the error lines are not connected.
    Thanks!
    H
    Solved!
    Go to Solution.

    This became a problem when Call Library Nodes got error terminals (and optional path terminals) in LabVIEW 8.20.  I should be able to get a fix in to VI Analyzer Toolkit 2010.
    Thanks for taking the time to report the bug.
    Darren Nattinger, CLA
    LabVIEW Artisan and Nugget Penman

  • Failed to call "OnInvestigationEndedEventHandler"

    Hi,
    I have created rules in OPA and used flows for screen navigation, after end of investigation it is failing to call "OnInvestigationEndedEventHandler" custom java code used to save all information entered in OPA.
    Why is it failing to call "handleEvent" function of "OnInvestigationEndedEventHandler".
    Please provide info on this.
    Thanks,
    Sri

    Sri,
    The OnInvestigationEndedEventHandler does not necessarily fire when a flow ends. From the documentation Events and Event Handlers in Oracle Policy Automation Developer's Guide
    Fired immediately after an investigation on a particular goal attribute is concluded (ie. the goal becomes known). Is it possible that after completing the flow, no goal has been concluded?
    Cheers
    Frank

  • Call of function module "SUBST_START_BATCHJOB" by RFC failed

    Hello Guru's,
    We have the following Issue:
    In Phase PREP_INIT/JOB_RSUPDTEC we get this error from EHPI (Version 710-1)
    Checks after phase PREP_INIT/JOB_RSUPDTEC were negative!
    Last error code set: BATCHJOB RSUPDTEC FAILED: Calling RSUPDTEC failed - repeat phase.
    In the file PSUPDTEC.LOG are the following error:
    4 ETQ260 Starting batchjob "RSUPDTEC"
    4 ETQ230 Starting RFC Login to: System = "E11", GwHost = "sape11", GwService = "sapgw00"
    4 ETQ359 RFC Login to: System="E11", Nr="00", GwHost="sape11", GwService="sapgw00"
    4 ETQ232 RFC Login succeeded
    4 ETQ233 Calling function module "SUBST_START_BATCHJOB" by RFC
    4 ETQ399 JOBNAME='RSUPDTEC', REPNAME='RSUPDTEC', VARNAME='', BATCHHOST='sape11', IV_SCHEDEVER=' '
    4 ETQ234 Call of function module "SUBST_START_BATCHJOB" by RFC succeeded
    4 ETQ399 Returned JOBCOUNT='14230100'
    2EETQ235 Call of function module "SUBST_START_BATCHJOB" by RFC failed (error-status "27")
    2EETQ261 Start of batchjob "RSUPDTEC" failed
    In the Sysem we can see, that the Job RSUPDTEC was created by DDIC but not started.
    We can start (and finish) the job successfully as logged in DDIC.
    We don't know whats the problem. The EHPI stopped every time at this point.
    Need Help...
    regards
    Chris

    Issue solved.
    In /etc/hosts the first entry was SAPE11.
    But it must be sape11, because the instance is sape11_E11_00.
    In SM51 we could see that
    sape11_E11_00     SAPE11     Dialog Batch Update Upd2 Spool Enqueue ICM     active
    We changed the entry and restarted SAP.
    Then the job can be started.

  • Calling another function if upate statement fails

    Hi there,
    I have written an update procedure and insert procedure. Is there a way of calling another function if the update statement fails? Thanks a lot for your help.
    Chris
    procedure update_costing(in_period in DATE,
                   in_project_id IN VARCHAR2,
                   in_user_id IN VARCHAR2,
                   in_thu IN VARCHAR2,
                   in_fri IN VARCHAR2,
                   in_sat IN VARCHAR2,
                   in_sun IN VARCHAR2,
                   in_mon IN VARCHAR2,
                   in_tue IN VARCHAR2,
                   in_wed IN VARCHAR2)
         UPDATE TBL_COSTING
              SET
                   HOURS_THU = to_date (in_thu, 'HH24:MI'),
                   HOURS_FRI = to_date (in_fri, 'HH24:MI'),
                   HOURS_SAT = to_date (in_sat, 'HH24:MI'),
                   HOURS_SUN = to_date (in_sun, 'HH24:MI'),
                   HOURS_MON = to_date (in_mon, 'HH24:MI'),
                   HOURS_TUE = to_date (in_tue, 'HH24:MI'),
                   HOURS_WED = to_date (in_wed, 'HH24:MI'),
                   WHERE PERIOD = in_period
         AND PROJECT_ID = in_project_id
         AND USER_ID = in_user_id;
    EXCEPTION
    --CALLL HERE THE INSERT FUNCTION WITH SAME DATAMEMBERS
    SOMETHING LIKE THIS---
    WHEN others then
         insert_costing(in_period, in_project_id, in_user_id ,in_thu,in_fri,in_sat,in_sun,in_mon,in_tue,in_wed ,in_submit);
    COMMIT;
    END update_costing;

    begin
    UPDATE statement
    IF SQL%ROWCOUNT =0
    then
    INSERT statement|procedure
    end if;
    end;
    /Hi,
    i have a simple doubt over here, i read somewhere that cursor attributes can be used only as long as the cursor is open, then in the above case whiel doing the update operation, oracle implicitly will open an cursor and will do the operation and then will close the cursor, then how does SQL%ROWcount works???please revert...
    cheere

  • Adworker fails with "Error calling FNDLOAD function" for patch 7303033

    hi,
    we have some problems applying patch 7303033 (12.1.2) for EBS:
    1. installed ebs R12 12.1.1 with 11.0.7 database;
    2. applied patch R12.AD.B.DELTA.2 Patch 8502056
    3. trying to apply patch 7303033
    after ~6 hours of runnig one of worker failed.
    worker log:
    Loading data using FNDLOAD function.
    FNDLOAD APPS/***** 0 Y UPLOAD @ONT:patch/115/import/ontpmdef.lct @ONT:patch/115/import/US/ontsys.ldt -
    Connecting to APPS......Connected successfully.
    Calling FNDLOAD function.
    Returned from FNDLOAD function.
    Log file: /global/spare/apps/dev_apps/apps/apps_st/appl/admin/DEV/log/US_ontsys_ldt.log
    Error calling FNDLOAD function.
    4. i have stopped the adpatch instalation adn ran adadmin->compile apps schema
    5. after compiling apps schema i re-run adpatch trying to continue the patch apply
    the following error occured:
    AutoPatch error:
    The following ORACLE error:
    ORA-00942: table or view does not exist
    occurred while executing the SQL statement:
    UPDATE FND_INSTALL_PROCESSES
    SET control_code = 'W'
    WHERE worker_id > 0
    AutoPatch error:
    Error running SQL and EXEC commands in parallel
    The "Error running SQL and EXEC commands in parallel" is because i have selected to many parallel workers (32) ,
    but what about the FND_INSTALL_PROCESSES? can it be recreated..using adctrl?
    Can i continue from this step or should i apply patch from the beginning?

    hi,
    the log says:
    Uploading from the data file /global/spare/apps/dev_apps/apps/apps_st/appl/ont/12.0.0/patch/115/import/US/ontsys.ldt
    Altering database NLS_LANGUAGE environment to AMERICAN
    Dumping from LCT/LDT files (/global/spare/apps/dev_apps/apps/apps_st/appl/ont/12.0.0/patch/115/import/ontpmdef.lct(120.3.12010000.1), /global/spare/apps/dev_apps/apps/apps_st/appl/ont/12.0.0/patch/115/import/US/ontsys.ldt) to staging tables
    Dumping LCT file /global/spare/apps/dev_apps/apps/apps_st/appl/ont/12.0.0/patch/115/import/ontpmdef.lct(120.3.12010000.1) into FND_SEED_STAGE_CONFIG
    Dumping LDT file /global/spare/apps/dev_apps/apps/apps_st/appl/ont/12.0.0/patch/115/import/US/ontsys.ldt into FND_SEED_STAGE_ENTITY
    Dumped the batch (OE_SYS_PARAMETER_DEF_B CUSTOMER_RELATIONSHIPS_FLAG , OE_SYS_PARAMETER_DEF_B OE_CC_CANCEL_PARAM ) into FND_SEED_STAGE_ENTITY
    Uploading from staging tables
    Error loading seed data for OE_SYS_PARAMETER_DEF_B: PARAMETER_CODE = CUSTOMER_RELATIONSHIPS_FLAG, ORA-06508: PL/SQL: could not find program unit being called
    Error loading seed data for OE_SYS_PARAMETER_DEF_B: PARAMETER_CODE = AUDIT_TRAIL_ENABLE_FLAG, ORA-06508: PL/SQL: could not find program unit being called
    Error loading seed data for OE_SYS_PARAMETER_DEF_B: PARAMETER_CODE = MASTER_ORGANIZATION_ID, ORA-06508: PL/SQL: could not find program unit being called
    Error loading seed data for OE_SYS_PARAMETER_DEF_B: PARAMETER_CODE = COMPUTE_MARGIN, ORA-06508: PL/SQL: could not find program unit being called
    Error loading seed data for OE_SYS_PARAMETER_DEF_B: PARAMETER_CODE = FREIGHT_RATING_ENABLED_FLAG, ORA-06508: PL/SQL: could not find program unit being called
    Thank you

  • DIO Port Config & DIO Port Write Block Diagram Errors (Call Library Function Node:libra​ry not found or failed to load)

    Hi Guys, need help on this.
    I have this LabVIEW program that used to work on the old computer.
    The old computer crashes most of the time, so I upgraded the computer
    and used its Hard Drive as slave to the new computer.
    I have no idea where are its installers since the guy that made the program 
    is not in my department anymore.
    I downloaded all the drivers needed from NI: NIDAQ9.0, NIVISA,NI488.2, 
    and drivers of some instruments needed in the setup. I'm using LabVIEW8.2.
    Everything's fine until I open the LabVIEW program for our testing.
    Here goes the error:
       DIO Port Config
       DIO Port Write
    Block Diagram Errors
       Call Library Function Node: library not found or failed to load
    Attachments:
    ErrorList.JPG ‏200 KB

    Honestly, I'm a newbie on Labview. I just want this old program to run on the new computer.
    The guys that installed the drivers on the old computer are no longer here in my department.
    And I have no idea where the drivers are. So I just downloaded the drivers needed for my hardware and instruments.
    Here's my hardware: (cards: PCI-DIO-96, PCI-GPIB), (instruments: SCB100,E4407B, HP83623, HP3458, HP8657)
    OS: Windows XP Pro
    By the way, I have unzipped the TraditionalDAQ drivers. First I tried the 7.4.1, but installation error appeared.
    I thought maybe the installer is corrupted, so I downloaded the 7.4.4 and unzipped it.
    But, still same installation error appears. I don't understand, both TraditionalDAQ drivers have same installation error.
    Now I have tried the DAQmx8.7.2 driver, bu still the DIO Port Config and DIO Port Write have errors.

  • Call Library Function Node 'Wrapper.C​reate': Library not found or failed to load. using windows 7 64 bits

    Dear all
    I try to interface my spectrometer (NIRquest from ocean optics) using labview on my 64 bits cumputer using windows 7.
    I have absolutely no problem to run the spectrometer with the program dedicated to the spectrometer (called Spetrasuite).
    I've installed "OmniDriverSPAM-1.66-win64-development-installer.e​xe" and everything went right.
    When I select a VI in LabView (e.g."wrapper_create.vi") from the wrapper.llb, LabView returns an error :
    "Call Library Function Node 'Wrapper.Create': Library not found or failed to load."
    I chek the call library function, but everyting seems to be right :
    I use LabView 8.6.1 and my others *.vi are running perfectly...
    Do you have any idea from where does the problem comes ?
    Thank you very much

    Hello Flanguy,
    In addition to smercurio_fc's feedback I can confirm that LabVIEW 8.6.1 doesn't exist in 64-bit version.
    Officially, LabVIEW 8.6.1 doesn't support Windows 7 either.
    The minimal version of LabVIEW you would need to both support Windows 7 and exist in 64-bit version is LabVIEW 2009 64-bit or any 64-bit versions which are more recent.
    In the two links (1 & 2) you can find more background information.
    Kind Regards,
    Wouter
    National Instruments Belgium

  • Call Library Function Node: library not found or failed to load

    Hello,
    I had a VI that could not find some of the dll functions it needed.  It works on one machine and not on another.  So foolishly I copied the dll in question from the working machine and pasted it over the one on the non-working machine. 
    Now all my math functions are broken on the machine I copied the dll too.  The error is "Call Library Function Node: library not found or failed to load"
    And if I try to relink in the VI I get "Error loading C:\National Instruments\LabVIEW 8.2\resource\lvanlys.dll" A dynamic link library (DLL) initialization routine failed."
    I tried a repair labview and that did not help.
    I tried uninstall and reinstall labview and that did not help!
    Please help me fix this!
    Version 8.2
    dll: C:\National Instruments\LabVIEW 8.2\resource\lvanlys.dll
    Jim

    What library did you first copy?
    Also lvanlys.dll depends on the Intel Math Kernel Library that gets installed in a different location "C:\Program Files\National Instruments\Shared\MKL".
    This Intel Math Kernel Library again depends on the Visual C runtime libraries. Most likely you replaced one of those runtime libraries somehow and now the Math Kernel Library (MKL) fails to initialize which causes thelvanlys.dll to fail its load.
    Without a good view on your system and what other NI software you have installed it is very hard to recommend a good way of proceeding. There are various versions of the MKL used by various versions of NI products and just deleting the entire MKL folder might get you into trouble with other NI tools.
    Deinstalling everything from NI, deleting the entire National Instruments folder and then reinstalling what you need would be the most safe proceeding.
    And next time don't just copy some Visual C runtime libraries between machines. Their dependencies are complicated at the least and simply not graspable by us mere mortals. Use the according C runtime installer for the version you need as that installer will take care of installing the right versions of C runtime components and registering everything proberly so you do not usually run into problems with other applications using different versions of the C runtime.
    Message Edited by rolfk on 03-01-2010 10:26 AM
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • What does this Adobe Muse error message mean: MuseJSAssert: Error calling slector function:SecurityError: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with orign "null" from accessing a cross-origin frame.

    So what is up with this error message in Muse?
    MuseJSAssert: Error calling slector function:SecurityError: Failed to read the ‘contentDocument’ property from ‘HTMLIFrameElement’: Blocked a frame with orign “null” from accessing a cross-origin frame.

    This is a genuine security error generated by the browser when viewing a page with iFrame content locally.
    Please refer to Zak's reply in the following thread: https://forums.adobe.com/message/6496180#6496180
    Cheers,
    Vikas

  • Calling a function in a swf with TLFTextField from an external program fails

    I have a program A that loads another swf B, and after B is loaded, A will call a function of B.  It used to work when B creates a TextField and uses TextFormat, but when I changed to creating a TLFTextField, I got this error:
    Reference Error: Error #1069:  Property loadCurrentPictureFromMenu not found on ECard__Preloader__ and there is no default value.
    at ECard/swfLoadCompleteEventHandler()....
    And also
    Warning: Ignoring 'secure' attribute in policy file from http://fpdownload.adobe.com/pub/swz/crossdomain.xml.  The secure attribute is only permitted in HTTPS and socket policy files......
    So I wrote these 2 programs to test this:
    ----------------------- Test B -------------------------
    import fl.text.TLFTextField;
    import flashx.textLayout.formats.TextLayoutFormat;
    import flashx.textLayout.elements.TextFlow;
    var myFormat:TextLayoutFormat = new TextLayoutFormat();
    myFormat.fontFamily = "Kids";
    myFormat.fontSize = 24;
    var tlfTextField:TLFTextField = new TLFTextField();
    tlfTextField.x = 50;
    tlfTextField.y = 50;
    addChild(tlfTextField);
    var myTextFlow:TextFlow = tlfTextField.textFlow;
    myTextFlow.hostFormat = myFormat;
    myTextFlow.flowComposer.updateAllControllers();
    tlfTextField.text = "Testing this";
    function changeText(string:String):void
         tlfTextField.text = string;
    ---------------------- Test A -----------------------------------
    import flash.net.URLRequest;
    import flash.display.Loader;
    import flash.display.MovieClip;
    var urlRequest:URLRequest = new URLRequest("testTLFTextField.swf");
    var loader:Loader = new Loader();
    loader.load(urlRequest);
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadingCompleteEventHandler);
    function loadingCompleteEventHandler(evt:Event):void
         addChild(loader);
         loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, loadingCompleteEventHandler);
         var mc:MovieClip = evt.currentTarget.content;
         mc.changeText("We are here");
    I got Error #1069 again, but when I changed TLFTextField back to TextField, it works again.  Test A can now find the function "changeText()" in Test B.
    I am using CS5.5.
    Any help is appreciated!
    Thanks in advance!

    I had this written in the program and commented it out when I was trying to debug an earlier problem.  I uncommented the Embed statement, but it is still not working on Android.  Running on PC is fine.  I will try out a few more things, if it still does not work, I will open a new thread.
    Thanks all for your help!

  • Failed to run parallel path when using call library function node in LV2009

    I have a problem with two parallel paths not being run in parallel on LabView 2009.
    See the image below.
    This code initializes an external device, the upper part contains a call library function node to download my code into the device. When done, the function returns and the "Done" flag is set to True.
    The lower part contains a call library function node to check the download status, reporting the percentage of downloaded code.
    This updates a progress bar that is referenced by the calling VI module and this works fine in LV 7, 8 and 2011. The lower path of the VI updates the progress bar while the CLFN in the upper part is still downloading code to my device.
    Somehow, in LV2009 this does not work when running this inside my application. When running just the calling VI (the window showing the progress bar) it works but not when that VI is called by my application.
    Is there some limit on parallel threads that is different in 2009 than in other versions ?
    Or is there some other problem in 2009 that might cause this problem ?
    My labview version is 9.0f3 (32-bit).
    Regards,
    Rob

    I've just installed the DETT tool and checked what the different versions of LabView do.
    In LV2009 the application instance runs in a thread (5) but the modal dialog (the VI above) then drops to thread 0 and stays in thread 0.
    In LV2011, stays in the same thread as the application instance and only a trigger event (this could be the progress bar reference?) is executed in thread 0.
    So it seems there is a 'feature' in LV2009 where modal dialogs are by default not following the preferred execution system set in the VI properties ...
    When I change this from "same as caller" into another thread (I used "other 1") then my progress bar works as expected.
    I'm not a LabView thread expert (not even a novice ) so I'm just guessing that "other 1" as a thread is OK. This VI only runs during startup of the application to download the code to my device.
    To answer Ben's question: "What thread does a modal VI run in?":
    In LV2009, the modal VI runs in thread 0 (UI thread ?). When the preferred execution system is set to another thread, the modal dialog still starts in thread 0 but then switches over to the other thread.
    In LV2011, the model VI runs in the caller's thread (preferred execution system set to "follow caller") from start.
    Thanks,
    Rob

  • Error when call RFC Function module in R/3

    Dear All,
    We are trying to call RFC function module CBIF_GLM1_PROCESS_ORDER_READ (This is not a BAPI and also not released ) in R/3 from XI system.
    we are facing the error "Error while lookup Exception during processing the payload. Error when calling an adapter by using the communication channel CC_PPPI_MES_RFC_Rcvr (Party: , Service: WCD_320, Object ID: 16563889b449328eac76caa6a3bc592e) XI AF API call failed. Module exception: 'error while processing the request to rfc-client: com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.adapter.rfc.core.client.RfcClientException: failed to parse BAPI response due to: com.sap.aii.adapter.rfc.util.bapi.BapiException: Parameter with name RETURN not found.'. Cause Exception: 'com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.adapter.rfc.core.client.RfcClientException: failed to parse BAPI response due to: com.sap.aii.adapter.rfc.util.bapi.BapiException: Parameter with name RETURN not found.'."
    This is the first time we are doing this configuration.
    Could you please let me know what woulbe the reason.

    read the original message
    We are trying to call RFC function module CBIF_GLM1_PROCESS_ORDER_READ (This is not a BAPI and also not released ) in R/3 from XI system.
    I am talking about the above Receiver RFC channel which you guys are using to call R/3 from XI. That where you need to change the commit parameter

  • Calling a function module from within a transformation routine

    I created a routine within a transformation and experience the following weird behavior now:
    When I call a function module within that routine, the load fails with the following error message:
    Exceptions in Substep: Rules
    When I click on the button next to this text, it point me to my function module call.
    What I do not understand is, that the following two scenarios work fine:
    - Having the same function call (with fake values) in a plain ABAP program works beautilfully
    - If I copy the content of my function module directly into my transformation routine, everything works fine as well
    I am now wondering whether the routine does not "see" the function module I am calling. The module resides in a different package. Is that a problem? Do I have to include something first?
    Here is the code that calls my FM (
    CALL FUNCTION 'Z_CA_CONVERT_US_COST'
         EXPORTING
            PSOURCEVAL                      = SOURCE_FIELDS-/BIC/USFRZMFC
            PSOURCEUOM                      = SOURCE_FIELDS-BASE_UOM
            PUSITM                          = SOURCE_FIELDS-/BIC/USITM
            PTARGETUOM                      = PRODUCTION_UOM
         IMPORTING
            PTARGETVAL                = RESULT
         EXCEPTIONS
           CONVERSION_NOT_MAINTAINED = 1
           PARTNO_NOT_FOUND          = 2
           OTHERS                    = 3.
    Thanks a lot for your help. Points will be assigned.
    Dennis

    Good catch, BI Learner. This was exactly it: when assigning the values from SOURCEFIELDS directly to the import/export parameters, you have to make sure that the types are EXACTLY the same, otherwise it will not work (the routine stops with an error when calling the FM, but there is no dump).
    Therefore, to solve my problem, I created the declarations precisely as expected by the FM and assigned the values to these fields:
    DATA:
          SOURCEVAL TYPE  /BIC/OIINVQTY,
          SOURCEUOM TYPE  /BIC/OIUSUOM,
          USITM TYPE  /BIC/OIUSITM,
          TARGETUOM TYPE  /BIC/OIUSUOM,
          CONVERTED_COST TYPE  /BIC/OIINVQTY.
    DATA PRODUCTION_UOM TYPE /BIC/OIUSUOM.
    " get the Production UOM
        SELECT SINGLE I~/BIC/USPRDUOM
          FROM /BIC/PUSITM AS I
          INTO PRODUCTION_UOM
          WHERE I~/BIC/USITM = SOURCE_FIELDS-/BIC/USITM AND I~OBJVERS = 'A'.
        IF ( SY-SUBRC = 4 ). " no records found
          "RAISE PARTNO_NOT_FOUND.
          RAISE EXCEPTION TYPE CX_RSROUT_SKIP_RECORD.
        ENDIF.
    " load the parameters
        SOURCEVAL = SOURCE_FIELDS-/BIC/USFRZMFC.
        SOURCEUOM = SOURCE_FIELDS-BASE_UOM.
        USITM = SOURCE_FIELDS-/BIC/USITM.
    " then you can call the FM
        CALL FUNCTION 'Z_CA_CONVERT_US_COST'
          EXPORTING
            PSOURCEVAL                = SOURCEVAL
            PSOURCEUOM                = SOURCEUOM
            PUSITM                    = USITM
            PTARGETUOM                = PRODUCTION_UOM
          IMPORTING
            PTARGETVAL                = CONVERTED_COST
          EXCEPTIONS
            CONVERSION_NOT_MAINTAINED = 1
            PARTNO_NOT_FOUND          = 2
            OTHERS                    = 3.
    " ... [do the rest]
    Thanks for your help,
    Dennis

  • How to call a function module in VC

    Hi,
    I want to call a function module for an addition formula which shall calculate and infer the value.
    eg. quantities of 5 different characteristics (of numeric data) is to be summed up and inferred against the 6th characteristic.
    I want to know the detailed process to create a Variant Function and use it in a dependency.
    Request to please advise the steps, type of dependency and its code.
    Regards,
    Rajesh Mohapatra

    Dear Rajesh,
    I also wanted to learn how to do that, your post motivated me to use a bit of freetime and investigate on the subject. I finally made my function work, so here are the tips.
    The example is very simple, just a variant function with two inputs and which multiplies inside the input values and transfer that result to the output ( 3 x 4 => 12 ).
    Deducting how to add five values or any other logic would be easier starting from there.
    STEP 1: Create Variant Class for the product. I imagine you already have that. In my case its name is ZVC_CLASS, you have already a material assigned to the class, a configuration profile, etc....
    STEP 2: Create Three Characteristics Z_NUM_CH_1,Z_NUM_CH_2,Z_NUM_CH_3 the three of numeric type
    STEP 3: Assign characteristics from step 2 into class ZVC_CLASS
    STEP 4: Create the function module with the code given below. I put the name ZVC_FUN_TEST
    FUNCTION ZVC_FUN_TEST.
    ""Interfase local
    *"  IMPORTING
    *"     REFERENCE(GLOBALS) TYPE  CUOV_00
    *"  TABLES
    *"      QUERY STRUCTURE  CUOV_01
    *"      MATCH STRUCTURE  CUOV_01
    *"  EXCEPTIONS
    *"      FAIL
    *"      INTERNAL_ERROR
    *- Inicializar los valores.
      DATA:
      GV_VALOR_FINAL        TYPE CUOV_01-ATFLV,
      GV_VALOR_NUM1         TYPE CUOV_01-ATFLV,
      GV_VALOR_NUM2         TYPE CUOV_01-ATFLV.
      CLEAR:
        gv_valor_final,
        gv_valor_num1,
        gv_valor_num2.
    CALL FUNCTION 'CUOV_GET_FUNCTION_ARGUMENT'
        EXPORTING
          ARGUMENT            =  'Z_NUM_CH_1'
        IMPORTING
         VTYPE               =  P_VTYPE1
         SYM_VAL             =  P_VALOR_SYM1
          NUM_VAL             =  gv_valor_num1
      IO_FLAG             =
        TABLES
          QUERY               =  QUERY
        EXCEPTIONS
          ARG_NOT_FOUND       = 01.
      IF SY-SUBRC <> 0.
        RAISE INTERNAL_ERROR.
      ENDIF.
    CALL FUNCTION 'CUOV_GET_FUNCTION_ARGUMENT'
        EXPORTING
          ARGUMENT            =  'Z_NUM_CH_2'
        IMPORTING
         VTYPE               =  P_VTYPE1
         SYM_VAL             =  P_VALOR_SYM1
          NUM_VAL             =  gv_valor_num2
      IO_FLAG             =
        TABLES
          QUERY               =  QUERY
        EXCEPTIONS
          ARG_NOT_FOUND       = 01.
      IF SY-SUBRC <> 0.
        RAISE INTERNAL_ERROR.
      ENDIF.
    *- Calculate final value
      gv_valor_final = gv_valor_num1 * gv_valor_num2.          "Especifico de c/u.
    DATA: VTYPE TYPE CUOV_01-ATFOR.
    VTYPE = 'NUM'.
    CALL FUNCTION 'CUOV_SET_FUNCTION_ARGUMENT'
        EXPORTING
          ARGUMENT                = 'Z_NUM_CH_3'
          VTYPE                   = VTYPE
          NUM_VAL                 =  gv_valor_final
        TABLES
          MATCH                   = MATCH
        EXCEPTIONS
          EXISTING_VALUE_REPLACED = 01.
      IF SY-SUBRC <> 0.
        RAISE INTERNAL_ERROR.
      ENDIF.
    ENDFUNCTION.
    STEP 5: Activate the function module for Variant Configuration in transaction CU65, put there your function module, release int and in button characteristics write  Z_NUM_CH_1,Z_NUM_CH_2,Z_NUM_CH_3. Flag the first two lines as they are inputs.
    STEP 6: Create a Dependency ZVC_PROC_TEST of type Procedure to call the function with this code:
    000010 Function ZVC_FUN_TEST           
    000020 (Z_NUM_CH_1 = $root.Z_NUM_CH_1, 
    000030 Z_NUM_CH_2 = $root.Z_NUM_CH_2,  
    000040 Z_NUM_CH_3 = $self.Z_NUM_CH_3)  
    STEP 7: Lets say I want to calculate the multiplication only upon the selection of another characteristic "Calculate" YES/NO. For this I create a characteristic in CT04 Z_CALCULATE type CHAR 1 with possible values Y or N. For the value Y y add the procedure ZVC_PROC_TEST so that formula only activates on Y.
    STEP 8: Add characteristic Z_CALCULATE to class  ZVC_CLASS
    STEP 9: VA01, it should work

Maybe you are looking for

  • How to use SharePoint integration in Adobe Reader XI?

    Acrobat XI and Reader XI are now offering a SharePoint integration feature, supporting SharePoint 2010 and 2013. In 'Adobe Enterprise Administration Guide' there are some requirements mentioned for SharePoint, saying that there is a Acrobat License n

  • Backup To Disc using iTunes not working

    When I Backup to Disc (DVD) using the Backup in iTunes I have 150 purchased songs and 2 audio books. Only twenty two items are going to the disc. A few folders for example: Fleetwood Mac has 4 songs in it but the total sum comes no where to the total

  • 404 errors from Mavericks web server

    Running Mavericks server in VirtualBox while I come up with a checklist for implementing WordPress on a Mac mini next week. Running into strange 404 errors that I'm not familiar with. 1) Turned on web server and PHP. Localhost opens the default web p

  • Problems with reset password

    Hi all, I wanna ask support for my other account Skype where I can't reset my password. I try to reset it with my email and when I inserit new password the system give me problem and I can't log in to my account. Why? Why I can't use it anymore? Pls

  • Biztalk MQSeries issue with whitespace characters

    We have a Biztalk 2010 implementation that is putting messages onto a MQSeries (v 7.1) Queue.   Sometimes the messages have a "/r" or "/n" embedded in an xml element typed as xsi:string.   When the message is put onto the MQSeries Queue the "/r" or "