D365 BC vs. SAP S/4 Hana

Business Central, das zur Dynamics 365 (D365) Produktfamilie von Microsoft gehört, ist in vielerlei Hinsicht besser als SAP ERP Lösungen.

  • Einführung mit deutlich kleinerem Budget machbar
  • BC ist für Unternehmen beliebiger Größe geeignet
  • Viele Freelancer und Partner stehen zur Verfügung
  • Deutlich günstiger bei Beraterkosten und Kosten für Anpassungen
  • Software ist erheblich flexibler, ist anpassbar, einrichtbar für das jeweilige Unternehmen
  • Einige SAP Lösungen haben teils niedrigere Lizenzkosten, nur in der Basisversion! Ändert sich schnell mit ein paar zusätzlichen Features
  • BC ist durch Dritthersteller Extensions (Addons) beliebig erweiterbar, viele sind kostenlos
  • Für BC gibt es eine umfangreiche Dokumentation auf “Microsoft Learn”.
  • Aber BC ist weniger bekannt… im DACH Raum

Das Leben eines Freelancers…

Die Rolle und das Image

Als Freelancer, als selbstständiger Unternehmer ist man im Rahmen von Projekten kein Mitarbeiter des Kunden, auch wenn manche Endkunden – vorallem größere Unternehmen – das gerne glauben wollen. Der Freelancer ist Partner des Unternehmens, ein Lieferant. Als Freelancer habe ich keine Vorgesetzten beim Kunden sondern Ansprechpartner. Das und noch mehr muss man manchmal deutlich klarstellen.

Die Tätigkeit

Man geht rein, macht seinen Job, sucht sich selbstständig alles Benötigte, organisiert was gebraucht wird, holt sich die Leute die nötig sind, übernimmt soweit nötig und möglich die Themenführung, macht das Ding fertig, geht wieder. Als Partner nehme ich die Situation beim Kunden wie sie halt ist, bin nicht abhängig vom Arbeitsumfeld. Das “Wohlfühlen” spielt keine Rolle. Oftmalig kommt man zu einem späten Zeitpunkt in ein Projekt, dann wenn der Hut brennt, alles chaotisch und hektisch ist. Die Ansprechpersonen sind oft gereizt und aggressiv. Das muss man als Freelancer handeln können.

Zusammenarbeit und wies funktionieren kann

Wichtig sind Vertrauen, Rückhalt, Unterstützung, Erreichbarkeit, speziell von den zuständigen Führungskräften. Aber sogar wenns da hapert kann man sich als erfahener Freelancer wie ich “durchlavieren”. Wenn etwas nicht funktioniert, kommuniziere/eskaliere ich das, finde eine oft kreative Lösung, mal organisatorisch, mal technisch. Geht nicht, gibts nicht. Bei manchen Kunden wars teils sehr herausfordernd, chaotisch, schwere Erreichbarkeit, Gegenwind durch firmenpolitische Gruppen und dgl., das zB. bei einem Software Evaluierungsprozess für einen Millionen teure neue Software. Hat am Ende trotzdem geklpappt. Man erlebt als Freelancer so einiges, manchmal deutlich Schlimmeres als Angestellte das gewohnt sind. Das härtet ab. Praktisch jedes Projekt das ich übernehme, startet chaotisch, hektisch, wenn Not am Mann ist.

Der Einsatz

Meist übernehme ich “Feuerwehreinsätze”, selten bekommt man als Freelancer einfache Situationen präsentiert, viele Freelancer kennen das nicht anders. Ich sehe mir das an, arbeite mich ein, such mir alles zusammen, organisiere mich im Projekt selbst. Als Freelancer habe ich auch keinen Vorgesetzten, sondern Ansprechpartner, stimme mich regelmässig ab über Status, Herausforderungen, Ziele, präsentiere Lösungen und Ergebnisse, mache Schulungen, setze technische Themen um, organisiere Meetings, hole mir die Leute dazu die für Thema x relevant sind, usw, was gerade anfällt. Da gibt es keinen normalen Arbeitsalltag, kaum Routinen, aber von mir eingerichtete Strukturen, Prozesse, flexible Pläne. Als Freelancer muss man breit aufgestellt und sehr flexibel sein, auch wenn der Kunde das nicht ist. Recruiter sind das ohnehin nicht.

Fazit

Trotz aller Herausforderungen, dem Streß, den Rückschlägen und der meist ätzend nervtötenden, frustrierenden Akquise ist die Selbstständigkeit, das Unternehmertum eine interessante Berufswahl mit gewissen Freiheiten.

D365 Customer Engagement and the MS product renaming

I’ve often read about “Customer Experience”, a relatively new Dynamics 365 product from Microsoft. At first I couldn’t even figure out what it was. As it is often the case, there is a lot of nonsense being spread, especially by people in the acquisition sector who have no idea about and confuse CRM and ERP.

Microsoft is known for renaming products. What do marketing and product management think or want to achieve? Who knows it. It has been confusing customers since many years, also anyone who deals with MS products. At some point they will rename Windows or Word or Excel.

Microsoft CRM, i.e. Customer Relationship Management from MS: It was known by that name for a long time. You knew what that was. What happened to it? First it was renamed to Dynamics CRM, because the MS products are SO dynamically … whatever that means. But that was kind of ok. Then… to Dynamics 365? Yes and no. The term is used for everything, including ERP products. Actually it is the name for the “product family” as MS calls it. CRM became D365 Sales, D365 Marketing, D365 Customer Service (CS), all CRM systems with different feature weightings.

Now there is also the so-called “Customer Engagement” or CE for short. What is that? A mixture of D365 Sales, D365 Marketing, D365 Customer Service, AI stuff, etc. So a mishmash that can do everything, more or less. The jack-of-all-trades, just think of Sharepoint. That’s something like that too. Somehow anything can happen and nothing will happen. But again, that’s what you need. Why all this? To compete with Salesforce. Does it work? Who knows.

Addition: The ERP products are D365 Business Central (formerly Navision or Dynamics Nav), D365 Finance & Operations (formerly Axapta, Dynamics AX). The latter is available in 2 versions: D365 Finance and D365 SCM … and 2 other versions. Why multiple ERP products? No idea. There are also more, there is Great Planes (GP) too. But that has already been abandoned. Well, SAP also has several ERP systems running. So whatever.

If you would like to find out more about it, just get in touch.

#d365ce, #d365cs, #d365bc, #d365fo, #d365scm, #d365, #dynamics365, #businesscentral, #navision, #crm, #microsoft, #customerengagement, #kalchmair, #erp

Freelance Consultant

Hi,

since a couple of years i work as freelance consultant, in the bc/nav area as well as business analyst and project manager.

If you are looking for support, want to implement bc, have issues with your bc or nav system or you are not satisfied with your current partner, feel free to contact me.

I provide consulting for Business Central and Navision. That contains business analysis, project management, license management, data migration, trainings, coding, reports.

Other services are business analysis and project management for every kind of software project as well as software evaluation.

As you may know i was an active member of the nav/bc community for many years, helped thousands to solve there issues. I do also have many years of project experience in various branches.

My company homepage: dfk-consult.at

So, you are welcome to contact me via

freelancermap, my homepage, mail

Dipl.Ing. Franz Kalchmair

ERP consultant, Business Analyst, Project Manager
Problem solver, Former MVP

Austria

Howto add item images to the Sales quote report

Not often, but it can be, that a client wants product pics in the lines of a report, e.g. the sales quote is a candidate for that. So the client can present his products in a more convincing way. 😉

I researched for a solution in Business Central, but did not find any solution, especially when using a word report. But i found my own way, as always.

For that follow these steps:

1) Copy the standard sales quote report, also the layout to a new custom report, set new object id (e.g. 50100) and name (e.g. “Custom Sales Quote”), so that you can make the needed changes. save, compile, publish the extension. for that steps follow my last post.

2) add variable TenantMedia: record “Tenant Media” to the global report variables

3) add new dataitem(Item;Item) after the last column of dataitem “Line” (Sales Line)

4) add the typical properties to connect the dataitems Line and Item via field “No.”

5) add column(Picture;TenantMedia.Content) to the new dataitem for viewing the item picture in the line

6) in trigger OnAfterGetrecord of dataitem “Line” add new local variable “Item: record item”.
at the end of the trigger’s code add:
item.get(“no.”)
if item.picture.count > 0 then begin
TenantMedia.get(Item.picture.item(1));
TenantMedia.CalcFields(Content);
end;

remark: to load the picture data within the OnAfterGetrecord trigger in new dataitem “Item” won’t work, the data is loaded to late to be shown in the line.

7) edit the word layout in vs-code using ms word, activate the developer tools menu in word, activate the xml structure to view the fields structure

8) add new column in the lines matrix. set the column heading to “Picture”, set the cursor into the new data cell in the new column, add new field Header/Line/Item/Picture as Picture (type) into the new data cell. save the word report, close word, compile and publish the extension. replace the sales quote no. in “report selection” to the new report.

Result:

Great, isn’t it?

Change standard reports in BC?

First of all, you cannot make changes in standart reports. You cannot change the dataitem, the code behind. But it’s possible to change the layout by creating a custom layout with BC using MS Word or the RDLC Report Designer. There you can use the available fields from the standard report. It’s not possible to add new fields.

To add new fields, additional code, following has to be done: Copy the existing Standard report, create a new report extension and add the dataitem and the code to the extension by using the “AL Object Designer” in Visual Studio Code.

(AL Object Designer)

For version 15 or newer:

  • Start with a new extension in BC
  • Install or use installed “AL Object Designer”
  • Download symbols from a sandbox
  • Open the “AL Object Designer”: type “AL Object Designer” in the search box.
  • Search for the report, click on the report name. A new tab will be opened, the code incl. dataitem of the report is then shown.
  • Copy the code to the new .al file, change ID and name. Make then the needed changes, add fields and code, what ever, save.
  • Upload and publish the extension to the sandbox.
  • Goto “Report layouts/Custom layouts”, download the original layout and upload it to the new report, press update layout.
  • Download the report layout from the new report, change the layout according to your needs, add e.g. the new fields.
  • Upload the changed report layout, select the new report in report selections and use it, where needed.  

For older Releases do the following: Install a local version of BC on your laptop or use a docker container for that. Export the report object using finsql as .txt file. Then convert it to AL code using the Txt2Al conversion tool.

Convert String to Char array in AL code

Was needed in a forum question.

 procedure ConvertStringToCharArray(var arr: array[10] of char; srcStr: Text)
 var
   i: Integer;
 begin
   for i := 1 to strlen(srcStr) do
     arr[i] := srcStr[i];
 end;
or simply convert a String Element into a char value. 😉
srcStr: Text;
chVal: char

// get 1. element of the string and convert it to a char
chVal := srcStr[1]; .

 

HexToInt in AL code

That was needed in a forum question.

begin
  hexStr := 'A2F'; // int value = 2607
  intVal := HexToInt(hexStr);
  Message(hexStr + ' = ' + format(intVal));
end;

procedure HexToInt(hexStr: Text): Integer
var
  len, base, decVal, i, j : Integer;
begin
  base := 1;
  decVal := 0;
  len := strlen(hexStr);

  for i := 0 to len - 1 do begin
    j := len - i;
    if (hexStr[j] >= '0') and (hexStr[j] <= '9') then begin
      decVal += (hexStr[j] - 48) * base;
      base := base * 16;
    end else if (hexStr[j] >= 'A') and (hexStr[j] <= 'F') then begin
      decVal += (hexStr[j] - 55) * base;
      base := base * 16;
    end;
  end;

  exit(decVal);
end;