' ).
context_node2->get_static_attributes_table( importing
table = it_partner ). if it_partner[] is NOT INITIAL.
READ TABLE it_partner INDEX 1 into wa_partner. ENDIF.
* ld_element = context_node->get_lead_selection( ). it_rows = context_node->GET_SELECTED_ELEMENTS( ).
context_node3 = wd_Context->get_Child_Node( Name = 'Z_ORDER_SEL' ). v_Index = context_node3->GET_LEAD_SELECTION_INDEX( ).
if it_rows[] is INITIAL.
lo_api_controller ?= wd_this->wd_get_api( ). CALL METHOD lo_api_controller->get_message_manager RECEIVING
message_manager = lo_message_manager.
CALL METHOD lo_message_manager->raise_error_message EXPORTING
message_text = '请选择需要打印的数据!'. endif.
SSFFLAG = ''. \设置打开标志为空
LS_CONTROL_PARAMETERS-NO_OPEN = 'X'. LS_CONTROL_PARAMETERS-NO_CLOSE = 'X'. LS_CONTROL_PARAMETERS-GETOTF = 'X'. CALL FUNCTION 'SSF_OPEN' EXPORTING
CONTROL_PARAMETERS = LS_CONTROL_PARAMETERS EXCEPTIONS
FORMATTING_ERROR = 1 INTERNAL_ERROR = 2 SEND_ERROR = 3 USER_CANCELED = 4 OTHERS = 5. IF SY-SUBRC = 0.
SSFFLAG ='X'.\设置打开标志选中 ENDIF.
LOOP AT it_rows INTO wa_rows.
CALL METHOD wa_rows->get_static_attributes IMPORTING
static_attributes = wa_selrow.
read TABLE it_order_item into wa_order_item with key NUMBER_INT = wa_selrow-number_int.
ld_index = sy-tabix. \
* get the function name for this smart form CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING
FORMNAME = 'Z_ORDER_PRINT_BC' IMPORTING
FM_NAME = LV_FUNCTION_NAME EXCEPTIONS
NO_FORM = 1 NO_FUNCTION_MODULE = 2 OTHERS = 3.
DATA:V_E_DEVTYPE TYPE RSPOPTYPE. DATA:LV_LANGU TYPE TDSPRAS. DATA:ev_is_unicode_system(1) TYPE c. LS_CONTROL_PARAMETERS-NO_DIALOG = 'X'. LS_CONTROL_PARAMETERS-GETOTF = 'X'.
ls_control_parameters-langu = '1'. ls_output_options-TDDEST = 'LP01'.
CALL FUNCTION LV_FUNCTION_NAME EXPORTING
CONTROL_PARAMETERS = LS_CONTROL_PARAMETERS OUTPUT_OPTIONS = LS_OUTPUT_OPTIONS USER_SETTINGS = ''
wa_order_item = wa_order_item wa_partner = wa_partner IMPORTING
JOB_OUTPUT_INFO = LS_JOB_OUTPUT_INFO EXCEPTIONS
FORMATTING_ERROR = 1 INTERNAL_ERROR = 2 SEND_ERROR = 3 USER_CANCELED = 4 OTHERS = 5.
ENDLOOP.
CALL FUNCTION 'SSF_CLOSE' \
IMPORTING
JOB_OUTPUT_INFO = G_SSFCRESCL EXCEPTIONS
FORMATTING_ERROR = 1 INTERNAL_ERROR = 2 SEND_ERROR = 3 OTHERS = 4. IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.
*** --------------------------------------------------------------- * *** Prepare data for output
*** --------------------------------------------------------------- * * Convert OTF to PDF
DATA lv_filename TYPE string. DATA lv_mimetype TYPE string. DATA lv_text TYPE string. data lz_pdf TYPE xstring. CALL FUNCTION 'CONVERT_OTF' EXPORTING
FORMAT = 'PDF' IMPORTING
BIN_FILESIZE = LV_BIN_FILESIZE BIN_FILE = LS_PDF TABLES
OTF = G_SSFCRESCL-OTFDATA LINES = LT_PDF_LINES EXCEPTIONS
ERR_MAX_LINEWIDTH = 1 ERR_FORMAT = 2.
IF SY-SUBRC <> 0. * RAISE otf_error. ELSE.
* fill export data
LV_PDF_STREAM = LS_PDF.
ENDIF.
lv_text = '送货标签'.
CONCATENATE lv_text '.pdf' INTO lv_filename. lv_mimetype = 'application/pdf'.
CALL METHOD cl_wd_runtime_services=>attach_file_to_response EXPORTING
i_filename = lv_filename i_content = LV_PDF_STREAM i_mime_type = lv_mimetype i_in_new_window = abap_false i_inplace = abap_false. endmethod.
到这里事件的处理就完成了。
1.4 生成WebDynpro应用程序及测试
WebDynpro程序开发完成后,需要将改程序生成WebDynpro应用程序,
生成步骤如下:
1、右击需要生成WebDynpro应用程序的WebDynpro程序,选择创建中
的“WebDynpro应用程序”,如图1.4-1:
图1.4-1
2、输入Application名和描述,然后打钩,如图1.4-2:
图1.4-2
3、根据提示保存操作,然后刷新WebDynpro程序,可以看到程序中多了
组件“WebDynpro应用程序”,双击WebDynpro应用程序“z_test1”进入属性界面,可以看到URL链接,该链接就是在浏览器中输入进行测试的链接,如图1.4-3:
图1.4-3
4、将链接输入到浏览器后,会出现登录界面,输入SAP的用户名、密码,
然后点击“登录”,如图1.4-4: