cancel
Showing results for 
Search instead for 
Did you mean: 

Tell me, please, where ELSE SAP uses a text table as a distinct values table?

former_member181923
Active Participant
0 Kudos

I have found a place in a layered product (which shall be nameless) where SAP uses a text table as a distinct values table for the non-text table which the text table supports.

This is as unspeakable a crime as I've ever seen committed inside an SAP product, and I'm wondering if anyone else has ever discovered the same kind of lazy and/or ignorant programming in an SAP product or layered product.

If so, I'd be curious to know where.

You tell me yours, and I'll tell you mine.

Accepted Solutions (0)

Answers (2)

Answers (2)

Jelena
Active Contributor
0 Kudos

Like you said - "it's the cheap way". I don't recall seeing the same "design" (not that I looked though), but plenty of other "economy options" in SAP. Not everyone is Thomas Jung, I guess.

former_member221827
Active Participant
0 Kudos

Funnily enough I am working on updating a transaction/program written by Mr. Jung.  Some interesting code in there.

former_member181923
Active Participant
0 Kudos

That's actually an insult to Thomas, Jelena. One doesn't have to be anywhere near as brilliant as Thomas to know that using a text table to dedup a config table is unspeakably stupid.

stephenjohannes
Active Contributor
0 Kudos

Yep, Thomas would have used BRF+ instead of configuration tables in the first place .

former_member181923
Active Participant
0 Kudos

We cross-posted or close to it - see my response to your previous post ...

Former Member
0 Kudos

A hot contestant for the Darwin Award of DDIC objects is a domain which is also used as an authorization object. The domain range consists of 1 character key alphabetical values with language dependent texts. So far OK...

But, the keys themselves are also language dependent in the implementation of the authority-check. So a specific value, for example C = Customer Returns, provides an access control in English to this type of materials, but in Spanish C provides access to move Consignment Stock. In Spanish the authorization for A (Almacen = warehouse) is in English A = All access), etc.

So, depending on your logon language the same role will provide different access and different system behaviour. Or, depending on what you want to do, just logon in Spanish or Swahili or whatever suites the domain range best.

Cheers,

Julius

former_member181923
Active Participant
0 Kudos

Hi Julius - always nice to hear from you.

And the case which you mention here is very interesting in its own right..

But unfortunately irrelevant - not at all the same thing, so far as I can see.

Former Member
0 Kudos

Sorry for the mistake in assuming that translation of domain ranges and a text table are close enough within the DDIC mindset that they could be considered similar enough to be mentioned in the same thread. What the hell are they both doing on the selection screen of SE11 together? Lazy and ignorant programmers!

I will try to improve myself.

ps: so what you are saying is that the text is a key? Perhaps the intention was version management and change docs of the texts if they have some importance beyond just being a string of characters lines up next to each other?

Cheers,

Julius

former_member181923
Active Participant
0 Kudos

Hi Julius

Table X is a config table with fields

x1 x2 x3

each x1 duplicates for many values of x3, and x2 is just a counter 1,2,3,4 etc.

So they have a table Y which has the different text strings for each distinct value of x1 in table X.

And they use table Y as a cheap way to get the distinct values of x1 in X.  And not only that, they enforce this synchronization by defining a view in which every element of Y must have at least one element in X.

Bad bad business ...

But anyway, you never have to apologize to me for anything - we're just two guys communicating as best we can, and I didn't do a very good job of communicating the first time around ...

Best as always

djh

Former Member
0 Kudos

As we can see, only the lazy bones who do not play golf on Wednesday afternoons are left here. Just me, and you in your bunker in a deserted bird sanctuary in rural Oregon...  😉

Jokes aside - Coffee Corner suffered terribly under various regimes of points dictators and has been ruined from an innovation and (specially for you) provocative thought perspective.

I only happened to be here this month because someone from Oregon (co-incidence?) complained about me, so I checked the Coffee Corner for rants.

Cheers,

Julius

Former Member
0 Kudos

We posted at about the same time (I made myself a tea to consider the Oregon comment but concluded that you can handle the humour) and did not look back.

Yes, that is very nasty for the DB as well.

Are there APIs to this package or component? I suspect not...

That the view and F4 respects the selection shows that they put some thought into it. Even worse...

Or does SE54 do that "out of the box" when such constructs are created? That would indicate that there are more, but we do not notice them on the surface.

For me the definitions of the value ranges (or customizing entries) are still the least best thought out problem. I often get the impression that it is partially possible but a waste of time to use anyway.

Even in the core Component Finance you can group Vendor, Customer and General Ledger accounts if you want to. It is just maintaining master data for the sake of master data, because if you want to restrict reporting then you must modify the logical database as well. D'oh...

Ok... so we understand your construct better now without mentioning the object name. We can ping a few gurus from the DDIC area to chime in... but I suspect that from an efficiency perspective you are going to be asked to play your cards... 🙂

Cheers,

Julius

former_member181923
Active Participant
0 Kudos

Well now that you agree that it's not the right way to do business, I don't mind playing my cards.

The tables are T439C and T439B, but the offending transaction which uses the view on these tables is /isdfps/s_puwnr (a transaction in the layered ISDFPS product.)  The view is V_T439C.

If you have a mismatch between the C and B table, i.e. if you have historical text entries in T439B that don't correspond to any entries currently in T439C, then the /isdfps/s_puwnr complains because the V_T439C view is no longer consistent.

And this is total BS - you should never have to delete text entries when you delete their support - for all anyone cares, unsupported text entries can and should be able to stay out there forever, for historical purposes ...

Former Member
0 Kudos

My allergy detectors alerted on ISDF but I read your post anyway. Vomited twice.

There are worse things than this in ISDF, and also in IS-U by-the-way.

Cheers,

Julius

ps: Quality checks definitely lack in registered namespaces. SAP has their own. Customers have their own. But the grey zone in between is horrid and no one feels responsible for it. But /ISDF/ is now SAP owned as far as I know. They also cleaned up a few 'SYSTEM' calls in the past. So an OSS message should do the trick (bar backward compatibility).

I am not familiar with what a "layered product" is to be honest.

,

Registered namespace licensed via SAP, with sub-namespace registered for new modules to the sub-name-space?

If you license your name-space via SAP then you already sold yourself to what-ever the latest person you talked to had for breakfast...

Colleen
Advisor
Advisor
0 Kudos

I only happened to be here this month because someone from Oregon (co-incidence?) complained about me, so I checked the Coffee Corner for rants.

Most complainers find themselves in SCN Support now. I think a lot of them avoid Coffee Corner as almost anything goes

stephenjohannes
Active Contributor
0 Kudos

I have seen that bad design before, but can't remember where.  If that was the worst sin in the design of ERP, we would be good in shape.  Then again I have found a convenient way to dump the SAP GUI from my daily use, so things like that don't quite make me crazy anymore right now.

Take care,

Stephen

former_member181923
Active Participant
0 Kudos

Stephen ! Great to see your byline after a long absence (mine). I agree it's not the worst sin in the world except that it's such an unsophisticated sin - a sin committed from laziness or ignorance.  I hate those more than honest design conceptions which fail due to some factor that was not perceived, or attempts to match an application to a design pattern just for the sake of doing so, etc. 

Anyway, "na eiste kala", as my Greek friends say, and if you're an FB user, please be sure to send me a friend request there:

https://www.facebook.com/profile.php?id=100008134184696

stephenjohannes
Active Contributor
0 Kudos

I'm doing good and was fun to see you here again.  I'm actually working outside the SAP world now if you didn't figure out that from my SAP GUI comment and working now in Enterprise Architecture space now full-time.

Take care,

Stephen

former_member181923
Active Participant
0 Kudos

You're a really bright guy and there's no reason for you to confine your talent to SAPSpace ... hope you still keep an eye out on stuff at the old CoffeeCorner, in case I have reason to post again some day ...

stephenjohannes
Active Contributor
0 Kudos

Yep until they get rid of this place, I try to check back about once a week.  I enjoy the community here too much, to become a complete stranger.

Former Member
0 Kudos

Curiocity question: are you Spartan Coder from the oldCoffeeCorner before there was SDN?

Where we used to discuss SAP when the kernel was still open?

Cheers,

Julius

former_member181923
Active Participant
0 Kudos

Was that directed to me or Stephen, Julius ?

Former Member
0 Kudos

Obviously not you then, and Stephen is too young.

Please ignore. Sorry.

Cheers,

Julius

stephenjohannes
Active Contributor
0 Kudos

I actually enjoyed being called "too young" especially since I'm facing a near increment of the left-most significant figure in my age.  Then again I have only been working with SAP since I was 22 so perhaps it's makes me feel older than I really am.

Take care,

Stephen