EAI Siebel Adapter Updating Join Field

Hi Folks,
I insert an Account using EAI Siebel Adapter "Execute" Method.
Account BC has an explicit join named "Primary Industry" that "Primary Industry Id" points the "ROW_ID" of "S_INDUST" table. In Account BC fields there is an "Industry Name" field using "Primary Industry" join.
External System knows the Industry Name but it doesn't know the ROW_ID of given value.So Primary Industry Id (join field) couldn't be set.
Example S_INDUST record: ROW_ID:"1-ABC" INDUSTRY_NAME:"Energy"
XML Input from External System: <Account><Name>Account1</Name><IndustryName>Energy</IndustryName></A ccount>
When executing execute method of EAI Siebel Adapter It creates Account1 and sets Primary Industry Id to NULL.
What I need a lookup that uses the "Energy" keyword (Industry Name) and update the Primary Industry Id to "1-ABC"
What configurations should i make in order to set explicit join fields?
I appreciate if someone can help me.
Thanks.
Best Regards.
Doan.

Hi Doan,
You will have to write a script on the Account BC to update the details coming in from the Explicit Join Table. For this there should be a BC on the Join Table and your script can update the requisite fields by doing a query with the details in the XML that comes in.
So basically you will be querying on the other BC and setting field values there. Do this in the WriteRecord of your Account BC and you should be fine.
I am not aware of any other way of achieving this.
With Regards,
Tanmay Jain

Similar Messages

  • Help with Query function on EAI Siebel Adapter

    Can anyone help?
    I have a workflow that uses the Query method on EAI Siebel Adapter to search for a Contact in Siebel. The Root component is Contact and the Child component is Address.
    When I pass in a message that contains Contact data (i.e. LastName='Jones') and Address data (City='Perth') to query on, it returns all Contacts that match the Contact data, and for each of those Contacts if the address data matches it also returns the address.
    What I want it to do is only return those Contacts that match both the Contact data 'AND' the address data, not all of the Contacts that match the contact data.
    I hope this makes sense.
    I've also tried using the searchspec function too, but this does not do what I want it to do either.
    Hope you can help.
    Thanks,
    Carl
    Can a

    Hi,
    can you create a MVG in Contact which will refer to Business Address & then try to use searchspec argument. I hope it will work for you.

  • EAI Siebel Adapter upsert fails to upsert the LOV

    Hello,
    We have web services exchanges and some fields that we used are LOV, using vanilla LOV works when in the web service sent to siebel we used the LIC, because in the application it shows the Display name, we have a problem when we add a new value to the same LOV, when external system sent in the web service the LIC ,we receive an error that says the value doesnt exist in the LOV. What we can do to make that any value that we added to the LOV that arent the vanilla works properly when the value that its used in the web service its not the display value and is the LIC.
    any thoughts?
    S

    Hi,
    You can use the EAI Value Maps and in the Datamap you can map the value fetched from Value Map to match with the external values. This will not disturb the existing vanilla LOV.
    Regards,
    Joseph

  • How to update joined field

    Hi
    I have A view called "TaskUsres" with columns 'TaskId' and 'UserId'.
    this is a connection table between task and the users that should get it.
    On the Edit form of a task, I dragged this view as a read only table, with only 'userId' column.
    I added 'Add' button under the table that opens a popup dialog with users table ('userId' and 'userName')
    I would like that on click ok, the selected users names will be displayed in my table.
    I'm not sure exactly how to implement it.
    I was trying to define the 'UserId' column of "TaskUsres" view as LOV, but then I got problems with the sorting (its sorting by the id and not by the displayed name as expected).
    I would like to know what is the correct way to implement this requirement.
    And if you don't care please be detailed.
    Thanks a lot

    I'm using jdev version 11.1.2.3.0.
    As for now this is my code:
    <af:table value="#{bindings.TaskUsersView.collectionModel}" var="row"
    rows="#{bindings.TaskUsersView.rangeSize}"
    fetchSize="#{bindings.TaskUsersView.rangeSize}" rowBandingInterval="0" id="t2"
    binding="#{viewScope.editBean.taskUsersTbl}">
    <af:column sortProperty="#{bindings.TaskUsersView.hints.UserId.label}"sortable="true" headerText="Users" id="c7">
    <af:selectOneChoice value="#{row.bindings.UserId.inputValue}"
    label="#{row.bindings.UserId.label}"
    readOnly="true" id="soc3">
    <f:selectItems value="#{row.bindings.UserId.items}" id="si3"/>
    </af:selectOneChoice>
    </af:column>
    </af:table>
    The query of the TaskUsersView is:
    SELECT TASK_USER .TaskId,
    TASK_USER .UserId
    FROM TASK_USER
    I added definition of LOV to UserId coulmn and i'm using af:selectOneChoice in the af:column so it displays the UserName, as I want.
    On dialog ok click i'm calling a function in the bean, there I'm adding the selected users to the above table using this code:
    Row newRow = nav.createRow();
    newRow.setNewRowState(Row.STATUS_INITIALIZED);
    Row lastRow = nav.last();
    int lastRowIndex = nav.getRangeIndexOf(lastRow);
    nav.insertRowAtRangeIndex(lastRowIndex + 1, newRow);
    dciter.setCurrentRowWithKey(newRow.getKey().toStringFormat(true));
    newRow.setAttribute("UserId", myRow.getAttribute("UserId").toString());
    And it works good, the selected useres are added to my table and their names displayed correctly
    So everything is almost ok except of the sorting of the column is not by UserName.
    But i'm not sure this is the correct way, and also I don't know how to solve the sorting problem.
    I need your advice.
    btw, I don't know how to edit this message so the code sections will look normal.
    Thanks again

  • Siebel Adapter EAI method

    Hi Experts,
    How can the following be done by using only Business service and siebel adapter EAI method?
    1.Instead of deleting a user,i just want to inactivate user record,how can that be achieved,which method should be used?
    2.I want to delete a position for a User,which webservice method should be used?
    please reply,if anyone has any idea about the procedure.
    Many Thanks in advance.

    Hi user5742567 ,
    I would like to ask if youre using business service and EAI adapter only, what method/way you going to invoke this business service/EAI adapter?
    1. To inactive a user you can set the USR_FLG= N in the S_USER table.
    2. I believe Siebel Adapter business service have a few method such as delete. You can use the delete operation to remove a particular user position from the S_POSTN_CON inter table.
    a. Get the user row_Id
    b.Query in the S_POSTN_CON where UserRowId =CON_ID
    c. Delete the records from the S_POSTN_CON inter table base on the position(POSTN_ID) you want to remove.
    FYI:there a vanilla business service called EAI Siebel Adapter which can be use for your caused.
    Thank You

  • Join all 5 HR (pa0000,pa0001,pa0002,pa0007,pa0315) to update MASSN field?

    Hi Gurus,
    Need some guide here on HR master data updates. I have a requirement here to update Action Type(MASSN) using these tables mentioned by using 'HR_EMPLOYEE_ENQUEUE' & 'HR_INFOTYPE_OPERATION'. Should I first do a join statements for all these tables and update the fields at the end of my program or should I use these fm as and when my requirement validation is done?Appreciate it alot for your guide to clear my confusion.
    Thanks.

    Hello Experts,
    Im stuck again right now
    I have gathered all the 5 tables data into a itab, but then the tables are updated using the 3 FM
    a) HR_EMPLOYEE_ENQUEE
    b) HR_EMPLOYEE_OPERATION
    c) HR_EMPLOYEE_DEQUEUE
    But the thing is, it has to meet the conditon of action type (MASSN) before updating the tables, for my case i have 3 scenarios,
    Change, Leave & Hire.
    itab_final -pa0000: Hire -
    >call 3 FMs to update?
                                 :Change -
    >call 3 FMs to update?
                                 : Leave -
    >call 3 FMs to update?
                   -pa0001 (same scenario's as above)
                   -pa0002
                   -pa0007
                   -pa0315
    So in this case, i will be calling the function modules 15 times and its gonna create a haewok...but wat is the best way to do this update??please advice
      if not gt_itabfinal[] is  initial.
        sort gt_itabfinalby recty.
        loop at gt_itabfinalinto wa_updtab where recty eq 'H'.
          "table pa0000
          wa_pa0000-pernr = wa_gt_itabfinal-pernr.
          wa_pa0000-begda = wa_gt_itabfinal-begda.
          wa_pa0000-massn = wa_gt_itabfinalb-massn.
          if not wa_updtab-endda eq ''.
            wa_pa0000-endda = gt_itabfinal-endda.
          else.
            "do nothing.
          endif.
          append wa_pa0000 to gt_pa0000.
          clear wa_pa0000.
        endloop.
        CALL FUNCTION 'HR_EMPLOYEE_ENQUEUE'
          EXPORTING
            NUMBER             = gt_pa0000-pernr
           IMPORTING
             RETURN             =
             LOCKING_USER       =
        CALL FUNCTION 'HR_INFOTYPE_OPERATION'
          EXPORTING
            INFTY                  = 0000
            NUMBER                 = gt_pa0000-pernr
      SUBTYPE                =
      OBJECTID               =
      LOCKINDICATOR          =
      VALIDITYEND            =
      VALIDITYBEGIN          =
      RECORDNUMBER           =
            RECORD                 = gt_pa0000
            OPERATION              = 'INS'
           TCLAS                  = 'A'
           DIALOG_MODE            = '0'
      NOCOMMIT               =
      VIEW_IDENTIFIER        =
      SECONDARY_RECORD       =
    IMPORTING
           RETURN                 = return
           KEY                    = key
        CALL FUNCTION 'HR_EMPLOYEE_DEQUEUE'
          EXPORTING
            NUMBER = gt_pa0000-pernr.
      endif.
    Really appreciate your kind help

  • Error while updating Date Field on Process Form.

    Hi,
    I am using java code to pre-pop date on the process form.First I used a java code whic took java.sql.date as input and returned the same java.sql.date.But it gave an error that:java.lang.String cannot be converted to java.sql.date.......
    So I changed the java code and now it takes string as input and returns java.sql.date. This code works fine for Pre-pop adapter and the date is populated on the process form.
    But when i use the same code in a Process Task adapter to update the date, then it gives the following error:
    ERROR [ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)' XELLERATE.ADAPTERS - Class/Method: tcAdpEvent/updateDataSetValuePost encounter some problems: Adapter Execution Error: updateDataObjFieldValuePost: error updating UD_OID_USR_DATE_OF_BIRTH
    ERROR [ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)' XELLERATE.ADAPTERS - Class/Method: tcAdpEvent/updateDataSetValuePost encounter some problems: {1}
    Can anyone suggest any method to update date field on process form?

    Hi Abhi,
    Can you tell me how you have implemented populating an UDF based on Prepopulation of another UDF. I have a similar kind of requirement. It would be great if you share your code or relevant part of it.
    Regards,
    Sunny Ajmera

  • JDBC Sender Adapter, Update statement

    Hi ALL,
               I have a JDBC to proxy scenario. We have stored procedure in the database that executess and sends the data to SAP.
    Also the same store procedure updates the field Status_ID to distinguish between read and unread records. Status_ID acts as a Flag.
    Now because the Stored procedure itself does what 'Update SQL Statement' in sender JDBC adapter does, what shall I put in 'Update SQL Statement' as it is not needed, but it's a mandatory field??
    XIer
    Message was edited by:
            XIer

    Do you need that update in the sender jdbc adaptor to do anything....?
    Dint think so..
    Change your update statement to update Status_ID if its not updated..and if the sql procedure has run already then its not going to be updated ..as it already is.......
    Regards
    Ravi Raman

  • Update OIM field with process form fields

    Hi,
    I have configured AD as a target resource to my OIM. Now i have a requirement to update few fields of OIM , on the basis of change in the fields of process form when target recon will run. For this, as per my understanding i can use the post insert/post update adapter. I wrote the adapter code as well. But when now i am running the recon against my resource, and updating the field, it couldn't even run the adapter as nothing has been written in logs (not even the println statements mentioned in adapter code :( ). Could anyone please tell me where i am missing.

    Hi,
    I did create a task and assign it on "Event Processed" (Response) under reconciliation insert recieved and reconciliation update recieved. Now when i tried to run recon it is giving me error while processing the recon event. Error is "An error occured while processing the off lined reconciliation event. [xellerate.jms] processing reconciliation message with id <recon event id> failed" . Am i missing something.... Please help
    TIA

  • EAI SQL Adapter BusinessService some examples?

    Hi guys,
    I am trying to find some examples or detail documentation of using EAI SQL Adapter BusinessService.
    If somebody knows something, please help!
    Regards,
    Slavi

    Hi,
    There is an Enhancement Request 12-I2PVIT asking for documentation on the "EAI SQL Adapter" Business Service (BS). However the enhancement was declined because this BS must not be called directly as it was developed and designed to be only used internally by the Oracle and Peoplesoft connectors.
    That is why there is no details on the “EAI SQL Adapter” BS on the Bookshelf.
    To access an external database, Siebel's External Business Component feature can be used. References to the the EBC feature are on the Bookshelf entry below:
    * Integration Platform Technologies: Siebel Enterprise Application Integration > External Business Components.
    Other options consist in developing custom integrations using COM Interfaces or Java Business Service so that you are able to get the data from Siebel and send that data to the database using a custom solution on the COM Interfaces or Java Business Service .
    Details can be found on the Bookshelves below:
    * Transports and Interfaces: Siebel eBusiness Application Integration Volume III > Java Business Service
    * Siebel Object Interfaces Reference > Programming > Siebel Object Interfaces
    The advantage of using EBCs is that inside Siebel it will work as any other Business Component, except for the special cases explained on the Bookshelf.
    In summary, calling the “EAI SQL Adapter” BS directly is not supported and some possible options are EBC, COM Interfaces and Java Business Services.
    Regards,
    Joseph Arul Dass

  • Communication with Siebel adapter from AE

    Hi,
    I imported the siebel adapter to Soa 11g and using the Application Explorer(AE).
    Now I would like to add a task to siebel adapter in design time of AE.
    But it is asking the gateway server, siebel server fields..
    So what could be the values for those fields.. and also where this siebel starts running? whether in weblogic or from stand alone AE?
    May be Im wrong in my understanding.. please guide me the right path..
    --Marias                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    James,
    Could you be more clear.. What can be the default values for those fields..??
    --Marias                                                                                                                                                                                                       

  • Updating a field from info from another table

    I am trying to update a field in a table by the data from another lookup table. These tables have to be linked by two columns, not just one. It seems like I have to use a sub query to extract data from the lookup table. I am unable to get a correct syntax for the SQL statements.
    Does anyone has any ideas??

    UPDATE table_B t2 SET t2.col1 = (SELECT t1.col1 FROM table_A t1 WHERE t1.col2 = t2.col2 AND t1.col3 = t2.col3);
    table_B is the table whose col1 needs to be updated with col1 of table_A. The join conditions are two (with col2 and col3)
    Hope this is what you are looking for!!
    Cheers
    r@m@

  • Getting a permission error while updating a field.

    hi,
    I want to update a field in OIM and push the same to OID. When i try to update it for like 20 times it woks for 18 times and doesnt work for couple of times. I check the log and i get the below error.....
    *Caused by: javax.ejb.AccessLocalException: [EJB:010160]Security Violation: User: 'xelsysadm' has insufficient permission to a*
    ccess EJB: type=<ejb>, application=Xellerate, module=xlDataObjectBeans.jar, ejb=tcLookupOperations, method=create, methodInte
    rface=LocalHome, signature={}.
    at weblogic.ejb.container.internal.MethodDescriptor.checkMethodPermissionsLocal(MethodDescriptor.java:573)
    at weblogic.ejb.container.internal.StatelessEJBLocalHome.create(StatelessEJBLocalHome.java:60)
    at com.thortech.xl.ejb.beans.tcLookupOperations_u50o5o_LocalHomeImpl.create(tcLookupOperations_u50o5o_LocalHomeImpl.j
    ava:70)
    Kindly help me to fix this.
    Thanks
    thilak

    http://bbs.archlinux.org/viewtopic.php?id=83076

  • Error in updating ALV field catalog in selection tool for Planning Book

    Hi ,
    I am Implementing BADI  '/SAPAPO/SDP_SELECTOR' to upload Custom Fields Data in Planning Book Selection Window under APO Location Product. These Custom Fields are maintained in Custom Table.So from Table whatever Custom Fields are availabe all the fields needs to be available in for selection. Once selection is done the same data to be uploaded into Planning Book.
    This BADI is working Fine upto 4 fields but if any extra fields are added in the table 'Error in updating ALV field catalog in selection tool' error Pop Up is coming. Here i am using Folloowing Methods
    1). INIT_OBJECT_LIST
    2). F4
    3). LOC_PROD_VALUE_LIST
    Please help on the same if u have any idea or clue.
    Thanks.

    Hi Srinivas!
    Where did you get your implementation from?
    It would be nice if you could debug your code!
    For the F4 method, have you seen this note?
    Note 544904 - Sample source code f.BAdI /SAPAPO/SDP_SELECTOR ('F4'method)
    Also check this note. It contains selection modifications in the BAdI:
    Note 376902 - SDP selector: Basis corrections for BADI
    I do not know your release and support package in your SCM, but you can find a lot of notes related to this BAdI.
    Thank you!
    Will
    SCM Support Consultant

  • Error in updating ALV field catalog in selection

    Dear all,
    I'm trying to use the standard transaction /SAPAPO/TSKEYFMAIN in order to check the TS values.
    After filling the selection variant, the system shows the following error:
    'Error in updating ALV field catalog in selection'
    Could you please provide me with further details about the error? What could be the possible solution to avoid it?
    Many thanks,
    SM

    Hi Marius,
    thanks for your answer.
    I would like to use the /SAPAPO/TSKEYFMAIN transaction to check massively the values in the time series KFs and not just the consistency of them.
    So do you know any other transaction to do it or do you have an idea about the error of /SAPAPO/TSKEYFMAIN?
    Thanks for your help!
    SM

Maybe you are looking for