Code: Alles auswählen.
DATA org_pers_nr Type string.
DATA var2 TYPE string.
DATA var3 TYPE string.
DATA var4 TYPE string.
Data var5 TYPE string.
DATA var6 TYPE string.
Data var7 TYPE string.
Data var8 TYPE string.
Data var9 TYPE string.
DATA var10 TYPE string.
Data var11 TYPE string.
Data var12 TYPE string.
Data var13 TYPE string.
Data var14 TYPE string.
Data var15 TYPE string.
Data var16 TYPE string.
DATA var17 TYPE string.
DATA var19 TYPE string.
Data var20 Type DATS.
DATA var21 TYPE DATS.
SELECTION-SCREEN BEGIN OF BLOCK eingabe.
PARAMETERS pers_nr LIKE org_pers_nr.
SELECTION-SCREEN END OF Block eingabe.
TYPE-POOLS: SLIS.
data itab_fieldcat type SLIS_T_FIELDCAT_ALV.
DATA: BEGIN OF tab Occurs 100,
vorname like var2,
nachname like var3,
pers_ber like var5,
mitar_gr like var6,
mitar_kr like var7,
pers_tbe like var9,
org_einh like var10,
sen_kstl like var11,
leis_art like var12,
werk like var13,
id like var14,
kom_art like var16,
zeit_erf like var17,
user_typ like var19,
gul_von like var20,
gul_bis like var21,
End OF tab.
START-OF-SELECTION.
SELECT SINGLE VORNA From pa1000
into var2
Where pernr = pers_nr.
SELECT SINGLE NACHN FROM pa1000
into var3
WHERE PERNR = pers_nr.
SELECT SINGLE WERKS FROM pa1000
into var5
Where pernr = pers_nr.
Select single PERSG from pa1000
into var6
where pernr = pers_nr.
SELECT single PERSK from pa1000
into var7
where pernr = pers_nr.
select single BTRTL from pa1000
into var9
where pernr = pers_nr.
select single ORGEH from pa1000
into var10
where pernr = pers_nr.
select single KOSTL from pa1000
into var11
where pernr = pers_nr.
select single LSTAR from pa1000
into var12
where pernr = pers_nr.
select single WERKS from pa1000
into var13
where pernr = pers_nr.
select SINGLE USRID from pa1000
into var14
where pernr = pers_nr.
select single USRTY from pa1000
into var16
where pernr = pers_nr.
SELECT SINGLE ACCNT from pa1000
into var17
where pernr = pers_nr.
SELECT single USTYP from pa1000
into var19
where BNAME = var14.
SELECT single GLTGV from pa1000
into var20
where BNAME = var14.
SELECT single GLTGB from pa1000
into var21
where BNAME = var14.
PERFORM tab_fuellen.
DATA itab TYPE STANDARD TABLE OF tab.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = 'ZS1CA_ZEITRUECKMELDUNG_TEST4'
i_internal_tabname = 'ITAB'
i_inclname = 'ZS1CA_ZEITRUECKMELDUNG_TEST4'
i_bypassing_buffer = 'X'
CHANGING
ct_fieldcat = itab_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE 'Fehler' TYPE 'S'.
ENDIF.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
IT_FIELDCAT = itab_fieldcat
TABLES
t_outtab = itab
EXCEPTIONS
program_error = 1
OTHERS = 2.
END-OF-SELECTION.
form tab_fuellen.
LOOP.
tab-vorname = var2.
tab-nachname = var3.
tab-pers_ber = var5.
tab-mitar_gr = var6.
tab-mitar_kr = var7.
tab-pers_tbe = var9.
tab-org_einh = var10.
tab-sen_kstl = var11.
tab-leis_art = var12.
tab-werk = var13.
tab-id = var14.
tab-kom_art = var16.
tab-zeit_erf = var17.
tab-user_typ = var19.
tab-gul_von = var20.
tab-gul_bis = var21.
ENDLOOP.
ENDFORM.
Folgende Benutzer bedankten sich beim Autor Thanatos82 für den Beitrag (Insgesamt 2):
MarcelS • mlg
Code: Alles auswählen.
TYPES: BEGIN OF r_struc,
vorna TYPE pa0002-vorna, "Vorname
nachn TYPE pa0002-nachn, "Nachname
endda TYPE pa0002-endda, "Gültig bis
begda TYPE pa0002-begda, "Gültig von
END OF r_struc.
DATA: lt_data TYPE TABLE OF r_struc, "interne Tabelle
ls_data TYPE r_struc, "Workarea
gcl_alv TYPE REF TO cl_salv_table. "ALV
SELECTION-SCREEN BEGIN OF BLOCK eingabe.
PARAMETERS p_pernr TYPE pa0002-pernr.
SELECTION-SCREEN END OF BLOCK eingabe.
START-OF-SELECTION.
"Daten auslesen
SELECT * FROM pa0002
INTO CORRESPONDING FIELDS OF TABLE lt_data
WHERE pernr EQ p_pernr.
"ALV darstellen
TRY.
cl_salv_table=>factory( EXPORTING list_display = ' '
IMPORTING r_salv_table = gcl_alv
CHANGING t_table = lt_data[] ).
CATCH cx_salv_msg.
EXIT.
ENDTRY.
gcl_alv->display( ).