Completed purchase requisition workflow history
there was request from end user department once purchase requisition is approved,then they wants workflow history be printed on purchase requisition report.
below is the code where passing purchase requisition Id it will get purchase requisition workflow history and displaying it on purchase requisition report .
static wfHistory PRTrackingStep(PurchReqId _PurchReqId)
{
WorkflowTrackingTable TrackingTable;
WorkflowTrackingStatusTable TrackingStatusTable;
WorkflowStepTable StepTable;
PurchReqTable PurchReqTable;
str Rec,wfStatus=âApprovedâ;
;
WHILE select PurchReqId,PurchReqName from PurchReqTable
Join User,ToUser from TrackingTable
where PurchreqTable.PurchReqId == _PurchReqId
&& PurchReqTable.dataAreaId == âETISâ
&& PurchReqTable.RecId == TrackingTable.ContextRecId
&& PurchReqTable.TableId == TrackingTable.ContextTableId
&& TrackingTable.ContextTableId == 1551
&& TrackingTable.TrackingType == WorkflowTrackingType::Approval
join * from StepTable
where StepTable.StepId == TrackingTable.StepId
// && StepTable.Name == _Step
join * from TrackingStatusTable
where
TrackingTable.CorrelationId == TrackingStatusTable.CorrelationId
{
if(TrackingTable.TrackingType == WorkflowTrackingType::AutomaticDelegation)
{
if(trackingStatusTable.TrackingStatus == WorkflowTrackingStatus::Completed)
{
Rec += (strfmt(âDelegated To : %1, Step : %2, Status : %3â³,EmplTable::find(EmplTable::userId2EmplId(TrackingTable.User)).name(),
StepTable.Name,
wfStatus)) +â\n';
}
else
{
Rec += (strfmt(âDelegated To : %1, Step : %2, Status : %3â³,EmplTable::find(EmplTable::userId2EmplId(TrackingTable.User)).name(),
StepTable.Name,
TrackingStatusTable.TrackingStatus)) +â\n';
}
}
else
{
IF(STEPtABLE.Name)
{
if(trackingStatusTable.TrackingStatus == WorkflowTrackingStatus::Completed)
{
Rec += (strfmt(âAssign To : %1, Step : %2, Status : %3â³,EmplTable::find(EmplTable::userId2EmplId(TrackingTable.User)).name(),
StepTable.Name,
wfStatus)) +â\n';
}
else
{
Rec += (strfmt(âAssign To : %1, Step : %2, Status : %3â³,EmplTable::find(EmplTable::userId2EmplId(TrackingTable.User)).name(),
StepTable.Name,
TrackingStatusTable.TrackingStatus)) +â\n';
}
}
else
{
Rec = ââ;
}
}
}
return Rec;
}
Filed under: Dynamics AX 2009
This was originally posted here.

Like
Report
*This post is locked for comments