Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

how to attached class or function module in FD03

Former Member
0 Likes
667

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
565

Hi,

you can use FM to get the list of attachments.

BDS_GOS_CONNECTIONS_GET

for displaying you can use method DISPLAY of class

CL_ATTACHMENT_LIST

Regards

Shiva Kumar

2 REPLIES 2
Read only

Former Member
0 Likes
566

Hi,

you can use FM to get the list of attachments.

BDS_GOS_CONNECTIONS_GET

for displaying you can use method DISPLAY of class

CL_ATTACHMENT_LIST

Regards

Shiva Kumar

Read only

Former Member
0 Likes
565

Hi shiva

Thanks for your help,

Can you check this coding and revert me back ASAP Please.

REPORT BDS_GOS_CONNECTION.

DATA : logical_system LIKE BAPIBDS01-log_system.

CLASSNAME LIKE BAPIBDS01-CLASSNAME

OBJKEY LIKE SWOTOBJID-objkey.

PARAMETERS: pa_lo_sys BAPIBDS01-log_system,

pa_class like BPIBDS01-CLASSNAME,

pa_objkey like swotobjidobjkey.

AT SELECTION-SCREEN.

CALL FUNCTION 'BDS_GOS_CONNECTIONS_GET'

EXPORTING

bor_id = bor_id

IMPORTING

logical_sytem = pa_lo_sys.

classname = pa_class.

objkey = pa_objkey.

EXCEPTIONS

no_objects_found = 1

internal_error = 2

internal_gos_error = 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.

  • clear v_attno1.

  • i_object1-typeid = 'BUS2012'.

  • i_object1-catid = 'BO'.

  • i_object1-instid = i_yItem-docno.

  • call method cl_gos_attachment_query=>count_for_object

  • exporting

  • is_object = i_object1

  • ip_arl = space

  • receiving

  • rt_stat = i_stat1.

  • read table i_stat1 into wa_stat1 index 1.

  • if sy-subrc eq c_0.

  • move wa_stat1-counter to v_attno1.

  • endif.

CALL METHOD cl_gos_attachment_query=>count_for_object

EXPORTING

is_object = object

ip_arl = space

RECEIVING

rt_stat = lt_stat.

READ TABLE lt_stat INDEX 1 into ls_stat.

count = ls_stat-counter.

*The object has to be a concatenation of your document, like this:

CONCATENATE object-instid tab-gjahr INTO object-instid.

ELSE.

CONCATENATE tab-bukrs tab-belnr tab-gjahr INTO

object-instid.

ENDIF.