cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

API Object assignation Request

lardybenoit
New Contributor

Dear all,

 

I would need to assign a level of risk (sRisk) to an application (ApplicationName).

I get an error on type ojbect assigned to the method is not the right one.

 

Do someone could help me to bring the adequat modifications?

 

Thanks

 

sAppName = "ApplicationName"

sRisk = "Medium"

'Get application collection

Set oAppli = lApplis.Item(sAppName)

'Quality test

sEmpty = oAppli.GetID

If sEmpty > 0 Then

     ctr = oAppli.GetCollection("Risque").Count

     If (ctr > 0) Then

                    For Each oItem In oAppli.GetCollection("Risque")

                        oItem.Remove

                    Next

     End If

     'Get Risk collection

     Set oRisk = lRisks.Item(sRisk)

                

     'Set the reference of the risk to the application and remove the existing ones

     oAppli.GetCollection("Risque").Add (oRisk.GetID)

End If

1 Reply

lionel
MEGA
MEGA

Hello Benoit,

 

you have 2 errors in your code.

First, the way you disconnect risks from an application will disconnect only half of the risks... which means it will work only if you have one risk attached to your application.

Then, since in your code oRisk is already a megaObject, you should not use the "getid".

 

Your code should look like this :

 

sAppName = "ApplicationName"
sRisk = "Medium"

'Get application collection
Set oAppli = lApplis.Item(sAppName)

'Quality test
sEmpty = oAppli.GetID
If sEmpty > 0 Then
  ctr = oAppli.GetCollection("Risque").Count
  If (ctr > 0) Then
    'This code will not work : it will disconnect only half of the risks attached to the application
    'For Each oItem In oAppli.GetCollection("Risque")
      'oItem.Remove
    'Next
    
    'Use this code instead
    colRisques = oAppli.getCollection("Risque")
    For i = 1 to colRisques.count
      colRisques.item(1).remove
    Next
  End If

  'Get Risk collection
  Set oRisk = lRisks.Item(sRisk)
    
  'Set the reference of the risk to the application and remove the existing ones
  'Since oRisk is already a MegaObject, the ".getId" has nothing to do here :-)
  oAppli.GetCollection("Risque").Add (oRisk)
End If

 

PS : and I guess you defined lApplis and lRisks somewhere else in your code 🙂

 

Regards,

 

Lionel