Forum Discussion

Krishna's avatar
Krishna
Valued Contributor
3 years ago

RESTAPI from HCM Cloud

Hi - I have created a routine in Connector Rule to fetch the Worker data from HCM and I was able to assign it to a variables and able to print it successfully.

 

My question is below 

 

1. How I can assign the variables to the List because I am trying to use this connector rule in Data Source and trying to bring the data to the OS stage Area ? is it possible, My function return type is task for the RESTAPI call.

 

2. Or I can create a Extender Rule and create a Table in the Backend and import into the table and create an another connector rule to bring it to the stage.

 

Any suggestion would be appreciated.

 

Thanks

Krishna

  • LeeB's avatar
    LeeB
    Contributor II

    Hi Krishna,

    You would typically parse the results from the API into a DataTable and then use api.Parser.ProcessDataTable to populate Stage.

    You will need to use different approaches to populate the DataTable depending on the format of the data e.g. for JSON use the Newtonsoft framework.

     

    Lee

    • Krishna's avatar
      Krishna
      Valued Contributor

      Thanks Lee. I am using NewtonSoft Framework let me try this approach and update the results.

       

      Krishna

    • Krishna's avatar
      Krishna
      Valued Contributor

      Thanks Sai. Let me go through the BR and update you.

       

      Krishna

    • ckattookaran's avatar
      ckattookaran
      VIP

      Sai, your BR is not doing any filtering, or did I miss that part?

      • Sai_Maganti's avatar
        Sai_Maganti
        Contributor II

        All I understood about the OPs post was how to get data from an api call and use it in a data source. Not sure if the OP wanted to filter data?

    • Krishna's avatar
      Krishna
      Valued Contributor

      FYI  - I am using the Public Async Function APIC(ByVal si As SessionInfo) As Task. As you see the return type is task for the API so I will not be able to pass this to the Get data function. I took a different route I created a Temp Table and inserted the API response into the table then I used normal SQL Connector function to bring it to the data source. This works for me and was able to lad the Employee data into the Cube.  BTW thanks for your post and it was helpful.

       

       

  • I did ask around how to use the ClientFilterRequest method in the connector. However, there is nothing in the documentation around it or how to pass that to the connector rule. Maybe this is not exposed in the UI.

    Long story short, I don't think you can pass a parameter or filter to the connector rule (even though a method is there).

     

    • Krishna's avatar
      Krishna
      Valued Contributor

      ClientFilterRequest  - Are you referring to pass query parameters to the API ? 

       

      Thanks

      • Yup, that is part of ConnectorArgs. However, there is no way to pass it though. It is there but can't use (or I'm not sure how to use it)

    • Sai_Maganti's avatar
      Sai_Maganti
      Contributor II

      Usually you pass the filter args while calling the BR and with in the connector BR you would use

      args.ClientFilterRequest.length > 0 then
      'do your filtering here. if SQL then Where predicate..if api then pass this to the querystring..

       

      • ckattookaran's avatar
        ckattookaran
        VIP

        Can you please show me where to use this? For the life of me, I cannot find a way to do it.