Friday, July 13, 2012

CrossCompany & changeCompany


CrossCompany:

You can fetch data from tables across companies using CrossCompany keyword in X++ select queries.
You can also use containers to fetch data from subset of companies.
For example,
While Select * from InventTable CrossCompany: [DAT, TEST]
{
<<Do Something here>>
}
You can also use AllowCrossCompany Property to Yes on  Queries to fetch data from across companies
changeCompany functions:

changeCompany:

You can use changeCompany function in X++ to change companies and fetch data from wherever you want
Example:
static void main()
{
    CustTable custTable;
    ;

    //Assume that you are running in company 'aaa'.
    changeCompany('bbb') //Default company is now 'bbb'.
    {
        custTable = null;
        while select custTable
        {
            //custTable is now selected in company 'bbb'.
        }
    }


    //Default company is again set back to 'aaa'.

    changeCompany('ccc') //Default company is now 'ccc'.
    {  
        //Clear custTable to let the select work
        //on the new default company.
        custTable = null;
    

        while select custTable
        {
            //custTable is now selected in company 'ccc'.
        }  
    }

    //Default company is again 'aaa'.

}



Make table buffer to null before using it as the DataAreaID of the buffer still points out to old company – The changeCompany does not do this automatically

changeCompany ('B')
{
    inventItemGroup = null;
    inventItemGroup.ItemGroupId = 'IB';
    inventItemGroup.insert();
}

Friday, July 6, 2012

How important is blogging

1. Blogging improves your storytelling skills
Blogging is about storytelling, either in words, with pictures, videos or podcasts. Storytelling is nowadays essential part of (content) marketing. But storytelling isn’t so much about talent; it’s a skill that needs constant nurture. Practice makes you better. And blogging is a perfect opportunity to polish your storytelling skills.
2. Blogging improves your communication skills
By polishing your storytelling skills, you also improve your communication skills. Are you shy, introverted, do you have low self-esteem, maybe you don’t know how to sell yourself? Blogging will help you overcome these obstacles. Communication essentially means to convey information to others. The better your communication skills the better you can sell your ideas, skills and knowledge to others. This is one of the reasons why I started blogging in the first place.
3. Sharing is caring
I am a whole-hearted advocate of the philosophy that knowledge is to be shared. Blogging can be a great platform for sharing what you’ve learned and know with others who may be interested in what you have to say and learn from you so they can improve their lives.
4. Position yourself as a thought leader
Blogging helps you build corporate and personal credibility. This is how you can position yourself as a thought leader in the marketplace. Indeed, thought leaders are perceived experts and everyone is expert in something. When done right, blogging can give thought leaders great visibility in the search engine results. Therefore, blogging connects you with others. That’s how great blogging can be.
5. Blogging builds your personal information repository
This is another reason why I decided to blog. Every day we are bombarded with tons of information we try to consume. Every one of us has his/her own way of looking for particular information. Blogging, however, helps archive information you will sooner or later need again. I regularly browse my blog and in this way remind myself of issues, solutions, and ideas I might have already forgotten, but are still useful. Sometimes it’s fun and a bit of an ego boost (we all need it from time to time) to check how far you’ve come

Wednesday, July 4, 2012

RefRecId in AX 3.0 and 4.0

This article will give you a basic idea on how the usage of RefRecId is changed from AX 3.0 to AX 4.0

In AX 3.0 the RefRecId is generated unique per company where as in 4.0 its generated unique per table. This makes difficult to refer to RefRecId in 4.0.

You can easily refer to EDT RefRecID as they are unique per company where as in 4.0 it would not be possible. For Example 5637144576 can be there in both Address table as well as AddressCountryRegion or any table in AX...

To avoid this in 4.0 you can use a new EDT which extends EDT RefRecId and create a relation on the new EDT. 

For example, Table VendTansOpen has field RefRecId which extends new EDT VensTransOpenRefRecId which extends EDT RefRecId. Create a relation on VensTransOpenRefRecId as "VensTransOpenRefRecId= VendTansOpe.RefRecId

That is how you refer to RefRecId in 4.0.

Exploring more on RecIds in my future posts

Swapna Kallu's Blog: Microsoft dynamics Sure step Methodology

Swapna Kallu's Blog: Microsoft dynamics Sure step Methodology: Sure Step defines 6 Main Phases and 2 additional phases for optimization and upgrade. It covers the complete lifecycle from project initiat...

Microsoft dynamics Sure step Methodology

Sure Step defines 6 Main Phases and 2 additional phases for optimization and upgrade. It covers the complete lifecycle from project initiation, development, deployment, optimization and upgrade to the next version. A phase ends with a milestone. A milestone is a sum of artefacts created or refined in the phase. If the milestone is accomplished you may start the next phase. At the first look the phases look like a waterfall model, but of course Sure Step isn't waterfall. Cause waterfall don't works in reallity.
Sure Step Phases:
  • Diagnostic: The diagnostic phase contains analysis of the customer process at a very hi level. Focus of the diagnostic phase is the project initialization; To setup a project plan, agree on an approach and scope definition.
  • Analysis: In the analysis phase most of the business processes are identified and documented at a high level. If necessary an external specialist helps you to do so. Goal of the analysis phase is to understand the customers business and processes performed. Modeling and documenting the customers business is important. Microsoft Provides a new tool for the modeling: Microsoft Sure Step Business Modeler
  • Design: Main purpose of the design phase is to find a way how the customers processes and needs can be implemented with Dynamics. At this point there may be more than one solution for a topic. You need to identify the best strategy for the implementation phase. Although prototyping is not covered in sure step, this is the point where to build prototypes and do load testing on the prototype implementation.
  • Development: Most of the programming work is done in the development. Development covers the creation of new features and adaption of existing features as well as the data migration. All features and the data migration has to be tested. Beside feature and data migration testing it is necessary to do security testing. The phase ends when most of the specified features are developed and tested and the data migration is done.
  • Deployment: Goal of the deployment phase is to setup the operational dynamics environment at the customer. Beside installation, configuration and feature deployment, the phase focuses on testing at system level. So you have to run the user acceptance tests, process tests, security tests and load tests as defined in the test plan. When the system runs and all tests pass the deployment phase is finished.
  • Operation:
  • Optimization:
  • Upgrade:

More links:
http://www.albaspectrum.com/V2.0/Services/SureStep_Methodology.pdf
http://www.axaptapedia.com/Sure_Step_Methodology

Tuesday, July 3, 2012

The lifecycle of an ERP implementation begins with the understanding of the critical goals and objectives of the business enterprises in running of the businesses and focusing on the process of streamlining the business processes which are being planned to get integrated technologically.
To start with, while building the Business Case or the Business blueprint, the first focus that is needed, before the initiation of the ERP project is to analyze what the project will be trying to accomplish and at what cost, using what resource in time, money and man efforts, besides also working on the ROI (Return on Investment) details and a communication plan for all strata of the users involved in the implementation that include the Top management , operational management, all the staff members at all levels in an organization who would be the users , stakeholders, sponsors etc.An other very important initial activity involved in the ERP implementations is the designing of the information system for a business, which is an important role of an System Enterprise Architect because unless the requirements are not defined in advance and well understood, the result could be fiasco because the goal of the ERP is application of the technology to what is right for the business and not what are the technology tools that are involved in designing an ERP.
Another salient aspect to be considered in ERP project lifecycle is the prototype based training session with the users which ought to involve the actual business enterprise data in a test environment to simulate the ERP package software running the business. This implies the loading of actual operational data such as bills-of-materials, routings, business partners, customers, suppliers, etc. into a test environment for simulation with the ERP software. This approach provides the business user with an exact look and feel of the information as well as the user interfaces that is used in the business operations and system design respectively and also facilitates to trace the gaps in the business processes. The testing of business processes along with the ERP implementation can plug lot of gaps simultaneously in the development phase.
Normally, a popular approach before ERP implementation is to have a trial run of the existing business processes or pre defined business processes through the new system in a simulated environment using the actual data of the business enterprise. This process is often referred to as the Conference Room Pilot (CRP) and is normally is designed to be the final verification that the new system is set-up correctly to function in the live business environment.
The normal lifecycle of an ERP Implementation Project shall consist of the following milestones:
1. Business Process Study: Regular interactions with the client grow in order to understand the various business processes and the way they are presently carried out.
Setting the objectives of ERP implementation; setting the expectation of the client
2. Pre-Implementation Training: A pre-implementation training, detailing the concepts and features, shall be given to all the end-users at the client site. This shall improve the lead time in collecting the inputs for the preparation of specifications. I don't think this activity will take place in normal ERP implementation life cycle stages.
3. Requirement Analysis: The requirements of the client are collected, using the SRS (Software Requirements Specification) form, to further the process study.
4. GAP Analysis: In relation to Information Technology, this analysis points out the differences or gaps that exist between the standard capabilities of the desired system & the expectations of the client. The deliverable is a GAP Report.
In order to get maximum benefit out of the ERP processes must be re-engineered and then mapped with the redesigned processes
5. BMR (Business Mapping Report): This follow-up of the GAP Analysis should address the identified solution(s) for the gap areas.
5a. Master Data preparation and management: This is perhaps most ill-treated activity which ultimately leads to delays if not addressed at early stages of the project planning. A team must look after these before and after the project to ensure accuracy in master data as this may lead to erroneous results causing panics after Go Live.
6. Project Plan: This milestone shall set the actual plan for execution and roll out for the roles and task allocations.
7. Installation of Software: The Vanilla installation of the complete software should now be carried out to ascertain the infrastructure preparedness at the client site.
8. Customization of Forms & Reports: The Client's requirement as to the customization of forms (user interfaces) and reports (existing as well as new requirements) are addressed here.
The system must be tested for complete processes and each type of transactions so as to check its robustness.
9. Migration of Historical Data: Beyond the opening balance incorporation, if the client desires to bring the historical data, this step will be required to plan the conversion and clean up - prepare the data for the new environment.
10. Design of Routines & Workarounds: Though this is not a milestone, the additional routine and workaround requirements (as identified in the GAP & BMR) shall be addressed through this step.
11. Setup & Configuration: The new environment shall be setup based on the SRS and the software shall be configured (on different deployment methods) fully.
12. Testing Environment: A testing environment (a simulation of the live environment) shall be created in the new software to enable the end-users to acquaint and equip themselves for beginning in the live environment.
13. End-User Training: The next milestone shall be giving training to the end-users on the setup, configuration, transaction processing and report generation. This shall be the post-implementation training phase.
14. System Walk-Through: This milestone requires entry of sample transactions by the end-users in the testing environment.
15. Go Live: This is the Sign-Off phase where the project gets implemented.
16. Post Implementation Support: An immediate support commitment, subsequent to the implementation, and the detailed modes of support, etc., are given to the client.

Axapta interview questions - Most recent

Explain RunBase framework
Methods to be implemented in RunBase
Explain Query Framwork
How data is passed between forms
If data is to be fileterd on form when we open from menuitem, where do we write this code
Why is .Net business connector used?
How do you generate number sequence through code?
Diffenet exceptions in Axapta
How do you handle exceptions in Axapta?
Difference between Checkfailed and throw
What are Maps?
How can you post a JOurnal through code?
How credit note is created in Axapta?
How do we return Purchase items in Axapta?
How do you create Intercompany orders in Axapta?
How payments are done in AXapta?
How settlement is done
How items are transfered in Axapta
Best practises
How do you add additional charges to transactions
Different financial dimenions
Different inventory dimensions
How do you make these dimensions mandatory both financial and inventory
How do you do Bank reconciliation
How do you run MRP
How do you change a planned order to purchase order
WHat are static and instance methods
How do you choos to make a method to be static//instance
WHat is code profiler
How to import csv data in to AX