Академический Документы
Профессиональный Документы
Культура Документы
********************************************
* TABLES
********************************************
TABLES:usr02,
usr21,
adrp,
adr6.
********************************************
* TYPES
********************************************
TYPES:
BEGIN OF ty_final,
bname TYPE usr02-bname,
name_first TYPE adrp-name_first,
name_last TYPE adrp-name_last,
smtp_addr(60),
trdat TYPE usr02-trdat,
period TYPE i,
email_found TYPE c,
END OF ty_final,
BEGIN OF ty_final_temp,
bname(20),
name_first(40),
name_last(40),
smtp_addr(60),
trdat(15),
period(10),
email_found(1),
END OF ty_final_temp,
BEGIN OF ty_adrp,
persnumber TYPE adrp-persnumber,
name_first TYPE adrp-name_first,
name_last TYPE adrp-name_last,
END OF ty_adrp,
BEGIN OF ty_adr6,
addrnumber TYPE adr6-addrnumber,
persnumber TYPE adr6-persnumber,
smtp_addr TYPE adr6-smtp_addr,
END OF ty_adr6,
BEGIN OF ty_usr02,
bname TYPE usr02-bname,
trdat TYPE usr02-trdat,
END OF ty_usr02.
***********************************************
* INTERNAL TABLES
***********************************************
DATA:
it_final TYPE STANDARD TABLE OF ty_final,
wa_final TYPE ty_final,
it_final_temp TYPE STANDARD TABLE OF ty_final_temp,
wa_final_temp TYPE ty_final_temp,
it_adrp TYPE STANDARD TABLE OF ty_adrp,
wa_adrp TYPE ty_adrp,
it_adr6 TYPE STANDARD TABLE OF ty_adr6,
wa_adr6 TYPE ty_adr6,
it_usr02 TYPE STANDARD TABLE OF ty_usr02,
wa_usr02 TYPE ty_usr02,
it_usr21 TYPE STANDARD TABLE OF usr21,
wa_usr21 TYPE usr21.
**********************************************
* SIMPLE DATA
**********************************************
DATA:w_tab_line TYPE i,
w_subject(255).
*************************************************
* START-OF-SELECTION
*************************************************
START-OF-SELECTION.
*&------------------------------------
FORM get_user_list .
IF sy-subrc EQ 0.
wa_final-name_first = wa_adrp-name_first.
wa_final-name_last = wa_adrp-name_last.
ENDIF.
wa_final-bname = wa_usr02-bname.
wa_final-trdat = wa_usr02-trdat.
wa_final-period = sy-datum - wa_usr02-trdat.
ENDIF.
*&--------------------------------------
FORM get_mail_ids .
CLEAR it_reclist.
REFRESH it_reclist.
LOOP AT it_final INTO wa_final.
IF wa_final-email_found = 'X'.
it_reclist-receiver = wa_final-smtp_addr.
it_reclist-rec_type = 'U'.
APPEND it_reclist.
CLEAR:it_reclist,wa_final.
ENDIF.
ENDLOOP.
*&----------------------------------------
FORM send_mail .
CLEAR :doc_chng,w_subject.
CONCATENATE 'You have not logged on for 180 days for client'
sy-mandt
INTO w_subject SEPARATED BY space.
doc_chng-obj_descr = w_subject.
it_objtxt-line = w_subject.
APPEND it_objtxt.
CLEAR it_objtxt.
it_objtxt-line = text-001.
APPEND it_objtxt.
CLEAR it_objtxt.
it_objtxt-line = text-002.
APPEND it_objtxt.
CLEAR it_objtxt.
it_objtxt-line = text-003.
APPEND it_objtxt.
CLEAR it_objtxt.
CLEAR it_objpack-transf_bin.
it_objpack-head_start = 1.
it_objpack-head_num = 0.
it_objpack-body_start = 1.
it_objpack-body_num = w_tab_line.
it_objpack-doc_type = 'RAW'.
APPEND it_objpack.
CLEAR it_objpack.
FORM download_list .
CLEAR it_fieldnames.
REFRESH it_fieldnames.
CLEAR it_final_temp.
REFRESH it_final_temp.
LOOP AT it_final INTO wa_final.
wa_final_temp-bname = wa_final-bname.
wa_final_temp-name_first = wa_final-name_first.
wa_final_temp-name_last = wa_final-name_last.
wa_final_temp-smtp_addr = wa_final-smtp_addr.
wa_final_temp-trdat = wa_final-trdat.
wa_final_temp-period = wa_final-period.
wa_final_temp-email_found = wa_final-email_found.
FORM send_list_to_basis .
CLEAR w_subject.
CONCATENATE 'Please find attached document with list of users'
'not logged on for 180 days for client' sy-mandt
INTO w_subject SEPARATED BY space.
it_objtxt_basis-line = w_subject.
APPEND it_objtxt_basis.
CLEAR it_objtxt_basis.
it_objtxt_basis-line = text-004.
APPEND it_objtxt_basis.
CLEAR it_objtxt_basis.
CLEAR w_tab_line.
DESCRIBE TABLE it_objtxt_basis LINES w_tab_line.
wa_doc_chng-doc_size =
( w_tab_line - 1 ) * 255 + STRLEN( l_cline ).
CLEAR it_objpack_basis-transf_bin.
it_objpack_basis-head_start = 1.
it_objpack_basis-head_num = 0.
it_objpack_basis-body_start = 1.
it_objpack_basis-body_num = w_tab_line.
it_objpack_basis-doc_type = 'RAW'.
APPEND it_objpack_basis.
CLEAR it_objpack_basis.
LOOP AT w_path.
temp1 = w_path.
descr = w_path.
CALL FUNCTION 'STRING_REVERSE'
EXPORTING
string = descr
lang = 'E'
IMPORTING
rstring = descr.
CALL FUNCTION 'STRING_SPLIT'
EXPORTING
delimiter = '\'
string = descr
IMPORTING
head = descr
tail = temp_data.
LOOP AT it_upload.
wa_objbin_basis-line = it_upload-line.
APPEND wa_objbin_basis TO it_objbin_basis.
CLEAR wa_objbin_basis.
ENDLOOP.
it_objpack_basis-transf_bin = 'X'.
it_objpack_basis-head_start = 0.
it_objpack_basis-head_num = 0.
it_objpack_basis-body_start = lt_index.
it_objpack_basis-body_num = tab_lines.
it_objpack_basis-doc_type = doc_type.
it_objpack_basis-obj_descr = descr.
it_objpack_basis-doc_size = tab_lines * 255.
APPEND it_objpack_basis.
CLEAR it_objpack_basis.
ENDLOOP.
it_reclist_basis-receiver = ‘xyz@xyz.com’.
it_reclist_basis-rec_type = 'U'.
APPEND it_reclist_basis.
CLEAR it_reclist_basis.