original post: https://community.dynamics.com/product/ax/axtechnical/b/klaasdeforche/archive/2010/08/29/cannot-edit-a-record-in-translation-table-40-del-pbatranslateconsistof-41-access-denied.aspx

When deleting a company account in Dynamics AX 2009, you can get the following errors:

User ‘Admin’ is not authorized to delete a record in table ‘DEL_PBATRANSLATECONSISTOF). Request den[ied].
Cannot edit a record in Translation table (DEL_PBATranslateConsistOf). Access Denied: You do not have sufficient authorization to modify data in database.

This week was the n-th time someone has come to me with this problem, so it’s time to blog about it :-).

The error you receive is odd, because user in question has enough rights to edit any table (administrator).
This error occurs when you don’t have the Product Builder (PBA) license key enabled.

There are two possible solutions to this problem:

  • Either activate the license key for Product Builder under Administration – Setup – System – License information (if you have the PBA license key), and after synchronizing the Data Dictionary, you should be able to delete the company account
  • Or if you don’t have the PBA license key, go to the AOT – Data Dictionary – Tables – DEL_PBATranslateConsistOf, and clear the security key property.

Virtual company setup

Posted: September 2, 2010 in AX

Here is the concept of virtual company in AX

 

A AX database can contain information for one or more companies. Multiple companies can share the database while using the same application logic. Each company has a set of data that is only for that company and cannont be accessed by another company. Conversely, some tables might contain data that can be shared by multiple companies.

The company desing in AX includes

          Companies – based on one or more virtual companies. When adding data to a table that is not in a virtual compay, the data is stored directly in the company.

          Virtual Companies – Contains data from multiple companies that is shared by all the companies. The virtual company uses a list of one or more table colections to define which tables it contains. The end user can’t access tables directly through a virtual company. They can only access the tables through a company. The virtual company is transparent to end users.

          Table collections – Specifies a list of table names. Table collections define a set of tables that have no foreign key relationships with tables outside the table colloection. Each table in the system occurs only once in any one table collection, but tables can be added to more than one table collection. There is no table data stored in a table collection – only companies and virtual companies store data

 

In SANDBOX instance, you will see “PURC” virtual company which contains “CHL” and “FTS” as its company accounts and only “VENDOR TABLES” table collection has selected.

This means Vendor and Vendor group tables that belong to “vendor tables” table collection are shared  among “CHL” and “FTS”

 

You can use DataArea for list of companies and  VirtualDataAreaList for company-virtual company mapping information.

 

Figure 1) virtual company setup

    <photo1> <photo2> <photo3>

 

Figure 2) Table collection.  AOT > Data Dictionary > Table Collections

    <photo4>

  • Integrations
    • Integrated with our affiliates Hutart Global, LLC
      • Automatic P.O creation
      • Automatic Inbound shipment creation
      • Developed Invent on hand inquiry including Hutart inventory
    • Integrated with MAS200 sql database for Historical data – only opened records were migrated when AX started so customer wants to see their historical data in legacy system.
    • Install and setup Visual source safe to be able to control source code and label versions.
  • Integration with external softwares
    • Bartender – generate and print out UCC128 shipping label, carton content label, price ticket)
    • FaxPress – fax out sales confirmation, invoice and costomer statement report and any kinds of reports that need to be faxed.
    • StarShip – parcel software, packing, shipping and tracking items. also auto calculate weight and freight amount.
  • Mobile Development
    • Developed WMS(warehouse management system) on the scanning device – receiving carton, bulk putaway, pallet putaway, carton pulling, carton putaway, flushing, inventory control, carton palletizing, bulk to bulk move
    • Developed WinCE version of WMS for Hutart Global LLC,. – 1.Receipt entry, 2.Putaway, 3.Pullout, 4.Shipment entry, 5.Pick order
    • Developed Inventory counting Module for year end process.
  • Web Development
    • Intranet for executives – Provide daily & montly summaries of Sales Orders, Invoices, Packing and Shipping informations
    • Intranet for Customer service and Sales – give them a access of detailed information of customers in their territory.
    • Extranet for vendors – vendors can check their P.Os here and get our new item information such as style/color/syze and barcode
    • Install and setup Sharepoint services and Enterprise portal
    • B2B WebSite – Customers can entering their orders here and also check their order status, invoices and shipping as well as product availability
  • AX Customization
    • Tuned Fulfillment order generation and fulfillment order simulation – processes are getting slow and slow as the data size grows. so narrowing down most time consuming part by using code profiler and tune it so make the process at least 4 times faster.
    • Developed customer specific shipping & packing reports.
    • Developed Inventory movement module – Returns putaway, out to Active, Active to Active putaway
    • Developed managing voided Inbound shipments.
    • Developed Inbound shipment automation – Mass Import of inbound shipment data from Excel file.
    • Developed Reports for drop ship customers – sales confirmation, invoice, statement, carton contents, packing slip reports
    • Developed Move Pallet module – Our AX didn’t support moving products by Pallet.
    • Developed Sending alert & email right after MRP has finished.
    • Developed lots of Inquiries – Carton inquiry, Carton move derectives, PO Intransit, InventOnHand quarantine, outbound carton, wave items, F.O Items, Quarantine orders, Inbound cartons, Cancellation log, FaxPress fax log, Wrong CC assigned orders, ATS inquiry
    • Developed Customer CO-OP – set the reward point on each products. customers earn points as they purchase products and redeem it by purchasing marketing materials.
    • Developed direct pick replenishment
  • AX Administration
    • Manage users and group permissions, record level security
    • Syncronize and reindex SQL tables
    • Data export and import
    • Manage batch groups and batch processes
    • AX Code compile
    • Experience in AX Code profiler
    • Extremely experience in AX Debugger
  • Miscellaneous
    • Install and setup Microsoft FRx
    • Extensive experience in MS SQL SERVER, T-SQL, Stored procedure and sql profiler
    • Experience in Oracle DB, T-SQL, PL/SQL and Pro*C
    • C, C#. NET, ASP.Net, Visual Studio development environment as well as Visual source safe
    • Konwledge of fundemental of network – socket, tcp/ip, www
This is achieved by using the ODBC protocal through the OdbcConnection class.
We had a MAS200 System before we migrate to AX and lots a transactional data still exists in the old database. in this case, we simply create a DSN and use it on AX X++ code.
A DSN acts as a thin client ot the DB and includes all the authentication information such as username and password.
 
1. Create a DSN

To create a Data Source Name (DSN) go to Administrative Tools > Data Sources (ODBC).

Create the DSN on the tier where the X++ code will call the DSN from. This will be either on the client computer or on the AOS computer.

2. X++ code
static void TestOdbcJob()
{
    LoginProperty login;
    OdbcConnection con;
    Statement stmt;
    ResultSet rs;
    str strQuery, criteria;
    SqlStatementExecutePermission perm;
    ;
 
    // Set the information on the ODBC.
    login = new LoginProperty();
    login.setDSN("dsnName");
    login.setDatabase("databaseName");
 
    //Create a connection to external database.
    con = new OdbcConnection(login);
 
    if (con)
    {
        strQuery = strfmt("SELECT * from tableName WHERE XXX = ‘%1’ ORDER BY  FIELD1, FIELD2", criteria);
 
        //Assert permission for executing the sql string.
        perm = new SqlStatementExecutePermission(strQuery);
        perm.assert();
 
        //Prepare the sql statement.
        stmt = con.createStatement();
        rs = stmt.executeQuery(strQuery);
       
        //Cause the sql statement to run,
        //then loop through each row in the result.
        while (rs.next())
        {
            //It is not possible to get field 2 and then 1.
            //Always get fields in numerical order, such as 1 then 2 the 3 etc.
            print rs.getString(1);
            print rs.getString(2);
        }
 
        //Close the connection.
        rs.close();
        stmt.close();
    }
    else
    {
        error("Failed to log on to the database through ODBC");
    }
}

Bulk putaway procedure

Posted: March 18, 2010 in AX

Bulk putaway procedure

Mizuno grip size

Posted: January 18, 2010 in GOLF LIFE
Mizuno .580 Black Round Grip

A soft feel and easy installation from Mizuno.

Independent surveys show that, on average, regripping clubs improves scores three to four strokes per round. Other studies reveal that golfers play 18 holes per week should regrip their clubs once a year.

Color Core Size Core Design Weight (Gr.)* CASE (Qty.)
Black .580" Round 57 150

    System.Exception sysException;
    ;

    try
    {
        ….

    }
    catch(Exception::Error)
    {
        sysException = CLRInterop::getLastException();
        info(sysException.get_Message());
    }

Receiving Inbound Shipment

Posted: November 17, 2009 in AX
Warehouse Management System
  – Receiving Inbound Shipment
 
Let’s say there is a ‘Process A’ which normally takes more than 5 hours and runs everyday by using batch job.
 
 
———
will be filled in shortly.

To set up Visual Studio for Enterprise Portal development

  1. You must be using Visual Studio 2008 Standard Edition, Visual Studio 2008 Professional Edition, or Visual Studio 2008 Team System.

  2. When selecting the components to install, be sure to include the following:

    • Visual C#

    • Visual Web Developer

  3. Run the Microsoft Dynamics AX Setup and choose to install the Enterprise Portal Tools. These tools include the following components:

    • Visual Studio add-in

    • Project templates

    • Toolbox components

    Note

    When Enterprise Portal Tools are installed for Visual Studio, the Visual Studio environment is automatically reconfigured to make the tools available. This process may take several moments to finish.