Skip to Content
0
Former Member
May 15, 2008 at 07:29 AM

how to attached class or function module in FD03

102 Views

Hi Guys

I want to attached CL_ATTACHMENT_LIST for retriving attachment list from fd03 please help to attached the function module in my program?

regards

Piroz

report zfir_aged_debtors no standard page heading

line-size 255.

  • Type group

type-pools:

slis. " ALV types

  • Tables

tables:

adrc, " Addresses

bsad, " Accounting: Customer secondary index (Cleared)

bsid, " Accounting: Customer secondary index (Open)

kna1, " Customer master: General data

knkk, " Customer master: Credit management

knvk. " Customer master: Contact persons

  • Types

types:

begin of ty_bsadbsid,

bukrs like bsad-bukrs, " Company code

kunnr like bsad-kunnr, " Customer

gjahr like bsad-gjahr, " Fiscal year

belnr like bsad-belnr, " Accounting document number

buzei like bsad-buzei, " Line item

budat like bsad-budat, " Posting date

bldat like bsad-bldat, " Document date

waers like bsad-waers, " Currency

xblnr like bsad-xblnr, " Reference

shkzg like bsad-shkzg, " Debit/credit indicator

dmbtr like bsad-dmbtr, " Amount

zfbdt like bsad-zfbdt, " Baseline date for due date

" calculation

zbd1t like bsad-zbd1t, " Cash discount days 1

zbd2t like bsad-zbd2t, " Cash discount days 2

zbd3t like bsad-zbd3t, " Net payment terms period

rebzg like bsad-rebzg, " Number of the invoice

rebzt like bsad-rebzt, " Follow on document type

end of ty_bsadbsid,

ty_it_bsadbsid type ty_bsadbsid occurs 0,

begin of ty_merged,

kunnr like kna1-kunnr, " Customer number

name1 like adrc-name1, " Name

city1 like adrc-city1, " City

post_code1 like adrc-post_code1, " Post code

street like adrc-street, " Street

house_num1 like adrc-house_num1, " House number

tel_number like adrc-tel_number, " Telephone number

fax_number like adrc-fax_number, " Fax number

namev like knvk-namev, " First name

namew like knvk-name1, " Last name

telf1 like knvk-telf1, " Telephone number

klimk like knkk-klimk, " Credit limit

skfor like knkk-skfor, " Total receivables

total like bsad-dmbtr, " Total amount

rast1 like bsad-dmbtr, " Amount period 1

rast2 like bsad-dmbtr, " Amount period 2

rast3 like bsad-dmbtr, " Amount period 3

rast4 like bsad-dmbtr, " Amount period 4

rast5 like bsad-dmbtr, " Amount period 5

rast6 like bsad-dmbtr, " Amount period 6

end of ty_merged,

ty_it_merged type ty_merged occurs 0.

  • Internal tables

data:

  • Internal table to store customer line items from BSAD and BSID

it_bsadbsid type ty_it_bsadbsid,

  • Internal table to store field catalog for ALV function call

it_fieldcat type slis_t_fieldcat_alv,

  • Internal table to store summarised data for report output

it_merged type ty_it_merged.

  • Structures

data:

  • Display variant structures

st_tvariant like disvariant,

st_variant like disvariant.

  • Constants

constants:

co_delim_dash type c

value '-',

co_false type c " False

value space,

co_koart_d like faede-koart " Customer account type

value 'D',

co_save_u type c " User display variant

value 'U', " saving allowed.

co_shkzg_h like bsid-shkzg " Debit/Credit indicator

value 'H', " for credit

co_shkzg_s like bsid-shkzg " Debit/Credit indicator

value 'S', " for debit

co_selected type c " Value of selected radio

value 'X', " button or checkbox

co_true type c " True

value co_selected.

  • Variables

data:

va_exit type c.

  • Selection screen definition

selection-screen: begin of block b1 with frame title text-001.

select-options:

s_kunnr for bsad-kunnr. " Customer number

parameters:

p_kkber like knkk-kkber, " Credit control area

p_pafkt like knvk-pafkt, " Contact function

p_datum like sy-datum. " Report date

selection-screen: begin of line,

comment 01(30) text-006,

position pos_low.

parameters:

rastbis1 like rfpdo1-allgrogr " Due date sorted 1

default '000',

rastbis2 like rfpdo1-allgrogr " Due date sorted 2

default '000',

rastbis3 like rfpdo1-allgrogr " Due date sorted 3

default '000',

rastbis4 like rfpdo1-allgrogr " Due date sorted 4

default '000',

rastbis5 like rfpdo1-allgrogr " Due date sorted 5

default '000'.

selection-screen: end of line.

selection-screen: end of block b1,

begin of block b2 with frame title text-002.

parameters:

p_varint like disvariant-variant. " Display variant.

selection-screen: end of block b2.

  • Initialisation

initialization.

  • Provide default periods for due date sorted list.

rastbis1 = 0.

rastbis2 = 30.

rastbis3 = 60.

rastbis4 = 90.

rastbis5 = 120.

  • Default report date to current.

p_datum = sy-datlo.

  • Default credit control area to BP01.

p_kkber = 'BP01'.

  • At selection screen on value request for

at selection-screen on value-request for p_varint.

  • Provide display variant list for this program.

call function 'REUSE_ALV_VARIANT_F4'

exporting

is_variant = st_variant

i_save = co_save_u

importing

e_exit = va_exit

es_variant = st_tvariant

exceptions

not_found = 2.

if sy-subrc eq 2.

message id sy-msgid type 'S'

number sy-msgno

with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

else.

if va_exit eq space.

st_variant = st_tvariant.

p_varint = st_tvariant-variant.

endif.

endif.

  • At selection screen

at selection-screen.

  • Load display variant.

if not p_varint is initial.

move st_variant to st_tvariant.

move p_varint to st_tvariant-variant.

call function 'REUSE_ALV_VARIANT_EXISTENCE'

exporting

i_save = co_save_u

changing

cs_variant = st_tvariant.

st_variant = st_tvariant.

else.

clear st_variant.

st_variant-report = sy-repid.

endif.

if p_kkber is initial.

  • Ensure credit control area is specified.

message e000(zgen) with 'Credit control area must be specified'.

endif.

if p_pafkt is initial.

  • Ensure contact person function is specified.

message e000(zgen) with 'Contact person function must be specified'.

endif.

  • Start of selection

start-of-selection.

  • Extract open customer items from BSID

select bukrs kunnr gjahr belnr buzei budat bldat waers xblnr shkzg

dmbtr zfbdt zbd1t zbd2t zbd3t rebzg rebzt

from bsid

into table it_bsadbsid

where kunnr in s_kunnr

and budat le p_datum.

  • Extracct cleared customer items from BSAD

select bukrs kunnr gjahr belnr buzei budat bldat waers xblnr shkzg

dmbtr zfbdt zbd1t zbd2t zbd3t rebzg rebzt

from bsad

appending table it_bsadbsid

where kunnr in s_kunnr

and budat le p_datum

and augdt ge p_datum.

  • Ensure that items were not selected twice while getting data from the

  • open and cleared items tables (Only if transaction occured during

  • report run).

sort it_bsadbsid by bukrs belnr gjahr buzei.

delete adjacent duplicates from it_bsadbsid

comparing bukrs belnr gjahr buzei.

if it_bsadbsid[] is initial.

  • No data found for selection

message s001(zgen).

exit.

endif.

  • Merge data for report output

perform merge_data tables it_bsadbsid

it_merged.

  • Build field catalog

perform build_field_catalog tables it_fieldcat.

  • Output report via ALV

perform output_report_via_alv tables it_fieldcat

it_merged.

&----


*& Form merge_data

&----


  • text

----


form merge_data tables pa_it_bsadbsid type ty_it_bsadbsid

pa_it_merged type ty_it_merged.

  • Local work areas

data:

lwa_bsadbsid type ty_bsadbsid,

lwa_merged type ty_merged.

  • Local structures

data:

lst_faede like faede.

  • Local variables

data:

lva_daysover type i,

lva_merged_tabix like sy-tabix.

loop at pa_it_bsadbsid into lwa_bsadbsid.

  • Lookup merged entry for customer

clear lwa_merged.

read table pa_it_merged into lwa_merged

with key kunnr = lwa_bsadbsid-kunnr

binary search.

lva_merged_tabix = sy-tabix.

if sy-subrc ne 0.

  • Create new merged record for customer

lwa_merged-kunnr = lwa_bsadbsid-kunnr.

  • Get customer details from KNA1

clear kna1.

select single *

from kna1

where kunnr eq lwa_bsadbsid-kunnr.

  • Get customer address details from ADRC

clear adrc.

select single *

from adrc

where addrnumber eq kna1-adrnr

and date_from le p_datum.

lwa_merged-name1 = adrc-name1.

lwa_merged-city1 = adrc-city1.

lwa_merged-post_code1 = adrc-post_code1.

lwa_merged-street = adrc-street.

lwa_merged-house_num1 = adrc-house_num1.

lwa_merged-tel_number = adrc-tel_number.

lwa_merged-fax_number = adrc-fax_number.

  • Get credit limit details from KNKK

clear knkk.

select single *

from knkk

where kunnr eq lwa_bsadbsid-kunnr

and kkber eq p_kkber.

lwa_merged-klimk = knkk-klimk.

lwa_merged-skfor = knkk-skfor.

  • Get customer contact person details from KNVK

clear knvk.

select single *

from knvk

where kunnr eq lwa_bsadbsid-kunnr

and pafkt eq p_pafkt.

lwa_merged-namev = knvk-namev.

lwa_merged-namew = knvk-name1.

lwa_merged-telf1 = knvk-telf1.

insert lwa_merged into pa_it_merged index lva_merged_tabix.

endif.

  • Interpret debit/credit indicator

case lwa_bsadbsid-shkzg.

when co_shkzg_h.

  • Credit

lwa_bsadbsid-dmbtr = 0 - lwa_bsadbsid-dmbtr.

when co_shkzg_s.

  • Debit

endcase.

  • Perform ageing

clear lst_faede.

move-corresponding lwa_bsadbsid to lst_faede.

lst_faede-koart = co_koart_d.

call function 'DETERMINE_DUE_DATE'

exporting

i_faede = lst_faede

importing

e_faede = lst_faede

exceptions

others = 1.

lva_daysover = p_datum - lst_faede-netdt.

  • Accumulate total.

add lwa_bsadbsid-dmbtr to lwa_merged-total.

if lva_daysover le rastbis1.

add lwa_bsadbsid-dmbtr to lwa_merged-rast1.

else.

if lva_daysover le rastbis2 or

rastbis3 is initial.

add lwa_bsadbsid-dmbtr to lwa_merged-rast2.

else.

if lva_daysover le rastbis3 or

rastbis4 is initial.

add lwa_bsadbsid-dmbtr to lwa_merged-rast3.

else.

if lva_daysover le rastbis4 or

rastbis5 is initial.

add lwa_bsadbsid-dmbtr to lwa_merged-rast4.

else.

if lva_daysover le rastbis5.

add lwa_bsadbsid-dmbtr to lwa_merged-rast5.

else.

add lwa_bsadbsid-dmbtr to lwa_merged-rast6.

endif.

endif.

endif.

endif.

endif.

  • Update the merged record

modify pa_it_merged from lwa_merged index lva_merged_tabix.

endloop.

endform. " merge_data

&----


*& Form build_field_catalog

&----


  • text

----


form build_field_catalog tables pa_it_fieldcat type slis_t_fieldcat_alv.

  • Local work areas

data:

lwa_fieldcat type slis_fieldcat_alv.

--


WG1K903216: Start Insert-

data: v_datum type datum,

v_mdmth type datum,

v_datxt type string,

v_noday type i.

--


WG1K903216: End Insert---

refresh pa_it_fieldcat.

clear lwa_fieldcat.

lwa_fieldcat-tabname = 'PA_IT_MERGED'.

lwa_fieldcat-fieldname = 'KUNNR'.

lwa_fieldcat-ref_tabname = 'KNA1'.

lwa_fieldcat-ref_fieldname = 'KUNNR'.

lwa_fieldcat-row_pos = '1'.

lwa_fieldcat-col_pos = '1'.

append lwa_fieldcat to pa_it_fieldcat.

clear lwa_fieldcat.

lwa_fieldcat-tabname = 'PA_IT_MERGED'.

lwa_fieldcat-fieldname = 'NAME1'.

lwa_fieldcat-ref_tabname = 'ADRC'.

lwa_fieldcat-ref_fieldname = 'NAME1'.

lwa_fieldcat-row_pos = '1'.

lwa_fieldcat-col_pos = '2'.

append lwa_fieldcat to pa_it_fieldcat.

clear lwa_fieldcat.

lwa_fieldcat-tabname = 'PA_IT_MERGED'.

lwa_fieldcat-fieldname = 'CITY1'.

lwa_fieldcat-ref_tabname = 'ADRC'.

lwa_fieldcat-ref_fieldname = 'CITY1'.

lwa_fieldcat-row_pos = '1'.

lwa_fieldcat-col_pos = '3'.

append lwa_fieldcat to pa_it_fieldcat.

clear lwa_fieldcat.

lwa_fieldcat-tabname = 'PA_IT_MERGED'.

lwa_fieldcat-fieldname = 'POST_CODE1'.

lwa_fieldcat-ref_tabname = 'ADRC'.

lwa_fieldcat-ref_fieldname = 'POST_CODE1'.

lwa_fieldcat-row_pos = '1'.

lwa_fieldcat-col_pos = '4'.

append lwa_fieldcat to pa_it_fieldcat.

clear lwa_fieldcat.

lwa_fieldcat-tabname = 'PA_IT_MERGED'.

lwa_fieldcat-fieldname = 'STREET'.

lwa_fieldcat-ref_tabname = 'ADRC'.

lwa_fieldcat-ref_fieldname = 'STREET'.

lwa_fieldcat-row_pos = '1'.

lwa_fieldcat-col_pos = '5'.

append lwa_fieldcat to pa_it_fieldcat.

clear lwa_fieldcat.

lwa_fieldcat-tabname = 'PA_IT_MERGED'.

lwa_fieldcat-fieldname = 'HOUSE_NUM1'.

lwa_fieldcat-ref_tabname = 'ADRC'.

lwa_fieldcat-ref_fieldname = 'HOUSE_NUM1'.

lwa_fieldcat-row_pos = '1'.

lwa_fieldcat-col_pos = '6'.

append lwa_fieldcat to pa_it_fieldcat.

clear lwa_fieldcat.

lwa_fieldcat-tabname = 'PA_IT_MERGED'.

lwa_fieldcat-fieldname = 'TEL_NUMBER'.

lwa_fieldcat-ref_tabname = 'ADRC'.

lwa_fieldcat-ref_fieldname = 'TEL_NUMBER'.

lwa_fieldcat-row_pos = '1'.

lwa_fieldcat-col_pos = '7'.

append lwa_fieldcat to pa_it_fieldcat.

clear lwa_fieldcat.

lwa_fieldcat-tabname = 'PA_IT_MERGED'.

lwa_fieldcat-fieldname = 'FAX_NUMBER'.

lwa_fieldcat-ref_tabname = 'ADRC'.

lwa_fieldcat-ref_fieldname = 'FAX_NUMBER'.

lwa_fieldcat-row_pos = '1'.

lwa_fieldcat-col_pos = '8'.

append lwa_fieldcat to pa_it_fieldcat.

clear lwa_fieldcat.

lwa_fieldcat-tabname = 'PA_IT_MERGED'.

lwa_fieldcat-fieldname = 'NAMEV'.

lwa_fieldcat-ref_tabname = 'KNVK'.

lwa_fieldcat-ref_fieldname = 'NAMEV'.

lwa_fieldcat-row_pos = '1'.

lwa_fieldcat-col_pos = '9'.

lwa_fieldcat-seltext_l = 'Contact first name'.

lwa_fieldcat-seltext_m = 'Contact Fname'.

lwa_fieldcat-seltext_s = 'Ctct Fname'.

lwa_fieldcat-ddictxt = 'L'.

append lwa_fieldcat to pa_it_fieldcat.

clear lwa_fieldcat.

lwa_fieldcat-tabname = 'PA_IT_MERGED'.

lwa_fieldcat-fieldname = 'NAMEW'.

lwa_fieldcat-ref_tabname = 'KNVK'.

lwa_fieldcat-ref_fieldname = 'NAME1'.

lwa_fieldcat-row_pos = '1'.

lwa_fieldcat-col_pos = '10'.

lwa_fieldcat-seltext_l = 'Contact last name'.

lwa_fieldcat-seltext_m = 'Contact Lname'.

lwa_fieldcat-seltext_s = 'Ctxt Lname'.

lwa_fieldcat-ddictxt = 'L'.

append lwa_fieldcat to pa_it_fieldcat.

clear lwa_fieldcat.

lwa_fieldcat-tabname = 'PA_IT_MERGED'.

lwa_fieldcat-fieldname = 'TELF1'.

lwa_fieldcat-ref_tabname = 'KNVK'.

lwa_fieldcat-ref_fieldname = 'TELF1'.

lwa_fieldcat-row_pos = '1'.

lwa_fieldcat-col_pos = '11'.

lwa_fieldcat-seltext_l = 'Contact phone no.'.

lwa_fieldcat-seltext_m = 'Contact phone'.

lwa_fieldcat-seltext_s = 'Ctct Phne'.

lwa_fieldcat-ddictxt = 'L'.

append lwa_fieldcat to pa_it_fieldcat.

clear lwa_fieldcat.

lwa_fieldcat-tabname = 'PA_IT_MERGED'.

lwa_fieldcat-fieldname = 'KLIMK'.

lwa_fieldcat-ref_tabname = 'KNKK'.

lwa_fieldcat-ref_fieldname = 'KLIMK'.

lwa_fieldcat-row_pos = '1'.

lwa_fieldcat-col_pos = '12'.

lwa_fieldcat-seltext_l = 'Credit limit'.

lwa_fieldcat-seltext_m = 'Credit limit'.

lwa_fieldcat-seltext_s = 'Crdt limit'.

lwa_fieldcat-ddictxt = 'L'.

append lwa_fieldcat to pa_it_fieldcat.

clear lwa_fieldcat.

lwa_fieldcat-tabname = 'PA_IT_MERGED'.

lwa_fieldcat-fieldname = 'SKFOR'.

lwa_fieldcat-ref_tabname = 'KNKK'.

lwa_fieldcat-ref_fieldname = 'SKFOR'.

lwa_fieldcat-row_pos = '1'.

lwa_fieldcat-col_pos = '13'.

lwa_fieldcat-seltext_l = 'Credit used'.

lwa_fieldcat-seltext_m = 'Credit used'.

lwa_fieldcat-seltext_s = 'Crdt used'.

lwa_fieldcat-ddictxt = 'L'.

append lwa_fieldcat to pa_it_fieldcat.

clear lwa_fieldcat.

lwa_fieldcat-tabname = 'PA_IT_MERGED'.

lwa_fieldcat-fieldname = 'TOTAL'.

lwa_fieldcat-ref_tabname = 'BSAD'.

lwa_fieldcat-ref_fieldname = 'DMBTR'.

lwa_fieldcat-row_pos = '1'.

lwa_fieldcat-col_pos = '14'.

lwa_fieldcat-seltext_l = 'Total'.

lwa_fieldcat-seltext_m = 'Total'.

lwa_fieldcat-seltext_s = 'Total'.

lwa_fieldcat-ddictxt = 'L'.

append lwa_fieldcat to pa_it_fieldcat.

clear lwa_fieldcat.

lwa_fieldcat-tabname = 'PA_IT_MERGED'.

lwa_fieldcat-fieldname = 'RAST1'.

lwa_fieldcat-ref_tabname = 'BSAD'.

lwa_fieldcat-ref_fieldname = 'DMBTR'.

lwa_fieldcat-row_pos = '1'.

lwa_fieldcat-col_pos = '15'.

--


WG1K903216: Start Delete-

  • concatenate '<'

  • rastbis2

  • into lwa_fieldcat-seltext_l

  • separated by space.

--


WG1K903216: End Delete---

--


WG1K903216: Start Insert-

clear: v_datum,

v_datxt.

v_noday = rastbis2.

  • Always use the middle of the report month as a heading reference date.

concatenate p_datum+0(6) '15' into v_mdmth.

call function 'ZWAG_DATE_CALCULATOR'

exporting i_datum = v_mdmth

i_noday = v_noday

i_oprnd = '+'

importing e_datum = v_datum

exceptions invalid_operand = 1.

call function 'ZWAG_END_MONTH'

exporting i_datum = v_datum

importing e_datum = v_datum

e_datxt = v_datxt

exceptions invalid_date = 1.

concatenate 'Due' v_datxt into lwa_fieldcat-seltext_l

separated by space.

--


WG1K903216: End Insert---

lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.

lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.

lwa_fieldcat-ddictxt = 'L'.

append lwa_fieldcat to pa_it_fieldcat.

clear lwa_fieldcat.

lwa_fieldcat-tabname = 'PA_IT_MERGED'.

lwa_fieldcat-fieldname = 'RAST2'.

lwa_fieldcat-ref_tabname = 'BSAD'.

lwa_fieldcat-ref_fieldname = 'DMBTR'.

lwa_fieldcat-row_pos = '1'.

lwa_fieldcat-col_pos = '16'.

--


WG1K903216: Start Delete-

  • concatenate rastbis1

  • rastbis2

  • into lwa_fieldcat-seltext_l

  • separated by co_delim_dash.

--


WG1K903216: End Delete---

--


WG1K903216: Start Insert-

clear: v_datum,

v_datxt.

v_noday = rastbis1.

call function 'ZWAG_DATE_CALCULATOR'

exporting i_datum = v_mdmth

i_noday = v_noday

i_oprnd = '+'

importing e_datum = v_datum

exceptions invalid_operand = 1.

call function 'ZWAG_END_MONTH'

exporting i_datum = v_datum

importing e_datum = v_datum

e_datxt = v_datxt

exceptions invalid_date = 1.

concatenate 'Due' v_datxt into lwa_fieldcat-seltext_l

separated by space.

--


WG1K903216: End Insert---

lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.

lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.

lwa_fieldcat-ddictxt = 'L'.

append lwa_fieldcat to pa_it_fieldcat.

clear lwa_fieldcat.

lwa_fieldcat-tabname = 'PA_IT_MERGED'.

lwa_fieldcat-fieldname = 'RAST3'.

lwa_fieldcat-ref_tabname = 'BSAD'.

lwa_fieldcat-ref_fieldname = 'DMBTR'.

lwa_fieldcat-row_pos = '1'.

lwa_fieldcat-col_pos = '17'.

--


WG1K903216: Start Delete-

  • concatenate rastbis2

  • rastbis3

  • into lwa_fieldcat-seltext_l

  • separated by co_delim_dash.

--


WG1K903216: End Delete---

--


WG1K903216: Start Insert-

clear: v_datum,

v_datxt.

v_noday = rastbis2.

call function 'ZWAG_DATE_CALCULATOR'

exporting i_datum = v_mdmth

i_noday = v_noday

i_oprnd = '-'

importing e_datum = v_datum

exceptions invalid_operand = 1.

call function 'ZWAG_END_MONTH'

exporting i_datum = v_datum

importing e_datum = v_datum

e_datxt = v_datxt

exceptions invalid_date = 1.

concatenate 'Due' v_datxt into lwa_fieldcat-seltext_l

separated by space.

--


WG1K903216: End Insert---

lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.

lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.

lwa_fieldcat-ddictxt = 'L'.

append lwa_fieldcat to pa_it_fieldcat.

clear lwa_fieldcat.

lwa_fieldcat-tabname = 'PA_IT_MERGED'.

lwa_fieldcat-fieldname = 'RAST4'.

lwa_fieldcat-ref_tabname = 'BSAD'.

lwa_fieldcat-ref_fieldname = 'DMBTR'.

lwa_fieldcat-row_pos = '1'.

lwa_fieldcat-col_pos = '18'.

--


WG1K903216: Start Delete-

  • concatenate rastbis3

  • rastbis4

  • into lwa_fieldcat-seltext_l

  • separated by co_delim_dash.

--


WG1K903216: End Delete---

--


WG1K903216: Start Insert-

clear: v_datum,

v_datxt.

v_noday = rastbis3.

call function 'ZWAG_DATE_CALCULATOR'

exporting i_datum = v_mdmth

i_noday = v_noday

i_oprnd = '-'

importing e_datum = v_datum

exceptions invalid_operand = 1.

call function 'ZWAG_END_MONTH'

exporting i_datum = v_datum

importing e_datum = v_datum

e_datxt = v_datxt

exceptions invalid_date = 1.

concatenate 'Due' v_datxt into lwa_fieldcat-seltext_l

separated by space.

--


WG1K903216: End Insert---

lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.

lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.

lwa_fieldcat-ddictxt = 'L'.

append lwa_fieldcat to pa_it_fieldcat.

clear lwa_fieldcat.

lwa_fieldcat-tabname = 'PA_IT_MERGED'.

lwa_fieldcat-fieldname = 'RAST5'.

lwa_fieldcat-ref_tabname = 'BSAD'.

lwa_fieldcat-ref_fieldname = 'DMBTR'.

lwa_fieldcat-row_pos = '1'.

lwa_fieldcat-col_pos = '19'.

--


WG1K903216: Start Delete-

  • concatenate rastbis4

  • rastbis5

  • into lwa_fieldcat-seltext_l

  • separated by co_delim_dash.

--


WG1K903216: End Delete---

--


WG1K903216: Start Insert-

clear: v_datum,

v_datxt.

v_noday = rastbis4.

call function 'ZWAG_DATE_CALCULATOR'

exporting i_datum = v_mdmth

i_noday = v_noday

i_oprnd = '-'

importing e_datum = v_datum

exceptions invalid_operand = 1.

call function 'ZWAG_END_MONTH'

exporting i_datum = v_datum

importing e_datum = v_datum

e_datxt = v_datxt

exceptions invalid_date = 1.

concatenate 'Due' v_datxt into lwa_fieldcat-seltext_l

separated by space.

--


WG1K903216: End Insert---

lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.

lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.

lwa_fieldcat-ddictxt = 'L'.

append lwa_fieldcat to pa_it_fieldcat.

clear lwa_fieldcat.

lwa_fieldcat-tabname = 'PA_IT_MERGED'.

lwa_fieldcat-fieldname = 'RAST6'.

lwa_fieldcat-ref_tabname = 'BSAD'.

lwa_fieldcat-ref_fieldname = 'DMBTR'.

lwa_fieldcat-row_pos = '1'.

lwa_fieldcat-col_pos = '20'.

--


WG1K903216: Start Delete-

  • concatenate '>'

  • rastbis5

  • into lwa_fieldcat-seltext_l

  • separated by space.

--


WG1K903216: End Delete---

--


WG1K903216: Start Insert-

clear: v_datum,

v_datxt.

v_noday = rastbis5.

call function 'ZWAG_DATE_CALCULATOR'

exporting i_datum = v_mdmth

i_noday = v_noday

i_oprnd = '-'

importing e_datum = v_datum

exceptions invalid_operand = 1.

call function 'ZWAG_END_MONTH'

exporting i_datum = v_datum

importing e_datum = v_datum

e_datxt = v_datxt

exceptions invalid_date = 1.

concatenate 'Due By' v_datxt into lwa_fieldcat-seltext_l

separated by space.

--


WG1K903216: End Insert---

lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.

lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.

lwa_fieldcat-ddictxt = 'L'.

append lwa_fieldcat to pa_it_fieldcat.

endform. " build_field_catalog

&----


*& Form output_report_via_alv

&----


  • text

----


form output_report_via_alv

tables pa_it_fieldcat type slis_t_fieldcat_alv

pa_it_merged type ty_it_merged.

  • Local variables

data:

lva_repid like sy-repid,

lva_formname type slis_formname.

lva_repid = sy-repid.

lva_formname = 'USER_COMMAND'.

call function 'REUSE_ALV_GRID_DISPLAY'

exporting

i_callback_program = lva_repid

i_callback_user_command = lva_formname

i_save = 'A'

is_variant = st_variant

it_fieldcat = pa_it_fieldcat[]

tables

t_outtab = pa_it_merged

exceptions

program_error = 1

others = 2.

endform. " output_report_via_alv