Zdemo Test
Zdemo Test
START-OF-SELECTION.
IF rb1 = 'X'.
PERFORM upload_file.
ELSE.
CALL SCREEN 9000.
LEAVE TO SCREEN 0.
ENDIF.
*
*
*
**&---------------------------------------------------------------------*
*
**& Module STATUS_9000 OUTPUT
*
**&---------------------------------------------------------------------*
*
** text
*
**----------------------------------------------------------------------*
*
MODULE status_9000 OUTPUT.
SET PF-STATUS 'STATUS9000'.
PERFORM show_pic.
IF sy-subrc <> 0.
ENDIF.
IF sy-subrc <> 0.
ENDIF.
CHECK sy-subrc = 0.
IF sy-subrc <> 0.
ENDIF.
CALL METHOD obj_picture->set_display_mode
EXPORTING
display_mode = cl_gui_picture=>display_mode_stretch
EXCEPTIONS
error = 1
OTHERS = 2.
IF sy-subrc <> 0.
ENDIF.
ENDIF.
ENDFORM. "show_pic
**&---------------------------------------------------------------------*
**& Form upload_file
**&---------------------------------------------------------------------*
**& text
**&---------------------------------------------------------------------*
**& --> p1 text
**& <-- p2 text
**&---------------------------------------------------------------------*
FORM upload_file .
DATA : ls_img TYPE zdemo_image,
lt_file TYPE filetable,
lv_rc TYPE sy-subrc,
lv_filename TYPE string,
lv_url TYPE char255,
lv_length TYPE i,
lt_data TYPE STANDARD TABLE OF x255,
lv_content TYPE xstring.
cl_gui_frontend_services=>file_open_dialog(
CHANGING
file_table = lt_file " Table Holding Selected Files
rc = lv_rc ). " Return Code, Number of Files or -1 If
Error Occurred
READ TABLE lt_file INTO DATA(ls_file) INDEX 1.
IF sy-subrc = 0.
lv_filename = ls_file-filename.
ENDIF.
cl_gui_frontend_services=>gui_upload(
EXPORTING
filename = lv_filename " Name of file
filetype = 'BIN'
IMPORTING
filelength = lv_length " File length
CHANGING
data_tab = lt_data " Transfer table for file contents
EXCEPTIONS
OTHERS = 19 ).
*--------------------------------------------------------------------*
****&---------------------------------------------------------------------*
****& Data Declaration
****&---------------------------------------------------------------------*
***DATA : lo_mime_helper TYPE REF TO cl_gbt_multirelated_service,
*** lo_bcs TYPE REF TO cl_bcs,
*** lo_doc_bcs TYPE REF TO cl_document_bcs,
*** lo_recipient TYPE REF TO if_recipient_bcs,
*** lt_soli TYPE TABLE OF soli,
*** ls_soli TYPE soli,
*** lv_status TYPE bcs_rqst.
***
****&---------------------------------------------------------------------*
****& Creation of the mail
****&---------------------------------------------------------------------*
***
***" Create the main object of the mail.
***CREATE OBJECT lo_mime_helper.
***
***" Create the mail content.-----"CLASSIC WAY"
****ls_soli-line = '<!DOCTYPE html PUBLIC �-//IETF//DTD HTML 5.0//EN">'.
****APPEND ls_soli TO lt_soli.
***
****ls_soli-line = '<HTML>'.
****APPEND ls_soli TO lt_soli.
***
****ls_soli-line = '<BODY>'.
****APPEND ls_soli TO lt_soli.
***
****ls_soli-line = 'Hi Dear,<P>Content Section!</P>'.
****APPEND ls_soli TO lt_soli.
***
****ls_soli-line = '</BODY>'.
****APPEND ls_soli TO lt_soli.
***
****ls_soli-line = '</HTML>'.
****APPEND ls_soli TO lt_soli.
***
***" Create the mail content.-----"NEW WAY"
***DATA(string) = '<!DOCTYPE html PUBLIC �-//IETF//DTD HTML 5.0//EN">'
*** && '<HTML><BODY>Hi Dear,<P>Content Section!</P></BODY></HTML>'.
***
***lt_soli = CL_DOCUMENT_BCS=>STRING_TO_SOLI( string ).
***
***" Set the HTML body of the mail
***CALL METHOD lo_mime_helper->set_main_html
*** EXPORTING
*** content = lt_soli
*** description = 'Test Email'.
***
**** Set the subject of the mail.
***lo_doc_bcs = cl_document_bcs=>create_from_multirelated(
*** i_subject = 'Subject of our email'
*** i_importance = '9' " 1~High Priority
5~Average priority 9~Low priority
*** i_multirel_service = lo_mime_helper ).
***
***lo_bcs = cl_bcs=>create_persistent( ).
***
***lo_bcs->set_document( i_document = lo_doc_bcs ).
***
**** Set the email address
***lo_recipient = cl_cam_address_bcs=>create_internet_address(
*** i_address_string = '[email protected]' ).
***
***lo_bcs->add_recipient( i_recipient = lo_recipient ).
***
**** Change the status.
***lv_status = 'N'.
***CALL METHOD lo_bcs->set_status_attributes
*** EXPORTING
*** i_requested_status = lv_status.
***
****&---------------------------------------------------------------------*
****& Send the email
****&---------------------------------------------------------------------*
***TRY.
*** lo_bcs->send( ).
*** COMMIT WORK.
***CATCH cx_bcs INTO DATA(lx_bcs).
*** ROLLBACK WORK.
***ENDTRY.
*--------------------------------------------------------------------*
**CONSTANTS:
** lc_subject TYPE so_obj_des VALUE 'Email using CL_BCS Class',
** lc_raw TYPE char03 VALUE 'RAW'.
**
**DATA:
** lv_mlrec TYPE so_obj_nam,
** lv_sent_to_all TYPE os_boolean,
** lv_email TYPE adr6-smtp_addr,
** lv_subject TYPE so_obj_des,
** lv_text TYPE bcsy_text,
** lr_send_request TYPE REF TO cl_bcs,
** lr_bcs_exception TYPE REF TO cx_bcs,
** lr_recipient TYPE REF TO if_recipient_bcs,
** lr_sender TYPE REF TO cl_sapuser_bcs,
** lr_document TYPE REF TO cl_document_bcs.
**
**
**
**TRY.
** "Create send request
** lr_send_request = cl_bcs=>create_persistent( ).
**
**
** "Email From
** lr_sender = cl_sapuser_bcs=>create( sy-uname ).
**
** "Add sender to send request
** CALL METHOD lr_send_request->set_sender
** EXPORTING
** i_sender = lr_sender.
**
**
** "Email To...
** lv_email = '[email protected]'.
** lr_recipient = cl_cam_address_bcs=>create_internet_address( lv_email ).
**
** "Add recipient to send request
** CALL METHOD lr_send_request->add_recipient
** EXPORTING
** i_recipient = lr_recipient
** i_express = 'X'.
**
**
** "Email BODY
** APPEND 'Hello world! My first ABAP email using Class CL_BCS!' TO lv_text.
** lr_document = cl_document_bcs=>create_document(
** i_type = lc_raw
** i_text = lv_text
** i_subject = lc_subject ).
**
** "Add document to send request
** CALL METHOD lr_send_request->set_document( lr_document ).
**
**
** "Send email
** CALL METHOD lr_send_request->send(
** EXPORTING
** i_with_error_screen = 'X'
** RECEIVING
** result = lv_sent_to_all ).
** IF lv_sent_to_all = 'X'.
** WRITE 'Email sent successully!'.
** ENDIF.
**
** "Commit to send email
** COMMIT WORK. "MANDATORY*
**
**
** "Exception handling
** CATCH cx_bcs INTO lr_bcs_exception.
** WRITE:
** 'Error!',
** 'Error type:',
** lr_bcs_exception->error_type.
**ENDTRY.
*--------------------------------------------------------------------*
*--------------------------------------------------------------------*
*DATA : okcode_100 TYPE sy-ucomm.
*CALL SCREEN 100.
**&---------------------------------------------------------------------*
**& Module USER_COMMAND_0100 INPUT
**&---------------------------------------------------------------------*
** text
**----------------------------------------------------------------------*
*MODULE user_command_0100 INPUT.
*
* CASE okcode_100.
* WHEN 'FCT_SHIP'.
* CALL TRANSACTION 'ZMM_GATE_SI'.
* WHEN 'FCT_WEIGH'.
** CALL TRANSACTION 'ZMM_GATE_WT'.
* SUBMIT SAPMZMM_WEIGH_PROCESS.
* WHEN OTHERS.
* ENDCASE.
*ENDMODULE.
*--------------------------------------------------------------------*
*DATA : ls_pi_i_spr TYPE pispr,
* ls_komk TYPE komk,
* ls_komp TYPE komp,
* e_komk TYPE komk,
* e_komp TYPE komp,
* lt_komv TYPE STANDARD TABLE OF komv.
*
*ls_pi_i_spr-vkorg = '1000'.
*ls_pi_i_spr-vtweg = '10' .
*ls_pi_i_spr-spart = '10' .
*ls_pi_i_spr-matnr = '000000004510000037' .
*ls_pi_i_spr-werks = '1011' .
*ls_pi_i_spr-mgame = '4.000' .
*ls_pi_i_spr-vkals = 'ZCIMFL' .
*ls_pi_i_spr-kunnr = '0000300008'.
*ls_pi_i_spr-kwaer = 'INR' .
*
*
*CALL FUNCTION 'SPR_KOMK_KOMP_FILL'
* EXPORTING
* pi_i_spr = ls_pi_i_spr
* IMPORTING
* pe_i_komk = ls_komk
* pe_i_komp = ls_komp
* EXCEPTIONS
* org_structure_not_completed = 1
* OTHERS = 2.
*IF sy-subrc <> 0.
** Implement suitable error handling here
*
*ELSE.
* ls_komk-kunwe = '0000300010' .
* ls_komk-kunre = '0000300008' .
* ls_komk-kalsm = 'ZCIMFL' .
* ls_komk-kappl = 'V' .
* ls_komk-zterm = '0001' .
* ls_komk-prsdt = sy-datum.
* ls_komk-fbuda = sy-datum.
* ls_komk-fkdat = sy-datum.
* ls_komk-erdat = sy-datum.
* ls_komk-audat = sy-datum.
* ls_komk-land1_we = ls_komk-land1.
* ls_komk-aland_werk = ls_komk-land1.
* ls_komk-vbtyp = 'C'.
* ls_komk-kokrs = '1000'.
* ls_komk-vkorgau = '1000'.
* ls_komk-auart_sd = 'ZIMF'.
* ls_komk-trtyp = 'H'.
* ls_komk-auart = 'ZIMF'.
*
*
* ls_komp-kposn = '000010'.
* ls_komp-wkreg = '08'.
* ls_komp-mglme = '4.000'.
* ls_komp-mgame = '4.000'.
* ls_komp-kmein = 'CV'.
* ls_komp-pstyv = 'TAN'.
* ls_komp-taxps = '000010'.
*
* CALL FUNCTION 'PRICING'
* EXPORTING
* calculation_type = 'B'
* comm_head_i = ls_komk
* comm_item_i = ls_komp
** PRELIMINARY = ' '
** NO_CALCULATION = ' '
** IV_NO_MESSAGE_COLLECT_LORD = ' '
* IMPORTING
* comm_head_e = e_komk
* comm_item_e = e_komp
* TABLES
* tkomv = lt_komv
** SVBAP =
** CHANGING
** REBATE_DETERMINED = ' '
* .
*
* cl_demo_output=>new(
* )->begin_section( `Net Value`
* )->write_text( CONV string( e_komp-netwr )
* )->next_section( `Tax`
* )->write_text( CONV string( e_komp-mwsbp )
* )->display( ).
*
*
*
*ENDIF.
*--------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_9000 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_9000 INPUT.
CASE sy-ucomm.
WHEN 'BACK' OR 'CANCEL' OR 'EXIT'.
LEAVE TO SCREEN 0.
WHEN 'PICK'.
GET CURSOR FIELD gv_cursor.
IF gv_cursor = 'TIMG'.
CALL SCREEN 9100 STARTING AT 1 1 ENDING AT 130 80.
ENDIF.
ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module STATUS_9100 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE status_9100 OUTPUT.
*Messages
*----------------------------------------------------------
*
* Message class: Hard coded
* File Uploaded sucessfully
----------------------------------------------------------------------------------
Extracted by Mass Download version 1.5.5 - E.G.Mellodew. 1998-2024. Sap Release 757