Code: Alles auswählen.
SELECT v~vbeln m~matnr v~kwmeng v~lgort v~netwr
INTO CORRESPONDING FIELDS OF TABLE itab_promo
FROM vbak as k
JOIN vbap AS v
ON k~vbeln = v~vbeln
JOIN mvke AS m
ON v~matnr = m~matnr
WHERE k~erdat IN s_erdat "Sekundärindex ERD
AND m~vmsta = 'SO'
Warum?babap hat geschrieben:Ich würde ja für sowas spontan eine View anlegen und benutzen.
Wäre das in diesem Fall nicht auch praktischer?
Der OP machte nicht den Eindruck als wenn er das häufiger braucht und nur in dem Falle hast du Recht. Wenn ich für jeden komplexen Join eine View im DDIC anlegen würde, hätten mich meine Kunden schon zu Recht vor die Tür gesetzt, weil ich schätzungsweise jeden dritten select so schreibe.babap hat geschrieben:Und weil ich sie dann an vielen Stellen mit dem gleichen Ergebnis wiederverwenden kann!
Gegenargument: Wenn jeder wie wild Objekte anlegt, wer will da noch durchsteigen? Der Kunde muss das Teil ja mal in Wartung und Betrieb übernehmen.babap hat geschrieben:Ich schreibe selbst ganze Module, Add-Ons etc.
Wenn mir der Kunde dabei vorschreiben will, wieviele und welche DDIC-Objekte ich benutze, kann er das selber machen ...
erstens nicht JEDER, zweitens nur ICH, und gerade WEIL der Kunde Wartung und Betrieb übernehmen soll, mache ich das so.ralf.wenzel hat geschrieben:...
Gegenargument: Wenn jeder wie wild Objekte anlegt, wer will da noch durchsteigen? Der Kunde muss das Teil ja mal in Wartung und Betrieb übernehmen.
...
Wirklich!babap hat geschrieben:Zur Strukturierung dienen die Pakete (ehemals Entwicklungsklassen).
Kleine Namenskonvention, kleine Systematik bei Paketen und Unterpaketen und schon ist das ganze einfach und übersichtlich.
Wer sich damit nicht beschäftigen kann oder will ...
Eben. Darum gibt es Abnahmeprozesse und Regeln, die selbigen zugrunde liegen, zum Beispiel die, dass DDIC-Objekte genehmigungspflichtig sind.DeathGuardian hat geschrieben:(Vorallem dank den wechselden Externen die gerne auf unsere Namenskonventionen im warsten Sinne des Wortes scheissen)