cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
JonathanG
Advocate II
Advocate II

Referencing output parameters from Stored Procedure Flow in PowerApps

The new Respond to PowerApps action in Flow looks to answer many prayers, but I can't get it to work with a SQL Server Stored Procedure. I'm trying to follow the Stephen Siciliano blog here.

 

I have a stored proc with several input parameters and 4 output parameters of various types (text, integer, bit). I create a new Flow. All the parameters, whether input or output, appear in the Execute Stored Procedure action. I ignore the output params and set the inputs to Ask in PowerApps dynamic content.

 

Then I add the Respond to PowerApps action. I select 'See more' by the Execute Stored Procedure option under Dynamic Content, but all I get is ReturnCode, not the output parameters. The flow executes ok but ReturnCode has no content.

 

Thinking perhaps the output parameter has to be singular and text, I've tried returning only one text parameter, but still don't see it.

 

I've tried the Request - Response action discussed here. This looks promising - it lists OutputParameters in the dynamic content options. Again the Flow runs but there is no content returned.

 

What am I doing wrong?

1 ACCEPTED SOLUTION

Accepted Solutions

Just in case anyone else sees this, Flow cannot return OUTPUT parameters from a stored procedure per the documentation:

 

https://docs.microsoft.com/en-us/connectors/sql/

View solution in original post

7 REPLIES 7
v-micsh-msft
Community Support
Community Support

 

What is the output of the Stored Procedure within Microsoft Flow?

You should be able to get the procedure results with the following expression under Microsoft Flow:

body('<Action_name>')?['ResultSets']

Which you may reference the detailed value by adding:

body('<Action_name>')?['ResultSets']?['FieldName']

Regards,

Michael

 

Community Support Team _ Michael Shao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Thanks Michael

Here's a sample flow. The Stored Procedure 'kmJunk' takes one integer input parameter and returns a single integer output parameter with the value 55:

Capture.PNG

 

The flow runs successfully and here's the result:

Capture.PNG

 

Surely this should be showing an output parameter (pOutput, with a value of 55)? The Stored Procedure is being fired and working correctly, and if I run it in SSMS I get some expected output parameter.

Not sure where to start with this..!

thanks

Jonathan

 

Just in case anyone else sees this, Flow cannot return OUTPUT parameters from a stored procedure per the documentation:

 

https://docs.microsoft.com/en-us/connectors/sql/

View solution in original post

@v-micsh-msftHi Michael. Your response here is very helpful with learning how to access the values within the ResultsSet. Is there any documentation or tutorials that elaborates deeper on how to do this?

 

Thanks!

Sean

Hi @sphillips22,

 

Sure. Microsoft Flow is built on top of Azure Logic Apps, so they would all work with the same language:

Workflow definition Language schema

 

Best regards,

Community Support Team _ Michael Shao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
johnnie
Frequent Visitor

Within the stored procedure, define the output parameter.... 

flow.png

Within the Flow, define a Respond to a PowerApp or flow step.  In my case the Output parameter is the second INT that I am returning...

flow2.png

Quick TIP.  If the data type is an INT, you must cast it to an INT via a formula, such as ...

 

int(body('ExecuteStoredProcedureV2')?['outputparameters/NewRootChildID'])

 

Finally, within the PowerApp, capture the return record from the call to the Flow, and reference the output value from the Stored Procedure.

 

UpdateContext({ReturnValuesVar: CopyPlantHierarchyTree.Run(ThisItem.ChildId, ThisItem.ParentId)});
If (ReturnValuesVar.returncodevalue = 0,
   UpdateContext({OutputValue: ReturnValuesVar.newrootchildid});
...

 

Here is the output from the flow after it was called from PowerApps...

flow3.png

Note that in this documentation, it only refers to on-premises SQL Server having this limitation. As per Johnnie and Michael's reply, it does work for Azure SQL.

 

3) When invoking a Stored Procedure on an on-premises SQL Server, we have the following limitations:

  • Output values for OUTPUT parameters are not returned. You can still specify input values for OUTPUT parameters.

Helpful resources

Announcements
PA_User Group Leader_768x460.jpg

Manage your user group events

Check out the News & Announcements to learn more.

Power Query PA Forum 768x460.png

Check it out!

Did you know that you can visit the Power Query Forum in Power BI and now Power Apps

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

R2 (Green) 768 x 460px.png

Microsoft Dynamics 365 & Power Platform User Professionals

DynamicsCon is a FREE, 4 half-day virtual learning experience for 11,000+ Microsoft Business Application users and professionals.

Users online (1,180)