Hola a todos, recien me inicio en esto de sap, tengo que llenar una tabla por medio de un loop con un append a gt_alv que es donde tengo mi estructura del alv, realmente estoy bastante perdida con esto, enviare parte de mi código quiza alguien que me pueda ayudar, esto tiene fecha de entrega y estoy muy presionada
Method search_data.
Data: lt_lfa1 type table of lfa1,
lt_bkpf type table of bkpf,
lt_rbkp type table of rbkp,
lt_t001 type table of t001,
lt_vbsegk type table of vbsegk,
lt_rseg type table of rseg,
lt_gjahr type bkpf-gjahr,
lt_zt1_pagos type table of zt1_pagos.
Field-symbols: <wa_bkpf> like lt_bkpf,
<lf> like line of lt_lfa1,
<vb> like line of lt_vbsegk,
<zp> like line of lt_zt1_pagos,
<bk> like line of lt_bkpf,
<rb> like line of lt_rbkp.
Data:lt_budat type table of bkpf.
Field-symbols: <wa_budat> like line of gs_param-budat.
*Tabla del ALV.
Data: lt_data type table of zstr_alv_pagos.
Field-symbols: <wa_data> type zstr_alv_pagos.
*Para el id de contraseña
Data: NI(10) type N,
NE(10) TYPE C.
READ TABLE gs_param-budat ASSIGNING <wa_budat> INDEX 1.
*ASSIGN gs_param-budat to <wa_budat>.
if sy-subrc = 0.
if <wa_budat>-low is not initial.
lt_gjahr = <wa_budat>-low(4).
ELSEIF
<wa_budat>-high is not initial.
lt_gjahr = <wa_budat>-high(4).
endif.
endif.
CLEAR: lt_lfa1, lt_bkpf, lt_t001, lt_vbsegk.
*Para bkpf:
select *
into table lt_bkpf
from bkpf
where bukrs EQ gs_param-bukrs and
budat in gs_param-budat and
gjahr EQ lt_gjahr and
belnr in gs_param-belnr and "factura
( bstat = 'V' or bstat = 'W' or bstat = 'Z').
*Para rbkp:
select *
into table lt_rbkp
from rbkp
where budat in gs_param-budat and
gjahr EQ lt_gjahr and
belnr in gs_param-belnr and "factura
( rbstat = 'A' or rbstat = 'B' or rbstat = 'C' or
rbstat = 'D' or rbstat = 'E').
*Para vbsegk:
SELECT *
INTO TABLE lt_vbsegk
FROM vbsegk
FOR ALL ENTRIES IN lt_rbkp
WHERE vbsegk~belnr EQ lt_rbkp-belnr AND
vbsegk~gjahr EQ lt_rbkp-gjahr AND
bukrs EQ gs_param-bukrs AND
belnr IN gs_param-belnr AND
Lifnr IN gs_param-lifnr.
*Para rseg:
SELECT *
INTO TABLE lt_rseg
FROM rseg
FOR ALL ENTRIES IN lt_rbkp
WHERE rseg~belnr EQ lt_rbkp-belnr AND
rseg~Gjahr EQ lt_rbkp-gjahr AND
Lifnr IN gs_param-lifnr.
*Acreedor
LOOP AT lt_lfa1 ASSIGNING <lf>.
write: / <lf>-lifnr.
ENDLOOP.
* Nombre del acreedor
SELECT lifnr name1 INTO CORRESPONDING FIELDS OF TABLE lt_lfa1
FROM lfa1
FOR ALL ENTRIES IN lt_VBSEGK
WHERE lifnr = lt_VBSEGK-lifnr.
*Numero del Documento
SELECT lifnr belnr INTO CORRESPONDING FIELDS OF TABLE lt_rbkp
FROM rbkp
FOR ALL ENTRIES IN lt_vbsegk
WHERE lifnr = lt_VBSEGK-lifnr.
*Referencia
SELECT bukrs xblnr INTO CORRESPONDING FIELDS OF TABLE lt_bkpf
FROM bkpf
FOR ALL ENTRIES IN lt_rbkp
WHERE bukrs = lt_rbkp-bukrs.
"posicion
LOOP AT lt_vbsegk ASSIGNING <vb>.
write: / <vb>-sgtxt.
ENDLOOP.
*Numero Interno
SELECT MAX( NUM_I ) into NI from zt2_pagos
where zt2_pagos~sociedad = gs_param-BUKRS.
ni = ni + 1.
en este parte de aca iniciaría mi loop con un append a la gt_alv porfavor si me dan una idea de como continuar