ALVGRID
Hi,
I develop a program to display the informations using alvgrid.
my goal is to create several "top-of-page" for each changing of a customer and the details displaying alvgrid.
thx in advance.
Use meaningful subject
Edited by: Vijay Babu Dudla on Jan 19, 2009 5:23 AM
hi,
u can have 2 headings at a time.
have a look,
FORM Z_LISTHEADER USING P_I_LISTHEADER TYPE SLIS_T_LISTHEADER.
DATA: L_LISTHEADER TYPE SLIS_LISTHEADER.
REFRESH P_I_LISTHEADER.
CLEAR L_LISTHEADER.
L_LISTHEADER-TYP = 'H'.
L_LISTHEADER-INFO = TEXT-001.
APPEND L_LISTHEADER TO P_I_LISTHEADER.
CLEAR L_LISTHEADER.
L_LISTHEADER-TYP = 'H'.
L_LISTHEADER-INFO = TEXT-002.
APPEND L_LISTHEADER TO P_I_LISTHEADER.
*& Form GRID_TITLE
FORM grid_title .
v_gridtitle = ' ALV FOR SALES ORDER'.
ENDFORM. " GRID_TITLE
*TOP OF PAGE.
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = i_listheader.
ENDFORM. "TOP_OF_PAGE
u can have multiple headings using listheader.
regards,
Pritha.
Similar Messages
-
Want to convert Sap standard report into alvgrid
HI PLEASE HELP THIS IS CODE BELOW OF SAP STANDARD REPORT CODE WANT TO CONVERT INTO ALVGRID
LEAS HELP
REPORT RFKOPR00
MESSAGE-ID FR
LINE-SIZE 132
NO STANDARD PAGE HEADING.
TABLES: B0SG,
LFA1, "Daten auf Mandantenebene
LFB1, "Daten auf Buchungskreisebene
LFB5, "Mahndaten
LFC1, "Verkehrszahlen
LFC3, "Sonderumsätze
BSIK, "Offend Posten
BKPF,
BSEG,
BSEGA.
TABLES:
BHDGD,
T001,
T001S,
*T001S,
T074T,
T074U,
TBSL,
TBSLT,
TCURX,
ADRS,
RFPDO,
RFPDO1,
RFSDO,
FAEDE.
FIELD-SYMBOLS: .
*Hilfsfelder
*---Prüfung ob mehrere Hauswährungen verarbeitet werden.
DATA: CFAKT(3) TYPE P,
CHECKSALDO(8) TYPE P,
CHECKAGOBL(8) TYPE P,
WAERS LIKE T001-WAERS,
WFLAG(1) TYPE P VALUE '0',
WAERS2 LIKE T001-WAERS,
WFLAG2(1) TYPE P VALUE '0',
PH-LINE(132) TYPE C.
*---Ermittlung aktuelles Geschäftsjahr über Funktionsbaustein.
DATA: CURRY LIKE BSIK-GJAHR.
*-Ermittlung Zahlungseingang bei Zahlungen mit Skontoabzug--
*ATA: ZVTAGE LIKE KNB4-VZS01, "Verzugstage
ZVSKONTO(8) TYPE P, "Zahlungsvolumen bei Zahlung mit Skonto
ZVNETTO(8) TYPE P, "Zahlungsvolumen bei Nettozahlung
ZVVERZUG(8) TYPE P, "Verzugstage
ZVMALVZ(8) TYPE P, "Zahlungvolumen * Verzugstage
"KNB4-VZSxx)
ZVTYP(1) TYPE C, "Skonto oder Nettozahler
ZVPER(4) TYPE C. "Periode letze Zahlung
*---Zeilenanzahl fü Adressausgabe -
DATA: ZEILENANZAHL LIKE ADRS-ANZZL VALUE 7.
DATA: KSALDO(6) TYPE P. "Saldovortrag
BEABZUG(6) TYPE P, "Berechtigte Abzüge
UBABZUG(6) TYPE P, "Unberechtigte Abzüge
JAHRAUG(6) TYPE P, "Kumulierter Jahresausgleich
KUMZINS(6) TYPE P. "Kumulierter Zins
Ausgabe der Mahndaten pro Buchungskreis.
DATA: INDEX(2) TYPE P VALUE 0.
Hilfsfelder
DATA: HF(1) TYPE C.
DATA: TXT_1(78) TYPE C, "Mahnbereich
TXT_2(78) TYPE C, "Mahnart
TXT_3(78) TYPE C, "Mahnempfänger
TXT_4(78) TYPE C, "Mahndatum
TXT_5(78) TYPE C, "Mahnstufe
TXT_6(78) TYPE C, "Mahnsperre
TXT_7(78) TYPE C, "Mahnverfahren
TXT_8(78) TYPE C. "Sachbearbeiter
DATA: BEGIN OF XMAHN OCCURS 10.
INCLUDE STRUCTURE LFB5.
DATA: END OF XMAHN.
Hilfsfelder
DATA: CHAR1(1) TYPE C.
DATA: FLAG1(1) TYPE C.
DATA: INTENS(1) TYPE C.
DATA: FLAG2(1) TYPE C.
*---- K o n s t a n t e n -
*---- DNULL zum Vergleich mit Datumsfeldern -
DATA: DNULL(8) TYPE C VALUE '00000000'.
*---- DECKBLATT = 'N' ==> Kein Deckblatt bei NEW-SECTION -
DATA: DECKBLATT TYPE C VALUE 'N'.
*---- 'H' = Hilfsfelder, die jederzeit fuer Berechnungen ver- -
*---- wendet werden koennen. -
DATA: BEGIN OF H,
STICHTAG(8),
OFFSET(2) TYPE P,
OFFSE1(2) TYPE P,
SOLL LIKE LFC1-UM01S,
HABEN LIKE LFC1-UM01H,
SALDO LIKE LFC1-UMSAV,
SHBKZ LIKE LFC3-SHBKZ, "Sonderhauptbuchkennzeichen
SALDV LIKE LFC3-SALDV, "Sonderhauptbuch-Saldovortrag
SHBLS LIKE LFC3-SOLLL, "Sonderhauptbuch-Lfd.-Saldo
SHBSL LIKE LFC3-SOLLL, "Sonderhauptbuch-Lfd.-SOLL
SHBHB LIKE LFC3-HABNL, "Sonderhauptbuch-Lfd.-HABEN
GBNUM LIKE lfC1-GBN01, "Geschaeftsber. Nummer ECKERT
GBUMS LIKE lfC1-GBU01, "Geschaeftsber. Umsatz
TEXT(15),
UMLOW LIKE BSIK-UMSKZ, "Umsatzkennzeichen
UMHIG LIKE BSIK-UMSKZ, "Umsatzkennzeichen
END OF H.
---- 'C' = Zwischenergebnisse, die aus Feldern des C-Segmentes ---
*---- berechnet werden. -
DATA: BEGIN OF C,
SALDO TYPE P, "Saldo
UMKZ1 LIKE LFC3-SHBKZ, "SHBKZ 1
SUMS1 TYPE P, "Sonderumsatz 1
UMKZ2 LIKE LFC3-SHBKZ, "SHBKZ 2
SUMS2 TYPE P, "Sonderumsatz 2
UMKZ3 LIKE LFC3-SHBKZ, "SHBKZ 3
SUMS3 TYPE P, "Sonderumsatz 3
UMKZ4 LIKE LFC3-SHBKZ, "SHBKZ 4
SUMS4 TYPE P, "Sonderumsatz 4
UMKZ5 LIKE LFC3-SHBKZ, "SHBKZ 5
SUMS5 TYPE P, "Sonderumsatz 5
UMKZ6 LIKE LFC3-SHBKZ, "SHBKZ 6
SUMS6 TYPE P, "Sonderumsatz 6
UMKZ7 LIKE LFC3-SHBKZ, "SHBKZ 7
SUMS7 TYPE P, "Sonderumsatz 7
UMKZ8 LIKE LFC3-SHBKZ, "SHBKZ 8
SUMS8 TYPE P, "Sonderumsatz 8
UMKZ9 LIKE LFC3-SHBKZ, "SHBKZ 9
SUMS9 TYPE P, "Sonderumsatz 9
UMKZ10 LIKE LFC3-SHBKZ, "SHBKZ 10
SUMS10 TYPE P, "Sonderumsatz 10
SONOB TYPE P, "Sonstige Umsatz-Kz
BABZG TYPE P, "Berechtigte Abzuege
UABZG TYPE P, "Unberechtigte Abzuege
KZINS TYPE P, "Zinszahlungen
KUMUM TYPE P, "Umsatz
KUMAG TYPE P, "Kum. Jahresausgleich
KREUEB TYPE P, "Kreditueberschreitung
AGOBLI TYPE P, "Gesamt-Obligo (absolut)
AGOBLI LIKE LFC1-UMSAV, "Gesamt-Obligo (absolut)
RGOBLI TYPE P, "Gesamt-Obligo (relativ)
LFTAGE(3) TYPE P, "Langfristige Überzugstage
MFTAGE(3) TYPE P, "Mittelfristige Überzugstage
KFTAGE(3) TYPE P, "Kurzfristige Überzugstage
END OF C.
---- 'C2'= Zwischenergebnisse, die aus Feldern des C-Segmentes ---
*---- berechnet werden. -
DATA: BEGIN OF C2 OCCURS 0,
BUKRS LIKE LFC1-BUKRS,
SALDO TYPE P, "Saldo
WEXOB TYPE P, "Wechsel-Obligo W,S,B
ANZOB TYPE P, "Anzahlungs-Obligo A
ZANFB TYPE P, "Zahlungs-Anforderung F
UMKZ1 LIKE LFC3-SHBKZ, "SHBKZ 1
SUMS1 TYPE P, "Sonderumsatz 1
UMKZ2 LIKE LFC3-SHBKZ, "SHBKZ 2
SUMS2 TYPE P, "Sonderumsatz 2
UMKZ3 LIKE LFC3-SHBKZ, "SHBKZ 3
SUMS3 TYPE P, "Sonderumsatz 3
UMKZ4 LIKE LFC3-SHBKZ, "SHBKZ 4
SUMS4 TYPE P, "Sonderumsatz 4
UMKZ5 LIKE LFC3-SHBKZ, "SHBKZ 5
SUMS5 TYPE P, "Sonderumsatz 5
UMKZ6 LIKE LFC3-SHBKZ, "SHBKZ 6
SUMS6 TYPE P, "Sonderumsatz 6
UMKZ7 LIKE LFC3-SHBKZ, "SHBKZ 7
SUMS7 TYPE P, "Sonderumsatz 7
UMKZ8 LIKE LFC3-SHBKZ, "SHBKZ 8
SUMS8 TYPE P, "Sonderumsatz 8
UMKZ9 LIKE LFC3-SHBKZ, "SHBKZ 9
SUMS9 TYPE P, "Sonderumsatz 9
UMKZ10 LIKE LFC3-SHBKZ, "SHBKZ 10
SUMS10 TYPE P, "Sonderumsatz 10
SONOB TYPE P, "Sonstige Umsatz-Kz
BABZG TYPE P, "Berechtigte Abzuege
UABZG TYPE P, "Unberechtigte Abzuege
KZINS TYPE P, "Zinszahlungen
KUMUM TYPE P, "Umsatz
KUMAG TYPE P, "Kum. Jahresausgleich
KREUEB TYPE P, "Kreditueberschreitung
AGOBLI TYPE P, "Gesamt-Obligo (absolut)
AGOBLI LIKE LFC1-UMSAV, "Gesamt-Obligo (absolut)
RGOBLI TYPE P, "Gesamt-Obligo (relativ)
LFTAGE(3) TYPE P, "Langfristige Überzugstage
MFTAGE(3) TYPE P, "Mittelfristige Überzugstage
KFTAGE(3) TYPE P, "Kurzfristige Überzugstage
ZVTYP(1) TYPE C, "Flag Skonto oder Nettozahler
ZVPER(6) TYPE C, "letze Zahlungsperiode
ZVVERZUG(8) TYPE P, "Durchschittliche Verzugst
END OF C2.
---- 'C3'= Zwischenergebnisse, die aus Feldern des C-Segmentes ---
*---- berechnet werden. -
DATA: BEGIN OF C3,
SALDO TYPE P, "Saldo
WEXOB TYPE P, "Wechsel-Obligo W,S,B
ANZOB TYPE P, "Anzahlungs-Obligo A
ZANFB TYPE P, "Zahlungs-Anforderung F
UMKZ1 LIKE LFC3-SHBKZ, "SHBKZ 1
SUMS1 TYPE P, "Sonderumsatz 1
UMKZ2 LIKE LFC3-SHBKZ, "SHBKZ 2
SUMS2 TYPE P, "Sonderumsatz 2
UMKZ3 LIKE LFC3-SHBKZ, "SHBKZ 3
SUMS3 TYPE P, "Sonderumsatz 3
UMKZ4 LIKE LFC3-SHBKZ, "SHBKZ 4
SUMS4 TYPE P, "Sonderumsatz 4
UMKZ5 LIKE LFC3-SHBKZ, "SHBKZ 5
SUMS5 TYPE P, "Sonderumsatz 5
UMKZ6 LIKE LFC3-SHBKZ, "SHBKZ 6
SUMS6 TYPE P, "Sonderumsatz 6
UMKZ7 LIKE LFC3-SHBKZ, "SHBKZ 7
SUMS7 TYPE P, "Sonderumsatz 7
UMKZ8 LIKE LFC3-SHBKZ, "SHBKZ 8
SUMS8 TYPE P, "Sonderumsatz 8
UMKZ9 LIKE LFC3-SHBKZ, "SHBKZ 9
SUMS9 TYPE P, "Sonderumsatz 9
UMKZ10 LIKE LFC3-SHBKZ, "SHBKZ 10
SUMS10 TYPE P, "Sonderumsatz 10
SONOB TYPE P, "Sonstige Umsatz-Kz
BABZG TYPE P, "Berechtigte Abzuege
UABZG TYPE P, "Unberechtigte Abzuege
KZINS TYPE P, "Zinszahlungen
KUMUM TYPE P, "Umsatz
KUMAG TYPE P, "Kum. Jahresausgleich
KREUEB TYPE P, "Kreditueberschreitung
AGOBLI TYPE P, "Gesamt-Obligo (absolut)
AGOBLI LIKE LFC1-UMSAV, "Gesamt-Obligo (absolut)
RGOBLI TYPE P, "Gesamt-Obligo (relativ)
LFTAGE(3) TYPE P, "Langfristige Überzugstage
MFTAGE(3) TYPE P, "Mittelfristige Überzugstage
KFTAGE(3) TYPE P, "Kurzfristige Überzugstage
ZVTYP(1) TYPE C, "Flag Skonto oder Nettozahler
ZVPER(6) TYPE C, "letze Zahlungsperiode
ZVVERZUG(8) TYPE P, "Durchschittliche Verzugst
END OF C3.
DATA: SHBETRAG LIKE BSEGA-DMSHB. "TYPE P.
*---- 'RTAB' = Rastertabelle fuer offene Posten -
DATA: BEGIN OF RTAB OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
BUKRS LIKE BSIK-BUKRS,
GSBER LIKE BSIK-GSBER,
WAERS LIKE BSIK-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
SPERR TYPE P, "gesprrte Posten
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RTAB.
*---- 'RBUS' = Rastertabelle fuer Summen pro Sachbearbeiter -
*ATA: BEGIN OF RBUS OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
BUKRS LIKE BSIk-BUKRS,
GSBER LIKE BSIk-GSBER,
WAERS LIKE BSIk-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RBUS.
*---- 'RBUK' = Rastertabelle fuer Summen pro Buchungskreis -
DATA: BEGIN OF RBUK OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
BUKRS LIKE BSIK-BUKRS,
GSBER LIKE BSIK-GSBER,
WAERS LIKE BSIK-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
SPERR TYPE P, "gesprrte Posten
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RBUK.
---- 'RSUM' = Rastertabelle pro Währung über alle Buchungskreise ---
DATA: BEGIN OF RSUM OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
BUKRS LIKE BSIk-BUKRS,
GSBER LIKE BSIk-GSBER,
WAERS LIKE BSIK-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
SPERR TYPE P, "gesperrte Posten
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RSUM.
*---- interne Tabelle für Periodenabgrenzung----
RANGES: BMONAT FOR RFPDO-DOPRBMON.
---- In die Felder RP01 bis RP05 werden dynamisch die von aussen ---
*---- eingegebenen Rasterpunkte uebertragen -
DATA: RP01(2) TYPE P, " 0
RP02(2) TYPE P, " 20
RP03(2) TYPE P, " 40
RP04(2) TYPE P, " 80
RP05(2) TYPE P, " 100
RP06(3) TYPE P, " 1
RP07(3) TYPE P, " 21
RP08(3) TYPE P, " 41
RP09(3) TYPE P, " 81
RP10(3) TYPE P. " 101
*---- In die Felder RC01 bis RC10 werden die Rasterpunkte in -
---- charakterform abgestellt. (fuer REPLACE-Funktion in Variabler -
*---- Ueberschrift) -
DATA: RC01(4) TYPE C, " 0
RC02(4) TYPE C, " 20
RC03(4) TYPE C, " 40
RC04(4) TYPE C, " 80
RC05(4) TYPE C, " 100
RC06(4) TYPE C, " 1
RC07(4) TYPE C, " 21
RC08(4) TYPE C, " 41
RC09(4) TYPE C, " 81
RC10(4) TYPE C. " 101
*---- Felder für Umsatzkennzeichen -
*---- für Ausweis der Sonderumsätze----
DATA: HUMKZ1 LIKE LFC3-SHBKZ,
HUMKZ2 LIKE LFC3-SHBKZ,
HUMKZ3 LIKE LFC3-SHBKZ,
HUMKZ4 LIKE LFC3-SHBKZ,
HUMKZ5 LIKE LFC3-SHBKZ,
HUMKZ6 LIKE LFC3-SHBKZ,
HUMKZ7 LIKE LFC3-SHBKZ,
HUMKZ8 LIKE LFC3-SHBKZ,
HUMKZ9 LIKE LFC3-SHBKZ,
HUMKZ10 LIKE LFC3-SHBKZ.
*---- GBZAEHL - In diesem Feld wird vermerkt, fuer wieviele Ge- -
*---- schaeftsbereiche ein OP-Raster ausgegeben wird. -
---- Wird das Raster nur fuer einen Geschaeftsbereich ge- -
*---- druckt, so entfaellt das Summen-Raster. -
DATA: GBZAEHL(3) TYPE P.
---- TOP-FLAG '1' = bei TOP-OF-PAGE Einzelpostenueberschrift ausg. --
*---- '2' = bei TOP-OF-PAGE Ueberschrift fuer Raster ausgeb. *
*---- '3' = bei TOP-OF-PAGE ULINE ausgeben. -
---- '4' = bei TOP-OF-PAGE Stammsatzueberschrift ausgeben --
DATA: TOP-FLAG(1) TYPE C.
*---- SEL-STAMM 'J' = Stammsatz wird ausgewertet *
*---- 'N' = Stammsatz wird nicht ausgewertet *
*---- SEL-POSTN 'J' = Stammsatz hat Posten gerastert *
*---- 'N' = Stammsatz hat keine Posten gerastert *
DATA: BEGIN OF SEL,
STAMM(1) TYPE C,
POSTN(1) TYPE C,
POST2(1) TYPE C,
END OF SEL.
*---- SATZART '1' = Stammdaten -
*---- '2' = Faelligkeitsraster -
*---- '3' = Einzelposten -
DATA: SATZART(1) TYPE C.
*---- RART = Erste ausgewaehlte Rasterart -
DATA: RART(1) TYPE C.
*---- TAGE = Tage nach denen die Posten sortiert sind -
DATA: TAGE(4) TYPE P,
*---- NTAGE = Tage fuer Netto-Faelligkeit -
NTAGE(4) TYPE P,
*---- STAGE = Tage fuer Skonto1-Faelligkeit -
STAGE(4) TYPE P,
*---- ATAGE = Alter der Belege -
ATAGE(4) TYPE P,
*---- UTAGE = Tage fuer Ueber-Faelligkeit -
UTAGE(4) TYPE P.
*---- RASTERUU dient zur Sortierung der Einzelposten. Die Posten -
*---- gemaess ihrer Rasterung die Werte '1' bis '6' -
DATA: RASTERUU(1) TYPE C.
*---- RAART Rasterart -
---- Die einzelnen Felder der Feldleiste werden bei SART-OF-SELECTION
*---- mit 1 oder 0 bestueckt. -
*ATA: BEGIN OF RAART,
NET(1) TYPE C, "X = ausgewaehlt, ' ' = nicht ausgewaehlt
SKT(1) TYPE C, "X = ausgewaehlt, ' ' = nicht ausgewaehlt
UEB(1) TYPE C, "X = ausgewaehlt, ' ' = nicht ausgewaehlt
END OF RAART.
DATA: BEGIN OF GB,
GSBER LIKE BSIK-GSBER,
WAERS LIKE BSIK-WAERS,
END OF GB.
*---- Variable Ueberschriften -
DATA: BEGIN OF VARUEB1,
FELD1(45) TYPE C,
FELD2(14) TYPE C,
FELD3(14) TYPE C,
FELD4(14) TYPE C,
FELD5(14) TYPE C,
FELD6(14) TYPE C,
FELD7(14) TYPE C,
END OF VARUEB1.
DATA: BEGIN OF VARUEB2,
FELD1(45) TYPE C,
FELD2(14) TYPE C,
FELD3(14) TYPE C,
FELD4(14) TYPE C,
FELD5(14) TYPE C,
FELD6(14) TYPE C,
FELD7(14) TYPE C,
END OF VARUEB2.
DATA: VARUEB3(132),
VARUEB4(132),
VARTXT1(40),
VARTXT(40) TYPE C.
*---- Variable für Ausgabe der Sonderumsätze----
DATA: SHBBEZ LIKE T074T-LTEXT.
DATA: ASUMS TYPE P. "
*---- Interne Tabelle für Bezeichnungen der SHBKZ----
DATA: BEGIN OF BEZSHB OCCURS 10,
SHBKZ LIKE T074T-SHBKZ,
LTEXT LIKE T074T-LTEXT,
END OF BEZSHB.
*---- Interne Tabelle für Zwischenspeicherung -
DATA: BEGIN OF BLKEY,
BUKRS LIKE BSIK-BUKRS,
BELNR LIKE BSIK-BELNR,
GJAHR LIKE BSIK-GJAHR,
BUZEI LIKE BSIK-BUZEI,
END OF BLKEY.
DATA: BEGIN OF RTAGE,
NTAGE LIKE NTAGE,
STAGE LIKE STAGE,
ATAGE LIKE ATAGE,
UTAGE LIKE UTAGE,
END OF RTAGE.
DATA: BEGIN OF HBSIK OCCURS 10.
INCLUDE STRUCTURE BSIK.
INCLUDE STRUCTURE BSEGA.
INCLUDE STRUCTURE RTAGE.
DATA: END OF HBSIK.
DATA: BEGIN OF REFBL OCCURS 10.
INCLUDE STRUCTURE BLKEY.
INCLUDE STRUCTURE RTAGE.
DATA: END OF REFBL.
DATA: BEGIN OF HLFB1 OCCURS 10.
INCLUDE STRUCTURE LFB1.
DATA: END OF HLFB1.
DATA: BEGIN OF HT001 OCCURS 10.
INCLUDE STRUCTURE T001.
DATA: END OF HT001.
*---- Interne Tabelle für Ausgabe der Obligos -
DATA: BEGIN OF AOBLIGO OCCURS 12,
OBART TYPE C, "Flag für Obligoart 1 = Kontokorrent
" 2 = SHBKZ
" 3 = sonstige SHB
SHBKZ LIKE T074T-SHBKZ, "SHB-Kennzeichen
LTEXT LIKE T074T-LTEXT, "Bezeichnung
OBLIG TYPE P, "Obligobetrag
END OF AOBLIGO.
*---- Declarationen für Accessibility /ALV GRID -
data: ACC_MODE type c.
Data: UEBTEXT(22) type c.
Data: UEKTEXT(15) type c.
Data: TITTEXT(100) type c.
Data: DATTEXT(10) type c.
DATA: BEGIN OF RTAB_ALV OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
BUKRS LIKE BSIk-BUKRS,
lifnr LIKE LFA1-lifnr,
busab like lfb1-busab,
SORTL LIKE lfA1-SORTL,
LAND1 LIKE lfA1-LAND1,
GSBER LIKE BSIk-GSBER,
WAERS LIKE BSIk-WAERS,
hwaer like rf140-hwaer,
RAART like RF140-RAART, "Rasterart
shkzg like bsik-shkzg,
XGUTS TYPE C, "Gutschrift
KUMUM LIKE RF140-KUMUMHW, "Umsatz
ANZAH like rf140-anzbthw, "Anzahlungen
OPSUM like RF140-gsaldd, "Offene Posten Summe
RAST1 like RF140-rast1, "Rasterfeld 1
RAST2 like RF140-rast2, "Rasterfeld 2
RAST3 like RF140-rast3, "Rasterfeld 3
RAST4 like RF140-rast4, "Rasterfeld 4
RAST5 like RF140-rast5, "Rasterfeld 5
RAST6 like RF140-rast6, "Rasterfeld 6
END OF RTAB_ALV.
*"General Data
TYPE-POOLS: SLIS.
*DATA: BEGIN OF GT_OUTTAB OCCURS 0.
INCLUDE STRUCTURE rtab_alv.
*DATA: END OF GT_OUTTAB.
Data: GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
G_EXIT_CAUSED_BY_CALLER,
GS_EXIT_CAUSED_BY_USER TYPE SLIS_EXIT_BY_USER,
G_REPID LIKE SY-REPID,
G_GRID_TITLE TYPE LVC_TITLE.
*"Callback
*Data: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
G_STATUS_SET TYPE SLIS_FORMNAME VALUE 'PF_STATUS_SET',
Data: G_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.
G_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
G_TOP_OF_LIST TYPE SLIS_FORMNAME VALUE 'TOP_OF_LIST',
G_END_OF_LIST TYPE SLIS_FORMNAME VALUE 'END_OF_LIST'.
*"Variants
DATA: GS_VARIANT LIKE DISVARIANT,
G_SAVE.
Global structure of list
fieldcatalog
DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
sort
*DATA: GT_SORT TYPE SLIS_T_SORTINFO_ALV.
events
*DATA: GT_EVENTS TYPE SLIS_T_EVENT.
*----- Structure for specific color settings -
*DATA: COL_TAB_T TYPE SLIS_T_SPECIALCOL_ALV,
COL_TAB TYPE SLIS_SPECIALCOL_ALV.
DATA: G_TABNAME TYPE SLIS_TABNAME VALUE 'RTAB_ALV'.
print
*DATA: GS_PRINT TYPE SLIS_PRINT_ALV.
*---- FIELD-GROUPS -
FIELD-GROUPS:
HEADER,
STAMMDATEN,
OP-RASTER,
EINZELPOSTEN.
INSERT
LFB1-BUKRS " Buchungskreis
lfB1-BUSAB " Sachbearbeiter
LFA1-LIFNR " Kontonummer
SATZART " Satzart
RTAB-SORTK " Sortkz fuer Tabelle RTAB
" '0' = normale Eintraege
" '1' = Summeneintraege
GB " Geschaeftsbereich
" - GB-GSBER
" - GB-WAERS
RASTERUU " Kennzeichen fuer Detailposten bzw Raster
ab hier nur fuer Einzelposten -
TAGE " Rastertage fuer Detailposten
BSIK-UMSKZ " Umsatzkennzeichen
BSIK-BLART " Belegart
BSIK-ZUONR " Zuordnungsnummer
BSIK-BELNR " Belegnummer
BSIK-BUZEI " Belegzeile
INTO HEADER.
INSERT
Addressdaten
ADRS-LINE0 " 1. Zeile Adressenaufbereitung
ADRS-LINE1 " 2. " "
ADRS-LINE2 " 3. " "
ADRS-LINE3 " 4. " "
ADRS-LINE4 " 5. " "
ADRS-LINE5 " 6. " "
ADRS-LINE6 " 7. " "
ADRS-LINE7 " 8. " "
ADRS-LINE8 " 9. " "
ADRS-LINE9 " 10." "
Umsatzdaten
C-KUMUM " Umsatz
C-BABZG " Berechtigt. Abzuege
C-UABZG " Unberechtigt. Abzuege
C-KZINS " Zinszahlungen
C-KUMAG " Kum. Jahresausgleich
Obligos
C-SALDO " Saldo ohne SHB-Vorgänge
C-UMKZ1 "SHBKZ 1
C-SUMS1 "Sonderumsatz 1
C-UMKZ2 "SHBKZ 2
C-SUMS2 "Sonderumsatz 2
C-UMKZ3 "SHBKZ 3
C-SUMS3 "Sonderumsatz 3
C-UMKZ4 "SHBKZ 4
C-SUMS4 "Sonderumsatz 4
C-UMKZ5 "SHBKZ 5
C-SUMS5 "Sonderumsatz 5
C-UMKZ6 "SHBKZ 6
C-SUMS6 "Sonderumsatz 6
C-UMKZ7 "SHBKZ 7
C-SUMS7 "Sonderumsatz 7
C-UMKZ8 "SHBKZ 8
C-SUMS8 "Sonderumsatz 8
C-UMKZ9 "SHBKZ 9
C-SUMS9 "Sonderumsatz 9
C-UMKZ10 "SHBKZ 10
C-SUMS10 "Sonderumsatz 10
C-SONOB " Sonst. Obligen
Limits
C-AGOBLI " Absolutes Gesamtobligo
Zahlungdaten
LFB1-ZTERM "Zahlungsbedingung
LFB1-ZAHLS "Sperrschlüssel für Zahlung
LFB1-ZWELS "Zahlwege
LFB1-XVERR "Zahlungsverrechnung
LFB1-WEBTR "Wechsellimit
LFB1-BUSAB " Sachbearbeiter
lfa1-sortl
lfa1-land1
INTO STAMMDATEN.
INSERT
RTAB-RAART "Rasterart
RTAB-SPERR "gesperrte Posten
RTAB-KUMUM "Umsatz
RTAB-ANZAH "Anzahlungen
RTAB-OPSUM "Offene Posten Summe
RTAB-RAST1 "Rasterfeld 1
RTAB-RAST2 "Rasterfeld 2
RTAB-RAST3 "Rasterfeld 3
RTAB-RAST4 "Rasterfeld 4
RTAB-RAST5 "Rasterfeld 5
RTAB-RAST6 "Rasterfeld 6
INTO OP-RASTER.
INSERT
BSIK-BUDAT " Buchungsdatum
BSIK-BLDAT " Belegdatum
BSIK-CPUDT " CPU-Datum
BKPF-USNAM " User-ID
BSIK-WAERS " Wahrungsschluessel
BSEGA-NETDT " Nettofaelligkeitsdatum
FAEDE-NETDT " Nettofaelligkeitsdatum
BSIK-ZFBDT " Zahlungsfristen-Basisdatum
BSIK-BSCHL " Buchungsschluessel
BSIK-ZLSCH " Zahlungsschluessel
BSIK-MANST " Mahnstufe
SHBETRAG " Hauswaehrungsbetrag
BSEGA-DMSHB " Hauswaehrungsbetrag
BSEGA-WRSHB " Fremwaehrungsbetrag
INTO EINZELPOSTEN.
BEGIN_OF_BLOCK 1.
*ELECT-OPTIONS:
GESBER FOR BSIK-GSBER.
PARAMETERS:
MONAT LIKE RFPDO-DOPRBMON.
SELECT-OPTIONS:
KKSALDO2 FOR RFSDO-KOPRSAL2, "Saldovortrag
AGOBLIG2 FOR RFSDO-KOPRAGO2. "Absolutes Obligo
RGOBLIGO FOR RFSDO-DOPRRGOB. "Relatives Obligo
SELECT-OPTIONS:
LAND FOR LFA1-LAND1,
KONTENGR FOR LFA1-KTOKK,
SACHBEAR FOR LFB1-BUSAB,
AKONTS FOR LFB1-AKONT,
AKONTP FOR BSIK-HKONT.
SELECT-OPTIONS:
BUDAT FOR BSIK-BUDAT,
BLDAT FOR BSIK-BLDAT,
NETDT FOR BSEGA-NETDT.
PARAMETERS: N_BELEGE LIKE RFPDO-BPETNBEL
DEFAULT 'X', "Normale Belege.
STAT_BLG LIKE RFPDO-BPETSBEL. "Statistische Belege
END_OF_BLOCK 1.
*ELECT-OPTIONS:
BERABZU1 FOR LFC1-BABZG,
UNBABZU1 FOR LFC1-UABZG,
ZINSE1 FOR LFC1-KZINS,
JHRAUSG1 FOR LFC1-KUMAG.
BERABZUG FOR BEABZUG NO-DISPLAY, "Berechtigter Abzug
UNBABZUG FOR UBABZUG NO-DISPLAY, "Unberechtigter Abzug
ZINSEN FOR KUMZINS NO-DISPLAY, "Kumulierter Zins
JHRAUSGL FOR JAHRAUG NO-DISPLAY. "Kumulierter Jahresausgl.
BEGIN_OF_BLOCK 2.
PARAMETERS:
SORTART LIKE RFPDO1-KOPRSOAR DEFAULT '1', "Doku
VERDICHT LIKE RFPDO1-KOPRVERD DEFAULT '1', "Doku
RASTVERD LIKE RFPDO1-KOPRRAST DEFAULT '0', "Doku
KONZVERS LIKE RFPDO-DOPOKONZ, "Konzernversion
XBUKRDAT LIKE RFPDO3-ALLGBUKD DEFAULT 0, "Bukr.daten
KAUSGABE like rfpdo3-ALLGKAOR.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(30) TEXT-030.
PARAMETERS: RART-NET LIKE RFPDO-DOPRRNET DEFAULT 'X'.
SELECTION-SCREEN COMMENT 33(01) TEXT-028.
PARAMETERS: RART-SKT LIKE RFPDO-DOPRRSKT DEFAULT 'X'.
SELECTION-SCREEN COMMENT 35(01) TEXT-028.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: RART-ALT LIKE RFPDO1-KOPRRALT DEFAULT 'X'.
SELECTION-SCREEN COMMENT 03(28) TEXT-031.
SELECTION-SCREEN POSITION POS_HIGH.
PARAMETERS RBLDAT LIKE RFPDO2-KORD10BD.
SELECTION-SCREEN COMMENT 61(12) TEXT-032.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN COMMENT 37(01) TEXT-028.
PARAMETERS: RART-UEB LIKE RFPDO-DOPRRUEB DEFAULT 'X'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(31) TEXT-026.
PARAMETERS: RASTBIS1 LIKE RFPDO1-ALLGROGR DEFAULT '000'.
SELECTION-SCREEN COMMENT 35(02) TEXT-027.
PARAMETERS: RASTBIS2 LIKE RFPDO1-ALLGROGR DEFAULT '020'.
SELECTION-SCREEN COMMENT 41(02) TEXT-027.
PARAMETERS: RASTBIS3 LIKE RFPDO1-ALLGROGR DEFAULT '040'.
SELECTION-SCREEN COMMENT 47(02) TEXT-027.
PARAMETERS: RASTBIS4 LIKE RFPDO1-ALLGROGR DEFAULT '080'.
SELECTION-SCREEN COMMENT 53(02) TEXT-027.
PARAMETERS: RASTBIS5 LIKE RFPDO1-ALLGROGR DEFAULT '100'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(31) TEXT-029.
PARAMETERS: FAKTOR LIKE RFPDO-DOPRFAKT DEFAULT '0'.
SELECTION-SCREEN COMMENT 35(1) TEXT-028.
PARAMETERS: STELLEN LIKE RFPDO-DOPRFAKT DEFAULT '0'.
SELECTION-SCREEN END OF LINE.
PARAMETERS: PZUOR LIKE RFPDO2-DOPRZUOR.
PARAMETERS: UMSATZKZ LIKE RFPDO1-DOPRSHBO. "DEFAULT 'WSABIMVD'.
PARAMETERS:
TITLE LIKE RFPDO1-ALLGLINE,
LISTSEP LIKE RFPDO-ALLGLSEP,
MIKFICHE LIKE RFPDO-ALLGMIKF.
PARAMETERS:
P_LVAR LIKE Gs_VARIANT-VARIANT DEFAULT SPACE modif id 508.
END_OF_BLOCK 2.
AT SELECTION-SCREEN OUTPUT.
if acc_mode is initial.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = '508'.
SCREEN-active = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
endif.
AT SELECTION-SCREEN ON AKONTS.
Konvertierung der Kontonummer
LOOP AT AKONTS.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTS-LOW AKONTS-LOW.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTS-HIGH AKONTS-HIGH.
MODIFY AKONTS.
ENDLOOP.
AT SELECTION-SCREEN ON AKONTP.
Konvertierung der Kontonummer
LOOP AT AKONTP.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTP-LOW AKONTP-LOW.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTP-HIGH AKONTP-HIGH.
MODIFY AKONTP.
ENDLOOP.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_LVAR.
Gs_VARIANT-REPORT = SY-REPID.
Gs_VARIANT-VARIANT = P_LVAR.
PERFORM F4_FOR_S_LVAR USING Gs_VARIANT.
P_LVAR = Gs_VARIANT-VARIANT.
AT SELECTION-SCREEN.
IF NOT RASTBIS5 IS INITIAL.
IF RASTBIS5 GT RASTBIS4
AND RASTBIS4 GT RASTBIS3
AND RASTBIS3 GT RASTBIS2
AND RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
ENDIF.
ELSE.
IF NOT RASTBIS4 IS INITIAL.
IF RASTBIS4 GT RASTBIS3
AND RASTBIS3 GT RASTBIS2
AND RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
ENDIF.
ELSE.
IF NOT RASTBIS3 IS INITIAL.
IF RASTBIS3 GT RASTBIS2
AND RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
ENDIF.
ELSE.
IF NOT RASTBIS2 IS INITIAL.
IF RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
EHi Laxman,
I have checked the program and found out following:
the field "acc_mode" which gets populated by FM "GET_ACCESSIBILITY_MODE".
If this field is initial, then normal list gets displayed and
If this field has value, then ALV grid gets displayed.
regards,
Dharitree -
Select columns from table for display in alvgrid.
Hi all,
i have the following:
i do select a tablename and pass it as a parameter. then this table is loaded into an internal table and displayed in an alv-grid.
what i now want to do is a step between the both:
after the internal table with its structure is loaded, i want to display the field columns and i want them to be selectable so that in the next step the alv - grid is selected only with the selected columns ( just now it allways runs with all columns - even the not needed ).
Any ideas for that would be appreciated. Is there some tutorial on that or some sample ?hi
chk this sample code:
*REPORT zdemo_alvgrid .
TABLES: ekko.
type-pools: slis. "ALV Declarations
*Data Declaration
TYPES: BEGIN OF t_ekko,
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
statu TYPE ekpo-statu,
aedat TYPE ekpo-aedat,
matnr TYPE ekpo-matnr,
menge TYPE ekpo-menge,
meins TYPE ekpo-meins,
netpr TYPE ekpo-netpr,
peinh TYPE ekpo-peinh,
END OF t_ekko.
DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
wa_ekko TYPE t_ekko.
*ALV data declarations
data: fieldcatalog type slis_t_fieldcat_alv with header line,
gd_tab_group type slis_t_sp_group_alv,
gd_layout type slis_layout_alv,
gd_repid like sy-repid,
gt_events type slis_t_event,
gd_prntparams type slis_print_alv.
*Start-of-selection.
START-OF-SELECTION.
perform data_retrieval.
perform build_fieldcatalog.
perform build_layout.
perform build_events.
perform build_print_params.
perform display_alv_report.
*& Form BUILD_FIELDCATALOG
Build Fieldcatalog for ALV Report
form build_fieldcatalog.
There are a number of ways to create a fieldcat.
For the purpose of this example i will build the fieldcatalog manualy
by populating the internal table fields individually and then
appending the rows. This method can be the most time consuming but can
also allow you more control of the final product.
Beware though, you need to ensure that all fields required are
populated. When using some of functionality available via ALV, such as
total. You may need to provide more information than if you were
simply displaying the result
I.e. Field type may be required in-order for
the 'TOTAL' function to work.
fieldcatalog-fieldname = 'EBELN'.
fieldcatalog-seltext_m = 'Purchase Order'.
fieldcatalog-col_pos = 0.
fieldcatalog-outputlen = 10.
fieldcatalog-emphasize = 'X'.
fieldcatalog-key = 'X'.
fieldcatalog-do_sum = 'X'.
fieldcatalog-no_zero = 'X'.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'EBELP'.
fieldcatalog-seltext_m = 'PO Item'.
fieldcatalog-col_pos = 1.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'STATU'.
fieldcatalog-seltext_m = 'Status'.
fieldcatalog-col_pos = 2.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'AEDAT'.
fieldcatalog-seltext_m = 'Item change date'.
fieldcatalog-col_pos = 3.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'MATNR'.
fieldcatalog-seltext_m = 'Material Number'.
fieldcatalog-col_pos = 4.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'MENGE'.
fieldcatalog-seltext_m = 'PO quantity'.
fieldcatalog-col_pos = 5.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'MEINS'.
fieldcatalog-seltext_m = 'Order Unit'.
fieldcatalog-col_pos = 6.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'NETPR'.
fieldcatalog-seltext_m = 'Net Price'.
fieldcatalog-col_pos = 7.
fieldcatalog-outputlen = 15.
fieldcatalog-datatype = 'CURR'.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'PEINH'.
fieldcatalog-seltext_m = 'Price Unit'.
fieldcatalog-col_pos = 8.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
endform. " BUILD_FIELDCATALOG
*& Form BUILD_LAYOUT
Build layout for ALV grid report
form build_layout.
gd_layout-no_input = 'X'.
gd_layout-colwidth_optimize = 'X'.
gd_layout-totals_text = 'Totals'(201).
gd_layout-totals_only = 'X'.
gd_layout-f2code = 'DISP'. "Sets fcode for when double
"click(press f2)
gd_layout-zebra = 'X'.
gd_layout-group_change_edit = 'X'.
gd_layout-header_text = 'helllllo'.
endform. " BUILD_LAYOUT
*& Form DISPLAY_ALV_REPORT
Display report using ALV grid
form display_alv_report.
gd_repid = sy-repid.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = gd_repid
i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM
i_callback_user_command = 'USER_COMMAND'
i_grid_title = outtext
is_layout = gd_layout
it_fieldcat = fieldcatalog[]
it_special_groups = gd_tabgroup
it_events = gt_events
is_print = gd_prntparams
i_save = 'X'
is_variant = z_template
tables
t_outtab = it_ekko
exceptions
program_error = 1
others = 2.
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
endform. " DISPLAY_ALV_REPORT
*& Form DATA_RETRIEVAL
Retrieve data form EKPO table and populate itab it_ekko
form data_retrieval.
select ebeln ebelp statu aedat matnr menge meins netpr peinh
up to 10 rows
from ekpo
into table it_ekko.
endform. " DATA_RETRIEVAL
Form TOP-OF-PAGE *
ALV Report Header *
Form top-of-page.
*ALV Header declarations
data: t_header type slis_t_listheader,
wa_header type slis_listheader,
t_line like wa_header-info,
ld_lines type i,
ld_linesc(10) type c.
Title
wa_header-typ = 'H'.
wa_header-info = 'EKKO Table Report'.
append wa_header to t_header.
clear wa_header.
Date
wa_header-typ = 'S'.
wa_header-key = 'Date: '.
CONCATENATE sy-datum+6(2) '.'
sy-datum+4(2) '.'
sy-datum(4) INTO wa_header-info. "todays date
append wa_header to t_header.
clear: wa_header.
Total No. of Records Selected
describe table it_ekko lines ld_lines.
ld_linesc = ld_lines.
concatenate 'Total No. of Records Selected: ' ld_linesc
into t_line separated by space.
wa_header-typ = 'A'.
wa_header-info = t_line.
append wa_header to t_header.
clear: wa_header, t_line.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = t_header.
i_logo = 'Z_LOGO'.
endform.
FORM USER_COMMAND *
--> R_UCOMM *
--> RS_SELFIELD *
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
Check function code
CASE r_ucomm.
WHEN '&IC1'.
Check field clicked on within ALVgrid report
IF rs_selfield-fieldname = 'EBELN'.
Read data table, using index of row user clicked on
READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.
Set parameter ID for transaction screen field
SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.
Sxecute transaction ME23N, and skip initial data entry screen
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM.
*& Form BUILD_EVENTS
Build events table
form build_events.
data: ls_event type slis_alv_event.
call function 'REUSE_ALV_EVENTS_GET'
exporting
i_list_type = 0
importing
et_events = gt_events[].
read table gt_events with key name = slis_ev_end_of_page
into ls_event.
if sy-subrc = 0.
move 'END_OF_PAGE' to ls_event-form.
append ls_event to gt_events.
endif.
read table gt_events with key name = slis_ev_end_of_list
into ls_event.
if sy-subrc = 0.
move 'END_OF_LIST' to ls_event-form.
append ls_event to gt_events.
endif.
endform. " BUILD_EVENTS
*& Form BUILD_PRINT_PARAMS
Setup print parameters
form build_print_params.
gd_prntparams-reserve_lines = '3'. "Lines reserved for footer
gd_prntparams-no_coverpage = 'X'.
endform. " BUILD_PRINT_PARAMS
*& Form END_OF_PAGE
form END_OF_PAGE.
data: listwidth type i,
ld_pagepos(10) type c,
ld_page(10) type c.
write: sy-uline(50).
skip.
write:/40 'Page:', sy-pagno .
endform.
*& Form END_OF_LIST
form END_OF_LIST.
data: listwidth type i,
ld_pagepos(10) type c,
ld_page(10) type c.
skip.
write:/40 'Page:', sy-pagno .
endform.
**reward if helpful
regards,
madhu -
How to give own field name in alvgrid
how to give own field name in alvgrid
CLEAR LS_FIELDCAT.
LS_FIELDCAT-TABNAME = G_TABNAME.
LS_FIELDCAT-FIELDNAME = 'KBETR'.
LS_FIELDCAT-REF_FIELDNAME = 'KBETR'.
LS_FIELDCAT-REF_TABNAME = 'KONV'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
here i want to give field name in output like this
Non-Deductible Tax.
thanks in advanced.Hi Laxman,
Getting your required description is very simple.
Just fill these 3 parameters in your field catalog.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-TABNAME = G_TABNAME.
LS_FIELDCAT-FIELDNAME = 'KBETR'.
LS_FIELDCAT-REF_FIELDNAME = 'KBETR'.
LS_FIELDCAT-REF_TABNAME = 'KONV'.
LS_FIELDCAT-SELTEXT_L = 'NON-DEDUCTIBLE TAX''. "LONG
LS_FIELDCAT-SELTEXT_M = 'NON-DEDUCTIBLE TAX''. "MEDIUM
LS_FIELDCAT-SELTEXT_S = 'NON-DEDUCTIBLE TAX''. "Short
APPEND LS_FIELDCAT TO RT_FIELDCAT.
The Comments besides the desctription tells what kind of format for display is ..
Regards,
Raghav -
Want to convert Sap standard report s_alr_87012085 into alvgrid
i Want to convert Sap standard report s_alr_87012085 into alvgrid please help me.
REPORT RFKOPR00
MESSAGE-ID FR
LINE-SIZE 132
NO STANDARD PAGE HEADING.
TABLES: B0SG,
LFA1, "Daten auf Mandantenebene
LFB1, "Daten auf Buchungskreisebene
LFB5, "Mahndaten
LFC1, "Verkehrszahlen
LFC3, "Sonderumsätze
BSIK, "Offend Posten
BKPF,
BSEG,
BSEGA.
TABLES:
BHDGD,
T001,
T001S,
*T001S,
T074T,
T074U,
TBSL,
TBSLT,
TCURX,
ADRS,
RFPDO,
RFPDO1,
RFSDO,
FAEDE.
FIELD-SYMBOLS: .
*Hilfsfelder
*---Prüfung ob mehrere Hauswährungen verarbeitet werden.
DATA: CFAKT(3) TYPE P,
CHECKSALDO(8) TYPE P,
CHECKAGOBL(8) TYPE P,
WAERS LIKE T001-WAERS,
WFLAG(1) TYPE P VALUE '0',
WAERS2 LIKE T001-WAERS,
WFLAG2(1) TYPE P VALUE '0',
PH-LINE(132) TYPE C.
*---Ermittlung aktuelles Geschäftsjahr über Funktionsbaustein.
DATA: CURRY LIKE BSIK-GJAHR.
*-Ermittlung Zahlungseingang bei Zahlungen mit Skontoabzug--
*ATA: ZVTAGE LIKE KNB4-VZS01, "Verzugstage
ZVSKONTO(8) TYPE P, "Zahlungsvolumen bei Zahlung mit Skonto
ZVNETTO(8) TYPE P, "Zahlungsvolumen bei Nettozahlung
ZVVERZUG(8) TYPE P, "Verzugstage
ZVMALVZ(8) TYPE P, "Zahlungvolumen * Verzugstage
"KNB4-VZSxx)
ZVTYP(1) TYPE C, "Skonto oder Nettozahler
ZVPER(4) TYPE C. "Periode letze Zahlung
*---Zeilenanzahl fü Adressausgabe -
DATA: ZEILENANZAHL LIKE ADRS-ANZZL VALUE 7.
DATA: KSALDO(6) TYPE P. "Saldovortrag
BEABZUG(6) TYPE P, "Berechtigte Abzüge
UBABZUG(6) TYPE P, "Unberechtigte Abzüge
JAHRAUG(6) TYPE P, "Kumulierter Jahresausgleich
KUMZINS(6) TYPE P. "Kumulierter Zins
Ausgabe der Mahndaten pro Buchungskreis.
DATA: INDEX(2) TYPE P VALUE 0.
Hilfsfelder
DATA: HF(1) TYPE C.
DATA: TXT_1(78) TYPE C, "Mahnbereich
TXT_2(78) TYPE C, "Mahnart
TXT_3(78) TYPE C, "Mahnempfänger
TXT_4(78) TYPE C, "Mahndatum
TXT_5(78) TYPE C, "Mahnstufe
TXT_6(78) TYPE C, "Mahnsperre
TXT_7(78) TYPE C, "Mahnverfahren
TXT_8(78) TYPE C. "Sachbearbeiter
DATA: BEGIN OF XMAHN OCCURS 10.
INCLUDE STRUCTURE LFB5.
DATA: END OF XMAHN.
Hilfsfelder
DATA: CHAR1(1) TYPE C.
DATA: FLAG1(1) TYPE C.
DATA: INTENS(1) TYPE C.
DATA: FLAG2(1) TYPE C.
*---- K o n s t a n t e n -
*---- DNULL zum Vergleich mit Datumsfeldern -
DATA: DNULL(8) TYPE C VALUE '00000000'.
*---- DECKBLATT = 'N' ==> Kein Deckblatt bei NEW-SECTION -
DATA: DECKBLATT TYPE C VALUE 'N'.
*---- 'H' = Hilfsfelder, die jederzeit fuer Berechnungen ver- -
*---- wendet werden koennen. -
DATA: BEGIN OF H,
STICHTAG(8),
OFFSET(2) TYPE P,
OFFSE1(2) TYPE P,
SOLL LIKE LFC1-UM01S,
HABEN LIKE LFC1-UM01H,
SALDO LIKE LFC1-UMSAV,
SHBKZ LIKE LFC3-SHBKZ, "Sonderhauptbuchkennzeichen
SALDV LIKE LFC3-SALDV, "Sonderhauptbuch-Saldovortrag
SHBLS LIKE LFC3-SOLLL, "Sonderhauptbuch-Lfd.-Saldo
SHBSL LIKE LFC3-SOLLL, "Sonderhauptbuch-Lfd.-SOLL
SHBHB LIKE LFC3-HABNL, "Sonderhauptbuch-Lfd.-HABEN
GBNUM LIKE lfC1-GBN01, "Geschaeftsber. Nummer ECKERT
GBUMS LIKE lfC1-GBU01, "Geschaeftsber. Umsatz
TEXT(15),
UMLOW LIKE BSIK-UMSKZ, "Umsatzkennzeichen
UMHIG LIKE BSIK-UMSKZ, "Umsatzkennzeichen
END OF H.
---- 'C' = Zwischenergebnisse, die aus Feldern des C-Segmentes ---
*---- berechnet werden. -
DATA: BEGIN OF C,
SALDO TYPE P, "Saldo
UMKZ1 LIKE LFC3-SHBKZ, "SHBKZ 1
SUMS1 TYPE P, "Sonderumsatz 1
UMKZ2 LIKE LFC3-SHBKZ, "SHBKZ 2
SUMS2 TYPE P, "Sonderumsatz 2
UMKZ3 LIKE LFC3-SHBKZ, "SHBKZ 3
SUMS3 TYPE P, "Sonderumsatz 3
UMKZ4 LIKE LFC3-SHBKZ, "SHBKZ 4
SUMS4 TYPE P, "Sonderumsatz 4
UMKZ5 LIKE LFC3-SHBKZ, "SHBKZ 5
SUMS5 TYPE P, "Sonderumsatz 5
UMKZ6 LIKE LFC3-SHBKZ, "SHBKZ 6
SUMS6 TYPE P, "Sonderumsatz 6
UMKZ7 LIKE LFC3-SHBKZ, "SHBKZ 7
SUMS7 TYPE P, "Sonderumsatz 7
UMKZ8 LIKE LFC3-SHBKZ, "SHBKZ 8
SUMS8 TYPE P, "Sonderumsatz 8
UMKZ9 LIKE LFC3-SHBKZ, "SHBKZ 9
SUMS9 TYPE P, "Sonderumsatz 9
UMKZ10 LIKE LFC3-SHBKZ, "SHBKZ 10
SUMS10 TYPE P, "Sonderumsatz 10
SONOB TYPE P, "Sonstige Umsatz-Kz
BABZG TYPE P, "Berechtigte Abzuege
UABZG TYPE P, "Unberechtigte Abzuege
KZINS TYPE P, "Zinszahlungen
KUMUM TYPE P, "Umsatz
KUMAG TYPE P, "Kum. Jahresausgleich
KREUEB TYPE P, "Kreditueberschreitung
AGOBLI TYPE P, "Gesamt-Obligo (absolut)
AGOBLI LIKE LFC1-UMSAV, "Gesamt-Obligo (absolut)
RGOBLI TYPE P, "Gesamt-Obligo (relativ)
LFTAGE(3) TYPE P, "Langfristige Überzugstage
MFTAGE(3) TYPE P, "Mittelfristige Überzugstage
KFTAGE(3) TYPE P, "Kurzfristige Überzugstage
END OF C.
---- 'C2'= Zwischenergebnisse, die aus Feldern des C-Segmentes ---
*---- berechnet werden. -
DATA: BEGIN OF C2 OCCURS 0,
BUKRS LIKE LFC1-BUKRS,
SALDO TYPE P, "Saldo
WEXOB TYPE P, "Wechsel-Obligo W,S,B
ANZOB TYPE P, "Anzahlungs-Obligo A
ZANFB TYPE P, "Zahlungs-Anforderung F
UMKZ1 LIKE LFC3-SHBKZ, "SHBKZ 1
SUMS1 TYPE P, "Sonderumsatz 1
UMKZ2 LIKE LFC3-SHBKZ, "SHBKZ 2
SUMS2 TYPE P, "Sonderumsatz 2
UMKZ3 LIKE LFC3-SHBKZ, "SHBKZ 3
SUMS3 TYPE P, "Sonderumsatz 3
UMKZ4 LIKE LFC3-SHBKZ, "SHBKZ 4
SUMS4 TYPE P, "Sonderumsatz 4
UMKZ5 LIKE LFC3-SHBKZ, "SHBKZ 5
SUMS5 TYPE P, "Sonderumsatz 5
UMKZ6 LIKE LFC3-SHBKZ, "SHBKZ 6
SUMS6 TYPE P, "Sonderumsatz 6
UMKZ7 LIKE LFC3-SHBKZ, "SHBKZ 7
SUMS7 TYPE P, "Sonderumsatz 7
UMKZ8 LIKE LFC3-SHBKZ, "SHBKZ 8
SUMS8 TYPE P, "Sonderumsatz 8
UMKZ9 LIKE LFC3-SHBKZ, "SHBKZ 9
SUMS9 TYPE P, "Sonderumsatz 9
UMKZ10 LIKE LFC3-SHBKZ, "SHBKZ 10
SUMS10 TYPE P, "Sonderumsatz 10
SONOB TYPE P, "Sonstige Umsatz-Kz
BABZG TYPE P, "Berechtigte Abzuege
UABZG TYPE P, "Unberechtigte Abzuege
KZINS TYPE P, "Zinszahlungen
KUMUM TYPE P, "Umsatz
KUMAG TYPE P, "Kum. Jahresausgleich
KREUEB TYPE P, "Kreditueberschreitung
AGOBLI TYPE P, "Gesamt-Obligo (absolut)
AGOBLI LIKE LFC1-UMSAV, "Gesamt-Obligo (absolut)
RGOBLI TYPE P, "Gesamt-Obligo (relativ)
LFTAGE(3) TYPE P, "Langfristige Überzugstage
MFTAGE(3) TYPE P, "Mittelfristige Überzugstage
KFTAGE(3) TYPE P, "Kurzfristige Überzugstage
ZVTYP(1) TYPE C, "Flag Skonto oder Nettozahler
ZVPER(6) TYPE C, "letze Zahlungsperiode
ZVVERZUG(8) TYPE P, "Durchschittliche Verzugst
END OF C2.
---- 'C3'= Zwischenergebnisse, die aus Feldern des C-Segmentes ---
*---- berechnet werden. -
DATA: BEGIN OF C3,
SALDO TYPE P, "Saldo
WEXOB TYPE P, "Wechsel-Obligo W,S,B
ANZOB TYPE P, "Anzahlungs-Obligo A
ZANFB TYPE P, "Zahlungs-Anforderung F
UMKZ1 LIKE LFC3-SHBKZ, "SHBKZ 1
SUMS1 TYPE P, "Sonderumsatz 1
UMKZ2 LIKE LFC3-SHBKZ, "SHBKZ 2
SUMS2 TYPE P, "Sonderumsatz 2
UMKZ3 LIKE LFC3-SHBKZ, "SHBKZ 3
SUMS3 TYPE P, "Sonderumsatz 3
UMKZ4 LIKE LFC3-SHBKZ, "SHBKZ 4
SUMS4 TYPE P, "Sonderumsatz 4
UMKZ5 LIKE LFC3-SHBKZ, "SHBKZ 5
SUMS5 TYPE P, "Sonderumsatz 5
UMKZ6 LIKE LFC3-SHBKZ, "SHBKZ 6
SUMS6 TYPE P, "Sonderumsatz 6
UMKZ7 LIKE LFC3-SHBKZ, "SHBKZ 7
SUMS7 TYPE P, "Sonderumsatz 7
UMKZ8 LIKE LFC3-SHBKZ, "SHBKZ 8
SUMS8 TYPE P, "Sonderumsatz 8
UMKZ9 LIKE LFC3-SHBKZ, "SHBKZ 9
SUMS9 TYPE P, "Sonderumsatz 9
UMKZ10 LIKE LFC3-SHBKZ, "SHBKZ 10
SUMS10 TYPE P, "Sonderumsatz 10
SONOB TYPE P, "Sonstige Umsatz-Kz
BABZG TYPE P, "Berechtigte Abzuege
UABZG TYPE P, "Unberechtigte Abzuege
KZINS TYPE P, "Zinszahlungen
KUMUM TYPE P, "Umsatz
KUMAG TYPE P, "Kum. Jahresausgleich
KREUEB TYPE P, "Kreditueberschreitung
AGOBLI TYPE P, "Gesamt-Obligo (absolut)
AGOBLI LIKE LFC1-UMSAV, "Gesamt-Obligo (absolut)
RGOBLI TYPE P, "Gesamt-Obligo (relativ)
LFTAGE(3) TYPE P, "Langfristige Überzugstage
MFTAGE(3) TYPE P, "Mittelfristige Überzugstage
KFTAGE(3) TYPE P, "Kurzfristige Überzugstage
ZVTYP(1) TYPE C, "Flag Skonto oder Nettozahler
ZVPER(6) TYPE C, "letze Zahlungsperiode
ZVVERZUG(8) TYPE P, "Durchschittliche Verzugst
END OF C3.
DATA: SHBETRAG LIKE BSEGA-DMSHB. "TYPE P.
*---- 'RTAB' = Rastertabelle fuer offene Posten -
DATA: BEGIN OF RTAB OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
BUKRS LIKE BSIK-BUKRS,
GSBER LIKE BSIK-GSBER,
WAERS LIKE BSIK-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
SPERR TYPE P, "gesprrte Posten
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RTAB.
*---- 'RBUS' = Rastertabelle fuer Summen pro Sachbearbeiter -
*ATA: BEGIN OF RBUS OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
BUKRS LIKE BSIk-BUKRS,
GSBER LIKE BSIk-GSBER,
WAERS LIKE BSIk-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RBUS.
*---- 'RBUK' = Rastertabelle fuer Summen pro Buchungskreis -
DATA: BEGIN OF RBUK OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
BUKRS LIKE BSIK-BUKRS,
GSBER LIKE BSIK-GSBER,
WAERS LIKE BSIK-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
SPERR TYPE P, "gesprrte Posten
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RBUK.
---- 'RSUM' = Rastertabelle pro Währung über alle Buchungskreise ---
DATA: BEGIN OF RSUM OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
BUKRS LIKE BSIk-BUKRS,
GSBER LIKE BSIk-GSBER,
WAERS LIKE BSIK-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
SPERR TYPE P, "gesperrte Posten
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RSUM.
*---- interne Tabelle für Periodenabgrenzung----
RANGES: BMONAT FOR RFPDO-DOPRBMON.
---- In die Felder RP01 bis RP05 werden dynamisch die von aussen ---
*---- eingegebenen Rasterpunkte uebertragen -
DATA: RP01(2) TYPE P, " 0
RP02(2) TYPE P, " 20
RP03(2) TYPE P, " 40
RP04(2) TYPE P, " 80
RP05(2) TYPE P, " 100
RP06(3) TYPE P, " 1
RP07(3) TYPE P, " 21
RP08(3) TYPE P, " 41
RP09(3) TYPE P, " 81
RP10(3) TYPE P. " 101
*---- In die Felder RC01 bis RC10 werden die Rasterpunkte in -
---- charakterform abgestellt. (fuer REPLACE-Funktion in Variabler -
*---- Ueberschrift) -
DATA: RC01(4) TYPE C, " 0
RC02(4) TYPE C, " 20
RC03(4) TYPE C, " 40
RC04(4) TYPE C, " 80
RC05(4) TYPE C, " 100
RC06(4) TYPE C, " 1
RC07(4) TYPE C, " 21
RC08(4) TYPE C, " 41
RC09(4) TYPE C, " 81
RC10(4) TYPE C. " 101
*---- Felder für Umsatzkennzeichen -
*---- für Ausweis der Sonderumsätze----
DATA: HUMKZ1 LIKE LFC3-SHBKZ,
HUMKZ2 LIKE LFC3-SHBKZ,
HUMKZ3 LIKE LFC3-SHBKZ,
HUMKZ4 LIKE LFC3-SHBKZ,
HUMKZ5 LIKE LFC3-SHBKZ,
HUMKZ6 LIKE LFC3-SHBKZ,
HUMKZ7 LIKE LFC3-SHBKZ,
HUMKZ8 LIKE LFC3-SHBKZ,
HUMKZ9 LIKE LFC3-SHBKZ,
HUMKZ10 LIKE LFC3-SHBKZ.
*---- GBZAEHL - In diesem Feld wird vermerkt, fuer wieviele Ge- -
*---- schaeftsbereiche ein OP-Raster ausgegeben wird. -
---- Wird das Raster nur fuer einen Geschaeftsbereich ge- -
*---- druckt, so entfaellt das Summen-Raster. -
DATA: GBZAEHL(3) TYPE P.
---- TOP-FLAG '1' = bei TOP-OF-PAGE Einzelpostenueberschrift ausg. --
*---- '2' = bei TOP-OF-PAGE Ueberschrift fuer Raster ausgeb. *
*---- '3' = bei TOP-OF-PAGE ULINE ausgeben. -
---- '4' = bei TOP-OF-PAGE Stammsatzueberschrift ausgeben --
DATA: TOP-FLAG(1) TYPE C.
*---- SEL-STAMM 'J' = Stammsatz wird ausgewertet *
*---- 'N' = Stammsatz wird nicht ausgewertet *
*---- SEL-POSTN 'J' = Stammsatz hat Posten gerastert *
*---- 'N' = Stammsatz hat keine Posten gerastert *
DATA: BEGIN OF SEL,
STAMM(1) TYPE C,
POSTN(1) TYPE C,
POST2(1) TYPE C,
END OF SEL.
*---- SATZART '1' = Stammdaten -
*---- '2' = Faelligkeitsraster -
*---- '3' = Einzelposten -
DATA: SATZART(1) TYPE C.
*---- RART = Erste ausgewaehlte Rasterart -
DATA: RART(1) TYPE C.
*---- TAGE = Tage nach denen die Posten sortiert sind -
DATA: TAGE(4) TYPE P,
*---- NTAGE = Tage fuer Netto-Faelligkeit -
NTAGE(4) TYPE P,
*---- STAGE = Tage fuer Skonto1-Faelligkeit -
STAGE(4) TYPE P,
*---- ATAGE = Alter der Belege -
ATAGE(4) TYPE P,
*---- UTAGE = Tage fuer Ueber-Faelligkeit -
UTAGE(4) TYPE P.
*---- RASTERUU dient zur Sortierung der Einzelposten. Die Posten -
*---- gemaess ihrer Rasterung die Werte '1' bis '6' -
DATA: RASTERUU(1) TYPE C.
*---- RAART Rasterart -
---- Die einzelnen Felder der Feldleiste werden bei SART-OF-SELECTION
*---- mit 1 oder 0 bestueckt. -
*ATA: BEGIN OF RAART,
NET(1) TYPE C, "X = ausgewaehlt, ' ' = nicht ausgewaehlt
SKT(1) TYPE C, "X = ausgewaehlt, ' ' = nicht ausgewaehlt
UEB(1) TYPE C, "X = ausgewaehlt, ' ' = nicht ausgewaehlt
END OF RAART.
DATA: BEGIN OF GB,
GSBER LIKE BSIK-GSBER,
WAERS LIKE BSIK-WAERS,
END OF GB.
*---- Variable Ueberschriften -
DATA: BEGIN OF VARUEB1,
FELD1(45) TYPE C,
FELD2(14) TYPE C,
FELD3(14) TYPE C,
FELD4(14) TYPE C,
FELD5(14) TYPE C,
FELD6(14) TYPE C,
FELD7(14) TYPE C,
END OF VARUEB1.
DATA: BEGIN OF VARUEB2,
FELD1(45) TYPE C,
FELD2(14) TYPE C,
FELD3(14) TYPE C,
FELD4(14) TYPE C,
FELD5(14) TYPE C,
FELD6(14) TYPE C,
FELD7(14) TYPE C,
END OF VARUEB2.
DATA: VARUEB3(132),
VARUEB4(132),
VARTXT1(40),
VARTXT(40) TYPE C.
*---- Variable für Ausgabe der Sonderumsätze----
DATA: SHBBEZ LIKE T074T-LTEXT.
DATA: ASUMS TYPE P. "
*---- Interne Tabelle für Bezeichnungen der SHBKZ----
DATA: BEGIN OF BEZSHB OCCURS 10,
SHBKZ LIKE T074T-SHBKZ,
LTEXT LIKE T074T-LTEXT,
END OF BEZSHB.
*---- Interne Tabelle für Zwischenspeicherung -
DATA: BEGIN OF BLKEY,
BUKRS LIKE BSIK-BUKRS,
BELNR LIKE BSIK-BELNR,
GJAHR LIKE BSIK-GJAHR,
BUZEI LIKE BSIK-BUZEI,
END OF BLKEY.
DATA: BEGIN OF RTAGE,
NTAGE LIKE NTAGE,
STAGE LIKE STAGE,
ATAGE LIKE ATAGE,
UTAGE LIKE UTAGE,
END OF RTAGE.
DATA: BEGIN OF HBSIK OCCURS 10.
INCLUDE STRUCTURE BSIK.
INCLUDE STRUCTURE BSEGA.
INCLUDE STRUCTURE RTAGE.
DATA: END OF HBSIK.
DATA: BEGIN OF REFBL OCCURS 10.
INCLUDE STRUCTURE BLKEY.
INCLUDE STRUCTURE RTAGE.
DATA: END OF REFBL.
DATA: BEGIN OF HLFB1 OCCURS 10.
INCLUDE STRUCTURE LFB1.
DATA: END OF HLFB1.
DATA: BEGIN OF HT001 OCCURS 10.
INCLUDE STRUCTURE T001.
DATA: END OF HT001.
*---- Interne Tabelle für Ausgabe der Obligos -
DATA: BEGIN OF AOBLIGO OCCURS 12,
OBART TYPE C, "Flag für Obligoart 1 = Kontokorrent
" 2 = SHBKZ
" 3 = sonstige SHB
SHBKZ LIKE T074T-SHBKZ, "SHB-Kennzeichen
LTEXT LIKE T074T-LTEXT, "Bezeichnung
OBLIG TYPE P, "Obligobetrag
END OF AOBLIGO.
*---- Declarationen für Accessibility /ALV GRID -
data: ACC_MODE type c.
Data: UEBTEXT(22) type c.
Data: UEKTEXT(15) type c.
Data: TITTEXT(100) type c.
Data: DATTEXT(10) type c.
DATA: BEGIN OF RTAB_ALV OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
BUKRS LIKE BSIk-BUKRS,
lifnr LIKE LFA1-lifnr,
busab like lfb1-busab,
SORTL LIKE lfA1-SORTL,
LAND1 LIKE lfA1-LAND1,
GSBER LIKE BSIk-GSBER,
WAERS LIKE BSIk-WAERS,
hwaer like rf140-hwaer,
RAART like RF140-RAART, "Rasterart
shkzg like bsik-shkzg,
XGUTS TYPE C, "Gutschrift
KUMUM LIKE RF140-KUMUMHW, "Umsatz
ANZAH like rf140-anzbthw, "Anzahlungen
OPSUM like RF140-gsaldd, "Offene Posten Summe
RAST1 like RF140-rast1, "Rasterfeld 1
RAST2 like RF140-rast2, "Rasterfeld 2
RAST3 like RF140-rast3, "Rasterfeld 3
RAST4 like RF140-rast4, "Rasterfeld 4
RAST5 like RF140-rast5, "Rasterfeld 5
RAST6 like RF140-rast6, "Rasterfeld 6
END OF RTAB_ALV.
*"General Data
TYPE-POOLS: SLIS.
*DATA: BEGIN OF GT_OUTTAB OCCURS 0.
INCLUDE STRUCTURE rtab_alv.
*DATA: END OF GT_OUTTAB.
Data: GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
G_EXIT_CAUSED_BY_CALLER,
GS_EXIT_CAUSED_BY_USER TYPE SLIS_EXIT_BY_USER,
G_REPID LIKE SY-REPID,
G_GRID_TITLE TYPE LVC_TITLE.
*"Callback
*Data: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
G_STATUS_SET TYPE SLIS_FORMNAME VALUE 'PF_STATUS_SET',
Data: G_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.
G_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
G_TOP_OF_LIST TYPE SLIS_FORMNAME VALUE 'TOP_OF_LIST',
G_END_OF_LIST TYPE SLIS_FORMNAME VALUE 'END_OF_LIST'.
*"Variants
DATA: GS_VARIANT LIKE DISVARIANT,
G_SAVE.
Global structure of list
fieldcatalog
DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
sort
*DATA: GT_SORT TYPE SLIS_T_SORTINFO_ALV.
events
*DATA: GT_EVENTS TYPE SLIS_T_EVENT.
*----- Structure for specific color settings -
*DATA: COL_TAB_T TYPE SLIS_T_SPECIALCOL_ALV,
COL_TAB TYPE SLIS_SPECIALCOL_ALV.
DATA: G_TABNAME TYPE SLIS_TABNAME VALUE 'RTAB_ALV'.
print
*DATA: GS_PRINT TYPE SLIS_PRINT_ALV.
*---- FIELD-GROUPS -
FIELD-GROUPS:
HEADER,
STAMMDATEN,
OP-RASTER,
EINZELPOSTEN.
INSERT
LFB1-BUKRS " Buchungskreis
lfB1-BUSAB " Sachbearbeiter
LFA1-LIFNR " Kontonummer
SATZART " Satzart
RTAB-SORTK " Sortkz fuer Tabelle RTAB
" '0' = normale Eintraege
" '1' = Summeneintraege
GB " Geschaeftsbereich
" - GB-GSBER
" - GB-WAERS
RASTERUU " Kennzeichen fuer Detailposten bzw Raster
ab hier nur fuer Einzelposten -
TAGE " Rastertage fuer Detailposten
BSIK-UMSKZ " Umsatzkennzeichen
BSIK-BLART " Belegart
BSIK-ZUONR " Zuordnungsnummer
BSIK-BELNR " Belegnummer
BSIK-BUZEI " Belegzeile
INTO HEADER.
INSERT
Addressdaten
ADRS-LINE0 " 1. Zeile Adressenaufbereitung
ADRS-LINE1 " 2. " "
ADRS-LINE2 " 3. " "
ADRS-LINE3 " 4. " "
ADRS-LINE4 " 5. " "
ADRS-LINE5 " 6. " "
ADRS-LINE6 " 7. " "
ADRS-LINE7 " 8. " "
ADRS-LINE8 " 9. " "
ADRS-LINE9 " 10." "
Umsatzdaten
C-KUMUM " Umsatz
C-BABZG " Berechtigt. Abzuege
C-UABZG " Unberechtigt. Abzuege
C-KZINS " Zinszahlungen
C-KUMAG " Kum. Jahresausgleich
Obligos
C-SALDO " Saldo ohne SHB-Vorgänge
C-UMKZ1 "SHBKZ 1
C-SUMS1 "Sonderumsatz 1
C-UMKZ2 "SHBKZ 2
C-SUMS2 "Sonderumsatz 2
C-UMKZ3 "SHBKZ 3
C-SUMS3 "Sonderumsatz 3
C-UMKZ4 "SHBKZ 4
C-SUMS4 "Sonderumsatz 4
C-UMKZ5 "SHBKZ 5
C-SUMS5 "Sonderumsatz 5
C-UMKZ6 "SHBKZ 6
C-SUMS6 "Sonderumsatz 6
C-UMKZ7 "SHBKZ 7
C-SUMS7 "Sonderumsatz 7
C-UMKZ8 "SHBKZ 8
C-SUMS8 "Sonderumsatz 8
C-UMKZ9 "SHBKZ 9
C-SUMS9 "Sonderumsatz 9
C-UMKZ10 "SHBKZ 10
C-SUMS10 "Sonderumsatz 10
C-SONOB " Sonst. Obligen
Limits
C-AGOBLI " Absolutes Gesamtobligo
Zahlungdaten
LFB1-ZTERM "Zahlungsbedingung
LFB1-ZAHLS "Sperrschlüssel für Zahlung
LFB1-ZWELS "Zahlwege
LFB1-XVERR "Zahlungsverrechnung
LFB1-WEBTR "Wechsellimit
LFB1-BUSAB " Sachbearbeiter
lfa1-sortl
lfa1-land1
INTO STAMMDATEN.
INSERT
RTAB-RAART "Rasterart
RTAB-SPERR "gesperrte Posten
RTAB-KUMUM "Umsatz
RTAB-ANZAH "Anzahlungen
RTAB-OPSUM "Offene Posten Summe
RTAB-RAST1 "Rasterfeld 1
RTAB-RAST2 "Rasterfeld 2
RTAB-RAST3 "Rasterfeld 3
RTAB-RAST4 "Rasterfeld 4
RTAB-RAST5 "Rasterfeld 5
RTAB-RAST6 "Rasterfeld 6
INTO OP-RASTER.
INSERT
BSIK-BUDAT " Buchungsdatum
BSIK-BLDAT " Belegdatum
BSIK-CPUDT " CPU-Datum
BKPF-USNAM " User-ID
BSIK-WAERS " Wahrungsschluessel
BSEGA-NETDT " Nettofaelligkeitsdatum
FAEDE-NETDT " Nettofaelligkeitsdatum
BSIK-ZFBDT " Zahlungsfristen-Basisdatum
BSIK-BSCHL " Buchungsschluessel
BSIK-ZLSCH " Zahlungsschluessel
BSIK-MANST " Mahnstufe
SHBETRAG " Hauswaehrungsbetrag
BSEGA-DMSHB " Hauswaehrungsbetrag
BSEGA-WRSHB " Fremwaehrungsbetrag
INTO EINZELPOSTEN.
BEGIN_OF_BLOCK 1.
*ELECT-OPTIONS:
GESBER FOR BSIK-GSBER.
PARAMETERS:
MONAT LIKE RFPDO-DOPRBMON.
SELECT-OPTIONS:
KKSALDO2 FOR RFSDO-KOPRSAL2, "Saldovortrag
AGOBLIG2 FOR RFSDO-KOPRAGO2. "Absolutes Obligo
RGOBLIGO FOR RFSDO-DOPRRGOB. "Relatives Obligo
SELECT-OPTIONS:
LAND FOR LFA1-LAND1,
KONTENGR FOR LFA1-KTOKK,
SACHBEAR FOR LFB1-BUSAB,
AKONTS FOR LFB1-AKONT,
AKONTP FOR BSIK-HKONT.
SELECT-OPTIONS:
BUDAT FOR BSIK-BUDAT,
BLDAT FOR BSIK-BLDAT,
NETDT FOR BSEGA-NETDT.
PARAMETERS: N_BELEGE LIKE RFPDO-BPETNBEL
DEFAULT 'X', "Normale Belege.
STAT_BLG LIKE RFPDO-BPETSBEL. "Statistische Belege
END_OF_BLOCK 1.
*ELECT-OPTIONS:
BERABZU1 FOR LFC1-BABZG,
UNBABZU1 FOR LFC1-UABZG,
ZINSE1 FOR LFC1-KZINS,
JHRAUSG1 FOR LFC1-KUMAG.
BERABZUG FOR BEABZUG NO-DISPLAY, "Berechtigter Abzug
UNBABZUG FOR UBABZUG NO-DISPLAY, "Unberechtigter Abzug
ZINSEN FOR KUMZINS NO-DISPLAY, "Kumulierter Zins
JHRAUSGL FOR JAHRAUG NO-DISPLAY. "Kumulierter Jahresausgl.
BEGIN_OF_BLOCK 2.
PARAMETERS:
SORTART LIKE RFPDO1-KOPRSOAR DEFAULT '1', "Doku
VERDICHT LIKE RFPDO1-KOPRVERD DEFAULT '1', "Doku
RASTVERD LIKE RFPDO1-KOPRRAST DEFAULT '0', "Doku
KONZVERS LIKE RFPDO-DOPOKONZ, "Konzernversion
XBUKRDAT LIKE RFPDO3-ALLGBUKD DEFAULT 0, "Bukr.daten
KAUSGABE like rfpdo3-ALLGKAOR.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(30) TEXT-030.
PARAMETERS: RART-NET LIKE RFPDO-DOPRRNET DEFAULT 'X'.
SELECTION-SCREEN COMMENT 33(01) TEXT-028.
PARAMETERS: RART-SKT LIKE RFPDO-DOPRRSKT DEFAULT 'X'.
SELECTION-SCREEN COMMENT 35(01) TEXT-028.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: RART-ALT LIKE RFPDO1-KOPRRALT DEFAULT 'X'.
SELECTION-SCREEN COMMENT 03(28) TEXT-031.
SELECTION-SCREEN POSITION POS_HIGH.
PARAMETERS RBLDAT LIKE RFPDO2-KORD10BD.
SELECTION-SCREEN COMMENT 61(12) TEXT-032.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN COMMENT 37(01) TEXT-028.
PARAMETERS: RART-UEB LIKE RFPDO-DOPRRUEB DEFAULT 'X'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(31) TEXT-026.
PARAMETERS: RASTBIS1 LIKE RFPDO1-ALLGROGR DEFAULT '000'.
SELECTION-SCREEN COMMENT 35(02) TEXT-027.
PARAMETERS: RASTBIS2 LIKE RFPDO1-ALLGROGR DEFAULT '020'.
SELECTION-SCREEN COMMENT 41(02) TEXT-027.
PARAMETERS: RASTBIS3 LIKE RFPDO1-ALLGROGR DEFAULT '040'.
SELECTION-SCREEN COMMENT 47(02) TEXT-027.
PARAMETERS: RASTBIS4 LIKE RFPDO1-ALLGROGR DEFAULT '080'.
SELECTION-SCREEN COMMENT 53(02) TEXT-027.
PARAMETERS: RASTBIS5 LIKE RFPDO1-ALLGROGR DEFAULT '100'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(31) TEXT-029.
PARAMETERS: FAKTOR LIKE RFPDO-DOPRFAKT DEFAULT '0'.
SELECTION-SCREEN COMMENT 35(1) TEXT-028.
PARAMETERS: STELLEN LIKE RFPDO-DOPRFAKT DEFAULT '0'.
SELECTION-SCREEN END OF LINE.
PARAMETERS: PZUOR LIKE RFPDO2-DOPRZUOR.
PARAMETERS: UMSATZKZ LIKE RFPDO1-DOPRSHBO. "DEFAULT 'WSABIMVD'.
PARAMETERS:
TITLE LIKE RFPDO1-ALLGLINE,
LISTSEP LIKE RFPDO-ALLGLSEP,
MIKFICHE LIKE RFPDO-ALLGMIKF.
PARAMETERS:
P_LVAR LIKE Gs_VARIANT-VARIANT DEFAULT SPACE modif id 508.
END_OF_BLOCK 2.
AT SELECTION-SCREEN OUTPUT.
if acc_mode is initial.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = '508'.
SCREEN-active = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
endif.
AT SELECTION-SCREEN ON AKONTS.
Konvertierung der Kontonummer
LOOP AT AKONTS.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTS-LOW AKONTS-LOW.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTS-HIGH AKONTS-HIGH.
MODIFY AKONTS.
ENDLOOP.
AT SELECTION-SCREEN ON AKONTP.
Konvertierung der Kontonummer
LOOP AT AKONTP.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTP-LOW AKONTP-LOW.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTP-HIGH AKONTP-HIGH.
MODIFY AKONTP.
ENDLOOP.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_LVAR.
Gs_VARIANT-REPORT = SY-REPID.
Gs_VARIANT-VARIANT = P_LVAR.
PERFORM F4_FOR_S_LVAR USING Gs_VARIANT.
P_LVAR = Gs_VARIANT-VARIANT.
AT SELECTION-SCREEN.
IF NOT RASTBIS5 IS INITIAL.
IF RASTBIS5 GT RASTBIS4
AND RASTBIS4 GT RASTBIS3
AND RASTBIS3 GT RASTBIS2
AND RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
ENDIF.
ELSE.
IF NOT RASTBIS4 IS INITIAL.
IF RASTBIS4 GT RASTBIS3
AND RASTBIS3 GT RASTBIS2
AND RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
ENDIF.
ELSE.
IF NOT RASTBIS3 IS INITIAL.
IF RASTBIS3 GT RASTBIS2
AND RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
ENDIF.
ELSE.
IF NOT RASTBIS2 IS INITIAL.
IF RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
ENDIF.
ELSE.
nichts zu tun
ENDIF.
ENDIF.
END -
NEED ALVGRID MATERIAL TO CONVERT STANDARD REPORT
NEED ALVGRID MATERIAL TO CONVERT STANDARD REPORT
THANKS IN ADVANCED.To my Knowledge there is not method for converting a standard report to alv grid.
U just collect the required data to final internal table and then build field catlog.Use this field catalog in the function module.
Check the following program it may help u.
report z_example.
TYPE-POOLS slis.
TABLES : qals.
DATA : BEGIN OF t_out OCCURS 0,
matnr LIKE qals-matnr, "MATERIAL
werk LIKE qals-werk, "PLANT
art like qals-art, "Inspaction Lot Type
objnr like qals-objnr, "Object Number
END OF t_out.
DATA : i_fieldcat TYPE slis_t_fieldcat_alv,
i_layout TYPE slis_layout_alv,
gs_layout TYPE lvc_s_layo,
g_repid TYPE sy-repid,
ls_fieldcat TYPE slis_fieldcat_alv.
SELECT-OPTIONS:s_prflos FOR qals-prueflos.
INITIALIZATION.
g_repid = sy-repid.
i_layout-zebra = 'X'.
i_layout-colwidth_optimize = 'X'.
START-OF-SELECTION.
PERFORM fetch_data.
END-OF-SELECTION.
PERFORM fill_fieldcat.
PERFORM display_alv.
FORM fetch_data .
SELECT matnr werk art objnr
FROM qals
INTO TABLE t_out
WHERE prueflos IN s_prflos.
ENDFORM. " FETCH_DATA
FORM fill_fieldcat .
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = g_repid
i_internal_tabname = 'T_OUT'
i_inclname = g_repid
CHANGING
ct_fieldcat = i_fieldcat[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
ENDFORM. " FILL_FIELDCAT
FORM display_alv .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_repid
is_layout = i_layout
it_fieldcat = i_fieldcat[]
TABLES
t_outtab = t_out
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM. " display_alv
Regards -
Hi all,
In my alvgrid I have few columns which are editable, i edit cells, insert a new row and modify row and delete.
All these changes should be stored in internal table. I should save automaticaly when i invoke display button.
I use this code but i need the modification without tranporting the fields how do i do?
WHEN 'DISPLAY'.
PERFORM changed_data.
PERFORM filter_condpri.
WHEN 'SAVE'.
PERFORM save_data.
ENDCASE.
ENDMODULE. "pai_100 INPUT
*& Module exit_0100 INPUT
MODULE exit_0100 INPUT.
CASE ok_code.
WHEN 'EXIT'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " pai_100 INPUT
*& Form changed_data
FORM changed_data.
LOOP AT gt_zflp_ttcualcond
INTO gs_zflp_stcualcond
WHERE chflg = 'M'.
MODIFY gt_zflp_ttcualcondpri
FROM gs_zflp_stcualcond
TRANSPORTING delkzr_1 delkzr_2
delkzd_1 delkzd_2
matnr_1 matnr_2
maktx_1 maktx_2
WHERE profil = gs_zflp_stcualcond-profil
AND alcat = gs_zflp_stcualcond-alcat
AND indcopr = gs_zflp_stcualcond-indcopr
AND norule = gs_zflp_stcualcond-norule.
ENDLOOP.
LOOP AT gt_zflp_ttcualpri
INTO gs_zflp_stcualpri
WHERE chflg = 'M'.
MODIFY gt_zflp_ttcualcondpri
FROM gs_zflp_stcualpri
TRANSPORTING delkzr_1 delkzr_2
delkzd_1 delkzd_2
matnr_1 matnr_2
maktx_1 maktx_2
WHERE profil = gs_zflp_stcualpri-profil
AND alcat = gs_zflp_stcualpri-alcat
AND indcopr = gs_zflp_stcualpri-indcopr
AND norule = gs_zflp_stcualpri-norule.
ENDLOOP.
ENDFORM. "changed_data
Looking forward.
Regards
Sap teamHi,
Check the sample code:
*-- Display Report
CALL METHOD o_alvgrid->set_table_for_first_display
EXPORTING
i_save = c_a
is_layout = p_layout
it_toolbar_excluding = i_excl_func
CHANGING
it_outtab = p_output[]
it_fieldcatalog = p_fieldcat[]
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE s001(zesspa) WITH text-029. " Error in Displaying
LEAVE LIST-PROCESSING.
ELSE.
<b>* Register events
CALL METHOD o_alvgrid->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_enter.
CALL METHOD o_alvgrid->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_modified.</b>
This registering event will make the data changes to be automatically update to the internal table.
Then write the code in the data changed event to modify the global internal table.
*-- ALV Grid data declaration
CLASS v_lcl_event_receiver DEFINITION
CLASS lcl_event_receiver DEFINITION.
PUBLIC SECTION.
METHODS:
handle_data_changed FOR EVENT data_changed OF cl_gui_alv_grid
IMPORTING er_data_changed,
ENDCLASS. "o_lcl_event_receiver DEFINITION
CLASS LCL_EVENT_RECEIVER IMPLEMENTATION
CLASS lcl_event_receiver IMPLEMENTATION.
"handle_data_changed
METHOD handle_data_changed.
PERFORM handle_data_changed USING er_data_changed.
ENDMETHOD. "handle_data_changed
ENDCLASS. "lcl_event_receiver IMPLEMENTATION
*& Form f2200_handle_data_changed
Handle Data Changed in the ALV grid
FORM handle_data_changed USING ir_data_changed
TYPE REF TO
cl_alv_changed_data_protocol.
DATA : ls_mod_cell TYPE lvc_s_modi,
lv_value TYPE lvc_value,
lws_date TYPE scal-date.
DATA: lws_contrlife LIKE zspa_es_contlife-zzcontrlife,
lwa_contrlife TYPE zspa_es_contlife,
lws_mod_eff_code TYPE zspa_es_mod_code-zzmod_eff_code,
lwa_mod_eff_code TYPE zspa_es_mod_code.
SORT ir_data_changed->mt_mod_cells BY row_id .
LOOP AT ir_data_changed->mt_mod_cells
INTO ls_mod_cell
WHERE fieldname = text-025 "ZZCONTRLIFE
OR fieldname = text-026 "ZZMOD_EFF_CODE
OR fieldname = text-027 "DATE
OR fieldname = text-028. "CLIENT_AGGR.
READ TABLE i_final INTO wa_final
INDEX ls_mod_cell-row_id.
IF sy-subrc = 0.
IF ls_mod_cell-fieldname = text-025. "ZZCONTRLIFE
lws_contrlife = ls_mod_cell-value.
SELECT SINGLE * FROM zspa_es_contlife
INTO lwa_contrlife WHERE zzcontrlife = lws_contrlife.
IF sy-subrc NE 0.
CALL METHOD ir_data_changed->modify_cell
EXPORTING
i_row_id = ls_mod_cell-row_id
i_fieldname = text-025
i_value = ''.
MESSAGE s001(zesspa) WITH text-035.
EXIT.
ELSE.
CALL METHOD ir_data_changed->modify_cell
EXPORTING
i_row_id = ls_mod_cell-row_id
i_fieldname = text-025
i_value = lws_contrlife.
wa_final-zzcontrlife = lws_contrlife.
MODIFY i_final FROM wa_final INDEX ls_mod_cell-row_id.
ENDIF.
ENDIF.
IF ls_mod_cell-fieldname = text-026. "ZZMOD_EFF_CODE
lws_mod_eff_code = ls_mod_cell-value.
SELECT SINGLE * FROM zspa_es_mod_code
INTO lwa_mod_eff_code
WHERE zzmod_eff_code = lws_mod_eff_code.
IF sy-subrc NE 0.
CALL METHOD ir_data_changed->modify_cell
EXPORTING
i_row_id = ls_mod_cell-row_id
i_fieldname = text-026
i_value = ''.
MESSAGE s001(zesspa) WITH text-036.
EXIT.
ELSE.
CALL METHOD ir_data_changed->modify_cell
EXPORTING
i_row_id = ls_mod_cell-row_id
i_fieldname = text-026
i_value = lws_mod_eff_code.
wa_final-zzmod_eff_code = lws_mod_eff_code.
IF wa_final-zzmod_eff_code = 1 OR
wa_final-zzmod_eff_code = 2.
wa_final-date = ''.
CALL METHOD ir_data_changed->modify_cell
EXPORTING
i_row_id = ls_mod_cell-row_id
i_fieldname = text-027
i_value = ''.
ENDIF.
MODIFY i_final FROM wa_final INDEX ls_mod_cell-row_id.
**-- No Edit control for Date when mode eff code = '1', '2'.
PERFORM no_edit_for_date TABLES i_final.
*This perform Refresh's the ALV list and Set's the Focus to
*Current Cell and keep the Scroll bar in the same place.
PERFORM alv_refresh.
ENDIF.
ENDIF.
IF ls_mod_cell-fieldname = text-027. "DATE
CONCATENATE ls_mod_cell-value+6(4)
ls_mod_cell-value+3(2)
ls_mod_cell-value+0(2) INTO lws_date.
IF lws_date NE ''.
IF lws_date > sy-datum.
wa_final-date = lws_date.
CALL METHOD ir_data_changed->modify_cell
EXPORTING
i_row_id = ls_mod_cell-row_id
i_fieldname = text-027
i_value = lws_date.
MODIFY i_final FROM wa_final INDEX ls_mod_cell-row_id.
ELSE.
CALL METHOD ir_data_changed->modify_cell
EXPORTING
i_row_id = ls_mod_cell-row_id
i_fieldname = text-027
i_value = ''.
MESSAGE s001(zesspa) WITH text-037.
EXIT.
ENDIF.
ENDIF.
ENDIF.
IF ls_mod_cell-fieldname = text-028. "CLIENT_AGGR
TRANSLATE ls_mod_cell-value TO UPPER CASE. "#EC SYNTCHAR
*"#EC TRANSLANG
IF ls_mod_cell-value EQ c_s OR ls_mod_cell-value EQ c_n.
CALL METHOD ir_data_changed->modify_cell
EXPORTING
i_row_id = ls_mod_cell-row_id
i_fieldname = text-028
i_value = ls_mod_cell-value.
wa_final-client_aggr = ls_mod_cell-value.
MODIFY i_final FROM wa_final INDEX ls_mod_cell-row_id.
ELSE.
CALL METHOD ir_data_changed->modify_cell
EXPORTING
i_row_id = ls_mod_cell-row_id
i_fieldname = text-028
i_value = ''.
MESSAGE s001(zesspa) WITH text-039.
EXIT.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. " handle_data_changed -
How to make Authority Check for ALVGrid?!
Hey mates,
i got the problem which is mentioned in the headline. How can i make an authority check for my ALVGrid? I mean i want to restrict special functions to the matching users ( Display, Edit, Delete mode ).
Would be cool if someone can help
Regards BastiHello Bastian
A simple approach would be to define three different transactions (e.g. Z_MYALV01, Z_MYALV02, Z_MYALV03) for editing/deleting, editing only and displaying only. Add the following coding to the report displaying your ALV grid:
CASE syst-tcode.
WHEN gc_tcode_create. " 01
" Allow all grid functions
WHEN gc_tcode_change. " 02
" Suppress grid functions for deleting rows
WHEN gc_tcode_display. " 03
" Suppress grid functions for editing/deleting
WHEN others.
RETURN.
ENDCASE.
Regards
Uwe -
How to set column width in alvgrid
hi
how to set column width in alvgrid.
thanks.Hi,
Check this,
REPORT ztest.
DATA: BEGIN OF i_scarr_tab OCCURS 0.
INCLUDE STRUCTURE scarr.
DATA: END OF i_scarr_tab.
DATA: i_scarr LIKE TABLE OF i_scarr_tab WITH HEADER LINE,
w_scarr LIKE LINE OF i_scarr_tab.
DATA: o_grid TYPE REF TO cl_gui_alv_grid,
o_container TYPE REF TO cl_gui_custom_container.
DATA: lt_fcat TYPE lvc_t_fcat,
ls_layo TYPE lvc_s_layo,
ls_sort TYPE lvc_s_sort,
lt_sort TYPE lvc_t_sort,
ls_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.
START-OF-SELECTION.
CALL SCREEN 9000.
*& Module status_9000 OUTPUT
text
MODULE status_9000 OUTPUT.
SET PF-STATUS '9000'.
SET TITLEBAR '9000'.
ENDMODULE. " status_9000 OUTPUT
*& Module user_command_9000 INPUT
text
MODULE user_command_9000 INPUT.
CASE sy-ucomm .
WHEN 'BACK' OR 'EXIT'.
SET SCREEN 0.
LEAVE SCREEN.
ENDCASE.
ENDMODULE. " user_command_9000 INPUT
*& Module init_9000 OUTPUT
text
MODULE init_9000 OUTPUT.
IF o_container IS INITIAL.
SELECT * FROM scarr INTO CORRESPONDING FIELDS OF TABLE
i_scarr UP TO 100 ROWS.
IF cl_gui_alv_grid=>offline( ) IS INITIAL.
Create a custom container control for ALV Control
CREATE OBJECT o_container
EXPORTING
container_name = 'CONTROL'.
Create a ALV Control
CREATE OBJECT o_grid
EXPORTING i_parent = o_container.
PERFORM build_field_catalgue.
ls_layo-sel_mode = 'A'.
CALL METHOD o_grid->set_table_for_first_display
EXPORTING
i_save = 'A'
i_default = 'X'
is_layout = ls_layo
CHANGING
it_outtab = i_scarr[]
it_fieldcatalog = lt_fcat
it_sort = lt_sort[].
ENDIF.
ENDIF.
ENDMODULE. " init_9000 OUTPUT
*& Form build_field_catalgue
text
--> p1 text
<-- p2 text
FORM build_field_catalgue .
DATA: ls_fcat TYPE lvc_s_fcat.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-cprog
i_internal_tabname = 'I_SCARR_TAB'
i_structure_name = 'SCARR'
i_client_never_display = 'X'
CHANGING
ct_fieldcat = ls_fieldcat[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE 'FCAT Error' TYPE 'I'.
EXIT.
ENDIF.
LOOP AT ls_fieldcat.
CLEAR ls_fcat.
ls_fcat-fieldname = ls_fieldcat-fieldname. "Fieldname
ls_fcat-ref_table = ls_fieldcat-tabname. "DDIC ref struct
ls_fcat-inttype = ls_fieldcat-inttype. "Data type
ls_fcat-outputlen = ls_fieldcat-outputlen. "Column width
ls_fcat-coltext = ls_fieldcat-seltext_m. "Column Header
ls_fcat-seltext = ls_fieldcat-seltext_m. "Column Desc
ls_fcat-ref_field = ls_fieldcat-ref_fieldname. "Reference field
ls_fcat-ref_table = ls_fieldcat-ref_tabname. "Reference table
CASE ls_fieldcat-fieldname.
WHEN 'LUGGWEIGHT' OR 'FORCURAM'.
ls_fcat-edit = 'X'.
ls_fcat-do_sum = 'X'.
WHEN 'URL'.
ls_fcat-no_out = 'X'.
WHEN OTHERS.
ls_fcat-edit = ' '.
ls_fcat-do_sum = ' '.
ENDCASE.
APPEND ls_fcat TO lt_fcat.
ENDLOOP.
ENDFORM. " build_field_catalgue
check the programs bcalv_grid*.
check this link for more detailed example.
http://www.supinfo-projects.com/fr/2005/alv_display_fr/2/
Regards
Sruthi -
ABAP : Running total in alvgrid
Dear ABAP Experts,
How can I add running sum in alvgrid.? I have developed a code but when user sorts on anycolumn then the total becomes wrong because it has been calculated in the code. Is there any auto feature in alvgrid.?
Regards
AneelYou could try this event, but can we take it for granted that the sub-totals have already been recalculated by ALV at this step and that our changes will not be overwritten?
This is why I prefer the event after_refresh which (AFAIK) is the last one before re-display of grid.
Regards,
Raymond -
Save changes automatically in alvgrid
Hello all,
How do i save changes automatically in alvgrid. I display data with fields which can be editable & some which are not.
The fields which are editable should be saved automatically. These fields should be saved in global internal table.
I have save button, but I invoke only when the changed data is saved in database table via global internal table.
Looking forward for your reply.
regards
Madhavi.Hi
Check the sample code:
*-- Display Report
CALL METHOD o_alvgrid->set_table_for_first_display
EXPORTING
i_save = c_a
is_layout = p_layout
it_toolbar_excluding = i_excl_func
CHANGING
it_outtab = p_output[]
it_fieldcatalog = p_fieldcat[]
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE s001(zesspa) WITH text-029. " Error in Displaying
LEAVE LIST-PROCESSING.
ELSE.
<b>* Register events
CALL METHOD o_alvgrid->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_enter.
CALL METHOD o_alvgrid->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_modified.
This registering event will make the data changes to be automatically update to the internal table.
Then write the code in the data changed event to modify the global internal table.
</b>
*-- ALV Grid data declaration
CLASS v_lcl_event_receiver DEFINITION
CLASS lcl_event_receiver DEFINITION.
PUBLIC SECTION.
METHODS:
handle_data_changed FOR EVENT data_changed OF cl_gui_alv_grid
IMPORTING er_data_changed,
ENDCLASS. "o_lcl_event_receiver DEFINITION
CLASS LCL_EVENT_RECEIVER IMPLEMENTATION
CLASS lcl_event_receiver IMPLEMENTATION.
"handle_data_changed
METHOD handle_data_changed.
PERFORM handle_data_changed USING er_data_changed.
ENDMETHOD. "handle_data_changed
ENDCLASS. "lcl_event_receiver IMPLEMENTATION
*& Form f2200_handle_data_changed
Handle Data Changed in the ALV grid
FORM handle_data_changed USING ir_data_changed
TYPE REF TO
cl_alv_changed_data_protocol.
DATA : ls_mod_cell TYPE lvc_s_modi,
lv_value TYPE lvc_value,
lws_date TYPE scal-date.
DATA: lws_contrlife LIKE zspa_es_contlife-zzcontrlife,
lwa_contrlife TYPE zspa_es_contlife,
lws_mod_eff_code TYPE zspa_es_mod_code-zzmod_eff_code,
lwa_mod_eff_code TYPE zspa_es_mod_code.
SORT ir_data_changed->mt_mod_cells BY row_id .
LOOP AT ir_data_changed->mt_mod_cells
INTO ls_mod_cell
WHERE fieldname = text-025 "ZZCONTRLIFE
OR fieldname = text-026 "ZZMOD_EFF_CODE
OR fieldname = text-027 "DATE
OR fieldname = text-028. "CLIENT_AGGR.
READ TABLE i_final INTO wa_final
INDEX ls_mod_cell-row_id.
IF sy-subrc = 0.
IF ls_mod_cell-fieldname = text-025. "ZZCONTRLIFE
lws_contrlife = ls_mod_cell-value.
SELECT SINGLE * FROM zspa_es_contlife
INTO lwa_contrlife WHERE zzcontrlife = lws_contrlife.
IF sy-subrc NE 0.
CALL METHOD ir_data_changed->modify_cell
EXPORTING
i_row_id = ls_mod_cell-row_id
i_fieldname = text-025
i_value = ''.
MESSAGE s001(zesspa) WITH text-035.
EXIT.
ELSE.
CALL METHOD ir_data_changed->modify_cell
EXPORTING
i_row_id = ls_mod_cell-row_id
i_fieldname = text-025
i_value = lws_contrlife.
wa_final-zzcontrlife = lws_contrlife.
MODIFY i_final FROM wa_final INDEX ls_mod_cell-row_id.
ENDIF.
ENDIF.
IF ls_mod_cell-fieldname = text-026. "ZZMOD_EFF_CODE
lws_mod_eff_code = ls_mod_cell-value.
SELECT SINGLE * FROM zspa_es_mod_code
INTO lwa_mod_eff_code
WHERE zzmod_eff_code = lws_mod_eff_code.
IF sy-subrc NE 0.
CALL METHOD ir_data_changed->modify_cell
EXPORTING
i_row_id = ls_mod_cell-row_id
i_fieldname = text-026
i_value = ''.
MESSAGE s001(zesspa) WITH text-036.
EXIT.
ELSE.
CALL METHOD ir_data_changed->modify_cell
EXPORTING
i_row_id = ls_mod_cell-row_id
i_fieldname = text-026
i_value = lws_mod_eff_code.
wa_final-zzmod_eff_code = lws_mod_eff_code.
IF wa_final-zzmod_eff_code = 1 OR
wa_final-zzmod_eff_code = 2.
wa_final-date = ''.
CALL METHOD ir_data_changed->modify_cell
EXPORTING
i_row_id = ls_mod_cell-row_id
i_fieldname = text-027
i_value = ''.
ENDIF.
MODIFY i_final FROM wa_final INDEX ls_mod_cell-row_id.
**-- No Edit control for Date when mode eff code = '1', '2'.
PERFORM no_edit_for_date TABLES i_final.
*This perform Refresh's the ALV list and Set's the Focus to
*Current Cell and keep the Scroll bar in the same place.
PERFORM alv_refresh.
ENDIF.
ENDIF.
IF ls_mod_cell-fieldname = text-027. "DATE
CONCATENATE ls_mod_cell-value+6(4)
ls_mod_cell-value+3(2)
ls_mod_cell-value+0(2) INTO lws_date.
IF lws_date NE ''.
IF lws_date > sy-datum.
wa_final-date = lws_date.
CALL METHOD ir_data_changed->modify_cell
EXPORTING
i_row_id = ls_mod_cell-row_id
i_fieldname = text-027
i_value = lws_date.
MODIFY i_final FROM wa_final INDEX ls_mod_cell-row_id.
ELSE.
CALL METHOD ir_data_changed->modify_cell
EXPORTING
i_row_id = ls_mod_cell-row_id
i_fieldname = text-027
i_value = ''.
MESSAGE s001(zesspa) WITH text-037.
EXIT.
ENDIF.
ENDIF.
ENDIF.
IF ls_mod_cell-fieldname = text-028. "CLIENT_AGGR
TRANSLATE ls_mod_cell-value TO UPPER CASE. "#EC SYNTCHAR
*"#EC TRANSLANG
IF ls_mod_cell-value EQ c_s OR ls_mod_cell-value EQ c_n.
CALL METHOD ir_data_changed->modify_cell
EXPORTING
i_row_id = ls_mod_cell-row_id
i_fieldname = text-028
i_value = ls_mod_cell-value.
wa_final-client_aggr = ls_mod_cell-value.
MODIFY i_final FROM wa_final INDEX ls_mod_cell-row_id.
ELSE.
CALL METHOD ir_data_changed->modify_cell
EXPORTING
i_row_id = ls_mod_cell-row_id
i_fieldname = text-028
i_value = ''.
MESSAGE s001(zesspa) WITH text-039.
EXIT.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. " handle_data_changed -
Requrred screenshots for alvgrid display
hi,
i am the beginner to ABA/4,
i want to learn how to create alv reports .
can u people help me?Hi Sravanthi
WELCOME TO SDN COMMUNITY
ALV is ABAP LIST VIEWER.
To have more functionalities like totals, subtotals,logos,etc we choose ALVs compared to reports.
Check this:
Documentation on alv:
you can check out:
http://www.****************/Tutorials/ALV/ALVMainPage.htm
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVALV/BCSRVALV.pdf
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e8a1d690-0201-0010-b7ad-d9719a415907
http://help.sap.com/saphelp_nw2004s/helpdata/en/43/41341147041806e10000000a1553f6/frameset.htm
ABAP List Viewer
The common features of report are column alignment, sorting, filtering, subtotals, totals etc. To implement these, a lot of coding and logic is to be put. To avoid that we can use a concept called ABAP List Viewer (ALV).
This helps us to implement all the features mentioned very effectively.
Using ALV, We can have three types of reports:
1. Simple Report
2. Block Report
3. Hierarchical Sequential Report
There are some function modules which will enable to produce the above reports without much effort.
All the definitions of internal tables, structures and constants are declared in a type-pool called SLIS.
1. SIMPLE REPORT.
The important function modules are
a. Reuse_alv_list_display
b. Reuse_alv_fieldcatalog_merge
c. Reuse_alv_events_get
d. Reuse_alv_commentary_write
e. Reuse_alv_grid_display
A. REUSE_ALV_LIST_DISPLAY : This is the function module which prints the data.
The important parameters are :
I. Export :
i. I_callback_program : report id
ii. I_callback_pf_status_set : routine where a user can set his own pf status or change the functionality of the existing pf status
iii. I_callback_user_command : routine where the function codes are handled
iv. I_structure name : name of the dictionary table
v. Is_layout : structure to set the layout of the report
vi. It_fieldcat : internal table with the list of all fields and their attributes which are to be printed (this table can be populated automatically by the function module REUSE_ALV_FIELDCATALOG_MERGE
vii. It_events : internal table with a list of all possible events of ALV and their corresponding form names.
II. Tables :
i. t_outtab : internal table with the data to be output
B. REUSE_ALV_FIELDCATALOG_MERGE : This function module is used to
populate a fieldcatalog which is essential to display the data in ALV.
If the output data is from a single dictionary table and all the
columns are selected, then we need not exclusively create the field cat
alog. Its enough to mention the table name as a parameter
(I_structure name) in the REUSE_ALV_LIST_DISPLAY. But in other cases
we need to create it.
The Important Parameters are :
I. Export :
i. I_program_name : report id
ii. I_internal_tabname : the internal output table
iii. I_inclname : include or the report name where all the dynamic forms are handled.
II Changing
ct_fieldcat : an internal table with the type SLIS_T_FIELDCAT_ALV which is
declared in the type pool SLIS.
C. REUSE_ALV_EVENTS_GET : Returns table of possible events for a list type
Parameters :
I. Import :
Et_Events : The event table is returned with all possible CALLBACK events
for the specified list type (column 'NAME'). For events to be processed by Callback, their 'FORM' field must be filled. If the field is initialized, the event is ignored. The entry can be read from the event table, the field 'FORM' filled and the entry modified using constants from the type pool SALV.
II. Export :
I_List_type :
0 = simple list REUSE_ALV_LIST_DISPLAY
1 = hierarchcal-sequential list REUSE_ALV_HIERSEQ_LIST_DISPLAY
2 = simple block list REUSE_ALV_BLOCK_LIST_APPEND
3 = hierarchical-sequential block list
REUSE_ALV_BLOCK_LIST_HS_APPEND
D. REUSE_ALV_COMMENTARY_WRITE : This is used in the Top-of-page event to print the headings and other comments for the list.
Parameters :
I. it_list_commentary : internal table with the headings of the type slis_t_listheader.
This internal table has three fields :
Typ : H header, S selection , A - action
Key : only when typ is S.
Info : the text to be printed
E. REUSE_ALV_GRID_DISPLAY : A new function in 4.6 version, to display the results in grid rather than as a preview.
Parameters : same as reuse_alv_list_display
This is an example for simple list.
2. BLOCK REPORT
This is used to have multiple lists continuously.
The important functions used in this report are:
A. REUSE_ALV_BLOCK_LIST_INIT
B. REUSE_ALV_BLOCK_LIST_APPEND
C. REUSE_ALV_BLOCK_LIST_HS_APPEND
D. REUSE_ALV_BLOCK_LIST_DISPLAY
A. REUSE_ALV_BLOCK_LIST_INIT
Parameters:
I. I_CALLBACK_PROGRAM
II. I_CALLBACK_PF_STATUS_SET
III. I_CALLBACK_USER_COMMAND
This function module is used to set the default gui status etc.
B. REUSE_ALV_BLOCK_LIST_APPEND
Parameters :
Export :
I. is_layout : layout settings for block
II. it_fieldcat : field catalog
III. i_tabname : internal table name with output data
IV. it_events : internal table with all possible events
Tables :
i. t_outtab : internal table with output data.
This function module adds the data to the block.
Repeat this function for all the different blocks to be displayed one after the other.
C. REUSE_ALV_BLOCK_LIST_HS_APPEND
This function module is used for hierarchical sequential blocks.
D. REUSE_ALV_BLOCK_LIST_DISPLAY
Parameters : All the parameters are optional.
This function module display the list with data appended by the above function.
Here the functions REUSE_ALV_FIELDCATALOG_MERGE, REUSE_ALV_EVENTS_GET, REUSE_ALV_COMMENTARY_WRITE can be used.
3. Hierarchical reports :
Hierarchical sequential list output.
The function module is
A. REUSE_ALV_HIERSEQ_LIST_DISPLAY
Parameters:
I. Export:
i. I_CALLBACK_PROGRAM
ii. I_CALLBACK_PF_STATUS_SET
iii. I_CALLBACK_USER_COMMAND
iv. IS_LAYOUT
v. IT_FIELDCAT
vi. IT_EVENTS
vii. i_tabname_header : Name of the internal table in the program containing the
output data of the highest hierarchy level.
viii. i_tabname_item : Name of the internal table in the program containing the
output data of the lowest hierarchy level.
ix. is_keyinfo : This structure contains the header and item table field
names which link the two tables (shared key).
II. Tables
i. t_outtab_header : Header table with data to be output
ii. t_outtab_item : Name of the internal table in the program containing the
output data of the lowest hierarchy level.
slis_t_fieldcat_alv : This internal table contains the field attributes. This internal table can be populated automatically by using REUSE_ALV_FIELDCATALOG_MERGE.
Important Attributes :
A. col_pos : position of the column
B. fieldname : internal fieldname
C. tabname : internal table name
D. ref_fieldname : fieldname (dictionary)
E. ref_tabname : table (dictionary)
F. key(1) : column with key-color
G. icon(1) : icon
H. symbol(1) : symbol
I. checkbox(1) : checkbox
J. just(1) : (R)ight (L)eft (C)ent.
K. do_sum(1) : sum up
L. no_out(1) : (O)blig.(X)no out
M. outputlen : output length
N. seltext_l : long key word
O. seltext_m : middle key word
P. seltext_s : short key word
Q. reptext_ddic : heading (ddic)
R. ddictxt(1) : (S)hort (M)iddle (L)ong
S. datatype : datatype
T. hotspot(1) : hotspot
some theory regarding alv:
This table tells ALV which events are processed by the caller by CALLBACK.
The table of possible events per list type can be initialized using the module REUSE_ALV_EVENTS_GET.
You can display the names of the constants in the type pools SLIS which represent the individual events using the individual test function in the function module
REUSE_ALV_EVENT_NAMES_GET. Only events with a form routine name are processed.
The table structure contains the fields:
IT_EVENTS-NAME
Name of the Callback event.
Possible Callback events:
Action
USER_COMMAND USING R_UCOMM LIKE SY-UCOMM RS_SELFIELD TYPE SLIS_SELFIELD
Process actions on the list
As this is a frequently-used Callback event, the form routine can also be passed directly in the interface in the IMPORTING parameter I_CALLBACK_USER_COMMAND.
PF_STATUS_SET USING RT_EXTAB TYPE SLIS_T_EXTAB
If a user list status is to be set, it must be done in the form routine assigned to this event. The ALV function codes, which must not be active, are in the Parameter RT_EXTAB. This table must be passed with the SET PF-STATUS command (with inactive user function codes as well, if necessary).
The STANDARD status of the function group SALV should be used as a template for a user-specific status.
As this is a frequently-used Callback event, its form routine can also be passed directly in the interface in the IMPORTING parameter I_CALLBACK_PF_STATUS_SET.
ITEM_DATA_EXPAND USING RS_SELFIELD TYPE SLIS_SELFIELD RFLG_ALL TYPE C
Only relevant for hierarchical-sequential lists using the layout parameter IS_LAYOUT-EXPAND_FIELDNAME of the structure IS_LAYOUT.
Exit for passing item entries (ITEM table) for a header record which was expanded interactively by the user.
RS_SELFIELD-TABINDEX contains the header table index for which the item entries are to be put in the global item output table (T_OUTTAB_SLAVE). The Callback is only called if ALV has no items for a header which is to be expanded.
RFLG_ALL is passed with 'X' if the user shows all items. The application must ensure that entries are not repeated in the item table. RS_SELFIELD is initial in this case.
CALLER_EXIT USING RS_DATA Is called at the beginning of the function module to make special settings. It is not usually used.
List processing events
IMPORTANT: The application Callback routine must not manipulate the internal output table and/or its header record. This restriction applies to all Callbacks which are called in the list output and run under the 'List processing events'.
TOP_OF_LIST no USING parameter. Information output at the start of the list
END_OF_LIST no USING parameter. Information output at the end of the list
TOP_OF_PAGE no USING parameter
Equivalent to the list processing TOP-OF-PAGE event
END_OF_PAGE no USING parameter. Not available for hierarchical-sequential lists.
Information output at the end of a page. This is only called for printing.
TOP_OF_COVERPAGE no USING parameter
The selection information and list status are output together (if they exist) on a separate page by default. See also the documentation of the parameters:
IS_PRINT-NO_COVERPAGE
IS_PRINT-NO_PRINT_SELINFOS
IS_PRINT-NO_PRINT_LISTINFOS
IS_LAYOUT-GET_SELINFOS
The user can format the header area of the 'cover page' himself or herself by specifying a Callback routine for this event.
END_OF_COVERPAGE no USING parameter
Analogously to TOP_OF_COVERPAGE the user can add other information to the information output by ALV (selection information, list status) at this event.
FOREIGN_TOP_OF_PAGE no USING parameter
The Top-of-page event is always processed in ALV and is only passed to the caller via the Callback mechanism. This is still the case if the caller, e.g. by a user action, processes a branch list which was not formatted by ALV (e.g. a popup with additional information about the list record selected and displayed by ALV).
In this case, top-of-page cannot be formatted by ALV analogously to the basic list, it must be handled completely by the caller. The event top-of-page still occurs in ALV. When ALV notices a top-of-page which was not caused by an ALV output, the form routine in FOREIGN_TOP_OF_PAGE is called.
FOREIGN_END_OF_PAGE no USING parameter
The event end-of-page is always processed in ALV and only passed to the caller via callback. This is still the case, e.g. when the caller processes a details list which was not formatted by ALV (e.g. a popup with further information about selected list records which were displayed by ALV).
In this case, end-of-page cannot be formatted by ALV analogously to the basic list, it must be handled completely by the caller. The event end-of-page still occurs in ALV. When ALV notices an end-of-page that was not caused by an ALV output, the form routine in FOREIGN_END_OF_PAGE is called.
BEFORE_LINE_OUTPUT USING RS_LINEINFO TYPE SLIS_LINEINFO
Output information before each output line. Should only be used in justified cases because it costs a lot of performance.
AFTER_LINE_OUTPUT USING RS_LINEINFO TYPE SLIS_LINEINFO
Output information after each output line. Should only be used in justified cases because it costs a lot of performance.
Internal use only
LIST_MODIFY USING R_TABNAME TYPE SLIS_TABNAME
R_INDEX LIKE SY-TABIX
R_INDEX_ITEM LIKE SY-TABIX
R_INDEX_SUM LIKE SY-TABIX
IT_EVENTS-FORM
Name of the form routine which should be called in the calling program at the event.
Field_catalog:
Field catalog with field descriptions
2.7.1. Description
Field catalog containing descriptions of the list output fields (usually a subset of the internal output table fields). A field catalog is required for every ALV list output.
The field catalog for the output table is built-up in the caller's coding. The build-up can be completely or partially automated by calling the REUSE_ALV_FIELDCATALOG_MERGE module
See also the documentation of the function module REUSE_ALV_FIELDCATALOG_MERGE.
The minimal field catalog is documented under 'default'. The caller can use the other optional parameters to assign output attributes to a field which differ from the default.
A field catalog need not be built-up and passed explicitly only under the following conditions:
The internal table to be output has the same structure as a Data Dictionary structure which is referred to in the internal table declaration using LIKE or INCLUDE STRUCTURE.
all fields in this structure are to be output
the structure name is passed to ALV in the parameter I_STRUCTURE_NAME.
See also the documentation of the IMPORTING paramter I_STRUCTURE_NAME.
Positioning
row_pos (row position)
value set: 0, 1 - 3
Only relevant if the list output is to be multi-line (two or three lines) by default.
A multi-line list can also be defined by the user interactively if the default list is one-line.
The parameter specifies the relative output line of the column in a multi-line list.
col_pos (column position)
value set: 0, 1 - 60
only relevant when the default relative column positions differ from the field catalog field sequence. The parameter specifies the relative column position of the field in the list output. The column order can be changed interactively by the user. If this parameter is initial for all field catalog entries, columns appear in the field catalog field sequence.
Identification
fieldname (field name)
value set: internal output table field name (required parameter)
Name of the internal output table field which is described by this field catalog entry
tabname (internal output table)
value set: SPACE, internal output table name
This parameter is used in 'manual' field catalog build-up only for hierarchical-sequential lists.
Name of the internal output table which contains the field FIELDCAT-FIELDNAME.
Data Dictionary reference
ref_fieldname (reference field name)
value set: SPACE, Data Dictionary field name
Name of the Data Dictionary field referred to.
This parameter is only used when the internal output table field described by the current field catalog entry has a reference to the Data Dictionary (not a program field), and the field name in the internal output table is different from the name of the field in the Data Dictionary. If the field names are identical, naming the Data Dictionary structure or table in the FIELDCAT-REF_TABNAME parameter is sufficient.
ref_tabname (reference table/structure field name)
value set: SPACE, name of a Data Dictionary structure or table
Structure or table name of the referred Data Dictionary field.
This parameter is only used when the internal output table field described by the current field catalog entry has a Data Dictionary reference (not a program field).
Reference to fields with currency/measurement unit
Each internal output table sum or quantity field whose decimal places are to be formatted appropriately for the unit in the list must follow the convention:
the field is of data type QUAN or CURR (internal type P) (the field must really have this physical data type. Overwriting the physical data type with the parameter FIELDCAT-DATATYPE has no effect)
There is a field in the internal output table which contains the associated unit.
There is also an entry in the field catalog for the unit field.
(If the unit is not to appear as a column in the list, and cannot be interactively displayed as a column, e.g. because it is always unambiguous and is therefore explicitly output by the caller in the list header, the field catalog units field entry can take the parameter FIELDCAT-TECH = 'X'.
The association of a value field to a unit affects the output as follows:
appropriate decimal places display for the unit
an initialized field with a link to a non-initial unit is output as '0' for the unit (if FIELDCAT-NO_ZERO is initial). When this field is summed, this unit affects whether the units are homogeneous.
an initialized field with a link to an initial unit is output as SPACE. When this field is summed, the unit SPACE does not affect the homogeneity of the units.
When non-initial fields with an initial unit are summed, the unit SPACE is considered to be a unit.
Link to currency unit
cfieldname (currency unit field name)
value set: SPACE, output table field name
Only relevant for amount columns with associated unit.
Name of the internal output table field containing the currency unit associated with the amount field FIELDCAT-FIELDNAME. The field in FIELDCAT-CFIELDNAME must have its own field catalog entry.
ctabname (internal currency unit field output table)
value set: SPACE, output table field name
only relevant for hierarchical-sequential lists
Name of the internal output table containing the FIELDCAT-CFIELDNAME field.
Link to measurement unit
qfieldname (measurement unit field name)
value set: SPACE, output table field name
only relevant for quantity columns with unit link.
Name of the internal output table field containing the measurement unit associated with the quantity field FIELDCAT-FIELDNAME.
The field in FIELDCAT-QFIELDNAME must have its own field catalog entry.
qtabname (internal measurement unit field output table)
value set: SPACE, output table field name
only relevant for hierarchical-sequential lists
Name of the internal output table containing the FIELDCAT-QFIELDNAME field.
Column output options
outputlen (column width)
value set: 0 (initial), n
For fields with a Data Dictionary link this parameter can be left initial.
For fields without a Data Dictionary link (program field) the parameter must be given the value of the desired field list output length (column width).
initial = column width is the output length of the referred Data Dictionary field (domain).
n = column width is n characters
key (key column)
value set: SPACE, 'X' 'X' = kex field (key field output in color)
Key fields can not be interactively hidden. Parameter FIELDCAT-NO_OUT must be left initial.
For exceptions see the documentation of the FIELDCAT-KEY_SEL parameter.
key_sel (hideable key column)
value set: SPACE, 'X'
only relevant when FIELDCAT-KEY = 'X'
Key field which can be hidden interactively.
The key column sequence cannot be changed interactively by the user.
The output is controlled by the FIELDCAT-NO_OUT parameter analogously to non-key fields.
no_out (field in field list)
value set: SPACE, 'X' 'X' = field is not displayed in the current list.
The user can interactively choose the field for output from the field list.
The user can display the contents of these fields at line level using the 'Detail' function.
See also the 'Detail screen' documentation of the parameter IS_LAYOUT.
tech (technical field)
value set: SPACE, 'X' 'X' = technical field
Field cannot be output in the list and cannot be displayed interactively.
Field can only be used in the field catalog (not in IT_SORT, ...).
emphasize (highlight columns in color)
value set: SPACE, 'X' or 'Cxyz' (x:'1'-'9'; y,z: '0'=off '1'=on)
'X' = column is colored with the default column highlight color.
'Cxyz' = column is colored with a coded color:
C: Color (coding must begin with C)
x: color number
y: bold
z: inverse
hotspot (column as hotspot)
value set: SPACE, 'X'
'X' = column cells are output as hotspots
fix_column (fix column)
value set: SPACE, 'X'
Not relevant for block lists (output of several lists consecutively)
'X' = column fixed (does not scroll horizontally)
All columns to be fixed must have this flag, starting from the left. If a column without this flag is output, only the columns to the left of this column are fixed. The user can change the column fixing interactively. See also the documentation of the Layout parameter
IS_LAYOUT-NO_KEYFIX of the IMPORTING paramter IS_LAYOUT.
do_sum (sum over column)
value set: SPACE, 'X' 'X' = a sum is to be calculated over this internal output table field.
This function can also be called by the user interactively.
no_sum (sums forbidden)
value set: SPACE, 'X' 'X' = no sum can be calculated over this field, although the data type of the field would allow summing.
input (column ready for input)
Function not available
Format column contents
icon
value set: SPACE, 'X' 'X' = column contents to be output as an icon.
The caller must consider the printability of icons.
symbol
value set: SPACE, 'X' 'X' = column contents are to be output as a symbol.
The internal output table column must be a valid symbol character.
The caller must consider the printability of symbols.
Symbols can usually be printed, but may not always be output correctly, depending on the printer configuration.
just (justification)
value set: SPACE, 'R', 'L', 'C'
Only relevant for fields of data type CHAR or NUMC
' ' = default justification for this data type
'R' = right-justified output
'L' = left-justified output
'C' = centered output
The justification of the column header always follows the justification of the columns. Independent justification of the column neader is not possible.
lzero (leading zeros)
value set: SPACE, 'X'
Only relevant for fields of data type NUMC
ALV outputs NUMC fields right-justified without leading zeros by default.
'X' = output with leading zeros
Note: If a NUMC field is output left-justified or centered by FIELDCAT-JUST, leading zeros are output. If the output of leading zeros is suppressed by a Data Dictionary reference ALPHA conversion exit, the output is always left-justified.
no_sign (no +/- sign) Only relevant for value fields
value set: SPACE, 'X' 'X' = value output without +/ sign
no_zero (suppress zeros) Only relevant for value fields
value set: SPACE, 'X' 'X' = suppress zeros
edit_mask (field formatting)
value set: SPACE, template
template = see documentation of WRITE formatting option USING EDIT MASK template
The output conversion conv can be made by template = '== conv'.
Texts
The following text parameters should be specified for program fields without a Data Dictionary reference. The texts are taken from the Data Dictionary for fields with a Data Dictionary reference. If this is not desired, the text parameters can also be specified. The Data Dictionary texts are then ignored. If the user changes the column width interactively, the column header text with the appropriate length is always used. The interactive function 'Optimize column width' takes account of both the field contents and the column headers: if all field contents are shorter than the shortest column header, the column width depends on the column header.
The 'long field label' is also used in display variant definition, sort, etc. popups.
seltext_l (long field label)
seltext_m (medium field label)
seltext_s (short field label)
reptext_ddic (header)
analogous to the Data element maintenance 'Header'
The specified text is not necessarily output in the list, an optimum among all texts is sought.
ddictxt (specify text)
value set: SPACE, 'L', 'M', 'S'
You can specify with values 'L', 'M', and 'S', the keyword that should always be used as column header. If the column width changes, no attempt is made in this case to find an appropriate header for the new output width.
Parameters for program fields without Data Dictionary reference
see also 'Text' parameters
datatype (data type)
value set: SPACE, Data Dictionary data type (CHAR, NUMC,...)
Only relevant for fields without Data Dictionary reference
Program field data type
ddic_outputlen (external output length)
value set: 0 (initial), n
Only relevant for fields without Data Dictionary reference whose output is nevertheless to be modified by a conversion exit.
Prerequisites:
FIELDCAT-EDIT_MASK = '==conv'
see also the documentation of the parameter FIELDCAT-EDIT_MASK
FIELDCAT-INTLEN = n
see also the documentation of the parameter FIELDCAT-INTLEN
n = external format field output length
The column width FIELDCAT-OUTPUTLEN need not be the same as the external format output length (FIELDCAT-DDIC_OUTPUTLEN).
intlen (internal output length)
value set: 0 (initial), n
Only relevant for fields without Data Dictionary reference whose output is nevertheless to be modified by a conversion exit.
Prerequisites:
FIELDCAT-EDIT_MASK = '==conv'
see also the documentation of the parameter FIELDCAT-EDIT_MASK
FIELDCAT-DDIC_OUTPUTLEN = n
see also the documentation of the parameter FIELDCAT-DDIC_OUTPUTLEN
n = internal format field output length
rollname (data element)
value set: SPACE, Data Dictionary data element name
F1 help can be provided for a program field without a Data Dictionary reference, or F1 help which differs from the Data Dictionary help can be provided for a field with a Data Dictionary reference, using this parameter.
When F1 help is called for this field, the documentation of the specified data element is displayed.
If the FIELDCAT-ROLLNAME is initial for fields with a Data Dictionary reference, the documentation of the data element of the referred Data Dictionary field is output.
Others
sp_group (field group key)
value set: SPACE, CHAR(1)
Field group key.
Keys are assigned to group names in the IT_SPECIAL_GROUPS parameter (see also the documentation of the parameter IT_SPECIAL_GROUPS).
When such an assignment is made in the field catalog and in IT_SPECIAL_GROUPS, the fields are grouped correspondingly in the display variant popup.
reprep (Report/Report interface selection criterion)
value set: SPACE, 'X'
Prerequisites:
The system contains the Report/Report interface (function group RSTI, table TRSTI)
Parameter LAYOUT-REPREP = 'X'
(see also the documentation of the parameter LAYOUT-REPREP of the IMPORTING parameter IS_LAYOUT )
'X' = When the Report/Report interface is called, the value of this field is passed in the selected interface start record as a selection criterion.
2.7.2. Default
The following entries are usually sufficient for internal table fields with a reference to a field defined in the Data Dictionary :
fieldname
ref_tabname
Notes:
ALV gets the remaining information from the Data Dictionary.
If no relative column position (COL_POS) is specified, the fields are output in the list in the order in which they were added to the field catalog.
REF_FIELDNAME need only be specifid when the name of the internal table field differs from the name of the referred Data Dictionary field.
Information which is explicitly entered in the field catalog is not overwritten by information from the Data Dictionary.
Priority rule:
Entries in the field catalog have priority over differing entries in the Data Dictionary.
The following entries are usually sufficient for internal table fields without a reference to the Data Dictionary (program fields):
fieldname
outputlen
datatype
seltext_s
seltext_m
seltext_l
Notes:
F1 help can be provided for program fields by assigning a data element to the parameter ROLLNAME.
If the parameters SELTEXT_S, SELTEXT_M, SELTEXT_L, and REPTEXT_DDIC contain appropriate field labels, the program field column headers are also adjusted appropriately when the column width changes
Simple ALV report
http://www.sapgenie.com/abap/controls/alvgrid.htm
http://wiki.ittoolbox.com/index.php/Code:Ultimate_ALV_table_toolbox
ALV
1. Please give me general info on ALV.
http://www.sapfans.com/forums/viewtopic.php?t=58286
http://www.sapfans.com/forums/viewtopic.php?t=76490
http://www.sapfans.com/forums/viewtopic.php?t=20591
http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.
2. How do I program double click in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=11601
http://www.sapfans.com/forums/viewtopic.php?t=23010
3. How do I add subtotals (I have problem to add them)...
http://www.sapfans.com/forums/viewtopic.php?t=20386
http://www.sapfans.com/forums/viewtopic.php?t=85191
http://www.sapfans.com/forums/viewtopic.php?t=88401
http://www.sapfans.com/forums/viewtopic.php?t=17335
4. How to add list heading like top-of-page in ABAP lists?
http://www.sapfans.com/forums/viewtopic.php?t=58775
http://www.sapfans.com/forums/viewtopic.php?t=60550
http://www.sapfans.com/forums/viewtopic.php?t=16629
5. How to print page number / total number of pages X/XX in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=29597 (no direct solution)
6. ALV printing problems. The favourite is: The first page shows the number of records selected but I don't need this.
http://www.sapfans.com/forums/viewtopic.php?t=64320
http://www.sapfans.com/forums/viewtopic.php?t=44477
7. How can I set the cell color in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=52107
8. How do I print a logo/graphics in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=81149
http://www.sapfans.com/forums/viewtopic.php?t=35498
http://www.sapfans.com/forums/viewtopic.php?t=5013
9. How do I create and use input-enabled fields in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=84933
http://www.sapfans.com/forums/viewtopic.php?t=69878
10. How can I use ALV for reports that are going to be run in background?
http://www.sapfans.com/forums/viewtopic.php?t=83243
http://www.sapfans.com/forums/viewtopic.php?t=19224
11. How can I display an icon in ALV? (Common requirement is traffic light icon).
http://www.sapfans.com/forums/viewtopic.php?t=79424
http://www.sapfans.com/forums/viewtopic.php?t=24512
12. How can I display a checkbox in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=88376
http://www.sapfans.com/forums/viewtopic.php?t=40968
http://www.sapfans.com/forums/viewtopic.php?t=6919
13. Top-of-page in ALV
14. ALV Group Heading
http://www.sap-img.com/fu037.htm
How to add list heading like top-of-page in ABAP lists?
http://www.sapfans.com/forums/viewtopic.php?t=58775
http://www.sapfans.com/forums/viewtopic.php?t=60550
http://www.sapfans.com/forums/viewtopic.php?t=16629
Go thru these programs they may help u to try on some hands on
ALV Demo program
BCALV_DEMO_HTML
BCALV_FULLSCREEN_DEMO ALV Demo: Fullscreen Mode
BCALV_FULLSCREEN_DEMO_CLASSIC ALV demo: Fullscreen mode
BCALV_GRID_DEMO Simple ALV Control Call Demo Program
BCALV_TREE_DEMO Demo for ALV tree control
BCALV_TREE_SIMPLE_DEMO
BC_ALV_DEMO_HTML_D0100
For beginners
if u have got access to R/3 system.. check transaction ABAPDOCU..
Go for Siemens material. Check the following link:
http://www.sapbrainsonline.com/TUTORIALS/TECHNICAL/ABAP_tutorial.html
http://sapabap.iespana.es/sapabap/manuales/learnabap/
Use function module ABAP_DOCU_DOWNLOAD..
This will download 1100 documents to your local drive .
Please check also the foll links to start learning ABAP.
http://help.sap.com/
http://www.sapgenie.com/abap/
http://www.sappoint.com/abap.html
http://cma.zdnet.com/book/abap/index.htm
http://www.sap-img.com
http://www.sappoint.com
http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
http://sap.ittoolbox.com
U can also get help from below links
Please chk the below links
This is link from SAP about ABAP certification
http://www50.sap.com/useducation/certification/curriculum.asp?rid=351
http://www.sapteched.com/india/confactivities/certexam.htm
http://www50.sap.com/useducation/certification/curriculum.asp?rid=351
There is a pdf called ABAP certification.
http://www.esnips.com/web/SAP-ABAP?
You can try www.sapdoamin.com
They provide Certification simulation questions which are very useful and a must try site.
Have a look at below link for mySAP Technology - ABAP Workbench
https://websmp206.sap-ag.de/~sapidp/011000358700000746472003E
Have a look at below link for SAP NetWeaver - ABAP Workbench
http://www30.sap.com/hk/services/education/pdf/cert/ABAPWB.pdf
http://www.sap-img.com/ab040.htm
http://www.sapdomain.com/
this is link from SAP about ABAP certification
http://www50.sap.com/useducation/certification/curriculum.asp?rid=351
ABAP Materials
http://sapabap.iespana.es/sapabap/manuales/learnabap/
http://help.sap.com/saphelp_nw2004s/helpdata/en/43/41341147041806e10000000a1553f6/frameset.htm
http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
http://sap.niraj.tripod.com/
http://www.geocities.com/victorav15/sapr3/abapfun.html
http://www.sapgenie.com/abap/index.htm
http://www.sap-img.com/abap.htm
http://www.sapdevelopment.co.uk/tips/tipshome.htm
http://help.sap.com/printdocu/core/Print46c/en/Data/Index_en.htm
http://sap.ittoolbox.com/nav/t.asp?t=322&p=322&h1=322
http://sap.ittoolbox.com/nav/t.asp?t=448&p=448&h1=448
http://www.thespot4sap.com/
http://www.kabai.com/abaps/q.htm
http://www.geocities.com/mpioud/Abap_programs.html
http://www.sapgenie.com/abap/tips_and_tricks.htm
www.sapbrain.com
http://www.sapassist.com/code/d.asp?whichpage=1&pagesize=10&i=10&a=c&o=&t=&q=&qt=
In this link You can find Step by Step Scren Shot document :
http://www.201interviewquestions.com/docs/User%20exits.ppt
http://erpgenie.com/abaptips/component/option,com_docman/task,doc_details/gid,27/
Reprots
http://www.sapgenie.com/abap/reports.htm
http://www.allsaplinks.com/material.html
http://www.sapdevelopment.co.uk/reporting/reportinghome.htm
http://www.sapfans.com/forums/viewtopic.php?t=58286
http://www.sapfans.com/forums/viewtopic.php?t=76490
http://www.sapfans.com/forums/viewtopic.php?t=20591
http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.
Dictionary
http://sapabap.iespana.es/sapabap/manuales/learnabap/
http://help.sap.com/saphelp_nw2004s/helpdata/en/43/41341147041806e10000000a1553f6/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/cf/21eb6e446011d189700000e8322d00/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/cf/21ea31446011d189700000e8322d00/frameset.htm
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCDWBDIC/BCDWBDIC.pdf
ABAP objects
Please check this online document (starting page 1291).
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf
Also check this links as well.
http://help.sap.com/saphelp_nw2004s/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
http://www.sapgenie.com/abap/OO/
http://www.futureobjects.de/content/intro_oo_e.html
http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm
/people/ravikumar.allampallam/blog/2005/02/11/abap-oo-in-action
SAPScripts
http://esnips.com/doc/1ff9f8e8-0a4c-42a7-8819-6e3ff9e7ab44/sapscripts.pdf
http://esnips.com/doc/1e487f0c-8009-4ae1-9f9c-c07bd953dbfa/script-command.pdf
http://esnips.com/doc/64d4eccb-e09b-48e1-9be9-e2818d73f074/faqss.pdf
http://esnips.com/doc/cb7e39b4-3161-437f-bfc6-21e6a50e1b39/sscript.pdf
http://esnips.com/doc/fced4d36-ba52-4df9-ab35-b3d194830bbf/symbols-in-scripts.pdf
http://esnips.com/doc/b57e8989-ccf0-40d0-8992-8183be831030/sapscript-how-to-calculate-totals-and-subtotals.htm
SAP SCRIPT FIELDS
http://help.sap.com/saphelp_erp2005vp/helpdata/en/d1/8033ea454211d189710000e8322d00/content.htm
scripts easy material
http://www.allsaplinks.com/sap_script_made_easy.html
Check these step-by-step links
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/ccab6730-0501-0010-ee84-de050a6cc287
https://sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/8fd773b3-0301-0010-eabe-82149bcc292e
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/3c5d9ae3-0501-0010-0090-bdfb2d458985
for Smartforms material
http://www.sap-basis-abap.com/sapsf001.htm
http://www.sap-press.com/downloads/h955_preview.pdf
http://www.ossincorp.com/Black_Box/Black_Box_2.htm
http://www.sap-img.com/smartforms/sap-smart-forms.htm
http://www.sap-img.com/smartforms/smartform-tutorial.htm
http://www.sapgenie.com/abap/smartforms.htm
How to trace smartform
http://help.sap.com/saphelp_47x200/helpdata/en/49/c3d8a4a05b11d5b6ef006094192fe3/frameset.htm
http://www.help.sap.com/bp_presmartformsv1500/DOCU/OVIEW_EN.PDF
http://www.sap-img.com/smartforms/smart-006.htm
http://www.sap-img.com/smartforms/smartforms-faq-part-two.htm
check most imp link
http://www.sapbrain.com/ARTICLES/TECHNICAL/SMARTFORMS/smartforms.html
step by step good ex link is....
http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.html
BAPI
http://help.sap.com/saphelp_46c/helpdata/en/9b/417f07ee2211d1ad14080009b0fb56/frameset.htm
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
Checkout !!
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
http://techrepublic.com.com/5100-6329-1051160.html#
http://www.sap-img.com/bapi.htm
http://www.sap-img.com/abap/bapi-conventions.htm
http://www.sappoint.com/abap/bapiintro.pdf
http://www.sapgenie.com/abap/bapi/example.htm
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE8/BCFESDE8.pdf
List of all BAPIs
http://www.planetsap.com/LIST_ALL_BAPIs.htm
http://www.sappoint.com/abap/bapiintro.pdf
http://www.sappoint.com/abap/bapiprg.pdf
http://www.sappoint.com/abap/bapiactx.pdf
http://www.sappoint.com/abap/bapilst.pdf
http://www.sappoint.com/abap/bapiexer.pdf
http://service.sap.com/ale
http://service.sap.com/bapi
http://www.planetsap.com/Bapi_main_page.htm
http://www.topxml.com/sap/sap_idoc_xml.asp
http://www.sapdevelopment.co.uk/
http://www.sapdevelopment.co.uk/java/jco/bapi_jco.pdf
ALV programs.
http://www.geocities.com/mpioud/Abap_programs.html
. How do I program double click in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=11601
http://www.sapfans.com/forums/viewtopic.php?t=23010
How can I use ALV for reports that are going to be run in background?
http://www.sapfans.com/forums/viewtopic.php?t=83243
http://www.sapfans.com/forums/viewtopic.php?t=19224
ALV
http://www.sapfans.com/forums/viewtopic.php?t=58286
http://www.sapfans.com/forums/viewtopic.php?t=76490
http://www.sapfans.com/forums/viewtopic.php?t=20591
http://www.sapfans.com/forums/viewtopic.php?t=66305 - http://www.sapgenie.com/abap/reports.htm
http://www.allsaplinks.com/material.html
http://www.sapdevelopment.co.uk/reporting/reportinghome.htm
Top-of-page in ALV
ALV Group Heading
http://www.sap-img.com/fu037.htm
ALV
http://www.geocities.com/mpioud/Abap_programs.html
RFC Destination
ALE/ IDOC
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
Table Control -
How to get data from table to pass into alvgrid function module
i want to get some data from below table to pass into function module of alvgrid
how can i get data please help.
thanks in advanced.
form get_data.
select * into corresponding fields of table itab
from J_1IEXCHDR
inner join J_1IEXCDTL
on J_1IEXCDTLlifnr = J_1IEXCHDRlifnr
where J_1IEXCHDr~status = 'P'.
append itab.
endform.Pass your final table(internal table which you want to display) along with fieldcatalog to FM reuse_alv_grid_display.:\
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = i_repid
IT_SORT = gt_sort
it_fieldcat = lt_fieldcat[]
TABLES
t_outtab = lt_final
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF. -
How to convert report into alvgrid please hepl
how to convert report into alvgrid please hepl
BALVSD01 check this program u will know r see below code
sample prog
REPORT ZMAT11 .
TYPE-POOLS : slis.
TABLES : mkpf,
mseg,
t001w,
t001l.
TYPES : BEGIN OF ty_t001w,
werks TYPE t001w-werks,
name1 TYPE t001w-name1,
END OF ty_t001w,
BEGIN OF ty_makt,
matnr TYPE makt-matnr,
maktx TYPE makt-maktx,
END OF ty_makt,
BEGIN OF ty_t001l,
lgort TYPE t001l-lgort,
lgobe TYPE t001l-lgobe,
END OF ty_t001l.
DATA : BEGIN OF it_mat OCCURS 0,
mblnr LIKE mseg-mblnr,
zeile LIKE mseg-zeile,
mjahr LIKE mseg-mjahr,
bldat LIKE mkpf-bldat,
budat LIKE mkpf-budat,
bwart LIKE mseg-bwart,
matnr LIKE mseg-matnr,
maktx LIKE makt-maktx,
erfmg LIKE mseg-erfmg,
erfme LIKE mseg-erfme,
werks LIKE mseg-werks,
name1 LIKE t001w-name1,
lgort LIKE mseg-lgort,
lgobe LIKE t001l-lgobe,
umwrk LIKE mseg-umwrk,
name2 LIKE t001w-name1,
umlgo LIKE mseg-umlgo,
lgobe1 LIKE t001l-lgobe,
END OF it_mat.
DATA : it_t001w TYPE TABLE OF ty_t001w
WITH HEADER LINE,
it_makt TYPE TABLE OF ty_makt
WITH HEADER LINE,
it_t001l TYPE TABLE OF ty_t001l
WITH HEADER LINE.
DATA : ls_layout TYPE slis_layout_alv,
it_fcat TYPE slis_t_fieldcat_alv ,
wa_fcat TYPE slis_fieldcat_alv,
lh TYPE slis_t_listheader,
ls TYPE slis_listheader,
it_events TYPE slis_t_event ,
ls_event TYPE slis_alv_event ,
w_var TYPE i.
DATA : l_date(10).
DATA : l_date1(20),
ztabix LIKE sy-tabix.
DATA : l_repid LIKE trdir-name.
l_repid = 'ZMAT11'.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS : s_werks FOR mseg-werks,
s_lgort FOR mseg-lgort,
s_umwrk FOR mseg-umwrk,
s_umlgo FOR mseg-umlgo,
s_bwart FOR mseg-bwart,
s_budat FOR mkpf-budat,
s_mjahr FOR mkpf-mjahr.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN.
SELECT SINGLE * FROM t001w INTO t001w
WHERE werks IN s_werks.
IF sy-subrc <> 0.
MESSAGE e000(8i) WITH 'Enter a Valid Supplying Plant'.
ENDIF.
SELECT SINGLE * FROM t001w INTO t001w
WHERE werks IN s_umwrk.
IF sy-subrc <> 0.
MESSAGE e000(8i) WITH 'Enter a Valid Receiving Plant'.
ENDIF.
SELECT SINGLE * FROM t001l INTO t001l
WHERE lgort IN s_lgort.
IF sy-subrc <> 0.
MESSAGE e000(8i) WITH 'Enter a Valid Supplying St.Loc'.
ENDIF.
SELECT SINGLE * FROM t001l INTO t001l
WHERE lgort IN s_umlgo.
IF sy-subrc <> 0.
MESSAGE e000(8i) WITH 'Enter a Valid Receiving St.Loc'.
ENDIF.
START-OF-SELECTION.
ls-typ = 'H'.
ls-info = 'Material Document List'.
APPEND ls TO lh.
ls-typ = 'S'.
WRITE: sy-datum TO l_date USING EDIT MASK '__/__/____'.
CONCATENATE 'DATE :' l_date INTO l_date1 SEPARATED BY space.
ls-info = l_date1.
APPEND ls TO lh.
PERFORM field_cat.
PERFORM f001_get_data.
END-OF-SELECTION.
IF it_mat[] IS INITIAL.
MESSAGE i000(8i) WITH 'No data Found'(m01).
EXIT.
ENDIF.
PERFORM process_data.
PERFORM display_data.
*& Form f001_get_data
text
--> p1 text
<-- p2 text
FORM f001_get_data .
SELECT amblnr azeile amjahr abwart a~matnr
aerfmg aerfme awerks algort aumwrk aumlgo
b~budat
b~bldat INTO CORRESPONDING FIELDS OF TABLE it_mat
FROM mseg AS a
INNER JOIN mkpf AS b
ON amblnr = bmblnr
AND amjahr = bmjahr
CLIENT SPECIFIED
WHERE a~mandt EQ sy-mandt
AND a~werks IN s_werks
AND a~lgort IN s_lgort
AND a~umwrk IN s_umwrk
AND a~umlgo IN s_umlgo
AND a~bwart IN s_bwart
AND b~budat IN s_budat
AND b~mjahr IN s_mjahr.
IF sy-subrc = 0.
SELECT matnr maktx INTO TABLE it_makt FROM makt
CLIENT SPECIFIED
FOR ALL ENTRIES IN it_mat
WHERE mandt EQ sy-mandt
AND matnr = it_mat-matnr.
ENDIF.
SELECT werks name1 INTO TABLE it_t001w FROM t001w
CLIENT SPECIFIED
WHERE mandt EQ sy-mandt.
IF sy-subrc <> 0.
MESSAGE i000(8i) WITH 'No Plant Found'(m02).
ENDIF.
SELECT lgort lgobe INTO TABLE it_t001l FROM t001l
CLIENT SPECIFIED
WHERE mandt EQ sy-mandt.
IF sy-subrc <> 0.
MESSAGE i000(8i) WITH 'No Storage Location Found'(m03).
ENDIF.
ENDFORM. " f001_get_data
*& Form field_cat
text
--> p1 text
<-- p2 text
FORM field_cat .
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_MAT'.
wa_fcat-fieldname = 'MBLNR'.
wa_fcat-key = 'X'.
wa_fcat-hotspot = 'X'.
wa_fcat-ref_fieldname = 'MBLNR'.
wa_fcat-ref_tabname = 'MSEG'.
wa_fcat-seltext_m = 'Material Doc'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_MAT'.
wa_fcat-fieldname = 'ZEILE'.
wa_fcat-ref_fieldname = 'ZEILE'.
wa_fcat-ref_tabname = 'MSEG'.
wa_fcat-seltext_m = 'Item No'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_MAT'.
wa_fcat-fieldname = 'MJAHR'.
wa_fcat-ref_fieldname = 'MJAHR'.
wa_fcat-ref_tabname = 'MSEG'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_MAT'.
wa_fcat-fieldname = 'BWART'.
wa_fcat-ref_fieldname = 'BWART'.
wa_fcat-ref_tabname = 'MSEG'.
wa_fcat-seltext_m = 'Mvmt Type'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_MAT'.
wa_fcat-fieldname = 'BLDAT'.
wa_fcat-ref_fieldname = 'BLDAT'.
wa_fcat-ref_tabname = 'MKPF'.
wa_fcat-seltext_m = 'Document Date'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_MAT'.
wa_fcat-fieldname = 'BUDAT'.
wa_fcat-ref_fieldname = 'BUDAT'.
wa_fcat-ref_tabname = 'MKPF'.
wa_fcat-seltext_m = 'Posting Date'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_MAT'.
wa_fcat-fieldname = 'MATNR'.
wa_fcat-ref_fieldname = 'MATNR'.
wa_fcat-ref_tabname = 'MSEG'.
wa_fcat-seltext_m = 'Material No'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_MAT'.
wa_fcat-fieldname = 'MAKTX'.
wa_fcat-ref_fieldname = 'MAKTX'.
wa_fcat-ref_tabname = 'MAKT'.
wa_fcat-seltext_m = 'Material Description'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_MAT'.
wa_fcat-fieldname = 'ERFMG'.
wa_fcat-ref_fieldname = 'ERFMG'.
wa_fcat-ref_tabname = 'MSEG'.
wa_fcat-seltext_m = 'Quantity'.
wa_fcat-do_sum = 'X'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_MAT'.
wa_fcat-fieldname = 'ERFME'.
wa_fcat-ref_fieldname = 'ERFME'.
wa_fcat-ref_tabname = 'MSEG'.
wa_fcat-seltext_m = 'Uom'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_MAT'.
wa_fcat-fieldname = 'WERKS'.
wa_fcat-seltext_m = 'Supplying Plant'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_MAT'.
wa_fcat-fieldname = 'NAME1'.
wa_fcat-seltext_m = 'S.Plnt Desc.'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_MAT'.
wa_fcat-fieldname = 'LGORT'.
wa_fcat-seltext_m = 'Supplying St.Loc'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_MAT'.
wa_fcat-fieldname = 'LGOBE'.
wa_fcat-seltext_m = 'Su.St.Loc Desc.'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_MAT'.
wa_fcat-fieldname = 'UMWRK'.
wa_fcat-seltext_m = 'Receiving Plant'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_MAT'.
wa_fcat-fieldname = 'NAME2'.
wa_fcat-seltext_m = 'R.Plnt Desc.'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_MAT'.
wa_fcat-fieldname = 'UMLGO'.
wa_fcat-seltext_m = 'Receiving St.Loc'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
wa_fcat-col_pos = w_var.
wa_fcat-tabname = 'IT_MAT'.
wa_fcat-fieldname = 'LGOBE1'.
wa_fcat-seltext_m = 'Re.St.Loc Desc.'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ADD 1 TO w_var.
ENDFORM. " field_cat
*& Form process_data
text
--> p1 text
<-- p2 text
FORM process_data .
LOOP AT it_mat.
ztabix = sy-tabix.
READ TABLE it_makt WITH KEY matnr = it_mat-matnr.
IF sy-subrc = 0.
it_mat-maktx = it_makt-maktx.
ENDIF.
IF it_mat-bwart+2(1) = '2'.
it_mat-erfmg = - ( it_mat-erfmg ).
ENDIF.
READ TABLE it_t001w WITH KEY werks = it_mat-werks.
IF sy-subrc = 0.
it_mat-name1 = it_t001w-name1.
ENDIF.
READ TABLE it_t001w WITH KEY werks = it_mat-umwrk.
IF sy-subrc = 0.
it_mat-name2 = it_t001w-name1.
ENDIF.
READ TABLE it_t001l WITH KEY lgort = it_mat-lgort.
IF sy-subrc = 0.
it_mat-lgobe = it_t001l-lgobe.
ENDIF.
READ TABLE it_t001l WITH KEY lgort = it_mat-umlgo.
IF sy-subrc = 0.
it_mat-lgobe1 = it_t001l-lgobe.
ENDIF.
MODIFY it_mat INDEX ztabix .
ENDLOOP.
ENDFORM. " process_data
*& Form display_data
text
--> p1 text
<-- p2 text
FORM display_data .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = l_repid
I_CALLBACK_PF_STATUS_SET = ' '
i_callback_user_command = 'LINE'
i_callback_top_of_page = 'TOP'
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT =
it_fieldcat = it_fcat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
it_events =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = it_mat
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " display_data
*& Form TOP
text
FORM top.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = lh
I_LOGO =
I_END_OF_LIST_GRID =
ENDFORM. "TOP -
HI,
IF I CLICK THE EMAIL-ID IN ALV GRID , I WANT TO OPEN THE LOTUS NOTES.
PLZ HELP ME.Hi ,
Please refer the below thread,
ALVGRID TO LOTUS NOTES
hope it helps.
Reward points if it is useful,
Regards,
Keerthi
Maybe you are looking for
-
Having problem installing CS6 on Windows 7
I have just purchased a new windows 7 professional machine and want to load my stand alone Photoshop CS6 - when loading it is asking me to choose a product from a drop down menu however CS6 is not a choice, how do I load my CS6 on my new machine?
-
How to update data according to row_number in sql
hi, after deleting an item I need to update data according to row_number. in oracle database I have a code like this... working perfectly.. update regitem set line_sn= LPAD(ROWNUM,2,'0') where doc_no='" & mydocno & "' how it will work in sql server..
-
Hi All I would be greatful if someone could please help... I am still attempting to get cells painted within a WDA ALV grid display. I have tried to use the method stated in the WDA sap press book - but this method is for use with TABLE element and I
-
Help req in Seeburger SFTP adapter
Hi All, I have a scenario where i need to send a file to SFTP server. I used Seeburger SFTP adapter to connect to SFTP. This is a pass through interface and i havent used any party at the confiuration( normal configuration witho
-
How to pass dat to BAPI_ACC_DOCUMENT_POST
hi, i'm working with BAPI_ACC_DOCUMENT_POST.in my program i need to adjust the account document ...so i pass the document number in the document header of import parameters...and i need to pass the credit and debit data in the accountgl table..here