Code: Alles auswählen.
TYPES:
BEGIN OF ts_mat_cnt,
matnr TYPE matnr,
count TYPE i,
END OF ts_mat_cnt,
BEGIN OF ts_mat,
matnr TYPE matnr,
t_dep_mat TYPE TABLE OF ts_mat_cnt
END OF ts_mat.
DATA:
gs_mat TYPE ts_mat.
Code: Alles auswählen.
TYPES: BEGIN OF imat,
matnr TYPE makt-matnr,
maktx TYPE makt-maktx,
bdmng TYPE resb-bdmng,
END OF imat.
DATA: BEGIN OF itab OCCURS 1,
maktx_o TYPE makt-maktx,
matspalten TYPE TABLE OF int_matspalten,
END OF itab.
Code: Alles auswählen.
CLEAR v_imat_k.
LOOP AT itab-matspalten INTO v_imat_k.
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'itab'.
ls_fieldcat-fieldname = 'MATSPALTEN-BDMNG'.
ls_fieldcat-reptext_ddic = v_imat_k-maktx.
APPEND ls_fieldcat TO f_fieldcat.
CLEAR v_imat_k.
ENDLOOP.
Code: Alles auswählen.
DATA: BEGIN OF int_o occurs 1,
key(1),
name(10),
end of int_o.
DATA: BEGIN OF int_m occurs 1,
key(1),
matnr TYPE makt-matnr,
bdmng TYPE resb-bdmng,
END OF int_m.
* Befüllung z.B.:
int_o-key = 'A'.
int_o-name = 'Mat_o_A'.
append int_o.
int_o-key = 'B'.
int_o-name = 'Mat_o_B'.
append int_o.
int_m-key = 'A'.
int_m-matnr = 'M1'.
int_m-bdmng = 1.
append int_m.
int_m-key = 'A'.
int_m-matnr = 'M2'.
int_m-bdmng = 2.
append int_m.
int_m-key = 'B'.
int_m-matnr = 'M1'.
int_m-bdmng = 3.
append int_m.
int_m-key = 'B'.
int_m-matnr = 'M2'.
int_m-bdmng = 4.
append int_m.
Code: Alles auswählen.
key | name | M1 | M2
A | Mat_o_A | 1 | 2
B | Mat_o_B | 3 | 4
Code: Alles auswählen.
FORM fieldcat_init USING f_fieldcat TYPE slis_t_fieldcat_alv.
DATA: ls_fieldcat TYPE slis_fieldcat_alv.
...
LOOP AT int_m.
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'int_m'.
ls_fieldcat-fieldname = 'BDMNG'.
ls_fieldcat-reptext_ddic = int_m-matnr.
APPEND ls_fieldcat TO f_fieldcat.
ENDLOOP.
...
ENDFORM.