Here you can find examples and sample programs related to ABAP Report Programs, ALV Grid/List Programs, BDC, HR ABAP, Function Modules, BAPIs, BADIs, Smartforms, SapScripts, etc.
With this tutorial you'll learn how to transform a DIR content into binary Table so it can be used for download in background or send by mail .
Hope it's will be helpfull.
*** Data Definition DATA : v_cout TYPE dms_checkout_def, v_dttrg TYPE dttrg, "Name of data carrier v_docfile TYPE dms_doc_file, v_dappl TYPE dappl, "Application v_tabix TYPE i , v_tdwa TYPE tdwa , v_phio TYPE dms_phio, v_frontend TYPE dms_frontend_data, v_exception TYPE REF TO cx_root. * ** *** Internal Table Definition DATA : t_drao TYPE STANDARD TABLE OF drao, t_kpro TYPE dms_tbl_file , t_hexa TYPE solix_tab. ** *** Constants CONSTANTS : c_hostname TYPE ntadr VALUE 'DEFAULT', "Hostname c_type TYPE typdt VALUE 'PC', "Type c_system TYPE char4 VALUE 'WN32'. "System ** *** field-symblos FIELD-SYMBOLS : TYPE LINE OF dms_tbl_file, TYPE LINE OF dms_tbl_phio .
* Check if for FID Type KPRO is used CALL FUNCTION 'CV200_DB_TDWA_SELECT' EXPORTING pf_dokar = fid-dokar IMPORTING psx_tdwa = v_tdwa EXCEPTIONS not_found = 1.
check sy-subrc eq 0.
v_cout-kpro_use = v_tdwa-kpro_use.
CASE v_tdwa-kpro_use. WHEN abap_true. * Kpro is used * retrieve FID Master Data FREE t_kpro. CALL FUNCTION 'CV120_KPRO_MASTER_DATA_GET' EXPORTING pf_dokar = fid-dokar pf_doknr = fid-doknr pf_dokvr = fid-dokvr pf_doktl = fid-doktl TABLES ptx_data = t_kpro EXCEPTIONS not_found = 1 error = 2. check sy-subrc eq 0.
v_frontend-frontend_type = 'KP'.
LOOP AT t_kpro ASSIGNING . FREE t_drao. LOOP AT -tbl_phios ASSIGNING . MOVE-CORRESPONDING TO v_phio.
FIELD-SYMBOLS : TYPE drao , TYPE x , TYPE x, TYPE solix .
** Data Definition DATA : v_filelong TYPE i , v_long TYPE i, v_longdes TYPE i .
FREE binary_table.
CHECK drao[] IS NOT INITIAL. * Conversion du document en binaire LOOP AT drao ASSIGNING . IF v_filelong IS INITIAL. v_filelong = -orln. ENDIF. ASSIGN -orblk TO . DESCRIBE FIELD LENGTH v_long IN BYTE MODE. CLEAR v_longdes.
WHILE v_long GT 0. ASSIGN +v_longdes(v_long) TO . APPEND INITIAL LINE TO binary_table ASSIGNING . ASSIGN -line TO . DESCRIBE FIELD LENGTH v_longdes IN BYTE MODE.
MOVE TO . v_filelong = v_filelong - v_longdes. v_long = v_long - v_longdes. CHECK v_filelong LE v_longdes. IF v_long NE 0. v_long = v_filelong. ENDIF. CHECK v_long LE 0. v_long = 0. ENDWHILE. ENDLOOP. Endform.
No comments:
Post a Comment