SAP Jobsuche bei DV-Treff
Andre2602
  • Andre2602
  • SAP Forum - Neuling Thema Starter
vor ein Jahr
Hallo zusammen,

ich habe mich an meinem ersten SAP Report probiert. Dieser soll alle Angebote selektieren, die das gültig bis Datum überschritten haben.

Leider updatet mir ersten immer nur die erste Position im Angebot (deshalb das Do 99). Zweites Problem ist, dass ich das Änderungsprotokoll im Angebot nicht aktualisiert, sondern das hart in die Tabelle geschrieben wird.

Hier der Report:

REPORT Z_TEST_ANGEBOTE_ABSAGEN.

TABLES: vbak, vbap.

DATA: it_vbak TYPE STANDARD TABLE OF vbak,

wa_vbak TYPE vbak,

it_vbap TYPE STANDARD TABLE OF vbap,

wa_vbap TYPE vbap.

DO 99 TIMES.

IF sy-mandt = '900'.

SELECT *

FROM vbak

INTO TABLE it_vbak

WHERE vkorg IN ('8000', '8910', '8920')

AND auart IN ('ZBAG', 'ZBAL', 'ZBAS')

AND bnddt < sy-datum.

LOOP AT it_vbak INTO wa_vbak.

SELECT *

FROM vbap

INTO TABLE it_vbap

WHERE vbeln = wa_vbak-vbeln

AND abgru = ' '.

LOOP AT it_vbap INTO wa_vbap.

SELECT *

FROM vbap

INTO TABLE it_vbap

WHERE vbeln = wa_vbak-vbeln

AND posnr = wa_vbap-posnr

AND abgru = ' '.

IF sy-subrc = 0.

wa_vbap-abgru = 'Z1'.

UPDATE vbap FROM wa_vbap.

ENDIF.

ENDLOOP.

ENDLOOP.

MESSAGE 'Es wurden Angebote geändert'(dat) TYPE 'S'.

ENDIF.

ENDDO.

Alpmann
vor ein Jahr
Hallo Andre2602,

Belege einfach per SQL Update zu ändern ist Schmutz. Das sollte man nicht machen.

Eine SD Beleg kannst du mit dem Baustein BAPI_SALESORDER_CHANGE anpassen. Dann bekommst du auch Änderungsbelege.

Schau mal hier:

https://www.abapforum.com/forum/viewtopic.php?t=23480 

Mit freundlichen Grüßen

Matthias Alpmann