(LKW)Bedarfsvorschau je Debitor


Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV

Moderatoren: Jan, Steff

(LKW)Bedarfsvorschau je Debitor

Beitragvon owny » 21.03.2019, 10:41

Hallo zusammen,

ich stehe bei einer Query-Erstellung etwas auf dem Schlauch.
Ich befülle eine eigene Datenstruktur mittels Datenleseprogramm wie folgt (siehe Quellcode unten):
Sachnummer Debitor Bedarf heute Bedarf heute+1
4711 0815
4712 0815
4713 0815
[...]

Die Bedarfe fülle ich in der Satzverarbeitung mittels Fuba MD_STOCK_REQUIREMENTS_LIST_API und der Table gt_mdezx (siehe Quellcode unten).
In der Satzverarbeitung ergänze ich daraufhin noch eine Zusatzvariable LKW_Vol je Tag (Errechnet durch Bedarf / Packstückinhalt * Packstückvolumen).

Mein Problem:
Ich möchte nicht für jede Sachnummer & Kunde im Endergebnis eine Zeile ausgegeben haben, sondern eine Gesamtsumme der Bedarfe und LKW Volumen je Kunde.
Die Sachnummer ist aufgrund der Berechnung des LKW Volumens und der Bedarfe aber unverzichtbar.

Ich glaube, dass ich in der Logik einen kompletten Denkfehler habe...

Mein gewünschtes Ergebnis:
Debitor Bedarf heute Bedarf heute +1 LKW_Vol heute LKW_Vol heute+1
0815 1000 St. 2000 St. 1,2 2,4

Mein Datenleseprogramm:

Code: Alles auswählen
data:
  /DCA/P000_E1256_ALV_OUTPUT     type /DCA/P000_E1256_ALV_OUTPUT    ,
  it_data type standard table of /DCA/P000_E1256_ALV_OUTPUT    ,
  mapl type mapl,
  vbap type vbap,
  vbpa type vbpa.

select mapl~matnr VBPA~KUNNR as KUNNR
      from ( MAPL
             inner join VBAP
             on  VBAP~MATNR = MAPL~MATNR
             and VBAP~WERKS = MAPL~WERKS
             inner join VBPA
             on  VBPA~VBELN = VBAP~VBELN )
      into corresponding fields of table it_data
           where
    MAPL~MATNR in pa_matnr
             and MAPL~WERKS in pa_werk
             and MAPL~PLNTY = 'N'
             and MAPL~LOEKZ = ''
             and VBAP~ABGRU = ''
             and VBAP~PSTYV in pa_PSTYV
             and VBPA~PARVW = 'WE'
             and VBPA~KUNNR in pa_WE
             and VBPA~POSNR = ' '
    group by mapl~matnr kunnr.

loop at it_data assigning <struc>.
  move-corresponding <struc> to /DCA/P000_E1256_ALV_OUTPUT.
endloop.


Meine Satzverarbeitung:
Code: Alles auswählen
CALL FUNCTION 'MD_STOCK_REQUIREMENTS_LIST_API'
  EXPORTING
    MATNR                          = /DCA/P000_E1256_ALV_OUTPUT-matnr
    WERKS                          = pa_werk-low
*    ERGBZ                          = 'SAP00002'
 IMPORTING
   E_MT61D                        = STR_MT61D
   E_MDKP                         = STR_MDKP
 TABLES
      MDEZX                      = gt_mdezx
*"      MDSUX STRUCTURE  MDSU OPTIONAL
 EXCEPTIONS
   MATERIAL_PLANT_NOT_FOUND       = 1
   PLANT_NOT_FOUND                = 2
   OTHERS                         = 3
          .
IF SY-SUBRC = 0.
*Bezeichnung
  /DCA/P000_E1256_ALV_OUTPUT-MAKTX = STR_MT61D-MAKTX.
*Disponent
  /DCA/P000_E1256_ALV_OUTPUT-DISPO = str_mdkp-DISPO.
*MD04 Datensätze lesen
  loop at gt_mdezx.
*Kundenbedarfe und Auslieferung
    If gt_mdezx-Delkz = 'VE' or gt_mdezx-Delkz = 'VC'
       or gt_mdezx-Delkz = 'VJ' or gt_mdezx-Delkz = 'SB'
       or gt_mdezx-Delkz = 'AR' or gt_mdezx-Delkz = 'BB'.
      lc_va_aktdatumplusx = sy-datum.
      if gt_mdezx-PLAAB = '02'.
*Bedarfe pro Tag zuweisen für die nächsten x Tage
* Rückstand und heute
         if gt_mdezx-DAT00 <= lc_va_aktdatumplusx.
            if gt_mdezx-Kunnr = /DCA/P000_E1256_ALV_OUTPUT-Kunnr or gt_mdezx-Delkz = 'SB'.
               /DCA/P000_E1256_ALV_OUTPUT-BEDD0 = /DCA/P000_E1256_ALV_OUTPUT-BEDD0 + gt_mdezx-MNG01.
            endif.
        endif.
&#91;...&#93;
  endloop.
  endif.
if /DCA/P000_E1256_ALV_OUTPUT-BEDD1 <> 0.
LKW_VOL1 = /DCA/P000_E1256_ALV_OUTPUT-BEDD0 / LTFM * LTVOL / 85.


Ich hoffe, Ihr könnt mein Problem nachvollziehen und mir Tipps geben, wie ich meine gewünschte Datenstruktur erreiche.
Vermutlich denke ich einfach viel zu kompliziert.

Danke und Grüße,
owny
owny
ForumUser
 
Beiträge: 3
Registriert: 21.03.2019, 09:51
Dank erhalten: 0 mal
Ich bin: sonstiges

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: (LKW)Bedarfsvorschau je Debitor

Beitragvon wreichelt » 21.03.2019, 12:32

Hallo,

ich möchte zum ersten Teil 'select mapl~matnr VBPA~KUNNR as KUNNR' eine Anmerkung machen.
Evtl. ist es einfacher die Tabelle VAPMA zu lesen, dort sollten die notwendigen Informationen enthalten sein.

In der Ergebnis Tabelle '/DCA/P000_E1256_ALV_OUTPUT' könntest du nach Abschluss der Selektion
einen 'Delete Adjacent Duplicates' machen , damit sollte je Sachnummer und Kundennummer nur ein Eintrag vorhanden sein.

Gruß Wolfgang
wreichelt
Expert
 
Beiträge: 679
Registriert: 17.07.2005, 09:46
Wohnort: Hessen
Dank erhalten: 114 mal
Ich bin: sonstiges

Re: (LKW)Bedarfsvorschau je Debitor

Beitragvon owny » 21.03.2019, 12:44

Hallo Wolfgang,

danke für deine schnelle Antwort.
Ich bin bereits so weit, dass ich je Sachnummer & Debitor nur noch einen Ausgabewert erhalte.

Mein Problem ist jedoch, dass ich im Output nur einen Eintrag je Debitor erhalten möchte.
Ich müsste quasi eine erste Tabelle mit Sachnummer, Debitor, Mengen und LKW Volumen generieren und eine zweite Tabelle als Ergebnis ausgeben, in der ich die Bedarfe und LKW Volumen auf den Debitor alleine aus Tabelle 1 aufsummiere.
owny
ForumUser
 
Beiträge: 3
Registriert: 21.03.2019, 09:51
Dank erhalten: 0 mal
Ich bin: sonstiges

Re: (LKW)Bedarfsvorschau je Debitor

Beitragvon wreichelt » 21.03.2019, 12:54

Hallo,

im ALV kann ich ja die Summe je Debitor bilden und nur diese dann Anzeigen.

So bleiben die anderen Daten vorhanden und könnten untersucht werden wenn dies mal notwendig wäre.

Gruß Wolfgang
wreichelt
Expert
 
Beiträge: 679
Registriert: 17.07.2005, 09:46
Wohnort: Hessen
Dank erhalten: 114 mal
Ich bin: sonstiges

Re: (LKW)Bedarfsvorschau je Debitor

Beitragvon owny » 21.03.2019, 13:31

Hallo Wolfang,

wie funktioniert das? Steh gerade bisschen auf dem Schlauch.
owny
ForumUser
 
Beiträge: 3
Registriert: 21.03.2019, 09:51
Dank erhalten: 0 mal
Ich bin: sonstiges

Re: (LKW)Bedarfsvorschau je Debitor

Beitragvon wreichelt » 21.03.2019, 14:54

Hallo,

das wird im layout vom ALV dann eingestellt.

Gruß Wolfgang
wreichelt
Expert
 
Beiträge: 679
Registriert: 17.07.2005, 09:46
Wohnort: Hessen
Dank erhalten: 114 mal
Ich bin: sonstiges


Zurück zu ABAP® Core

  Aktuelle Beiträge   
Steuerliches Abgangsland in Verkaufsbeleg ändern
vor 4 Stunden von Julia611 0 Antw.
XML hochladen, Abschnitte suchen, Abschnitte als XML zurück
vor 3 Stunden von deejey 1 Antw.
(LKW)Bedarfsvorschau je Debitor
vor 2 Tagen von wreichelt 5 Antw.
Lieferplan, Einteilungen, Feinabrufe
vor 3 Tagen von bapimueller 0 Antw.
gelöst Smartforms Struktur rechtsbündig
vor 3 Tagen von qyurryus 3 Antw.

  Ähnliche Beiträge beta
Ansprechpartner zum Debitor anlegen
12.07.2011, 13:14 von ralf.wenzel 8 Antw.
Offene Forderungen Debitor
24.04.2013, 12:43 von Katsche 2 Antw.
BAPI für Anlage Ansprechpartner zum Debitor
22.09.2006, 11:46 von Asaph 1 Antw.
Debitor Adressdaten ändern - über Funktionsbaustein ?
24.10.2008, 10:30 von Steff 1 Antw.
Zuordnung Adressänderung Debitor iDoc ohne KUNNR
02.03.2004, 14:01 von tom 1 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder