Name des Erstellers immer gleich

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Name des Erstellers immer gleich

Beitrag von DerAzubi (ForumUser / 13 / 4 / 0 ) »
Hi,

Wollte mal kurz nachfragen, wieso meine Ausgabe des Erstellers immer gleich ist, selbst wenn ich andere Lieferungsnummern eingebe.

Beispiel: Richtige Ausgabe
60000000 010 RichtigerAzubi
60000006 010 RichtigerAusbilder

Beispiel: Falsche Ausgabe (mein Problem)
60000000 010 FalscherAzubi
60000006 010 FalscherAzubi

Code: Alles auswählen.

*Variable wa_lips als Typ lips
DATA wa_likp TYPE likp.
DATA wa_lips TYPE lips.

PARAMETERS in_vbeln TYPE vbeln.

*Datenbanktabelle
DATA: BEGIN OF intab_likp OCCURS 0,
        vbeln TYPE likp-vbeln,
        ernam TYPE likp-ernam,
      END OF intab_likp.

DATA: BEGIN OF intab_lips OCCURS 0,
        vbeln TYPE likp-vbeln,
        posnr TYPE lips-posnr,
      END OF intab_lips.

BREAK-POINT.

*Datenbanktabelle lesen und intab füllen über Kopfzeile
SELECT * FROM lips INTO wa_lips.
  MOVE-CORRESPONDING wa_lips TO intab_lips.
  APPEND intab_lips.
ENDSELECT.

SELECT * FROM likp INTO wa_likp.
  MOVE-CORRESPONDING wa_likp TO intab_likp.
  APPEND intab_likp.
ENDSELECT.

LOOP AT intab_lips INTO wa_lips WHERE vbeln = in_vbeln.
  WRITE in_vbeln.
  WRITE wa_lips-posnr.
  WRITE wa_likp-ernam.
  NEW-LINE.
ENDLOOP.


BREAK-POINT.

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


Re: Name des Erstellers immer gleich

Beitrag von wreichelt (Top Expert / 1046 / 30 / 192 ) »
Hallo,
du liest a die WA_LIKP Tabelle nicht mit.
Gruß Wolfgang

Folgende Benutzer bedankten sich beim Autor wreichelt für den Beitrag:
DerAzubi


Re: Name des Erstellers immer gleich

Beitrag von DerAzubi (ForumUser / 13 / 4 / 0 ) »
Wo lese ich denn wa_likp nicht mit? Bei mir liest er die mit und übernimmt auch die Daten.

UPDATE:
Hab ein bisschen rumgetestet, sodass jetzt nicht mehr "RichtigerAzubi" kommt, sondern "RichtigerAz."

Code: Alles auswählen.

*Variable wa_lips als Typ lips
DATA wa_likp TYPE likp.
DATA wa_lips TYPE lips.

PARAMETERS in_vbeln TYPE vbeln.

*Datenbanktabelle
DATA: BEGIN OF intab_likp OCCURS 0,
        vbeln TYPE likp-vbeln,
        ernam TYPE likp-ernam,
      END OF intab_likp.

DATA: BEGIN OF intab_lips OCCURS 0,
        vbeln TYPE likp-vbeln,
        posnr TYPE lips-posnr,
      END OF intab_lips.

BREAK-POINT.

*Datenbanktabelle lesen und intab füllen über Kopfzeile
SELECT * FROM lips INTO wa_lips.
  MOVE-CORRESPONDING wa_lips TO intab_lips.
  APPEND intab_lips.
ENDSELECT.

SELECT * FROM likp INTO wa_likp.
  MOVE-CORRESPONDING wa_likp TO intab_likp.
  APPEND intab_likp.
ENDSELECT.

LOOP AT intab_likp INTO wa_likp WHERE vbeln = in_vbeln.
  WRITE in_vbeln.
  WRITE wa_lips-posnr.
  WRITE wa_likp-ernam.
  NEW-LINE.
ENDLOOP.


BREAK-POINT.

Re: Name des Erstellers immer gleich

Beitrag von PeterPaletti (Specialist / 348 / 32 / 97 ) »
Jetzt hast du es umgedreht und liest wa_lips nicht mit.
Beim ersten SELECT liest du alles aus der LIPS und machst dir deine interne Tabelle intab_lips voll.
Beim zweiten SELECT liest du alles aus der LIKP und machst dir deine interne Tabelle intab_likp voll.
Beim LOOP nimmst du dir nur die intab_likp und da nur einen Datensatz vor. Und das mit einer möglicher Weise inkongruenten Ausgabestruktur wa_likp.
Du gibst zwar auch wa_lips-posnr aus, aber da steht das drin was beim ersten SELECT zum Schluss angekommen ist.

Folgende Benutzer bedankten sich beim Autor PeterPaletti für den Beitrag:
DerAzubi


Re: Name des Erstellers immer gleich

Beitrag von sap_enthusiast (ForumUser / 95 / 25 / 23 ) »
Moin,

falls es von einem von dir geschriebenen Programm handelt versuch mal es auf die folgende Weise:

Code: Alles auswählen.

SELECT likp~vbeln, likp~ernam, lips~posnr 
FROM likp JOIN lips ON likp~vbeln = lips~vbeln
INTO TABLE @DATA(itab)
WHERE likp~vbeln = @in_vbeln.

LOOP AT itab ASSIGNING FIELD-SYMBOL(<fs_itab>).
  WRITE:  <fs_itab>-vbeln,
               <fs_itab>-posnr,
               <fs_itab>-ernam.
  NEW-LINE.
ENDLOOP.

Folgende Benutzer bedankten sich beim Autor sap_enthusiast für den Beitrag:
DerAzubi


Re: Name des Erstellers immer gleich

Beitrag von DerAzubi (ForumUser / 13 / 4 / 0 ) »
PeterPaletti hat geschrieben:
27.10.2022 09:07
Jetzt hast du es umgedreht und liest wa_lips nicht mit.
Beim ersten SELECT liest du alles aus der LIPS und machst dir deine interne Tabelle intab_lips voll.
Beim zweiten SELECT liest du alles aus der LIKP und machst dir deine interne Tabelle intab_likp voll.
Beim LOOP nimmst du dir nur die intab_likp und da nur einen Datensatz vor. Und das mit einer möglicher Weise inkongruenten Ausgabestruktur wa_likp.
Du gibst zwar auch wa_lips-posnr aus, aber da steht das drin was beim ersten SELECT zum Schluss angekommen ist.
Hört sich logisch an. Wusste bis jetzt halt noch nicht, wie ich das regeln konnte.

Re: Name des Erstellers immer gleich

Beitrag von DerAzubi (ForumUser / 13 / 4 / 0 ) »
sap_enthusiast hat geschrieben:
27.10.2022 09:50
Moin,

falls es von einem von dir geschriebenen Programm handelt versuch mal es auf die folgende Weise:

Code: Alles auswählen.

SELECT likp~vbeln, likp~ernam, lips~posnr 
FROM likp JOIN lips ON likp~vbeln = lips~vbeln
INTO TABLE @DATA(itab)
WHERE likp~vbeln = @in_vbeln.

LOOP AT itab ASSIGNING FIELD-SYMBOL(<fs_itab>).
  WRITE:  <fs_itab>-vbeln,
               <fs_itab>-posnr,
               <fs_itab>-ernam.
  NEW-LINE.
ENDLOOP.
Danke für deine Antwort! Viele Funktionen vom Code kannte ich halt mal so garnicht. Hab jetzt ein bisschen am Programm rumprobiert, den Teil implementiert und es funktioniert.

Re: Name des Erstellers immer gleich

Beitrag von sap_enthusiast (ForumUser / 95 / 25 / 23 ) »
Kein Ding.
Was ich aber noch vorschlagen würde, dass du in der Zukunft solche Deklarationen wie oben DATA: BEGIN OF vermeidest. Gemäß Doku sind die obsolet. Natürlich in alten Standardprogrammen wirst das noch so sehen aber in Z-Entwicklungen sind sowas eher durch Typisierung erwünscht.

Seite 1 von 1

Vergleichbare Themen

5
Antw.
628
Views
QR-Code immer gleich groß
von Ifrit » 29.03.2022 15:42 • Verfasst in ABAP® Core
1
Antw.
1746
Views
Select Options Kleiner-Gleich
von debianfan » 16.11.2017 14:28 • Verfasst in ABAP® für Anfänger
2
Antw.
5520
Views
Datenbankselect: WHERE die ersten 3 Zeichen gleich
von Schmarsi » 18.11.2010 09:09 • Verfasst in ABAP® für Anfänger
2
Antw.
1469
Views
se16 nicht gleich wie mm03
von kostonstyle » 15.01.2008 08:55 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag



Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

Regex in where
vor 8 Stunden von tar 8 / 216
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1510
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 161
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 394

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

Regex in where
vor 8 Stunden von tar 8 / 216
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1510
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 161
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 394

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 2 Tagen von snooga87 1 / 107
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3279
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9838