It amazes me SAP makes so much money...
-
Surely, I can't be the only person to go through bits of SAP and think, if they can sell this, then in tech you apparently can pretty much shrink wrap and sell a turd to people who don't know any better. The more I dig into SAP the more WTFs I see. For instance... SAP Business One 8.8 Administration system ADP1 table definitions[^] From this one table alone I can see 3 problems at least... archaic naming convention, using text fields for boolean logic, and not using an ENUM field or lookup table where appropriate. More if I try, and this isn't counting the fact there are no foreign keys in the database, some of the denormalized data I've seen, and some stored procs with unnecessarily needed hard coded values. :doh:
Jeremy Falcon
-
Surely, I can't be the only person to go through bits of SAP and think, if they can sell this, then in tech you apparently can pretty much shrink wrap and sell a turd to people who don't know any better. The more I dig into SAP the more WTFs I see. For instance... SAP Business One 8.8 Administration system ADP1 table definitions[^] From this one table alone I can see 3 problems at least... archaic naming convention, using text fields for boolean logic, and not using an ENUM field or lookup table where appropriate. More if I try, and this isn't counting the fact there are no foreign keys in the database, some of the denormalized data I've seen, and some stored procs with unnecessarily needed hard coded values. :doh:
Jeremy Falcon
A few years ago we tried to use their Dashboard Designer. What a pita to work with! About the time we got it working, we found out that they were abandoning the html5 export option leaving only flash as the only available option. The program was a resource hog that I loathed to start as it would take minutes to load. That program didn't make the cut on my newer rig or laptop. At least you're finding documentation. I've always found SAP to be horrible at documentation. X|
"Go forth into the source" - Neal Morse
-
A few years ago we tried to use their Dashboard Designer. What a pita to work with! About the time we got it working, we found out that they were abandoning the html5 export option leaving only flash as the only available option. The program was a resource hog that I loathed to start as it would take minutes to load. That program didn't make the cut on my newer rig or laptop. At least you're finding documentation. I've always found SAP to be horrible at documentation. X|
"Go forth into the source" - Neal Morse
kmoorevs wrote:
The program was a resource hog that I loathed to start as it would take minutes to load. That program didn't make the cut on my newer rig or laptop.
Our dev environment is hosted on a beefy AWS instance... with only two users. SAP is still slow.
kmoorevs wrote:
At least you're finding documentation. I've always found SAP to be horrible at documentation.
You are correct sir, and having table names like QQE@#22 and no foreign keys make things so much more fun to figure out. X|
Jeremy Falcon
-
Surely, I can't be the only person to go through bits of SAP and think, if they can sell this, then in tech you apparently can pretty much shrink wrap and sell a turd to people who don't know any better. The more I dig into SAP the more WTFs I see. For instance... SAP Business One 8.8 Administration system ADP1 table definitions[^] From this one table alone I can see 3 problems at least... archaic naming convention, using text fields for boolean logic, and not using an ENUM field or lookup table where appropriate. More if I try, and this isn't counting the fact there are no foreign keys in the database, some of the denormalized data I've seen, and some stored procs with unnecessarily needed hard coded values. :doh:
Jeremy Falcon
I think you'll find it is an app built by a semi competent developer in the 80s. Instead of scrapping it in the 90s and rewrite they have bolted more crap on top of existing crap. So you are wading through a pile if steaming crap. There are a number of these "enterprise" applications that really need to be scrapped for something that is better written. The problem is the sheer amount of time and money invested in these dogs as organisations customise the app to get around limitations and cater for their specific requirements.
Never underestimate the power of human stupidity RAH
-
I think you'll find it is an app built by a semi competent developer in the 80s. Instead of scrapping it in the 90s and rewrite they have bolted more crap on top of existing crap. So you are wading through a pile if steaming crap. There are a number of these "enterprise" applications that really need to be scrapped for something that is better written. The problem is the sheer amount of time and money invested in these dogs as organisations customise the app to get around limitations and cater for their specific requirements.
Never underestimate the power of human stupidity RAH
I think you pretty much summed it up, and I'm sure it'll continue for a while longer no less.
Jeremy Falcon
-
I think you'll find it is an app built by a semi competent developer in the 80s. Instead of scrapping it in the 90s and rewrite they have bolted more crap on top of existing crap. So you are wading through a pile if steaming crap. There are a number of these "enterprise" applications that really need to be scrapped for something that is better written. The problem is the sheer amount of time and money invested in these dogs as organisations customise the app to get around limitations and cater for their specific requirements.
Never underestimate the power of human stupidity RAH
Well, why don't we do it? There are certainly enough of us who can code, and enough with business knowledge/requirements. It's actually a project that's big enough for CP to handle. There aren't many that big. It would certainly be an opportunity to put feathers in a large number of caps.
I wanna be a eunuchs developer! Pass me a bread knife!
-
Surely, I can't be the only person to go through bits of SAP and think, if they can sell this, then in tech you apparently can pretty much shrink wrap and sell a turd to people who don't know any better. The more I dig into SAP the more WTFs I see. For instance... SAP Business One 8.8 Administration system ADP1 table definitions[^] From this one table alone I can see 3 problems at least... archaic naming convention, using text fields for boolean logic, and not using an ENUM field or lookup table where appropriate. More if I try, and this isn't counting the fact there are no foreign keys in the database, some of the denormalized data I've seen, and some stored procs with unnecessarily needed hard coded values. :doh:
Jeremy Falcon
Jeremy Falcon wrote:
From this one table alone
That's because the backend was (or still is) implemented in COBOL! :laugh: (Actually, it's probably true. :sigh: ) Marc
V.A.P.O.R.ware - Visual Assisted Programming / Organizational Representation Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
-
Jeremy Falcon wrote:
From this one table alone
That's because the backend was (or still is) implemented in COBOL! :laugh: (Actually, it's probably true. :sigh: ) Marc
V.A.P.O.R.ware - Visual Assisted Programming / Organizational Representation Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
Oh, you mean CBL1? :rolleyes:
Jeremy Falcon
-
Well, why don't we do it? There are certainly enough of us who can code, and enough with business knowledge/requirements. It's actually a project that's big enough for CP to handle. There aren't many that big. It would certainly be an opportunity to put feathers in a large number of caps.
I wanna be a eunuchs developer! Pass me a bread knife!
Twould be a serious commitment of time and effort. The mind boggles at the discussions around the requirements, I think you would get some sort of spec out in about 5 years, if ever. I doubt you could even get an agreement on the platform(s) to be supported.
Never underestimate the power of human stupidity RAH
-
Surely, I can't be the only person to go through bits of SAP and think, if they can sell this, then in tech you apparently can pretty much shrink wrap and sell a turd to people who don't know any better. The more I dig into SAP the more WTFs I see. For instance... SAP Business One 8.8 Administration system ADP1 table definitions[^] From this one table alone I can see 3 problems at least... archaic naming convention, using text fields for boolean logic, and not using an ENUM field or lookup table where appropriate. More if I try, and this isn't counting the fact there are no foreign keys in the database, some of the denormalized data I've seen, and some stored procs with unnecessarily needed hard coded values. :doh:
Jeremy Falcon
Just be happy. The place I worked last year was still using BPCS. Had to interface some data with it, and the field names you just showed were MODELS OF CLARITY in comparison to those in that heap of crap! FP. RBAS. And numerous others my brain purged in order to keep my sanity!
My CodeProject Articles :: Our forgotten astronomic heritage :: My website.
"Sorry, buddy, but this mission counts on everyone being as silent as possible, and your farts are just too much of a wildcard." - Korra to Meelo, "Kuvira's Gambit" -
Surely, I can't be the only person to go through bits of SAP and think, if they can sell this, then in tech you apparently can pretty much shrink wrap and sell a turd to people who don't know any better. The more I dig into SAP the more WTFs I see. For instance... SAP Business One 8.8 Administration system ADP1 table definitions[^] From this one table alone I can see 3 problems at least... archaic naming convention, using text fields for boolean logic, and not using an ENUM field or lookup table where appropriate. More if I try, and this isn't counting the fact there are no foreign keys in the database, some of the denormalized data I've seen, and some stored procs with unnecessarily needed hard coded values. :doh:
Jeremy Falcon
Jeremy Falcon wrote:
if they can sell this, then in tech you apparently can pretty much shrink wrap and sell a turd to people who don't know any better
That appears to be the only de facto standard that really exists. I have seen enough money pits which better had been thrown away and rewritten 20 years ago, but everyone involved (including the customers) fear to lose all the time and money they put into them and bravely soldier on.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a fucking golf cart.
"I don't know, extraterrestrial?" "You mean like from space?" "No, from Canada." If software development were a circus, we would all be the clowns. -
Surely, I can't be the only person to go through bits of SAP and think, if they can sell this, then in tech you apparently can pretty much shrink wrap and sell a turd to people who don't know any better. The more I dig into SAP the more WTFs I see. For instance... SAP Business One 8.8 Administration system ADP1 table definitions[^] From this one table alone I can see 3 problems at least... archaic naming convention, using text fields for boolean logic, and not using an ENUM field or lookup table where appropriate. More if I try, and this isn't counting the fact there are no foreign keys in the database, some of the denormalized data I've seen, and some stored procs with unnecessarily needed hard coded values. :doh:
Jeremy Falcon
Jeremy Falcon wrote:
using text fields for boolean logic
To be fair, a boolean isn't part of the ISO specification (Oracle, for example, doesn't have a boolean data type). So you either use a numeric type and restrict it to 0 and 1 or you use a text type and restrict it to Y and N. I've seen the Y/N a lot (although I don't agree with it). At least be glad they documented it properly! What's more important, the average user will never see any of this. What matters to them is that it works and gives them the functionality they need and somehow it does. They don't care about your petty programmer problems like casting Y/N to booleans and keeping your data consistent without foreign keys.
Best, Sander arrgh.js - Bringing LINQ to JavaScript SQL Server for C# Developers Succinctly Object-Oriented Programming in C# Succinctly
-
Jeremy Falcon wrote:
using text fields for boolean logic
To be fair, a boolean isn't part of the ISO specification (Oracle, for example, doesn't have a boolean data type). So you either use a numeric type and restrict it to 0 and 1 or you use a text type and restrict it to Y and N. I've seen the Y/N a lot (although I don't agree with it). At least be glad they documented it properly! What's more important, the average user will never see any of this. What matters to them is that it works and gives them the functionality they need and somehow it does. They don't care about your petty programmer problems like casting Y/N to booleans and keeping your data consistent without foreign keys.
Best, Sander arrgh.js - Bringing LINQ to JavaScript SQL Server for C# Developers Succinctly Object-Oriented Programming in C# Succinctly
Real programmers don't need foreign keys!
My CodeProject Articles :: Our forgotten astronomic heritage :: My website.
"Sorry, buddy, but this mission counts on everyone being as silent as possible, and your farts are just too much of a wildcard." - Korra to Meelo, "Kuvira's Gambit" -
Jeremy Falcon wrote:
using text fields for boolean logic
To be fair, a boolean isn't part of the ISO specification (Oracle, for example, doesn't have a boolean data type). So you either use a numeric type and restrict it to 0 and 1 or you use a text type and restrict it to Y and N. I've seen the Y/N a lot (although I don't agree with it). At least be glad they documented it properly! What's more important, the average user will never see any of this. What matters to them is that it works and gives them the functionality they need and somehow it does. They don't care about your petty programmer problems like casting Y/N to booleans and keeping your data consistent without foreign keys.
Best, Sander arrgh.js - Bringing LINQ to JavaScript SQL Server for C# Developers Succinctly Object-Oriented Programming in C# Succinctly
Sander Rossel wrote:
So you either use a numeric type and restrict it to 0 and 1 or you use a text type and restrict it to Y and N. I've seen the Y/N a lot (although I don't agree with it). At least be glad they documented it properly!
That are almost equivalent options, as you can do it with a simple binary AND. It helps reportization, especially if the clients are dumb (as with only enough processor to keep a connection to a main server), which was the standard topology at the times. then topology changed, but you must maintain compatibility with older databases. What do you do, change the background and add a layer of compatibility or realyze that Y/N are two bytes as much as 1/0? In industial automation BTW the common patterns are 0xC0 and 0xC1 to encode 0 and 1.
CALL APOGEE, SAY AARDWOLF GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver "Go ahead, make my day"
-
Jeremy Falcon wrote:
using text fields for boolean logic
To be fair, a boolean isn't part of the ISO specification (Oracle, for example, doesn't have a boolean data type). So you either use a numeric type and restrict it to 0 and 1 or you use a text type and restrict it to Y and N. I've seen the Y/N a lot (although I don't agree with it). At least be glad they documented it properly! What's more important, the average user will never see any of this. What matters to them is that it works and gives them the functionality they need and somehow it does. They don't care about your petty programmer problems like casting Y/N to booleans and keeping your data consistent without foreign keys.
Best, Sander arrgh.js - Bringing LINQ to JavaScript SQL Server for C# Developers Succinctly Object-Oriented Programming in C# Succinctly
Sander Rossel wrote:
What's more important, the average user will never see any of this.
Exactly! That's why SAP makes so much money. SAP is a well known ERP system. So when big companies setup ERP system they can only think of SAP.
-
Twould be a serious commitment of time and effort. The mind boggles at the discussions around the requirements, I think you would get some sort of spec out in about 5 years, if ever. I doubt you could even get an agreement on the platform(s) to be supported.
Never underestimate the power of human stupidity RAH
CP/M, of course!
I wanna be a eunuchs developer! Pass me a bread knife!
-
Jeremy Falcon wrote:
using text fields for boolean logic
To be fair, a boolean isn't part of the ISO specification (Oracle, for example, doesn't have a boolean data type). So you either use a numeric type and restrict it to 0 and 1 or you use a text type and restrict it to Y and N. I've seen the Y/N a lot (although I don't agree with it). At least be glad they documented it properly! What's more important, the average user will never see any of this. What matters to them is that it works and gives them the functionality they need and somehow it does. They don't care about your petty programmer problems like casting Y/N to booleans and keeping your data consistent without foreign keys.
Best, Sander arrgh.js - Bringing LINQ to JavaScript SQL Server for C# Developers Succinctly Object-Oriented Programming in C# Succinctly
Sander Rossel wrote:
Oracle, for example, doesn't have a boolean data type
To be fair, Oracle is one of the best sources of negative examples in the industry.
"There are three kinds of lies: lies, damned lies and statistics." - Benjamin Disraeli
-
Surely, I can't be the only person to go through bits of SAP and think, if they can sell this, then in tech you apparently can pretty much shrink wrap and sell a turd to people who don't know any better. The more I dig into SAP the more WTFs I see. For instance... SAP Business One 8.8 Administration system ADP1 table definitions[^] From this one table alone I can see 3 problems at least... archaic naming convention, using text fields for boolean logic, and not using an ENUM field or lookup table where appropriate. More if I try, and this isn't counting the fact there are no foreign keys in the database, some of the denormalized data I've seen, and some stored procs with unnecessarily needed hard coded values. :doh:
Jeremy Falcon
Jeremy Falcon wrote:
From this one table alone I can see 3 problems at least... archaic naming convention, using text fields for boolean logic, and not using an ENUM field or lookup table where appropriate
archaic naming convention: it amazes me people see another's naming/coding style and label that as bad/problem, it's not an issue - what next, pick on people who have different skin color? using text fields for boolean: as others pointed out bool is not ISO, so not portable. SAP can use different underlying databases, and supports older DB versions of even those vendors that have those features. and not using an ENUM field or lookup table: well this is just a combination of the above two points. So no, your arguments that their code is bad is just simply 100% wrong. And so you think could do it better: will it work when rolled out to thousands of live enterprise sites, some of which have older systems/databases... THIS is why SAP make so much money (and they also don't employ bragging know-it-all smart asses like yourself because you don't get it.)
Sin tack ear lol Pressing the any key may be continuate
-
Sander Rossel wrote:
Oracle, for example, doesn't have a boolean data type
To be fair, Oracle is one of the best sources of negative examples in the industry.
"There are three kinds of lies: lies, damned lies and statistics." - Benjamin Disraeli
And, like SAP, they make shitloads of money. Larry Ellison is one of the top eight richest people in the world (who, together, have more money than half of the worlds population together). Step 1. Do a shit job. Step 2. ??? Step 3. Profit. We can learn from these guys... :sigh:
Best, Sander arrgh.js - Bringing LINQ to JavaScript SQL Server for C# Developers Succinctly Object-Oriented Programming in C# Succinctly
-
And, like SAP, they make shitloads of money. Larry Ellison is one of the top eight richest people in the world (who, together, have more money than half of the worlds population together). Step 1. Do a shit job. Step 2. ??? Step 3. Profit. We can learn from these guys... :sigh:
Best, Sander arrgh.js - Bringing LINQ to JavaScript SQL Server for C# Developers Succinctly Object-Oriented Programming in C# Succinctly
These people demonstrate nothing but greed and laziness, which are two things that everyone learns as a toddler. What we need is to stop rewarding people for providing garbage, but then where would the Kardashian's be?
"There are three kinds of lies: lies, damned lies and statistics." - Benjamin Disraeli