1 Mart 2011 Salı

SSRS – Rol Center Integration / Grafik eskenlenlerindeki hatalı değerler

Yaşadığım bir problemi sizlerle paylaşmak istiyorum. Eğer yapınızda Microsoft SQL Server 2008 Reporting Services kullanıyorsanız Microsoft Dynamics AX 2009 Role Center üzerindeki bazı grafiklerde, Y ekseninda hatalı veriler görebilrsiniz. Örneğin 0-1000 aralığında olması gereken bir skala için  0-0-0-1-1-1 değerlerinin gözükmesi gibi.
“Report Library Report
Cust                 CashIflowvsCashOutflow
  CashReceiptJournalTotalsTrxCount
  ExpectedCashNextDays
  PostedCustomerInvoiceTotalsandTrxCnt
  
Ledger ActualvsBudget
  GrossProfitinthePastXPeriods
  SalesInPastXMonths
  TotalAccountPayablePastXPeriods
  TotalAccountsReceivablePastXPriods
  TotalExpensesByPeriod
  
Vend PurchasesPastXPeriods
  VendorInvoiceJournalTotalTrxCount
  VendorPaymentJournalTotalTrxCount”
Dah önceki yazılarımda da belirttiğim üzere eğer Eğer Microsoft SQL Server 2005 Reporting Services kullanıyorsanız bu sorun yaşanmamaktadır yada SQL 2008 R2. Fakat SQL 2008 bir çok noktada entegrasyon sıkıntısı yaşatmıştı bizlere. Bu da onlardan biri olmakla beraber çözmek için bir hayli zaman kaybına sebep oldu.
Aslında problemin kaynağı Raporun tasarımdaki bir parametreden kaynaklanmakta. Çözüm için Raporu Visual Studio birlikte açıp, XYChart seçeneklerinden hatalı olan grafiği seçip özellikler alanında
Data Scale Max Value: değerini 1E-06 ‘dan 0 değerine çekmemiz gerekmekte. (bu aynı zamanda otomatik anlamınada gelmektedir.)
Bu işlemden sonra Raporu Tekrar AOD için kaydetmeliyiz.
Aynı şekilde güncellenen raporu Microsoft Dynamics AX 2009 Report Deployment aracını kullanarak Reporting Servicess için de Deploy etmemiz gerekmekte.
Sağlıcakla kalın.

4 Şubat 2011 Cuma

Workflow validation error: The request failed with HTTP stauts 405: Method Not Allowed.

Bu hata ile ilgili olarak kontrol edilmesi gereken iki nokta bulunmaktadır.
 
·         İlk olarak IIS sunucunuz üstünde Dynamics Ax Workflow tarafından kullanılan Application Pool’a giderek Advanced Setting kısmında Allow 32 Bit : “True” olduğunu kontrol edin. Default olarak bu alan “False” gelmektedir.

·         Eğer bu çözüm vermezse ikinci düzeltmeyi yapmanız gerekmekte ki bu birkaç adım daha fazla. Genellikle Win. 2008 R2 ve SQL 2008 yapısında karşılaşılan bir durum. Sorunun kaynağı 64 bit işletim sistemi üzerinde Framework 4.0’ın IIS tarafından desteklenmesi. Hal böyle olunca “Ax workflow” 32 bit Framework handler ’ı Default olarak göremiyor.
Bu durumu düzeltmek için basitçe yapılması gereken; IIS sunucuya giderek yeni bir” virtual directory” oluşturmak ve “workflow” klasörüne yönlendirmektir. Doğru güvenlik ayarlarını yapmayı da unutmayalım!
Sırasıyla;
1.       IIS’ten ilgili Application’u silelim.
 
2.       Aynı Web Site içinde Sildiğimiz Application ile aynı adı taşıyan bir Virtual Directory oluşturalım
3.      Physical path alanınaC:\Program Files\Microsoft Dynamics AX\50\Workflow”yolunu girelim. (benim yapımda ve genel olarak kullanılan dizin yapısı budur, harici durumlar olabilir)

 

4.       Sonrasında bu Virtual Directory üzerinde sağ buton yaparak “Convert to Application” seçeneği ile Application’a dönüştürelim.
     
      5. Bu Application için ”Authentication” alanına giderek “ASP.NET Impersonation” ve “Windows   Authentication” seçeneklerinin açık diğerlerinin ise kapalı olduğundan emin olalım.
Bundan sonra yapılması gereken son bir işlemimiz daha kaldı.


6. Application için “Handler Mapping” ‘ alanını açalım. “WebServiceHandlerFactory-ISAPI-2.0 öğesini seçip Edit’I tıklayalım”. “Executable” path için .NET framework version 2.0 32-bit seçili olsun. Aynı zamanda unutmayalım ki bu işletim sistemi sürümünde Framework 32 ve 64 bit seçeneği için destek vardır. Doğru Handler için doğru klasörü seçmek durumundayız. “C:\Windows\Microsoft.NET” bizim durumuzda aspnet_isapi.dll” dosyasını “Framework” klasöründen seçmemiz gerekmekte.





İrfan KOÇYİĞİT


ETG
Microsoft Gold Partner / Dynamics AX 

11 Ocak 2011 Salı

Windows Azure - Cloud Computing

Merhabalar,

Bu makalemde sizlere Windows Azure platformundan bahs etmek istiyorum.

Windows Azure platformuna girmeden önce bu yapı ile birlikte gelen "Cloud Computing" kavramını anlamamız gerekmekte. Bu kavramın türkçe anlamı; uygulamalarınıza ve dosyalarınıza dünyanın her hangi bir yerinden ve kullandığınız farklı bilgisayarlar üzerinden erişebilecek olmanızın yanı sıra bunun için bir uygulama kurulumu ya da başka bir gereksinime ihtiyacınızın olmadığıdır.

Windows Azure, cloud computing hizmetine alt yapı oluşturan ve bu hizmete yeni anlamlar ve olaylar yükleyen bir platformdur. Daha gelişmiş olarak açıklamak gerekirse Windows Azure basit manada iştetim sistemi yapısına benzer bir yapıda olup bu sistem üzerinden cloud computing kavramının kapsadığı işlevsellikleri gerçekleştirmemizi sağlar. Kapsadığı işlevsellikler içerisinde ise yazılım, platform uygulamaları, güvenlik uygulamaları ve dosya erişimi öne çıkmaktadır.

Windows Azure ile gelen yenilikler içerisinde en çok göze çarpan ise her bir bileşen için bir servis yapısı düşünülmüş olmasıdır. Bu servisler;
Software as a Service :
Uygulamaların servis olarak internet tarafında çalıştırılmasına imkan sağlar.
Platform as a Service :
Platformların servis olarak internet tarafında çalıştırılabilmesine imkan sağlar.
Infrastructure as a Service :
Altyapının servis olarak internet ortamında çalıştırılabilmesine imkan sağlar.
Security as a Service :
Güvenlik çözümlerinin internet ortamında servis olarak çalıştırılabilmesine imkan sağlar.

Storage as a Service :
Verilerin internet ortamında depolanmasına imkan sağlar.

Şeklindedir.
Görüldüğü üzere Windows Azure’nin çok gelişmiş bir servis alt yapısına sahiptir. Hal böyle olunca geliştiricilere Net Framework, Sharepoint, SQL Server ve Windows Live servislerini Microsoft sunucu bulutu üzerinde barındırma imkânı sağlaması ayrıca Microsoft’un birçok ürününün Azure üzerinde çevrimiçi servis olarak sunulabilmesi Windows Azure’nin bizim için bir Bulut işletim sistemi olarak adlandırılmasını sağlamaktadır.
Yazılım geliştiricileri için ise;
Microsoft, Visual Studio, ASP.Net ve .Net Framework arasında bir hizalama yapıyor. Bunun anlamı ise, "cloud" uygulamaları yaratmak için geliştiricilerin bildikleri geliştirici araçlarını kullanabileceklerdir. Azure, ayrıca üçüncü parti araçları ve Eclipse, Ruby, PHP ve Python gibi dilleri de destekliyor. Microsoft bu yapı için Visual Studio şablon seti olan Azure SDK'lerini ise hali hazırda sunmaktadır.

Unutmadan söyleyelimki ;
Azure, Microsoft'un Red Dog (Kırmızı Köpek) kod adlı cloud (bulut) işletim sistemi olarak yola çıkmış ve hosting merkezlerinden yürütülecek Azure Hizmetler Platformu'nun dayanak noktası olarak tasarlanmıştır.


İrfan KOÇYİĞİT



ETG
Microsoft Gold Partner / Dynamics AX 

16 Aralık 2010 Perşembe

BI araçları: Excel ve SharePoint 2010 için Power Pivot

Veri analizi, günümüz iş zekâsı çözümlerinin en temel bileşenidir. Veri analizi ile uğraşmanın istenmeyen kısmı ise çok büyük miktardaki veriyi işlerken geçen sürenin çok uzun olması. İyi sayılacak donanım ve yazılım gücüne sahip serverlar da bile bu süre tahammül edilemeyecek kadar uzun olabilmektedir.

İste bu noktada karsımıza karar destek mekanizmalarını besleyen ve veri kaynaklarına ulaşmanın kestirme çözümleri karşımıza çıkmaktadır. PowerPivot bu bağlamda Excel 2010 sürümüne ilişkin bir eklenti olarak kullanılabilir. Kendi küçük fakat yaptığı iş büyük olarak nitelendirilebilecek bu bileşen basit yapısı ile karar alanlara kendi başlarına işlenmiş veriyi analiz etme imkânı sunmaktadır. İşlenmiş veri ile kast edilen ise OLTP veritabanlarından veri ambarı şeklinde derlenmiş bir yapının var olmasıdır.

Olap küplerinin kullanıldığı ve veri akışının süreklilik gösterdiği analiz ortamlarında örnek olarak 50 GB bir veriyi işlemeye kalktığınızda ilk karşınıza çıkacak olan sorun verinin process edilmesi ve aktarılması esnasında geçen süredir. Kaldı ki bu process’in tekrarlanma sıklığı da veri tabanı yöneticileri için ciddi bir zamanlama kritiğidir.
Powrpivot bileşenine geri dönersek; bu bileşenin bize sağladığı en önemli özellik ise veriyi çekme esnasında ortalama yüzde 10 gibi bir oranda sıkıştırarak 5 GB seviyelerine çekmesi ve kayıt yeri olarak ise disk yerine belleği kullanmasıdır. Hal böyle olunca disk yazma süresi ortadan kalkmakta ve veri aktarımında geçen süre çok aza inmektedir. Birde excel'in kullanım kolaylığını düşünürsek bu aracın gerçekten büyük iş yaptığını göreceğiz. Unutmadan söylemek gerekir ki bu bileşen SharePoint’lede entegre olabilmektedir. Bu sayede Enterprise Portal uygulamalarında çok ciddi kullanım kolaylığı sağlamaktadır.


PowerPivot Excel alt yapı olarak şu bileşenlere ihtiyaç duymaktadır.

Veri tabanı
Microsoft Office 2010 Excel
Excel PowerPivot Add On

Bu üç bileşene sahip olduktan sonra aşağıdaki linkten PowerPivot bileşenini inceleyebilir ve 32 ve 64 bit seçeneklerinden uygun olanı indirip kullanabilirsiniz.


http://www.powerpivot.com/index.aspx




İrfan KOÇYİĞİT



ETG
Microsoft Gold Partner / Dynamics AX 

21 Kasım 2010 Pazar

Error: SysWorkflowEventService

Çoklu AOS Örneğini Tek Bir WEB Sunucu Üstünde Yapılandırma

Birden çok AOS instance’ının bulunduğu ortamlarda her zaman AOS başına bir IIS sunucu bulunmayabilir. Bu noktada karşılaşacağınız ilk sorun Business Connector konfigürasyonunun eş zamanlı olarak sadece bir Application Pool’a bakıyor olması olacaktır.
Hata mesajlarında ise şu gözünüze çarpar;


Dynamics Adapter CallStaticClassMethod failed.
SysWorkflowEventService-onAcknowledgeWorkItem Invalid message sequence - missing Activation message.
Microsoft.Dynamics.BusinessConnectorNet.XppException
at Microsoft.Dynamics.BusinessConnectorNet.Axapta.CallStaticClassMethod(String className, String methodName, Object[] paramList)
at Microsoft.Dynamics.Framework.BusinessConnector.Session.DynamicsAdapter.CallStaticClassMethod(String className, String methodName, Object param1, Object param2)
Bu durum oluştuktan sonra workflow instance’larının ikisinin birden stop olduğunu görürsünüz.
 Temel –> Sorgulamalar –> İş Akışı Geçmişi
Sıradaki workflow objelerinin hepsi için statu durumu bekliyor olarak değişecektir.
 Aynı zamanda alacağınız bir diğer hata ise;
SysWorkflowEventService-onAcknowledgeWorkItem Invalid message sequence şeklindedir.

Budurumda

Kontrol etmemiz gereken iki nokta vardır.


1. Business Connector doğru yapılandırıldımı?
2. Workflow konfigürasyonunda kullanıcı arabirimi dili doğru ayarlandımı?

Standart olarak Dynamics Ax Workflow aktif olan business connector konfigürasyonunu kullanarak AOS’a bağlanır. Bu durumda ikinci bağlantı konfigürasyonu için web.config dosyasını düzenlemeniz gerekir. Bunu yapabilmek için aşağıdaki linkte bulabileceğiniz hotfix yüklenmeli ve ilgili yapılandırılma KB article üzerindeki gibi sırası ile işlenmelidir.

3 Kasım 2010 Çarşamba

Windows Server 2008 ve SQL 2008 ortamında RS Hatası

Dynamics Ax 2009 için Reporlama bileşenlerini kurmaya kalktığımızda eğer ortamınız Windows Server 2008 ve SQL 2008 ise kurulum esnasınıda "SQL Server 2005 SP2 or higher is required" hatası gelmektedir. Bu hatayı geçmek için;

Ax2009 Kurulum dosyaları kurulum DVD'sinden localde bir  klasöre kopyalanmalı ve aşağıda belirtilen dosyalar değiştirilmelidir.

Ax2009 SP1 Setup -> Support -> AXSetupResources -> Microsoft.Dynamics.Setup. ReportingServices.dll dosyası

AX2009 Setup -> Msi -> Components32 -> Program Files -> Microsoft Dynamics AX -> 50-> Setup
ve
AX2009 Setup -> Msi -> Components64 -> Program Files -> Microsoft Dynamics AX -> 50-> Setup

Bu işlem yapıldıktan sonra kuruluma ilgili kurulum klasöründen devam edilmeli.


İrfan KOÇYİĞİT


ETG
Microsoft Gold Partner / Dynamics AX 

28 Ekim 2010 Perşembe

Managing Record-Level Security Dynamics Ax 2009

Managing Record-Level Security Dynamics Ax 2009

Record-level security builds on the restrictions enforced by user group
permissions. With user group permissions, you restrict which menus, forms, and
reports members of a group can access. Record-level security enables you to
restrict the information shown in reports and on forms.
Record-level security is commonly used in the following situations.
You can:

  Allow members of a Sales user group to see only the accounts they
manage.
  Prohibit financial data from appearing on forms or reports for a
specific user group.
  Prohibit account details or account IDs from appearing on forms and
reports for a specific user group.
  Restrict form and report data according to location or country/region.



Before You Begin

The process of setting record-level security involves selecting a database table in
the Record Level Security wizard. Tables store the data shown in reports and on
forms. You might find it helpful to work with a developer who has knowledge of
the database tables while configuring record-level security. The developer can
help you choose the table that directly corresponds to the report or form elements
to which you want to restrict access.
Also, verify the following before beginning:

  Does the user group that will be assigned record-level security
already exist or do you need to create a new user group?

  Does the user group have, at the very least, View permission for the
report or form? If, for example, a Finance user group does not have
any access permission for the General Ledger module, then it does
not make sense to assign record-level security to any report or form
in that module because the group cannot access those reports/forms
in the first place.

To Set Record-Level Security
Setting record-level security is a two-part process. The first part involves
selecting a user group and the appropriate database table using the Record Level
Security wizard. The second part involves creating a query that specifies the
fields and criteria to be applied when record-level security is enforced.

Record Level Security Wizard

This procedure shows you how to use the Record Level Security Wizard:

1. Click ADMINISTRATION SETUP SECURITY RECORD LEVEL
SECURITY.
2. Press CTRL + N to open the Record Level Security (RLS) wizard.
3. Select a user group and click Next.
4. Select a table. By default, the most frequently accessed database
tables are shown. Click Show all tables to expand the selection.
Click Next.
5. Click Finish.


Procedure Set up a Query
This procedure shows you how to set up a query:

1. In the Record level security dialog box, select the user group and
click Query. The Inquiry dialog box appears. The Range tab shows
some of the common fields for the specified table. Your objective on
this tab is to specify the exact fields to be shown to the selected user
group on the report or form.

2. Select the first item listed on the Range tab. If no item is listed, press
CTRL + N.

3. Use the Field drop-down menu to select the field you want to show
on the form or report.

4. Use the Criteria drop-down menu to select the criteria for the
designated field. If no drop-down menu appears, enter the designated
criteria.

5. As necessary, press CTRL + N to add additional fields and criteria.

6. Click OK.

7. Inform members of the selected user group that they must close their
current client sessions and start a new session. If necessary, end
active sessions from the Online users form.

8. Verify that record-level security is enforced on the desired report or
form by logging on to Microsoft Dynamics AX as a member of the
specified user group. You should see only the information specified
in the query for the designated criteria. If you see additional
information, verify your query.

İrfan KOÇYİĞİT


ETG
Microsoft Gold Partner / Dynamics AX