‎2010 May 06 11:31 AM
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.
‎2010 May 06 11:35 AM
‎2010 May 06 11:33 AM
Infact you should be guiding us as to what your problem is and by debugging the program.
‎2010 May 06 11:35 AM
‎2010 May 06 11:45 AM
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
‎2010 May 06 11:56 AM