0% fanden dieses Dokument nützlich (0 Abstimmungen)
19 Ansichten4 Seiten

Excel Ole Abap

Dieses Dokument enthält den Code zur Erstellung eines Excel-Zusammenfassungsberichts aus SAP-Daten. Es durchläuft Transaktionsdaten, extrahiert wichtige Felder und fügt die Werte in Zellen auf mehreren Blättern ein. Formeln werden verwendet, um Gesamtsummen zu berechnen. Der Bericht wird mit einem angegebenen Dateinamen und Dateiformat gespeichert, bevor die Excel-Anwendung geschlossen wird.

Hochgeladen von

ScribdTranslations
Copyright
© © All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
0% fanden dieses Dokument nützlich (0 Abstimmungen)
19 Ansichten4 Seiten

Excel Ole Abap

Dieses Dokument enthält den Code zur Erstellung eines Excel-Zusammenfassungsberichts aus SAP-Daten. Es durchläuft Transaktionsdaten, extrahiert wichtige Felder und fügt die Werte in Zellen auf mehreren Blättern ein. Formeln werden verwendet, um Gesamtsummen zu berechnen. Der Bericht wird mit einem angegebenen Dateinamen und Dateiformat gespeichert, bevor die Excel-Anwendung geschlossen wird.

Hochgeladen von

ScribdTranslations
Copyright
© © All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
Sie sind auf Seite 1/ 4

DATEN: WT_EXCEL TYPE TABELLE VON TY_SUMM,

WA_EXCEL TYP TY_SUMM.


Anwendungstyp ole2_object
Arbeitsbuch TYPE ole2_object
blatttyp ole2_objekt
Zellen TYPE ole2_object
COLUMN TYPE ole2_object
bereich TYP ole2_objekt.
CONSTANTS: row_max TYPE i VALUE 256.
DATEN: Reihe Typ i,
colTYPEi
t1_row_start(2) TYP N,
t1_reihen_ende(2) TYP N,
t2_reihe_start(2) TYP N,
t2_row_end(2) TYP N.

DATUM: adv_pymt_date(12)
par_pymt_date(12)
fin_pymt_date(12).

SUR_CHG
GST-TYP P DEZIMALEN 2
GST_PRO
SCHARGE TYPE P DECIMALS 2
R_BETRAG ART P DEZIMALEN 2,
DATUM1(30),
DATUM2(30),
FORMEL(100).

CREATE OBJECT application 'excel.application'.


SET PROPERTY OF application 'visible' = 1.
CALL METHOD OF application 'Workbooks' = workbook.
RUF METHODE DES Arbeitsbuchs 'Hinzufügen' auf.

*Erstellen Sie das erste Excel-Blatt


RUF METHODEN DER Anwendung 'Arbeitsblätter' = Blatt auf
EXPORTIEREN #1 = 1.
RUFEN SIE DIE METHODE DES Blattes 'Aktivieren' auf.
SET PROPERTY OF sheet 'Name' = 'Sheet1'.

FÜHREN SIE fill_cell AUS VERWENDEN 1 6 1 'ZUSAMMENFASSUNGSBERICHT' Blatt.


CALL METHOD OF sheet 'RANGE' = range
'A1'
#2 = 'F1'.
RUFEN SIE DIE METHODE VON Bereich 'AUSWÄHLEN'.
SET PROPERTY OF range 'MERGE' = 1.
SETPROPERTYOF range 'Alignment' = '3'.

FÜHREN SIE fill_cell AUS UNTER Verwendung 2 1 1 'Dienstleistungsgebühr' Tabelle.


FÜHREN SIE fill_cell USING 3 1 1 'RECHNUNGSNUMMER' sheet aus.
FÜHREN SIE fill_cell AUS VERWENDEN 3 5 1 'SGD' Blatt.
FÜHREN SIE fill_cell AUS UNTER VERWENDUNG VON 3 6 1 'SGD' sheet.

t1_row_start = 4.
LOOP AT WT_0510 WHERE CHK = WC_TRUE AND FINAL_PYMT_IND = WC_TRUE
UND REQ_ADV_PYMT > 0.
KLAR WA_SUMM.
WA_SUMM INV_NO = WT_0510 INV_NO.
WA_SUMM_SERV_CHARGE_RATE = WT_0510_SERV_CHARGE_RATE.
WA_SUMM_INV_AMT = WT_0510_INV_AMT.
WA_SUMM SERV_CHARGE_AMT = WT_0510 SERV_CHARGE_AMT.
WA_SUMM ADV_PYMT_DATE = WT_0510 ADV_PYMT_DATE.
WA_SUMM PAR_PYMT_DATE = WT_0510 PAR_PYMT_DATE.
WA_SUMMFACT_DISC_RATE = WT_0510FACT_DISC_RATE.
WA_SUMM_PAR_PYMT_AMT = WT_0510_PAR_PYMT_AMT.
WA_SUMM P_FACT_DISC_AMT = WT_0510 P_FACT_DISC_AMT.
WA_SUMM FACT_DISC_AMT = WT_0510 FACT_DISC_AMT.
WA_SUMM_FIN_PYMT_DATUM = WT_0510_FIN_PYMT_DATUM.
WA_SUMMREQ_ADV_PYMT=WT_0510REQ_ADV_PYMT.
APPEND WA_SUMM ZU WT_SUMM.
ENDLOOP.

*col = 1.
SCHLEIFE AT WT_0510 WO CHK = WC_TRUE UND FINAL_PYMT_IND = WC_TRUE
UND REQ_ADV_PYMT > 0.

IF WT_0510 INV_NO IST NICHT INITIAL.


row = sy tabix + 3.
col=1.
FÜHREN Sie fill_cell unter Verwendung von Zeile Spalte 0 WT_0510 INV_NO Tabelle. Spalte = Spalte + 2 aus.
FÜHRE fill_cell AUS UNTER Verwendung von Zeile Spalte 0 WT_0510_SERV_CHARGE_RATE Blatt. Spalte = Spalte +
1.

FÜHREN SIE fill_cell AUS VERWENDEN row col 0 'von' sheet. col = col + 1.
FÜHREN SIE fill_cell AUS VERWENDEN von row col 0 WT_0510 INV_AMT sheet. col = col + 1.

FÜHRE fill_cell AUS UNTER Verwendung von row col 0 WT_0510SERV_CHARGE_AMT sheet.
SUR_CHG = SUR_CHG + WT_0510 SERV_CHARGE_AMT.
ENDIF.
ENDLOOP.

row = row + 1.
FÜHREN Sie fill_cell VERWENDEN Zeile Spalte 1 SUR_CHG Tabelle.

row = row + 1.
FÜHREN Sie fill_cell USING Zeile 2 0 'Hinzufügen 7% MwSt.' Blatt.
GST = SUR_CHG * GST_PER.
FÜHREN Sie_ausfüllen_zelle VERWENDEN reihe spalte 1 GST tabelle.
Zeile = Zeile + 1.
SCHARGE = SUR_CHG + GST.
FÜHREN Sie fill_cell USING row col 1 SCHARGE Tabelle aus.
row.

reihe = reihe + 2.
FÜHREN Sie fill_cell USING Zeile 1 1 'Faktorisierungsrabatt' Tabelle.
row + 1.

SCHLEIFE AT WT_0510 WO CHK = WC_TRUE UND FINAL_PYMT_IND = WC_TRUE


UND REQ_ADV_PYMT > 0.
verkettieren WT_0510 ADV_PYMT_DATE+6(2)'/'WT_0510 ADV_PYMT_DATE+4(2)'/'WT_0
510 ADV_PYMT_DATUM+2(2) in adv_pymt_datum.
konkatenieren WT_0510 PAR_PYMT_DATE+6(2) '/' WT_0510 PAR_PYMT_DATE+4(2)'/' WT_0
510 PAR_PYMT_DATE+2(2) in par_pymt_date.
verkettieren WT_0510 FIN_PYMT_DATE + 6(2) '/' WT_0510 FIN_PYMT_DATE + 4(2)'/' WT_0
510 FIN_PYMT_DATUM+2(2) in fin_pymt_datum.
VERKETTEN('(' ADV_PYMT_DATE ' ' ' ' PAR_PYMT_DATE ')') IN DATE1.
VERKETTEN('(' ADV_PYMT_DATE ' ' FIN_PYMT_DATE ')') IN DATE2.

IF WT_0510 INV_NO IS NOT INITIAL.


zeile = zeile + 1.
col=1.
FÜHRE fill_cell AUS VERWENDE row col 0 WT_0510 INV_NO sheet. col = col + 1.
FÜHRE fill_cell AUS UNTER VERWENDUNG VON row col 0 DATE1 sheet. col = col + 1.
FÜHREN SIE fill_cell AUS UNTER VERWENDUNG von row col 0 WT_0510 FACT_DISC_RATE sheet. col = col + 1.

FÜHREN Sie fill_cell USING row col 0 'von' Blatt. col = col + 1.
FÜHRE fill_cell AUS VERWENDE row col 0 WT_0510 PAR_PYMT_AMT sheet. col = col + 1.

FÜHREN Sie fill_cell USAGE row col 0 WT_0510 P_FACT_DISC_AMT sheet aus.

row = row + 1.
col=1.
FÜHREN SIE fill_cell AUS UNTER VERWENDUNG von row col 0 WT_0510 INV_NO sheet. col = col + 1.
FÜHRE fill_cell AUS UNTER Verwendung von row col 0 DATE2 sheet. col = col + 1.
FÜHREN SIE fill_cell AUS UNTER VERWENDUNG von row col 0 WT_0510 FACT_DISC_RATE sheet. col = col + 1.

FÜHREN SIE fill_cell USING row col 0 'von' sheet. col = col + 1.
R_AMT = WT_0510REQ_ADV_PYMT WT_0510PAR_PYMT_AMT.
FÜHRE fill_cell AUS VERWENDE row col 0 R_AMT sheet. col = col + 1.

FÜHRE fill_cell AUS UNTER Verwendung von Zeile Spalte 0 WT_0510 FACT_DISC_AMT Blatt.

ENDIF.
ENDLOOP.
t2_row_end = Zeile.

row = row + 1.
=SUM(F't2_row_start':F't2_row_end') IN FORMEL.
FÜHREN Sie fill_cell MIT row col 1 formel arbeitsblatt aus.

col=col1.
KLARE FORMEL.
=SUM(E't2_row_start':E't2_row_end')
FÜHRE fill_cell AUS UNTER VERWENDUNG von Zeile Spalte 1 Formel Blatt.

row = row + 1.
col=2.
FÜHRE fill_cell AUS UNTER Verwendung von Zeile col 0 'Addiere GST-befreit' Blatt. col = 6.
FÜHRE fill_cell AUS UNTER Verwendung von row col 0 '0,00' sheet.

t2_row_start = row.
t2_row_end = t2_row_end + 1.

=SUM(F't2_row_start',F't2_row_end') IN FORMEL.
row = row + 1.
FÜHREN Sie fill_cell USING row col 1 formula sheet aus.

row = row + 1.
col=2.
KLARE FORMEL.
t2_row_end = t2_row_end + 2.
=SUMM(F't1_row_end',F't2_row_end') IN FORMEL.
FÜHRE fill_cell AUS VERWENDUNG row col 1 'GESAMT ZU ZAHLEN' sheet. col = 6.
FÜHRE fill_cell AUS UNTER Verwendung von Zeile Spalte 1 Formel Blatt.

RUF METHODEN DES Anwendungs-C' SPALTEN' = SPALTE.


RUFEN SIE DIE METHODE DER SPALTE 'AUTOFIT' AUF.

*Speichern Sie die Excel-Tabelle unter einem bestimmten Dateinamen


RUFEN SIE DIE METHODE DES Blattes 'Speichern unter' AUF
EXPORTIEREN #1 = wf_dateiname "dateiname
Dateiformat

Schließt das Excel-Fenster, Daten gehen verloren, wenn sie nicht gespeichert werden.
*SETZE EIGENSCHAFT DES Anwendungs 'sichtbar' = 0.

ENDFORM.

Das könnte Ihnen auch gefallen