AX 2012 SSRS report error Parameter 'PSAPwp txt" does not exist in the report

Hi

when i try to open Purchase order report for the first time in Ax 2012, its throwing the error

Parameter 'PSAPwp txt" does not exist in the report

can anybody plz help me on this.

Thanks.

Hi Ashish,

Restart the SQL Reporting service once and try again

Hi Mohan,

I have tried that, still throwing the error.

Thanks,

Hi

I am also getting the same error while opening the Purchase order report. I am using the AX 2012 Feature Pack. The same report is working in AX 2012 RTM. Any suggestions please ??

Hi Guys,

I am also facing the same problem did any of you got the solution for this problem.

Please share it if you fixed the issue.

Thanks.

Hi,

I too have the same problem with “SMAWorkNote” SSRS Report. In this, i did a small modification. I just added a field. While runing this report i am gettng “The ‘SMAWorkNoteDS_StyleId’ parameter is missing a value" error**.** This variable has been declared in parmStyleId() method of SMAWorkNoteContract class” , this method was came feature pack . But, i am able to run this report with the same modification in another machine in which feature pack not installed.

I guess, this problem might be with feature pack.

Can anyone tell me, how we can overcome this…

This is due to the fact that FeaturePack installs a new PurchaseOrder report called PSAPurchaseOrder with accompanying classes, which is used instead of the old PurchPurchaseOrder report.

The new report is used instead, if you have activated the “Project 3” configuration key in AX2012 License Configuration.

One way of solving the problem is disabling the “Project 3” configuration key, which makes AX use the old PurchPurchaseOrder report.

Another quick and dirty solution is to log into the reporting service, and download the PSAPurchaseOrder.RDL file - then edit it using Visual Studio and add the missing Parameter, and finally upload the modified report to your Reporting Server again.

Finally if you cannot disable “Project 3” configuration key, you can look in the classes “PurchPurchaseOrderJournalPrint” and “PurchFormletterReport_PurchaseOrder” where FeaturePack has added the check that prints to PSAPurchaseOrder instead of PurchPurchaseOrder if “Project 3” configuration is enabled.

Hope this helps

Finally if you cannot disable “Project 3” configuration key, you can look in the classes “PurchPurchaseOrderJournalPrint” and “PurchFormletterReport_PurchaseOrder” where FeaturePack has added the check that prints to PSAPurchaseOrder instead of PurchPurchaseOrder if “Project 3” configuration is enabled.

Can you please specify the class to change the code i have changed the code in

Tables\VendPurchOrderJour\PrintJournal

Here i find the code and disabled the code here this is the only place i find the code for PSAPurchaseorder report. I disable the code but now when i print the PO it opens 2 report viewer 1 displays the purchase order and 2nd viewer still gives the same error.

I think there is some where else where i need to change please help any one if solved this problem.

Appreciate and thanks.

I Had the same error and able to solve it ,open Dynamics AX Model Project that contain the report using Edit It will open Visual Studio.Net and verify that you did not set the Allow Blank property to True to make the parameter optional. and then Build and Deploy the project Inshaa Allah it will solve [:D]

Hi,

I have the same problem, the problem is that the report standar is PSAPurchPurchaseOrder. Before the standar are PurchPurchaseOrder.

The parameters in this reports is different in ReportingServices. You can duplicate the PSAPurchPurchaseOrder.

try

Hi,

I have the same problem, the problem is that the report standar is PSAPurchPurchaseOrder. Before the standar are PurchPurchaseOrder.

The parameters in this reports is different in ReportingServices. You can duplicate the PSAPurchPurchaseOrder.

try

I believe I got this error, “The ‘PSAPwpTxt’ parameter is missing a value”.

To resolve this error I added a record in table PrintMgmtReportFormat for the PSAPurchaseOrder.Report SSRS report format. I did it using table browser.

I ran the report when confirming a PO and also on a reprint. Both times no errors came up and the reports printed to screen fine.

Since pucrhase order report is print management report, the print mgmt framework might be referring to old report so delete the records from ‘PrintMgmtReportFormat’ table and run the report. This time it will work fine as framework will update this table with updated entries once any one of the print mgmt report is run.

Hi,

Since Purchase order report is print management report, the framework might be referring to older report. Delete all the records or record related to purchase order from ‘PrintMgmtReportFormat’ table and run the report again. This time it might work as print mgmt framework will update this table with updated entries once any one of print mgmt report is run.

If you have Project 3 enabled, which I do, and do not want to disable it, I made this error go away by changing one line of code.
Look at the line with //MCARemoved//.

public void loadPrintSettings(Common _jourTable, Common _transTable, str _languageId, str _documentKeyValue = ‘’)
{
boolean isValidReference(Common _referencedTableBuffer)
{
PrintMgmtNodeInstance nodeInstance = new PrintMgmtNodeInstance();

nodeInstance.parmNodeDefinition(PrintMgmtNode::construct(this.getPrintMgmtNodeType()));
nodeInstance.parmReferencedTableBuffer(_referencedTableBuffer);

return nodeInstance.isValidReference();
}

void setSettingDetail(PrintMgmtDocInstanceType _type, SRSPrintDestinationSettings _defaultSettings)
{
PrintMgmtPrintSettingDetail printSettingDetail = new PrintMgmtPrintSettingDetail();
//
if (isConfigurationkeyEnabled(configurationkeynum(Project3))
&& (this.getPrintMgmtDocumentType() == PrintMgmtDocumentType::PurchaseOrderRequisition))
{
//MCARemoved// printSettingDetail.parmReportFormatName(ssrsReportStr(PSAPurchaseOrder, Report));
printSettingDetail.parmReportFormatName(ssrsReportStr(PurchPurchaseOrder, Report));
}
else
{
//
printSettingDetail.parmReportFormatName(PrintMgmtReportFormat::findSystem(this.getPrintMgmtDocumentType()).Name);
//
}
//
printSettingDetail.parmType(_type);

I forgot to mention that this was done in the FormLetterReport class

realy i dont undrestand !
i want to modifie PSAPurchaseOrderController class to configurate parmcontract :

i create preRunModifyContract methode in PSAPurchaseOrderController class, I use command : purchTable=this.parmArgs().record() to recuperate my selected record but I recuperate nothing :confused:

I will use it to : contract.parmRecordId(purchTable.RecId);

how have an other solution to recuperate record ?

very important thread. I was updating the purchase confirmation report by creating a wholly new report dependent on the existing controller, DP and contract classes and got stuck int he PSAPurchaseREport and the Project III config key thing. Lately I just provided my custom report name in the ‘PrintMgmtReportFormat’ table and allowed null in a couple more of parameters and my issue was resolved.

Thanks to all, this thread is of great help

HI ,

I think you have added a new filed in the temp table and you are not using this filed in the RDP class.

Solution : Remove the field from from the temp table or use this in the RDP class.So that ur prblm wil be resolved.

Hi

I was looking at this issue and I this is what I did to solve the issue.

So, an event is subscribed to the method printJournal in the table VendPurchOrderJour. Because of the event, it gets printed twice when you make other modifications (as suggested by Kami)

All we need to do is unsubscribe the event printJournal_PSA and uncomment the SYS code in the printJounal method and comment out the feature pack added method.

so now it looks like

void printJournal(PurchPurchOrderJournalPrint _purchPurchOrderJournalPrint = null,

RecordSortedList _journalList = null)

{

Args parameters = new Args();

MenuFunction purchPurchaseOrderMenu;

//

purchPurchaseOrderMenu = VendPurchOrderJour::reportMenuToRun();

parameters.caller(_purchPurchOrderJournalPrint);

if (_journalList)

parameters.object(_journalList);

else

parameters.record(this);

purchPurchaseOrderMenu.run(parameters);

//

/*

if(!isConfigurationkeyEnabled(configurationKeyNum(Project3)))

{

purchPurchaseOrderMenu = new MenuFunction(menuitemOutputStr(PurchPurchaseOrder),MenuItemType::Output);

parameters.caller(_purchPurchOrderJournalPrint);

if (_journalList)

parameters.object(_journalList);

else

parameters.record(this);

purchPurchaseOrderMenu.run(parameters);

}

*/

}