SAP Jobsuche bei DV-Treff
Matze79
  • Matze79
  • SAP Forum - User Thema Starter
vor 11 Jahre
Hallo,

ich baue gerade einen Query um alle Auftragspositionen mit diversen Daten nach Excel zu holen, um eine tabellarische Übersicht aller Kundenaufträge zu erhalten. In den Lieferabrufpositionen gibt es nun zwei Felder: "Auftragsmenge" und "offene Menge". Aufgrund von Ware in transit sind die Werte unterschiedlich.

Kennt jemand eine Möglichkeit, auf das Feld "offene Menge" je Abrufdatum in einem Query zuzugreifen oder es zu errechnen?

Liebe Grüße

Matthias

Förderer

wreichelt
vor 11 Jahre
Halo Matthias,

die offene Menge wird zum Zeitpunkt des Ausführens einer Transaktion (z.B. VL10E) dynamisch errechnet....die SAP benutzt den FB RV_SCHEDULE_CHECK_DELIVERIES.....und dann klappt auch mit den offenen Mengen

Ob du den FB so ohne weiteres in der Query nutzen kannst ist mir aber so nicht klar.

Gruß Wolfgang

Matze79
  • Matze79
  • SAP Forum - User Thema Starter
vor 11 Jahre
Hallo Wolfgang,

vielen Dank für den Tip. Der FB ist wohl die einzige Möglichkeit. Nachfolgenden Code teste ich nun, um für _eine_ Lieferabrufeinteilung die "offene Menge" zu erhalten.


DATA: lv_vbeln TYPE vbak-vbeln,
lv_vbelp TYPE vbap-posnr,
lv_etenr TYPE vbep-etenr.

DATA: lt_vbap TYPE TABLE OF vbapvb,
ls_vbap TYPE vbapvb,
lt_vbup TYPE TABLE OF vbupvb,
lt_vbep TYPE TABLE OF vbepvb,
lt_vbep2 TYPE vbepvb,
ls_vbep type vbepvb,
ls_makt type makt,
lt_vbfa TYPE TABLE OF vbfavb.

lv_vbeln = VBAP-VBELN.
lv_vbelp = VBAP-POSNR.
lv_etenr = VBEP-ETENR.
  
SELECT * FROM vbap INTO TABLE lt_vbap WHERE vbeln = lv_vbeln.
SELECT * FROM vbup INTO TABLE lt_vbup WHERE vbeln = lv_vbeln.
SELECT * FROM vbfa INTO TABLE lt_vbfa WHERE vbelv = lv_vbeln
ORDER BY PRIMARY KEY.
SORT lt_vbfa BY mandt vbelv posnv vbeln posnn vbtyp_n.
SELECT * FROM vbep INTO TABLE lt_vbep WHERE vbeln = lv_vbeln.
CALL FUNCTION 'RV_SCHEDULE_CHECK_DELIVERIES'
EXPORTING
fbeleg = lv_vbeln
fposnr = lv_vbelp
TABLES
fvbfa = lt_vbfa
fvbup = lt_vbup
fxvbep = lt_vbep
fvbap = lt_vbap
EXCEPTIONS
OTHERS = 3.

READ TABLE lt_vbep INTO lt_vbep2
WITH KEY 
  VBELN = lv_vbeln
  POSNR = lv_vbelp
  ETENR = lv_etenr.

ZOFFEN = lt_vbep2-OLFMNG.