#7
|
|||
|
|||
ayuda para llenar una tabla
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 |
Herramientas | Buscar en Tema |
Desplegado | |
|
|