Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Problem with CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY' on ECC6

Former Member
0 Likes
731

Hi,

I have a problem when i'm using the FM : CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY' on ECC6 release, i have copied the

same program from the 4.7 release that is working well, but on ECC6, i don't get the data.

Can anyone give me a guidance to solve this problem.

Best regard.

1 ACCEPTED SOLUTION
Read only

agnihotro_sinha2
Active Contributor
0 Likes
697

Can you give the code excerpt?

4 REPLIES 4
Read only

Former Member
0 Likes
697

Infact you should be guiding us as to what your problem is and by debugging the program.

Read only

agnihotro_sinha2
Active Contributor
0 Likes
698

Can you give the code excerpt?

Read only

0 Likes
697

FORM select_data.

**************GET BELNR COMPTE INTERMIDIAIRE ET BANQUE***************

CLEAR it_bsas.

REFRESH it_bsas.

SELECT belnr bukrs augdt zuonr hkont FROM bsas

INTO CORRESPONDING FIELDS OF TABLE it_bsas WHERE bukrs IN sd_bukrs

AND augdt BETWEEN dat_m_1_low AND sd_augdt-high AND bschl = '50' AND

buzei IN ('001','002').

**********GET BELNR COMPTE FOURNISSEUR ET COMPTE INTERMIDIAIRE********

CLEAR it_bsak.

REFRESH it_bsak.

SELECT belnr augbl gjahr bukrs xblnr sgtxt bldat lifnr FROM bsak

INTO CORRESPONDING FIELDS OF TABLE it_bsak FOR ALL ENTRIES IN it_bsas

WHERE bukrs = it_bsas-bukrs AND augbl = it_bsas-belnr AND

( belnr like '19%' OR belnr like '51%' OR belnr like '17%' ).

            • COMPLEMENT SELECTION DES DONNEES A PARTIR DE LA TABLE BSAK*******

CLEAR it_bsas_bis_2.

REFRESH it_bsas_bis_2.

SELECT belnr bukrs gjahr zuonr hkont augdt FROM bsas INTO

CORRESPONDING FIELDS OF TABLE it_bsas_bis_2 WHERE bukrs IN sd_bukrs

AND augdt BETWEEN dat_m_1_low AND dat_m_1_high AND bschl = '50'

AND ( hkont LIKE '005118%' OR hkont LIKE '005122%' OR hkont

LIKE '005123%' OR hkont LIKE '005124%' OR hkont LIKE '005125%' OR

hkont LIKE '005128%' OR hkont LIKE '005132%' OR hkont LIKE

'005133%' OR hkont LIKE '005134%' OR hkont LIKE '005134%' OR hkont

LIKE '005139%').

SELECT belnr bukrs gjahr zuonr hkont augdt FROM bsas

APPENDING CORRESPONDING FIELDS OF

TABLE it_bsas_bis_2 WHERE bukrs IN sd_bukrs

AND augdt BETWEEN dat_m_1_low AND dat_m_1_high AND bschl = '50' AND

belnr LIKE '15%'.

CLEAR it_bsak_bis_2.

REFRESH it_bsak_bis_2.

SELECT belnr bukrs gjahr augbl zuonr

FROM bsak INTO CORRESPONDING FIELDS OF TABLE it_bsak_bis_2

FOR ALL ENTRIES IN it_bsas_bis_2 WHERE bukrs IN sd_bukrs AND belnr =

it_bsas_bis_2-belnr AND augbl LIKE '010%'.

SORT it_bsak_bis_2 BY belnr.

LOOP AT it_bsak_bis_2.

READ TABLE it_bsas_bis_2 WITH KEY belnr = it_bsak_bis_2-belnr.

SELECT belnr sgtxt lifnr xblnr bldat FROM bsak INTO

(it_bsak_bis_4-belnr,it_bsak_bis_4-sgtxt,it_bsak_bis_4-lifnr,

it_bsak_bis_4-xblnr,it_bsak_bis_4-bldat) WHERE bukrs =

it_bsak_bis_2-bukrs AND augbl = it_bsak_bis_2-augbl AND ( belnr

LIKE '19%' OR belnr LIKE '51%' ) AND zuonr = it_bsak_bis_2-zuonr.

it_bsak_bis_4-augdt = it_bsas_bis_2-augdt.

it_bsak_bis_4-bukrs = it_bsas_bis_2-bukrs.

it_bsak_bis_4-gjahr = it_bsas_bis_2-gjahr.

it_bsak_bis_4-zuonr = it_bsas_bis_2-zuonr.

it_bsak_bis_4-hkont = it_bsas_bis_2-hkont.

APPEND it_bsak_bis_4.

ENDSELECT.

ENDLOOP.

SORT it_bsak_bis_4 BY belnr.

DELETE ADJACENT DUPLICATES FROM it_bsak_bis_4 COMPARING belnr.

APPEND LINES OF it_bsak_bis_4 TO it_bsak.

******************GET TVA SUR FRAIS BANCAIRE************************

CLEAR it_bsas_bis.

REFRESH it_bsas_bis.

SELECT belnr bukrs gjahr sgtxt bldat hkont budat augbl FROM bsas INTO

CORRESPONDING FIELDS OF TABLE it_bsas_bis WHERE bukrs IN sd_bukrs AND

budat BETWEEN dat_m_1_low AND dat_m_1_high AND bschl in ('40','50')

AND ( hkont LIKE '005118%' OR hkont LIKE '005122%' OR hkont LIKE

'005123%' OR hkont LIKE '005124%' OR hkont LIKE '005125%' OR hkont

LIKE '005128%' OR hkont LIKE '005132%' OR hkont LIKE '005133%' OR

hkont LIKE '005134%' OR hkont LIKE '005134%' OR hkont LIKE '005139%').

SORT it_bsas_bis BY belnr.

DELETE ADJACENT DUPLICATES FROM it_bsas_bis COMPARING belnr.

LOOP AT it_bsas_bis.

select * from bkpf up to 1 rows where bukrs = it_bsas_bis-bukrs

and belnr = it_bsas_bis-augbl and TCODE = 'FB08'.

endselect.

if sy-subrc <> 0.

it_bsak-belnr = it_bsas_bis-belnr.

it_bsak-bukrs = it_bsas_bis-bukrs.

it_bsak-gjahr = it_bsas_bis-gjahr.

it_bsak-sgtxt = it_bsas_bis-sgtxt.

it_bsak-hkont = it_bsas_bis-hkont.

it_bsak-bldat = it_bsas_bis-bldat.

it_bsak-augdt = it_bsas_bis-budat.

APPEND it_bsak.

endif.

ENDLOOP.

IF it_bsak[] IS INITIAL.

MESSAGE i000(zw) WITH 'No data'.

ENDIF.

************************LOOP AT IT_BSAK*******************************

SORT it_bsak BY belnr mwskz.

LOOP AT it_bsak.

*********************GET DOCUMENT D'ACHAT***************************

CLEAR wa_ebeln.

SELECT SINGLE ebeln FROM bseg INTO (wa_ebeln)

WHERE belnr = it_bsak-belnr AND gjahr = it_bsak-gjahr AND bukrs IN

sd_bukrs AND buzei = '002'.

CLEAR wa_wgbez.

SELECT SINGLE wgbez FROM ekpo INNER JOIN t023t ON ekpo~matkl =

t023t~matkl INTO WA_WGBEZ WHERE ebeln = wa_ebeln.

IF sy-subrc EQ 0.

it_dtab-sgtxt = wa_wgbez.

ELSE.

it_dtab-sgtxt = it_bsak-sgtxt.

ENDIF.

**********************************************************************

it_dtab-xblnr = it_bsak-xblnr.

it_dtab-bldat = it_bsak-bldat.

it_dtab-augbl = it_bsak-augbl.

READ TABLE it_bsas WITH KEY belnr = it_bsak-augbl.

CONCATENATE it_bsas-augdt6(2) it_bsas-augdt4(2)

it_bsas-augdt(4) INTO datdec SEPARATED BY '.'.

CONCATENATE it_bsak-augdt6(2) it_bsak-augdt4(2)

it_bsak-augdt(4) INTO datdec2 SEPARATED BY '.'.

it_dtab-augdt = it_bsas-augdt.

IF it_dtab-augdt IS INITIAL.

it_dtab-augdt = it_bsak-augdt.

ENDIF.

********************GET NOM FOURNISSEUR ET ID. FISCALE****************

SELECT SINGLE name1 stenr adrnr mcod3 FROM lfa1 INTO

(it_dtab-name1,it_dtab-stenr,it_dtab-adrnr,it_dtab-mcod3) WHERE

lifnr = it_bsak-lifnr.

if sy-subrc = 0.

SELECT street FROM ADRC up to 1 rows INTO (it_dtab-street) WHERE

ADDRNUMBER = it_dtab-adrnr.

clear it_dtab-adrnr.

endselect.

endif.

IF sy-subrc = 0.

CONCATENATE it_dtab-name1 ' ' it_dtab-street it_dtab-mcod3 INTO

it_dtab-name1 SEPARATED BY space.

ELSE.

SELECT SINGLE name1 fisc adrs FROM ztva INTO (it_dtab-name1,

it_dtab-stenr,wa_name2) WHERE id = it_bsak-hkont+6(2).

SELECT SINGLE txt50 FROM skat INTO wa_name3 WHERE ktopl =

'PTRM' AND spras = 'FR' AND saknr = it_bsak-hkont.

IF sy-subrc = 0.

CONCATENATE it_dtab-name1 ' ' wa_name2 INTO

it_dtab-name1 SEPARATED BY space.

wa_check = 'X'.

CLEAR wa_name2.

ENDIF.

ENDIF.

**********GET COMPTE BANCAIRE ET REF PAIEMENT "CHEQUE OU EFFET******

SELECT SINGLE txt50 FROM skat INTO wa_txt50 WHERE ktopl = 'PTRM' AND

spras = 'FR' AND saknr = it_bsas-hkont.

IF sy-subrc = 0.

CONCATENATE wa_txt50 it_bsas-zuonr datdec INTO

it_dtab-refpai SEPARATED BY space.

ELSEIF wa_check = 'X'.

CONCATENATE wa_name3 datdec2 INTO

it_dtab-refpai SEPARATED BY space.

ELSE.

SELECT SINGLE txt50 FROM skat INTO wa_txt50z WHERE ktopl = 'PTRM'

AND spras = 'FR' AND saknr = it_bsak-hkont.

IF sy-subrc = 0.

CONCATENATE wa_txt50z it_bsak-zuonr datdec2 INTO

it_dtab-refpai SEPARATED BY space.

ELSE.

it_dtab-refpai = it_bsak-kontl.

ENDIF.

ENDIF.

*******************GET MONTANT FACTURE HT + MONTANT TVA***************

SELECT belnr mwskz bukrs dmbtr fwbas hkont shkzg FROM bseg

INTO (wa_belnr,wa_mwskz,wa_bukrs,wa_dmbtr,wa_fwbas,wa_hkont,

wa_shkzg) WHERE bukrs = it_bsak-bukrs AND belnr = it_bsak-belnr

AND buzid = 'T' AND mwskz NE space AND hkont IN ('0034551001',

'0034552001') AND mwskz IN sd_mwskz.

it_dtab-belnr = wa_belnr.

it_dtab-mwskz = wa_mwskz.

it_dtab-bukrs = wa_bukrs.

IF wa_shkzg = 'H'.

it_dtab-fwbas = - wa_fwbas.

it_dtab-dmbtr = - wa_dmbtr.

ELSE.

it_dtab-fwbas = wa_fwbas.

it_dtab-dmbtr = wa_dmbtr.

ENDIF.

it_dtab-hkont = wa_hkont.

APPEND it_dtab.

ENDSELECT.

ENDLOOP.

ENDFORM. "select_data

*&----


*

*& Form eventtab_build

*&----


*

FORM eventtab_build USING lt_events TYPE slis_t_event.

DATA: ls_event TYPE slis_alv_event.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

i_list_type = 0

IMPORTING

et_events = lt_events.

READ TABLE lt_events WITH KEY name = slis_ev_top_of_page

INTO ls_event.

IF sy-subrc = 0.

MOVE gc_formname_top_of_page TO ls_event-form.

APPEND ls_event TO lt_events.

ENDIF.

ENDFORM. "eventtab_build

*******************FORM ALV GRID TOP-OF-PAGE**************

FORM comment_build USING lt_top_of_page TYPE slis_t_listheader.

DATA : ls_line TYPE slis_listheader.

  • ls_line-typ = 'S'.

  • ls_line-info = it_dtab-mwskz.

  • APPEND ls_line TO lt_top_of_page.

ENDFORM. "comment_build

*&----


*

*& Form BUILD_PRINT_PARAMS

*&----


*

FORM build_print_params.

  • gd_prntparams-reserve_lines = '3'. "Lines reserved for footer

gd_prntparams-no_coverpage = 'X'.

ENDFORM. " BUILD_PRINT_PARAMS

*&----


*

*& Form build_fieldcat

*&----


*

FORM build_fieldcat .

CLEAR fieldcat_ln.

fieldcat_ln-key_sel = 'X'.

fieldcat_ln-no_out = 'O'.

fieldcat_ln-fieldname = 'BELNR'.

fieldcat_ln-hotspot = 'X'.

fieldcat_ln-seltext_l = 'N° PIECE'.

APPEND fieldcat_ln TO gt_fieldcat.

*----

-


CLEAR fieldcat_ln.

fieldcat_ln-fieldname = 'STENR'.

fieldcat_ln-seltext_l = 'IDENTIF. FISCAL'.

APPEND fieldcat_ln TO gt_fieldcat.

*----

-


CLEAR fieldcat_ln.

fieldcat_ln-fieldname = 'NAME1'.

fieldcat_ln-seltext_l = 'NOM & ADRESSE FOURNISSEUR'.

APPEND fieldcat_ln TO gt_fieldcat.

*----

-


CLEAR fieldcat_ln.

fieldcat_ln-fieldname = 'SGTXT'.

fieldcat_ln-seltext_l = 'NATURE EXACTES MARCHANDISES OU TRAVAUX '.

APPEND fieldcat_ln TO gt_fieldcat.

*----

-


CLEAR fieldcat_ln.

fieldcat_ln-fieldname = 'FWBAS'.

fieldcat_ln-seltext_l = 'MONTANT FACTURES'.

  • fieldcat_ln-tabname = 'dtab'.

fieldcat_ln-no_out = ' '.

fieldcat_ln-do_sum = 'X'. "SUM UPON DISPLAY

APPEND fieldcat_ln TO gt_fieldcat.

**************

CLEAR fieldcat_ln.

fieldcat_ln-no_out = 'X'.

fieldcat_ln-fieldname = 'MWSKZ'.

fieldcat_ln-seltext_l = 'Code TVA'.

fieldcat_ln-tabname = 'it_dtab'.

APPEND fieldcat_ln TO gt_fieldcat.

ENDFORM. "build_fieldcat

*&----


*

*& Form sort

*&----


*

FORM sort .

fs_sort-spos = '1'.

fs_sort-tabname = 'it_dtab'.

fs_sort-fieldname = 'MWSKZ'.

fs_sort-subtot = 'X'.

fs_sort-up = 'X'.

fs_sort-group = '*'.

fs_sort-obligatory = 'UL'.

APPEND fs_sort TO t_sort.

ENDFORM. " sort

*&----


*

*& Form build_layout

*&----


*

FORM build_layout .

CLEAR gd_layout.

gd_layout-no_keyfix = 'X'.

gd_layout-expand_all = 'X'.

gd_layout-info_fieldname = 'COLOR'.

gd_layout-no_input = 'X'.

gd_layout-colwidth_optimize = 'X'.

gd_layout-totals_text = 'Total :' .

gd_layout-totals_only = 'X'.

gd_layout-f2code = 'DISP'.

gd_layout-group_change_edit = 'X'.

gd_layout-header_text = 'Déclaration de la TVA'.

ENDFORM. " build_layout

*&----


*

*& Form show_alv

*&----


*

FORM show_alv .

DATA : p_vari TYPE disvariant-variant.

gt_variant-report = sy-repid.

w_fcode = '&XXL'.

APPEND w_fcode TO t_excluding.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

i_callback_program = sy-repid

i_structure_name = 'it_dtab'

  • i_callback_user_command = 'USER_COMMAND'

it_events = gt_events[]

it_fieldcat = gt_fieldcat[]

is_layout = gd_layout

  • is_variant = gt_variant

is_print = gd_prntparams

it_sort = t_sort[]

i_save = 'X'

it_excluding = t_excluding

TABLES

t_outtab = it_dtab.

ENDFORM. " show_alv

*&----


*

*& Form top_of_page

*&----


*

FORM top_of_page.

DATA: t_header TYPE slis_t_listheader.

DATA : lv_desc(30) TYPE c,

lv_month(2) TYPE c,

lv_year(4) TYPE c.

DATA : wa_name TYPE name1,

wa_ort01 TYPE ort01,

wa_stras TYPE stras,

wa_stenr TYPE stenr,

taux(5) TYPE c.

DATA : pageno(2) TYPE c.

WRITE : 60 'RELEVE DES ACHATS LIVRAISONS FACONS'.

WRITE : /62 '& TRAVAUX EFFECTUES AU MAROC'.

WRITE : /64 'OUVRANT DROIT AU DEDUCTION'.

SKIP 1.

WRITE : /1 'IDENTIFIANT FISCAL :', wa_stenr,135 'REGIME : ENCAISSEMENT'.

SKIP 1.

pageno = sy-pagno.

WRITE : /81 it_dtab-mwskz.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = gt_list_top_of_page.

  • it_list_commentary = t_header.

ENDFORM. "top_of_page

Read only

0 Likes
697

debug the code at select queries.

Regards,

Sumit