0% found this document useful (0 votes)
8 views14 pages

Coding Customer Statement

The document is an ABAP report program named ZCUT_STATEMENT designed to generate customer statements based on selection criteria such as customer number, company code, and posting date. It includes data selection, manipulation, and display logic, supporting both Smart Forms and ALV grid outputs. The program utilizes various data structures and function calls to retrieve and process financial data for specified customers.

Uploaded by

russelbdbi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views14 pages

Coding Customer Statement

The document is an ABAP report program named ZCUT_STATEMENT designed to generate customer statements based on selection criteria such as customer number, company code, and posting date. It includes data selection, manipulation, and display logic, supporting both Smart Forms and ALV grid outputs. The program utilizes various data structures and function calls to retrieve and process financial data for specified customers.

Uploaded by

russelbdbi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 14

*&---------------------------------------------------------------------*

*& Report ZCUT_STATEMENT


*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zcut_statement.

TABLES: bsid, bsad, bkpf, knb1,kna1, zbseg1.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS: s_kunnr FOR kna1-kunnr OBLIGATORY,


s_bukrs FOR bkpf-bukrs,
s_budat FOR bkpf-budat OBLIGATORY.
* s_bldat FOR bkpf-bldat.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF LINE.


SELECTION-SCREEN COMMENT 1(8) TEXT-002 FOR FIELD smf.
PARAMETERS: smf RADIOBUTTON GROUP rb1.
SELECTION-SCREEN COMMENT 20(5) TEXT-003 FOR FIELD alv.
PARAMETERS: alv RADIOBUTTON GROUP rb1.
SELECTION-SCREEN END OF LINE.

TYPE-POOLS: icon, slis.

DATA: it_events TYPE slis_alv_event OCCURS 1 WITH HEADER LINE,


i_field TYPE slis_t_fieldcat_alv,
alv_layout TYPE slis_layout_alv,
ialv_layout TYPE slis_layout_alv,
alv_sort TYPE slis_t_sortinfo_alv,
pos TYPE i VALUE 1,
ipos TYPE i VALUE 1,
l_repid LIKE sy-repid,
ls_keyinfo TYPE slis_keyinfo_alv,
gt_sort TYPE slis_sortinfo_alv OCCURS 0 WITH HEADER LINE,
linecolor TYPE slis_specialcol_alv OCCURS 0 WITH HEADER LINE,
xs_event TYPE slis_alv_event,
ys_event TYPE slis_alv_event,
gt_print TYPE slis_print_alv,
ref1 TYPE REF TO cl_gui_alv_grid.

DATA : wa_layout TYPE lvc_s_layo,


it_fieldcat TYPE lvc_t_fcat.

FIELD-SYMBOLS:
<wa_fcat> LIKE LINE OF it_fieldcat.

DATA: lr_grid TYPE REF TO cl_gui_alv_grid,


ls_layo_lvc TYPE lvc_s_layo.

DATA : gt_events TYPE slis_t_event,


gt_list_top_of_page TYPE slis_t_listheader,
g_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.

DATA: it_item TYPE STANDARD TABLE OF zfi_state_item, "ty_item,


wa_item TYPE zfi_state_item,
ac_dmbtr LIKE bseg-dmbtr,
it_bseg1 TYPE STANDARD TABLE OF zbseg1 WITH HEADER LINE,
it_bseg_ac TYPE STANDARD TABLE OF bseg WITH HEADER LINE.
DATA: wa_head TYPE zfi_state_head.

TYPES: BEGIN OF ty_hd,


kunnr LIKE kna1-kunnr,
name1 LIKE kna1-name1,
butxt LIKE t001-butxt,
END OF ty_hd.

DATA: BEGIN OF it_final OCCURS 100.


INCLUDE TYPE ty_hd.
INCLUDE STRUCTURE zfi_state_item.
DATA END OF it_final.

DATA: it_lines TYPE STANDARD TABLE OF tline,


wa_lines TYPE tline.

DATA: gv_fname TYPE rs38l_fnam.


DATA: ls_output TYPE ssfcompop,
ls_output_info TYPE ssfcrescl,
ls_control TYPE ssfctrlop.

TYPES: BEGIN OF ty_bsid,


kunnr TYPE kunnr,
bukrs TYPE bukrs,
umsks TYPE umsks,
umskz TYPE umskz,
augdt TYPE augdt,
augbl TYPE augbl,
zuonr TYPE dzuonr,
gjahr TYPE gjahr,
belnr TYPE belnr_d,
buzei TYPE buzei,
budat TYPE budat,
bldat TYPE bldat,
shkzg TYPE shkzg,
dmbtr TYPE dmbtr,
waers TYPE waers,
blart TYPE blart,
hbkid TYPE hbkid,
xblnr TYPE xblnr1,
sgtxt TYPE sgtxt,
reverse TYPE char1,
END OF ty_bsid.
DATA: it_bsid LIKE STANDARD TABLE OF bsid WITH HEADER LINE,
it_t001 LIKE STANDARD TABLE OF t001 WITH HEADER LINE,
it_kna1 LIKE STANDARD TABLE OF kna1 WITH HEADER LINE,
it_adrc LIKE STANDARD TABLE OF adrc WITH HEADER LINE,
wa_bsid TYPE bsid. "ty_bsid.
DATA: BEGIN OF it_knb1 OCCURS 0,
bukrs LIKE knb1-bukrs,
kunnr LIKE knb1-kunnr,
kunnr_bukrs(14),
END OF it_knb1.

FIELD-SYMBOLS: <fs_bsid> TYPE ty_bsid.


FIELD-SYMBOLS: <fs_bsid1> TYPE ty_bsid.
DATA: lv_prev TYPE budat,
lv_balance TYPE dmbtr,
lv_credit TYPE dmbtr,
lv_debit TYPE dmbtr,
lv_tot TYPE dmbtr,
lv_waers TYPE waers.
DATA: it_otf TYPE STANDARD TABLE OF itcoo,
gt_otf TYPE STANDARD TABLE OF itcoo.

DATA: lineitems LIKE STANDARD TABLE OF bapi3007_2 WITH HEADER LINE.

START-OF-SELECTION.
* IF s_budat-high IS INITIAL.
* s_budat-high = s_budat-low.
* modify s_budat INDEX sy-tabix TRANSPORTING high.
* ENDIF.

PERFORM data_selection.

END-OF-SELECTION.

IF smf = 'X'.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZFI_CUSTOMER_STATEMENT'
* VARIANT = ' '
* DIRECT_CALL = ' '
IMPORTING
fm_name = gv_fname
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
ENDIF.

PERFORM data_manipulation.

IF alv = 'X'.

PERFORM append_fieldcat. " USING gt_fieldcat[].


PERFORM ialv_layout.
PERFORM eventtab_build USING gt_events[].
PERFORM comment_build USING gt_list_top_of_page[].
PERFORM data_display.

ENDIF.
*&---------------------------------------------------------------------*
*& Form DATA_MANIPULATION
*&---------------------------------------------------------------------*

FORM data_manipulation .

LOOP AT it_knb1.
READ TABLE it_kna1 WITH KEY kunnr = it_knb1-kunnr.
wa_head-kunnr = it_kna1-kunnr.
wa_head-name1 = it_kna1-name1.
READ TABLE it_adrc WITH KEY addrnumber = it_kna1-adrnr.

CONCATENATE it_adrc-house_num1
it_adrc-street
it_adrc-city1
it_adrc-post_code1
it_adrc-region
INTO wa_head-address SEPARATED BY ','.

IF it_knb1-bukrs = '5000'.
READ TABLE it_t001 WITH KEY bukrs = '4000'.
wa_head-butxt = it_t001-butxt.
ELSE.
READ TABLE it_t001 WITH KEY bukrs = it_knb1-bukrs.
wa_head-butxt = it_t001-butxt.
ENDIF.
* LOOP AT it_bsid INTO wa_bsid WHERE kunnr = it_kna1-kunnr.
CLEAR wa_item.
AT NEW kunnr_bukrs.

* READ TABLE it_kna1 with key kunnr = wa_bsid-kunnr.

REFRESH it_item. CLEAR lv_balance. CLEAR: lv_credit, lv_debit, lv_tot.

PERFORM balance USING it_knb1-bukrs


it_knb1-kunnr
CHANGING lv_balance
lv_waers.

wa_item-balance = lv_balance.
wa_item-bukrs = it_knb1-bukrs.
wa_item-waers = lv_waers.
wa_item-bldat = s_budat-low .
wa_item-descrip = 'Opeing Balance (Forwarded)'.
APPEND wa_item TO it_item.
CLEAR: wa_item, lineitems[].

LOOP AT it_bseg1 WHERE budat IN s_budat.


wa_item-bldat = it_bseg1-budat.
wa_item-belnr = it_bseg1-belnr.
wa_item-bukrs = it_bseg1-bukrs.
wa_item-descrip = it_bseg1-sgtxt.

*H Credit
IF it_bseg1-shkzg = 'S'.
wa_item-debit = it_bseg1-dmbtr.
ELSEIF it_bseg1-shkzg = 'H'.
wa_item-credit = it_bseg1-dmbtr.
ENDIF.
* lv_balance = lv_balance + wa_item-debit - wa_item-credit.
* wa_item-balance = lv_balance .
APPEND wa_item TO it_item.
CLEAR wa_item.
ENDLOOP.

IF s_budat-high IS INITIAL.
s_budat-high = s_budat-low.
ENDIF.

CALL FUNCTION 'BAPI_AR_ACC_GETSTATEMENT'


EXPORTING
companycode = it_knb1-bukrs
customer = it_knb1-kunnr
date_from = s_budat-low
date_to = s_budat-high
* NOTEDITEMS = ' '
* IMPORTING
* RETURN =
TABLES
lineitems = lineitems.

SORT lineitems BY pstng_date.


*For Statement bellow Document Type Should to visible only
*Type: 'RV','DZ','DG'
LOOP AT lineitems WHERE doc_type EQ 'RV'
OR doc_type EQ 'DZ'
OR doc_type EQ 'DR'
OR doc_type EQ 'DG' .

READ TABLE it_bseg1 WITH KEY belnr = lineitems-doc_no


bukrs = lineitems-comp_code
kunnr = it_knb1-kunnr.
CHECK sy-subrc NE 0.

wa_item-bldat = lineitems-pstng_date.
wa_item-belnr = lineitems-doc_no.
wa_item-bukrs = lineitems-comp_code.
wa_item-descrip = lineitems-alloc_nmbr.

*H Credit
IF lineitems-db_cr_ind = 'S'.
wa_item-debit = lineitems-amt_doccur.
ELSEIF lineitems-db_cr_ind = 'H'.
wa_item-credit = lineitems-amt_doccur.
ENDIF.
* lv_balance = lv_balance + wa_item-debit - wa_item-credit.
* wa_item-balance = lv_balance .
APPEND wa_item TO it_item.
CLEAR wa_item.
ENDLOOP.

ENDAT.

AT FIRST.
ls_control-no_close = 'X'.
ENDAT.
AT LAST.
ls_control-no_close = space.
ENDAT.

IF smf = 'X'.
SORT it_item BY bldat ASCENDING.
LOOP AT it_item INTO wa_item.

lv_balance = lv_balance + wa_item-debit - wa_item-credit.


wa_item-balance = lv_balance. "wa_item-balance + wa_item-debit - wa_i
tem-credit. .
MODIFY it_item INDEX sy-tabix FROM wa_item TRANSPORTING balance.
ENDLOOP.

PERFORM call_smartforms.

ELSEIF alv = 'X'.

SORT it_item BY bldat ASCENDING.


LOOP AT it_item INTO wa_item.

lv_balance = lv_balance + wa_item-debit - wa_item-credit.


wa_item-balance = lv_balance. "wa_item-balance + wa_item-debit - wa_i
tem-credit. .

MODIFY it_item INDEX sy-tabix FROM wa_item TRANSPORTING balance.


ENDLOOP.

l_repid = sy-repid.
it_final-kunnr = wa_head-kunnr.
it_final-name1 = wa_head-name1.
it_final-butxt = wa_head-butxt.

LOOP AT it_item INTO wa_item.


it_final-bldat = wa_item-bldat.
it_final-bukrs = wa_item-bukrs.
it_final-belnr = wa_item-belnr.
it_final-descrip = wa_item-descrip.
it_final-debit = wa_item-debit.
it_final-credit = wa_item-credit.
it_final-balance = wa_item-balance.

APPEND it_final.

ENDLOOP.
* MOVE-CORRESPONDING it_item[] TO it_final[].

* APPEND it_final.
ENDIF.
ENDLOOP.
ENDFORM.

FORM balance USING p_bukrs p_kunnr TYPE kunnr


CHANGING p_balance TYPE dmbtr
p_curr TYPE waers.
DATA: l_bukrs TYPE bukrs.
DATA: it_balance TYPE STANDARD TABLE OF bapi3007_3,
wa_balance TYPE bapi3007_3.
DATA: it_ret TYPE STANDARD TABLE OF bapireturn,
wa_ret TYPE bapireturn.
DATA: l_currbal TYPE bapisalfw.

* Previous Balance of the customer


CLEAR lv_prev. CLEAR : l_currbal.
lv_prev = s_budat-low - 1.
* LOOP AT it_setleaf INTO wa_setleaf.
* CLEAR l_bukrs.
* l_bukrs = wa_setleaf-valfrom.
REFRESH: it_balance, it_ret.
CALL FUNCTION 'BAPI_AR_ACC_GETKEYDATEBALANCE'
EXPORTING
companycode = p_bukrs
customer = p_kunnr
keydate = lv_prev
balancespgli = 'X'
* NOTEDITEMS = ' '
IMPORTING
return = wa_ret
TABLES
keybalance = it_balance.
IF it_balance[] IS NOT INITIAL.
LOOP AT it_balance INTO wa_balance.
l_currbal = l_currbal + wa_balance-lc_bal.

ENDLOOP.
ENDIF.

IF p_kunnr = 50000057.
IF p_bukrs = 5000.
IF lv_prev BETWEEN '20180701' AND '20180830'.
l_currbal = l_currbal - 14370." dif_amt.
ENDIF.
ENDIF.
ENDIF.

* LOOP AT it_bseg1 WHERE bukrs = p_bukrs


* AND kunnr = p_kunnr
* AND budat LE lv_prev.
* CHECK it_bseg1-belnr NE 1050000001.
* IF it_bseg1-shkzg = 'S'.
* it_bseg1-dmbtr = it_bseg1-dmbtr * -1.
* ENDIF.
*
*
** READ TABLE it_bseg_ac WITH KEY belnr = it_bseg1-belnr
* LOOP AT it_bseg_ac WHERE belnr = it_bseg1-belnr
** AND buzei = it_bseg1-buzei
* AND bukrs = it_bseg1-bukrs
* AND kunnr = it_bseg1-kunnr.
* IF it_bseg_ac-shkzg = 'S'.
* it_bseg_ac-dmbtr = it_bseg_ac-dmbtr * -1.
* ac_dmbtr = ac_dmbtr + it_bseg_ac-dmbtr.
* ENDIF.
* ac_dmbtr = ac_dmbtr + it_bseg_ac-dmbtr.
* ENDLOOP.
*
* l_currbal = l_currbal + it_bseg1-dmbtr - ac_dmbtr.
* ENDLOOP.
** ENDLOOP.
MOVE l_currbal TO p_balance.
MOVE wa_balance-loc_currcy TO p_curr.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form DATA_SELECTION
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM data_selection .

SELECT * FROM t001 INTO TABLE it_t001." WHERE bukrs IN s_bukrs.

SELECT bukrs kunnr FROM knb1 INTO TABLE it_knb1


WHERE kunnr IN s_kunnr
AND bukrs IN s_bukrs.
LOOP AT it_knb1.
CONCATENATE it_knb1-kunnr knb1-bukrs INTO it_knb1-kunnr_bukrs.
MODIFY it_knb1 INDEX sy-tabix TRANSPORTING kunnr_bukrs.
ENDLOOP.

SELECT * FROM kna1 INTO TABLE it_kna1


WHERE kunnr IN s_kunnr.
* and BUKRS in s_bukrs.

SELECT * FROM adrc INTO TABLE it_adrc FOR ALL ENTRIES IN it_kna1
WHERE addrnumber = it_kna1-adrnr.

SELECT * FROM zbseg1 INTO TABLE it_bseg1


WHERE bukrs IN s_bukrs
AND kunnr IN s_kunnr.

IF sy-subrc EQ 0.
SELECT * FROM bseg INTO TABLE it_bseg_ac FOR ALL ENTRIES IN it_bseg1
WHERE belnr = it_bseg1-belnr
AND bukrs = it_bseg1-bukrs
AND kunnr = it_bseg1-kunnr.
ENDIF.

ENDFORM.

FORM call_smartforms .
ls_output-tddest = 'LP01'.
ls_output-tdimmed = space.
ls_output-tdnewid = 'X'.

* ls_control-getotf = 'X'.
* ls_control-no_dialog = 'X'.

* REFRESH it_otf.
CALL FUNCTION gv_fname
EXPORTING
control_parameters = ls_control
output_option = ls_output
user_setting = 'X'
wa_head = wa_head
begda = s_budat-low
endda = s_budat-high
* IMPORTING
* DOCUMENT_OUTPUT_INFO =
* job_output_info = ls_output_info
* JOB_OUTPUT_OPTIONS =
TABLES
it_item = it_item.

ls_control-no_open = 'X'.

* IF sy-subrc = 0.
* it_otf[] = ls_output_info-otfdata[].
* APPEND LINES OF it_otf TO gt_otf.
** ENDIF.
*
* CALL FUNCTION 'SSFCOMP_PDF_PREVIEW'
* EXPORTING
* i_otf = gt_otf[]
* EXCEPTIONS
* convert_otf_to_pdf_error = 1
* cntl_error = 2
* OTHERS = 3.
* IF sy-subrc <> 0.
* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
* ENDIF.
* ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form APPEND_FIELDCAT
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM append_fieldcat .

REFRESH: it_fieldcat.
APPEND INITIAL LINE TO it_fieldcat ASSIGNING <wa_fcat>.
<wa_fcat>-fieldname = 'BUKRS'.
<wa_fcat>-tabname = 'IT_FINAL'.
<wa_fcat>-no_zero = 'X'.
<wa_fcat>-scrtext_m = 'Company Code'.
<wa_fcat>-seltext = 'Company Code'.
<wa_fcat>-outputlen = '10'.

APPEND INITIAL LINE TO it_fieldcat ASSIGNING <wa_fcat>.


<wa_fcat>-fieldname = 'BUTXT'.
<wa_fcat>-tabname = 'IT_FINAL'.
<wa_fcat>-no_zero = 'X'.
<wa_fcat>-scrtext_m = 'Company Name'.
<wa_fcat>-seltext = 'Company Name'.
<wa_fcat>-outputlen = '10'.

APPEND INITIAL LINE TO it_fieldcat ASSIGNING <wa_fcat>.


<wa_fcat>-fieldname = 'KUNNR'.
<wa_fcat>-tabname = 'IT_FINAL'.
<wa_fcat>-no_zero = 'X'.
<wa_fcat>-scrtext_m = 'Customer ID'.
<wa_fcat>-seltext = 'Customer ID'.
<wa_fcat>-outputlen = '10'.

APPEND INITIAL LINE TO it_fieldcat ASSIGNING <wa_fcat>.


<wa_fcat>-fieldname = 'NAME1'.
<wa_fcat>-tabname = 'IT_FINAL'.
<wa_fcat>-scrtext_m = 'Customer Name'.
<wa_fcat>-seltext = 'Customer Name'.
<wa_fcat>-outputlen = '30'.

APPEND INITIAL LINE TO it_fieldcat ASSIGNING <wa_fcat>.


<wa_fcat>-fieldname = 'BLDAT'.
<wa_fcat>-tabname = 'IT_FINAL'.
<wa_fcat>-scrtext_m = 'Date'.
<wa_fcat>-seltext = 'Customer Name'.
<wa_fcat>-outputlen = '10'.

APPEND INITIAL LINE TO it_fieldcat ASSIGNING <wa_fcat>.


<wa_fcat>-fieldname = 'BELNR'.
<wa_fcat>-tabname = 'IT_FINAL'.
<wa_fcat>-scrtext_m = 'Docu No'.
<wa_fcat>-seltext = 'Docu. No'.
<wa_fcat>-outputlen = '30'.

APPEND INITIAL LINE TO it_fieldcat ASSIGNING <wa_fcat>.


<wa_fcat>-fieldname = 'DESCRIP'.
<wa_fcat>-tabname = 'IT_FINAL'.
<wa_fcat>-scrtext_m = 'Description'.
<wa_fcat>-seltext = 'Description'.
<wa_fcat>-outputlen = '30'.

APPEND INITIAL LINE TO it_fieldcat ASSIGNING <wa_fcat>.


<wa_fcat>-fieldname = 'DEBIT'.
<wa_fcat>-tabname = 'IT_FINAL'.
<wa_fcat>-scrtext_m = 'DR. Amt'.
<wa_fcat>-seltext = 'DR. Amt'.
<wa_fcat>-outputlen = '20'.

APPEND INITIAL LINE TO it_fieldcat ASSIGNING <wa_fcat>.


<wa_fcat>-fieldname = 'CREDIT'.
<wa_fcat>-tabname = 'IT_FINAL'.
<wa_fcat>-scrtext_m = 'CR. Amt'.
<wa_fcat>-seltext = 'CR. Amt'.
<wa_fcat>-outputlen = '20'.

APPEND INITIAL LINE TO it_fieldcat ASSIGNING <wa_fcat>.


<wa_fcat>-fieldname = 'BALANCE'.
<wa_fcat>-tabname = 'IT_FINAL'.
<wa_fcat>-scrtext_m = 'Balance'.
<wa_fcat>-seltext = 'Balance'.
<wa_fcat>-outputlen = '20'.
ENDFORM.

FORM ialv_layout .
ialv_layout-zebra = 'X'.
* ialv_layout-box_fieldname = 'TXTPS'.
ialv_layout-box_fieldname = 'SELECT'.
ialv_layout-box_tabname = 'IT_FINAL'.
ialv_layout-totals_before_items = 'X'.
ialv_layout-colwidth_optimize = 'X'.
ENDFORM.

FORM eventtab_build USING rt_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 = rt_events.
READ TABLE rt_events WITH KEY name = slis_ev_top_of_page
INTO ls_event.
IF sy-subrc = 0.
MOVE g_top_of_page TO ls_event-form.
APPEND ls_event TO rt_events.
ENDIF.
ENDFORM.

FORM comment_build USING lt_top_of_page TYPE slis_t_listheader.


DATA: ls_line TYPE slis_listheader,
desc(100),
qty(20).
REFRESH lt_top_of_page.

CLEAR ls_line.
ls_line-typ = 'H'.
ls_line-info = TEXT-100.
APPEND ls_line TO lt_top_of_page.

ls_line-typ = 'S'.
ls_line-info = 'Customer Statement'.
APPEND ls_line TO lt_top_of_page.

ENDFORM.

FORM data_display .

SORT it_final BY kunnr bldat ASCENDING.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'


EXPORTING
i_callback_program = sy-repid
* i_callback_pf_status_set = 'PF_STATUS'
* i_callback_user_command = 'USER_COMMAND'
* i_callback_top_of_page = 'TOP-OF-PAGE'
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
* is_layout_lvc = ialv_layout
it_fieldcat_lvc = it_fieldcat[]
TABLES
t_outtab = it_final
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.

ENDFORM.

Z Table

You might also like