*----------------------------------------------------------------------*
* INCLUDE Z_TITLE *
*----------------------------------------------------------------------*
DATA: BEGIN OF line1,
c00 TYPE i,
c01 TYPE i,
c02 TYPE i,
c03 TYPE i,
c04 TYPE i,
c05 TYPE i,
c06 TYPE i,
c07 TYPE i,
c08 TYPE i,
c09 TYPE i,
c10 TYPE i,
c11 TYPE i,
c12 TYPE i,
c13 TYPE i,
c14 TYPE i,
c15 TYPE i,
c16 TYPE i,
c17 TYPE i,
c18 TYPE i,
c19 TYPE i,
c20 TYPE i,
c21 TYPE i,
c22 TYPE i,
c23 TYPE i,
c24 TYPE i,
c25 TYPE i,
c26 TYPE i,
c27 TYPE i,
c28 TYPE i,
c29 TYPE i,
c30 TYPE i,
c31 TYPE i,
c32 TYPE i,
c33 TYPE i,
c34 TYPE i,
c35 TYPE i,
c36 TYPE i,
c37 TYPE i,
c38 TYPE i,
c39 TYPE i,
c40 TYPE i,
END OF line1.
DATA: line2 LIKE line1,
line3 LIKE line1.
DATA: it_textpoolt LIKE textpoolt OCCURS 0 WITH HEADER LINE,
it_listext LIKE textpoolt OCCURS 0 WITH HEADER LINE .
*----------------------------------------------------------------*
* DEFINE VARIANCE
*----------------------------------------------------------------*
DATA : BEGIN OF st_page,
lnfir LIKE sy-tabix,
loopc LIKE sy-loopc,
lnmax LIKE sy-tabix,
END OF st_page.
DATA : BEGIN OF t_exbtn OCCURS 0,
fcode(30),
END OF t_exbtn.
DATA : t_adfcd LIKE t_exbtn OCCURS 0 WITH HEADER LINE.
DATA : wcur_field(30),
wcur_line LIKE sy-tabix,
wcur_table(10),
wcur_tab(20),
wcur_line1 LIKE sy-tabix,
wcur_line2 LIKE sy-tabix,
w_ans(1).
LOAD-OF-PROGRAM.
FIELD-SYMBOLS <lf> TYPE ANY.
DATA: l_listext(8).
IF it_textpoolt[] IS INITIAL.
CALL FUNCTION 'GET_REPT_FOR_VERSIONS'
EXPORTING
program =sy-cprog
r3state ='A'
TABLES
t_textpool=it_textpoolt
EXCEPTIONS
not_found=1
OTHERS =2.
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.
IF it_listext[] IS INITIAL.
CALL FUNCTION 'GET_REPT_FOR_VERSIONS'
EXPORTING
program ='ZIACONTEXTS' "'ZIFWTEXTS'
r3state ='A'
TABLES
t_textpool=it_listext
EXCEPTIONS
not_found=1
OTHERS =2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT it_listext WHERE key CP 'L*'.
CONCATENATE 'TEXTL' it_listext-key(3) INTO l_listext.
ASSIGN (l_listext) TO <lf>.
IF <lf> IS ASSIGNED.
<lf>=it_listext-entry.
ENDIF.
ENDLOOP.
ENDIF.
*----------------------------------------------------------------*
* DEFINE MARCRO
*----------------------------------------------------------------*
DEFINE delk.
loop at &1.
check &1(1)=&2.
delete &1 index sy-tabix.
endloop.
END-OF-DEFINITION.
*----------------------------------------------------------------*
* DEFINE MARCRO
*----------------------------------------------------------------*
DEFINE sorting.
split wcur_field at '-' into wcur_table wcur_tab.
sort &1 by (wcur_tab) &2.
END-OF-DEFINITION.
*----------------------------------------------------------------*
* DEFINE MARCRO
*----------------------------------------------------------------*
DEFINE sel.
loop at &1.
&1(1)=&2.
modify &1 index sy-tabix.
endloop.
END-OF-DEFINITION.
*----------------------------------------------------------------*
* MACRO POP_WIN
*----------------------------------------------------------------*
DEFINE pop_win.
perform popup_message using &1 w_ans.
case w_ans.
when '1'.
** --> Yes
perform &2.
when '2'.
** --> No
perform &3.
when 'A'.
** --> Cancel
endcase.
END-OF-DEFINITION.
*----------------------------------------------------------------*
* FORM COMMON COMMAND
*----------------------------------------------------------------*
FORM common_command TABLES p_table
USING p_ucomm p_lnfir.
CASE p_ucomm.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
* SET SCREEN 0.
* LEAVE SCREEN.
WHEN 'P+' OR 'P++' OR 'P-' OR 'P--'.
DESCRIBE TABLE p_table LINES st_page-lnmax.
PERFORM get_first_line USING p_lnfir.
PERFORM get_top_line USING p_ucomm.
PERFORM set_first_line USING p_lnfir.
WHEN 'ASDN'.
sorting p_table ascending.
WHEN 'DSCN'.
sorting p_table descending.
WHEN 'DELE'.
delk p_table 'X'.
WHEN 'SELA'.
sel p_table 'X'.
WHEN 'DSEL'.
sel p_table ''.
WHEN 'SEBL'.
IF wcur_line1=0.
wcur_line1=wcur_line.
ELSEIF wcur_line1 < wcur_line.
wcur_line2=wcur_line.
ELSEIF wcur_line1 > wcur_line.
wcur_line2=wcur_line1.
wcur_line1=wcur_line.
ENDIF.
CHECK wcur_line1 <> 0 AND wcur_line2 <> 0.
LOOP AT p_table FROM wcur_line1 TO wcur_line2.
p_table(1)='X'.
MODIFY p_table INDEX sy-tabix.
ENDLOOP.
CLEAR : wcur_line1,wcur_line2.
ENDCASE.
ENDFORM. "COMMON_COMMAND
*&------------------------------------------------------------------
*& Form GET_TOP_LINE
*&------------------------------------------------------------------
FORM get_top_line USING p_ucomm.
CALL FUNCTION 'FI_CUST_SCROLL'
EXPORTING
i_input=0
i_lnfir=st_page-lnfir
i_lnmax=st_page-lnmax
i_loopc=st_page-loopc
i_okcod=p_ucomm
IMPORTING
e_lnfir=st_page-lnfir.
ENDFORM. " GET_TOP_LINE
*----------------------------------------------------------------*
* MODULE SET_CURSOR
*----------------------------------------------------------------*
MODULE set_cursor OUTPUT.
SET CURSOR FIELD wcur_field LINE wcur_line.
ENDMODULE. "SET_CURSOR OUTPUT
*----------------------------------------------------------------*
* MODULE GET_CURSOR
*----------------------------------------------------------------*
MODULE get_cursor INPUT.
GET CURSOR FIELD wcur_field LINE wcur_line.
ENDMODULE. "GET_CURSOR INPUT
*----------------------------------------------------------------*
* FORM GET_FIRST_LINE
*----------------------------------------------------------------*
FORM get_first_line USING p_lnfir.
IF sy-ucomm='P+' OR sy-ucomm='P++' OR sy-ucomm='P-' OR
sy-ucomm='P--'.
MOVE p_lnfir TO st_page-lnfir.
ENDIF.
ENDFORM. "GET_FIRST_LINE
*----------------------------------------------------------------*
* FORM SET_FIRST_LINE
*----------------------------------------------------------------*
FORM set_first_line USING p_lnfir.
IF sy-ucomm='P+' OR sy-ucomm='P++' OR sy-ucomm='P-' OR
sy-ucomm='P--'.
MOVE st_page-lnfir TO p_lnfir.
ENDIF.
ENDFORM. "SET_FIRST_LINE
*----------------------------------------------------------------*
* FORM POPUP_MESSAGE
*----------------------------------------------------------------*
FORM popup_message USING p_msg p_ans.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
* TITLEBAR =' '
* DIAGNOSE_OBJECT =' '
text_question =p_msg
text_button_1 ='Yes'
* ICON_BUTTON_1 =' '
text_button_2 ='No'
* ICON_BUTTON_2 =' '
default_button ='3'
display_cancel_button ='X'
* USERDEFINED_F1_HELP =' '
* START_COLUMN =25
* START_ROW =6
* POPUP_TYPE =
IMPORTING
answer =p_ans
* TABLES
* PARAMETER =
EXCEPTIONS
text_not_found =1
OTHERS =2
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. "POPUP_MESSAGE
*----------------------------------------------------------------*
* FORM INCLUDE_FCODE
*----------------------------------------------------------------*
FORM include_fcode USING p_fcode.
LOOP AT t_exbtn WHERE fcode=p_fcode.
DELETE t_exbtn INDEX sy-tabix.
ENDLOOP.
ENDFORM. "INCLUDE_FCODE
*----------------------------------------------------------------*
* FORM APPEND_FCODE
*----------------------------------------------------------------*
FORM append_fcode USING p_fcode.
MOVE p_fcode TO t_exbtn-fcode.
APPEND t_exbtn.
ENDFORM. "APPEND_FCODE
*&---------------------------------------------------------------------*
*& Form DISPLAY_FCODE
*&---------------------------------------------------------------------*
FORM display_fcode USING p_fcode.
LOOP AT t_exbtn WHERE fcode=p_fcode.
DELETE t_exbtn INDEX sy-tabix.
ENDLOOP.
ENDFORM. " DISPLAY_FCODE
*&---------------------------------------------------------------------*
*& Form EXCHANGE_RATE_CONVERT
*&---------------------------------------------------------------------*
FORM exchange_rate_convert USING p_f_waers
p_l_waers
p_budat
* p_kursf
p_f_wrbtr
p_l_wrbtr.
DATA: l_kursf LIKE bkpf-kursf,
l_fe_factor TYPE p DECIMALS 3,
l_le_factor TYPE p DECIMALS 3,
l_fw_factor TYPE p DECIMALS 3,
l_lw_factor TYPE p DECIMALS 3.
CALL FUNCTION 'CURRENCY_CONVERTING_FACTOR'
EXPORTING
currency =p_f_waers
IMPORTING
factor =l_fw_factor
EXCEPTIONS
too_many_decimals=1
OTHERS =2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'CURRENCY_CONVERTING_FACTOR'
EXPORTING
currency =p_l_waers
IMPORTING
factor =l_lw_factor
EXCEPTIONS
too_many_decimals=1
OTHERS =2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'READ_EXCHANGE_RATE'
EXPORTING
client =sy-mandt
date =p_budat
foreign_currency=p_f_waers
local_currency =p_l_waers
type_of_rate ='M'
IMPORTING
exchange_rate =l_kursf
foreign_factor =l_fe_factor
local_factor =l_le_factor
EXCEPTIONS
no_rate_found =1
no_factors_found=2
no_spread_found=3
derived_2_times=4
overflow =5
zero_rate =6
OTHERS =7.
IF sy-subrc <> 0.
EXIT.
ENDIF.
IF l_kursf < 0.
MULTIPLY l_kursf BY -1.
p_l_wrbtr=p_f_wrbtr * l_fw_factor / l_kursf / l_fe_factor
* l_le_factor / l_lw_factor.
ELSE.
*-- modify by brian 02/20/2006 -->
* p_l_wrbtr=p_f_wrbtr * l_fw_factor * l_kursf / l_fe_factor
* * l_le_factor / l_lw_factor.
p_l_wrbtr=p_f_wrbtr * l_fw_factor * l_kursf / l_fe_factor
* l_le_factor." * l_lw_factor.
*-- modify by brian 02/20/2006 <--
ENDIF.
* p_kursf=l_kursf / l_fe_factor * l_le_factor.
ENDFORM. " EXCHANGE_RATE_CONVERT
*&---------------------------------------------------------------------*
*& Form REPORT_HEADER
*&---------------------------------------------------------------------*
FORM report_header USING value(p_repid)
value(p_lines)
value(p_color)
value(p_ngape).
DATA: l_index TYPE sy-index.
DATA: l_field(20).
DATA: l_ln TYPE i,
l_cp(2) TYPE c.
FIELD-SYMBOLS : <f1> TYPE c,
<f2> TYPE i.
l_ln=STRLEN( p_lines ).
DO l_ln TIMES.
l_index=sy-index - 1.
ASSIGN p_lines+l_index(1) TO <f1>.
CHECK <f1> IS ASSIGNED.
NEW-LINE.
CONCATENATE <f1> '*' INTO l_cp.
LOOP AT it_textpoolt WHERE id='I' AND key CP l_cp
AND lang=sy-langu.
IF p_ngape='X'.
CASE it_textpoolt-entry(2).
WHEN '/L'.
WRITE AT (it_textpoolt-length) it_textpoolt-entry+2
COLOR=p_color
NO-GAP
LEFT-JUSTIFIED .
WHEN '/R'.
WRITE AT (it_textpoolt-length) it_textpoolt-entry+2
COLOR=p_color
NO-GAP
RIGHT-JUSTIFIED .
WHEN OTHERS.
WRITE AT (it_textpoolt-length) it_textpoolt-entry
COLOR=p_color
NO-GAP
CENTERED.
ENDCASE.
ELSE.
CASE it_textpoolt-entry(2).
WHEN '/L'.
WRITE AT (it_textpoolt-length) it_textpoolt-entry+2
COLOR=p_color
LEFT-JUSTIFIED .
WHEN '/R'.
WRITE AT (it_textpoolt-length) it_textpoolt-entry+2
COLOR=p_color
RIGHT-JUSTIFIED .
WHEN OTHERS.
WRITE AT (it_textpoolt-length) it_textpoolt-entry
COLOR=p_color
CENTERED.
ENDCASE.
ENDIF.
ENDLOOP.
ENDDO.
IF l_ln > 1.
ULINE.
ELSE.
NEW-LINE.
LOOP AT it_textpoolt WHERE id='I' AND key CP l_cp
AND lang=sy-langu.
IF p_ngape='X'.
WRITE AT : (it_textpoolt-length) sy-uline NO-GAP.
ELSE.
WRITE AT : (it_textpoolt-length) sy-uline.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM. " REPORT_HEADER
*&---------------------------------------------------------------------*
*& Form DEFINE_LINE_TYPES
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM define_line_types USING value(p_lines).
DATA: l_index TYPE sy-index.
DATA: l_field(20) ,
l_field2(1).
DATA: l_line TYPE n,
l_ln TYPE i,
l_cp(2) TYPE c.
FIELD-SYMBOLS : <f1> TYPE c,
<f2> TYPE i.
l_ln=STRLEN( p_lines ).
DO l_ln TIMES.
CLEAR l_field2.
l_line=sy-index.
l_index=sy-index - 1.
l_field2=p_lines+l_index(1).
CHECK NOT l_field2 IS INITIAL.
ASSIGN l_field2 TO <f1>.
CONCATENATE <f1> '*' INTO l_cp.
LOOP AT it_textpoolt WHERE id='I' AND key CP l_cp
AND lang=sy-langu.
CONCATENATE 'LINE' l_line '-C' it_textpoolt-key+1(2) INTO l_field.
ASSIGN (l_field) TO <f2>.
<f2>=it_textpoolt-length.
ENDLOOP.
ENDDO.
ENDFORM. " DEFINE_LINE_TYPES
*&---------------------------------------------------------------------*
*& Form DEFINE_LINE_TYPES
*&---------------------------------------------------------------------*
FORM check_authorize USING p_bnarea p_bukrs p_actvt.
* CALL FUNCTION 'ZIEB_AUTH_CHECK'
* EXPORTING
* i_bnarea=p_bnarea
* i_bukrs=p_bukrs
* i_actvt=p_actvt
* EXCEPTIONS
* no_auth=1
* OTHERS =2.
* IF sy-subrc <> 0.
* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
* ENDIF.
ENDFORM. " define_line_types
*&---------------------------------------------------------------------*
*& Form YE_TOP_OF_PAGE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM ye_top_of_page USING bukrs title2 title3 yes no all
main from to.
DATA: flag(3),
l_date LIKE sy-datum.
CASE 'X'.
WHEN yes. flag='Y'.
WHEN no. flag='N'.
WHEN all. flag='ALL'.
ENDCASE.
* CALL FUNCTION 'ZIEB_REPORT_TITLE2'
* EXPORTING
* repid =sy-cprog
* linsz =sy-linsz
* bukrs =bukrs
* title2 =title2
* title3 =title3
* flag =flag
* main =main
* from =from
* to =to
* EXCEPTIONS
* company_or_plant_required=1
* OTHERS =2.
* IF sy-subrc <> 0.
* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
* ENDIF.
ENDFORM. " YE_TOP_OF_PAGE
*&---------------------------------------------------------------------*
*& Form YE_end_OF_page
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM ye_end_of_page .
DATA len TYPE i.
len=sy-linsz / 2 - 10.
WRITE AT: /(len) sy-uline,
(16) '<TO be Continue>',
(len) sy-uline.
ENDFORM. " YE_end_OF_page
*&---------------------------------------------------------------------*
*& Form YE_END_OF_LIST
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM ye_end_of_list .
DATA len TYPE i.
len=sy-linsz / 2 - 4.
WRITE AT: /(len) sy-uline,
(5) '<End>',
(len) sy-uline.
ENDFORM. " YE_END_OF_LIST
*&---------------------------------------------------------------------*
*& Form CONVERSION_EXIT_MATN1_INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_ITAB_MATNR text
* -->P_ITAB_MATNR text
*----------------------------------------------------------------------*
FORM conversion_exit_matn1_input USING input
CHANGING output.
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
EXPORTING
input =input
IMPORTING
output =output
EXCEPTIONS
length_error=1
OTHERS =2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " CONVERSION_EXIT_MATN1_INPUT
}}}
## Add-on Functions
### ZCREATE_TITLE
{{{#!abap
FUNCTION ZCREATE_TITLE.
*"----------------------------------------------------------------------
*"*"Local interface/
*" IMPORTING
*" REFERENCE(REPID) TYPE C DEFAULT SY-CPROG
*" REFERENCE(LINSZ) LIKE SY-LINSZ DEFAULT SY-LINSZ
*" REFERENCE(BUKRS) LIKE T001-BUKRS OPTIONAL
*" REFERENCE(WERKS) LIKE T001W-WERKS OPTIONAL
*" REFERENCE(DATE) LIKE SY-DATUM OPTIONAL
*" REFERENCE(TIME) LIKE SY-UZEIT OPTIONAL
*" REFERENCE(TITLE2) LIKE SY-TITLE OPTIONAL
*" REFERENCE(TITLE3) LIKE SY-TITLE OPTIONAL
*" EXCEPTIONS
*" COMPANY_OR_PLANT_REQUIRED
*"----------------------------------------------------------------------
DATA: l_title_len TYPE i,
l_title2_len TYPE i,
l_title3_len TYPE i.
IF bukrs IS INITIAL AND werks IS INITIAL.
RAISE company_or_plant_required.
ENDIF.
l_title_len=STRLEN( sy-title ).
l_title2_len=STRLEN( title2 ).
l_title3_len=STRLEN( title3 ).
IF repid <> w_repid
OR linsz <> w_linsz
OR bukrs <> w_bukrs
OR len-title <> l_title_len
OR len-title2 <> l_title2_len
OR len-title3 <> l_title3_len.
w_repid=repid.
w_linsz=linsz.
* If company code is blank the use plant code to get company code
IF NOT bukrs IS INITIAL.
w_bukrs=bukrs.
ELSE.
SELECT SINGLE k~bukrs INTO w_bukrs
FROM t001w AS w JOIN t001k AS k ON k~bwkey=w~bwkey
WHERE w~werks=werks.
ENDIF.
w_title2=title2.
w_title3=title3.
PERFORM prepare_global_data.
ENDIF.
*** first line
WRITE:/ 'Program Name /', repid,
AT pos-comp_name(len-comp_name) lab-comp_name,
AT pos-r_side lab-pageno,
(8) sy-pagno RIGHT-JUSTIFIED NO-GAP.
*** second line
WRITE:/ lab-date, sy-datum,
AT pos-title(len-title) sy-title,
AT pos-r_side lab-usrname, (12) sy-uname CENTERED.
** 3rd line
WRITE:/ lab-time, sy-uzeit,
AT pos-title2(len-title2) title2,
AT pos-r_side lab-tcode, (12) sy-tcode CENTERED.
** 4rd line
WRITE AT :(linsz) title3 centered.
ULINE :(linsz).
ENDFUNCTION.
}}}
## Write TOP-OF-PAGE
{{{#!abap
FIELD-SYMBOLS: <len> TYPE i,
<nam> TYPE ANY.
DATA: l_name TYPE string,
l_index TYPE string.
CALL FUNCTION 'ZCREATE_TITLE'
EXPORTING
repid =sy-cprog
linsz =sy-linsz
bukrs =c_bukrs
date =sy-datum
time =sy-uzeit
EXCEPTIONS
company_or_plant_required=1
OTHERS =2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
PERFORM report_header USING SY-REPID "REPORT ID
'H' "TEXT-T*
2 "COLOR
'' . "NO-GAP
PERFORM define_line_types USING 'H'.
LOOP AT gt_list.
WRITE AT: (line1-c01) gt_list-bstnk,
(line1-c02) gt_list-vbeln,
(line1-c03) gt_list-audat,
(line1-c04) gt_list-matnr,
(line1-c05) gt_list-arktx,
(line1-c06) gt_list-kwmeng,
(line1-c07) gt_list-werks,
(line1-c08) gt_list-lgort,
(line1-c09) gt_list-kzwi1,
(line1-c10) gt_list-vbeln_r,
(line1-c11) gt_list-audat_r,
(line1-c12) gt_list-kzwi1_r,
(line1-c13) gt_list-waerk_r,
(line1-c14) gt_list-kzwi1_rl,
(line1-c15) gt_list-rsnum,
(line1-c16) gt_list-bdter,
(line1-c17) gt_list-mblnr,
(line1-c18) gt_list-wempf,
(line1-c19) gt_list-matnr_r,
(line1-c20) gt_list-maktx_r,
(line1-c21) gt_list-bdmng_r,
(line1-c22) gt_list-exbwr,
(line1-c23) gt_list-ablad,
(line1-c24) gt_list-kostl.
CLEAR: gt_list.
NEW-LINE.
ENDLOOP.