0% found this document useful (0 votes)
101 views29 pages

Zfi r002 f01

This document contains the code for several ABAP forms that are used to retrieve, manage, display and summarize data. The forms accept input parameters, perform various data processing steps, and return output parameters. Key functions include getting data from different tables, performing calculations on the data, displaying data on screens, and generating subtotals and grand totals.

Uploaded by

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

Zfi r002 f01

This document contains the code for several ABAP forms that are used to retrieve, manage, display and summarize data. The forms accept input parameters, perform various data processing steps, and return output parameters. Key functions include getting data from different tables, performing calculations on the data, displaying data on screens, and generating subtotals and grand totals.

Uploaded by

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

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

*& Include ZFI_R002_F01


*&---------------------------------------------------------------------*
*& Form f_get_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_get_data .

PERFORM f_get_vf_kred.

CHECK NOT t_kred[] IS INITIAL.

PERFORM f_get_bsik.

PERFORM f_get_bsak.

*-Customer Items
CHECK p_box3 EQ 'X'.

PERFORM f_check_vendor.

CHECK NOT t_kred_cust[] IS INITIAL.

PERFORM f_get_bsid.

PERFORM f_get_bsad.

ENDFORM. " f_get_data

*&---------------------------------------------------------------------*
*& Form f_man_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_man_data .

PERFORM f_progress_msg USING text-m01.

PERFORM f_man_bsak.

PERFORM f_man_bsik.

IF p_box3 EQ 'X'.

PERFORM f_man_bsad.

PERFORM f_man_bsid.

ENDIF.

IF t_man[] IS INITIAL.
d_error = 'X'.
MESSAGE i003(aq) WITH 'No Data Found !!'.
ELSE.
SORT t_man BY ktokk lifnr.

ENDIF.

ENDFORM. " f_man_data


*&---------------------------------------------------------------------*
*& Form f_dis_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_dis_data .
DATA lt_tot LIKE t_man.
DATA ld_tabix LIKE sy-tabix.
DATA ld_ktokk TYPE i.
DATA lt_man LIKE t_man OCCURS 0 WITH HEADER LINE.

CASE sy-ucomm.
WHEN 'BACK'.
LEAVE TO TRANSACTION 'ZRFI09'.
ENDCASE.

ADD 1 TO d_display.
sy-lsind = 0.

lt_man[] = t_man[].
SORT lt_man BY ktokk.
DELETE ADJACENT DUPLICATES FROM lt_man COMPARING ktokk.
DESCRIBE TABLE lt_man LINES ld_ktokk.

PERFORM f_progress_msg USING text-d01.

CLEAR t_man.

LOOP AT t_man.
ld_tabix = sy-tabix.

ADD 1 TO d_ktokk_index.

SET LEFT SCROLL-BOUNDARY COLUMN c_left_scroll.

IF ld_ktokk EQ 1.
IF ld_tabix EQ 1.
PERFORM f_dis_on_change.
ENDIF.
ELSE.

ON CHANGE OF t_man-ktokk.

PERFORM f_dis_on_change.

ENDON.
ENDIF.

PERFORM f_dis_data_main.

AT END OF ktokk.

SUM.
PERFORM f_dis_data_subtotal.
*-----Collect Grandtotal

t_grand_tot = t_man.
CLEAR : t_grand_tot-ktokk ,t_grand_tot-lifnr,t_grand_tot-name1.
COLLECT t_grand_tot.
CLEAR t_grand_tot.

ENDAT.

ENDLOOP.

PERFORM f_dis_data_grandtotal.

CLEAR : t_grand_tot,t_grand_tot[],d_top_count.

CHECK d_display EQ 1.
CALL SCREEN 2000.

ENDFORM. " f_dis_data


*&---------------------------------------------------------------------*
*& Form f_top_OF_PAGE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_top_of_page .
DATA ld_pages(20).
DATA ld_top_count(10).
DATA ld_page(10).

sy-lsind = 0.

ADD 1 TO d_top_count.

IF d_display EQ 1.
d_pages = d_top_count.
ENDIF.

WRITE : / p_butxt,
/ 'Overdue Payments Report'.

SKIP.

IF d_display EQ 1.

WRITE : / 'As per : ', p_augdt.


ELSE.
CLEAR : ld_pages,ld_page,ld_top_count.
WRITE d_pages TO ld_page.
SHIFT ld_page LEFT DELETING LEADING space.
WRITE d_top_count TO ld_top_count.
SHIFT ld_top_count LEFT DELETING LEADING space.

CONCATENATE 'Page:' ld_top_count 'of' ld_page INTO ld_pages


SEPARATED BY space.

WRITE : / 'As per : ', p_augdt,


AT c_w_page ld_pages.

ENDIF.

WRITE : / sy-uline(c_w_max).
SKIP.

IF d_rem_rows LT 10 AND d_ktokk_index EQ 1.

ELSE.

CHECK d_top_count GT 1.
IF d_ktokk_index LT d_ktokk_rows.
* IF p_brk1 EQ 'X'.
* CHECK d_ktokk_index GT 1.
* ENDIF.

PERFORM f_header.

ENDIF.

ENDIF.

IF d_uline_f EQ 'X' AND d_uline_total_f EQ ''.


WRITE : / sy-uline(c_w_max).
ENDIF.

CLEAR d_uline_f .

ENDFORM. " f_top_OF_PAGE


*&---------------------------------------------------------------------*
*& Form f_sel_screen_bukrs
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_sel_screen_bukrs .
SELECT SINGLE butxt FROM t001
INTO p_butxt
WHERE bukrs EQ p_bukrs.
IF sy-subrc NE 0.
MESSAGE e033(zmap) WITH 'Company Code doesnt exist !'.
ENDIF.

ENDFORM. " f_sel_screen_bukrs


*&---------------------------------------------------------------------*
*& Form f_sel_screen_output
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_sel_screen_output .
DATA : restrict TYPE sscr_restrict,
optlist TYPE sscr_opt_list,
ass TYPE sscr_ass.

LOOP AT SCREEN.
IF screen-name CP '*P_BUTXT*'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.

optlist-name = 'OBJECTKEY1'.
optlist-options-eq = 'X'.
APPEND optlist TO restrict-opt_list_tab.

ass-kind = 'S'.
ass-name = 'S_BLART'.
ass-sg_main = 'I'.
ass-sg_addy = space.
ass-op_main = 'OBJECTKEY1'.
APPEND ass TO restrict-ass_tab.

CALL FUNCTION 'SELECT_OPTIONS_RESTRICT'


EXPORTING
program = sy-repid
restriction = restrict
* DB = ' '
EXCEPTIONS
too_late = 1
repeated = 2
selopt_without_options = 3
selopt_without_signs = 4
invalid_sign = 5
empty_option_list = 6
invalid_kind = 7
repeated_kind_a = 8
OTHERS = 9.

* 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. " f_sel_screen_output


*&---------------------------------------------------------------------*
*& Form f_initial
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_initial .

DATA ld_ova(5).
DATA ld_ovb(5).

*-Period
ld_ova = '0'.
ld_ovb = p_ov1.
SHIFT ld_ovb LEFT DELETING LEADING space.
CONCATENATE '0' '-' ld_ovb INTO d_ov_1 SEPARATED BY space.

CLEAR : ld_ova,ld_ovb.
d_ov11 = p_ov1 + 1.
ld_ova = d_ov11.
ld_ovb = p_ov2.
SHIFT ld_ova LEFT DELETING LEADING space.
SHIFT ld_ovb LEFT DELETING LEADING space.
CONCATENATE ld_ova '-' ld_ovb INTO d_ov_2 SEPARATED BY space.

CLEAR : ld_ova,ld_ovb.
d_ov21 = p_ov2 + 1.
ld_ova = d_ov21.
ld_ovb = p_ov3.
SHIFT ld_ova LEFT DELETING LEADING space.
SHIFT ld_ovb LEFT DELETING LEADING space.
CONCATENATE ld_ova '-' ld_ovb INTO d_ov_3 SEPARATED BY space.

CLEAR : ld_ova,ld_ovb.
d_ov31 = p_ov3 + 1.
ld_ova = d_ov31.
ld_ovb = 'Prior'.
SHIFT ld_ova LEFT DELETING LEADING space.
SHIFT ld_ovb LEFT DELETING LEADING space.
CONCATENATE ld_ova '-' ld_ovb INTO d_ov_4 SEPARATED BY space.

IF p_ov2 LE p_ov1.
d_error = 'X'.

MESSAGE i033(zmap) WITH


'Overdue II value must be greater than Overdue I!'.

ENDIF.

IF p_ov3 LE p_ov2.
d_error = 'X'.

MESSAGE i033(zmap) WITH


'Overdue III value must be greater than Overdue II!'.

ENDIF.
* CHECK p_rad2 EQ 'X'.

* d_ktokk_y = 'OTH'.
*
* d_ktokk_z = 'CUST'.

ENDFORM. " f_initial


*&---------------------------------------------------------------------*
*& Form f_dis_data_main
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_dis_data_main .

* WRITE : / sy-uline(c_w_max).
WRITE : / sy-vline,
t_man-lifnr, sy-vline,
t_man-name1, sy-vline,
t_man-dmbtr_t CURRENCY t_man-waers, sy-vline,
t_man-dmbtr CURRENCY t_man-waers, sy-vline,
t_man-dmbtr-1 CURRENCY t_man-waers, sy-vline,
t_man-dmbtr-2 CURRENCY t_man-waers, sy-vline,
t_man-dmbtr-3 CURRENCY t_man-waers, sy-vline,
t_man-dmbtr-p CURRENCY t_man-waers, sy-vline.

ENDFORM. " f_dis_data_main


*&---------------------------------------------------------------------*
*& Form f_dis_data_subtotal
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_dis_data_subtotal .

WRITE : / sy-uline(c_w_max).
d_uline_f = 'X'.
* Inserted by MRK - hardcode - Temp solution
* 23 June 09
IF t_man-bukrs = '8888'.
WRITE : / sy-vline,
16(35) 'TOTAL', sy-vline,
t_man-dmbtr_t CURRENCY 'PHP', sy-vline,
t_man-dmbtr CURRENCY 'PHP', sy-vline,
t_man-dmbtr-1 CURRENCY 'PHP', sy-vline,
t_man-dmbtr-2 CURRENCY 'PHP', sy-vline,
t_man-dmbtr-3 CURRENCY 'PHP', sy-vline,
t_man-dmbtr-p CURRENCY 'PHP', sy-vline.
ELSE.
WRITE : / sy-vline,
16(35) 'TOTAL', sy-vline,
t_man-dmbtr_t CURRENCY c_waers_idr, sy-vline,
t_man-dmbtr CURRENCY c_waers_idr, sy-vline,
t_man-dmbtr-1 CURRENCY c_waers_idr, sy-vline,
t_man-dmbtr-2 CURRENCY c_waers_idr, sy-vline,
t_man-dmbtr-3 CURRENCY c_waers_idr, sy-vline,
t_man-dmbtr-p CURRENCY c_waers_idr, sy-vline.
ENDIF.
WRITE : / sy-uline(c_w_max).
d_uline_total_f = 'X'.

ENDFORM. " f_dis_data_subtotal


*&---------------------------------------------------------------------*
*& Form f_header
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_header .
WRITE : / sy-uline(c_w_max).
WRITE : / sy-vline,
(10) '', sy-vline,
(35) '', sy-vline,
(20) '', sy-vline,
(20) '' CENTERED, sy-vline,
(89) '<-------------------- Days Overdue -------------------->'
CENTERED, sy-vline.
* (20) '' CENTERED, sy-vline.

WRITE : / sy-vline,
(10) 'Vendor', sy-vline,
(35) '', sy-vline,
(20) '', sy-vline,
(20) '' CENTERED, sy-vline NO-GAP,
(91) sy-uline CENTERED NO-GAP, sy-vline.
* (20) '' CENTERED, sy-vline.

WRITE : / sy-vline,
(10) 'Code', sy-vline,
(35) 'Vendor Name', sy-vline,
(20) 'Total Balance' CENTERED, sy-vline,
(20) 'Current' CENTERED, sy-vline,
(20) d_ov_1 CENTERED, sy-vline,
(20) d_ov_2 CENTERED, sy-vline,
(20) d_ov_3 CENTERED, sy-vline,
(20) d_ov_4 CENTERED, sy-vline.
* (20) 'Credit Limit' CENTERED, sy-vline.

WRITE : / sy-uline(c_w_max).

ENDFORM. " f_header


*&---------------------------------------------------------------------*
*& Form f_get_bsik
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_get_bsik .

PERFORM f_progress_msg USING text-g01.

IF p_box2 EQ 'X' AND p_box3 EQ ''.


* umsks not blank
PERFORM f_get_bsik_3.
ELSEIF p_box2 EQ '' AND p_box3 EQ 'X'.
* umsks blank
PERFORM f_get_bsik_2.
ELSEIF p_box2 EQ 'X' AND p_box3 EQ 'X'.
* umsks all
PERFORM f_get_bsik_1.
ENDIF.

ENDFORM. " f_get_bsik


*&---------------------------------------------------------------------*
*& Form f_get_bsak
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_get_bsak .

PERFORM f_progress_msg USING text-g02.

IF p_box2 EQ 'X' AND p_box3 EQ ''.


* umsks not blank
PERFORM f_get_bsak_3.
ELSEIF p_box2 EQ '' AND p_box3 EQ 'X'.
* umsks blank
PERFORM f_get_bsak_2.
ELSEIF p_box2 EQ 'X' AND p_box3 EQ 'X'.
* umsks all
PERFORM f_get_bsak_1.
ENDIF.
ENDFORM. " f_get_bsak

*&--------------------------------------------------------------------*
*& Form f_progress_msg
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->FU_TEXT text
*---------------------------------------------------------------------*
FORM f_progress_msg USING fu_text.

CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'


EXPORTING
text = fu_text.

ENDFORM. " f_progress_msg


*&---------------------------------------------------------------------*
*& Form f_get_bsik_1
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_get_bsik_1 .

DATA lt_kred LIKE t_kred OCCURS 0 WITH HEADER LINE.


DATA : ld_from TYPE i,
ld_to TYPE i.

ld_from = 1.
ld_to = c_max_rows.

DO.
APPEND LINES OF t_kred FROM ld_from TO ld_to TO lt_kred.
IF lt_kred[] IS INITIAL.EXIT.ENDIF.

SELECT
bukrs
lifnr
umsks
umskz
augdt
augbl
zuonr
gjahr
belnr
buzei
budat
zfbdt
zbd1t
zbd2t
zbd3t
rebzg
shkzg
dmbtr
sgtxt
FROM bsik
APPENDING TABLE t_bsik
FOR ALL ENTRIES IN lt_kred
WHERE bukrs EQ p_bukrs
AND lifnr EQ lt_kred-lifnr
AND budat LE p_augdt.

CLEAR lt_kred[].
ADD c_max_rows TO : ld_from,ld_to.

ENDDO.

ENDFORM. " f_get_bsik_1


*&---------------------------------------------------------------------*
*& Form F_GET_BSIK_2
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM F_GET_BSIK_2 .
DATA lt_kred LIKE t_kred OCCURS 0 WITH HEADER LINE.
DATA : ld_from TYPE i,
ld_to TYPE i.

ld_from = 1.
ld_to = c_max_rows.

DO.
APPEND LINES OF t_kred FROM ld_from TO ld_to TO lt_kred.
IF lt_kred[] IS INITIAL.EXIT.ENDIF.

SELECT
bukrs
lifnr
umsks
umskz
augdt
augbl
zuonr
gjahr
belnr
buzei
budat
zfbdt
zbd1t
zbd2t
zbd3t
rebzg
shkzg
dmbtr
sgtxt
FROM bsik
APPENDING TABLE t_bsik
FOR ALL ENTRIES IN lt_kred
WHERE bukrs EQ p_bukrs
AND lifnr EQ lt_kred-lifnr
AND umsks EQ space
AND budat LE p_augdt.

CLEAR lt_kred[].
ADD c_max_rows TO : ld_from,ld_to.

ENDDO.
ENDFORM. " F_GET_BSIK_2
*&---------------------------------------------------------------------*
*& Form f_get_bsik_3
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_get_bsik_3 .
DATA lt_kred LIKE t_kred OCCURS 0 WITH HEADER LINE.
DATA : ld_from TYPE i,
ld_to TYPE i.

ld_from = 1.
ld_to = c_max_rows.

DO.
APPEND LINES OF t_kred FROM ld_from TO ld_to TO lt_kred.
IF lt_kred[] IS INITIAL.EXIT.ENDIF.

SELECT
bukrs
lifnr
umsks
umskz
augdt
augbl
zuonr
gjahr
belnr
buzei
budat
zfbdt
zbd1t
zbd2t
zbd3t
rebzg
shkzg
dmbtr
sgtxt
FROM bsik
APPENDING TABLE t_bsik
FOR ALL ENTRIES IN lt_kred
WHERE bukrs EQ p_bukrs
AND lifnr EQ lt_kred-lifnr
AND umsks NE space
AND budat LE p_augdt.

CLEAR lt_kred[].
ADD c_max_rows TO : ld_from,ld_to.

ENDDO.
ENDFORM. " f_get_bsik_3
*&---------------------------------------------------------------------*
*& Form f_get_bsak_1
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_get_bsak_1 .

DATA lt_kred LIKE t_kred OCCURS 0 WITH HEADER LINE.


DATA : ld_from TYPE i,
ld_to TYPE i.

ld_from = 1.
ld_to = c_max_rows.

DO.
APPEND LINES OF t_kred FROM ld_from TO ld_to TO lt_kred.
IF lt_kred[] IS INITIAL.EXIT.ENDIF.
SELECT
bukrs
lifnr
umsks
umskz
augdt
augbl
zuonr
gjahr
belnr
buzei
budat
zfbdt
zbd1t
zbd2t
zbd3t
rebzg
shkzg
dmbtr
sgtxt
FROM bsak
APPENDING TABLE t_bsak
FOR ALL ENTRIES IN lt_kred
WHERE bukrs EQ p_bukrs
AND lifnr EQ lt_kred-lifnr
AND augdt GT p_augdt
AND budat LE p_augdt.

CLEAR lt_kred[].
ADD c_max_rows TO : ld_from,ld_to.

ENDDO.

ENDFORM. " f_get_bsak_1


*&---------------------------------------------------------------------*
*& Form f_get_bsak_2
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_get_bsak_2 .

DATA lt_kred LIKE t_kred OCCURS 0 WITH HEADER LINE.


DATA : ld_from TYPE i,
ld_to TYPE i.

ld_from = 1.
ld_to = c_max_rows.

DO.
APPEND LINES OF t_kred FROM ld_from TO ld_to TO lt_kred.
IF lt_kred[] IS INITIAL.EXIT.ENDIF.

SELECT
bukrs
lifnr
umsks
umskz
augdt
augbl
zuonr
gjahr
belnr
buzei
budat
zfbdt
zbd1t
zbd2t
zbd3t
rebzg
shkzg
dmbtr
sgtxt
FROM bsak
APPENDING TABLE t_bsak
FOR ALL ENTRIES IN lt_kred
WHERE bukrs EQ p_bukrs
AND lifnr EQ lt_kred-lifnr
AND umsks EQ space
AND augdt GT p_augdt
AND budat LE p_augdt.

CLEAR lt_kred[].
ADD c_max_rows TO : ld_from,ld_to.

ENDDO.

ENDFORM. " f_get_bsak_2


*&---------------------------------------------------------------------*
*& Form f_get_bsak_3
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_get_bsak_3 .
DATA lt_kred LIKE t_kred OCCURS 0 WITH HEADER LINE.
DATA : ld_from TYPE i,
ld_to TYPE i.

ld_from = 1.
ld_to = c_max_rows.

DO.
APPEND LINES OF t_kred FROM ld_from TO ld_to TO lt_kred.
IF lt_kred[] IS INITIAL.EXIT.ENDIF.

SELECT
bukrs
lifnr
umsks
umskz
augdt
augbl
zuonr
gjahr
belnr
buzei
budat
zfbdt
zbd1t
zbd2t
zbd3t
rebzg
shkzg
dmbtr
sgtxt
FROM bsak
APPENDING TABLE t_bsak
FOR ALL ENTRIES IN lt_kred
WHERE bukrs EQ p_bukrs
AND lifnr EQ lt_kred-lifnr
AND umsks NE space
AND augdt GT p_augdt
AND budat LE p_augdt.

CLEAR lt_kred[].
ADD c_max_rows TO : ld_from,ld_to.

ENDDO.

ENDFORM. " f_get_bsak_3


*&---------------------------------------------------------------------*
*& Form f_get_vf_kred
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_get_vf_kred .
DATA lt_kred LIKE t_kred OCCURS 0 WITH HEADER LINE.

PERFORM f_progress_msg USING text-g03.

*-Vendor Data
SELECT lifnr kunnr name1 xverr ktokk
***added by carito.sabar 17.05.2005
sortl
***end of added by carito.sabar 17.05.2005
FROM vf_kred
INTO TABLE t_kred
WHERE lifnr IN s_lifnr
AND bukrs EQ p_bukrs
AND akont IN s_akont
AND ktokk IN s_ktokk
***added by carito.sabar 17.05.2005
AND sortl IN s_sortl.
***end of added by carito.sabar 17.05.2005
IF sy-subrc NE 0.
ELSE.
SORT t_kred BY lifnr.

*-Vendor Account Group Descriptions


lt_kred[] = t_kred[].
SORT lt_kred BY ktokk.
DELETE ADJACENT DUPLICATES FROM lt_kred COMPARING ktokk.
DELETE lt_kred WHERE ktokk EQ space.

CHECK NOT lt_kred[] IS INITIAL.

SELECT * FROM t077y


INTO TABLE t_t077y
FOR ALL ENTRIES IN lt_kred
WHERE spras EQ sy-langu
AND ktokk EQ lt_kred-ktokk.

SORT t_t077y BY ktokk.

ENDIF.

ENDFORM. " f_get_vf_kred


*&---------------------------------------------------------------------*
*& Form f_get_bsid
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_get_bsid .

DATA lt_kred LIKE t_kred OCCURS 0 WITH HEADER LINE.


DATA : ld_from TYPE i,
ld_to TYPE i.

ld_from = 1.
ld_to = c_max_rows.

DO.
APPEND LINES OF t_kred_cust FROM ld_from TO ld_to TO lt_kred.
IF lt_kred[] IS INITIAL.EXIT.ENDIF.

SELECT
bukrs
kunnr
umsks
umskz
augdt
augbl
zuonr
gjahr
belnr
buzei
budat
zfbdt
zbd1t
zbd2t
zbd3t
rebzg
kkber
shkzg
dmbtr
FROM bsid
APPENDING TABLE t_bsid
FOR ALL ENTRIES IN lt_kred
WHERE bukrs EQ p_bukrs
AND kunnr EQ lt_kred-kunnr
AND budat LE p_augdt.

CLEAR : lt_kred[].
ADD c_max_rows TO : ld_from,ld_to.

ENDDO.

ENDFORM. " f_get_bsid


*&---------------------------------------------------------------------*
*& Form f_get_bsad
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_get_bsad .

DATA lt_kred LIKE t_kred OCCURS 0 WITH HEADER LINE.


DATA : ld_from TYPE i,
ld_to TYPE i.

ld_from = 1.
ld_to = c_max_rows.

DO.
APPEND LINES OF t_kred_cust FROM ld_from TO ld_to TO lt_kred.
IF lt_kred[] IS INITIAL.EXIT.ENDIF.

SELECT
bukrs
kunnr
umsks
umskz
augdt
augbl
zuonr
gjahr
belnr
buzei
budat
zfbdt
zbd1t
zbd2t
zbd3t
rebzg
kkber
shkzg
dmbtr
FROM bsad
APPENDING TABLE t_bsad
FOR ALL ENTRIES IN lt_kred
WHERE bukrs EQ p_bukrs
AND kunnr EQ lt_kred-kunnr
AND augdt GT p_augdt
AND budat LE p_augdt.

CLEAR : lt_kred[].
ADD c_max_rows TO : ld_from,ld_to.

ENDDO.

ENDFORM. " f_get_bsad


*&---------------------------------------------------------------------*
*& Form f_check_vendor
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_check_vendor .

t_kred_cust[] = t_kred[].
DELETE t_kred_cust WHERE kunnr EQ space.
DELETE t_kred_cust WHERE xverr EQ space.

SORT t_kred_cust BY kunnr.

ENDFORM. " f_check_vendor


*&---------------------------------------------------------------------*
*& Form f_free_memory
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_free_memory .

FREE : t_bsik,t_bsak,t_bsid,t_bsad,t_kred,t_kred_cust,t_grand_tot,
d_ktokk_index,d_ktokk_rows,d_top_count,d_pages,d_display.

ENDFORM. " f_free_memory


*&---------------------------------------------------------------------*
*& Form f_man_bsak
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_man_bsak .

DATA ld_ov_days LIKE rfposx-verzn.

LOOP AT t_bsak.
CLEAR : t_man, t_kred,ld_ov_days.
READ TABLE t_kred WITH KEY lifnr = t_bsak-lifnr BINARY SEARCH.

t_man-bukrs = t_bsak-bukrs.
t_man-ktokk = t_kred-ktokk.
t_man-lifnr = t_bsak-lifnr.
t_man-name1 = t_kred-name1.
***added by carito.sabar 17.05.2005
t_man-sortl = t_kred-sortl.
***end of added by carito.sabar 17.05.2005
t_man-waers = c_waers_idr.

* Inserted by MRK - hardcode - Temp solution


* 23 June 09
IF t_man-bukrs = '8888'.
t_man-waers = 'PHP'.
ENDIF.

IF t_bsak-shkzg = 'H'.
t_bsak-dmbtr = t_bsak-dmbtr * ( - 1 ).
ENDIF.

t_man-dmbtr_t = t_bsak-dmbtr.

PERFORM f_overdue USING t_bsak-zfbdt


t_bsak-zbd1t
t_bsak-zbd2t
t_bsak-zbd3t
t_bsak-shkzg
t_bsak-rebzg
c_koart_vendor
CHANGING ld_ov_days.

IF ld_ov_days BETWEEN 0 AND p_ov1.


t_man-dmbtr-1 = t_bsak-dmbtr.

ELSEIF ld_ov_days BETWEEN d_ov11 AND p_ov2.


t_man-dmbtr-2 = t_bsak-dmbtr.

ELSEIF ld_ov_days BETWEEN d_ov21 AND p_ov3.


t_man-dmbtr-3 = t_bsak-dmbtr.

ELSEIF ld_ov_days GE d_ov31.


t_man-dmbtr-p = t_bsak-dmbtr.
ELSE.
t_man-dmbtr = t_bsak-dmbtr.
ENDIF.

COLLECT t_man.

ENDLOOP.

ENDFORM. " f_man_bsak


*&---------------------------------------------------------------------*
*& Form f_man_bsik
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_man_bsik .

DATA ld_ov_days LIKE rfposx-verzn.

LOOP AT t_bsik.

CLEAR : t_man, t_kred,ld_ov_days.

READ TABLE t_kred WITH KEY lifnr = t_bsik-lifnr BINARY SEARCH.

t_man-bukrs = t_bsik-bukrs.
t_man-ktokk = t_kred-ktokk.
t_man-lifnr = t_bsik-lifnr.
t_man-name1 = t_kred-name1.
***added by carito.sabar 17.05.2005
t_man-sortl = t_kred-sortl.
***end of added by carito.sabar 17.05.2005
t_man-waers = c_waers_idr.

* Inserted by MRK - hardcode - Temp solution


* 23 June 09
IF t_man-bukrs = '8888'.
t_man-waers = 'PHP'.
ENDIF.

IF t_bsik-shkzg = 'H'.
t_bsik-dmbtr = t_bsik-dmbtr * ( - 1 ).
ENDIF.

t_man-dmbtr_t = t_bsik-dmbtr.

PERFORM f_overdue USING t_bsik-zfbdt


t_bsik-zbd1t
t_bsik-zbd2t
t_bsik-zbd3t
t_bsik-shkzg
t_bsik-rebzg
c_koart_vendor
CHANGING ld_ov_days.

IF ld_ov_days BETWEEN 0 AND p_ov1.


t_man-dmbtr-1 = t_bsik-dmbtr.

ELSEIF ld_ov_days BETWEEN d_ov11 AND p_ov2.


t_man-dmbtr-2 = t_bsik-dmbtr.

ELSEIF ld_ov_days BETWEEN d_ov21 AND p_ov3.


t_man-dmbtr-3 = t_bsik-dmbtr.

ELSEIF ld_ov_days GE d_ov31.


t_man-dmbtr-p = t_bsik-dmbtr.
ELSE.
t_man-dmbtr = t_bsik-dmbtr.
ENDIF.
COLLECT t_man.

ENDLOOP.

ENDFORM. " f_man_bsik


*&---------------------------------------------------------------------*
*& Form f_man_bsad
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_man_bsad .

DATA ld_ov_days LIKE rfposx-verzn.

LOOP AT t_bsad.
CLEAR : t_man, t_kred_cust,ld_ov_days.

READ TABLE t_kred_cust WITH KEY kunnr = t_bsad-kunnr BINARY SEARCH.

t_man-bukrs = t_bsad-bukrs.
t_man-ktokk = t_kred_cust-ktokk.
t_man-lifnr = t_kred_cust-lifnr.
t_man-name1 = t_kred_cust-name1.
***added by carito.sabar 17.05.2005
t_man-sortl = t_kred_cust-sortl.
***end of added by carito.sabar 17.05.2005
t_man-waers = c_waers_idr.

* Inserted by MRK - hardcode - Temp solution


* 23 June 09
IF t_man-bukrs = '8888'.
t_man-waers = 'PHP'.
ENDIF.

IF t_bsad-shkzg = 'H'.
t_bsad-dmbtr = t_bsad-dmbtr * ( - 1 ).
ENDIF.

t_man-dmbtr_t = t_bsad-dmbtr.

PERFORM f_overdue USING t_bsad-zfbdt


t_bsad-zbd1t
t_bsad-zbd2t
t_bsad-zbd3t
t_bsad-shkzg
t_bsad-rebzg
c_koart_customer
CHANGING ld_ov_days.

IF ld_ov_days BETWEEN 0 AND p_ov1.


t_man-dmbtr-1 = t_bsad-dmbtr.

ELSEIF ld_ov_days BETWEEN d_ov11 AND p_ov2.


t_man-dmbtr-2 = t_bsad-dmbtr.
ELSEIF ld_ov_days BETWEEN d_ov21 AND p_ov3.
t_man-dmbtr-3 = t_bsad-dmbtr.

ELSEIF ld_ov_days GE d_ov31.


t_man-dmbtr-p = t_bsad-dmbtr.
ELSE.
t_man-dmbtr = t_bsad-dmbtr.
ENDIF.

COLLECT t_man.

ENDLOOP.

ENDFORM. " f_man_bsad


*&---------------------------------------------------------------------*
*& Form f_man_bsid
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_man_bsid .

DATA ld_ov_days LIKE rfposx-verzn.

LOOP AT t_bsid.
CLEAR : t_man, t_kred_cust,ld_ov_days.

READ TABLE t_kred_cust WITH KEY kunnr = t_bsid-kunnr BINARY SEARCH.

t_man-bukrs = t_bsid-bukrs.
t_man-ktokk = t_kred_cust-ktokk.
t_man-lifnr = t_kred_cust-lifnr.
t_man-name1 = t_kred_cust-name1.
***added by carito.sabar 17.05.2005
t_man-sortl = t_kred_cust-sortl.
***end of added by carito.sabar 17.05.2005
t_man-waers = c_waers_idr.

* Inserted by MRK - hardcode - Temp solution


* 23 June 09
IF t_man-bukrs = '8888'.
t_man-waers = 'PHP'.
ENDIF.

IF t_bsid-shkzg = 'H'.
t_bsid-dmbtr = t_bsid-dmbtr * ( - 1 ).
ENDIF.

t_man-dmbtr_t = t_bsid-dmbtr.

PERFORM f_overdue USING t_bsid-zfbdt


t_bsid-zbd1t
t_bsid-zbd2t
t_bsid-zbd3t
t_bsid-shkzg
t_bsid-rebzg
c_koart_customer
CHANGING ld_ov_days.

IF ld_ov_days BETWEEN 0 AND p_ov1.


t_man-dmbtr-1 = t_bsid-dmbtr.

ELSEIF ld_ov_days BETWEEN d_ov11 AND p_ov2.


t_man-dmbtr-2 = t_bsid-dmbtr.

ELSEIF ld_ov_days BETWEEN d_ov21 AND p_ov3.


t_man-dmbtr-3 = t_bsid-dmbtr.

ELSEIF ld_ov_days GE d_ov31.


t_man-dmbtr-p = t_bsid-dmbtr.
ELSE.
t_man-dmbtr = t_bsid-dmbtr.
ENDIF.

COLLECT t_man.

ENDLOOP.

ENDFORM. " f_man_bsid


*&---------------------------------------------------------------------*
*& Form f_dis_data_grandtotal
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_dis_data_grandtotal .

SKIP.

READ TABLE t_grand_tot INDEX 1.

WRITE : / sy-uline(c_w_max).
d_uline_f = 'X'.
WRITE : / sy-vline,
16(35) 'GRANDTOTAL', sy-vline,
t_grand_tot-dmbtr_t CURRENCY t_man-waers, sy-vline,
t_grand_tot-dmbtr CURRENCY t_man-waers, sy-vline,
t_grand_tot-dmbtr-1 CURRENCY t_man-waers, sy-vline,
t_grand_tot-dmbtr-2 CURRENCY t_man-waers, sy-vline,
t_grand_tot-dmbtr-3 CURRENCY t_man-waers, sy-vline,
t_grand_tot-dmbtr-p CURRENCY t_man-waers, sy-vline.
WRITE : / sy-uline(c_w_max).
d_uline_total_f = 'X'.

ENDFORM. " f_dis_data_grandtotal


*&---------------------------------------------------------------------*
*& Form f_end_of_page
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_end_of_page .

CHECK d_uline_f = ''.

CHECK d_ktokk_index GT 0.
CHECK d_ktokk_index LE d_ktokk_rows.

WRITE : / sy-uline(c_w_max).

ENDFORM. " f_end_of_page


*&---------------------------------------------------------------------*
*& Form f_dis_data_alv
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_dis_data_alv .

DATA : ld_desc1 LIKE dd03p-scrtext_l,


ld_desc2 LIKE dd03p-scrtext_l,
ld_desc3 LIKE dd03p-scrtext_l,
ld_desc4 LIKE dd03p-scrtext_l.

PERFORM f_alv_build_print.

*-ALV Events
macro_alv_regevent 'TOP_OF_PAGE' 'F_ALV_TOP_OF_PAGE'.
* macro_alv_regevent 'TOP_OF_LIST' 'F_ALV_TOP_OF_LIST'.

PERFORM f_comment_build USING t_grid_top_of_page[].


*-ALV Catalog

"FName Reftb Refld Type Desc Out.Length Hotspot


PERFORM f_alv_catalog
USING t_alv_fieldcat 'T_MAN' :
'KTOKK' 'T077K' 'KTOKK' '' 'Vendor Group' '15' '' '' 'X',
'LIFNR' 'LFA1' 'LIFNR' '' 'Vendor Code' '10' '' '' '' ,
***added by carito.sabar 17.05.2005
'SORTL' 'LFA1' 'SORTL' '' 'Vend.Search term' '10' '' '' 'X' ,
***end of added by carito.sabar 17.05.2005
'NAME1' 'LFA1' 'NAME1' '' 'Vendor Name' '35' '' '' '' .

* CONCATENATE 'Period' d_monat-1+2 INTO ld_desc1 SEPARATED BY space.


* CONCATENATE 'Period' d_monat-2+2 INTO ld_desc2 SEPARATED BY space.
* CONCATENATE 'Period' d_monat-3+2 INTO ld_desc3 SEPARATED BY space.

ld_desc1 = d_ov_1.
ld_desc2 = d_ov_2.
ld_desc3 = d_ov_3.
ld_desc4 = d_ov_4.

PERFORM f_alv_catalog_curr
USING t_alv_fieldcat 'T_MAN' :
"field reftb reffild curr curr rjust desc lenth hotsp
'DMBTR_T' 'LFC1' 'UM01S' 'T_MAN' 'WAERS' 'R' 'X' 'Total Balance'
'21' '',
'DMBTR' 'LFC1' 'UM01S' 'T_MAN' 'WAERS' 'R' 'X' 'Current Period'
'21' '',

'DMBTR-1' 'LFC1' 'UM01S' 'T_MAN' 'WAERS' 'R' 'X' ld_desc1


'21' '',
'DMBTR-2' 'LFC1' 'UM01S' 'T_MAN' 'WAERS' 'R' 'X' ld_desc2
'21' '',
'DMBTR-3' 'LFC1' 'UM01S' 'T_MAN' 'WAERS' 'R' 'X' ld_desc3
'21' '',
'DMBTR-P' 'LFC1' 'UM01S' 'T_MAN' 'WAERS' 'R' 'X' ld_desc4
'21' ''.

*-ALV Lay Out


d_alv_layout-group_change_edit = 'X'.
" text for 1st col. in total line
d_alv_layout-subtotals_text = 'Total'.
d_alv_layout-totals_text = 'Grand Total'.
d_alv_layout-detail_popup = 'X'.

*-ALV Sort
PERFORM f_alv_sort USING :
'1' 'KTOKK' 'T_MAN' 'X' '' '*' 'X' '' '' ''.

*-ALV Display
* PERFORM f_alv_listdisplay
* TABLES t_man.

d_alv_repid = sy-repid.

IF p_rad1 EQ 'X'. "ALV GRID


PERFORM f_alv_griddisplay
TABLES t_man.
ELSEIF p_rad2 EQ 'X'.
PERFORM f_alv_listdisplay
TABLES t_man.
ENDIF.

ENDFORM. " f_dis_data_alv

*&--------------------------------------------------------------------*
*& Form f_alv_top_of_page
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM f_alv_top_of_page .

CLEAR t_t077y.
READ TABLE t_t077y WITH KEY ktokk = t_man-ktokk BINARY SEARCH.

WRITE : / 'Vendor Group : ', t_man-ktokk ,' - ', t_t077y-txt30.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'


EXPORTING
* i_logo = 'ENJOYSAP_LOGO'
it_list_commentary = t_grid_top_of_page.
ENDFORM. "f_alv_top_of_page

*&--------------------------------------------------------------------*
*& Form f_alv_top_of_list
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM f_alv_top_of_list .

WRITE : / p_butxt,
/ 'Overdue Payment Report'.

SKIP.

WRITE : / 'As per : ', p_augdt.


WRITE : / sy-uline(c_w_max).
SKIP.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'


EXPORTING
* i_logo = 'ENJOYSAP_LOGO'
it_list_commentary = t_grid_top_of_list.

ENDFORM. "f_alv_top_of_list
*&---------------------------------------------------------------------*
*& Module STATUS_2000 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_2000 OUTPUT.
* SET PF-STATUS 'xxxxxxxx'.
* SET TITLEBAR 'xxx'.
SUPPRESS DIALOG.
LEAVE TO LIST-PROCESSING.
PERFORM f_dis_data.

ENDMODULE. " STATUS_2000 OUTPUT


*&---------------------------------------------------------------------*
*& Form f_comment_build
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_GT_LIST_TOP_OF_PAGE[] text
*----------------------------------------------------------------------*
FORM f_comment_build USING lt_top_of_page TYPE
slis_t_listheader.

DATA: ls_line TYPE slis_listheader.


DATA: ld_info LIKE ls_line-info.

* LIST HEADING LINE: TYPE H


CLEAR ls_line.
ls_line-typ = 'H'.
"LS_LINE-KEY: NOT USED FOR THIS TYPE
ls_line-info = text-100.
APPEND ls_line TO lt_top_of_page.

* STATUS LINE: TYPE S


CLEAR : ls_line,ld_info.
WRITE p_augdt TO ld_info.
ls_line-typ = 'H'.
ls_line-key = ''.
ls_line-info = ''.
APPEND ls_line TO lt_top_of_page.

CLEAR : ls_line.
ls_line-typ = 'H'.
ls_line-info = text-101.
APPEND ls_line TO lt_top_of_page.

* STATUS LINE: TYPE S : As Per


CLEAR : ls_line,ld_info.
WRITE p_augdt TO ld_info.
ls_line-typ = 'S'.
ls_line-key = text-s01.
ls_line-info = ld_info.
APPEND ls_line TO lt_top_of_page.

*
* LS_LINE-KEY = TEXT-103.
* LS_LINE-INFO = TEXT-104.
* APPEND LS_LINE TO LT_TOP_OF_PAGE.
*
*
*
** ACTION LINE: TYPE A
* CLEAR LS_LINE.
* LS_LINE-TYP = 'A'.
** LS_LINE-KEY: NOT USED FOR THIS TYPE
* LS_LINE-INFO = TEXT-105.
* APPEND LS_LINE TO LT_TOP_OF_PAGE.

ENDFORM. " f_comment_build


*&---------------------------------------------------------------------*
*& Form f_dis_on_change
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_dis_on_change .

DATA lt_man LIKE t_man OCCURS 0 WITH HEADER LINE.

d_ktokk_index = 1.

lt_man[] = t_man[].
DELETE lt_man WHERE ktokk NE t_man-ktokk.
DESCRIBE TABLE lt_man LINES d_ktokk_rows.

* IF p_brk1 EQ 'X'.
* NEW-PAGE.
* ENDIF.

*-----Reserve for 10 lines


d_rem_rows = sy-linct - sy-linno.
IF d_rem_rows LT c_reserve_lines.
NEW-PAGE.
ENDIF.

SKIP 2.
CLEAR t_t077y.
READ TABLE t_t077y WITH KEY ktokk = t_man-ktokk BINARY SEARCH.
WRITE : / 'Vendor Group : ', t_t077y-txt30.
PERFORM f_header.

CLEAR d_uline_f.
CLEAR d_uline_total_f.

ENDFORM. " f_dis_on_change

*&--------------------------------------------------------------------*
*& Form f_overdue
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->FU_ZFBDT text
* -->FU_ZBD1T text
* -->FU_ZBD2T text
* -->FU_ZBD3T text
* -->FU_SHKZG text
* -->FU_REBZG text
* -->FU_KOART text
* -->FC_OV_DAYS text
*---------------------------------------------------------------------*
FORM f_overdue USING fu_zfbdt
fu_zbd1t
fu_zbd2t
fu_zbd3t
fu_shkzg
fu_rebzg
fu_koart
CHANGING fc_ov_days.
DATA ld_faedt LIKE sy-datum.

CALL FUNCTION 'NET_DUE_DATE_GET'


EXPORTING
i_zfbdt = fu_zfbdt
i_zbd1t = fu_zbd1t
i_zbd2t = fu_zbd2t
i_zbd3t = fu_zbd3t
i_shkzg = fu_shkzg
i_rebzg = fu_rebzg
i_koart = fu_koart
IMPORTING
e_faedt = ld_faedt.

CHECK sy-subrc EQ 0.

CALL FUNCTION 'ITEM_OVERDUE_DAYS'


EXPORTING
key_date = p_augdt
* PAY_DATE =
due_date = ld_faedt
* CLEAR_DATE =
IMPORTING
* over_skonto1_days =
overdue_days = fc_ov_days.

ENDFORM. "F_DUE_DATE

----------------------------------------------------------------------------------
Extracted by Mass Download version 1.4.3 - E.G.Mellodew. 1998-2017. Sap Release 750

You might also like