ABAP-WebDynpro实例(7)

2019-04-10 10:20

图1.3.2.6-3

Button添加完毕,而Button生成的事件及其对应的处理器在“Actions”页签中进行,

后续会讲到。

到这里该练习所使用到的Layout元素就都介绍到了。

1.3.3 Attributes属性介绍

前面创建了WebDynpro程序后,Attributes页签中就会生成3个属性,并对应关联

的类型,如图1.3.3-1:

图1.3.3-1

说明:

a、WD_CONTEXT用于关联Main视图中的Context,使得数据在查询后可以显示到

Layout元素中;

b、WD_THIS用于MAIN视图内部的自关联,略;

c、WD_COMP_CONTROLLER用于管理WebDynpro程序中的控制器

COMPONENTCONTROLLER,这样才能将控制器中的Context在MAIN视图中可以引用。

1.3.4视图初始化数据处理

在前面两个页签中已经把Context(参数)和布局(Layout)元素完成了定义和绑定,

接下来就为视图进行数据初始化输出处理。操作步骤如下:

1、在视图的“Methods”页签中,找到“WDDOINIT”方法,双击进行代

码编写,如图1.3.4-1:

图1.3.4-1

2、代码如下:

method WDDOINIT . DATA:

lo_component TYPE REF TO if_wd_component, lo_context TYPE REF TO if_wd_context, lo_controller type REF TO if_wd_controller, lo_node type REF TO if_wd_context_node, lo_child TYPE REF TO if_wd_context_node,

lo_cmp_usage TYPE REF TO if_wd_component_usage, lv_guid TYPE bbp_guid,

lr_header_order TYPE BBP_PDS_SUSPO_HEADER_D, lr_items_order TYPE STANDARD TABLE OF BBP_PDS_SUSPO_ITEM_D,

ls_items_order TYPE BBP_PDS_SUSPO_ITEM_D, lr_partern TYPE TABLE OF BBP_PDS_PARTNER, node_order_h TYPE REF TO if_wd_context_node, node_order_i TYPE REF TO if_wd_context_node, node_order_p TYPE REF TO if_wd_context_node.

lo_component = wd_comp_controller->wd_get_api( ). lo_controller ?= lo_component.

CALL METHOD lo_controller->get_context RECEIVING

context = lo_context.

lo_node = lo_context->root_node.

lo_child = lo_node->get_child_node( 'Z_ORDER_GUID' ). CALL METHOD lo_child->GET_ATTRIBUTE EXPORTING

NAME = 'ORDER_GUID' IMPORTING

VALUE = lv_guid.

\通过调用函数BBP_PD_SUSPO_GETDETAIL根据lv_guid(URL)查询采购订单信息 CALL FUNCTION 'BBP_PD_SUSPO_GETDETAIL' EXPORTING

I_GUID = lv_guid IMPORTING

E_HEADER = lr_header_order * ET_ATTACH = TABLES

E_ITEM = lr_items_order E_PARTNER = lr_partern.

loop at lr_items_order INTO ls_items_order.

SHIFT ls_items_order-ordered_prod LEFT DELETING LEADING '0'. SHIFT ls_items_order-SRC_ITM_ID LEFT DELETING LEADING '0'. SHIFT ls_items_order-NUMBER_INT LEFT DELETING LEADING '0'. modify lr_items_order FROM ls_items_order. ENDLOOP.

DELETE lr_partern WHERE PARTNER_FCT <> '00000019'.

node_order_h = WD_CONTEXT->get_Child_Node( name = 'Z_ORDER_PRINT_H' ).

node_order_i = WD_CONTEXT->get_Child_Node( name = 'Z_ORDER_PRINT_I' ).

node_order_p = WD_CONTEXT->get_Child_Node( name = 'Z_ORDER_PARTNER'

).

node_order_h->BIND_STRUCTURE( lr_header_order ). node_order_i->bind_table( lr_items_order ). node_order_p->bind_table( lr_partern ). endmethod.

1.3.5Button事件处理

Layout中添加了按钮后,会在”Actions“页签中生成与之对应的“Action”(即按钮

的事件名)和“EventHandler”(事件实现功能的方法名),。下面就对前面添加的按钮进行事件处理,操作步骤如下:

1、在视图的“Actions”页签中,找到按钮对应的事件“PRINT”对应的

Handler“ONACTIONPRINT”,双击进行代码编写,如图1.3.5-1:

图1.3.5-1

2、代码如下:

method ONACTIONPRINT . DATA:

LV_FUNCTION_NAME TYPE RS38L_FNAM, LS_ARCHIVE_INDEX TYPE TOA_DARA, LS_ARCHIVE_PARAMETERS TYPE ARC_PARAMS, LT_ARCHIVE_INDEX TYPE TSFDARA, LV_PPF_SAP_OBJECT TYPE SAEANWDID, LV_PPF_AR_OBJECT TYPE SAEOBJECT, LS_CONTROL_PARAMETERS TYPE SSFCTRLOP, LS_OUTPUT_OPTIONS TYPE SSFCOMPOP, LV_MEDIUM_TYPE TYPE PPFDMETYPE, LS_MAIL_APPL_OBJ TYPE SWOTOBJID,

LS_MAIL_RECIPIENT TYPE SWOTOBJID, LS_MAIL_SENDER TYPE SWOTOBJID,

LV_USER_SETTINGS TYPE TDBOOL VALUE 'X', LS_FORM_ATTACHMENT TYPE BBPS_FORMS_OUTPUT, LT_ERROR_BID TYPE TABLE OF BBP_TR_ERROR, LV_ARCHDONE TYPE TDARCDONE, LV_ARCHIVE_COPIES TYPE TDARCCOP, LV_ARMOD TYPE SYARMOD, LV_PPF_ARMOD TYPE SYARMOD,

LS_DOCUMENT_OUTPUT_INFO TYPE SSFCRESPD, \ED

LS_JOB_OUTPUT_INFO TYPE SSFCRESCL, \ED

LS_JOB_OUTPUT_OPTIONS TYPE SSFCRESOP, LV_BIN_FILESIZE TYPE I,

LS_PDF TYPE XSTRING,

LT_PDF_LINES TYPE TABLE OF TLINE, LV_PDF_STREAM TYPE XSTRING.

data: lo_api_controller TYPE REF to if_wd_controller, lo_message_manager TYPE REF TO if_wd_message_manager. Data: context_node type ref to if_wd_context_node. Data: context_node2 type ref to if_wd_context_node, context_node3 type ref to if_wd_context_node, v_Index type i.

Data: it_order_item type STANDARD TABLE OF if_MAIN=>Element_z_order_print_i,

wa_order_item TYPE if_MAIN=>Element_z_order_print_i, wa_selrow type if_MAIN=>Element_z_order_print_i, ld_element type ref to if_wd_context_element, it_rows type WDR_CONTEXT_ELEMENT_SET, wa_rows like line of it_rows. DATA: ld_index type i.

Data: it_partner type STANDARD TABLE OF if_MAIN=>Element_z_order_partner,

wa_partner TYPE if_MAIN=>Element_z_order_partner. DATA: SSFFLAG(6) TYPE C.

DATA: G_SSFCRESCL TYPE SSFCRESCL.

context_node = wd_context->get_child_node( name = 'Z_ORDER_PRINT_I' ).

context_node->get_static_attributes_table( importing

table = it_order_item ).

context_node2 = wd_context->get_child_node( name = 'Z_ORDER_PARTNER


ABAP-WebDynpro实例(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《当代世界经济与政治》课程试卷(九)本科生期末考试必用

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: