How to generate the next uidNumber - Solution

The following is the express code to generate the next uidNumber for a UNIX account.
Just thought I would share some of my own work with you all
the first part is place in the derivation field for account.uidnumber and the second is the rule used
The rule expects two arguments 1) The resource to query i.e LDAP
2) The base number to search from.
I choose 200 because my accounts range from 200 - 800
<cond>
  <and>
    <notnull>
      <ref>accounts[$(res)].uidNumber</ref>
    </notnull>
    <isTrue>
      <ref>accountInfo.accounts[$(res)].created</ref>
    </isTrue>
  </and>
  <ref>accounts[$(res)].uidNumber</ref>
  <rule name='Rule Library:UNIX next uidNumber'>
    <argument name='resID' value='$(res)'/>
    <argument name='baseUidNumber' value='200'/>
  </rule>
</cond>
<block>
  <defvar name='num'>
    <ref>baseUidNumber</ref>
  </defvar>
  <defvar name='uidList'>
    <block>
      <set name='UIDNUM'/>
      <appendAll name='UIDNUM'>
        <dolist name='OBJ'>
          <invoke name='getResourceObjects' class='com.waveset.ui.FormUtil'>
            <ref>:display.session</ref>
            <s>User</s>
            <ref>resID</ref>
            <map>
              <s>searchFilter</s>
              <s>uidNumber=*</s>
              <s>searchAttrsToGet</s>
              <list>
                <s>uidNumber</s>
              </list>
            </map>
          </invoke>
          <get>
            <ref>OBJ</ref>
            <s>uidNumber</s>
          </get>
        </dolist>
      </appendAll>
      <ref>UIDNUM</ref>
    </block>
  </defvar>
  <while>
    <contains>
      <ref>uidList</ref>
      <expand>
        <s>$(num)</s>
      </expand>
    </contains>
    <set name='num'>
      <add>
        <ref>num</ref>
        <i>1</i>
      </add>
    </set>
  </while>
  <expand>
    <s>$(num)</s>
  </expand>
</block>The unqiue thing is that the expand tag is used to do some type conversion for the list comparision.
If you have betters ways to do this then let me know

I tackled this problem by using one of our Oracle databases. I created a sequence in the database, then wrote a rule that queried the next sequence value from the database. This sequence is also used by another process external to IDM to allocate uidnumbers. Using this method, there is no chance of collision.

Similar Messages

  • How to populate the next screen based on the previous screen table control

    Hi Experts,
            Is this possible to generate the next screen values based on the table control values in previous screen.
    My Requirement is
    In my First screen i m having 5-7 regional offices in table control and also amount field for each regional offices.(amount field is editable)
    User has to enter amount field for Regional office..based on the amount field i need to process the next screen. For Ex if user is entering  amount for 3 regional offices out of 7 regional offices then i need to get the screen for the 3 regional offices..
    Pls suggest me how to do this..
    Regards,
    Zakir

    Hi Zakir,
    Do you have any button for calling the second screen after entering amount in the first table control screen or you have to call the screen on pressing enter on the table control?
    You will have to handle it in the PAI of the table control loop.Get data entered in the table control in your internal table of table control.You can prepare the data passed to the next screen from this internal table. Fill the second screen elements and Use CALL SCREEN XXX. XXX is your second screen no.
    Thanks,
    Pawan

  • How to get the Next Material Document Number

    Hi,
    Please let me know How to get the next Material Document Number using Functional Module,
    Material Document number are  in MSEG table.
    Regards,
    Ganesh

    Hi Ganesh,
    if you want the next matrial number then first of all you have to define it as a number range in transaction snro.After creating the number range you have to define the interval.
    now you can use your number range by calling the function module
    CALL FUNCTION 'NUMBER_GET_NEXT'
          EXPORTING
            nr_range_nr             = '01' " here you have to give the number range number which you have defined in number range
            object                  = 'ZPRODLOG' " Number Range
          IMPORTING
            number                  = wa_prod_error_log-seqnr " sequence number generated,in your case material number field
          EXCEPTIONS
            interval_not_found      = 1
            number_range_not_intern = 2
            object_not_found        = 3
            quantity_is_0           = 4
            quantity_is_not_1       = 5
            interval_overflow       = 6
            buffer_overflow         = 7
            OTHERS                  = 8.
    each and every time next number will get generated .
    i hope this will help you.
    Thanks,
    Tanmaya

  • How to check the messages in solution manager?

    hai experts !
    how to check the messages in solution manager?
    in which transaction do we see them?

    Hi Kiran,
    From what I gather from your brief question, you are perhaps looking for CRM_DNO_MONITOR that would display all queries created from Satellite/SolMan system itself, as support messages.
    If you are looking for Notifications underlying those messages, please look for DNOTIFWL.
    For more specific answers, please provide more description of what you are looking for.
    Trust this helps.
    Regards,
    Srini

  • How to generate the BPEL interface from XSD?

    I am new to the BPEL. How to generate the BPEL interface from XSD because I need the inputed payload to have a complex type instead the simple string?
    Thank you

    I made the following change to the xsd file, however when the input type change to emailDataType, it is underline by red color. and the bpm process, activity guide, organization become the unknown project object.
    <?xml version="1.0" encoding="UTF-8"?>
    <schema attributeFormDefault="unqualified"
         elementFormDefault="qualified"
         targetNamespace="http://xmlns.oracle.com/SampleBPM/SampleEmailNotification/SendEmail"
         xmlns="http://www.w3.org/2001/XMLSchema">
         <element name="process">
              <complexType>
                   <sequence>
                        <element name="input" type="emailDataType"/>
                   </sequence>
              </complexType>
         </element>
         <element name="processResponse">
              <complexType>
                   <sequence>
                        <element name="result" type="string"/>
                   </sequence>
              </complexType>
         </element>
    <complexType name="emailDataType" >
    <sequence>
    <element name="toEmailAddress" type="string" />
    <element name="ccEmailAddress" type="string" />
    <element name="emailSubject" type="string" />
    <element name="emailContent" type="string" />
    </sequence>
    </complexType>
    </schema>
    The XSD file is viewed by the design mode is fine on JDeveloper. Please help!

  • How to get the next FACTORYDATE

    Hello all,
    Can somebody show me how to get the next (FACTORYDATE) from SAP in the objective to check and validate the shipto date in the ISA b2b application.
    Thanks in advance.

    Hi Manuel,
    my email: [email protected]
    thank you in advance,
    Djamel.

  • How to generate the deferent pdfs for deferent vendor ?

    Hi,
    i have requirement to generate the each pdf for each vendor and i need to mail those pdfs to respective vendor,
    here i am facing the prob to generate the no of pdfs for deferent vendors...please can any one help me in this how i generate the no of pdfs ?? using wrapeer program ....
    if possible any one can provide some example code..(Exmplae program)
    Thanks,
    PK..

    There are two function use one for convert PDF and second use to email, hope it will give u idea proper.
    Assigning the OTFDATA to OTF Structure table
      CLEAR gt_otf.
      gt_otf[] = gs_otfdata-otfdata[].
    Convert the OTF DATA to SAP Script Text lines
      CLEAR gt_pdf_tab.
      CALL FUNCTION 'CONVERT_OTF'
        EXPORTING
          format                = 'PDF'
          max_linewidth         = 132
        IMPORTING
          bin_filesize          = gv_bin_filesize
        TABLES
          otf                   = gt_otf
          lines                 = gt_pdf_tab
        EXCEPTIONS
          err_max_linewidth     = 1
          err_format            = 2
          err_conv_not_possible = 3
          OTHERS                = 4.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
          EXPORTING
            document_data              = gs_docdata
            put_in_outbox              = 'X'
            commit_work                = 'X'
          TABLES
            packing_list               = gt_objpack
            contents_bin               = gt_objbin
            receivers                  = gt_reclist
          contents_txt               = i_objtxt
            object_header              = objhead
          EXCEPTIONS
            too_many_receivers         = 1
            document_not_sent          = 2
            document_type_not_exist    = 3
            operation_no_authorization = 4
            parameter_error            = 5
            x_error                    = 6
            enqueue_error              = 7
            OTHERS                     = 8.

  • How to generate the DNS_VERIFY program

    I�d like to prevent form the spam mails from internet. I edited the mappings table of orig_mail_access segment, but I couldn't find the DNS_verify program in the iPlanet Messaging Server 5.1. Not knowing how to generate the DNS_VERIFY program in the iPlanet Messaging Server 5.1. Could you please kindly check and let me know the way to solve? Thank you very much!
    ps. system info.: solaris8.0,iPlanet Messaging Server 5.1 Patch 1 (built Jun 6 2002)

    look at this link
    http://www.stylusstudio.com/docs/v2006/d_help30.html
    I read sometime back that castor has a tool to do
    conversion. You might have a look into casto as well.

  • How to generate the Cobol Source part of the ApplicationViewer

    Hello,
    I'm actually generate the Cobol Source part of the application viewer on a windows environment.
    I'm trying to build it from a Unix environment but I don't know how because I doesn't find the same script in Unix I use in windows.
    Can someone tell me how to generate the Cobol Source part of the application Viewer please ?
    Thank you in advance.

    >
    How can I read the html source code of a webpage
    with a java application?
    Is there a good idea?
    I don't know if this is a good idea, but it works.
    1) Use a URL to obtain the document's location
    2) Use a URLConnection to open a connection between your computer and the
    document server
    3) Connect to the server
    4) Get the InputStream of said connection
    5) Associate the Input Stream with a Buffered Input Stream
    At this point you can use a loop to read lines from the BufferedInput Stream and append them to a TextArea or other suitable text component.

  • How to generate the insert script of the  tables data present  in an entire

    How to generate the insert script of the tables data present in an entire schema in sqlplus environment
    with out toad can you please help me please!!!!!!!!!!!!!

    HI,
    First create this function to get insert scripts.
    /* Formatted on 2012/01/16 10:41 (Formatter Plus v4.8.8) */
    CREATE OR REPLACE FUNCTION extractdata (v_table_name VARCHAR2)
       RETURN VARCHAR2
    AS
       b_found   BOOLEAN         := FALSE;
       v_tempa   VARCHAR2 (8000);
       v_tempb   VARCHAR2 (8000);
       v_tempc   VARCHAR2 (255);
    BEGIN
       FOR tab_rec IN (SELECT table_name
                         FROM user_tables
                        WHERE table_name = UPPER (v_table_name))
       LOOP
          b_found := TRUE;
          v_tempa := 'select ''insert into ' || tab_rec.table_name || ' (';
          FOR col_rec IN (SELECT   *
                              FROM user_tab_columns
                             WHERE table_name = tab_rec.table_name
                          ORDER BY column_id)
          LOOP
             IF col_rec.column_id = 1
             THEN
                v_tempa := v_tempa || '''||chr(10)||''';
             ELSE
                v_tempa := v_tempa || ',''||chr(10)||''';
                v_tempb := v_tempb || ',''||chr(10)||''';
             END IF;
             v_tempa := v_tempa || col_rec.column_name;
             IF INSTR (col_rec.data_type, 'CHAR') > 0
             THEN
                v_tempc := '''''''''||' || col_rec.column_name || '||''''''''';
             ELSIF INSTR (col_rec.data_type, 'DATE') > 0
             THEN
                v_tempc :=
                      '''to_date(''''''||to_char('
                   || col_rec.column_name
                   || ',''mm/dd/yyyy hh24:mi'')||'''''',''''mm/dd/yyyy hh24:mi'''')''';
             ELSE
                v_tempc := col_rec.column_name;
             END IF;
             v_tempb :=
                   v_tempb
                || '''||decode('
                || col_rec.column_name
                || ',Null,''Null'','
                || v_tempc
                || ')||''';
          END LOOP;
          v_tempa :=
                v_tempa
             || ') values ('
             || v_tempb
             || ');'' from '
             || tab_rec.table_name
             || ';';
       END LOOP;
       IF NOT b_found
       THEN
          v_tempa := '-- Table ' || v_table_name || ' not found';
       ELSE
          v_tempa := v_tempa || CHR (10) || 'select ''-- commit;'' from dual;';
       END IF;
       RETURN v_tempa;
    END;
    SET PAUSE OFF
    SET LINESIZE 1200
    SET PAGESIZE 100
    SET TERMOUT OFF
    SET HEAD OFF
    SET FEED OFF
    SET ECHO OFF
    SET VERIFY OFF
    SPOOL  GET_INSERTS.SP REP
    SELECT EXTRACTDATA('EMP') FROM DUAL;
    SPOOL OFF
    SET PAUSE  ON
    SET LINESIZE 120
    SET PAGESIZE 14
    SET TERMOUT ON
    SET HEAD ON
    SET FEED 5
    SET ECHO ON
    SET VERIFY ON
    SELECT    'insert into EMP ('
           || CHR (10)
           || 'EMPNO,'
           || CHR (10)
           || 'ENAME,'
           || CHR (10)
           || 'JOB,'
           || CHR (10)
           || 'MGR,'
           || CHR (10)
           || 'HIREDATE,'
           || CHR (10)
           || 'SAL,'
           || CHR (10)
           || 'COMM,'
           || CHR (10)
           || 'DEPTNO) values ('
           || DECODE (empno, NULL, 'Null', empno)
           || ','
           || CHR (10)
           || ''
           || DECODE (ename, NULL, 'Null', '''' || ename || '''')
           || ','
           || CHR (10)
           || ''
           || DECODE (job, NULL, 'Null', '''' || job || '''')
           || ','
           || CHR (10)
           || ''
           || DECODE (mgr, NULL, 'Null', mgr)
           || ','
           || CHR (10)
           || ''
           || DECODE (hiredate,
                      NULL, 'Null',
                         'to_date('''
                      || TO_CHAR (hiredate, 'mm/dd/yyyy hh24:mi')
                      || ''',''mm/dd/yyyy hh24:mi'')'
           || ','
           || CHR (10)
           || ''
           || DECODE (sal, NULL, 'Null', sal)
           || ','
           || CHR (10)
           || ''
           || DECODE (comm, NULL, 'Null', comm)
           || ','
           || CHR (10)
           || ''
           || DECODE (deptno, NULL, 'Null', deptno)
           || ');'
      FROM emp;
    SELECT '-- commit;'
      FROM DUAL;now run the baove select statement you will get the following insert statements
    /* Formatted on 2012/01/16 10:57 (Formatter Plus v4.8.8) */
    --'INSERT INTO EMP('||CHR(10)||'EMPNO,'||CHR(10)||'ENAME,'||CHR(10)||'JOB,'||CHR(10)||'MGR,'||CHR(10)||'HIREDATE,'||CHR(10)||'SAL,'||CHR(10)||'COMM,'||CHR(10)||'DEPTNO)VALUES('||DECODE(EMPNO,NULL,'NULL',EMPNO)||','||CHR(10)||''||DECODE(ENAME,NULL,'NULL',''''|
    INSERT INTO emp
                (empno, ename, job, mgr,
                 hiredate, sal, comm, deptno
         VALUES (7369, 'SMITH', 'CLERK', 7902,
                 TO_DATE ('12/17/1980 00:00', 'mm/dd/yyyy hh24:mi'), 800, NULL, 20
    INSERT INTO emp
                (empno, ename, job, mgr,
                 hiredate, sal, comm, deptno
         VALUES (7499, 'ALLEN', 'SALESMAN', 7698,
                 TO_DATE ('02/20/1981 00:00', 'mm/dd/yyyy hh24:mi'), 1600, 300, 30
    INSERT INTO emp
                (empno, ename, job, mgr,
                 hiredate, sal, comm, deptno
         VALUES (7521, 'WARD', 'SALESMAN', 7698,
                 TO_DATE ('02/22/1981 00:00', 'mm/dd/yyyy hh24:mi'), 1250, 500, 30
    INSERT INTO emp
                (empno, ename, job, mgr,
                 hiredate, sal, comm,
                 deptno
         VALUES (7566, 'JONES', 'MANAGER', 7839,
                 TO_DATE ('04/02/1981 00:00', 'mm/dd/yyyy hh24:mi'), 2975, NULL,
                 20
    INSERT INTO emp
                (empno, ename, job, mgr,
                 hiredate, sal, comm,
                 deptno
         VALUES (7654, 'MARTIN', 'SALESMAN', 7698,
                 TO_DATE ('09/28/1981 00:00', 'mm/dd/yyyy hh24:mi'), 1250, 1400,
                 30
    INSERT INTO emp
                (empno, ename, job, mgr,
                 hiredate, sal, comm,
                 deptno
         VALUES (7698, 'BLAKE', 'MANAGER', 7839,
                 TO_DATE ('05/01/1981 00:00', 'mm/dd/yyyy hh24:mi'), 2850, NULL,
                 30
    INSERT INTO emp
                (empno, ename, job, mgr,
                 hiredate, sal, comm,
                 deptno
         VALUES (7782, 'CLARK', 'MANAGER', 7839,
                 TO_DATE ('06/09/1981 00:00', 'mm/dd/yyyy hh24:mi'), 2450, NULL,
                 10
    INSERT INTO emp
                (empno, ename, job, mgr,
                 hiredate, sal, comm,
                 deptno
         VALUES (7788, 'SCOTT', 'ANALYST', 7566,
                 TO_DATE ('04/19/1987 00:00', 'mm/dd/yyyy hh24:mi'), 3000, NULL,
                 20
    INSERT INTO emp
                (empno, ename, job, mgr,
                 hiredate, sal, comm,
                 deptno
         VALUES (7839, 'KING', 'PRESIDENT', NULL,
                 TO_DATE ('11/17/1981 00:00', 'mm/dd/yyyy hh24:mi'), 5000, NULL,
                 10
    INSERT INTO emp
                (empno, ename, job, mgr,
                 hiredate, sal, comm, deptno
         VALUES (7844, 'TURNER', 'SALESMAN', 7698,
                 TO_DATE ('09/08/1981 00:00', 'mm/dd/yyyy hh24:mi'), 1500, 0, 30
    INSERT INTO emp
                (empno, ename, job, mgr,
                 hiredate, sal, comm,
                 deptno
         VALUES (7876, 'ADAMS', 'CLERK', 7788,
                 TO_DATE ('05/23/1987 00:00', 'mm/dd/yyyy hh24:mi'), 1100, NULL,
                 20
    INSERT INTO emp
                (empno, ename, job, mgr,
                 hiredate, sal, comm, deptno
         VALUES (7900, 'JAMES', 'CLERK', 7698,
                 TO_DATE ('12/03/1981 00:00', 'mm/dd/yyyy hh24:mi'), 950, NULL, 30
    INSERT INTO emp
                (empno, ename, job, mgr,
                 hiredate, sal, comm,
                 deptno
         VALUES (7902, 'FORD', 'ANALYST', 7566,
                 TO_DATE ('12/03/1981 00:00', 'mm/dd/yyyy hh24:mi'), 3000, NULL,
                 20
    INSERT INTO emp
                (empno, ename, job, mgr,
                 hiredate, sal, comm,
                 deptno
         VALUES (7934, 'MILLER', 'CLERK', 7782,
                 TO_DATE ('01/23/1982 00:00', 'mm/dd/yyyy hh24:mi'), 1300, NULL,
                 10
                );i hope this helps .
    Thanks,
    P Prakash
    Edited by: prakash on Jan 15, 2012 9:21 PM
    Edited by: prakash on Jan 15, 2012 9:22 PM

  • How to generate the reports in BI and display in EP ?

    Hi All
       I am new to BI but i am working on EP
       Can any one help me how to generate the reports in BI and should be displayed
       in EP frontend?  So what and all settings and installations i need to do ?
       Any documents on this will be really helpful to me..........
    Adv...thanks and regards
    Kops

    Hi kops,
    Check the links below.What you need is there..
    How can i place a query developed in BEX to portal
    http://help.sap.com/saphelp_nw04s/helpdata/en/43/92dceb49fd25e5e10000000a1553f7/frameset.htm
    http://help.sap.com/saphelp_nw04s/helpdata/en/33/39fa40ee14f26fe10000000a1550b0/frameset.htm

  • ZENCast Update - How long till the next o

    Any idea how long till the next ZENCast update?
    I am still waiting to be able to transfer MP3 files to my ZV:M from inside the program with out it converting them to a Motion JPEG.
    Imagine a podcasting program that can't transfer MP3s to the device it was made for. Crazy I know. I don't want to try the sync stuff again. That never worked for me. I just want to click transfer, decide what I want to copy over, and be done with it.
    There are a lot of nice features I would like to see in it, like adding the recently transfered MP3s to a playlist (say, 'New ZENCasts' (which I currently do manualy)). But the simple ability to tell ZENCast Orgainser (I am an Aussie, we spell it with an 's') not convert MP3s to MJPEG, and just copy them over would be great.

    This still does not address the original message.
    Will there be a way in zencast to transfer an audio cast in it's nati've format into the zen vision:M as it's nati've format, i.e. as an MP3 and not an AVI containing MJPEG?

  • How to generate the ARE-1 from SAP?

    Hi,
    Please suggest how to generate the ARE-1 form from SAP and what are the settings we have to do for it. Please suggest the settings and T. codes
    Thanks in advance...
    Regards
    NItin

    Hi,
    You need to do the complete customization of
    SPRO>Logistics General> Tax on goods Movements>India for processing CIN relevant transactions.
    Check this link:
    http://wiki.sdn.sap.com/wiki/display/ERPLO/CIN+Configuration
    CIN Version - ARE1 & ARE3 Configuration
    This is the transaction where we define which series group belongs to exports.
    SPRO>Logistics General> Tax on goods Movements>India> Business Transactions> Out going excise invoices> Maintain Default excise groups and series groups.
    VA01 - Order
    VL01n - outbound delivery
    VF01 - Export Billing
    J1iin - excise invoice for exports
    J1ibn01 - Create Bond
    J1ia101 - create/post/ update/Change/Display ARE1.
    J1iBn05 u2013 Close bond
    Hope this helps.
    Regards,
    Sharan

  • PURCHASING-How to change the next approver for the Purchase Requistion(PR)-

    Hi All,
    Could you please let me know how to change the next approver for the Purchase Requistion(PR) from User "X" to "Y", as Y was manager of "X" and 'X' left the organization. how can i acheive this? can you please let me know the process ?
    Thanks,

    Hi,
    You have not mentioned the version you are using (11i or R12).. Are you using iProcurement... ? Are you using positional or Employee-Supervisor hierarchy..?
    Your question : How to change the next approver for the Purchase Requistion(PR) from User "X" to "Y", as Y was manager of "X" and 'X' left the organization.
    Ans: You can achieve this through below workarounds
    - Through *"Mass Update of Requisitions" functionality* (Conc. request) you can update the Approver name from User "X" to "Y" for existing PRs.
    - Replacing the Supervisor name of the requestor/requisitioner in the HR record (assignment) from User "X" to "Y"..
    Hope it helps.
    Kind Regards,
    S.P DASH

  • TA48312 i have mac os x version 10.4.11 i have no idea how to get the next update because my computer wont do it on its own.

    i have mac os x version 10.4.11 i have no idea how to get the next update because my computer wont do it on its own.

    10.4.11 is as far as you can go with Tiger.  You have to pay for the next update.  It is not available via Software Update.  Depending on which Mac you have, it can be Leopard, Snow Leopard, or Lion.

Maybe you are looking for

  • Need to insert data in 2 tables thro stored procedure

    I need to create a stored procedure which will insert data in two tables. The procedure will get its inputs from an Oracle Developer Form which will be inserted into the tables. The 2 tables structure: 1.FEES_MASTER Name Null? Type FEES_ID NOT NULL N

  • How do I move a photo from Photostream to a folder/album in Photostream?

    How do I move a photo from Photostream to a folder/album in Photostream?

  • I can block pop-ups, but not allow new windows in Firefox 4

    After upgrading to Firefox 4, I can block pop-ups (except those I wish to allow) just fine, but I can't find a way to allow website links to open new windows -- I always get a message that Firefox prevented the new window, with an "Allow" button. I w

  • How to trap Selection change

    Hi All, I need to observer selection change. How do i go about it. In basicpersistinterface the kBPISelectionObserverImpl is bound with the panel. Similarly I want to call a method on selection change and not update some UI, so where do i need to put

  • How to understand this java code?

    for example: * The HelloWorldApp class implements an application that * simply displays "Hello World!" to the standard output. class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); //Display the string. th