cancel
Showing results for 
Search instead for 
Did you mean: 

IDM Management 8 error in resolving dynamic group

clotilde_martinez
Participant
0 Kudos

Hello experts,

we are using idm 8 sp0 with all patches (on Unix/Oracle) and I'm trying to use dynamic groups.

Database version is 8.0.0-ORA-2015-06-17

Schema version is 1528

I created one, setup as follow :

I then created a script to trigger dynamic group resolution in a toGeneric pass, with a source getting the dyn groups mskeys and the script set in the destination tab in "next data entry", here is the script (pretty basic...)

// Main function: z_calculateDynGroup

function z_calculateDynGroup(Par) {

    //Resolve dynamic group members

    //Input: dynamic group mskey

    //Output : None

    //get parameters

    group_mskey = Par.get("MSKEY");

    //Resolve Dynamic Group

    OutString = uIS_ResolveDynamicGroup(group_mskey);

    uErrMsg(1, OutString);

    return "";

}

When running the job i get the following error :

uis_ResolveDynamicGroup got exception processing entry 176466

java.lang.Throwable: ORA-00911: invalid characterORA-06512: at "MXMC_OPER.MXI_SET_RULE_MEMBERS", line 175ORA-06512: at line 1

Here the OutString is

!ERROR: INTERNAL ERROR java.sql.SQLSyntaxErrorException: ORA-00911: invalid characterORA-06512: at "MXMC_OPER.MXI_SET_RULE_MEMBERS", line 175ORA-06512: at line 1

Line 1 in the script is:

aRuleMSKEY number,

Then I tried to directly put my dyn group mskey in the uIS_ResolveDynamicGroup and I got :

!ERROR: Wrong entry type for dynamic group. Mskey: 174466

I checked the stored procedure in both 8 and 7.2 sp9 version (which worked), and i found a difference on the part where this error is thrown:

7.2 :

-- Get current identity store ID

  -- Check that the entry is of right type (MX_DYNAMIC_GROUP)

  -- OLD: SET @Isid = (select distinct is_id from idmv_value_ext_active where mskey=@Arulemskey AND SEARCHVALUE='MX_DYNAMIC_GROUP' and attrname='MX_ENTRYTYPE')

  SET @Isid = (select mcIdStore from mxi_entry with (nolock) where mcMSKEY=@Arulemskey AND mcEntryType='MX_DYNAMIC_GROUP' and mcEntryState=0)

  IF @Isid is NULL

  BEGIN

  SET @Plogtext = 'Error resolving dynamic group with MSKEY ' + cast(@Arulemskey as varchar)  + ': not a dynamic group'

  EXEC mc_write_syslog @Plogtext,'', 1, '', 0

  set @AErr=14

  Set @AErrInfo='Wrong entry type for dynamic group. Mskey: '  +   cast(@Arulemskey as varchar)

  return

  END

8.0:

-- Get current identity store ID

-- Check that the entry is of right type (MX_DYNAMIC_GROUP)

Begin

select mcIdStore INTO IsId from mxi_entry where mcMSKEY=Arulemskey AND Upper(mcEntryType)='MX_DYNAMIC_GROUP' and mcEntryState=0;

Exception when no_data_found Then

IsId:=NULL;

End;

IF IsId is NULL Then

pLogText := 'Error resolving dynamic group with MSKEY ' || to_char(aRuleMSKEY)  || ': not a dynamic group';

mc_write_syslog(pLogText,'', 1, '', 0);

aErr:=14;

aErrInfo := 'Wrong entry type for dynamic group. Mskey: ' || to_char(aRuleMSKEY);

return;

END IF;

When running the queries in a sqldevelopper, the 7.2 one returns the correct id store, the 8.0 one returns a missing keyword error.

Is there a problem with the 8.0 procedure or am i using it wrong? Also, in 7.2 it was possible to recalculate dynamic groups from the mmc, is there a place in 8.0 to do so or is it always by script or autoresolve intervals?

Thanks a lot and best regards,

Clotilde

Accepted Solutions (1)

Accepted Solutions (1)

EmiliaStefanova
Newcomer
0 Kudos

Hi Clotilde,


This problem is fixed in Patch 1 for IDM 8.0 SP1 UIS FOR NW 7.30.


I see that you use in your script “MSKEY” which is ok. However, please make sure that in the source tab of the pass, you select from the database “mcmskey” as this is the name of the column. To map the two values, in the destination tab you should use “MSKEY” for attribute and “%MCMSKEY%” for value.


Best regards,

Emilia

clotilde_martinez
Participant
0 Kudos

Hi Emilia,

indeed it has been fixed in the patch you're mentionning.

thanks a lot,

Clotilde

Answers (2)

Answers (2)

ole_k_rosberg
Explorer
0 Kudos

Hi Clotilde,

This could be a SQL problem with the dynamic group filter. Could you run the filter separately or add it to the thread?

Regards,

Ole K.

normann
Advisor
Advisor
0 Kudos

Hi Clotilde,

the error message about line 1 is not the line 1 in the script but in the statement (stored procedure). I would recommend you to open a message.

Regards

Norman

clotilde_martinez
Participant
0 Kudos

Hi Norman,

Sorry, i said it wrong, the first line i put was from the procedure not the script. But anyway I'll follow your advice and open an oss message.

Thank you a lot,

Clotilde

Former Member
0 Kudos

You're comparing the SQL Server 7.2 to Oracle 8.0 so when you copy the queries into SQL developer you need to the remove the into <var> for the Oracle version to work. Apologies if you did this already.

select mcIdStore from mxi_entry where mcMSKEY=174466 AND Upper(mcEntryType)='MX_DYNAMIC_GROUP' and mcEntryState=0;