SAP Jobsuche bei DV-Treff
John_Wayne82
vor 12 Jahre
Hallo,

ich will nochmal die Aufgabenstellung zusammenfassen:

das Abap Programm soll folgendes leisten: Es soll in der Selektionsmaske eine Matnr. Eingegeben werden z.B. Material P-100. Dann sollen alle verfügbaren Bestände auf Werksebene angezeigt werden. Wichtig ist nur, dass man hier mit der Datenbanktabelle Mard arbeitet. Ich hab schon eine Lösung für mein Problem, allerdings soll ich das ohne den Collect-befehl machen (Wichtig)

DATA: lt_mard TYPE TABLE OF zwerk,

lt_mard2 TYPE TABLE OF zwerk,

lt_zwerkverd TYPE TABLE OF zwerkverd,

ls_mard TYPE zwerk.

SELECT-OPTIONS: so_mat FOR ls_mard-matnr.

PARAMETERS: cb_aus AS CHECKBOX.

SELECT a~meins

a~matnr

d~werks

d~labst

d~mandt

INTO CORRESPONDING FIELDS OF TABLE lt_mard

FROM mara AS a

JOIN mard AS d

ON a~matnr = d~matnr

WHERE d~matnr IN so_mat.

* COLLECT labst into lt_zwerkverd. //// es soll ohne diesen befehl auch funktionieren

LOOP AT lt_mard INTO ls_mard.

COLLECT ls_mard INTO lt_mard2.

ENDLOOP.

CLEAR ls_mard.

LOOP AT lt_mard2 INTO ls_mard.

WRITE: / ls_mard-matnr,

ls_mard-werks,

ls_mard-labst,

ls_mard-meins.

ENDLOOP.

IF cb_aus = 'X'.

MODIFY zwerk FROM table lt_mard2.

IF sy-subrc = 0.

MESSAGE s017(zabap).

ELSE.

MESSAGE s018(zabap).

ENDIF.

endif.

zwerk beinhaltet die Datenelemente werks, matnr, labst, mandt, meinst,

Förderer

JHL
  • JHL
  • SAP Forum - Guru
vor 12 Jahre
Und was möchtest du nun von uns? sollen wir dein Programm umschreiben so dass es kein Collect statement mehr hat?
PrinzJohn
vor 12 Jahre
Moin,

man kann die Welt auf rund programmieren. Wofür wird die 2. Tabelle gebraucht. Die Daten sind doch schon durch den Select in einer Tabelle. Warum nicht die ausgeben ?

Das der verfügbare Bestand in der Mard steht halte ich für unwahrscheinlich. In der MARD steht der Bestand. Die Verfügbarkeit steht dort definitiv nicht. Es sei den das Unternehmen hat keine Abgänge 😉 Aber dann ist es auch schnell pleite 😉 und braucht den Report nicht.

Sorry für den Kommentar.