Hallo zusammen
Ich bin ein absoluter Neuling, arbeite jetzt seit 2 Monaten mit Abap und SAP und habe daher noch nicht viel Erfahrung. Ich habe den Kurs ABAP Workbench Grundlagen besucht, aber ihr kennt es ja, soviel in einer Woche ins Gesicht reingeknallt bekommen
![Cool 8)](./images/smilies/icon_cool.gif)
aber so ist das Leben nunmal
Ich habe eine Frage, ich bin mir sicher es gibt viele Möglichkeiten, das Problem zu lösen. Also ich muss ein Report schreiben und 2 Buchungsarten miteinander vergleichen (CoCa und FI). Ich habe insgesamt 2 verschiedene physische Tabellen, wo ich die Einträge entnehmen muss, ich habe in beiden Tabellen eine Kundennummer, die bei beiden Tabellen absolut gleich sind, muss also als Schlüsselwort diese nehmen. Schlussendlich muss ich 2 Beträge miteinander vergleichen und den Differenz darstellen.
Die einte Tabelle ist BSAD
Da habe ich Buchungskreis (bsad-bukrs), FI Belegart(bsad-blart), Periode(bsad-zuonr), Coca Belegart(bsad-xref2), kundenr(bsad-kunnr), Vkorg(bsad-bukrs nur die ersten 3 Stellen, sonst sind es 4) und Betrag(bsad-dmbtr).
Andere Tabelle ist Z185_CCM_PRBU
Da habe ich vkorg (Z185_CCM_PRBU-adm), periode(Z185_CCM_PRBU-perio), coca belegart(Z185_CCM_PRBU-blart), betrag(Z185_CCM_PRBU-betrg) und kundenr(Z185_CCM_PRBU-adm).
Ausgeben muss ich dann Kundenr, Kundenname, Betrag prbu, betrag fi, Differenz, mwst nr welche auch in der BSAD zu finden ist, Status welche im prbu ist.
Ich habe meine Daten mal so deklariert, ich habe jeweils zwei itabs für eine Tabelle gemacht, meine Frage ist, ob ich auch alles in einem reinpacken kann?
tables: z185_ccm_prbu,
bsad,
bsid,
vbak,
zvsd_admb,
kna1.
types: begin of t_bsad, "aus der BSAD Tabelle"
kunnr like bsad-kunnr, "ADM"
blart like bsad-blart, "FI Belegart"
zuonr like bsad-zuonr, "Provisionsperiode"
bukrs like bsad-bukrs, "Buchungskreis"
xref2 like bsad-xref2, "Coca Belegart"
bukrs1 like bsad-bukrs, "Verkaufsorganisation"
dmbtr like bsad-dmbtr, "Betrag"
end of t_bsad.
types: begin of t_psbu,
vkorg like z185_ccm_prbu-adm,
perio like z185_ccm_prbu-perio,
ccbla like z185_ccm_prbu-blart,
betr like z185_ccm_prbu-betrg,
adm like z185_ccm_prbu-adm,
end of t_psbu.
data: i_psbu type table of t_psbu,
w_psbu type t_psbu.
Selection Screen sieht so aus:
report z00v_li_cc_analyse_prbu_fi message-id z00v.
include z00v_li_cc_analyse_prbu_fi_top. " global Data
selection-screen begin of block b1 with frame.
parameters: p_vkorg type vkorg memory id vko,
xperio like z185_ccm_prbu-perio obligatory.
select-options: s_adm for zvsd_admb-kunnr matchcode object debi,
s_fibla for bsad-blart default 'CC',
s_ccbla for bsad-xref2.
selection-screen end of block b1.
initialization.
xperio = sy-datum. "aktuelles Datum"
* -------------------------------------------------------------------*
include z00v_li_cc_analyse_form.
* -------------------------------------------------------------------*
start-of-selection.
perform itab_holen.
*PERFORM liste.
Perform itab holen habe ich momentan nur das drinne:
form itab_holen .
clear: i_bsad, w_bsad.
select kunnr blart zuonr bukrs xref2 bukrs dmbtr from bsad into corresponding fields of table i_bsad
where kunnr in s_adm
and blart in s_fibla
and xref2 in s_ccbla.
loop at i_bsad into w_bsad.
endloop.
Hmm wie muss ich jetzt weiter machen?