Error Referencing Value from Form in Report

I find the solution, sorry for delay but its a long time I dont work on report(the dark side of SP :sweat_smile:)

<TaskDefinition executor="sailpoint.reporting.LiveReportExecutor" name="Report" progressMode="Percentage" resultAction="Rename" subType="Custom Reports" template="true" type="LiveReport">
  <Attributes>

    <Map>

      <entry key="report">

        <value>

          <LiveReport title="Account Group Membership Report">

            <DataSource type="Hql">

              <Query>  from Link l, IdentityEntitlement ie,ManagedAttribute ma,Identity identity left outer join identity.manager m 

          where ie.value = ma.value and ie.application.name = ma.application.name and  ie.name = ma.attribute

          and l.application.name = ie.application.name and l.nativeIdentity  = ie.nativeIdentity and l.identity.id = identity.id
              </Query>
<QueryParameters>

                <Parameter argument="identityType" property="identityType"/>
                </QueryParameters>
              <QueryScript>

                <Source>
                      

                            String scriptCriteria ="";
                            List<String>  identityType = new ArrayList();
                            identityType = args.get("identityType");

                            if (identityType != null &amp;&amp; !identityType.isEmpty()){
                               scriptCriteria =  " identity.type  in( :identityType ) ";
                            }
                            if (!scriptCriteria.isEmpty())

                                 query+= " and " + scriptCriteria;

                            return query;

                        </Source>

              </QueryScript>

            </DataSource>
            <ReportForm>
              <Reference class="sailpoint.object.Form" name="Form-IdentityTypeAndStatusFilter"/>
            </ReportForm>
            <Columns>
              <ReportColumnConfig field="extended1" header="extended1" property="identity.extended1" sortable="true" width="80"/>
              <ReportColumnConfig field="identity" header="name" property="identity.name" sortable="true" width="80/">

            </Columns>
          </LiveReport>
        </value>
      </entry>
    </Map>
  </Attributes>
  <RequiredRights>
    <Reference class="sailpoint.object.SPRight" name="FullAccessAccountGroupMembershipReport"/>
  </RequiredRights>
  <Signature>
    <Inputs>
      <Argument multi="true" name="identityType" type="string"/>
      <Argument multi="true" name="identityInactive" type="string"/>
    </Inputs>
  </Signature>
</TaskDefinition>

I did this template with query. Using your form I read the arguments and use them in a query script. In this case I use only the identityType but you can add the part for identityInactive, add colums acc…
For the query I put some things like manager, managedattribute and identityentitlement; you can add or remove elements

1 Like