Here's a scratchy algorithm for it. You can refine it further:
1. User clicks button.
2. Fire a query which will create a string of column name and their values (like an XML) from the outstanding table and insert it into Queue. So, if you have something like: Column1 contains 'A', Column2 contains 'B' and Column3 contains 'C' - use the query:
Insert into Queue (Message)
Select '<column1>' || Column1 || '</column1>' ||
'<column2>' || Column2 || '</column2>' ||
'<column3>' || Column3 || '</column3>'
From Outstanding;
The resultant string will be:
<column1>A</column1>
<column2>B</column2>
<column3>C</column3>
You can create the string in some other form as well like pipe delimited instead of XML. XML will be better suited I guess. It will help you parse the string easily later in case you have to retrieve it.