Hello everybody!!!
I have changed the size of Customer Name field (increase to 100) on Customer table, and know I have error on every step that I take. Who knows how to change automatically all field in Navision corresponds to Customer Name? It is even possible to do this, or I have to meet all situations that can occur?
Best regards
](*,)
Navision Application Version: 4.0SP1
Navision Database Version: 4.0
0
Comments
- Table 18 [Fld/Cntrl/Elem.] Name
- * Where Used
+ Where Used Options
- Table 18 Customer
* Key 7 Name;Address;City;
- Trigger OnModify
* IF (Name <> xRec.Name) OR
- FieldTrigger OnValidate 2 Name [Text30]
* IF ("Search Name" = UPPERCASE(xRec.Name)) OR ("Search Name" = '') THEN
* "Search Name" := Name;
- Table 36 Sales Header
- FieldTrigger OnValidate 2 Sell-to Customer No. [Code20]
* "Sell-to Customer Name" := Cust.Name;
- FieldTrigger OnValidate 4 Bill-to Customer No. [Code20]
* "Bill-to Name" := Cust.Name;
- FieldTrigger OnValidate 12 Ship-to Code [Code10]
* "Ship-to Name" := Cust.Name;
- Table 38 Purchase Header
- FieldTrigger OnValidate 12 Ship-to Code [Code10]
* "Ship-to Name" := Cust.Name;
- Table 81 Gen. Journal Line
- FieldTrigger OnValidate 4 Account No. [Code20]
* Description := Cust.Name;
- FieldTrigger OnValidate 11 Bal. Account No. [Code20]
* Description := Cust.Name;
- Table 179 Reversal Entry
- Local Procedure 7 InsertReversalEntry(Number : Integer ;RevType : Option [Transaction,Register])
* ReversalEntry."Account Name" := Cust.Name;
- Procedure 3 Caption() : Return : Text[250]
* EXIT(STRSUBSTNO('%1 %2 %3',Cust.TABLECAPTION,Cust."No.",Cust.Name));
- Table 222 Ship-to Address
- Trigger OnInsert
* Name := Cust.Name;
- Procedure 1 Caption() : Return : Text[100]
* EXIT(STRSUBSTNO('%1 %2 %3 %4',Cust."No.",Cust.Name,Code,Name));
- Table 295 Reminder Header
- FieldTrigger OnValidate 2 Customer No. [Code20]
* Name := Cust.Name;
- Procedure 30 FormatAddr(VAR AddrLines : ARRAY[8] OF Text[50])
* Cust.Name := Name;
- Table 297 Issued Reminder Header
- Procedure 30 FormatAddr(VAR AddrLines : ARRAY[8] OF Text[50])
* Cust.Name := Name;
- Table 302 Finance Charge Memo Header
- FieldTrigger OnValidate 2 Customer No. [Code20]
* Name := Cust.Name;
- Procedure 30 FormatAddr(VAR AddrLines : ARRAY[8] OF Text[50])
* Cust.Name := Name;
- Table 304 Issued Fin. Charge Memo Header
- Procedure 30 FormatAddr(VAR AddrLines : ARRAY[8] OF Text[50])
* Cust.Name := Name;
- Table 5050 Contact
- Procedure 3 CreateCustomer(CustomerTemplate : Code[10])
* Cust.VALIDATE(Name,"Company Name");
- Table 5900 Service Header
- FieldTrigger OnValidate 8 Customer No. [Code20]
* Name := Cust.Name;
- FieldTrigger OnValidate 42 Bill-to Customer No. [Code20]
* "Bill-to Name" := Cust.Name;
- FieldTrigger OnValidate 49 Ship-to Code [Code10]
* "Ship-to Name" := Cust.Name;
- Table 7134 Item Budget Entry
- Procedure 11 GetCaption() : Return : Text[1024]
* IF MAXSTRLEN(Cust."No.") >= STRLEN(SourceFilter) THEN IF Cust.GET(SourceFilter) THEN Description := Cust.Name;
- Table 7602 Customized Calendar Change
- Procedure 1 GetCaption() : Return : Text[250]
* "Source Type"::Customer: IF Customer.GET("Source Code") THEN EXIT("Source Code" + ' ' + Customer.Name);
- Table 7603 Customized Calendar Entry
- Procedure 2 GetCaption() : Return : Text[250]
* "Source Type"::Customer: IF Customer.GET("Source Code") THEN EXIT("Source Code" + ' ' + Customer.Name);
- Table 10121 Bank Rec. Line
- FieldTrigger OnValidate 9 Account No. [Code20]
* Description := Cust.Name;
- FieldTrigger OnValidate 15 Bal. Account No. [Code20]
* Description := Cust.Name;
- Table 99008513 BizTalk Partner Setup Header
- FieldTrigger OnValidate 27 Partner No. [Code20]
* "Partner Name" := Customer.Name;
- Table 99008532 BizTalk Partner Currency Map
- FieldTrigger OnValidate 27 Partner No. [Code20]
* "Partner Name" := Customer.Name;
- Form 38 Item Ledger Entries
- Procedure 3 GetCaption() : Return : Text[250]
* "Source Type"::Customer: BEGIN SourceTableName := IF MAXSTRLEN(Cust."No.") >= STRLEN(SourceFilter) THEN IF Cust.GET(SourceFilter) THEN Description := Cust.Name;
- Form 344 Navigate
- Local Procedure 5 SetSource(PostingDate : Date ;DocType2 : Text[50] ;DocNo : Text[50] ;SourceType2 : Integer ;SourceNo2 : Code[20])
* SourceName := Cust.Name;
- Form 623 Unapply Customer Entries
- Procedure 5 Caption() : Return : Text[100]
* Cust."No.", Cust.Name, CustLedgEntry.FIELDCAPTION("Entry No."), CustLedgEntryNo));
- Form 5802 Value Entries
- Procedure 3 GetCaption() : Return : Text[250]
* "Source Type"::Customer: BEGIN SourceTableName := IF MAXSTRLEN(Cust."No.") >= STRLEN(SourceFilter) THEN IF Cust.GET(SourceFilter) THEN Description := Cust.Name;
- Form 5988 Service Items
- Procedure 1 GetCaption() : Return : Text[80]
* GETFILTER("Customer No.") <> '': BEGIN IF Cust.GET(GETRANGEMIN("Customer No.")) THEN EXIT(STRSUBSTNO('%1 %2',Cust."No.",Cust.Name)) EXIT(STRSUBSTNO('%1 %2',GETRANGEMIN("Customer No."))) END;
- Form 7002 Sales Prices
- Procedure 3 GetCaption() : Return : Text[250]
* IF Cust.FIND THEN Description := Cust.Name;
- Form 7004 Sales Line Discounts
- Procedure 3 GetCaption() : Return : Text[250]
* IF Cust.FIND THEN Description := Cust.Name;
- Form 7609 Monthly Calendar
- Procedure 3 GetCaption2() : Return : Text[250]
* CurrentSourceType::Customer: IF Customer.GET(CurrentSourceCode) THEN EXIT(CurrentSourceCode + ' ' + Customer.Name);
- Form 10123 Bank Rec. Adj. Lines Subform
- Procedure 7 GetAccounts(VAR BankRecLine : Record 10121;VAR AccName : Text[30] ;VAR BalAccName : Text[30])
* BankRecLine."Account Type"::Customer: IF Cust.GET(BankRecLine."Account No.") THEN AccName := Cust.Name;
* BankRecLine."Bal. Account Type"::Customer: IF Cust.GET(BankRecLine."Bal. Account No.") THEN BalAccName := Cust.Name;
- Form 10128 Posted Bank Rec. Adj Lines Sub
- Procedure 7 GetAccounts(VAR BankRecLine : Record 10124;VAR AccName : Text[30] ;VAR BalAccName : Text[30])
* BankRecLine."Account Type"::Customer: IF Cust.GET(BankRecLine."Account No.") THEN AccName := Cust.Name;
* BankRecLine."Bal. Account Type"::Customer: IF Cust.GET(BankRecLine."Bal. Account No.") THEN BalAccName := Cust.Name;
- Report 2 General Journal - Test
- Local Procedure 9 CheckCust(VAR GenJnlLine : Record 81;VAR AccName : Text[30])
* IF NOT Cust.GET("Account No.") THEN Cust.TABLECAPTION,"Account No.")) ELSE BEGIN AccName := Cust.Name;
- Report 5195 Create Conts. from Customers
- Trigger OnAfterGetRecord Dataitem 1 Table 18 Customer
* Cont.TRANSFERFIELDS(Customer);
- Report 5980 Maintenance Visit - Planning
- Trigger OnAfterGetRecord Dataitem 1 Table 5965 Service Contract Header
* IF Cust.GET("Customer No.") THEN BEGIN CustShiptoName := Cust.Name;
- Report 5981 Contr. Gain/Loss - Resp. Ctr.
- Trigger OnAfterGetRecord Dataitem 1 Table 5969 Contract Gain/Loss Entry
* IF CustName = '' THEN IF Cust.GET("Customer No.") THEN CustName := Cust.Name;
- Report 5983 Contract Gain/Loss Entries
- Trigger OnAfterGetRecord Dataitem 1 Table 5969 Contract Gain/Loss Entry
* IF CustShiptoName = '' THEN IF Cust.GET("Customer No.") THEN CustShiptoName := Cust.Name;
- Report 6080 Serv. Pricing Profitability
- Trigger OnAfterGetRecord Dataitem 3 Table 5931 Posted Service Item Line
* IF NOT Customer.GET("Customer No.") THEN Customer.Name := '';
- Report 10019 G/L Register
- Trigger OnAfterGetRecord Dataitem 2 Table 17 G/L Entry
* "Source Type"::Customer: IF Customer.READPERMISSION THEN IF Customer.GET("Source No.") THEN SourceName := Customer.Name;
- Report 10021 Trial Balance Detail/Summary
- Trigger OnAfterGetRecord Dataitem 2 Table 17 G/L Entry
* "Source Type"::Customer: IF Customer.READPERMISSION THEN IF Customer.GET("Source No.") THEN SourceName := Customer.Name;
- Report 10043 Customer Comment List
- Trigger OnPreSection Dataitem 1 Table 97 Comment Line Sections 4
* Customer.Name := 'No Name';
- Report 10044 Customer Labels
- Procedure 1 FormatAddress()
* Addr[ColumnNo][2] := Customer.Name;
- Report 10046 Customer Register
- Trigger OnAfterGetRecord Dataitem 2 Table 21 Cust. Ledger Entry
* CustomerName := Customer.Name;
- Report 10051 Drop Shipment Status
- Trigger OnAfterGetRecord Dataitem 1 Table 37 Sales Line
* ((SortOption = SortOption ::Customer) AND ("Bill-to Customer No." <> xCustomer)) OR THEN BEGIN IF NOT Customer.GET("Bill-to Customer No.") THEN BEGIN Customer.Name := '';
- Report 10062 Top __ Customer List
- Trigger OnAfterGetRecord Dataitem 2 Table 18 Customer
* TopName[NextTopLineNo] := Name;
- Report 10087 Payment Journal - Pre-Check
- Trigger OnPreSection Dataitem 3 Table 81 Gen. Journal Line Sections 1
* "Account Type"::Customer: IF Cust.GET("Account No.") THEN Description := Cust.Name;
- Local Procedure 9 CheckCust(VAR GenJnlLine : Record 81;VAR AccName : Text[30])
* IF NOT Cust.GET("Account No.") THEN Cust.TABLECAPTION,"Account No.")) ELSE BEGIN AccName := Cust.Name;
- Report 10089 Payment Journal - Test
- Local Procedure 9 CheckCust(VAR GenJnlLine : Record 81;VAR AccName : Text[30])
* IF NOT Cust.GET("Account No.") THEN Cust.TABLECAPTION,"Account No.")) ELSE BEGIN AccName := Cust.Name;
- Report 10402 Deposit Test Report
- Trigger OnAfterGetRecord Dataitem 5 Table 81 Gen. Journal Line
* AccountName := Customer.Name;
- Report 10403 Deposit
- Trigger OnAfterGetRecord Dataitem 3 Table 10144 Posted Deposit Line
* "Account Type"::Customer: BEGIN IF Customer.GET("Account No.") THEN AccountName := Customer.Name AccountName := STRSUBSTNO(Text001,Customer.TABLECAPTION);
- Report 14016 Emitted invoices ledger
- Trigger OnPreDataItem Dataitem 6 MovIVA2 Table 254 VAT Entry
* Customer.Name := SalesCrMemoHeader."Sell-to Customer Name";
* Customer.Name := SalesInvHeader."Sell-to Customer Name";
* IF NOT Customer.GET(MovIVA."Bill-to/Pay-to No.") THEN Customer.Name := 'DESCONOCIDO';
- Report 14021 Declaration 347 Disk
- Trigger OnAfterGetRecord Dataitem 2 Table 18 Customer
* Name347 := PADSTR(Name,40,' ');
- Codeunit 230 GenJnlManagement
- Procedure 7 GetAccounts(VAR GenJnlLine : Record 81;VAR AccName : Text[30] ;VAR BalAccName : Text[30])
* GenJnlLine."Account Type"::Customer: IF Cust.GET(GenJnlLine."Account No.") THEN AccName := Cust.Name;
* GenJnlLine."Bal. Account Type"::Customer: IF Cust.GET(GenJnlLine."Bal. Account No.") THEN BalAccName := Cust.Name;
- Codeunit 365 Format Address
- Procedure 3 Customer(VAR AddrArray : ARRAY[8] OF Text[50] ;VAR Cust : Record 18)
* AddrArray,Name,"Name 2",Contact,Address,"Address 2",
- Codeunit 5055 CustVendBank-Update
- Procedure 1 UpdateCustomer(VAR Cont : Record 5050;VAR ContBusRel : Record 5054)
* TRANSFERFIELDS(Cont);
- Codeunit 5056 CustCont-Update
- Procedure 1 OnModify(VAR Cust : Record 18)
* Cont.TRANSFERFIELDS(Cust);
- Procedure 5 InsertNewContact(VAR Cust : Record 18;LocalCall : Boolean)
* TRANSFERFIELDS(Cust);
- Codeunit 5900 ServOrderManagement
- Procedure 2 CreateNewCustomer(VAR ServHeader : Record 5900)
* Cust.SETCURRENTKEY(Name,Address,City);
* Cust.SETRANGE(Name,ServHeader.Name);
* Cust.VALIDATE(Name,Name);
- Codeunit 5940 ServContractManagement
- Procedure 5 CreateSalesHeader(ServContract2 : Record 5965;ContractNo : Code[20] ;PostDate : Date ;ContractExists : Boolean) : SalesInvNo : Code[20]
* SalesHeader2."Sell-to Customer Name" := Cust.Name;
- Procedure 15 CreateOrGetCreditHeader(ServContract : Record 5965) : SalesInvoiceNo : Code[20]
* SalesHeader2."Sell-to Customer Name" := Cust.Name;
- Codeunit 6203 Notification Management
- Procedure 4 SendNewConsumerMail(WebSite : Record 6217;Customer : Record 18;Contact : Record 5050) : Returnvalue : Boolean
* Value[12] := Customer.Name;
* Value[4] := Customer.Name;
* Value[12] := Customer.Name;
- Procedure 7 SendNewPasswordMail(Contact : Record 5050;UnencryptedPassword : Text[30])
* Contact."Online User Type"::Customer: BEGIN IF Customer.GET(Contact."On Behalf Of") THEN Value[4] := Customer.Name;
- Codeunit 6205 Synchronization Management
- Local Procedure 12 SetNVCustomer(VAR Customer : Record 18;VAR TempSynchMessageQueue : Record 6224;TableNo : Integer ;ValueType : Integer)
* TempSynchMessageQueue,TableNo,Customer.FIELDNO(Name),ValueType, Conv.SQLEncodeText(Customer.Name));
- Procedure 73 GetSynchTableDef(TableNo : Integer ;FieldNumber : Integer ;ErrorIfReturnValueIsBlank : Boolean ;ForceTotalSynch : Boolean ;ReturnValue : Option ) : Return : Text[250]
* Customer.FIELDNO(Name): BEGIN FieldName := 'NAME';
* Customer.FIELDNO("Name 2"):
* Customer.FIELDNO("Address 2"):
- Codeunit 6209 Customer Management
- Procedure 6 CreateCustomer(VAR XMLDocIn : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 3.0:{F6D90F11-9C73-11D3-B32E-00C04F990BB4}:'Microsoft XML, v3.0'.DOMDocument";VAR XMLDocOut : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 3.0:{F6D90F11-9C73-11D3-B32E-00C04F990BB4}:'Microsoft XML, v3.0'.DOMDocument") : ReturnValue : Boolean
* IF NOT DecodeXML.Customer(XMLDocIn,TempCust,GUID,WebSiteCode) THEN WITH Cust DO BEGIN TRANSFERFIELDS(Cust2,FALSE);
* VALIDATE(Name,TempCust.Name);
- Procedure 4 CreateConsumer(VAR XMLDocIn : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 3.0:{F6D90F11-9C73-11D3-B32E-00C04F990BB4}:'Microsoft XML, v3.0'.DOMDocument";VAR XMLDocOut : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 3.0:{F6D90F11-9C73-11D3-B32E-00C04F990BB4}:'Microsoft XML, v3.0'.DOMDocument") : ReturnValue : Boolean
* IF NOT DecodeXML.Consumer(XMLDocIn,TempCust,TempWebPortalUser,GUID,WebSiteCode) THEN WITH Cust DO BEGIN TRANSFERFIELDS(Cust2,FALSE);
* VALIDATE(Name,TempCust.Name);
- Procedure 5 UpdateCustomer(VAR XMLDocIn : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 3.0:{F6D90F11-9C73-11D3-B32E-00C04F990BB4}:'Microsoft XML, v3.0'.DOMDocument";VAR XMLDocOut : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 3.0:{F6D90F11-9C73-11D3-B32E-00C04F990BB4}:'Microsoft XML, v3.0'.DOMDocument") : Returnvalue : Boolean
* VALIDATE(Name,TempCust.Name);
- Codeunit 6219 Contact Management
- Procedure 2 CreatePassword(LoginID : Code[30]) : Return : Boolean
* Name := Cust.Name;
- Codeunit 6225 XML Document Encode
- Procedure 2 Customer(Customer : Record 18;ProcesType : Text[30] ;WebSiteCode : Code[20] ;GUID : Text[50] ;VAR XMLDocOut : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 3.0:{F6D90F11-9C73-11D3-B32E-00C04F990BB4}:'Microsoft XML, v3.0'.DOMDocument") : ReturnValue : Boolean
* IF Customer."No." <> '' THEN Customer."No.", DocNameSpace,XMLNewChild) > 0 IF Customer.Blocked <> Customer.Blocked::" " THEN Conv.OptionToText(Customer.Blocked), DocNameSpace,XMLNewChild) > 0 IF Customer."Currency Code" <> '' THEN Customer."Currency Code", DocNameSpace,XMLNewChild) > 0 IF Customer.Name <> '' THEN Customer.Name, DocNameSpace,XMLNewChild) > 0 IF Customer."Name 2" <> '' THEN Customer."Name 2", DocNameSpace,XMLNewChild) > 0 IF Customer.Address <> '' THEN Customer.Address, DocNameSpace,XMLNewChild) > 0 IF Customer."Address 2" <> '' THEN Customer."Address 2", DocNameSpace,XMLNewChild) > 0 IF Customer.City <> '' THEN Customer.City, DocNameSpace,XMLNewChild) > 0 IF Customer."Country Code" <> '' THEN Customer."Country Code", DocNameSpace,XMLNewChild) > 0 IF Customer.County <> '' THEN Customer.County, DocNameSpace,XMLNewChild) > 0 IF Customer."Fax No." <> '' THEN Customer."Fax No.", DocNameSpace,XMLNewChild) > 0 IF Customer."Post Code" <> '' THEN Customer."Post Code", DocNameSpace,XMLNewChild) > 0 IF Customer."Phone No." <> '' THEN Customer."Phone No.", DocNameSpace,XMLNewChild) > 0 IF Customer."Home Page" <> '' THEN Customer."Home Page", DocNameSpace,XMLNewChild) > 0 IF Customer."E-Mail" <> '' THEN Customer."E-Mail", DocNameSpace,XMLNewChild) > 0 IF Customer."Language Code" <> '' THEN Customer."Language Code", DocNameSpace,XMLNewChild) > 0 IF Customer.Contact <> '' THEN Customer.Contact, DocNameSpace,XMLNewChild) > 0 IF Customer."Customer Posting Group" <> '' THEN Customer."Customer Posting Group", DocNameSpace,XMLNewChild) > 0 IF Customer."Gen. Bus. Posting Group" <> '' THEN Customer."Gen. Bus. Posting Group", DocNameSpace,XMLNewChild) > 0 IF Customer."VAT Bus. Posting Group" <> '' THEN Customer."VAT Bus. Posting Group", DocNameSpace,XMLNewChild) > 0 IF Customer."Responsibility Center" <> '' THEN Customer."Responsibility Center", DocNameSpace,XMLNewChild) > 0 IF Customer."Notification Process Code" <> '' THEN Customer."Notification Process Code", DocNameSpace,XMLNewChild) > 0 END;
- Codeunit 6226 XML Document Decode
- Procedure 1 Customer(VAR XMLDocIn : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 3.0:{F6D90F11-9C73-11D3-B32E-00C04F990BB4}:'Microsoft XML, v3.0'.DOMDocument";VAR Customer : TEMPORARY Record 18;VAR GUID : Text[50] ;VAR WebSiteCode : Code[20]) : ReturnValue : Boolean
* Customer.Name := XMLNodeFound.text;
- Procedure 8 Consumer(VAR XMLDocIn : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 3.0:{F6D90F11-9C73-11D3-B32E-00C04F990BB4}:'Microsoft XML, v3.0'.DOMDocument";VAR Customer : TEMPORARY Record 18;VAR WebPortalUser : TEMPORARY Record 5050;VAR GUID : Text[50] ;VAR WebSiteCode : Code[20]) : ReturnValue : Boolean
* Customer.Name := XMLNodeFound.text;
- Codeunit 7111 Insert Analysis Line
- Procedure 42 InsertCust(VAR AnalysisLine : Record 7114)
* IF Cust.FIND('-') THEN Cust.Name,Cust."No.",AnalysisLine.Type::Customer,FALSE,0);
- Codeunit 7130 Item Budget Management
- Local Procedure 18 CopyCustToBuf(VAR Cust : Record 18;VAR DimCodeBuf : Record 367)
* Name := Cust.Name;
- Codeunit 7302 WMS Management
- Procedure 44 GetCaption(DestType : Option [ ,Customer,Vendor,Location,Item,Family,Sales Order];SourceDoc : Option [ ,Sales Order,,,Sales Return Order,Purchase Order,,,Purchase Return Order,Inbound Transfer,Outbound Transfer,Prod. Consumption,Prod. Output];Selection : Integer) : Return : Text[50]
* DestType::Customer: EXIT(Customer.TABLECAPTION + ' ' + Customer.FIELDCAPTION(Name));
- Procedure 42 GetDestinationName(DestType : Option [ ,Customer,Vendor,Location,Item,Family,Sales Order];DestNo : Code[20]) : Return : Text[50]
* DestType::Customer: IF Customer.GET(DestNo) THEN EXIT(Customer.Name);
- Codeunit 7600 Calendar Management
- Procedure 3 CreateWhereUsedEntries(BaseCalendarCode : Code[10])
* WhereUsedBaseCalendar."Source Name" := Customer.Name;
- Codeunit 10090 Export Payments (ACH)
- Procedure 17 ExportElectronicPayment(GenJnlLine : Record 81;PaymentAmount : Decimal) : Return : Code[30]
* AcctName := Customer.Name;
- Codeunit 10091 Export Payments (RB)
- Procedure 17 ExportElectronicPayment(GenJnlLine : Record 81;PaymentAmount : Decimal ;SettleDate : Date) : Return : Code[30]
* AcctName := Customer.Name;
- Codeunit 99008526 BizTalk Product Catalog
- Procedure 2 TransferCustomerDatatoHeader(Customer : Record 18;OutboundNo : Integer)
* "Customer Name" := Customer.Name;
Independent Consultant/Developer
blog: https://dynamicsuser.net/nav/b/ara3n
Navision Database Version: 4.0
Changing the main fields of tables, such as no. or name will cause nothing be grief down the road, image what an upgrade will be like.
Just my opinion
Independent Consultant/Developer
blog: https://dynamicsuser.net/nav/b/ara3n
If your customer insists of extending the field, you have to use the developers toolkit search for all the relating filelds with the same name.
Peter
Independent Consultant/Developer
blog: https://dynamicsuser.net/nav/b/ara3n
Peter
http://www.mibuso.com/forum/viewtopic.php?t=8561
http://www.mbsonline.org/forum/topic.asp?TOPIC_ID=15922
Together with some help I have tested a few possibilities last week and we came up with one (still crappy) possible solution only: Create a new field wich holds the remaining content, for the following reasons.
(all of the following was tested on a Nav. 4.0 test enviroment using the SQL DB version.)
Pro' s
1) It is only used if the content exceeds the 1st field
2) No real problems with upgrades and servicepacks. (as far as we could see.......)
Con's
1) Not the solution I wanted since the printouts still do not contain all data required (still have to look how i can achieve this)
2) No typethrough. If you create a customer (in my case an item) manually you have to go to the next field by [Tab] or mouseclick. This may also result in problems when importing data (not tested yet)
Why not to enlarge:
1) Enlarging the field (any field) will results in lots of work adjusting tables, foms and so on.
2) It is hard to be sure you have covered all the right entries and steps for the enlargement to function properly throughout Navision.
3) Enlarging the field (any field) results at best in a rollback of the solution when installing a new servicepack (test with SP1) so you will have to do it again, or you will not be able to install it at all.
4) There will be problems with any upgrade to a higher version (not tested but i was assured there would be by at least 8 different sources including Navision pro's from Microsoft)
Why not to create an entirely new field:
1) Still results in a lot of work for all the forms, tables and so on
2) It is hard to be sure you have covered all the right entries and steps
3) Creating a new field results at best in a rollback of the solution when installing a new servicepack (test with SP1)
4) There will be problems with any upgrade to a higher version
Gr. Alex
For sure it is extra work, and it complicates an upgrade, but the only danger of 'rolling back' your custom field is when the upgrade is done by an amateur.
The advantage of a new field versus expanding an existing field in relation to upgrades, is that you can simply copy/paste a custom field into a new service pack or upgrade. There is always a chance that MS does something to the functionality of an existing field, and if that happens to be a description field, which is present in about 400 places, then you will have to merge your modification in all of those 400 places, instead of simply copying/pasting a field from one database to another.
RIS Plus, LLC
among these a very interesting one it hold
it's called Field it stores all the fields in the database along with all their info
you can write a processing only report to go through the table "Field" then when you find any field called "customer name" update it's length.