Skip to main content

Posts

Showing posts from 2014

Error : A currency to convert from is required to retrieve exchange rate information MSDAX

If you are getting error " A currency to convert from is required to retrieve exchange rate information " on posting statement in Retail then following suggestion can be your solution. It can be resolve you need to check tables-RetailTransactionSalesTrans -currency may be missing in table-RetailTransactionSalesTrans from the currency column .

Installation Steps for Enterprise portal in MSD Axapta 2009,4.0

Following are Installation Steps for Enterprise portal in Axapta 2009/4.0. 1. Installation of .Net framework 2.0 and 3.0. 2. Installation of Client. 3. Installation of Business connector. 4. Installation of Enterprise portal server from Ax Server setup. 5. Installation of Sharepoint 3.0 administration. 6. Run Sharepoint product and technology wizard by using default selection. 7. After wizard completion run configuration wizard from ax (Administrator->setup->Internet->Configuration wizard->then run Manage deployment) 8. Create or register EP Site. 9. If site not created successfully then try with new name which is not used previously. 1. After that site will show in Ax client you can open it.

Error while starting MSD Ax 2009 Instance

If you are facing below error while  while starting Ax 2009 Instance. "Concurrent number of AOS for this application Exceeds the licensed number". It means you have single AOS license but You have installed multiple AOS and trying to access using load balancing. You can solve your error following way. Open sql query editor and do following steps SELECT * FROM dbo.SysServerSessions WHERE Status = 1; Change the Status value by using following  update query: UPDATE  dbo.SysServerSessions SET Status = 0 WHERE Status = 1;

Workflow Known Error -Due date exceeded in MSD Ax 2012

This is Workflow Known Error -Due date exceeded in Ax 2012 but solution still not found on searching on internet. X++ Exception: invalid tracking submission expected context Workflow and expected type Submission actual context Workflow and actual type Fault. at SysWorkflow-faultWorkflowInstance SysWorkflow-internalFault SysWorkflow-fault WorkflowTrackingTable-saveTracking SysWorkflowWorkItem-escalate X++ Exception: invalid tracking submission expected context Workflow and expected type Submission actual context WorkItem and actual type DueDateExceeded. at WorkflowTrackingTable-saveTracking SysWorkflowWorkItem-escalate Could any one give right comment and answer I tried, IISReset,Full compilation of CIL and application,Restart AOS Services and Server but problem not resolved. Workflow stop working after this error.

Get Database information in MSD Axapta

1. Click Area Page node: Administration -> Inquiries -> Database -> Database information.Switch to the General tab on the Database information form.  2. Switch to the System variables tab on the Database information form. to get System variables  on form. 3. Switch to the ODBC tab on the Database information form to get ODBC  Details .

Post Sales Order from business connector with CSharp in MSD axapta

This code can help you AxaptaRecord AXSalesTable = ax.CreateAxaptaRecord("SalesTable"); AXSalesTable = ax.CallStaticRecordMethod("SalesTable", "find", SalesId) as AxaptaRecord; AxaptaObject axSalesFormLetter_Invoice = ax.CreateAxaptaObject("SalesFormLetter_Invoice"); axSalesFormLetter_Invoice.Call("new"); axSalesFormLetter_Invoice.Call("update", AXSalesTable);

Number sequence cleanup activity in MSD Axapta

  1. Click Navigation Pane node: Basic -> Setup -> Number sequences -> Number sequences. 2. Select the number sequence line. 3. To perform cleanup of number sequence of current selection Click the Clean up -> Click on Current menu button. Form name: NumberSequenceCleanUp 4. To perform cleanup of number sequence of current selection Click the Clean up -> Click on All menu button. 5. Click the OK button.

How to Change User logon Ideal time in MSD Axapta

To Change User logon Ideal time in Axapta you can choose below option. 1. Click Area Page node: Administration -> Users. 2. Click the User options button. 3. Change Automatic shutdown from '0' to '10 it means if user is ideal for 10 min then ax application will close after that.

Table re index Generate SQL scripts truncate option from MSD axapta

1. Click Navigation Pane node: Administration -> Periodic -> SQL administration. Form name: SQL administration 2. Click the Table actions -> Browse table menu button. Form name: Table browser: CustTable 3. Close the Table browser: CustTable form. 4. Click the Index actions -> Reindex menu button. 5. Click the Generate SQL scripts -> .... for creating tables menu button. Same as you can check other option like truncate table,check synchronization etc.

Microsoft Dynamics Axapta performance improvement points

Performance Improvement for Ax Application. If you are facing performance problem in axapta then you can do following task to improve performance. 1. First you need to check which table has maximum transactions then you concentrate on those tables which has lot of records.  2. You can create index on tables which is taking long time on select query. 3. You can delete unwanted transaction log data and usage data if required. 4. You can set re-indexing job for all table through job in sql. 5. You can review logic and loop for customization tables you can tune logic to improve performance. 6. You can increase RAM in sql database if its not fulfilling transaction requirements. 7. You can install more AOS and do load balancing. I hope those points can help you to improve performance.

Multiple line voucher or journal Entry in MSD Axapta

As we listen lot of time like multiple line voucher Entry and Single line voucher. If we want to understand this terms in better way than you can go on below points. 1. If you enter any journal line with offset account that means its single line entry. Voucher.  - Account- Debit- Credit- Offset account V00001   -AC01-1000-                     -O00001 2. If your Entry like this Voucher.  - Account- Debit- Credit- Offset account V00001   -AC01-1000-  V00001 -O00001 -          -10000         - This type of Entry is treated as multiple line voucher Entry.

Code for Tax adjustment in Free text Invoice in MSD axapta

This is a Code for Tax adjustment in Free text Invoice in axapta. You can try this code in job to check the effect of adjustment. CustInvoiceTable _custInvoiceTable; CustInvoiceCalcTax custInvoiceCalcTax; TaxFreeInvoice _taxFreeInvoice; TaxRegulation _taxRegulation; ; ttsbegin; select firstonly _custInvoiceTable where _custInvoiceTable.InvoiceId == "test5"; custInvoiceCalcTax = new CustInvoiceCalcTax_Table(_custInvoiceTable); _taxFreeInvoice = new TaxFreeInvoice(custInvoiceCalcTax); _taxFreeInvoice.calc(); _taxRegulation = TaxRegulation::newTaxRegulation(_taxFreeInvoice); _taxRegulation.allocateAmount(33.47); _taxRegulation.saveTaxRegulation();

Code to Tax adjustment for Ledger Journal in MSD axapta

This is a Code to Tax adjustment for Ledger Journal in axapta You can try this code in Job in AOT. I hope it can help you to get class and method details for tax adjustment. LedgerJOurnalTrans LJTrans; TaxLedgerJournalCalculate taxLedgerJournalCalculate; TaxLedgerJournal taxLedgerJournal; TaxRegulation TaxReg; ; ttsbegin; select firstonly LJTrans  where LJTrans.JournalNum == "000787_j"; taxLedgerJournal = TaxLedgerJournal::construct(TaxJournalCall::Journal, LJTrans, null); TaxReg = new TaxRegulation(); taxLedgerJournal.calcAndPost(); TaxReg.setTax(taxLedgerJournal); TaxReg.createSumsFromTmp(); TaxReg.allocateAmount(7.8); TaxReg.saveTaxRegulation();

Inventory Value By Inventory Dimension report in MSD Axapta

If you want to know inventory value with dimension details then you can Go to Inventory Report from following menu path. Inventory Management -> Reports -> Status -> Inventory Value By Inventory Dimension In this report you can select dimension like batchid,warehouse, inventory location etc. Inventory value you will get correct after inventory recalculation and closing.

Trial balance report in MSD axapta

Trial balance report is to show closing balance of particular period. If you want to know opening debit,credit,current period debit and credit amount and balance till date for particular account then you can get details from following report. General Ledger -> Reports -> Transaction -> Periodic -> Trial Balance You can view  report by using summary and details option. You can check other option to know more details about report.

Critical Hotfixes for Inventory in MSD Axapta 2009 Rollup 5(RU 5) or Higher

Change current session date in MSD axapta

To Change current session date in axapta you can find in following menu. Tools- > Session date If you will change session date for your client then it will change for your client session only it will not affect other users session. Once you will close your ax client then real current date will be set automatically.

Could not find user at SysWorkflowDueDateProvider Error in Workflow axapta MSDAX

If you are getting below error on workflow . Stopped (error): X++ Exception: Could not find user at SysWorkflowDueDateProvider-resolve SysWorkflowDueDateProvider-resolveDueDate Then you need to check following things. 1. Check workflow configuration is user assigned for workflow approval elements . 2. Check user relation form if there is not employee assigned then you need to assign employee on user relation form.

Execute or call SQL Stored Procedure in MSD Axapta by code

To Execute or call SQL Stored Procedure in Axapta by code you can get hints from below code. You can also pass parameter with stored procedure in string format. UserConnection Conn; Statement Stmt; str SqlStmt; SqlSystem sqlSystem; SqlStatementExecutePermission sqlPermission; ResultSet resultSet; str StrFromdate,StTodate; StrFromdate =strFmt("2010-01-01"); StTodate =strFmt("2014-03-31"); sqlSystem =new SqlSystem(); SqlStmt =strFmt('Exec SP_StoredProc \'%1\',\'%2\'',StrFromdate,StTodate) ; Conn =new UserConnection(); Stmt = Conn.createStatement(); sqlPermission =new SqlStatementExecutePermission(SqlStmt); sqlPermission.assert(); Stmt.executeUpdate(SqlStmt); CodeAccessPermission::revertAssert();

How to Call query in MSD Axapta by code

To Call query in Axapta by code you can try below code. You need to create query in aot query node then pass query using querystr method in queryrun object. QueryRun queryRun; int cnt; ; queryRun = new QueryRun(queryStr(Query1)); if (queryRun.prompt()) { while (queryRun.next()) { cnt++; }

Re-Index All Tables or All Indexes in MSD Axapta

To Re-Index All Tables or All Indexes in Axapta You can do from this menu path. Go to Administration -> Periodic -> SQL Administration ->Select All Table/All Indexes->Go to Index Action button_>Re-index. Re-Index All tables from SQL Database

Show all fields in MSD axapta

To see all fields of table in Axapta mostly we go to table element of AOT and browse table to get all fields name but if you are in any form and want to see all fields then its very easy. Just right click on form control go to recordinfo then click on show all fields you can see all fields in form. I hope it will save your time.

Blogging in MSD Axapta ERP

If you want to write blog on Ax then you should select you excellent area to get success. If you are functional then do not write topic of technical code you should be strict with your area so it can get more success on functional area. Write topics as per version wise from lower version to highest. You will get more traffic on latest version because lot of companies implementing project in latest versions and they do not know much more about latest version so they will search more on latest version. If you are writing something in old version then do not write large theory type posts it should be short and valuable. In old version most people search for error and troubleshooting so your post should be type of answering for solution of error and troubleshooting. If you are Indian and working for Indian project then there are lot of complex question for tax related,excise ,cst,tds,wct,server tax,vat,additional duty ,custom duty,reverse service charge calculation etc so if you w

Countries List Which have users in Microsoft Dynamics Axapta ERP

This is Countries List Which have users in Microsoft ERP. If you are sales person and search job or projects on ERP then you can search in below countries. United States Saudi Arabia Turkey Indonesia Thailand South Africa Latvia Poland Bulgaria Lithuania Bangladesh Philippines Colombia Malaysia Jordan Qatar Egypt Pakistan Nigeria Chile Iceland Belarus Kenya Tunisia Georgia Vietnam Unknown Region Ukraine Zimbabwe Bolivia Papua New Guinea Kosovo Algeria Serbia Kuwait Estonia Bahrain United Kingdom Sri Lanka Slovenia Morocco Moldova Iraq Guatemala Fiji Ecuador Cyprus Costa Rica Afghanistan Zambia Yemen Venezuela Uzbekistan Uruguay United Arab Emirates Uganda Turks and Caicos Islands Trinidad and Tobago Togo Tanzania Syria Switzerland Swaziland Suriname Sudan South Korea Solomon Islands Singapore Seychelles Senegal Saint Lucia Réunion Rwanda Russia Puerto Rico Peru Paraguay Panama Palestine Oman Nicaragua

Add minutes code in MSD axapta 2009

You can add minutes to datetime following way.ACX_Base::getServerDateTime() method is used to get server current date time and addminutes is a method of datetimeutil class. info(strfmt("%1",DateTimeUtil::addMinutes(ACX_Base::getServerDateTime(), 540)));

Code to send mail From Enterprise portal web page using dataset in MSDAX

This is Code to send mail From Enterprise portal web page using dataset in axapta. Following code you can write in ascx page and you can get required mail parameter from dataset by writing data method with return values. string fromId, toId, smtpHost, userIdpw, Body; int smtpport; MailMessage message = new MailMessage(); SmtpClient smtpClient = new SmtpClient(); fromId = (string)this.DatasetNm.GetDataSet().DataSetRun.AxaptaObjectAdapter.Call("fromEmailId"); toId = (string)this.DatasetNm.GetDataSet().DataSetRun.AxaptaObjectAdapter.Call("toEmailId"); smtpHost = (string)this.DatasetNm.GetDataSet().DataSetRun.AxaptaObjectAdapter.Call("smtpHost"); smtpport = (int)this.DatasetNm.GetDataSet().DataSetRun.AxaptaObjectAdapter.Call("smtpport"); userIdpw = (string)this.DatasetNm.GetDataSet().DataSetRun.AxaptaObjectAdapter.Call("userIdpw"); Body = (string)this.DatasetNm.GetD

Remove Identical objects in MSD axapta

This is very good link which I am posting here. code to remove identical copy X++ code to remove identical copy of object in axapta. If there is same copy of form1 as form2 then if you want to cleanup identical copy then you can use that link code in job. This code can work for var layer. You can also use same thing for user layer.

Static Ip problem for sharepoint and database in MSD Axapta

case scenario, In share point service administration site is working and default database is connecting with static IP of sql database if user removed static ip of database server then sharepoint stop working.  I tried to change ip with pc name in sharepoint administration then still problem exists. Now timeout error is not coming but sometimes error is coming like “ share point issued an error please contact to system administration” from user side. This error is coming for only one ep page. On sql event log error. Unknown SQL Exception 10054 occured. Additional error information from SQL Server is included below. A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.) Please share your views for the same Possible solution: Remove static Ip of database from sharepoint administration after that is Site stop working then re-configure share

Timeout error for EP page in MSD axapta

Eventlog error details. The Execute method of job definition Microsoft.SharePoint.Search.Administration.SPSearchJobDefinition (ID f563b66c-e273-42f4-b0db-4106a63f0a83) threw an exception. More information is included below. Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding. EP Page is being timeout. Possible solution: Increase time out on IIS for website, increase time out at web.config files.

Sharepoint error in eventlog for MSD axapta EP

I am facing this error on event log. I checked that EP and sharepoint site is working fine but still this error is coming after re installation of EP The description for Event ID 27745 from source Windows SharePoint Services 3 cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer. If the event originated on another computer, the display information had to be saved with the event. The following information was included with the event: #50071: Unable to connect to the database SharePoint_Config on xxxx.xx.xx.xxx.  Check the database connection information and make sure that the database server is running. the message resource is present but the message is not found in the string/message table

What is the solution of faulting error in MSD axapta

I am facing this error in eventlog. could anyone advice the reason and solution for this error. Faulting application SAPISSVC.EXE, version 7.0.0.1, time stamp 0x4f27b98d, faulting module kernel32.dll, version 6.0.6001.18538, time stamp 0x4cb73957, exception code 0xc0000142, fault offset 0x00000000000b1b48, process id 0x2804, application start time 0x01cf55faf48cdb27.

Difference between Primary and Cluster index in Axapta

Primary index uniquely identifies records in any given table. Each unique combination of Primary Key fields uniquely identifies only one record in the table. There can only be one primary key per table. Cluster Index is the physical order in which records are stored in the table. Cluster Indexes do not have to be unique.

Difference between Index and Index hint in MSD Ax

What is the difference between Index and Index hint? Index is used to give the control to the database for optimization. AX Kernel will add an OrderBy with all the fields of the index. Index Hint tells the database to use specified index and no other one. All Tables should have at least one find method that selects and returns one record method should be a Boolean variable called method; from the table that matches the unique index specified by the input parameters.

Definition and use of Maps in MSD axapta

Definition and use of Maps, how AddressMap (with methods) is used in standard AX Maps can unify the access to similar columns and methods that are present in multiple tables. Maps are elements that wrap table objects at run time. We can associate a map field with a field in one or more tables. This association enables to use the same field name to access fields with different names in different tables. Map methods enable us to Create or Modify methods that act on the map fields

Question and answers on Reports in MSD axapta

Q)what are the important methods on report? Ans: fetch, send, dialog, getfromdialog, pack, unpack programmable section - control number - we can execute the ps with e element.execute(controlNumber) in the fetch method Q)What is the difference between auto-design and generated design? Ans: Generate design will not give the printing options of print totals, print grand totals Q) How to create a Report template ? Ans: You can refer to existing templates and can replicate the logic pageno - element.page(),companyname

Some important question and answers on forms in MSD axapta

Q)when you open the form - what methods/calling sequences ? Ans:init(), run(), executequery() Q)When you close the form? Ans:canclose()- boolean, close() Ok command buton - closeok(), canclose(), close() Q)when you create a new record? Ans:Ctrl + n, create of ds, initvalue() of ds, initvalue() of table Q)how do you do filteraions on the forms? Ans: Executequery and use queryBuildRange Q)Enabling and  disabling controls ?   Ans:active method of data source Q)How  do you link the datasources on the form?? Ans: join source and link type property Q )How many link types are available on the datasource?? Ans:delayed, active, passive, inner join, exists join, non exists join, outer join Splitters [sysformsplitter_x, y, z] Q )How  to you pass values from one form to another form - Ans: menuitemButton - Args[formrun] Q )what is args class?? Ans:Args is arguments class which will help to pass values from one form to another, object to obj

Interview question and answer for Data dictionary in MSD Axapta

Table - collection of rows and columns EDT(Extended datatype) - Inheritance, code easy readability, lookups,- 2 RELAtions [Normal and RFF [where clause] example : select * from custtable - is normal select * from custtable where gender == female is RFF How to add columns to the Lookups [Index, Titlefield1, 2 or autolookups] Q) How to get lookups?? In 3 ways - EDT, AutoLookup,Relations Q) what is base enum??? Set of literals or constants which will never change - example [week - s,s,m,t,....] enums are stored as integers and max - 250 can be accessed by using :: [scope resolution] Indexes why do we use index ?- faster performance in select queries Not to allow duplicates FieldName Followed by Idx = AccountNoIdx Field groups: Autoreport - ctrl + p Autolookup almost all the fields should fall under a fieldgroup - on the forms - field groups will form as Group control Relations on table : How one table is related or linked to another Normal -

Some interview question and answer for classes in MSD axapta

1) ACCESS Modifiers [Public, private, protected, static, display] 2) Is multiple inheritance possible in AX?? No It can be achived through interfaces. Interfaces : It does not have method definition] void calculate() {} class classz implements interface void calculate() { a +b; } 3) Is method overloading possible, or function overloading possible in AX ??? No - it does not allow to create another method with same name 4)Abstract and final key words abstract - no need to create object, y?? when we know that we have to create object of child classes only, I will make the class as abstract and i use the concept of constructor controlled inheritance construct(str _bankName) { swtich() {} }

Why You selected Ax for your career MSDAX

AX is a very good ERP which I heard and it supports Tier1 to Tier3 companies It can easily integrate with all other Technologies[sql server, biztalk, ssis, ssrs, MS office] Programming seems to be very similar to .net and I feel very comfortable Also, AX is easy on customization. AX is pretty reasonable when compared with other ERP's. Its good user friendly. It support re-usability means you can develop scenario to implement same things in different clients. 

SSRS Report deployment Error in MSD Axapta EP

I am getting following error on report (SSRS) in EP for axapta. Deployment failed un xpectedly with the message: Invalid URI: The format of the URI could not be determined. See the log file for further details. The deployment log file can be found at My Observation. In AOS there is both sql 2005 reporting service and 2008(Database in sql 2008) exists As per my views if We remove installation of sql 2005 reporting service then problem can be resolve. Please give your comment on this latest error. The deployment log file details are as below Could not load file or assembly 'Microsoft.Dynamics.AX.Fim.PaymentService, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.   at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)  

Enterprise Resource Planning Timeline MSDAX

Physical updating quantity in the unit nos must me other than zero for purchase order in axapta

I am getting this error while posting purchase order on entering receive now qty " Physical updating quantity in the unit  nos must me other than zero" for purchase order posting in axapta I search lot of things from inter net and got following observation. 1.Go to the main table of the Unit Id form, and then on the setup tab, there are the decimals. Default there is 0 (means no decimals), change it for this unit decimal to 2 to enter unit quantity with decimal like 1.23 etc. 2. Debug the following class and try out following code in method . Classes\InventUpd_Financial method initUpdate, insert at line where its required: if(abs(physical) < 0.00001) physical = 0.00; method updateFinancialReceipt, insert at line where you got some value for add qty less than zero on point: if(abs(addQty) < 0.00001) addQty = 0.00; 3. For Ax 4.0 To apply this , change the code in the decreaseQty method and in the increaseQtyOverdelivery method in the WMSOrderTransType

Show Random number in MSD axapta

To Show Random number in axapta you can try below code through job. Random is class name which has nextInt method to get next random number. Random Random = new Random(); int RandomNo,RandomwithMod; ; RandomNo=Random.nextInt(); RandomwithMod=Random.nextInt() MOD 1000; info(Strfmt('%1%2',RandomNo,RandomwithMod));

display current system time in MSD axapta

To display time in axapta,timenow,display current system time in axapta you can try below code in job. Only timenow() will not display in time in time format it will display like number but to show time in time format you can try below code. time2str(timenow(),1,1) To show in message box info(time2str(timenow(),1,1));

How to get purchase invoice amount total at the time of invoicing in MSD axapta PO

To  get purchase invoice amount total at the time of invoicing in axapta Purchase order you can try below  code in a method and just need to call that method on any event to get show total amount which will be invoice amount. vendPackingSlipJour _vendPackingSlipJour_1; real TotalInvoiceAmt; purchParmTable parmtable; purchParmUpdate parmupdate; PurchId _PurchId; PurchTotals purchtotal; ; While Select parmtable where parmtable.ParmId == PurchParmTable.ParmId && parmtable.Ordering == DocumentStatus::Invoice { Select parmupdate where parmupdate.ParmId == parmtable.ParmId; _PurchId = parmtable.PurchId; if(parmupdate) { purchtotal = PurchTotals::newPurchParmTable(parmtable, PurchUpdate::All, AccountOrder::Auto, parmtable.ParmId, _PurchId, PurchParmTable.Ordering); purchtotal.calc(); TotalInvoiceAmt+= purchtotal.purchTotalAmount(); } } You can get total after select single packing slip or multiple packing slip.

Start Ax client in Single user mode MSDAX

To run Ax in single user mode you need to reject new user from online user form as following steps 1. Click Area Page node: Administration -> Online users. Form name: Online users Fig 1 2. Switch to the Server Instances tab on the Online users form. Fig 2 3. Click the Reject new clients button. Form name: Dialog Fig 3 4. Click the OK button. 5. Close the Online users form. Same as Fig 2 Accept New Client To Accept new user you can follow step 6 to 9 6. Click Area Page node: Administration -> Online users. Form name: Online users Same as Fig 2 7. Switch to the Server Instances tab on the Online users form. 8. Click the Accept new clients button. 9. Close the Online users form.

Create Duplicate company account in MSD axapta

To Create Duplicate company account in axapta you can follow below steps. 1. Click Area Page node: Administration -> Company accounts. Form name: Company: , Fig 1 2. Click the Duplicate button. Form name: Duplicate company accounts 3. Change Duplicate to company accounts from '' to ' tst'. 4. Change Company accounts from '' to ' tst'. 5. Click the OK button. Fig 3 7. Make sure the selection is changed in table Company data to: Company accounts Name of company accounts tst tst