Tuesday 19 November 2013

Dynamics NAV Report execution steps

Report Triggers

Microsoft Dynamics NAV 2013
                                   
When you run a report, the report triggers are called in a specific order.
The following illustration describes the order of report triggers.

Order of report triggers

Report Triggers

When you initiate the report run, the OnInitReport Trigger is called. If the OnInitReport does not end the processing of the report, then the request page for the report is run, if it is defined. The page triggers for the request page are called. On the request page, you select the options that you want for this report. You can also decide to cancel the report run. If you decide to continue, then the OnPreReport Trigger is called. At this point, no data has yet been processed. When the OnPreReport trigger has been executed, the first data item is processed provided that the processing of the report was not ended in the OnPreReport trigger.
When the first data item has been processed, the next data item, if there is any, is processed in the same way. When there are no more data items, the OnPostReport Trigger is called to do any necessary post processing, for example, removing temporary files.

Important
If you define two functions that have the same name, one defined in a report and the other in a table that is referenced by the report, you cannot invoke the function defined in the report directly. By default, a call to the function invokes the function that is defined in the table. This behavior occurs when the function is called from a source expression or a trigger.

How a Data Item is Processed

Before the first record is retrieved, the OnPreDataItem Trigger is called, and after the last record has been processed, the OnPostDataItem Trigger is called.
Between these two triggers, the data item records are processed. Processing a record means executing the record triggers and outputting data. After a record is retrieved from the data item, the OnAfterGetRecord (Data Items) Trigger is called.
If there is an indented data item, then the records in this data item are processed.
When there are no more records to be processed in a data item, control returns to the point from which processing was initiated. For an indented data item, this means the next record of the data item on the next highest level. If the data item is already on the highest level, then control returns to the report.

Monday 18 November 2013

Dynamics Nav 2013 New Functions and functions not supported


Data type, function, property, or trigger
Change
AutoReplace Property Applies to XMLports.
AutoSave Property Applies to XMLports.
AutoUpdate Property Applies to XMLports.
BEEP Function Not supported on Microsoft Dynamics NAV Server.
Binary Data Type The Binary data type, used in earlier versions of Microsoft Dynamics NAV to store fixed lengths of binary data in a record, is not supported in Microsoft Dynamics NAV 2013. If you previously used the BINARY data type, consider using the BLOB Data Type instead.
BLOB Data Type If you call the CALCFIELDS Function (Record) on a BLOB field, then you get the value of the BLOB that is in the database, not the value that you wrote to a BLOB OutStream.
BottomMargin Property Not supported in Microsoft Dynamics NAV 2013 reports.
CALCFIELDS Function (Record) CALCFIELDS execution is decoupled from Microsoft Dynamics NAV SIFT index definitions. This can reduce the number of required SIFT indices, which can improve performance.
CALCSUM Function (FieldRef) CALSUM execution is decoupled from Microsoft Dynamics NAV SIFT index definitions. This can reduce the number of required SIFT indices, which can improve performance.
CALCSUMS Function (Record) CALSUMS execution is decoupled from Microsoft Dynamics NAV SIFT index definitions. This can reduce the number of required SIFT indices, which can improve performance.
CardFormID Property Name changed to CardPageID Property.
Code Data Type The Code data type supports Unicode in Microsoft Dynamics NAV 2013.
Microsoft Dynamics NAV 2013 does not enforce a limit on the length of a Code variable. You can specify a maximum length in the C/AL Globals or C/AL Locals window when you create the variable, but it is not required.
COMMANDLINE Function Not supported in Microsoft Dynamics NAV 2013.
COUNT Function (Record) In Microsoft Dynamics NAV 2013, the COUNT function does not always ignore security filters. It adheres to the SecurityFiltering Property.
COUNT Function (RecordRef) In Microsoft Dynamics NAV 2013, the COUNT function does not always ignore security filters. It adheres to the SecurityFiltering Property.
COUNTAPPROX Function Not supported in Microsoft Dynamics NAV 2013.
CREATETOTALS Function Redundant in Microsoft Dynamics NAV 2013 reports. We recommend that you use the SUM function in Visual Studio instead.
Dataports Not supported in Microsoft Dynamics NAV 2013. Use XMLports instead.
Debugger functions New functions.
DELETE Function (Record) and DELETE Function (RecordRef) You cannot call the DELETE function on a record for table 2000000001, the Object table or table 2000000006, the Company table.
DrillDownFormID Property Name changed to DrillDownPageID Property.
ENVIRON Function Not supported in Microsoft Dynamics NAV 2013.
EXPORT Function (BLOB) Not supported in Microsoft Dynamics NAV 2013.
EXPORTOBJECTS Function Not supported in Microsoft Dynamics NAV 2013. Use the finsql.exe executable with the ExportObjects command instead. For more information, see ExportObjects.
Forms Not supported in Microsoft Dynamics NAV 2013.
FormHandler Function Name changed to PageHandler.
IMPORT Function (BLOB) Not supported in Microsoft Dynamics NAV 2013.
IMPORTOBJECTS Function Not supported in Microsoft Dynamics NAV 2013. Use the finsql.exe executable with the ImportObjects command instead. For more information, see ImportObjects.
INSERT Function (Record) and INSERT Function (RecordRef) You cannot call the INSERT function on a record for table 2000000001, the Object table or table 2000000006, the Company table.
ISSERVICETIER Function Obsolete in Microsoft Dynamics NAV 2013, but still supported. This function always returns true.
LANGUAGE function Not supported in Microsoft Dynamics NAV 2013.
LookupFormID Property Name changed to LookupPageID Property.
ModalFormHandler Function Name changed to ModalPageHandler.
MODIFY Function (Record) and MODIFY Function (RecordRef) Microsoft Dynamics NAV 2013 does not let you modify the database by using an old copy of a record.
 
You cannot call the MODIFY function on a record for table 2000000001, the Object table or table 2000000006, the Company table.
NEWPAGE Function Not supported in Microsoft Dynamics NAV 2013 reports.
NEWPAGEPERRECORD Function Not supported in Microsoft Dynamics NAV 2013 reports.
OBJECTID Function Not supported in Microsoft Dynamics NAV 2013 reports.
OnAfterModifyRecord Trigger New XMLport trigger.
OnBeforeModifyRecord Trigger New XMLport trigger.
OnCreateHyperlink Trigger Not supported in Microsoft Dynamics NAV 2013 reports.
OnHyperlink Trigger Not supported in Microsoft Dynamics NAV 2013 reports.
OnPreSection Trigger Not supported in Microsoft Dynamics NAV 2013 reports.
OnPostSection Trigger Not supported in Microsoft Dynamics NAV 2013 reports.
OSVERSION Function Not supported in Microsoft Dynamics NAV 2013.
PAGENO Function Not supported in Microsoft Dynamics NAV 2013 reports.
PAPERSOURCE Function Not supported in Microsoft Dynamics NAV 2013 reports.
PaperSourceDefaultPage Property New report property.
PaperSourceFirstPage Property New report property.
PaperSourceLastPage Property New report property.
PaperSourceOtherPages Property Not supported on Microsoft Dynamics NAV 2013 reports.
Query object New object.
RECORDLEVELLOCKING Function (Record and RecordRef) Not used in Microsoft Dynamics NAV 2013. The function is still available and compiles but always returns true.
READCONSISTENCY Function (Record and RecordRef) Not used in Microsoft Dynamics NAV 2013. The function is still available and compiles but because Microsoft Dynamics NAV 2013 uses SQL Server's locking mechanisms and does not use snapshots like earlier versions of Microsoft Dynamics NAV, the return value is always false.
Rename function Microsoft Dynamics NAV 2013 does not let you modify the database by using an old copy of a record.
RequestOptionsForm system variable Not supported in Microsoft Dynamics NAV 2013.
RunFormLink Property Name changed to RunPageLink Property.
RunFormOnRec Property Name changed to RunPageOnRec Property.
RunFormView Property Name changed to RunPageView Property.
SAVEASHTML Function Not supported in Microsoft Dynamics NAV 2013 reports.
SAVEASXML Not supported in Microsoft Dynamics NAV 2013 reports.
SETAUTOCALCFIELDS Function (Record) New function to calculate FlowFields at the same time that you retrieve them from the database.
SETCURRENTKEY Function (Record) In Microsoft Dynamics NAV 2013, you do not have to define keys only for SIFT indexes. Fewer SIFT indices and fewer Microsoft Dynamics NAV keys can improve performance.
SETPERMISSIONFILTER Function (Record) Not supported in Microsoft Dynamics NAV 2013. Instead, you change the SecurityFiltering Property from Validated to Filtered.
SETPERMISSIONFILTER Function (RecordRef) Not supported in Microsoft Dynamics NAV 2013. Instead, you change the SecurityFiltering Property from Validated to Filtered.
SaveTableView property Not supported in Microsoft Dynamics NAV 2013.
SHELL Function Not supported in Microsoft Dynamics NAV 2013.
SHOWOUTPUT Function Not supported in Microsoft Dynamics NAV 2013 reports.
Sessions New functions.
CURRENTEXECUTIONMODE Function (Sessions)
STARTSESSION Function (Sessions)
STOPSESSION Function (Sessions)
SubFormLink Property Name changed to SubPageLink Property.
SubFormView Property Name changed to SubPageView Property.
SYNCHRONIZEALLLOGINS Function Not supported in Microsoft Dynamics NAV 2013.
SYNCHRONIZESINGLELOGIN Function Not supported in Microsoft Dynamics NAV 2013
Test Pages New objects and functions.
Text Data Type The Text data type supports Unicode in Microsoft Dynamics NAV 2013.
 
Microsoft Dynamics NAV 2013 does not enforce a limit on the length of a Text variable. You can specify a maximum length in the C/AL Globals or C/AL Locals window when you create the variable, but it is not required.
TOTALSCAUSEDBY Function Not supported in Microsoft Dynamics NAV 2013 reports.
TransactionType Property In Microsoft Dynamics NAV 2013, the default transaction isolation level is REPEATABLE READ. In earlier versions of Microsoft Dynamics NAV, it was SERIALIZABLE. This affects FIND and NEXT function calls when transaction type is Update, Snapshot, or UpdateNoLocks.
URL Function Not supported on Microsoft Dynamics NAV 2013 reports.
UseReqForm Property Name changed to UseRequestPage Property.
VARIABLEACTIVE Function Not supported in Microsoft Dynamics NAV 2013.
VISIBLE Function Not supported in Microsoft Dynamics NAV 2013.
YIELD Function Not supported on Microsoft Dynamics NAV Server.
 

Friday 1 November 2013

Stock keeping unit

Some body thinks that
SKU or Stock Keeping Units are used to control inventory levels/planning by location.  You can setup parameters per location which will generate transfer orders/purchase orders through the reconcilation worksheet if required (depending on setup). This requires more setup but gives you more control.
Ans-No

Requisition worksheet will work without SKU's, you just need to set the components at location setting
EX:
Let me explain with an example:

1) Item Shoe
2) Three warehouses (location) where we store these shows. Let us define these as LOC 1 , LOC2 and LOC3.
3) LOC1 is the central warehouse and LOC 2 and LOC3 are local warehouse.
4) Any purchase made from my organization , receipt is to be made in LOC1 however for LOC2 and LOC3 shoes can only be transferred from my central warehouse.
5) I define the above setup by makingt use of SKU card.
5) The following output can be achieved from above setup.

a) I can define different planning parameters.
b) I can define replenishment method as transfer for SKU LOC2 and LOC3.

After defining the parameters and running the requisition worksheet, system will suggest Purchase order for LOC1 but for LOC2 and LOC3 where shoes can only be transferred system will suggest transfer order.

Above scenario I had taken location for creating SKU , one can also use variants like shoe size and shoe colours.

System also give the option of costing based on variants and location.

I hope this will help to understand SKU.

Physical Invetory Journal Vs Warehouse Physical Invetory Journal

Actually Inventory level journals are used to adjust the quantity's inventory level
i.e. some times the physically items are not , but those are showing availability in the system.
Same thing we can do by applying item Journal when individually know when the item is sale or purchase.
But periodically company's uses to perform  these operation to adjust the differences in bulk.
This evaluation also contain two different ways:
If you are not using directed put-away and pick for a location, you perform a physical inventory using the Phys. Inventory Journal.
For more information, see How to: Perform a Physical Inventory.
 If you are using directed put-away and pick, you use the Whse. Phys. Inventory Journal, and later on, the Phys. Inventory Journal.
This process is described here. In warehouses with bins, the counting is performed and registered bin by bin.

Item journal and Item Reclass journal

It is important to know the differences between  Item journal and Item Reclass journal because both seems to be same but the purpose of usage in dynamics NAV is different.

 Item Reclass Journal is used to correct existing entries that you have posted to item ledger.

Things that you can correct.

Dimensions, Location code,bin code,etc... 

Item  Journal is used to make adjustments, quantity wise. This makes new Item Ledger entries.  

Eg. A transfer made by a Reclass Journal is considered as one transaction.
A transfer made by a Reclass Journal is considered as two seperate transactions.

Example:
*Purchase 10 psc into location A
*Transfer 1 psc from location A to location B using Item Journal (2 lines, Positive Adjust and Negative Adjust)
*Transfer 1 psc from location A to location B using Reclass Journal (1 line using Location Code and New Location Code)
*Sell 2 psc from location B
*Make a revaluation (using Revaluation Journal) so that the purchase on location A changes value
*Run the Adjust Cost-Batch

- now - the revaluation is reflected in the sale made from location B - but only in the Item Ledger Entry created by the Reclass Journal.