Move-Coresponding

Getting started ... Alles für einen gelungenen Start.
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Move-Coresponding

Beitrag von Aggu (ForumUser / 11 / 0 / 0 ) »
Hallo zusammen,

habe eine Aufgabe zu Lösen, und zwar:

"Schreiben Sie ein Programm, dass Sie auffordert, Ihre Adresse einzugeben. Verwenden Sie eine Feldleiste. Nun werden Sie aufgefordert einen bestimmten Artikel mit Menge, Preis und Bezeichnun zu bestellen. Auch diese Angaben werden in einer Feldleiste abgespeichert. Das Programm erstellt aus diesen Daten eine Rechnung. Benutzen Sie move-coresponding.

Code: Alles auswählen.


DATA: BEGIN OF ADRESSE,
          NACHNAME(15) TYPE C,
          VORNAME(15) TYPE C,
          STRASSE(15) TYPE C,
          PLZ(5) TYPE N,
          ORT(15) TYPE C,
      END OF ADRESSE.

DATA: BEGIN OF BESTELLUNG,
          ARTIKELBEZEICHNUNG(15) TYPE C,
          MENGE(2) TYPE N,
          PREIS(5) TYPE N,
          STSATZ(5) TYPE N,
      END OF BESTELLUNG.

DATA: BEGIN OF Rechnung,
          NACHNAME like adresse-nachname,
          VORNAME like adresse-vorname,
          STRASSE like adresse-strasse,
          PLZ like adresse-plz,
          ORT like adresse-ort,
          ARTIKELBEZEICHNUNG like bestellung-artikelbezeichnung,
          MENGE like bestellung-menge,
          PREIS like bestellung-preis,
          STSATZ like bestellung-stsatz,
          GESPREIS(5) TYPE N,
      END OF Rechnung.


PARAMETERS:
        NACHNAME(15) TYPE C,
        VORNAME(15) TYPE C,
        STRASSE(15) TYPE C,
        PLZ(5) TYPE N,      
        ORT(15) TYPE C,
        ARTIKELB(15) type c,
        MENGE(2) TYPE N,
        Preis(5) type p decimals 2,
        STSATZ LIKE PREIS DEFAULT 16.

        ADRESSE-NACHNAME = NACHNAME.
        ADRESSE-VORNAME = VORNAME.
        ADRESSE-STRASSE = STRASSE.
        ADRESSE-PLZ = PLZ.
        ADRESSE-ORT = ORT.

        BESTELLUNG-ARTIKELBEZEICHNUNG = ARTIKELB.
        bestellung-menge = menge.
        bestellung-preis = preis.
        bestellung-stsatz = stsatz.

RECHNUNG-GESPREIS = BESTELLUNG-MENGE * BESTELLUNG-PREIS.

MOVE-CORRESPONDING ADRESSE TO RECHNUNG.
MOVE-CORRESPONDING BESTELLUNG TO RECHNUNG.

WRITE: 	/ RECHNUNG-NACHNAME, 
                  RECHNUNG-VORNAME,
	/ RECHNUNG-STRASSE,
	/ RECHNUNG-PLZ,
  	/ RECHNUNG-ORT.  
Ich weiss nun nicht ob die Aufgabe damit gelöst ist. Und bei der Ausgabe hier ganz unten, möchte ich Vorname und Nachname, wie PLZ und Ort direkt hintereinander ausgeben, wie mache ich das?

Danke schon mal.

Gruß Agnes

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von Hermann ( / / 0 / 3 ) »
Man kann das ganze noch ein bisschen vereinfachen:

Code: Alles auswählen.

data: vorzuname(30) type c.
DATA: BEGIN OF ADRESSE,
          NACHNAME(15) TYPE C,
          VORNAME(15) TYPE C,
          STRASSE(15) TYPE C,
          PLZ(5) TYPE N,
          ORT(15) TYPE C,
      END OF ADRESSE.

DATA: BEGIN OF BESTELLUNG,
          ARTIKELBEZEICHNUNG(15) TYPE C,
          MENGE(2) TYPE N,
          PREIS(5) TYPE N,
          STSATZ(5) TYPE N,
      END OF BESTELLUNG.

DATA: BEGIN OF Rechnung,
          GESPREIS(5) TYPE N.
          include structure adresse.
          include structure bestellung.
 DATA  END OF Rechnung.


PARAMETERS:
        NACHNAME(15) TYPE C,
        VORNAME(15) TYPE C,
        STRASSE(15) TYPE C,
        PLZ(5) TYPE N,
        ORT(15) TYPE C,
        ARTIKELB(15) type c,
        MENGE(2) TYPE N,
        Preis(5) type p decimals 2,
        STSATZ LIKE PREIS DEFAULT 16.

        ADRESSE-NACHNAME = NACHNAME.
        ADRESSE-VORNAME = VORNAME.
        ADRESSE-STRASSE = STRASSE.
        ADRESSE-PLZ = PLZ.
        ADRESSE-ORT = ORT.

        BESTELLUNG-ARTIKELBEZEICHNUNG = ARTIKELB.
        bestellung-menge = menge.
        bestellung-preis = preis.
        bestellung-stsatz = stsatz.

RECHNUNG-GESPREIS = BESTELLUNG-MENGE * BESTELLUNG-PREIS.

MOVE-CORRESPONDING ADRESSE TO RECHNUNG.
MOVE-CORRESPONDING BESTELLUNG TO RECHNUNG.
concatenate rechnung-nachname rechnung-vorname into vorzuname SEPARATED BY SPACE.
WRITE: / vorzuname,
   / RECHNUNG-STRASSE,
   / RECHNUNG-PLZ, RECHNUNG-ORT.
Ich vermute mal, die Aufgabe ist noch nicht ganz gelöst. Schliesslich soll ja eine Rechnung ausgegeben werden, d.h. mindestens eine Zeile in der Produkt, Menge und Preis sowie Summe steht und schlussendlich noch die Gesamtsumme.

Hermann

Beitrag von Gast ( / / 0 / 3 ) »
Hey Hermann,

hast Du eine Idee wie ich es machen könnte?

Gruß Agnes

Beitrag von Hermann ( / / 0 / 3 ) »
Das ist im Grunde nicht mehr weiter schwierig.
Du musst ja nur die Felder am Ende noch ausgeben.
Also z.B.:

Code: Alles auswählen.

WRITE:    / 'RECHNUNG'.
WRITE: / RECHNUNG-ARTIKELBEZEICHNUNG, RECHNUNG-MENGE, RECHNUNG-PREIS, RECHNUNG-STSATZ.
write: / 'Rechnungsgesamtbetrag: ', RECHNUNG-GESPREIS.
Hermann

Seite 1 von 1

Vergleichbare Themen

1
Antw.
687
Views
move-datei
von HH_ABAP » 16.08.2023 11:28 • Verfasst in ABAP® für Anfänger
2
Antw.
5296
Views
Move Corresponding bei Feldsymbolen?
von MarkusW » 31.10.2007 09:27 • Verfasst in ABAP® Core
1
Antw.
6620
Views
Move-Corresponding mit interner Tabelle
von Dele » 13.10.2015 13:53 • Verfasst in Tips + Tricks & FAQs
1
Antw.
3337
Views
MOVE...PERCENTAGE im OO-Kontext
von newbie007 » 08.02.2012 15:08 • Verfasst in ABAP Objects®
6
Antw.
4323
Views
Move-Corresponding von Strukturen dabei Werte beibehalten
von Bright4.5 » 20.09.2023 10:45 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

BAPI zur ABSO?
vor 2 Tagen von DeathAndPain 2 / 538
Materialstammerweiterung: Neuer Reiter
vor einer Woche von DeathAndPain gelöst 4 / 1173
Ermittlung der Arbeitstage (Mosid)
vor einer Woche von Radinator 11 / 46839
LSMW-Problem
vor 3 Wochen von DeathAndPain gelöst 6 / 4750

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

BAPI zur ABSO?
vor 2 Tagen von DeathAndPain 2 / 538
Materialstammerweiterung: Neuer Reiter
vor einer Woche von DeathAndPain gelöst 4 / 1173
Ermittlung der Arbeitstage (Mosid)
vor einer Woche von Radinator 11 / 46839
LSMW-Problem
vor 3 Wochen von DeathAndPain gelöst 6 / 4750