Mapping Navision Client Machine IP addresses to Change Logs
                
                    web                
                
                    Member Posts: 102                
            
                        
            
                    Hi all,
Can any one help me on how i can Map Navision Client Machines IP addresses to the Change Log entry in Navision.
We want to be Monitoring Clients that are connected to Navision and the changes they have done on Weekly bases.
Thanks.
                Can any one help me on how i can Map Navision Client Machines IP addresses to the Change Log entry in Navision.
We want to be Monitoring Clients that are connected to Navision and the changes they have done on Weekly bases.
Thanks.
0                
            Comments
- 
            In Tips and trick there is a solution on how to find the IP.
IN CU 1 Onopen company you can add code to for change Log Management CU to write a record for IP Address.0 - 
            ara3n,
Can you please send me a sample code that can do this.
I am completely new to navision and am not a programmer. I am trying to familiarized myself in Navision
Thanks.0 - 
            0
 - 
            and another
http://www.mibuso.com/forum/viewtopic.php?t=22586
I like the point that if everyone had a different login you can track it that way too.0 - 
            Where can i put the code?0
 - 
            Do you have the ability to add code to codeunits? IF you're not sure what you are doing I would suggest contacting your support center. The last thing you want to do is play with code and make things worse.0
 - 
            I have added the code in CU 1 ApplicationManagement on the CompanyOpen() trigger. It this possition Correct?
Now where can you go to monitor the client IP addresses? It it on the change log? Where?
Thanks.0 - 
            Do you have the changelog in your license?0
 - 
            Yes, I do
Have a look at my Licience info. above i see if i have it there.
****************************************************************************
Granule ID Name Amount Expires
610 Representative 1
620 Product Specialist 1
630 Solution Developer 1
710 Partner Tools 1
900 All Application Granules 1
1,010 Foundation Layer 1
1,100 Company 1
1,140 Company - unlimited 1
1,200 Session 20
1,300 Database Expansion per 100 MB 100
1,400 User IDs & Passwords 1
1,410 Permissions 1
1,420 Application Server - 100 instances 10
1,500 Server - Any 1
1,700 C/ODBC 1
1,750 C/OCX 1
1,800 C/FRONT 1
1,960 Test Integration 1
2,000 Client Monitor 1
2,010 Server - Microsoft SQL Server Option 1
2,020 Per Database license 1
2,105 Allow new versions 1
2,110 Navision Version 3.xx 1
2,200 Connector for Siebel eBusiness - Financials 1
2,310 Web User /Each 10
3,000 General Ledger 1
3,010 General Ledger - Basic General Ledger 1
3,020 General Ledger - Allocations 1
3,030 General Ledger - Budgets 1
3,040 General Ledger - Account Schedules 1
3,050 General Ledger - Consolidation 1
3,060 General Ledger - Responsibility Centers 1
3,070 General Ledger - Basic XBRL 1
3,080 General Ledger - Change Log 1
3,250 Sales & Receivables 1
3,260 Sales & Receivables - Basic Receivables 1
3,270 Sales & Receivables - Sales Invoicing 1
3,280 Sales & Receivables - Sales Order Management 1
3,290 Sales & Receivables - Sales Invoice Discount 1
3,300 Sales & Receivables - Customer/Item Discount 1
3,310 Sales & Receivables - Alternative Ship-to's 1
3,320 Sales & Receivables - Order Promising 1
3,340 Sales & Receivables - Shipping Agents 1
3,350 Sales & Receivables - Sales Return Order Mgt 1
3,360 Sales & Receivables - Calendars 1
3,370 Sales & Receivables - Sales Line Discount 1
3,380 Sales & Receivables - Sales Line Pricing 1
3,500 Purchases & Payables 1
3,510 Purchases & Payables - Basic Payables 1
3,520 Purchases & Payables - Purchase Invoicing 1
3,530 Purchases & Payables - Purchase Order Managem 1
3,540 Purchases & Payables - Purchase Invoice Disco 1
3,550 Purchases & Payables - Requisition Management 1
3,560 Purchases & Payables - Alt. Order Addresses 1
3,570 Purchases & Payables - Purchase Return Order 1
3,580 Purchases & Payables - Purchase Line Discount 1
3,590 Purchases & Payables - Purchase Line Pricing 1
3,750 Application Wide 1
3,760 Application Wide - Multiple Currencies 1
3,770 Purchases & Payables - Drop Shipments 1
3,780 Application Wide - Salespeople/Purchasers 1
3,790 Application Wide - Intrastat 1
3,800 Application Wide - Extended Text 1
4,000 Inventory 1
4,010 Inventory - Basic Inventory 1
4,020 Application Wide - Multiple Document Langua 1
4,030 Inventory - Multiple Sales Prices 1
4,040 Inventory - Multiple Locations ->2 1
4,045 Inventory - Stock Keeping Units 1
4,050 Inventory - Alternative Vendors 1
4,060 Inventory - Bills of Materials 1
4,080 Inventory - Sales Quantity Discoun 1
4,090 Inventory - Purchase Qty. Discount 1
4,100 Inventory - Location Transfers 1
4,110 Inventory - Item Substitutions 1
4,120 Inventory - Item Cross References 1
4,130 Inventory - Nonstock Items 1
4,140 Inventory - Item Tracking 1
4,150 Inventory - Item Charge 1
4,160 Inventory - Cycle Counting 1
4,170 Inventory - Bin 1
4,180 Inventory - Put-away 1
4,190 Inventory - Warehouse Receipt 1
4,200 Inventory - Pick 1
4,210 Inventory - Warehouse Shipment 1
4,250 Resources 1
4,260 Resources - Basic Resources 1
4,270 Resources - Capacity Management 1
4,280 Resources - Multiple Sales Prices 1
4,290 Resources - Multiple Costs 1
4,500 Jobs 1
4,510 Jobs - Basic Jobs 1
4,520 Jobs - Budgets/Estimates 1
4,530 Jobs - Phases/Tasks/Steps 1
4,760 Application Wide - Basic Dimensions 1
4,770 Application Wide - Reason Codes 1
4,780 Application Wide - Advanced Dimensions 1
4,900 Application Wide - Multiple System Langua 1
5,000 Cash Manager 1
5,010 Cash Manager - Bank Account Managemen 1
5,020 Cash Manager - Check Writing 1
5,030 Cash Manager - Bank Reconciliation 1
5,100 CRM - Marketing & Sales 1
5,110 Relationship Mgt. - Contact Management 1
5,120 Relationship Mgt. - Contact Classification 1
5,130 Relationship Mgt. - Campaign Management 1
5,140 Relationship Mgt. - Opportunity Management 1
5,150 Relationship Mgt. - Task Management 1
5,160 Relationship Mgt. - Interaction/Document M 1
5,170 Relationship Mgt. - Contact Search 1
5,180 E-mail logging for MS Exchange 1
5,190 Outlook Client Intergration 1
5,200 Smart Tag Integration Toolkit 1
5,250 Fixed Assets 1
5,260 Fixed Assets - Basic 1
5,270 Fixed Assets - Insurance 1
5,280 Fixed Assets - Maintenance 1
5,290 Fixed Assets - Allocation 1
5,300 Fixed Assets - Reclassification 1
5,500 Contact Management 1
5,510 Contact Management - Basic 1
5,520 Contact Management - Activities 1
5,530 Contact Management - Market Groups 1
5,540 Contact Management - Trade Codes 1
5,750 Human Resources 1
5,760 Human Resources - Basic 1
5,900 CRM - Service 1
5,910 Service Management - Service Order Manageme 1
5,911 Service Management - Service order Manageme 1
5,920 Service Management - Service Item Managemen 1
5,921 Service Management - Service Item Managemen 1
5,930 Service Management - Service Contract Manag 1
5,940 Service Management - Planning & Dispatching 1
5,950 Service Management - Job Scheduling 1
6,210 Commerce Portal 1
6,220 Commerce Portal version 3.10 & 3.60 1
6,710 User Portal 1
6,720 User Portal - Basic & Sales Activity Center 1
7,110 Report & Dataport Designer 1
7,120 Form Designer 1
7,130 Table Designer 1
7,140 XML Designer 1
7,200 Application Builder 1
7,300 Solution Developer 1
7,400 Custom Area Objects 1
10,810 Cash Manager - Print Promissory Note 1
100,000 Translation Tool 1
101,000 Demonstration Data Tool 1
102,100 Navision Financials Conversion + Compare Tool 1
102,110 Navision Financials Conversion Toolkit 1
102,120 Navision Financials Compare Toolkit & Merge T 1
104,000 Upgrade Toolkit Execute objects(104,000-104,1 1
110,000 Demonstration Data CAPRI Execute(110,000-149, 1
150,000 Performance Troubleshooting Execute 1
160,001 Country Demo objects Execute 160.000-169.999 1
170,001 Country Upgrade objects Execute 170.000-189.9 1
51,599,910 I3 Object/Granule Permissions 1
51,599,920 I3 System Permissions 1
99,000,110 Sales Management 1
99,000,120 Sales Management - Basic 1
99,000,130 Sales Management - Sales Budgets 1
99,000,140 Sales Management - Forecasting 1
99,000,751 Manufacturing (99.000.750 - 99.001.049) NSC 1
99,003,602 impuls Execute objects (99,003,600-99,003,799 1
99,003,802 W1 Manufacturing Execute (99,003,800-99,003,8 1
99,004,602 Financial Analyst Object(99,004,600-99,004,69 1
99,004,710 Euro Conversion Tool 1
99,008,502 W1 Commerce Gateway Exe.(99,008,500-99,008,69 1
99,010,103 Pipeline Management Tool 1
99,010,104 Pipeline Management Tool Attain 10 - 
            Here is example code on how to do it.
Add the user to userSetup table.
Make sure change Log Setup is enabled and that Log Modification for user setup is enabled.
Also add a new field IP address to the UserSetup.
The ip address I hardcoded, but you can use the example in above link to get the ip address//T01 start IF GUIALLOWED THEN IF USERID <> '' THEN IF UserSetup.GET(USERID) THEN BEGIN UserSetup.IPAddress := '12.12.12.12'; recRef.GETTABLE(UserSetup); UserSetup.IPAddress := ''; xrecref.GETTABLE(UserSetup); ChangeLogMgt.LogModification(recRef,xrecref); END; //T01 End0 - 
            I did all you said, Now i want to know where is the code you gave me going to be placed and the Datatype of the variables
Thnaks0 - 
            Yes i also want to know where the code is going to be place.0
 - 
            In CU 1
in function
CompanyOpen()Name DataType Subtype Length UserSetup Record User Setup recRef RecordRef xrecref RecordRef ChangeLogMgt Codeunit Change Log Management
0 - 
            kolaboy wrote:I did all you said, Now i want to know where is the code you gave me going to be placed and the Datatype of the variables
Thnaks
I didn't know two people wanted the solution.
:oops:0 - 
            Whats the Datatype for IP address? I created IP address as filed with Data type text is this right?
IF all these are done where can one be seeing the IP addresses0 - 
            the ip address is text.
You will see the changes in change log entry table0 - 
            I have created the IP address field in the change log entry table but when i run it i don't see the ip addresses of the client.
What is happening now is when client log in to Navision their IP addresses pop up and when you click ok, you are logged in. I wanted this to appear on the change log entry table but its not.
How Can i have all the client Machines IP addresses appear on the change log entry table. I put the code in CU 1 OnOpenCompany trigger.
Any Idea please.0 - 
            could you paste your code?
thanks.0 - 
            Here is the code i put in CU 1 Application management.
CompanyOpen() IF GUIALLOWED THEN LogInStart; IF ISCLEAR(WindowShell) THEN CREATE(WindowShell); WindowShell.CurrentDirectory(ENVIRON('windir') + '\system32\'); txtCommand := 'ipconfig'; WSHExec := WindowShell.Exec(txtCommand); WSHTextStream := WSHExec.StdOut; i := 0; WHILE (NOT WSHTextStream.AtEndOfStream) AND (i < 8) DO BEGIN txtMsg := WSHTextStream.ReadLine(); i += 1; END; MESSAGE(COPYSTR(txtMsg,45)); IF GUIALLOWED THEN IF USERID <> '' THEN IF UserSetup.GET(USERID) THEN BEGIN UserSetup."IP Address" := '192.168.11.90'; recRef.GETTABLE(UserSetup); UserSetup."IP Address" := ''; xrecref.GETTABLE(UserSetup); ChangeLogMgt.LogModification(recRef,xrecref); END;
The IP address pos up on client machines on log in. I wanted the IP addresses to appear in the change log entry so that it can be printed to monitor the users.
Thanks0 - 
            Change your code to this.
CompanyOpen() IF GUIALLOWED THEN LogInStart; IF ISCLEAR(WindowShell) THEN CREATE(WindowShell); WindowShell.CurrentDirectory(ENVIRON('windir') + '\system32\'); txtCommand := 'ipconfig'; WSHExec := WindowShell.Exec(txtCommand); WSHTextStream := WSHExec.StdOut; i := 0; WHILE (NOT WSHTextStream.AtEndOfStream) AND (i < 8) DO BEGIN txtMsg := WSHTextStream.ReadLine(); i += 1; END; IF GUIALLOWED THEN IF USERID <> '' THEN IF UserSetup.GET(USERID) THEN BEGIN UserSetup."IP Address" := COPYSTR(txtMsg,45); recRef.GETTABLE(UserSetup); UserSetup."IP Address" := ''; xrecref.GETTABLE(UserSetup); ChangeLogMgt.LogModification(recRef,xrecref); END;
Now Run Form Change Log Setup from object designer. Check Change Log activated. Click on Setup->Tables
Find User set log moifcation to all fields.
Then log out and in0 - 
            After you log in run form Change Log Entries
and you should see at the bottom the record and the field for IP address0 - 
            I have done what you asked me to do, but i still did not see the IP addresses.
The field is still blank when i run the Change Log.
Anything i am missing?
Have a log at my Change log form:OBJECT Form 595 Change Log Entries { OBJECT-PROPERTIES { Date=12/02/08; Time=21:32:25; Modified=Yes; Version List=NAVW13.70; } PROPERTIES { Width=19360; Height=6710; Editable=Yes; CaptionML=ENU=Change Log Entries; TableBoxID=1; SourceTable=Table405; } CONTROLS { { 1 ;TableBox ;220 ;220 ;17930;5500 ;HorzGlue=Both; VertGlue=Both } { 2 ;TextBox ;0 ;0 ;1700 ;0 ;Visible=No; ParentControl=1; InColumn=Yes; SourceExpr="Entry No." } { 3 ;Label ;0 ;0 ;0 ;0 ;ParentControl=2; InColumnHeading=Yes } { 4 ;TextBox ;0 ;0 ;1700 ;0 ;ParentControl=1; InColumn=Yes; SourceExpr="Date and Time" } { 5 ;Label ;0 ;0 ;0 ;0 ;ParentControl=4; InColumnHeading=Yes } { 8 ;TextBox ;0 ;0 ;1700 ;0 ;HorzGlue=Both; ParentControl=1; InColumn=Yes; SourceExpr="User ID" } { 9 ;Label ;0 ;0 ;0 ;0 ;ParentControl=8; InColumnHeading=Yes } { 10 ;TextBox ;0 ;0 ;1700 ;0 ;ParentControl=1; InColumn=Yes; Lookup=No; SourceExpr="Table No." } { 11 ;Label ;0 ;0 ;0 ;0 ;ParentControl=10; InColumnHeading=Yes } { 12 ;TextBox ;0 ;0 ;4400 ;0 ;ParentControl=1; InColumn=Yes; DrillDown=No; SourceExpr="Table Name" } { 13 ;Label ;0 ;0 ;0 ;0 ;ParentControl=12; InColumnHeading=Yes } { 24 ;TextBox ;0 ;0 ;4400 ;0 ;ParentControl=1; InColumn=Yes; SourceExpr="Primary Key" } { 25 ;Label ;0 ;0 ;0 ;0 ;ParentControl=24; InColumnHeading=Yes } { 1000000000;TextBox;15002;330 ;1700 ;440 ;ParentControl=1; InColumn=Yes; SourceExpr="IP Address" } { 1000000001;Label ;0 ;0 ;0 ;0 ;ParentControl=1000000000; InColumnHeading=Yes } { 14 ;TextBox ;0 ;0 ;1700 ;0 ;ParentControl=1; InColumn=Yes; Lookup=No; SourceExpr="Field No." } { 15 ;Label ;0 ;0 ;0 ;0 ;ParentControl=14; InColumnHeading=Yes } { 16 ;TextBox ;0 ;0 ;4400 ;0 ;ParentControl=1; InColumn=Yes; DrillDown=No; SourceExpr="Field Name" } { 17 ;Label ;0 ;0 ;0 ;0 ;ParentControl=16; InColumnHeading=Yes } { 18 ;TextBox ;0 ;0 ;550 ;0 ;ParentControl=1; InColumn=Yes; SourceExpr="Type of Change" } { 19 ;Label ;0 ;0 ;0 ;0 ;ParentControl=18; InColumnHeading=Yes } { 20 ;TextBox ;0 ;0 ;4400 ;0 ;ParentControl=1; InColumn=Yes; SourceExpr="Old Value" } { 21 ;Label ;0 ;0 ;0 ;0 ;ParentControl=20; InColumnHeading=Yes } { 22 ;TextBox ;0 ;0 ;4400 ;0 ;ParentControl=1; InColumn=Yes; SourceExpr="New Value" } { 23 ;Label ;0 ;0 ;0 ;0 ;ParentControl=22; InColumnHeading=Yes } { 26 ;TextBox ;0 ;0 ;1700 ;0 ;Visible=No; ParentControl=1; InColumn=Yes; Lookup=No; SourceExpr="Primary Key Field 1 No." } { 27 ;Label ;0 ;0 ;0 ;0 ;ParentControl=26; InColumnHeading=Yes } { 28 ;TextBox ;0 ;0 ;4400 ;0 ;Visible=No; ParentControl=1; InColumn=Yes; DrillDown=No; SourceExpr="Primary Key Field 1 Name" } { 29 ;Label ;0 ;0 ;0 ;0 ;ParentControl=28; InColumnHeading=Yes } { 30 ;TextBox ;0 ;0 ;4400 ;0 ;Visible=No; ParentControl=1; InColumn=Yes; SourceExpr="Primary Key Field 1 Value" } { 31 ;Label ;0 ;0 ;0 ;0 ;ParentControl=30; InColumnHeading=Yes } { 32 ;TextBox ;0 ;0 ;1700 ;0 ;Visible=No; ParentControl=1; InColumn=Yes; Lookup=No; SourceExpr="Primary Key Field 2 No." } { 33 ;Label ;0 ;0 ;0 ;0 ;ParentControl=32; InColumnHeading=Yes } { 34 ;TextBox ;0 ;0 ;4400 ;0 ;Visible=No; ParentControl=1; InColumn=Yes; DrillDown=No; SourceExpr="Primary Key Field 2 Name" } { 35 ;Label ;0 ;0 ;0 ;0 ;ParentControl=34; InColumnHeading=Yes } { 36 ;TextBox ;0 ;0 ;4400 ;0 ;Visible=No; ParentControl=1; InColumn=Yes; SourceExpr="Primary Key Field 2 Value" } { 37 ;Label ;0 ;0 ;0 ;0 ;ParentControl=36; InColumnHeading=Yes } { 38 ;TextBox ;0 ;0 ;1700 ;0 ;Visible=No; ParentControl=1; InColumn=Yes; Lookup=No; SourceExpr="Primary Key Field 3 No." } { 39 ;Label ;0 ;0 ;0 ;0 ;ParentControl=38; InColumnHeading=Yes } { 40 ;TextBox ;0 ;0 ;4400 ;0 ;Visible=No; ParentControl=1; InColumn=Yes; DrillDown=No; SourceExpr="Primary Key Field 3 Name" } { 41 ;Label ;0 ;0 ;0 ;0 ;ParentControl=40; InColumnHeading=Yes } { 42 ;TextBox ;0 ;0 ;4400 ;0 ;Visible=No; ParentControl=1; InColumn=Yes; SourceExpr="Primary Key Field 3 Value" } { 43 ;Label ;0 ;0 ;0 ;0 ;ParentControl=42; InColumnHeading=Yes } { 44 ;CommandButton;6820 ;5940 ;2200 ;550 ;HorzGlue=Right; VertGlue=Bottom; Default=Yes; PushAction=LookupOK; InvalidActionAppearance=Hide } { 45 ;CommandButton;9240 ;5940 ;2200 ;550 ;HorzGlue=Right; VertGlue=Bottom; Cancel=Yes; PushAction=LookupCancel; InvalidActionAppearance=Hide } { 46 ;CommandButton;14080;5940 ;2200 ;550 ;HorzGlue=Right; VertGlue=Bottom; PushAction=FormHelp } { 47 ;CommandButton;11660;5940 ;2200 ;550 ;HorzGlue=Right; VertGlue=Bottom; CaptionML=ENU=&Print; OnPush=VAR ChangeLogEntriesRep@1000 : Report 509; BEGIN ChangeLogEntriesRep.SETTABLEVIEW(Rec); ChangeLogEntriesRep.RUN; END; } } CODE { BEGIN END. } }Any ideas please?0 - 
            make sure that you have all log insertion log modification and log deletion set to all fields for User Setup table.0
 - 
            I have set the insertion, modification etc. to all fields in the user setup table and logged out. Now the command prompt just flash and upon login and when i run the change log, i did not see any IP Address indicated.
Any other idea pleas.0 - 
            Make sure
to Run Form Change Log Setup from object designer. Check Change Log activated.
Also turn on debugger and and see what it does once it goes into change log management CU.
Also make sure you don't have any filters in change log entry.0 - 
            Ok change the code in the following so that you don't have to insert the user in the user setup.
F GUIALLOWED THEN UserSetup."User ID" := USERID UserSetup."IP Address" := COPYSTR(txtMsg,45); recRef.GETTABLE(UserSetup); UserSetup."IP Address" := ''; xrecref.GETTABLE(UserSetup); ChangeLogMgt.LogModification(recRef,xrecref); end;0 - 
            Thanks ara3n, i am now seeing the IP Addresses on the change log entry under the new value column. Its also picking up the User ID as well.
=D>0 - 
            you're welcome.0
 
Categories
- All Categories
 - 73 General
 - 73 Announcements
 - 66.7K 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
 - 323 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
 
