Add role using bulk action

I'm trying to add a role to multiple users. I've never used a bulk action before and I can't find any documentation. Can somebody point my in the right direction or help me with the syntax/format of a bulk action file?

Hi,
This has to be a csv file.
Syntax for multiple roles
command,user,waveset.roles
Update,userid,Role1|Role2
Update,userid,Role1
Syntax for appending
command,user,waveset.roles
Update,userid,|Merge|Role1|Role2
Thanks.

Similar Messages

  • Assigning admin role with bulk action

    Using IDM 6.0 SP1 on tomcat and oracle db
    Using a csv file, I can update users with an admin role only if there are more than one admin roles (pipe delimited)
    CSV Header Row:
    Command,user,accounts[Lighthouse].adminRoles
    CSV Line One:
    Update,cramert,Administrator - Second Level Help Desk|Administrator - Security Desk|Administrator - Registration Authority
    CSV Line Two:
    Update,morrisom,Administrator - Registration Authority
    The first update with multiple admin roles works - the second does not...
    Thanks,
    Mike K

    Seems we have documentation on this one:
    For a list with one value use:
    |List|Administrator - First Level Help Desk
    For Merging one value to a List:
    |List;Merge|Administrator - First Level Help Desk
    Thanks,
    Mike K

  • Bulk actions: adminRoles

    I am using bulk action: action from list to load users into the system.
    Using:
    command,user,global.lastname,global.firstname,global.email,global.adminRoles,password.password,password.confirmPassword
    All seemed to working fine except adminRoles. The status says adminRole created but,
    Problem: I dont see this Admin Contact role being selected in the security tab page.
    Can anybody put some insights?
    Thank You.
    G

    I did use waveset.adminRole and status showed updated. But, I could not see this role being selected in SECURITY page.
    Should i assign any role in ASSIGNMENT page before adminRole?
    G

  • Interaction  with Bulk Action Task

    We are tyring to provide a "cleaner" interface for our customer when using bulk actions. Does anyone know how to interact directly with the Task that runs the bulk actions? I've looked in the repository thru the BPE and it's not selectable. Thanks!

    Ok, so here's the deal:
    If the command is Create, then use "password.password".
    If the command is Update, then use "global.password" (or "accounts[Lighthouse].password" if only IDM resource password is to be updated).
    It would have been nice to have only one reference for all actions, but I tested this and this is the way it is..
    -Adi
    [www.xpressutils.com|http://www.xpressutils.com]

  • How to use 'roles' attribute in action-mapping ?

    Hi,
    Can anybody tell me what are the steps needed to use 'roles' attribute in <action> tag of struts-config.xml file?
    I want to provide Action level security.
    Also pls post an example if u r having.
    Regards
    Veeru

    Hi,
    The RfcAdapter trys to find a Sender Agreement for this RFC call but the lookup failes. The values used for this lookup are:
    Sender Party/Sender Service: The values from Party and Service belonging to the sender channel.
    Sender Interface: The name of the RFC function module.
    Sender Namespace: The fix RFC namespace urn:sap-com:document:sap:rfc:functions
    Receiver Party/Receiver Service: These fields are empty. This will match the wildcard
    Regards,
    Suryanarayana

  • How to add a link under quick launch using custom actions?

    http://msdn.microsoft.com/en-us/library/office/bb802730(v=office.15).aspx
    Custom actions allow us to create feature to add a link under site settings, site actions menu and even central admin.
     Is there any way we can extend this feature to allow links being added under quick launch? I tried providing location Microsft.SharePoint.Navigation but that had no effect

    hi
    you don't need to use custom actions in order to add links to the quick launch menu. It allows to add links programmatically to the menu items collections directly, see e.g.
    Adding Links to Quick Launch. From this link check the following example which adds an item under the Lists heading in Quick Launch.:
    using System;
    using Microsoft.SharePoint;
    using Microsoft.SharePoint.Navigation;
    namespace ConsoleApp
    class Program
    static void Main(string[] args)
    using (SPSite site = new SPSite("http://localhost"))
    using (SPWeb web = site.OpenWeb())
    // Get the Links list or create it if it does not exist.
    SPList list = web.Lists.TryGetList("Links");
    if (list == null || list.BaseTemplate != SPListTemplateType.Links)
    // Create the list.
    Guid listId = web.Lists.Add("Links", "Interesting hyperlinks", SPListTemplateType.Links);
    list = web.Lists.GetList(listId, false);
    // Check for an existing link to the list.
    SPNavigationNode listNode = web.Navigation.GetNodeByUrl(list.DefaultViewUrl);
    // No link, so create one.
    if (listNode == null)
    // Create the node.
    listNode = new SPNavigationNode(list.Title, list.DefaultViewUrl);
    // Add it to Quick Launch.
    listNode = web.Navigation.AddToQuickLaunch(listNode, SPQuickLaunchHeading.Lists);
    Console.Write("\nPress ENTER to continue....");
    Console.ReadLine();
    Blog - http://sadomovalex.blogspot.com
    Dynamic CAML queries via C# - http://camlex.codeplex.com

  • How to add iview to role using webdynpro

    Hi every one, Can you please tell me how to add iview to role using webdynpro code.
    Thanks
    TK

    Hi,
    could you copy / past your code ?
    if you need help on webdynpro and your beginner, try to watch the video on internet of WebBProfessor. It's really good videos !
    regards
    Fred

  • How to remove Suspend ,Abort and some more from Bulk Actions

    Hi
    Does anybody have an idea as how to remove action such as Suspend,Abort but not all from Bulk actions in enterprise server.I am using 10.3.1 version.
    Any kind of suggestion will be greatly appreciated.
    Ritu

    What are you trying to accomplish here? By the sounds of it you want a way to be able to bulk abort, but not have the user be allowed to do this to individual instances...
    If so, I'd recommend setting the activities to NOT be abortable or suspendable, and add a Grab activity in a support role. Then make the grab, be abortable. This makes it so that a 'super user' (ie one with support role), can go in, select several instances, grab them, then abort them but normal users can not.
    Just a thought...
    HTH
    -Kevin

  • Create Organization & assign forms bulk action

    How can you create organizations by a bulk action,
    Is it possible to assign userform & viewuserform along with this bulk action
    As well as is it possible to assign a admin user to each Organisation

    i figure it out by myself, Thought would be of use to someone if required.
    created an xml file .... like below, and import it using the "Configure"- "ImportExport File " from the Administrator UI.
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE Waveset PUBLIC 'waveset.dtd' 'waveset.dtd'>
    <Waveset>
    <ObjectGroup name='OU one'> <MemberObjectGroups> <ObjectRef type='ObjectGroup' id='#Top#' name='Top'/> </MemberObjectGroups> </ObjectGroup>
    <ObjectGroup name='OU two'> <MemberObjectGroups> <ObjectRef type='ObjectGroup' id='#Top#' name='Top'/> </MemberObjectGroups> </ObjectGroup>
    <ObjectGroup name='OU three'> <MemberObjectGroups> <ObjectRef type='ObjectGroup' id='#Top#' name='Top'/> </MemberObjectGroups> </ObjectGroup>
    </Waveset
    if u need to add approvers for any of these OUs you can add the tag "Approver" and you can assign forms too along with this .
    The best way to do this is create a test OU with all that you need like approver, form etc...
    and use the same syntax.
    If multiple OUs are created make sure you have the <Waveset> tag in there....
    Thanks NSankar

  • ADDS role configuration with DCPromo failed , rc = 42

    Hi,
    i'm trying to build a Domain Controller (Windows Server 2008 R2 SP1) using MDT 2012.
    I created a Standard Task Sequence and append the following:
    "Apply Network Settings" Task to apply a fixed ip configuration to the machine.
    "Install Roles and Features" Task to install ADDS
    "Configure ADDS" Task to configure ADDS
    The task sequence itself is working fine till it comes to the "Configure ADDS" Step. Here it fails showing me the following error code:
    ERROR - ADDS role configuration with DCPromo failed , rc = 42
    ZTI ERROR - Non-zero return code by ZTIConfigureADDS, rc = 42
    Here is my ZTIConfigureADDS.log , any ideas what went wrong?
    Thanks a lot !
    Regards, Stefan
    <![LOG[Microsoft Deployment Toolkit version: 6.0.2223.0]LOG]!><time="16:31:23.000+000" date="06-14-2012" component="ZTIConfigureADDS" context="" type="1" thread="" file="ZTIConfigureADDS">
    <![LOG[The task sequencer log is located at C:\Users\ADMINI~1\AppData\Local\Temp\SMSTSLog\SMSTS.LOG. For task sequence failures, please consult this log.]LOG]!><time="16:31:23.000+000" date="06-14-2012" component="ZTIConfigureADDS" context="" type="1" thread="" file="ZTIConfigureADDS">
    <![LOG[---------------- Initialization ----------------]LOG]!><time="16:31:23.000+000" date="06-14-2012" component="ZTIConfigureADDS" context="" type="1" thread="" file="ZTIConfigureADDS">
    <![LOG[Generating DCPromo answer file]LOG]!><time="16:31:23.000+000" date="06-14-2012" component="ZTIConfigureADDS" context="" type="1" thread="" file="ZTIConfigureADDS">
    <![LOG[About to execute command: cmd /C C:\windows\system32\dcpromo.exe /answer:C:\Users\ADMINI~1\AppData\Local\Temp\AD_Answer.txt]LOG]!><time="16:31:24.000+000" date="06-14-2012" component="ZTIConfigureADDS" context="" type="1" thread="" file="ZTIConfigureADDS">
    <![LOG[ERROR - ADDS role configuration with DCPromo failed , rc = 42]LOG]!><time="16:31:34.000+000" date="06-14-2012" component="ZTIConfigureADDS" context="" type="3" thread="" file="ZTIConfigureADDS">
    <![LOG[ZTI ERROR - Non-zero return code by ZTIConfigureADDS, rc = 42]LOG]!><time="16:31:34.000+000" date="06-14-2012" component="ZTIConfigureADDS" context="" type="3" thread="" file="ZTIConfigureADDS">

    Just to add, in my smsts.log it states the following:
    <![LOG[Start executing the command line: cscript.exe "%SCRIPTROOT%\ZTIConfigureADDS.wsf"]LOG]!><time="16:31:23.936+420" date="06-14-2012" component="TSManager" context="" type="1" thread="2124" file="instruction.cxx:2928">
    <![LOG[!--------------------------------------------------------------------------------------------!]LOG]!><time="16:31:23.936+420" date="06-14-2012" component="TSManager" context="" type="1" thread="2124" file="instruction.cxx:2957">
    <![LOG[Expand a string: WinPEandFullOS]LOG]!><time="16:31:23.936+420" date="06-14-2012" component="TSManager" context="" type="0" thread="2124" file="executionenv.cxx:782">
    <![LOG[Executing command line: cscript.exe "%SCRIPTROOT%\ZTIConfigureADDS.wsf"]LOG]!><time="16:31:23.936+420" date="06-14-2012" component="TSManager" context="" type="1" thread="2124" file="commandline.cpp:805">
    <![LOG[Process completed with exit code 42]LOG]!><time="16:31:34.466+420" date="06-14-2012" component="TSManager" context="" type="1" thread="2124" file="commandline.cpp:1102">
    <![LOG[!--------------------------------------------------------------------------------------------!]LOG]!><time="16:31:34.466+420" date="06-14-2012" component="TSManager" context="" type="1" thread="2124" file="instruction.cxx:3010">
    <![LOG[Failed to run the action: Configure ADDS.
    Unknown error (Error: 0000002A; Source: Unknown)]LOG]!><time="16:31:34.482+420" date="06-14-2012" component="TSManager" context="" type="3" thread="2124" file="instruction.cxx:3101">
    <![LOG[Sending status message . . .]LOG]!><time="16:31:34.482+420" date="06-14-2012" component="TSManager" context="" type="1" thread="2124" file="utility.cxx:292">

  • Bulk Action - Update Only Lighthouse account

    Does anybody know how to only update the internal Lighthouse account in the CSV data itself when loading via a Bulk Action when using the "Action=From Action List" drop down option?
    I know you can select the "Only update the Identity system account" check box on the screen, but would like a way to add it to the CSV data as a backup in case the check box is accidentally left unchecked.
    The documentation says to use the "waveset.resources" column, but if I set the data to "Lighthouse", it throws the following error. I've tried a few other values also, but none have worked.
    com.waveset.exception.ItemNotFound: Resource:Lighthouse
    =======================================
    Options chosen on the Launch Bulk Actions page:
    =======================================
    Action = From Action List
    Check boxes = All unchecked
    Correlation Rule = User Name Matches AccountId
    Get Action List From = File
    *All others set to the default
    ==========
    Data Format:
    ==========
    command,user,accounts[Lighthouse].adminRoles,waveset.resources
    ===========
    Sample Data:
    ===========
    Update,10000009,|Remove|Helpdesk Admin,Lighthouse
    Thanks.

    just remove waveset.resources, and Lighthouse from it....
    It must work...
    Thanks
    Nsankar

  • Can the Bulk Action be scheduled?

    I need a quick help.
    Can the Bulk Action be scheduled?
    I have a feed file that gets updated for every 24 hrs and the records are to be processed accordingly. For this, I need to go to the bulk actions then select the option from file and then Launch. Can this be configured?
    If this cannot be configured, is it possible to write a workflow which will read the feed file and process the accounts. If this is possible please provide a working sample.
    The feed file basically has an attribute, that needs to be upated on the account and a Role is to be assigned or removed based on the value.
    Thanks in advance,

    Welcome to the forum!
    You've run across what looks like an interesting limitation of Keynote -- it seems that Actions cannot happen simultaneously with Builds for a single object. My only suggestion for a workaround would be to copy the section of the background that the photo is to appear on, put that on top of the photo, and use a Build Out Dissolve on that object as you scale the photo. This would achieve a similar effect to what you describe, although it is a pain in the butt to do.
    With regard to your second issue, a Move Action will do what you want if you set the Acceleration to "None". Of course, if you want the object to start off-screen and end off-screen, it can be tough to manipulate the animation. I always attach invisible "handles" to my image, in the form of objects with no fill or stroke that I then group with my image. They extend the image, so that the invisible objects are still on the screen, and thus selectable, when the actually image is off-screen.

  • Can I use Bulk Collect results as input parameter for another cursor

    MUSIC            ==> remote MUSIC_DB database, MUSIC table has 60 million rows
    PRICE_DATA ==> remote PRICING_DB database, PRICE_DATE table has 1 billion rows
    These two table once existed in same database, but size of database exceeded available hardware size and hardware budget, so the PRICE_DATA table was moved to another Oracle database.  I need to create a single report that combines data from both of these tables, and a distributed join with DRIVING_SITE hint will not work because the size of both table is too large to push to one DRIVING_SITE location, so I wrote this PLSQL block to process in small blocks.
    QUESTION: how can use bulk collect from one cursor and pass that bulk collected information as input to second cursor without specifically listing each cell of the PLSQL bulk collection?  See sample pseudo-code below, I am trying to determine more efficient way to code than hard-coding 100 parameter names into 2nd cursor.
    NOTE: below is truly pseudo-code, I had to change the names of everything to adhere to NDA, but below works and is fast enough for my purposes, but if I want to change from 100 input parameters to 200, I have to add more hard-coded values.  There has got to be a better way.
    DECLARE
         -- define cursor that retrieves distinct SONG_IDs from MUSIC table in remote music database
         CURSOR C_CURRENT_MUSIC
         IS
        select distinct SONG_ID
        from MUSIC@MUSIC_DB
        where PRODUCTION_RELEASE=1
         /*  define a parameterized cursor that accepts 100 SONG_IDs and retrieves
              required pricing information
         CURSOR C_get_music_price_data
                   P_SONG_ID_001 NUMBER, P_SONG_ID_002 NUMBER, P_SONG_ID_003 NUMBER, P_SONG_ID_004 NUMBER, P_SONG_ID_005 NUMBER, P_SONG_ID_006 NUMBER, P_SONG_ID_007 NUMBER, P_SONG_ID_008 NUMBER, P_SONG_ID_009 NUMBER, P_SONG_ID_010 NUMBER,
                   P_SONG_ID_011 NUMBER, P_SONG_ID_012 NUMBER, P_SONG_ID_013 NUMBER, P_SONG_ID_014 NUMBER, P_SONG_ID_015 NUMBER, P_SONG_ID_016 NUMBER, P_SONG_ID_017 NUMBER, P_SONG_ID_018 NUMBER, P_SONG_ID_019 NUMBER, P_SONG_ID_020 NUMBER,
                   P_SONG_ID_021 NUMBER, P_SONG_ID_022 NUMBER, P_SONG_ID_023 NUMBER, P_SONG_ID_024 NUMBER, P_SONG_ID_025 NUMBER, P_SONG_ID_026 NUMBER, P_SONG_ID_027 NUMBER, P_SONG_ID_028 NUMBER, P_SONG_ID_029 NUMBER, P_SONG_ID_030 NUMBER,
                   P_SONG_ID_031 NUMBER, P_SONG_ID_032 NUMBER, P_SONG_ID_033 NUMBER, P_SONG_ID_034 NUMBER, P_SONG_ID_035 NUMBER, P_SONG_ID_036 NUMBER, P_SONG_ID_037 NUMBER, P_SONG_ID_038 NUMBER, P_SONG_ID_039 NUMBER, P_SONG_ID_040 NUMBER,
                   P_SONG_ID_041 NUMBER, P_SONG_ID_042 NUMBER, P_SONG_ID_043 NUMBER, P_SONG_ID_044 NUMBER, P_SONG_ID_045 NUMBER, P_SONG_ID_046 NUMBER, P_SONG_ID_047 NUMBER, P_SONG_ID_048 NUMBER, P_SONG_ID_049 NUMBER, P_SONG_ID_050 NUMBER,
                   P_SONG_ID_051 NUMBER, P_SONG_ID_052 NUMBER, P_SONG_ID_053 NUMBER, P_SONG_ID_054 NUMBER, P_SONG_ID_055 NUMBER, P_SONG_ID_056 NUMBER, P_SONG_ID_057 NUMBER, P_SONG_ID_058 NUMBER, P_SONG_ID_059 NUMBER, P_SONG_ID_060 NUMBER,
                   P_SONG_ID_061 NUMBER, P_SONG_ID_062 NUMBER, P_SONG_ID_063 NUMBER, P_SONG_ID_064 NUMBER, P_SONG_ID_065 NUMBER, P_SONG_ID_066 NUMBER, P_SONG_ID_067 NUMBER, P_SONG_ID_068 NUMBER, P_SONG_ID_069 NUMBER, P_SONG_ID_070 NUMBER,
                   P_SONG_ID_071 NUMBER, P_SONG_ID_072 NUMBER, P_SONG_ID_073 NUMBER, P_SONG_ID_074 NUMBER, P_SONG_ID_075 NUMBER, P_SONG_ID_076 NUMBER, P_SONG_ID_077 NUMBER, P_SONG_ID_078 NUMBER, P_SONG_ID_079 NUMBER, P_SONG_ID_080 NUMBER,
                   P_SONG_ID_081 NUMBER, P_SONG_ID_082 NUMBER, P_SONG_ID_083 NUMBER, P_SONG_ID_084 NUMBER, P_SONG_ID_085 NUMBER, P_SONG_ID_086 NUMBER, P_SONG_ID_087 NUMBER, P_SONG_ID_088 NUMBER, P_SONG_ID_089 NUMBER, P_SONG_ID_090 NUMBER,
                   P_SONG_ID_091 NUMBER, P_SONG_ID_092 NUMBER, P_SONG_ID_093 NUMBER, P_SONG_ID_094 NUMBER, P_SONG_ID_095 NUMBER, P_SONG_ID_096 NUMBER, P_SONG_ID_097 NUMBER, P_SONG_ID_098 NUMBER, P_SONG_ID_099 NUMBER, P_SONG_ID_100 NUMBER
         IS
         select
         from PRICE_DATA@PRICING_DB
         where COUNTRY = 'USA'
         and START_DATE <= sysdate
         and END_DATE > sysdate
         and vpc.SONG_ID IN
                   P_SONG_ID_001 ,P_SONG_ID_002 ,P_SONG_ID_003 ,P_SONG_ID_004 ,P_SONG_ID_005 ,P_SONG_ID_006 ,P_SONG_ID_007 ,P_SONG_ID_008 ,P_SONG_ID_009 ,P_SONG_ID_010,
                   P_SONG_ID_011 ,P_SONG_ID_012 ,P_SONG_ID_013 ,P_SONG_ID_014 ,P_SONG_ID_015 ,P_SONG_ID_016 ,P_SONG_ID_017 ,P_SONG_ID_018 ,P_SONG_ID_019 ,P_SONG_ID_020,
                   P_SONG_ID_021 ,P_SONG_ID_022 ,P_SONG_ID_023 ,P_SONG_ID_024 ,P_SONG_ID_025 ,P_SONG_ID_026 ,P_SONG_ID_027 ,P_SONG_ID_028 ,P_SONG_ID_029 ,P_SONG_ID_030,
                   P_SONG_ID_031 ,P_SONG_ID_032 ,P_SONG_ID_033 ,P_SONG_ID_034 ,P_SONG_ID_035 ,P_SONG_ID_036 ,P_SONG_ID_037 ,P_SONG_ID_038 ,P_SONG_ID_039 ,P_SONG_ID_040,
                   P_SONG_ID_041 ,P_SONG_ID_042 ,P_SONG_ID_043 ,P_SONG_ID_044 ,P_SONG_ID_045 ,P_SONG_ID_046 ,P_SONG_ID_047 ,P_SONG_ID_048 ,P_SONG_ID_049 ,P_SONG_ID_050,
                   P_SONG_ID_051 ,P_SONG_ID_052 ,P_SONG_ID_053 ,P_SONG_ID_054 ,P_SONG_ID_055 ,P_SONG_ID_056 ,P_SONG_ID_057 ,P_SONG_ID_058 ,P_SONG_ID_059 ,P_SONG_ID_060,
                   P_SONG_ID_061 ,P_SONG_ID_062 ,P_SONG_ID_063 ,P_SONG_ID_064 ,P_SONG_ID_065 ,P_SONG_ID_066 ,P_SONG_ID_067 ,P_SONG_ID_068 ,P_SONG_ID_069 ,P_SONG_ID_070,
                   P_SONG_ID_071 ,P_SONG_ID_072 ,P_SONG_ID_073 ,P_SONG_ID_074 ,P_SONG_ID_075 ,P_SONG_ID_076 ,P_SONG_ID_077 ,P_SONG_ID_078 ,P_SONG_ID_079 ,P_SONG_ID_080,
                   P_SONG_ID_081 ,P_SONG_ID_082 ,P_SONG_ID_083 ,P_SONG_ID_084 ,P_SONG_ID_085 ,P_SONG_ID_086 ,P_SONG_ID_087 ,P_SONG_ID_088 ,P_SONG_ID_089 ,P_SONG_ID_090,
                   P_SONG_ID_091 ,P_SONG_ID_092 ,P_SONG_ID_093 ,P_SONG_ID_094 ,P_SONG_ID_095 ,P_SONG_ID_096 ,P_SONG_ID_097 ,P_SONG_ID_098 ,P_SONG_ID_099 ,P_SONG_ID_100
         group by
               vpc.SONG_ID
              ,vpc.STOREFRONT_ID
         TYPE SONG_ID_TYPE IS TABLE OF MUSIC@MUSIC_DB%TYPE INDEX BY BINARY_INTEGER;
         V_SONG_ID_ARRAY                         SONG_ID_TYPE                     ;
         v_commit_counter           NUMBER := 0;
    BEGIN
         /* open cursor you intent to bulk collect from */
         OPEN C_CURRENT_MUSIC;
         LOOP
              /* in batches of 100, bulk collect ADAM_ID mapped TMS_IDENTIFIER into PLSQL table or records */
              FETCH C_CURRENT_MUSIC BULK COLLECT INTO V_SONG_ID_ARRAY LIMIT 100;
                   EXIT WHEN V_SONG_ID_ARRAY.COUNT = 0;
                   /* to avoid NO DATA FOUND error when pass 100 parameters to OPEN cursor, if the arrary
                      is not fully populated to 100, pad the array with nulls to fill up to 100 cells. */
                   IF (V_SONG_ID_ARRAY.COUNT >=1 and V_SONG_ID_ARRAY.COUNT <> 100) THEN
                        FOR j IN V_SONG_ID_ARRAY.COUNT+1..100 LOOP
                             V_SONG_ID_ARRAY(j) := null;
                        END LOOP;
                   END IF;
              /* pass a batch of 100 to cursor that get price information per SONG_ID and STOREFRONT_ID */
              FOR j IN C_get_music_price_data
                        V_SONG_ID_ARRAY(1) ,V_SONG_ID_ARRAY(2) ,V_SONG_ID_ARRAY(3) ,V_SONG_ID_ARRAY(4) ,V_SONG_ID_ARRAY(5) ,V_SONG_ID_ARRAY(6) ,V_SONG_ID_ARRAY(7) ,V_SONG_ID_ARRAY(8) ,V_SONG_ID_ARRAY(9) ,V_SONG_ID_ARRAY(10) ,
                        V_SONG_ID_ARRAY(11) ,V_SONG_ID_ARRAY(12) ,V_SONG_ID_ARRAY(13) ,V_SONG_ID_ARRAY(14) ,V_SONG_ID_ARRAY(15) ,V_SONG_ID_ARRAY(16) ,V_SONG_ID_ARRAY(17) ,V_SONG_ID_ARRAY(18) ,V_SONG_ID_ARRAY(19) ,V_SONG_ID_ARRAY(20) ,
                        V_SONG_ID_ARRAY(21) ,V_SONG_ID_ARRAY(22) ,V_SONG_ID_ARRAY(23) ,V_SONG_ID_ARRAY(24) ,V_SONG_ID_ARRAY(25) ,V_SONG_ID_ARRAY(26) ,V_SONG_ID_ARRAY(27) ,V_SONG_ID_ARRAY(28) ,V_SONG_ID_ARRAY(29) ,V_SONG_ID_ARRAY(30) ,
                        V_SONG_ID_ARRAY(31) ,V_SONG_ID_ARRAY(32) ,V_SONG_ID_ARRAY(33) ,V_SONG_ID_ARRAY(34) ,V_SONG_ID_ARRAY(35) ,V_SONG_ID_ARRAY(36) ,V_SONG_ID_ARRAY(37) ,V_SONG_ID_ARRAY(38) ,V_SONG_ID_ARRAY(39) ,V_SONG_ID_ARRAY(40) ,
                        V_SONG_ID_ARRAY(41) ,V_SONG_ID_ARRAY(42) ,V_SONG_ID_ARRAY(43) ,V_SONG_ID_ARRAY(44) ,V_SONG_ID_ARRAY(45) ,V_SONG_ID_ARRAY(46) ,V_SONG_ID_ARRAY(47) ,V_SONG_ID_ARRAY(48) ,V_SONG_ID_ARRAY(49) ,V_SONG_ID_ARRAY(50) ,
                        V_SONG_ID_ARRAY(51) ,V_SONG_ID_ARRAY(52) ,V_SONG_ID_ARRAY(53) ,V_SONG_ID_ARRAY(54) ,V_SONG_ID_ARRAY(55) ,V_SONG_ID_ARRAY(56) ,V_SONG_ID_ARRAY(57) ,V_SONG_ID_ARRAY(58) ,V_SONG_ID_ARRAY(59) ,V_SONG_ID_ARRAY(60) ,
                        V_SONG_ID_ARRAY(61) ,V_SONG_ID_ARRAY(62) ,V_SONG_ID_ARRAY(63) ,V_SONG_ID_ARRAY(64) ,V_SONG_ID_ARRAY(65) ,V_SONG_ID_ARRAY(66) ,V_SONG_ID_ARRAY(67) ,V_SONG_ID_ARRAY(68) ,V_SONG_ID_ARRAY(69) ,V_SONG_ID_ARRAY(70) ,
                        V_SONG_ID_ARRAY(71) ,V_SONG_ID_ARRAY(72) ,V_SONG_ID_ARRAY(73) ,V_SONG_ID_ARRAY(74) ,V_SONG_ID_ARRAY(75) ,V_SONG_ID_ARRAY(76) ,V_SONG_ID_ARRAY(77) ,V_SONG_ID_ARRAY(78) ,V_SONG_ID_ARRAY(79) ,V_SONG_ID_ARRAY(80) ,
                        V_SONG_ID_ARRAY(81) ,V_SONG_ID_ARRAY(82) ,V_SONG_ID_ARRAY(83) ,V_SONG_ID_ARRAY(84) ,V_SONG_ID_ARRAY(85) ,V_SONG_ID_ARRAY(86) ,V_SONG_ID_ARRAY(87) ,V_SONG_ID_ARRAY(88) ,V_SONG_ID_ARRAY(89) ,V_SONG_ID_ARRAY(90) ,
                        V_SONG_ID_ARRAY(91) ,V_SONG_ID_ARRAY(92) ,V_SONG_ID_ARRAY(93) ,V_SONG_ID_ARRAY(94) ,V_SONG_ID_ARRAY(95) ,V_SONG_ID_ARRAY(96) ,V_SONG_ID_ARRAY(97) ,V_SONG_ID_ARRAY(98) ,V_SONG_ID_ARRAY(99) ,V_SONG_ID_ARRAY(100)        
              LOOP
                   /* do stuff with data from Song and Pricing Database coming from the two
                        separate cursors, then continue processing more rows...
              END LOOP;
              /* commit after each batch of 100 SONG_IDs is processed */        
              COMMIT;
              EXIT WHEN C_CURRENT_MUSIC%NOTFOUND;  -- exit when there are no more rows to fetch from cursor
         END LOOP; -- bulk fetching loop
         CLOSE C_CURRENT_MUSIC; -- close cursor that was used in bulk collection
         /* commit rows */
         COMMIT; -- commit any remaining uncommitted data.
    END;

    I've got a problem when using passing VARRAY of numbers as parameter to remote cursor: it takes a super long time to run, sometimes doesn't finish even after an hour as passed.
    Continuing with my example in original entry, I replaced the bulk collect into PLSQL table collection with a VARRAY and i bulk collect into the VARRAY, this is fast and I know it works because I can DBMS_OUTPUT.PUT_LINE cells of VARRAY so I know it is getting populated correctly.  However, when I pass the VARRAY containing 100 cells populated with SONG_IDs as parameter to cursor, execution time is over an hour and when I am expecting a few seconds.
    Below code example strips the problem down to it's raw details, I skip the bulk collect and just manually populate a VARRAY with 100 SONG_ID values, then try to pass to as parameter to a cursor, but the execution time of cursor is unexpectedly long, over 30 minutes, sometime longer, when I am expecting seconds.
    IMPORTANT: If I take the same 100 SONG_IDs and place them directly in the cursor query's where IN clause, the SQL runs in under 5 seconds and returns result.  Also, if I pass the 100 SONG_IDs as individual cells of a PLSQL table collection, then it also runs fast.
    I thought that since the VARRAY is used via select subquery that is it queried locally, but the cursor is remote, and that I had a distribute problem on my hands, so I put in the DRIVING_SITE hint to attempt to force the result of query against VARRAY to go to remote server and rest of query will run there before returning result, but that didn't work either, still got slow response.
    Is something wrong with my code, or I am running into a Oracle problem that may require support to resolve?
    DECLARE
         /*  define a parameterized cursor that accepts XXX number of in SONG_IDs and
          retrieves required pricing information
         CURSOR C_get_music_price_data
      p_array_song_ids SYS.ODCInumberList              
         IS
         select  /*+DRIVING_SITE(pd) */
      count(distinct s.EVE_ID)
         from PRICE_DATA@PRICING_DB pd
         where pd.COUNTRY = 'USA'
         and pd.START_DATE <= sysdate
         and pd.END_DATE > sysdate
         and pd.SONG_ID IN
              select column_value from table(p_array_song_ids)
         group by
               pd.SONG_ID
              ,pd.STOREFRONT_ID
      V_ARRAY_SONG_IDS SYS.ODCInumberList := SYS.ODCInumberList();    
    BEGIN
    V_ARRAY_SONG_IDS.EXTEND(100);
    V_ARRAY_SONG_IDS(  1 ) := 31135  ;
    V_ARRAY_SONG_IDS(  2 ) := 31140   ;
    V_ARRAY_SONG_IDS(  3 ) := 31142   ;
    V_ARRAY_SONG_IDS(  4 ) := 31144   ;
    V_ARRAY_SONG_IDS(  5 ) := 31146   ;
    V_ARRAY_SONG_IDS(  6 ) := 31148   ;
    V_ARRAY_SONG_IDS(  7 ) := 31150   ;
    V_ARRAY_SONG_IDS(  8 ) := 31152   ;
    V_ARRAY_SONG_IDS(  9 ) := 31154   ;
    V_ARRAY_SONG_IDS( 10 ) := 31156   ;
    V_ARRAY_SONG_IDS( 11 ) := 31158   ;
    V_ARRAY_SONG_IDS( 12 ) := 31160   ;
    V_ARRAY_SONG_IDS( 13 ) := 33598   ;
    V_ARRAY_SONG_IDS( 14 ) := 33603   ;
    V_ARRAY_SONG_IDS( 15 ) := 33605   ;
    V_ARRAY_SONG_IDS( 16 ) := 33607   ;
    V_ARRAY_SONG_IDS( 17 ) := 33609   ;
    V_ARRAY_SONG_IDS( 18 ) := 33611   ;
    V_ARRAY_SONG_IDS( 19 ) := 33613   ;
    V_ARRAY_SONG_IDS( 20 ) := 33615   ;
    V_ARRAY_SONG_IDS( 21 ) := 33617   ;
    V_ARRAY_SONG_IDS( 22 ) := 33630   ;
    V_ARRAY_SONG_IDS( 23 ) := 33632   ;
    V_ARRAY_SONG_IDS( 24 ) := 33636   ;
    V_ARRAY_SONG_IDS( 25 ) := 33638   ;
    V_ARRAY_SONG_IDS( 26 ) := 33640   ;
    V_ARRAY_SONG_IDS( 27 ) := 33642   ;
    V_ARRAY_SONG_IDS( 28 ) := 33644   ;
    V_ARRAY_SONG_IDS( 29 ) := 33646   ;
    V_ARRAY_SONG_IDS( 30 ) := 33648   ;
    V_ARRAY_SONG_IDS( 31 ) := 33662   ;
    V_ARRAY_SONG_IDS( 32 ) := 33667   ;
    V_ARRAY_SONG_IDS( 33 ) := 33669   ;
    V_ARRAY_SONG_IDS( 34 ) := 33671   ;
    V_ARRAY_SONG_IDS( 35 ) := 33673   ;
    V_ARRAY_SONG_IDS( 36 ) := 33675   ;
    V_ARRAY_SONG_IDS( 37 ) := 33677   ;
    V_ARRAY_SONG_IDS( 38 ) := 33679   ;
    V_ARRAY_SONG_IDS( 39 ) := 33681   ;
    V_ARRAY_SONG_IDS( 40 ) := 33683   ;
    V_ARRAY_SONG_IDS( 41 ) := 33685   ;
    V_ARRAY_SONG_IDS( 42 ) := 33700   ;
    V_ARRAY_SONG_IDS( 43 ) := 33702   ;
    V_ARRAY_SONG_IDS( 44 ) := 33704   ;
    V_ARRAY_SONG_IDS( 45 ) := 33706   ;
    V_ARRAY_SONG_IDS( 46 ) := 33708   ;
    V_ARRAY_SONG_IDS( 47 ) := 33710   ;
    V_ARRAY_SONG_IDS( 48 ) := 33712   ;
    V_ARRAY_SONG_IDS( 49 ) := 33723   ;
    V_ARRAY_SONG_IDS( 50 ) := 33725   ;
    V_ARRAY_SONG_IDS( 51 ) := 33727   ;
    V_ARRAY_SONG_IDS( 52 ) := 33729   ;
    V_ARRAY_SONG_IDS( 53 ) := 33731   ;
    V_ARRAY_SONG_IDS( 54 ) := 33733   ;
    V_ARRAY_SONG_IDS( 55 ) := 33735   ;
    V_ARRAY_SONG_IDS( 56 ) := 33737   ;
    V_ARRAY_SONG_IDS( 57 ) := 33749   ;
    V_ARRAY_SONG_IDS( 58 ) := 33751   ;
    V_ARRAY_SONG_IDS( 59 ) := 33753   ;
    V_ARRAY_SONG_IDS( 60 ) := 33755   ;
    V_ARRAY_SONG_IDS( 61 ) := 33757   ;
    V_ARRAY_SONG_IDS( 62 ) := 33759   ;
    V_ARRAY_SONG_IDS( 63 ) := 33761   ;
    V_ARRAY_SONG_IDS( 64 ) := 33763   ;
    V_ARRAY_SONG_IDS( 65 ) := 33775   ;
    V_ARRAY_SONG_IDS( 66 ) := 33777   ;
    V_ARRAY_SONG_IDS( 67 ) := 33779   ;
    V_ARRAY_SONG_IDS( 68 ) := 33781   ;
    V_ARRAY_SONG_IDS( 69 ) := 33783   ;
    V_ARRAY_SONG_IDS( 70 ) := 33785   ;
    V_ARRAY_SONG_IDS( 71 ) := 33787   ;
    V_ARRAY_SONG_IDS( 72 ) := 33789   ;
    V_ARRAY_SONG_IDS( 73 ) := 33791   ;
    V_ARRAY_SONG_IDS( 74 ) := 33793   ;
    V_ARRAY_SONG_IDS( 75 ) := 33807   ;
    V_ARRAY_SONG_IDS( 76 ) := 33809   ;
    V_ARRAY_SONG_IDS( 77 ) := 33811   ;
    V_ARRAY_SONG_IDS( 78 ) := 33813   ;
    V_ARRAY_SONG_IDS( 79 ) := 33815   ;
    V_ARRAY_SONG_IDS( 80 ) := 33817   ;
    V_ARRAY_SONG_IDS( 81 ) := 33819   ;
    V_ARRAY_SONG_IDS( 82 ) := 33821   ;
    V_ARRAY_SONG_IDS( 83 ) := 33823   ;
    V_ARRAY_SONG_IDS( 84 ) := 33825   ;
    V_ARRAY_SONG_IDS( 85 ) := 33839   ;
    V_ARRAY_SONG_IDS( 86 ) := 33844   ;
    V_ARRAY_SONG_IDS( 87 ) := 33846   ;
    V_ARRAY_SONG_IDS( 88 ) := 33848   ;
    V_ARRAY_SONG_IDS( 89 ) := 33850   ;
    V_ARRAY_SONG_IDS( 90 ) := 33852   ;
    V_ARRAY_SONG_IDS( 91 ) := 33854   ;
    V_ARRAY_SONG_IDS( 92 ) := 33856   ;
    V_ARRAY_SONG_IDS( 93 ) := 33858   ;
    V_ARRAY_SONG_IDS( 94 ) := 33860   ;
    V_ARRAY_SONG_IDS( 95 ) := 33874   ;
    V_ARRAY_SONG_IDS( 96 ) := 33879   ;
    V_ARRAY_SONG_IDS( 97 ) := 33881   ;
    V_ARRAY_SONG_IDS( 98 ) := 33883   ;
    V_ARRAY_SONG_IDS( 99 ) := 33885   ;
    V_ARRAY_SONG_IDS(100 ) := 33889  ;
        /* do stuff with data from Song and Pricing Database coming from the two
      separate cursors, then continue processing more rows...
      FOR i IN C_get_music_price_data( v_array_song_ids ) LOOP
      . (this is the loop where I pass in v_array_song_ids
      .  populated with only 100 cells and it runs forever)
      END LOOP; 
    END;

  • How to use "Insert action"

    Hi, experts:
      I am facing one problem.
      I try to use system action "insert action" to insert a new row into table view from a form view,
      I have assign "To" to the target table in the Insert action properties.
      When test program, table view did add a new row after click insert button in the form view, but all cell value are blank.
      Any hints would be very appreciate.
      Thanks.
      Best regards,
      Nick.

    Hi Nick,
    I think you are trying to use the fields on the From View to insert the rows with those values in the table View using the 'INSERT' action. You have also configured the 'TO' field of the 'INSERT' action to point to your Target Table View.
    By default the INSERT Action will insert a blank row. In order to populate the values in the table, do the following:
    1.Right Click your Target Table View.
    2. Select 'Define Data'
    3. For each field in the table set the default value to the corresponding field from the source 'Form view'
                 For doing this Double Click the 'fx' button in the Default Value column
                 Open 'Data Fields'
                 Open Your Source Form view
                 Double Click the required field
                 Clcik Ok
    3. Save, Compile and Deploy the Application
    Regards,
    Ajay

  • ABAP prog with Call Transaction  to SU01 will not add roles in a CUA client

    I am modifying a current ABAP program that works in a non-CUA client to hopefully execute in a CUA client.  This program performs a Call Transaction to tcode SU01 and adds roles to an existing user.  I used tcode SHDB to identify the new BDC commands needed for CUA when using tcode SU01.  When executing the program in the CUA client  it does not save the roles to the user.  There is no error message or abnormal termination.
    When I assign the role to the same user that's referenced in my program directly with tcode SU01 it works fine.  Its just when I run the ABAP program the role assigment is not retained.  I opened a Customer Message with SAP and they referenced OSS Note 93802 and said this was a consulting question.  My program is not abending as referenced in Note 93802, it just does not add the role.
    Has anyone been able to get this to work in a CUA client?

    Hi,
    it should be fairly simple to create a new ABAP using the BAPI's related to business object USER. Call BAPI_USER_CREATE1 to create the users, and BAPI_USER_LOCACTGROUPS_ASSIGN to assign roles in a CUA environment. It should go something like this:
    [read file with user data into internal table wt_users]
    [read file with role assignments into internal table wt_roles]
    Loop at wt_users into wa_user.
      [create LOGINDATA, ADDRESS and other structures for user in BAPI below, based on the data in wa_user]
      call 'BAPI_USER_CREATE1'
      exporting
        username                      = [the user name from input file]
      NAME_IN                       =
        logondata                     = [structure for logondata]
        password                      = [initial password value]
      DEFAULTS                      =
        address                       = [address structure created above]
        [etc.]
      if sy-subrc eq 0.
    Assign roles for the user
    clear wt_activitygroups. refresh wt_activitygroups.
    loop at wt_roles into wa_roles where username = wa_user-username.
        [build an internal table, wt_activitygroups, for system/role assignments for the user]
    endloop.
        call BAPI_USER_LOCACTGROUPS_ASSIGN
          exporting
            username                      = [the users name]
          tables
            activitygroups           = wt_activitygroups
            return                       = wt_return.
    Endloop.
    Ideally, you would have two input files: one with the user data (one record per user), and another one containing the data for the BAPI_USER_LOCACTGROUPS_ASSIGN (on the format USERNAME, SYSTEM, ROLENAME); one entry per line. You'd loop at the first table, containing the user data, then create the user, then loop at all entries in the system/role assignment file for the same username, building an internal table of role assignemnts; then call the second BAPI (provided there were any role assignments to assign for that user!)
    Hope this makes sense. It's not rocket science really; you can omit most of the parameters of BAPI_USER_CREATE1, and the second BAPI is even simpler. You could consider validating the input data by checking entries in table USRSYSACT, which contains all valid system/role assignments as seen from the CUA system (this table gets updated every time you do a "text compare" from within SU01.
    Regards,
    Trond

Maybe you are looking for

  • Executing stored procedure dynamically

    Hi Everybody, I am trying to execute one procedure in other procedure dynamically. I am not sure, how to do this. Please provide your responses and comments. Main Sp: CREATE OR REPLACE PROCEDURE R2D2.SP_UPDATE ( V_ID IN RC_PENDING_TX.CS_ID%TYPE, S_ID

  • Multiple data sources based on a parameter

    Hi there! Is it possible to get data from different data sources based on a parameter? For example, I have SQL query and parameter pFI that can be equal to 1 or 2. So if the pFI = 1 then I need to execute this query in DB1 otherwise I need to execute

  • Camera RAW Support for Canon 7D Mark II

    Hi, I've just purchased the Canon 7D Mark II, connected it to my PC, but then found that Adobe Camera RAW doesn't support it yet. Any updates when this camera might be possibly supported? 

  • Any idea why screen_run method is bypassed (SL)??

    Hi! I have some details screen which I want to override (run some different screen instead of default depending on my needs).. I did this before (VS2012) without problems.. but now.. I've noticed that in some situations I cannot rely on screen_run /

  • Can you turn iSight into a webcam.

    Can you turn a iSight into a webcam?