Export with BiarEngine.jar works, using the API it throws an exception

Hello,
I'm using BiarEngine.jar to export from my CMS. it works fine.
Now I want to use the API to get someting more handy, but I receive an exception (NoSuchFieldError) as if I had a mismatch between versions.
I'm stuck with it, if somebody has an idea...
Thanks a lot.
Alain
Here is the java code:
IExportOptions oExportOptions = BIARFactory.getFactory().createExportOptions();
oExportOptions.setIncludeSecurity(false);
oExportOptions.setIncludeDependencies(true);
oExportOptions.setCallback(
     new IExportCallback()
          public void onSuccess(int id)      {...}
          public void onFailure(int id, BIARException biarException) {...};
BIAROutput oBIAROutput = new BIAROutput( oEntrepriseSession, "c:\myFile.biar", exportOptions );
At this point it throws the exception:
Exception in thread "main" java.lang.NoSuchFieldError: SI_MODELCUID_SET
     at com.businessobjects.sdk.plugin.desktop.deltastore.internal.DeltaStore.setupProperties(DeltaStore.java:188)
     at com.businessobjects.sdk.plugin.desktop.deltastore.internal.DeltaStore.unpack(DeltaStore.java:37)
     at com.crystaldecisions.sdk.occa.infostore.internal.al.continueUnpack(Unknown Source)
     at com.crystaldecisions.sdk.occa.infostore.internal.al.startUnpack(Unknown Source)
     at com.crystaldecisions.sdk.occa.infostore.internal.InternalInfoStore.queryHelper(Unknown Source)
     at com.crystaldecisions.sdk.occa.infostore.internal.InternalInfoStore.query(Unknown Source)
     at com.crystaldecisions.sdk.occa.infostore.internal.at.query(Unknown Source)
     at com.businessobjects.sdk.biar.internal.XSDManager$RepositoryXSD.retrieveXSDVersions(XSDManager.java:204)
     at com.businessobjects.sdk.biar.internal.XSDManager$RepositoryXSD.<init>(XSDManager.java:194)
     at com.businessobjects.sdk.biar.internal.XSDManager$XSDCache.getXSD(XSDManager.java:365)
     at com.businessobjects.sdk.biar.internal.XSDManager.<init>(XSDManager.java:55)
     at com.businessobjects.sdk.biar.BIAROutput.<init>(BIAROutput.java:73)

>
Just need to confirm if the ANT script can be run against individual OSB project than OSB configuration project?
>
It is possible. I'm going the same way here. However, I remember I needed to contact support because it was not a standard feature of the Ant task. They provided me with the patch that allowed me to use -configSubProjects parameter in export.
>
Can we have multiple OSB configuration projects on the OSB server ?
>
I don't think so.

Similar Messages

  • The notifications aren't update using the API of universal work list

    We use in the portal home a development iview  that works with de API of Universal Work List. This iview shows the number of notifications and tasks. While the number of tasks are updated correctly, the number of notifications are not refreshed. The only way to update the number of notifications is going and refreshing the Universal Work List iView provided by SAP.
    The API that we are using not support this case? Any suggestion?
    We haven’t found information about this.
    Our system version is 7.00 SP14
    We attachment the call that we‘ve used.
          try {
            notificaciones = tareas = 0;
            IUWLService uwlService =
              (IUWLService)PortalRuntime.getRuntimeResources().getService(
                IUWLService.ALIAS_KEY);
            UWLContext uwlContext = new UWLContext();
            IUser user = componentRequest.getUser();
            uwlContext.setUser(user);
            uwlContext.setAllowBackEndConnections(true);
            uwlService.beginSession(uwlContext, -1);
            IUWLItemManager itemManager = uwlService.getItemManager(uwlContext);
            QueryResult result =
              itemManager.refreshCacheAndGetItems(uwlContext, null, null, null);
            ItemCollection collection = result.getItems();
            for (int i = 0; i < collection.size(); i++) {
              Item item = collection.get(i);
              if ((item.isUnRead() || item.isNew())
                && item.getItemType().startsWith("uwl.notification")) {
                notificaciones++;
              } else if (
                (item.isUnRead() || item.isNew())
                  && item.getItemType().startsWith("uwl.task")) {
                tareas++;
            uwlService.endSession(uwlContext);
          } catch (UWLException e) {
            e.printStackTrace();
    Regards

    Thank you very much for your quick answer...
    But I think that you don't understand me. We can read notifications number but not in real time because they are not updated until we go to the UWL and we force there an update. We want to show in real time the number of notifications that a user has.
    Does anybody how to update/refresh this using the API?
    Thanks for your suggestions

  • My speaker does not pick up sound when i video with my iphone or use the speaker,  yet the voice recorder works?

    my speaker does not pick up sound when i video with my iphone or use the speaker,  yet the voice recorder works? any ideas why? thanks

    Speakers have never picked up sound.
    Microphones record sound.

  • How to do frequency division to a external signal use the api with vc

    i use the api and vc do frequency division.
    and i choose the function DAQmxCreateCOPulseChanTicks
    the problem is the parameter of sourceTermianl in DAQmxCreateCOPulseChanTicks
    i just do not how to use it, please help me ,thanks

        I can`t see your VI cause i've a lower version. I hope this VI to do what you want. 
    But now i have one question: Somebody knows why i get this message when i enable the disable diagram of the this vi? The message is attached, version is 8.0, winxp.
    Paul
    Mechatronic engineer
    Lima-Perú
    Attachments:
    FOURIER_TIME_SCALING.vi ‏25 KB
    msg.JPG ‏31 KB

  • NO-DATA_FOUND while using the API hr_employee_api.create_employee.

    Hi All,
    I am using the API "hr_employee_api.create_employee", to create an employee.
    My call is as follows :
    hr_employee_api.create_employee
    -- p_validate in boolean default false
    p_hire_date =>sysdate
    ,p_business_group_id =>0
    ,p_last_name =>'Keerthi'
    ,p_sex =>'M'
    ,p_person_type_id =>6 --from the 'table PER_PERSON_TYPES'
    ,p_per_comments =>'Test Employee Creation'
    --,p_date_employee_data_verified in date default null
    ,p_date_of_birth =>TO_DATE('07-NOV-1981','DD-MON-YYYY')
    ,p_email_address =>'[email protected]'
    ,p_employee_number =>l_emplyee_number
    -- ,p_expense_check_send_to_addres in varchar2 default null
    ,p_first_name =>'Vijay'
    ,p_known_as =>'Vijay Keerthi'
    ,p_marital_status =>'S'
    -- ,p_middle_names in varchar2 default null
    -- ,p_nationality =>'US'
    -- ,p_national_identifier in varchar2 default null
    -- ,p_previous_last_name in varchar2 default null
    -- ,p_registered_disabled_flag in varchar2 default null
    ,p_title =>'MR.'
    -- ,p_vendor_id in number default null
    ,p_work_telephone =>'3033284497'
    -- ,p_attribute_category in varchar2 default null
    -- ,p_attribute1 in varchar2 default null
    -- ,p_attribute2 in varchar2 default null
    -- ,p_attribute3 in varchar2 default null
    -- ,p_attribute4 in varchar2 default null
    -- ,p_attribute5 in varchar2 default null
    -- ,p_attribute6 in varchar2 default null
    -- ,p_attribute7 in varchar2 default null
    -- ,p_attribute8 in varchar2 default null
    -- ,p_attribute9 in varchar2 default null
    -- ,p_attribute10 in varchar2 default null
    -- ,p_attribute11 in varchar2 default null
    -- ,p_attribute12 in varchar2 default null
    -- ,p_attribute13 in varchar2 default null
    -- ,p_attribute14 in varchar2 default null
    -- ,p_attribute15 in varchar2 default null
    -- ,p_attribute16 in varchar2 default null
    -- ,p_attribute17 in varchar2 default null
    -- ,p_attribute18 in varchar2 default null
    -- ,p_attribute19 in varchar2 default null
    -- ,p_attribute20 in varchar2 default null
    -- ,p_attribute21 in varchar2 default null
    -- ,p_attribute22 in varchar2 default null
    -- ,p_attribute23 in varchar2 default null
    -- ,p_attribute24 in varchar2 default null
    -- ,p_attribute25 in varchar2 default null
    -- ,p_attribute26 in varchar2 default null
    -- ,p_attribute27 in varchar2 default null
    -- ,p_attribute28 in varchar2 default null
    -- ,p_attribute29 in varchar2 default null
    -- ,p_attribute30 in varchar2 default null
    ,p_per_information_category =>'US'
    -- p_per_information_category - Obsolete parameter, do not use
    -- ,p_per_information1 in varchar2 default null
    -- ,p_per_information2 in varchar2 default null
    -- ,p_per_information3 in varchar2 default null
    -- ,p_per_information4 in varchar2 default null
    -- ,p_per_information5 in varchar2 default null
    -- ,p_per_information6 in varchar2 default null
    ,p_per_information7 =>'INCL'
    -- ,p_per_information8 in varchar2 default null
    -- ,p_per_information9 in varchar2 default null
    -- ,p_per_information10 in varchar2 default null
    -- ,p_per_information11 in varchar2 default null
    -- ,p_per_information12 in varchar2 default null
    -- ,p_per_information13 in varchar2 default null
    -- ,p_per_information14 in varchar2 default null
    -- ,p_per_information15 in varchar2 default null
    -- ,p_per_information16 in varchar2 default null
    -- ,p_per_information17 in varchar2 default null
    -- ,p_per_information18 in varchar2 default null
    -- ,p_per_information19 in varchar2 default null
    -- ,p_per_information20 in varchar2 default null
    -- ,p_per_information21 in varchar2 default null
    -- ,p_per_information22 in varchar2 default null
    -- ,p_per_information23 in varchar2 default null
    -- ,p_per_information24 in varchar2 default null
    -- ,p_per_information25 in varchar2 default null
    -- ,p_per_information26 in varchar2 default null
    -- ,p_per_information27 in varchar2 default null
    -- ,p_per_information28 in varchar2 default null
    -- ,p_per_information29 in varchar2 default null
    -- ,p_per_information30 in varchar2 default null
    -- ,p_date_of_death in date default null
    -- ,p_background_check_status in varchar2 default null
    -- ,p_background_date_check in date default null
    -- ,p_blood_type in varchar2 default null
    -- ,p_correspondence_language in varchar2 default null
    -- ,p_fast_path_employee in varchar2 default null
    -- ,p_fte_capacity in number default null
    -- ,p_honors in varchar2 default null
    -- ,p_internal_location in varchar2 default null
    -- ,p_last_medical_test_by in varchar2 default null
    -- ,p_last_medical_test_date in date default null
    -- ,p_mailstop in varchar2 default null
    -- ,p_office_number in varchar2 default null
    -- ,p_on_military_service in varchar2 default null
    -- ,p_pre_name_adjunct in varchar2 default null
    -- ,p_rehire_recommendation in varchar2 default null -- Bug3210500
    -- ,p_projected_start_date in date default null
    -- ,p_resume_exists in varchar2 default null
    -- ,p_resume_last_updated in date default null
    -- ,p_second_passport_exists in varchar2 default null
    -- ,p_student_status in varchar2 default null
    -- ,p_work_schedule in varchar2 default null
    -- ,p_suffix in varchar2 default null
    -- ,p_benefit_group_id in number default null
    -- ,p_receipt_of_death_cert_date in date default null
    -- ,p_coord_ben_med_pln_no in varchar2 default null
    -- ,p_coord_ben_no_cvg_flag in varchar2 default 'N'
    -- ,p_coord_ben_med_ext_er in varchar2 default null
    -- ,p_coord_ben_med_pl_name in varchar2 default null
    -- ,p_coord_ben_med_insr_crr_name in varchar2 default null
    -- ,p_coord_ben_med_insr_crr_ident in varchar2 default null
    -- ,p_coord_ben_med_cvg_strt_dt in date default null
    -- ,p_coord_ben_med_cvg_end_dt in date default null
    -- ,p_uses_tobacco_flag in varchar2 default null
    -- ,p_dpdnt_adoption_date in date default null
    -- ,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
    -- ,p_original_date_of_hire in date default null
    -- ,p_adjusted_svc_date in date default null
    ,p_town_of_birth =>'Denver'
    ,p_region_of_birth =>'Asia'
    ,p_country_of_birth =>'US'
    -- ,p_global_person_id in varchar2 default null
    -- ,p_party_id in number default null
    ,p_person_id =>l_person_id
    ,p_assignment_id =>l_assignment_id
    ,p_per_object_version_number =>l_per_object_version_number
    ,p_asg_object_version_number =>l_asg_object_version_number
    ,p_per_effective_start_date =>l_per_effective_start_date
    ,p_per_effective_end_date =>l_per_effective_end_date
    ,p_full_name =>l_full_name
    ,p_per_comment_id =>l_per_comment_id
    ,p_assignment_sequence =>l_assignment_sequence
    ,p_assignment_number =>l_assignment_number
    ,p_name_combination_warning =>l_name_combination_warning
    ,p_assign_payroll_warning =>l_assign_payroll_warning
    ,p_orig_hire_warning =>l_orig_hire_warning
    This gives me an Error No_DATA_FOUND. I went an debugged through the code, where in I found that
    the following cursor query (in the API: "hr_assignment.update_assgn_context_value") is returning no values.
    cursor csr_ass_data is
    select ass_attribute_category
    from per_all_assignments_f
    where business_group_id = p_business_group_id
    and person_id = p_person_id
    and assignment_id = p_assignment_id
    and effective_start_date = p_effective_start_date
    and primary_flag = 'Y';
    Also, I found out that an assignment_id is coming back after the call to the API "hr_assignment_internal.create_default_emp_asg" from within the API "hr_employee_api.create_employee".
    Now, my question, why is the above cursor query giving me a no-data-found.
    Is there any setup that I am missing like setting DFF or enabling a profile option etc.,
    Please let me know.
    Thanks in Advance,
    Vijay

    Hi Gaurav,
    Thanks for the reply. But I caught the issue.
    The issue is with the parameter "p_hire_date =>sysdate" and the code in the API hr_employee_api.create_employee.
    What it does is, it captures the date that we pass "p_hire_date" into a local variable "l_hire_date" as follows:
    l_hire_Date := TRIM(p_hire_date) and then passes the l_hire_date to the API "hr_assignment_internal.create_default_emp_asg". The API works fine and also returns us an assignment ID. Everything is fine till now.
    The problem begins with the call to the API "hr_assignment.update_assgn_context_value", where in the p_hire_date is passed, instead of the l_hire_date and hence the NO_DATA_FOUND comes up.
    What Happens ?
    1.The date that I passed has the time component in it.
    2.The assignment gets created with a date that has no time component (due to TRIM).
    3The query has a where condition on the date with the time component.
    Hence, it returns no rows.
    Solution: Pass the p_hire_Date as trunc(sysdate) than simply sysdate.
    Thanks,
    Vijay

  • How do I create/update an Excel file using the API?

    Hi,
    I've successfully created a "Web Intelligence" document using the API (POST /raylight/v1/documents).  However, I need to do the same for an Excel file type and have been unable to do so.  Attached are the different steps needed to accomplish this with the UI.  I need to be able to do the same thing through the API.
    I searched through the docs but haven't found anything regarding this particular aspect.
    Does anyone have a clue? 
    Thanks

    Thanks for the link.  I'm using .Net and thought the process would be fairly similar.  It is indeed, however, I'm stuck with the following error when committing on the infoStore object:
    File Repository Server error :
    ErrorCode: -2147210678
    Here's the code I'm using:
    var folderID = infoStore.Query("Select TOP 1 SI_ID From CI_INFOOBJECTS Where SI_KIND='Folder' And SI_NAME='myfolder'")[1].ID;
    var infoObjects = infoStore.NewInfoObjectCollection();
    var infoObject = infoObjects.Add(CrystalDecisions.Enterprise.InfoStore.CeKind.EXCEL);
    infoObject.Title = "Book4.xlsx";
    infoObject.Files.Add("C:\\Users\\myuser\\Documents\\Book4.xlsx");
    infoObject.ParentID = folderID;
    infoStore.Commit(infoObjects);
    I know the problem is related to "infoObject.Files.Add" because when I omit this statement, it works but the file has no content.
    Any idea why???  It's driving me crazy

  • How Do I Use the API to Abbreviate?

    How do I use the ACE API to limit the output field length and properly abbreviate the output field?
    Using the pwace command-line application, I get abbreviated output that looks like this for a 30 byte field:
    nnnnn GEORGE WASHNGTN MMRL HWY
    However, when using the API, I end up with a truncated field:
    nnnnn GEORGE WASHINGTON MEMORI
    This is from the PRIM_ADDR field.
    How do I use the API to get the same field value as the command-line application?
    Thanks,
    Rob
    Edited by: rriggs on Jun 30, 2010 11:36 PM

    Rob,
    The jobfile product has intelligent truncation built into the product.  However, with the API this would be up for the user to code around. 
    Thanks,
    Brandon

  • While creating Projects Using the API, get two errors: 'Customer name must be passed' and 'class category is invalid'

    Hi
    While trying to Create Projects using the API, I'm getting two types of errors -
    The first is : 'API failed in one stage 1 Customer Name is a mandatory Quick Entry field. Value must be passed'
    The second is : '
    'API failed in one stage 1 Project: '<Project_Number>'
    The class category is invalid.'
    Both the messages are produced by our custom program. .. however I am not able to understand why the underlying errors occur.
    The first error ( Customer Name is a mandatory quick entry field), is caused by Projects that are to be created from Project templates where it is configured with Quick Entry Customer Name required. We are passing Customer Site number ( Party Bill to site number and Party Ship to side number). The site numbers being passed are also set as 'Primary'. Yet they are failing.
    For the second Error ( The Class Category is invalid), I rechecked multiple times, the Class categories for the Projects I am trying to create, with the Config in R12 and they are fine. Can't understand the reason for these two issues. Has anyone encountered such an issue ? If so how was it resolved?
    Regards
    Vivek

    HI All
    I resolved both the issues. In case there are others facing similar issues, following was the cause and resolution of my errors
    1. Error 1: Customer Name is a Mandatory Quick Entry field. Value must be passed.
    The cause was that the data loaded into our custom staging table was not in the right fields. This was because the data file values and the CTL were not in sync.
    Resolution:
    Corrected the data file to be in Sync with the structure defined in the CTL and  this loaded it successfully
    2. Error 2: The class category is invalid.
    The cause of this error was that  in the  Projects Template (used to create the project from), the Quick Entry setup had a Class Category set as required and I was not passing a value ( a class code value) for that Class Category.
    Hope this helps somebody else
    Cheers
    Turnbill

  • Trying to create Invoice using the API,however i am not able to create the customer accounts in the front end

    when creating invoice using the API AR_INVOICE_AP_PUB.Create_Single_invoice Am Getting the below Error:
    Transaction type is invalid with current transaction date
    invalid transaction type
    either an inventory item description must be provided
    Kindly help me here

    Hi Team,
    I  tried creating the invoice and I got the above errors, however, when updated the batch source ID I am now getting this following error only, i am just left with the following Error only
    Either an inventory item or description must be provided.
    Please help me on this.

  • Create a jar file using the jar tool

    Hello all,
    can somebody help me with this situation:
    I use the following comand
    jar cfm Seti.jar manifest.mf SetiSeti.jar is the name of the file I want to create and Seti is the name of the folder where I have the class files, the manifest file and the Seti.java. The manifest file is also out of this folder (exactly the folder were I use the command on the command line).
    After creating the jar... I try to run it but it gives an error message: "can't find the main class..."
    The content of the manifest file is:
    "Manifest-Version: 1.0
    Main-Class: Seti
    I'd never created a jar file before and have already read all the usefull information here and at sun... I'm very preoccupied with this..
    Can you help?
    Thanks

    RuiAranhaJava wrote:
    How do I do this?
    "And you have to name that package as well when you name the main class in the manifest. "
    But, as I have told the name of the package is SetiNo, you just told us that the name of your class is Set. You never told us about the name of the package.
    Simples question possible: Does your class look something like this:
    package Seti;
    // maybe there are some import statements here, maybe not
    public class Seti {
      // maybe there's something here, maybe not
      public static void main(String[] args) {
        // anything
    }If so, then the fully qualified name of your class is "Seti.Seti" and you need to write that into the Main-Class attribute. (*)
    If there is no package-Statement, then the fully qualified name of your class is simply "Seti" and the Main-Class attribute is correct, but your classes are in the wrong place.
    Edit:
    (*) Please note that package names should generally be all-lowercase, so it should be "seti" instead of "Seti". This helps distinguish it from the simple names of classes, so it's easy to see what you are talking about at a glance: "seti" would be the package, "Seti" the class name.

  • Creating LabVIEW module adapter TestStand Steps using the API without loading module prototype???

    Is it possible to programatically create a TestStand step (using the API), that calls a LabVIEW module, without loading the prototype of the module to get a reference to the Module Parameters.
    I want to specify a VI Pathname, but I dont want to use that pathname to load the prototype.  I want to programatically specify the name, type, representation etc. of each of the controls and indicators.
    My reason for attempting this is that I only want the VIs called by the steps to exist on the target hardware not on the numerous development machines running my application.
    Any thoughts greatly appreciated.
    Steve  
    https://decibel.ni.com/content/blogs/DailyCLAD

    Hi Steve,
    Unfortunatly it is not possible to do what you want within Test Stand but I am not sure why it is necessary, I think I am understanding your application incorrectly.  The only time you will need to load the prototype is if you are creating the step but if you are creating the step you will need the VI that the step calls so that VI will need to be present on the system.  If you are not calling the step then you shouldn't need to load the VI prototype.  If this is how you program funtions it may be a problem with your architecture but if not please could you correct my misunderstanding so that I can go about finding a suitable solution.
    Regards,
    Tom
    Applications Engineer
    National Instruments UK & Ireland

  • Multiple users working using the server from laptops

    Hello everyone.
    We have a Mac Mini Server in the house, and a couple of Mac laptops.
    I know that using screen sharing I can control the server from a laptop. However, when doing this whoever is physically sitting at the server will see their mouse possessed and not be able to do their own thing on the server.
    Given the fact that we have multiple users, would it be possible to have multiple people use their laptops to view the desktop of the server as they work on it, while logged in to their own individual user accounts, and control the server independently through those accounts?
    Not sure if that description was clear or not, but I think you'll get my gist. Basically I want to use the laptops as thin clients to work using the server. Also key is that multiple people be able to do this at the same time.
    Thanks for any suggestions!

    The Mac OS X graphical interface is a single-seat design. One Mac, one seat.
    There is no analog to Microsoft Windows Terminal Services, nor to multiple sessions on Windows XP Pro or analogous, nor multi-seat X Windows, nor to Thin Clients, with Mac OS X nor Mac OS X Server, short of the add-on package Aqua Connect or analogous.
    One of the usual mechanisms for controlling a Mac OS X Server is via the Server Admin tools. These are independent.
    Command-level management operations are also available via ssh and analogous. You can ssh into the server and manage many of the aspects of Mac OS X client and Mac OS X Server from the command line. These are fully independent sessions.
    Typical Mac OS X Server doesn't require all that much management, and it's probably not the best to have an interactive user operating on a server box regardless. This because servers typically support multiple users, so outages and reboots and operational errors and crashes will effect more than just the user in the seat at the server.

  • Since upgrading to 10.7.2 to use iCloud, i keep getting a message with ubd wants to use the login keychain, anyone for help to how to get rid of this...

    since upgrading to 10.7.2 to use iCloud, i keep getting a window message with ubd wants to use the login keychain, i put the right password but it keeps coming back, anyone for help to how to get rid of this...

    This is what I did and it seems to have worked so far. While that little annoying box is up you need to open the Keychain access by:
    going to applications -> open utilities folder -> click to open Keychain Access
    Now here is the stupid part, you have to continue to press the cancel button on the "ubd wants to use login keychain" box for the kaychain window to open. Once you have keychain access open go to:
    the top of your monitor and select "Keychain Access" right next to the little apple logo -> click preferences in the options panel-> the preference box will open now -> click "Reset My Default Keychain" -> another box will pop up that says "Please enter your login password. This password will be used to create your new keychain" (of course this is assuming that you use a login password to access your mac) -> enter your login password and a box shows up that says "created a new empty 'Login' keychain"
    After that you should be good to go. This new keychain you created with your login password overides the old keychain. The old keychain is still available in the Keychain's folder but is not being used and therefor can be deleted. All you have to do now is press ok, and your good. If the "ubd wants to use login keychain" box is still there after you reset your keychains just hit cancel and it should be gone for good or you can enter your login password.
    Is this a fixall that will work forever? I have no idea but doing this has allowed me to access my network at work and all the servers I need to get to.
    Oh and one more thing. You may need to press cancel on the ubd box throughout this entire process, I just gon in the habit of clicking a button hitting cancel on the ubd box and the new window would pop up.
    I hope this helps you! Sorry if it's long, I was trying to be as detailed as possible to make it  easier. Let me know how it goes.

  • Creating a mapping using the API

    Hi Brian, I am curious about this use case - what's the reason you are looking to do it using the API? You can create several objects using the API and the most typical use case we have observed is where mapping developers create a pattern or what we call as a "template" - which is a mapping with various properties parameterized. For example you can create a mapping with the filter parameterized, or define a very generic mapping with source, target and the field map between those all parameterized. Once you do that, you can create a "task" for this mapping (known as Mapping Configuration Task) - that can be done using our UI or using our REST API. If you choose the latter, you can pass on parameter values as part of the API request. Suggest you to take a look at our new Developer Portal, and specifically at the sections Templates and REST API there. Feel free to post any further questions here. If you sign up to the developer program there, you will get much more direct help.https://community.informatica.com/community/technology_partner_network Amol

    I was wondering about creating a mapping using the API. It clearly states in the Dev guide that this is possible, but when I perform a get mapping request, I don't see all the information given for a certain object.  For example, I don't see an expression in the mapping object (although one exists when I view the object in Cloud).   Has anyone else done this? Is it easy to create objects via the API?  Thanks!

  • To replace "\" with "/" in a string using FrameMaker API

    How to replace "\folder1\folder2\folder3" with "folder1/folder2/folder3" using framemaker API ?

    Hi Asha,
    Here is a function that I use for substring replacement, using all FDK library functions. If you use standard C libraries instead, you could probably reduce this to a line or two.
    To use it, you would send something like:
    path = F_StrCopyString("\\folder1\\folder2\\folder3");
    strReplace(path, "\\", "/", False);
    There might be better ways to do this. I'm not really that much of a programmer.
    Russ
    //returns the index of the first change, or -1 if no changes.
    IntT ws_StrReplace(StringT *mainString,
                       StringT searchString,
                       StringT replaceString,
                       IntT considerCase)
      StringT strBuf,
        returnString,
        appendString;
      IntT i,
        firstIndex = -1;
      //if the search string is empty, there is nothing to do.
      if(F_StrIsEmpty(searchString))
        returnString = F_StrCopyString(*mainString);
      else
        //otherwise, initialize the buffer
        returnString = F_StrCopyString("");
        for(i = 0; i < F_StrLen(*mainString); i++)
          strBuf = F_StrCopyString(*mainString);
          //Truncate the string from the beginning
          F_StrReverse(strBuf, 10000);
          F_StrTrunc(strBuf, (F_StrLen(strBuf) - i));
          F_StrReverse(strBuf, 10000);
          //and lop it down to the size of the search string
          if(F_StrLen(strBuf) > F_StrLen(searchString))
            F_StrTrunc(strBuf, F_StrLen(searchString));
          //if they are the same, we are doing the replacement
          if((considerCase && F_StrCmp(strBuf, searchString) == 0) ||
             (!considerCase && F_StrICmp(strBuf, searchString) == 0))
            appendString = F_StrCopyString(replaceString);
            //set the return value
            if(firstIndex < 0) firstIndex = i;
            //jimmy the loop so we step past the length of the replacement
            //string the next time around
            i += F_StrLen(searchString) - 1;
          //otherwise, we are just appending 1 character on.
          else
            F_StrTrunc(strBuf, 1);
            appendString = F_ApiCopyString(strBuf);
          //now, concatenate
          //rciReturnString = F_Realloc(rciReturnString,
            //F_StrLen(rciReturnString) + F_StrLen(rciAppendString), NO_DSE);
           returnString = (StringT) F_Realloc(returnString,
            (F_StrLen(returnString) + F_StrLen(appendString))*sizeof(StringT), NO_DSE);
          F_StrCat(returnString, appendString);
          F_ApiDeallocateString(&strBuf);
          F_ApiDeallocateString(&appendString);
        } //end main else
      //all done
      F_ApiDeallocateString(mainString);
      *mainString = F_StrCopyString(returnString);
      F_ApiDeallocateString(&returnString);
      return firstIndex;

Maybe you are looking for