Hi everyone,
I'm trying to make a customization on Promissory Note for Spain. My intention is to modify Report BankPromissoryNote_ESReport which uses as Data Provider the BankPromissoryNoteDP_ES. My customization consists on show the list of invoices contained on the PromissoryNote printed at the bottom of the report. The problem is that the data provider exteds from SRSTmpTblMarshallerContract class, and it seems to admit only one temporary table. I had created a new temp table whith the info I need to show, but in spite of having stored my table in the controller class:
public RecId storeTmpTable_2() { return SRSTmpTblMarshaller::SendTmpTblToDataProvider(paymInfoPromissoryNote); }
and called it from the fetch method:
public RecId fetch() { RecId tmpTableDataRecId; SrsReportRunPermission permission; while select tmpBankPromissoryNotePrintout { this.insertIntoTempTable(); } //Storing the temp table data using SRSTmpTblMarshaller permission = new SrsReportRunPermission(); permission.assert(); tmpTableDataRecId = this.storeTmpTable(); this.storeTmpTable_2(); CodeAccessPermission::revertAssert(); delete_from bankPromissoryNoteTmp_ES; return tmpTableDataRecId; }
When the processReport tries to delete it,
[SysEntryPointAttribute] public void processReport() { SrsReportRunPermission permission; SRSTmpTblMarshallerContract contract = this.parmDataContract() as SRSTmpTblMarshallerContract; permission = new SRSReportRunPermission(); permission.assert(); breakpoint; //Temp Table Object that was returned from SRSDataCarrier //bankPromissoryNoteTmp_ES = SRSTmpTblMarshaller::getTmpTbl(contract.parmTmpTableDataRecId()); bankPromissoryNoteTmp_ES = SRSTmpTblMarshaller::getTmpTbl(bankPromissoryNoteTmp_ES.RecId); paymInfoPromissoryNote = SRSTmpTblMarshaller::getTmpTbl(bankPromissoryNoteTmp_ES.PaymInfoPromissoryNoteRefRecId); //SRSTmpTblMarshaller::deleteTmpTblData(contract.parmTmpTableDataRecId()); SRSTmpTblMarshaller::deleteTmpTblData(bankPromissoryNoteTmp_ES.RecId); SRSTmpTblMarshaller::deleteTmpTblData(paymInfoPromissoryNote.RecId); CodeAccessPermission::revertAssert(); }
The system returns me the error:
No se ha especificado el almacenaje para la llamada de SRSTmpTblMarshaller::deleteTmpTblData.
(In English, in the subject of the post)
So, does somebody know how to use two temporary tables with this kind of Data Provider? Or, at least, does somebody know how to fix my error?
Thank you in advance.