Anda di halaman 1dari 5

*&---------------------------------------------------------------------* *& Form zentry_zput *&---------------------------------------------------------------------* FORM zentry_zput . ***Declaration of local variables.

DATA: ls_control_param TYPE ls_composer_param TYPE ls_recipient TYPE ls_sender TYPE ls_addr_key TYPE ls_job_info TYPE ls_spoolid TYPE ls_print_data_to_read TYPE ls_dlv_delnote TYPE lv_fm_name TYPE lv_formname TYPE lv_name TYPE lv_number TYPE lv_land1 TYPE lv_telfx TYPE ***Data for email smart DATA: lv_ip_mailaddr lv_ip_type_id ls_recipient_id ls_sender_id ls_bapiaddr3 ssfctrlop, ssfcompop, swotobjid, swotobjid, addr_key, ssfcrescl, rspoid, ledlv_print_data_to_read, ledlv_delnote, rs38l_fnam, tdsfname, so_name, so_recfax, so_fx_sate , so_recfax.

form: TYPE so_name, TYPE so_escape, TYPE swotobjid, TYPE swotobjid, TYPE bapiaddr3.

"Address of a Mail Recipient "Recipient type "Structure for recvr obj ID "Structure for sender obj id "BAPI Address table

*** Internal Table Declearation DATA : lt_return TYPE STANDARD TABLE OF bapiret2. "BAPI return table *** Constants Declearation CONSTANTS: c_ip_type_id TYPE c_smartform TYPE c_mail TYPE c_fax TYPE c_telefax TYPE c_tdtitle TYPE c_x TYPE c_faxformat TYPE c_1 TYPE c_2 TYPE c_5 TYPE so_escape tdsfname tddevice so_escape tddevice tdtitle char01 char03 char01 char01 char01 VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE 'U', 'ZSMM_MMGR1', 'MAIL', 'F', 'TELEFAX', 'GOODS RECEIPT/BACKORDER LIST' , 'X', 'PS', '1', '2', '5'.

PERFORM lesen_t159p. PERFORM itcpo_fuellen. IF NOT t159p-xmehr IS INITIAL. IF mseg-weanz GT 0. anzahl = mseg-weanz. ELSE. anzahl = 1. ENDIF. ELSE. anzahl = 1. ENDIF.

PERFORM set_print_param USING ls_addr_key CHANGING ls_control_param ls_composer_param ls_recipient ls_sender retco. *** Get the Smart Form name. IF NOT tnapr-sform IS INITIAL. lv_formname = tnapr-sform. ELSE. MESSAGE e001(ssfcomposer). ENDIF. *** Determine smartform function module CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING formname = lv_formname IMPORTING fm_name = lv_fm_name EXCEPTIONS no_form = 1 no_function_module = 2 OTHERS = 3. IF sy-subrc <> 0. retco = sy-subrc. IF sy-subrc = 1. MESSAGE e001(ssfcomposer). ENDIF. IF sy-subrc = 2. MESSAGE e002(ssfcomposer). ENDIF. PERFORM protocol_update_i. ENDIF. *** If nacha eq 1, then print samrtform through Printer IF nast-nacha = c_1. *** Calling smartform CALL FUNCTION lv_fm_name " '/1BCDWB/SF00000016' EXPORTING archive_index = toa_dara archive_parameters = arc_params control_parameters = ls_control_param mail_recipient = ls_recipient mail_sender = ls_sender output_options = ls_composer_param delivery = ls_dlv_delnote is_t157e = t157e is_am07m = am07m is_mkpf = mkpf is_nast = nast is_t159p = t159p is_t001w = t001w is_t024 = t024 is_mseg = mseg EXCEPTIONS formatting_error = 1 internal_error = 2 send_error = 3

user_canceled OTHERS

= 4 = 5.

IF sy-subrc <> 0. retco = sy-subrc. PERFORM protocol_update_i. *** Get SmartForm protocoll and store it in the NAST protocoll PERFORM add_smfrm_prot. ELSE. READ TABLE ls_job_info-spoolids INTO ls_spoolid INDEX 1. IF sy-subrc IS INITIAL. EXPORT spoolid = ls_spoolid TO MEMORY ID 'KYK_SPOOLID'. ENDIF. ENDIF. ENDIF. **** commented by vijay , Because presently No logic for FAX Details **** if nacha eq 2 then print smart form through FAX * IF nast-nacha = c_2. * CLEAR : ls_composer_param , * ls_control_param, * ls_recipient , * ls_sender. **** Assign Fax details ** lv_land1 = 'IN'. ** lv_telfx = '040-44307777'. **** Receiver details * CALL FUNCTION 'CREATE_RECIPIENT_OBJ_PPF' * EXPORTING * ip_country = lv_land1 * ip_faxno = lv_telfx * ip_type_id = c_fax * IMPORTING * ep_recipient_id = ls_recipient * EXCEPTIONS * invalid_recipient = 1 * OTHERS = 2. * IF sy-subrc <> 0. * MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno * WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. * ENDIF. * **** sender details * CALL FUNCTION 'CREATE_SENDER_OBJECT_PPF' * EXPORTING * ip_sender = sy-uname * IMPORTING * ep_sender_id = ls_sender * EXCEPTIONS * invalid_sender = 1 * OTHERS = 2. * IF sy-subrc <> 0. * MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno * WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. * ENDIF. **** Populate the Output Options. * ls_composer_param-tdteleland = lv_land1. * ls_composer_param-tdtelenum = lv_telfx. * ls_composer_param-faxformat = c_faxformat. * ls_composer_param-tdtitle = c_tdtitle . * ls_control_param-device = c_telefax .

* ls_control_param-no_dialog = c_x. * **** Calling smartform * CALL FUNCTION lv_fm_name "'/1BCDWB/SF00000016' * EXPORTING * control_parameters = ls_control_param * mail_recipient = ls_recipient * mail_sender = ls_sender * output_options = ls_composer_param * delivery = ls_dlv_delnote * is_t157e = t157e * is_am07m = am07m * is_mkpf = mkpf * is_nast = nast * is_t159p = t159p * is_t001w = t001w * is_t024 = t024 * is_mseg = mseg * EXCEPTIONS * formatting_error = 1 * internal_error = 2 * send_error = 3 * user_canceled = 4 * OTHERS = 5. * * IF sy-subrc <> 0. * MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno * WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. * ENDIF. * * ENDIF. ***** commented by vijay******************* *** If nacha eq 5 then send samrt form through Mail IF nast-nacha = c_5 . CLEAR : ls_composer_param , ls_control_param, ls_recipient , ls_sender. *** To get User details CALL FUNCTION 'BAPI_USER_GET_DETAIL' EXPORTING username = sy-uname IMPORTING address = ls_bapiaddr3 TABLES return = lt_return. IF sy-subrc EQ 0. lv_name = ls_bapiaddr3-e_mail . ENDIF. *** Receiver details CALL FUNCTION 'CREATE_RECIPIENT_OBJ_PPF' EXPORTING ip_mailaddr = lv_name ip_type_id = c_ip_type_id IMPORTING ep_recipient_id = ls_recipient EXCEPTIONS invalid_recipient = 1 OTHERS = 2.

IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. *** Sender details CALL FUNCTION 'CREATE_SENDER_OBJECT_PPF' EXPORTING ip_sender = sy-uname IMPORTING ep_sender_id = ls_sender EXCEPTIONS invalid_sender = 1 OTHERS = 2. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. *** Populate the Output Options. ls_control_param-device = c_mail . ls_composer_param-tdtitle = c_tdtitle. *** Calling smart form CALL FUNCTION lv_fm_name "'/1BCDWB/SF00000016' EXPORTING control_parameters = ls_control_param mail_recipient = ls_recipient mail_sender = ls_sender output_options = ls_composer_param delivery = ls_dlv_delnote is_t157e = t157e is_am07m = am07m is_mkpf = mkpf is_nast = nast is_t159p = t159p is_t001w = t001w is_t024 = t024 is_mseg = mseg EXCEPTIONS formatting_error = 1 internal_error = 2 send_error = 3 user_canceled = 4 OTHERS = 5 . IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. ENDIF. ENDFORM.

Anda mungkin juga menyukai