Presentation is loading. Please wait.

Presentation is loading. Please wait.

Microsoft ® Business Solutions–Navision ® 4.0 Development II – C/SIDE Solution Development Day 1.

Similar presentations


Presentation on theme: "Microsoft ® Business Solutions–Navision ® 4.0 Development II – C/SIDE Solution Development Day 1."— Presentation transcript:

1 Microsoft ® Business Solutions–Navision ® 4.0 Development II – C/SIDE Solution Development Day 1

2 Introductions Instructor Name Company/Position Qualifications/Experience Hobbies

3 Things you need to know Class Information –Monday 8:30am, Tuesday – Friday 8:00am –5:00pm –Breaks –Lunch Facilities –Restrooms –Telephones

4 4 of 64 Introduction About the Course –Target Audience –Training Objectives –Course Structure –Course Content –Training Prerequisites –Certification –Further Information

5 5 of 64 Introduction Target Audience –Microsoft Certified Business Solutions Partner employees who develop custom Microsoft Navision applications

6 6 of 64 Introduction Training Objectives –Develop the basic skills needed to develop solutions in Microsoft Navision –Begin preparation for Development II Certification Exam

7 7 of 64 Introduction Course Structure –Foundation Tools Programming Language Development Environment –Business Case Diagnosis Analysis Design Development & Testing –Deployment

8 8 of 64 Introduction Course Content –Internal Documentation –Debugging Tools –Performance Issues –Complex Data variables and their member functions –Multilanguage functionality –Analysis of objects –Posting routines –Interfaces to Microsoft Navision –Some Microsoft SQL issues

9 9 of 64 Introduction Training Prerequisites –Microsoft Navision Development I

10 10 of 64 Introduction Certification –You must pass both the Microsoft Navision Development I exam and the Microsoft Navision Development II exam for certification –For Microsoft Navision Master Development Designation you need the previous two exams plus the following exams: Microsoft Navision Installation and Configuration MS 70-229 1 of Microsoft Navision Financial, Whse Mgmt, Manufacturing, or Trade

11 11 of 64 Introduction Further Information –C/SIDE online Help (C/SIDE Reference Guide) –Application Designer’s Guide

12 12 of 64 Development Concepts Rules –C/SIDE Reference Guide –Application Designer’s Guide Methodology –Phases Diagnostic Phase Analysis Phase Design Phase Development & Testing Phase Deployment Phase On-Going Support Phase

13 13 of 64 Business Case Diagnosis & Analysis Introduction Diagnosis Analysis – Functional Requirements –Seminars –Instructors –Participants –Registration –Invoicing –Reporting & Statistics –Interfaces Other Requirements Data Model Project Plan

14 14 of 64 Business Case Diagnosis & Analysis Introduction –Business Case or Diagnosis and Analysis Phase of project –Diagnosis provides the “Executive Summary” of the Business Case Client Profile High-Level Needs Description –Analysis describes specific requirements in more detail. Data Models Project Plan

15 15 of 64 Diagnosis – Executive Summary Cronus International Training Academy –Software Training Center –Customized Seminar Management module

16 16 of 64 Diagnosis – Executive Summary Customized Seminar Management module –Store and integrate data Seminar Instructor Customer Financial Information –Processes Track master data Register participants Create invoices Overview of statistics

17 17 of 64 Analysis – Functional Requirements Functional Requirements –Seminars –Instructors –Participants –Registration –Invoicing –Reporting & Statistics –Interfaces –Dimensions

18 18 of 64 Analysis – Functional Requirements Seminars –Fixed duration –Minimum & maximum participants –Fixed price –Related to Job in Microsoft Navision –Posted –Seminar room –In-house or outsourced –Assign in-house room –Customer statistics

19 19 of 64 Analysis – Functional Requirements Instructors –Employee –Setup as Resource in Microsoft Navision

20 20 of 64 Analysis – Functional Requirements Participants –Related to Customers –Must have customer association –Every Customer can have several participants

21 21 of 64 Analysis – Functional Requirements Registration –Form –Job No. –Additional expenses –Invoicing information –Comments

22 22 of 64 Analysis – Functional Requirements Invoicing –Invoice customers at completion of seminar

23 23 of 64 Analysis – Functional Requirements Reporting & Statistics –List of Registered Seminar Participants –Seminar Certificate –View statistical information

24 24 of 64 Analysis – Functional Requirements Interfaces –Send email notification –Export XML participant list

25 25 of 64 Analysis – Functional Requirements Dimensions –Standard dimensions functionality for master files, registrations, posting, and invoicing

26 26 of 64 Analysis – Functional Requirements Other Requirements –Easy to learn Consistent with Microsoft Navision standards –Efficient Both mouse and keyboard –Clarity Intuitive interfaces –Easy error correction Error messages with suggestions –Guidelines Application Designer’s Guide

27 27 of 64 Instructor Seminar Seminar Room Seminar Registration Seminar Charge Job Contact (Participant) Customer Blue objects must be created. Master Files Data Model

28 28 of 64 Data Model Sales Invoice Seminar Registration Seminar Ledger Entry Job Ledger Entry Seminar Invoicing Seminar Posting Job Posting Blue objects must be created. Posting

29 29 of 64 Business Case Diagnosis & Analysis Project Plan –Business case broken down into tasks –End result will be a deliverable –Tasks (By Chapter) 2.Managing Master Files 3.Managing Registrations 4.Managing Posting 5.Managing Integration 6.Managing Reporting 7.Managing Statistics 8.Managing Dimensions 9.Managing Interfaces

30 C/AL Triggers

31 31 of 64 C/AL Trigger Documentation trigger –Used for documentation purposes within object. Event trigger –Name always begins with ‘On’. –Code is executed when named event occurs. Function trigger –Function within an object. –Code is executed when function is called.

32 Table Triggers

33 33 of 64 Table Triggers Properties Triggers Properties Triggers Fields Global Var. Properties SumIndexFields Keys Table Description

34 34 of 64 Table Triggers Table triggers are processed after Form triggers.  OnInsert() OnModify() OnDelete() OnRename() Record.MODIFY(True), Record.MODIFYALL(True) Record.DELETE(True), Record.DELETEALL(TRUE) Record.RENAME(True) Record.INSERT(True)

35 35 of 64 Table Triggers Fires after field input (Return). Fires before form control trigger. Can be run from C/AL with Record.VALIDATE(Field [NewValue]). OnValidate() OnLookup() Fired by F6 or LookUp button If C/AL code is inserted in this trigger, the standard lookup function is deactivated Fires only if no C/AL code is available in the corresponding form control trigger Field Triggers

36 Form Triggers

37 37 of 64 Form Triggers Properties Triggers Properties Triggers Controls Global Var. Form Description

38 38 of 64 Form Triggers OnInit OnOpenForm OnFindRecord Record not available, no access to controls Access to controls OnAfterGetRecord Record available, but not displayed in controls OnAfterGetCurrRec Fired by the current record OnFormat Fired by each visible control OnNextRecord OnAfterGetRecord OnFormat First Record Next Record Record pointer is set Record available but not displayed in controls Fired by each visible control Record pointer is moved to the next record Form Trigger – Open Form

39 39 of 64 Form Triggers OnBeforePutRecord OnQueryCloseForm OnCloseForm OnBeforePutRecord OnQueryCloseForm OnCloseForm OnModifyRecord Record not modified Record modified Table trigger Record is not saved yet Form trigger Exit with parameter ‘true’ OnModify Form Trigger – Close Form

40 40 of 64 Form Triggers OnInsertRecord OnModifyRecord OnDeleteRecord Form Trigger OnInsert OnModify OnDelete Table Trigger Form Trigger and Table Trigger Forms triggers are executed first!

41 41 of 64 Form Triggers OnBeforeInput OnActivate OnFormat Input OnInputChange yes Input next character yes OnAfterInput OnValidate(Table) OnValidate OnAfterValidate OnFormat OnDeactivate no Control Trigger – Text Box Input

42 42 of 64 Form Triggers Each trigger is processed! Table Field Trigger System Validation Only one trigger is processed! Table Field Lookup System Lookup Form Control Lookup Form Control Trigger OnValidate() OnLookup() Control / Field Trigger

43 Codeunit Triggers

44 44 of 64 Codeunit Triggers Properties Parameters Properties Return Value Triggers Global Var. Local Variables Codeunit Object Description

45 45 of 64 Codeunit Triggers OnRun() Codeunit.RUN

46 Record Commands

47 47 of 64 Record Commands Record.GET Record.SETCURRENTKEY Record.SETRANGE Record.SETFILTER Record.FIND Record.NEXT

48 48 of 64 Record Commands No.Name 70000Side Panel 70001Base 70002Top Panel 70003Rear Panel 70010Wooden Door 70011Glass Door RECORD.GET(‘70002’) Always primary key No filter Very fast Record.GET([Value],…)

49 49 of 64 Record Commands No.Name 70000Side Panel 70001Base 70002Top Panel 70003Rear Panel 70010Wooden Door 70011Glass Door Record pointerRecord.FIND('-') Record pointer Record.NEXT Record.FIND([Which]) / Record.NEXT([Steps]) Record.FIND('-') Record.NEXT

50 50 of 64 Record Commands No.Name 70001Base 70011Glass Door 70003Rear Panel 70000Side Panel 70002Top Panel 70010Wooden Door No.Name 70000Side Panel 70001Base 70002Top Panel 70003Rear Panel 70010Wooden Door 70011Glass Door Record.SETCURRENTKEY(Name ) Record.SETCURRENTKEY(Field1[,Field2],…)

51 51 of 64 Record Commands No.Name 70000Side Panel 70001Base 70002Top Panel 70003Rear Panel 70010Wooden Door 70011Glass Door No.Name 70000Side Panel 70001Base 70002Top Panel 70003Rear Panel 70010Wooden Door 70011Glass Door Record.SETRANGE(Field[, FromValue][, ToValue]) Record.SETRANGE(“No.”,’70002’,’70010’)

52 52 of 64 Record Commands No.Name 70001Base 70011Glass Door 70003Rear Panel 70000Side Panel 70002Top Panel 70010Wooden Door No.Name 70000Side Panel 70001Base 70002Top Panel 70003Rear Panel 70010Wooden Door 70011Glass Door Record.SETFILTER(Field, String [, Value],…) Record.SETFILTER(Name,’@*PANEL*’)

53 53 of 64 Record Commands No.Name 70000Side Panel 70001Base 70002Top Panel 70003Rear Panel 70010Wooden Door 70011Glass Door Record pointerRecord.FIND('-') Record pointer Record.NEXT Record.NEXT = 0 Record pointer Using SETRANGE, FIND and Next Record.SETRANGE(“No.”,’70002’,’70010’) Record.FIND('-') Record.NEXT

54 54 of 64 Record Commands Additional Commands –INSERT –MODIFY –MODIFYALL –DELETE –DELETEALL –RENAME –INIT –CALCFIELDS –COPY –COUNT –VALIDATE

55 Multilanguage – Tables/Forms

56 56 of 64 Multilanguage – Tables/Forms Application Texts System Texts Online Help Company Notes  Use Tools, Language from the menu bar to change the application language

57 57 of 64 Multilanguage – Tables/Forms Internal name of elements, like Objects, Fields, Controls, Functions and Variables Must be in English (United States) Name Caption Displays the caption of an element in the selected language Current value is copied from CaptionML CaptionML Contains the caption of an element for each language code Mandatory for all elements that might be visible to the user Think Caption – Not Name!

58 Data Caption Fields

59 59 of 64 Data Caption Fields –Primary key and description field (For example: ‘No.’ and ‘Name’) Tables Forms DataCaptionFields –Most used filter field (For example: ‘Customer No.’) DataCaptionExpr –Expression to show different captions in a form (For example: FORMAT("Contract Type") + ' ' + "Contract No.“) –Overwrites DataCaptionFields property Data Caption Properties

60 60 of 64 Data Caption Fields DataCaptionExpr from the form or the value of DataCaptionFields Value of DataCaptionFields from the parent form’s source table Tabular Form Card Form DataCaptionExpr from the form or the value of DataCaptionFields from the source table Primary key fields are used if no data caption is defined Data Caption Display

61 61 of 64 Managing Participants – Code Walkthrough Contact Card – Form 5050 Contact List – Form 5052 Contact Table – Table 5050

62 Managing Master Files Lab

63 63 of 64 Conclusion We have now created our master files and user interfaces Now that we can store our master data, we can develop the forms and code necessary to carry out transactions

64 64 of 64 Review C/AL Triggers Complex Datatypes MultiLanguage Master Files


Download ppt "Microsoft ® Business Solutions–Navision ® 4.0 Development II – C/SIDE Solution Development Day 1."

Similar presentations


Ads by Google