Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi,

ich muss in ABAP ein Unterprogramm schreiben, dass einen character-string immer rechtsbündig ausrichtet (also in seinem Feld) und dann links mit Nullen auffüllt.

Nur mal bekommt das Unterprogramm ein Char-Array mit 3, mal eins mit 24 oder mehreren Stellen übergeben.

Von der Funktionsweise habe ich keine Probleme, nur wie mache ich SAP klar, dass das Unterprogramm Argumente mit unterschiedlichen Längen annehmen soll?

Geschrieben

Was mir gerade noch einfällt:

Für dein Problem gibt es einen fertigen Funktionsbaustein:

conversion_exit_alpha_input

Der füllt Felder mit führenden Nullen auf.

Das Gegenstück dazu heißt

conversion_exit_alpha_output

und entfernt die führenden Nullen wieder.

Geschrieben

Ich meine damit ein Form. Den fertigen baustein, den du gesagt hast, muss ich mir mal anschaun.

Der funktionsbaustein hilft mir nichts.

Sorry, aber ich habs oben vergessen. Was ich hier mit Nullen auffülle sind Ranges, also eigentllich Tabellen mit Kopf.

Hab schon mit mehreren Kollegen gesprochen, und die haben alle gemeint, dass dabei der Aufwand zu gross ist, es in eine extra Form zu stecken.

Das Problem ist, dass bei der Parameterübergagbe, die Kopfzeile der Tabelle verloren geht, und nach jedem Aufruf sich wieder so eine Tabelle aus dem Ergebniss zusammen zu bauen, ist wohl weit aufwändiger/umständlicher, als wenn ich im Prinzip den gleichen Quelltext nur mit anderem Variablennamen 7x im Quelltext stehen hab.

Geschrieben

hm, die idee ist mir auch schon gekommen. Da is dann nur die Frage, als das als Referenz oder als Kopie des Wertes übergeben wird.

Falls es die Kopien sind, bringt mir das gar nichts.

Edit:

Halt ne, das geht ja auch nicht, weil ich dann keinen modify auf den range machen kann, oder?

Geschrieben

Hängt davon ab, wie du den Funktionsbaustein aufrufst:

Du gibst dein Range-Feld (low bzw. high) als Input. Als Output kannst du dein Range-Feld oder ein typgleiches anderes Feld benutzen. Das hängt halt davon ab, was du willst.

Wieso solltest du deinen Range nicht mehr mit modify verändern können? Das funktioniert immer.

Geschrieben

Aber wenn ich den Range zurückgebe, kommt beim hauptprogramm die Kopfzeile wieder nicht mit an. Naja, ich übergeb jetzt das low und high Feld einzeln, und ruf nach dem PERFORM noch nen Modify auf, so gehts jetzt auch.

Im Endeffekt will das mein Betreuer ja nur, dass ich keine Spaghettiprogrammierung anfang, auch wenn sich meiner Meinung nach dieser Aufwand für das Proggie gar nicht lohnt.

Geschrieben

Tja, bei SAP kommt man leider oft genug nicht um Spaghettiprogrammierung herum... Standards sind halt dazu da, nicht beachtet zu werden ;)

Wenn du mal Zeit und Lust hast, musst du dir mal einige Originalprogramme angucken. Da schlägst du die Hände über dem Kopf zusammen...

Geschrieben

Das hab ich auch schon gemerkt. Das ABAP ist dermassen unflexibel und starr, das gibts nicht. Ich hab vorher ein Jahr C++ Programmiert in der Arbeit.

Ich kann den Wechsel nur so bschreiben:

Stell dir vor, du hattest mal ein jahr lang einen Lamborghini Diablo, und hast danach nen Fiat Panda bekommen..... :(

Geschrieben

Öhm, da fragst du mich zu viel. Bin noch nicht so lang in dem Chaos hier.

Aber ich glaube mal nicht. Hab schonmal was davon gehört, aber meine Kollegen sagen auch nur, dass das nur noch schlimmer ist.

Was machst denn du mit Abap?

Geschrieben

Ich programmiere halt :D

Im Moment bin ich gerade am Feintuning für mein Zeiterfassungs-Tool. Damit wollen unsere Kunden die Arbeitszeiten ihrer gewerblichen AN verwalten. Quasi eine Stempeluhr, aber mit Web-Oberfläche.

Geschrieben

Hi,

hat sich dein obiges Problem eigentlich schon gelöst?

Wenn ja -> OK,

wenn nein -> du brauchst eigentlich nur eine Range-Tabelle mit ner richtigen Domäne dahinter, d.h. inkl. Typkonvertierung (NUMC). Dann füllt er dir das immer mit Nullen auf.

Und mal so allgemein:

ABAP ist doch richtig genial, z.B. bei der Verarbeitung von Arrays bzw. internen Tabellen. Da können sich diverse andere Sprachen aber locker noch was von abgucken.

Ich programmiere seit nunmehr fast zwei Jahren im SAP und bin äußerst happy damit. Da ist man wenigstens nicht nur stumpf Kodierer, sondern brauchst auch viel betriebswirtschaftlichen Hintergrund, damit man auch ohne Krücke (viele, viele Helferlein) was auf die Beine krigt.

Geschrieben

Jup, das Problem ist gelöst.

Sorry, aber ich find SAP unflexibel, ausserdem kann man eben nur mit SAP verwenden, und was bringt mir SAP bei mir zuhause?

Tja, das mit dem Betriebswirtschaftlichen is so ne Sache. Stimmt, dass man das für SAP braucht, das dumme is nur, dass ich mich nicht nur nicht für Wirtschaft interessiere, sondern es sogar hasse.

Drum hab ich ja eigentlich eine Fachinformatikerausbildung gemacht. :confused:

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...