Having to click cancel to get a report to print

atankersley
Member Posts: 32
I have a report I created from the Purchase Receipt Report and changed to use the Purchase Header instead of the Receipt Header. When the report runs, it takes the Purchase Header and filters on all receipt lines with a qty. The problem is that sometimes the report hangs and the user has to click the cancel button on the Print Page form and then it prints. Most of the time the report then prints as designed but sometimes it prints incomplete data. If the user waits and does not click cancel the report never prints it just stays hung.
tank
0
Comments
-
perhaps there is some endless loop it's doing.
Had to tell without seeing the report.0 -
Hi Tank,
The common cause is using the integer virtual table without a filter or break condition.0 -
I am not using a integer table. This is realy strange. Here is the Object File.
OBJECT Report 50171 Purchase Receipt 2 { OBJECT-PROPERTIES { Date=09/03/08; Time=[ 3:54:50 PM]; Modified=Yes; Version List=NAVUS3.10.01,EG4.58,OCM3.41,FJL7.47; } PROPERTIES { CaptionML=ENU=Consolidated Purchase Receipt; TopMargin=750; BottomMargin=1300; LeftMargin=0; OnPreReport=BEGIN CompanyInformation.GET(''); ReceiptIndexFilter := "Purch. Rcpt. Line".GETFILTER("Purch. Rcpt. Line"."Consol. Rcpt. Index"); IF (ReprintReceipt) AND (("Purch. Rcpt. Line".GETFILTER("Purch. Rcpt. Line"."Consol. Rcpt. Index") = '') OR ("Purch. Rcpt. Line".GETFILTER("Purch. Rcpt. Line"."Consol. Rcpt. Index") = '0')) THEN ERROR('Consol. Rcpt. Index Filter must not be blank or zero if Reprint Receipt is True.'); IF CurrReport.USEREQUESTFORM = FALSE THEN BEGIN ReprintReceipt := FALSE; PrintCompany := FALSE; NoCopies := 0; END ELSE ReprintReceipt := TRUE; END; HorzGrid=210; } DATAITEMS { { PROPERTIES { DataItemTable=Table38; DataItemTableView=SORTING(Document Type,No.) WHERE(Document Type=FILTER(Order), Consolidated Receipt=FILTER(Yes)); NewPagePerRecord=Yes; MaxIteration=1; OnPreDataItem=BEGIN IF PrintCompany THEN FormatAddress.Company(CompanyAddress,CompanyInformation) ELSE CLEAR(CompanyAddress); END; OnAfterGetRecord=BEGIN IF NOT ReprintReceipt THEN BEGIN ReceiptLine2.RESET; ReceiptLine2.SETCURRENTKEY("Order No.","Order Line No.","Received Not Printed",Quantity); ReceiptLine2.SETFILTER("Order No.","Purchase Header"."No."); ReceiptLine2.SETFILTER("Received Not Printed",'Yes'); ReceiptLine2.SETFILTER(Quantity,'<>0'); IF NOT ReceiptLine2.FIND('-') THEN CurrReport.SKIP; END; IF NOT ReprintReceipt THEN BEGIN LastReceiptIndex := "Purchase Header"."Last Consol. Rcpt. Index" + 1; IF NOT CurrReport.PREVIEW THEN BEGIN "Purchase Header"."Last Consol. Rcpt. Index" += 1; "Purchase Header".MODIFY; COMMIT; END; END ELSE BEGIN //ReceiptIndexFilter := "Purch. Rcpt. Line".GETFILTER("Purch. Rcpt. Line"."Consol. Rcpt. Index"); EVALUATE(LastReceiptIndex,ReceiptIndexFilter); END; IF PrintCompany THEN BEGIN IF RespCenter.GET("Responsibility Center") THEN BEGIN FormatAddress.RespCenter(CompanyAddress,RespCenter); CompanyInformation."Phone No." := RespCenter."Phone No."; CompanyInformation."Fax No." := RespCenter."Fax No."; END; END; CurrReport.LANGUAGE := Language.GetLanguageID("Language Code"); IF "Purchaser Code" = '' THEN CLEAR(SalesPurchPerson) ELSE SalesPurchPerson.GET("Purchaser Code"); IF "Shipment Method Code" = '' THEN CLEAR(ShipmentMethod) ELSE ShipmentMethod.GET("Shipment Method Code"); FormatAddress.PurchHeaderBuyFrom(BuyFromAddress,"Purchase Header"); FormatAddress.PurchHeaderShipTo(ShipToAddress,"Purchase Header"); //FormatAddress.PurchRcptBuyFrom(BuyFromAddress,"Purch. Rcpt. Header"); //FormatAddress.PurchRcptShipTo(ShipToAddress,"Purch. Rcpt. Header"); IF LogInteraction THEN IF NOT CurrReport.PREVIEW THEN SegManagement.LogDocument( 15,"No.",0,0,DATABASE::Vendor,"Buy-from Vendor No.","Purchaser Code","Posting Description");; TaxRegNo := ''; TaxRegLabel := ''; IF "Tax Area Code" <> '' THEN BEGIN TaxArea.GET("Tax Area Code"); CASE TaxArea.Country OF TaxArea.Country::US: ; TaxArea.Country::CA: BEGIN TaxRegNo := CompanyInformation."VAT Registration No."; TaxRegLabel := CompanyInformation.FIELDCAPTION("VAT Registration No."); END; END; END; END; ReqFilterFields=No.,Buy-from Vendor No.,Pay-to Vendor No.; } SECTIONS { { PROPERTIES { SectionType=Header; SectionWidth=20580; SectionHeight=10575; } CONTROLS { { 1000000015;TextBox;1260 ;0 ;7350 ;423 ;HorzAlign=Left; FontSize=10; SourceExpr=CompanyAddress[1] } { 1000000016;Label ;10290;0 ;3780 ;423 ;HorzAlign=Left; FontSize=10; FontBold=Yes; CaptionML=ENU=PURCHASE RECEIPT } { 1000000017;TextBox;1260 ;423 ;7350 ;423 ;HorzAlign=Left; FontSize=10; SourceExpr=CompanyAddress[2] } { 1000000018;Label ;14280;0 ;1260 ;423 ;HorzAlign=Left; FontSize=10; CaptionML=ENU=Page: } { 1000000019;TextBox;15750;0 ;1260 ;423 ;HorzAlign=Right; FontSize=10; SourceExpr=CurrReport.PAGENO } { 1000000020;TextBox;1260 ;846 ;7350 ;423 ;HorzAlign=Left; FontSize=10; SourceExpr=CompanyAddress[3] } { 1000000021;Label ;10290;846 ;3780 ;423 ;HorzAlign=Left; FontSize=10; FontBold=No; CaptionML=ENU=Purchase Order No.: } { 1000000022;TextBox;14070;846 ;3990 ;423 ;HorzAlign=Right; FontSize=10; SourceExpr="Purchase Header"."No." } { 1000000023;TextBox;1260 ;1269 ;7350 ;423 ;HorzAlign=Left; FontSize=10; SourceExpr=CompanyAddress[4] } { 1000000024;Label ;10290;1269 ;3780 ;423 ;FontSize=10; CaptionML=ENU=Purchase Order Date } { 1000000025;TextBox;14070;1269 ;3990 ;423 ;HorzAlign=Right; FontSize=10; SourceExpr="Purchase Header"."Order Date" } { 1000000026;TextBox;1260 ;1692 ;7350 ;423 ;HorzAlign=Left; FontSize=10; SourceExpr=CompanyAddress[5] } { 1000000027;TextBox;1260 ;2115 ;7350 ;423 ;HorzAlign=Left; FontSize=10; SourceExpr=CompanyAddress[6] } { 1000000028;TextBox;17220;2115 ;840 ;423 ;FontSize=10; SourceExpr=LastReceiptIndex } { 1000000029;Label ;14700;2115 ;2310 ;423 ;ParentControl=1000000028; VertAlign=Bottom; FontSize=10; FontBold=No; MultiLine=Yes; CaptionML=ENU=Receipt Index } { 1000000030;TextBox;1260 ;2538 ;7350 ;423 ;HorzAlign=Left; FontSize=10; SourceExpr=CompanyAddress[7] } { 1000000031;TextBox;1260 ;2961 ;7350 ;423 ;HorzAlign=Left; FontSize=10; SourceExpr=CompanyAddress[8] } { 1000000033;Label ;11130;4653 ;1260 ;423 ;FontSize=10; CaptionML=ENU=Ship } { 1000000034;Label ;420 ;4653 ;1680 ;423 ;FontSize=10; CaptionML=ENU=Purchase } { 1000000035;Label ;420 ;5076 ;1050 ;423 ;FontSize=10; CaptionML=ENU=From: } { 1000000036;TextBox;1470 ;5076 ;6300 ;423 ;FontSize=10; SourceExpr=BuyFromAddress[1] } { 1000000037;Label ;11130;5076 ;840 ;423 ;FontSize=10; CaptionML=ENU=To: } { 1000000038;TextBox;11970;5076 ;6300 ;423 ;FontSize=10; SourceExpr=ShipToAddress[1] } { 1000000039;TextBox;1470 ;5499 ;6300 ;423 ;FontSize=10; SourceExpr=BuyFromAddress[2] } { 1000000040;TextBox;11970;5499 ;6300 ;423 ;FontSize=10; SourceExpr=ShipToAddress[2] } { 1000000041;TextBox;1470 ;5922 ;6300 ;423 ;FontSize=10; SourceExpr=BuyFromAddress[3] } { 1000000042;TextBox;11970;5922 ;6300 ;423 ;FontSize=10; SourceExpr=ShipToAddress[3] } { 1000000043;TextBox;1470 ;6345 ;6300 ;423 ;FontSize=10; SourceExpr=BuyFromAddress[4] } { 1000000044;TextBox;11970;6345 ;6300 ;423 ;FontSize=10; SourceExpr=ShipToAddress[4] } { 1000000045;TextBox;1470 ;6768 ;6300 ;423 ;FontSize=10; SourceExpr=BuyFromAddress[5] } { 1000000046;TextBox;11970;6768 ;6300 ;423 ;FontSize=10; SourceExpr=ShipToAddress[5] } { 1000000047;TextBox;1470 ;7191 ;6300 ;423 ;FontSize=10; SourceExpr=BuyFromAddress[6] } { 1000000048;TextBox;11970;7191 ;6300 ;423 ;FontSize=10; SourceExpr=ShipToAddress[6] } { 1000000049;TextBox;1470 ;7614 ;6300 ;423 ;FontSize=10; SourceExpr=BuyFromAddress[7] } { 1000000050;TextBox;11970;7614 ;6300 ;423 ;FontSize=10; SourceExpr=ShipToAddress[7] } { 1000000051;TextBox;1470 ;8037 ;6300 ;423 ;FontSize=10; SourceExpr=BuyFromAddress[8] } { 1000000052;TextBox;11970;8037 ;6300 ;423 ;FontSize=10; SourceExpr=ShipToAddress[8] } { 1000000053;Label ;10290;8460 ;2310 ;423 ;FontSize=10; CaptionML=ENU=Confirm To } { 1000000054;TextBox;12810;8460 ;5040 ;423 ;FontSize=10; SourceExpr="Purchase Header"."Your Reference" } { 1000000055;Label ;840 ;8460 ;2100 ;423 ;FontSize=10; CaptionML=ENU=Ship Via } { 1000000056;TextBox;3150 ;8460 ;5880 ;423 ;FontSize=10; SourceExpr=ShipmentMethod.Description } { 1000000057;Label ;840 ;8883 ;2100 ;423 ;FontSize=10; CaptionML=ENU=Receive By } { 1000000058;TextBox;3150 ;8883 ;2310 ;423 ;HorzAlign=Left; FontSize=10; SourceExpr="Purchase Header"."Expected Receipt Date" } { 1000000059;Label ;10290;8883 ;2310 ;423 ;FontSize=10; CaptionML=ENU=Buyer } { 1000000060;TextBox;12810;8883 ;5040 ;423 ;FontSize=10; SourceExpr=SalesPurchPerson.Name } { 1000000061;Label ;840 ;9729 ;2100 ;423 ;FontSize=10; CaptionML=ENU=Vendor ID } { 1000000062;TextBox;3150 ;9729 ;5040 ;423 ;HorzAlign=Left; FontSize=10; SourceExpr="Purchase Header"."Buy-from Vendor No." } } } } } { PROPERTIES { DataItemIndent=1; DataItemTable=Table121; DataItemTableView=SORTING(Order No.,Order Line No.,Received Not Printed,Quantity) WHERE(Quantity=FILTER(<>0)); OnPreDataItem=BEGIN NumberOfLines := COUNT; OnLineNumber := 0; PrintFooter := FALSE; ExtendedCost := 0; TotalExtendedCost := 0; IF NOT ReprintReceipt THEN "Purch. Rcpt. Line".SETFILTER("Received Not Printed",'Yes'); END; OnAfterGetRecord=BEGIN OnLineNumber := OnLineNumber + 1; IF "Purch. Rcpt. Line".Quantity = 0 THEN CurrReport.SKIP ELSE BEGIN ////OCM3.41 END - Sandwiched the rest of this code in an else statement so we only get lines we received. OrderedQuantity := 0; BackOrderedQuantity := 0; IF "Order No." = '' THEN OrderedQuantity := Quantity ELSE BEGIN IF OrderLine.GET(1,"Order No.","Line No.") THEN BEGIN OrderedQuantity := OrderLine.Quantity; BackOrderedQuantity := OrderLine."Outstanding Quantity"; END ELSE BEGIN ReceiptLine.SETCURRENTKEY("Order No.","Order Line No.","Received Not Printed",Quantity); ReceiptLine.SETRANGE("Order No.","Order No."); ReceiptLine.SETRANGE("Order Line No.","Line No."); ReceiptLine.SETFILTER(Quantity,'<>0'); ReceiptLine.FIND('-'); REPEAT OrderedQuantity := OrderedQuantity + ReceiptLine.Quantity; UNTIL 0=ReceiptLine.NEXT; END; END; IF Type = 0 THEN BEGIN ItemNumberToPrint := ''; "Unit of Measure" := ''; OrderedQuantity := 0; BackOrderedQuantity := 0; Quantity := 0; END ELSE IF Type = Type::"Account (G/L)" THEN ItemNumberToPrint := "Vendor Item No." ELSE ItemNumberToPrint := "No."; ExtendedCost := (Quantity * "Unit Cost"); TotalExtendedCost := TotalExtendedCost + ExtendedCost; END; ShelfBinNo := ''; IF (Type = Type::Item) AND ("No." <> '') THEN IF "Location Code" <> '' THEN BEGIN IF ItemLocation.GET("No.","Location Code") THEN ShelfBinNo := ItemLocation."Shelf/Bin No."; END ELSE IF Item.GET("No.") THEN ShelfBinNo := Item."Shelf/Bin No."; IF "Purch. Rcpt. Line"."Consol. Rcpt. Index" = 0 THEN BEGIN "Purch. Rcpt. Line"."Consol. Rcpt. Index" := LastReceiptIndex; "Purch. Rcpt. Line"."Received Not Printed" := FALSE; END; "Purch. Rcpt. Line"."Printed No." += 1; IF NOT CurrReport.PREVIEW THEN BEGIN PurchaseRcptPrinted.ModifyPurchReceiptLine("Purch. Rcpt. Line"); COMMIT; END; END; ReqFilterFields=Consol. Rcpt. Index; DataItemLinkReference=Purchase Header; DataItemLink=Order No.=FIELD(No.); } SECTIONS { { PROPERTIES { SectionType=Header; PrintOnEveryPage=Yes; SectionWidth=20580; SectionHeight=1692; } CONTROLS { { 99 ;Label ;2730 ;0 ;2100 ;1269 ;HorzAlign=Left; VertAlign=Bottom; FontSize=9; FontBold=Yes; MultiLine=Yes; CaptionML=ENU=Item No. } { 100 ;Label ;12810;0 ;840 ;1269 ;HorzAlign=Left; VertAlign=Bottom; FontSize=9; FontBold=Yes; MultiLine=Yes; CaptionML=ENU=Unit } { 101 ;Label ;6510 ;0 ;4830 ;1269 ;HorzAlign=Left; VertAlign=Bottom; FontSize=9; FontBold=Yes; MultiLine=Yes; CaptionML=ENU=Description } { 102 ;Label ;13860;0 ;1050 ;1269 ;HorzAlign=Center; VertAlign=Bottom; FontSize=9; FontBold=Yes; MultiLine=Yes; CaptionML=ENU=Recvd Qty. } { 103 ;Label ;18060;0 ;1050 ;1269 ;HorzAlign=Center; VertAlign=Bottom; FontSize=9; FontBold=Yes; MultiLine=Yes; CaptionML=ENU=Order Qty. } { 104 ;Label ;19320;0 ;1050 ;1269 ;HorzAlign=Left; VertAlign=Bottom; FontSize=9; FontBold=Yes; MultiLine=Yes; CaptionML=ENU=Back Order Qty. } { 1000000001;Label ;15120;0 ;1260 ;1269 ;ParentControl=1000000000; HorzAlign=Center; VertAlign=Bottom; FontSize=9; FontBold=Yes; MultiLine=Yes } { 1000000002;Label ;16590;0 ;1260 ;1269 ;HorzAlign=Left; VertAlign=Bottom; FontSize=9; FontBold=Yes; MultiLine=Yes; CaptionML=ENU=Extd. Cost } { 1000000007;Label ;11550;0 ;1050 ;1269 ;VertAlign=Bottom; FontSize=9; FontBold=Yes; MultiLine=Yes; CaptionML=ENU=Shelf Bin } { 1000000010;Label ;0 ;0 ;2520 ;1269 ;ParentControl=1000000009; VertAlign=Bottom; FontSize=9; FontBold=Yes; MultiLine=Yes; CaptionML=ENU=Receipt No. } { 1000000012;Label ;5040 ;0 ;1260 ;1269 ;ParentControl=1000000011; VertAlign=Bottom; FontSize=9; FontBold=Yes; MultiLine=Yes; CaptionML=ENU=Rcpt. Date } } } { PROPERTIES { SectionType=Body; SectionWidth=20580; SectionHeight=846; } CONTROLS { { 48 ;TextBox ;2730 ;0 ;2100 ;423 ;HorzAlign=Left; VertAlign=Top; FontSize=9; SourceExpr=ItemNumberToPrint } { 49 ;TextBox ;12810;0 ;840 ;846 ;HorzAlign=Left; VertAlign=Top; FontSize=9; MultiLine=Yes; SourceExpr="Unit of Measure" } { 51 ;TextBox ;13860;0 ;1050 ;423 ;HorzAlign=Center; VertAlign=Top; FontSize=9; BlankZero=Yes; SourceExpr=Quantity } { 52 ;TextBox ;18060;0 ;1050 ;423 ;HorzAlign=Center; VertAlign=Top; FontSize=9; DecimalPlaces=0:5; BlankZero=Yes; SourceExpr=OrderedQuantity } { 53 ;TextBox ;19320;0 ;1050 ;423 ;HorzAlign=Center; VertAlign=Top; FontSize=9; DecimalPlaces=0:5; BlankZero=Yes; SourceExpr=BackOrderedQuantity } { 30 ;TextBox ;6510 ;0 ;4830 ;846 ;HorzAlign=Left; VertAlign=Top; FontSize=9; MultiLine=Yes; SourceExpr=Description } { 1000000000;TextBox;15120;0 ;1260 ;423 ;HorzAlign=Center; FontSize=9; SourceExpr="Unit Cost" } { 1000000003;TextBox;16590;0 ;1260 ;423 ;HorzAlign=Center; FontSize=9; SourceExpr=ExtendedCost } { 1000000008;TextBox;11550;0 ;1050 ;423 ;FontSize=9; SourceExpr=ShelfBinNo } { 1000000009;TextBox;0 ;0 ;2520 ;423 ;FontSize=9; FontBold=Yes; SourceExpr="Purch. Rcpt. Line"."Document No." } { 1000000011;TextBox;5040 ;0 ;1260 ;423 ;FontSize=9; SourceExpr="Purch. Rcpt. Line"."Posted at Date" } } } { PROPERTIES { SectionType=Footer; PrintOnEveryPage=Yes; PlaceInBottom=Yes; SectionWidth=20580; SectionHeight=846; OnPreSection=BEGIN CurrReport.SHOWOUTPUT(TRUE); END; } CONTROLS { { 1000000004;Label ;8190 ;0 ;6300 ;423 ;HorzAlign=Left; VertAlign=Bottom; FontSize=10; FontBold=Yes; MultiLine=Yes; CaptionML=ENU=Total Extended Cost For this Receipt } { 1000000005;Shape ;14700;423 ;3150 ;100 ;VertGlue=Bottom; ShapeStyle=HorzLine } { 1000000006;TextBox;14700;0 ;3150 ;423 ;HorzAlign=Center; VertAlign=Bottom; FontSize=10; SourceExpr=TotalExtendedCost } } } } } } REQUESTFORM { PROPERTIES { Width=6160; Height=2090; SaveValues=Yes; } CONTROLS { { 10004;CheckBox ;3410 ;220 ;330 ;440 ;ShowCaption=No; SourceExpr=PrintCompany } { 10005;Label ;0 ;220 ;3300 ;440 ;ParentControl=10004; CaptionML=ENU=Print Company Address } { 1000000002;CheckBox;3410;880 ;440 ;440 ;ShowCaption=No; SourceExpr=ReprintReceipt } { 1000000003;Label ;0 ;880 ;3300 ;440 ;ParentControl=1000000002; FontSize=8; CaptionML=ENU=Reprint Receipt } } } CODE { VAR ShipmentMethod@1000 : Record 10; SalesPurchPerson@1001 : Record 13; CompanyInformation@1002 : Record 79; ReceiptLine@1003 : Record 121; OrderLine@1004 : Record 39; RespCenter@1116 : Record 5714; Language@1023 : Record 8; TaxArea@1020000 : Record 318; CompanyAddress@1005 : ARRAY [8] OF Text[50]; BuyFromAddress@1006 : ARRAY [8] OF Text[50]; ShipToAddress@1007 : ARRAY [8] OF Text[50]; CopyTxt@1008 : Text[10]; ItemNumberToPrint@1009 : Text[30]; PrintCompany@1010 : Boolean; PrintFooter@1011 : Boolean; TaxFlag@1012 : Boolean; NoCopies@1013 : Integer; NoLoops@1014 : Integer; CopyNo@1015 : Integer; NumberOfLines@1016 : Integer; OnLineNumber@1017 : Integer; PurchaseRcptPrinted@1018 : Codeunit 318; FormatAddress@1019 : Codeunit 365; OrderedQuantity@1020 : Decimal; ExtendedCost@1000000001 : Decimal; TotalExtendedCost@1000000002 : Decimal; BackOrderedQuantity@1021 : Decimal; SegManagement@1022 : Codeunit 5051; LogInteraction@1026 : Boolean; TaxRegNo@1020002 : Text[30]; TaxRegLabel@1020001 : Text[30]; Text000@1020003 : TextConst 'ENU=COPY'; ShelfBinNo@1000000000 : Code[10]; ItemLocation@1000000003 : Record 50209; Item@1000000004 : Record 27; LastReceiptIndex@1000000005 : Integer; ReprintReceipt@1000000006 : Boolean; ReceiptIndexFilter@1000000007 : Text[20]; ReceiptLine2@1000000008 : Record 121; BEGIN { EDP3.40 EG 10-14-02: corrected received date from invoice date to date received. OCM3.41 OCM 3-28-03: - Issue #211 - Only Print Items Rcved. Add Extended Cost. Add Total Extended Cost to footer. Moved Print Footer If statement to Footer Pre-Section because it was never being executed in body section. EG4.58 9-12-03: increased size of Vendor Item No work field (ItemNumberToPrint) to match record field size (from 20 to 30) FJL7.47 02/02/05: Increased size of purch recpt no. } END. } }
tank0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions