Implementing logic tasks in prepopulate adapter

hi,
i want that my hire date should be incremented by 3 days if employee type is full time and by 1 month if employee type is party time.
i have taken condition in logic task of prerpopulate adapter if employee type is full time
how do i use the THEN condition. i see no option as THEN, jsut SET VARIABLE, IF, ELSE IF type conditions are there..
i know we can do it writing our own java code, but wanted to know if i can implement it using out of the box way.
thanks

you can try this...
if (emptype = 'Full-Time')
incrementby3days(call java date object methods to increment by 3 days)
set adapter return value = incrementby3days
else if(emptype = 'part-time')
incrementby30days (call java date object methods to increment by 30 days)
set adapter return value =incrementby30days
you can find java utility classes in Adapter Factory in Add->Utility Task->Utility

Similar Messages

  • Prepopulate Adapter help

    Hi All,
    I am using OIM 9.1.0.2 BP07 and I configured DB Table adapter.I want to do prepopulate user form fields but, all form fields are getting populated with OIM UserID instead of respective fields. Below is the procedure I followed
    1) On Design console, Development Tools-->Adapter Factory--->Created Prepopulate adapter called DBPrepop with Adapter Type Pre-populate Rule Generator.
    2)Created Adapter tasks like user,fname,lname for variables user_id,first_name & last_name using API tcStringUtilOperations with method holdData and method input string is mapped to above variables.
    3)On Design console,Form Designer--->UD_MY_Users(Provisioning form for my DB Resource)--> Create New Version --> Prepopulate-->Added 3 fields user_id,first_name & last_name with Rule as Default,Adapter as DBPrepop,Order as 1,2,3.
    4)Mapping as below
         variable------>     Data Type------>     Map To------>     Qualifier
    a)     USER_ID------>          String------>          User Definition------>          User Login
    b)     FIRST_NAME------>     String------>          User Definition------>          Firstname
    c)     LAST_NAME------>     String------>          User Definition------>          Lastname
    Please suggest me on where I am doing mistake
    Regards,
    Madhu

    Hi Sunny,
    Thanks for the reply...
    Plz clarify below doubts.
    1) Which method can be used to achieve the above requirement instead of using holdData
    2)In my scenario, I have created 3 prepopulate adapters for 3 fields( dbprepopusr---> user_id,dbprepopfn---> first_name,dbprepopln---> last_name) and with holdData method I am able prepopulate fields. Can I use  single prepopulate adapter  to prepopulate all the fields on a form
    Thanks & Regards,
    Madhu

  • Getting Error in Logic Task

    Hi Experts,
    We are getting the following error when we are running the logic task through DTS package:
    u201CSystem.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.FormatException: Input string was not in a correct format.u201D
    We encountered this error when we were executing 6 packages together but they were running in 6 diffrent databases.
    They all started at the same time.
    Please advise if you have encountered this error before.
    Thanks and Regards,
    Vivek Sharma

    Vivek,
    I'm curious if you were able to confirm it is due to the simultaneous starting of the packages or if there was some other work around.  I am also experiencing the same behavior inconsistently after a recent upgrade to v7.5 SP05.  We found that one of the data audit archive scheduled jobs in one appset was starting at the same time as our scheduled data loads in another.  We have just tweaked that scheduling before submitting a ticket to SAP.  In our case the UI does not show any indication of an error - it just logs it in the event log with no indication in the DTS log.
    Thanks,
    Jason

  • Implementing Logic

    Implementing Logic
    I have the following table:
    CREATE TABLE my_logic
    COL_1 VARCHAR2(100)
    INSERT INTO my_logic VALUES ('10 * 20');
    INSERT INTO my_logic VALUES ('10 + 20');
    INSERT INTO my_logic VALUES ('(10 + 20)/(5-2)');
    INSERT INTO my_logic VALUES ('10 + 20/2');
    INSERT INTO my_logic VALUES ('10 - 20 + 10');
    SELECT * from my_logic;
    COL_1
    10 * 20
    10 + 20
    (10 + 20)/(5-2)
    10 + 20/2
    10 - 20 + 10
    Required Output:
    OP
    200
    30
    10
    20
    0
    I want each expressions to be evaluated.
    No PL/SQL or USER-Defined Functions. I need output with SQL and Built-in Functions.
    Imagine that the data is already stored in '10 * 20' format and not just as 10 * 20. Now I want SQL to evaluate the data stored in the column

    SQL> SET     FEEDBACK  OFF
    SQL> SET     PAGESIZE  0
    SQL> SPOOL   foo.sql
    SQL> SELECT  'SELECT '
      2  ,       col_1
      3  ,       ' FROM dual;'
      4  FROM    my_logic;
    SELECT                           10 * 20
    FROM dual;
    SELECT                           10 + 20
    FROM dual;
    SELECT                           (10 + 20)/(5-2)
    FROM dual;
    SELECT                           10 + 20/2
    FROM dual;
    SELECT                           10 - 20 + 10
    FROM dual;
    SQL> SPOOL   OFF
    SQL> @foo.sql
    SQL> SQL> SELECT  'SELECT '
    SP2-0734: commande inconnue au début de "SQL> SELEC..." - le reste de la ligne est ignoré.
    SQL>   2  ,       col_1
    SQL>   3  ,       ' FROM dual;'
    SQL>   4  FROM    my_logic;
    SQL> SELECT                           10 * 20
      2   FROM dual;
           200
    SQL>
    SQL> SELECT                           10 + 20
      2   FROM dual;
            30
    SQL>
    SQL> SELECT                           (10 + 20)/(5-2)
      2   FROM dual;
               10
    SQL>
    SQL> SELECT                           10 + 20/2
      2   FROM dual;
            20
    SQL>
    SQL> SELECT                           10 - 20 + 10
      2   FROM dual;
             0
    SQL>
    SQL> SQL> SPOOL   OFF
    SP2-0734: commande inconnue au début de "SQL> SPOOL..." - le reste de la ligne est ignoré.
    SQL>
    SQL>

  • Implementing multiple tasks on one hardware

    Hi,
    i am anil, i am using NI CDAQ 9188 Chasis, for NI 9237 of 5 numbers, for load cells measurment,
    for my application i have requirement of acquiring reading from all channels simultaneously, and i need to scale them independently.
    while configuring tasks how we can implement multiple task.
    how we can operate module 1 with 3.3 V, module 2 with 2.5 excitation voltages
    how can we scale different scaling factors for each channel.
    with regards
    A Anil 

    Hi,
    i am anil, i am using NI CDAQ 9188 Chasis, for NI 9237 of 5 numbers, for load cells measurment,
    for my application i have requirement of acquiring reading from all channels simultaneously, and i need to scale them independently.
    while configuring tasks how we can implement multiple task.
    how we can operate module 1 with 3.3 V, module 2 with 2.5 excitation voltages
    how can we scale different scaling factors for each channel.
    with regards
    A Anil 

  • What is the best practice for implementing scheduled tasks in ADF?

    Hi experts,
    I'm using Jdev 12.1.3, and I'd need your advice in how implement scheduled tasks.
    We have today a button that generates a Jasper pdf report correctly. The new requirement is to schedule a task that automatically send this pdf via email once a week.
    Thanks in advance for your help.
    Best regards,
    Jose.

    Refer
    Andrejus Baranovskis Blog: Optimizing Long Running ADF Operations with Parallel WebLogic Time Manager Execution
    http://www.gebs.ro/blog/oracle/timer-task-in-adf/
    https://technology.amis.nl/2011/10/19/adf-faces-handle-task-in-background-process-and-show-real-time-progress-indicator-…

  • Prepopulate Adapter and Rule Generator Adapter

    Can anyone tell me the exact difference between Prepopulate adapter and Rule generator adapter? I have read the documentation but both seems to be same.
    Please explain me with an example scenario..
    Regards
    Pavan

    Hi,
    See if this help you in gaining more understanding.
    PrePopulate Adapter: They are mapped with the fields of process form and are used to prepopulate the fields value during the resource provisioning.
    RG Adapter: A RG Adapter incoporates business rules to the fields of either OIM user form or user defined form so that these fields can be automatically populated
    and saved to the database. You can use the RG & Entity Adapter to construct the userid from the firstname and lastname fields and prepopulate it.
    Difference:
    While both these adapter can be used to prepopulate values but RG Adapter has one to one mapping with the RG adapter and custom field. An RG Adapter once
    attached to a field cannot be attached with another field thus preventing adapter reuse. Beside this, no other type of adapter can be associated with that custom
    field.In contrast, the PrePopulate adapter can be reused and attached with multiple fields.
    Hope this will help you.
    Regards
    Sunny Ajmera

  • Autopopulationg filed on process form without using a prepopulate adapter

    Hi All,
    I have a requirement wherein I need to populate a field based on a condition like if the country on the user profile has value as 'US' then it should populate filed on the process form with the value as United States picking it from a lookup.
    The lookup has values like-
    Code Decode
    US United States
    IND India
    UK United Kingdom
    AUS Australia
    NZ NewZealand
    So it should check if the country field on user profile has value 'US' then it should populate the value as United States on the process form, if its AUS then it should populate it with Australia and so on...
    Can this be achieved without writng a prepopulate Adapter code(Java class)?

    Thanks Suren. I was stuck with another issue so could not respond. Have started with the Adapter code... just a few doubts...(may be basic but.. :-))
    The country field on user definition is look up field or text field , if look up ,then are both the look up same (process form and user form ).
    Both the fields are of type lookup and refer to the same lookup. Anything else required here?
    I think you would need to populate the process form field with code key from the look up and then pushing it to some target
    I didnt undersrtand this. I guess I need to populate the process form field with the decode value as I need to send to the target system the values- United States, India etc and not US, IND( code key) depending upon the value in the user profile form.
    And whatever value is returned by the prepop adapter, will it be displayed by default on the process form? Also, will other values that are there in the lookup show up in the page that pops up when I click on the magnifying glass against the country field on the process form( just to allow admin change them at the time of provisioning if reqd)?

  • Prepopulate adapter help required

    Hello Experts,
    I have OIM 11.1.1.5 on win32 platform, and I have connected OIM to a database(target system) through a connector(DBAT connector).
    While provisioning a user to that database, it ask for the values which i need to store in database.
    What i want is to map those database values to OIM attributes.
    For example: my table has first name, last name column and instaed of manually providing those values i want to pre-populate those values from user definition.
    As i was doing R&D, I got to know that I have to create an pre-populate adapter(specifically a copy adapter). Kindly suggest me what are all the steps do I need to follow to
    do the same.
    Thanks in advance.
    Warm Regards,
    KK

    There are plenty of examples of Pre Pop adapter on the forum and internet . Please try to search out .
    You can access the below link to see a working example .
    http://identityandaccessmanager.blogspot.in/2011/07/prepopulate-adapter-in-oim-11g.html
    http://docs.oracle.com/cd/B31081_01/idmgr/b25939/using.htm
    Hope this helps.
    Thanks
    Suren

  • Passing Dimension Members to Logic Task in SSIS

    I have a package that pulls data from a source and loads it into BPC. As a part of the package, if data is loaded into prior periods (I identify this through a query and put the prior periods and accounts into variables), we then need to run a piece of script logic that rolls forward the necessary balances based on the time periods and the accounts included. Right now, the package generates an email and includes an expression noting the prior time periods and accounts, and and then the users go and manually run the logic for the time periods and accounts specified in that notification email. However, we want to automate that step at the end of the package. What is the best way to pass the time period and account variables into script logic to limit the scope to just those accounts and the time periods specified?

    Thanks Roberto. That certainly is an option. I can't define the appropriate accounts and time periods through any BPC tables, so I believe that I would need set a Property, something like "RunLogic", in the mbrTime and mbrAccount tables using a query in an Execute SQL task first, and then in the script logic use the Select statements to set a variable like you mentioned, and then use that variable to define the scope in the XDIM_MEMEBERSET statements.
    But, is this the best, cleanest way to do this? Given that the Logic task was built for SSIS, it seems to me that there would be a direct way to simply define the scope in the task using an expression and/or variables, or through ModifyScript. Is there a way to simply pass the variables through and leverage a dynamic constant or something else that is already built into BPC?

  • Prepopulate Adapter to return decode value

    I have a lookup definition for company departments where the Code Key is a number and Decode is the department name.
    I want to create a prepopulate adapter that will populate the Active Directory department field with the name of the department and to do that I need the decode value from the lookup field.
    I've seen that there is an API for Lookup Operations (Thor.API.Operations.tcLookupOperationsIntf) and even a function for getting decode values
    getDecodedValueForCoumnEncodedValue(string, string)
    I don't know what the two string parameters are, does anyone else know?

    I have a lookup definition for company departments where the Code Key is a number and Decode is the department name.
    I want to create a prepopulate adapter that will populate the Active Directory department field with the name of the department and to do that I need the decode value from the lookup field.
    I've seen that there is an API for Lookup Operations (Thor.API.Operations.tcLookupOperationsIntf) and even a function for getting decode values
    getDecodedValueForCoumnEncodedValue(string, string)
    I don't know what the two string parameters are, does anyone else know?

  • Logical delete in database adapter

    Hello
    I was wondering if someone has solution the problem with polling database. You can specify the logical delete column and you can give values for READ, UNREAD and RESERVED states. The problem is that when for example ESB project polls some specific table and starts an instance for every new row with specified logical delete field with value UNREAD, when something unexpected happens and something goes wrong the database adapter updates the row with READ value. This is problematic if we have thousands of rows, and we would like to separate the errored rows from the successfully read rows. Is there anyway (easy) way to update those rows that went wrong to some other value than READ?
    I don't know if anyone understood me, but just for clarification here's a example:
    I have a ESB-project which poll specific database table and parses and XML from the data. After this the ESB-project sends the data to some Web Service. The database table has column CONDITION_CODE in which value 0 means unread and value 1 means read. Now if everything goes fine there is no problems. But if the Web Service is unavailable or the data is malformed, the database adapter still updates the CONDITION_CODE to 1! We have no ways (except to listen ESB_ERROR topic and implement some error handling there) to know what rows were successfully delivered and which were not...
    Hope I was able to clarify the problem... And I hope someone could be able to provide me with answer.
    Best Regards Tuomas

    Did you use the RESERVED value property? How about the transaction mechanism? Do you have global transactions? I gues you would have to use them!

  • Error in Prepopulate Adapter For OID in OIM

    I'm just modifying an existing adapter we have to cater for a user type in our system.
    the main snippet of the adapter is as below:
    // Adapter Variables
    String pseudousertype; // Pseudo User type in OIM form
    String staff; // Staff field in OIM Form
    String student; // Student type in OIM Form
    String staffou = "ou=staffxxxxx"; // OU prefix for staff users
    String pseudo; // Pseudo value in OIM Form
    String pseudoou = "ou=pseudoxxx"; // OU Prefix for Pseudo Users
    String studentou = "ou=studentxxx"; // OU prefix for student user
    protected void implementation() throws Exception {
              try {
              if (! initAdapter("105", "adpUSQ_PRE_OID_ORGANIZATIONUNIT", "P"))
                   return;
    // Run Time Variables
    pseudousertype = (String)getRunTimeValue(1210, isSreKey,"pseudousertype");
    staff = (String)getRunTimeValue(887, isSreKey,"staff");
    student = (String)getRunTimeValue(888, isSreKey,"student");
    pseudo = (String)getRunTimeValue(890, isSreKey,"pseudo");
                   // Execute Tasks and store results in Hashtable...
    if ((staff).equals("1"))
    setAdpRetVal(new String(staffou));
    else if ((student).equals("1"))
    setAdpRetVal(new String(studentou));
    else if ((pseudo).equals("1"))
    if ((pseudousertype).equals("Pre-Employee"))
    setAdpRetVal(new String(staffou));
    else
    setAdpRetVal(new String(pseudoou));
              finalizeAdapter();
              } catch (tcAdapterTaskException e) {
                        e.printStackTrace();
                        throw e;
              } catch (Exception e) {
                        e.printStackTrace();
                        throw e;
    The modification to the adapter was adding a new variable pseudousertype, and if pseudousertype equals Pre-Employee, set the user's OU into staffou
    I am getting the following error, after I have rebuild the adapter, restarted the application:
    ERROR 10:47:12,186, RMICallHandler-108 XELLERATE.ADAPTERS - Class/Method: tcAdapterMappingUtility/getRunTimeVariableMappings encounter some problems: No data available for variable having key = 1210
    java.lang.Exception: No data available for variable having key = 1210
    ERROR 10:47:12,197, RMICallHandler-108 XELLERATE.SERVER - Class/Method: tcAdapterExecuter/executeRuleGenerators encounter some problems: java.lang.Exception: Error getting run-time variables.
    java.lang.Exception: java.lang.Exception: Error getting run-time variables.
    I have modified 2 more pre-populate adapter which uses this same information/variable value and its working. Tried re-adding, recompiling all adapters with no success. Just picking any ideas you guys might have.
    Edited by: ruxpin on 30-Aug-2012 21:04

    Ketan: Yes, I am editing it from Adapter Factory. Its a bit weird as the info is definitely available and is used by at least 2 other prepop adapters.

  • Implementing Logical FACT & Logical dimension from 2 different data sources

    Hi Gurus,
    Here is my situation. We have 2 Different Data sources. One is SRMW and the other one is a different source. What we are trying to implement here is we wanted to create logical dimensions and logical facts as well in the BMM layer. For ex: w_day_d from SRMW and other time dimension from another source makes a logical table. And similarly a fact from SRMW and and another similar fact (Same data types though) will make a logical fact in the BMM.
    I have done the POC of it, but the only problem is that i was able to fetch the data from only one data source not the other source.
    Any suggestions ??
    Thanks in Advance.

    What I already mentioned is that you have to create multiple logical table sources and set the fragmentation content on each logical table source.
    When you have two physical tables for the product dimension, for example DIM_PRODUCT_A and DIM_PRODUCT_B, you must add them to your logical table Products as two separate logical table sources and map all columns to the corresponding logical table columns on the Column Mapping tab.
    Hereafter you should go to the Content tab of each logical table source and describe what content is in the logical table source.
    For example for the logical table source of DIM_PRODUCT_A:
    "BM"."Product"."Product Name" <= 'Product 2'
    and for the logical table source of DIM_PRODUCT_B.
    "BM"."Product"."Product Name" >= 'Product 3'
    Then you must also check "This source should be combined with other sources at this level"
    When you run a query in Answers only on the product table, two queries will be generated to get values from both tables.
    Regards,
    Stijn

  • Physical path and Logical name in File adapter

    Hi All-
    I am using a file adapter, in which i need to specify the physical path or logical path.
    In dev environment my file adapter's input path is /c01/interface/dev/input, but in my test environment it is /u01/interface/test/input.
    So everytime I have to change the path and deploy it in two different environment.
    I am using unix environment, is there any way i can use some environmental variable $INPUT_DIR and use it in logical name so that in logical name i can use as $INPUT_DIR/input, where in dev $INPUT_DIR will be /c01/interface/dev and in test environment it is /u01/interface/test.
    I have tried this but there is still some probelm, I want to know is the approach I am using is correct? or is there any other solution for it?
    Regards,
    Sreejit

    Hi,
    1. physical name: use a specific directory (e.g. /u01/....
    2. logical name: use a LogicalDirectory like "InputFileDir" and rewrite this inside the bpel.xml
    http://download-uk.oracle.com/docs/cd/B31017_01/integrate.1013/b28994/adptr_file.htm#CACDEBBH
    and
    http://download-uk.oracle.com/docs/cd/B31017_01/integrate.1013/b28981/appx_deploydesc.htm#CHDBDIIF
    But what about creating a softlink like this on your testsystem:
    ln -s /u01 /c01

Maybe you are looking for

  • Search for a specific string in web.config file

    Hi Is there a way we can search a specific word in web.config using powershell. I have an entry of "user name" in the connection string. I want to find what the user name is and whether its a correct user name or not based on the criteria set in the

  • Project created in Flash CS3 & Flash CS5 crashes both Safari & Firefox

    I have a user with a brand new image including Snow Leopard 10.6.6 and the Adobe CS5.  When creating a project in Flash CS5 and then trying to view it in Safari & Firefox the plug-in crashes which then brings down the browser with it.  I went and ins

  • How can I import photos from a Nikon P520 into I photo 11

    I have previously hooked the camera up to a powered USB , turned the camera on and it opened I photo 11.  I was able to import and edit the photos in I photo.  I tried this process now and I do not get I photo to open, the camera does not appear in t

  • Composite provider accessing remote hana calculation view

    I have a scenario to combine data 1). master data from BW system or DSO data (HANA DB ) 2).Calculation view ( utilizing HANA live views resides in another HANA DB ). Wondering different possible scenario's based on 100% HANA system landscape environm

  • Number of Bind variables passed  AND   Ref Cursor

    hi all well i have an interesting problem i need to construct a query for a refcursor besade on conditions.... as: input params: in_lname and in_fname sql_stmt := 'Select first_name, ' || 'last_name, ' || 'from table1'; IF in_lname is not null then -