书签 分享 收藏 举报 版权申诉 / 10

类型ABAPBSP调用Webdynpro页面.docx

  • 文档编号:7179493
  • 上传时间:2023-01-21
  • 格式:DOCX
  • 页数:10
  • 大小:440.45KB

    

    

left">

    

inline" onClick ="window.open('<%= lv_url %>','送货标签和货物标签打印' ,'width=800,height= 400,resizable=yes,scrollbars=yes')">

    

    

b、代码说明:

其中,变量lv_url是新页面的URL(下一节将讲URL如何获取值);为了让新按钮与自带按钮显示在同一行,在标准按钮控件前要加html

标签:

left">

1.1.2BSP页面生成按钮元素URL

1、在BSP页面中添加生成URL代码,添加位置如图1.1.2-1:

图1.1.2-1

2、添加代码如下:

DATA:

 lv_url TYPE string,

  d_url(255) TYPE c,

  lv_app_name TYPE string,

  host TYPE string,

  port TYPE string,

  out_protocol TYPE string,

  in_parameters TYPE tihttpnvp,

  wa_params LIKE LINE OF in_parameters,

  lv_iview TYPE string,

  gf_value_old TYPE /sapsrm/char512,

  gf_clength TYPE int2.

  DATA:

  lo_window_manager TYPE REF TO if_wd_window_manager,

  lo_api_component  TYPE REF TO if_wd_component,

  lo_window         TYPE REF TO if_wd_window.

* Use the WD application created and pass a value to the parameter SC_GUID:

  wa_params-name = 'Z_ORDER_GUID'."Z_ORDER_GUID是URL参数名

  wa_params-value = ls_header_po-GUID.

  APPEND wa_params TO in_parameters.

  lv_app_name = 'Z_ORDER_BC_PRINT'."Z_ORDER_BC_PRINT是WebDynpro程序名称

  CALL METHOD cl_http_server=>if_http_server~get_location

  IMPORTING

  host         = host

  port         = port

  out_protocol = out_protocol.

  CALL METHOD cl_wd_utilities=>construct_wd_url

  EXPORTING

  application_name = lv_app_name

  in_host          = host

  in_port          = port

  in_protocol      = out_protocol

  in_parameters    = in_parameters

  namespace        = 'sap'

  IMPORTING

  out_absolute_url = lv_url."lv_url为URL值存放的位置,在上一届添加按钮元素中调用

说明:

a、URL参数名Z_ORDER_GUID:

新页面的数据关联是根据该参数(ORDER的GUID全球唯一标识)关联的;

b、WebDynpro程序名Z_ORDER_BC_PRINT:

WebDynpro中进行开发;

c、如上代码直接嵌入BSP页面的抬头部分的<%...%>中。

到这里BSP程序调用WebDynpro页面就完成了。

1.2SE80WebDynpro页面初始化数据

这一节简要介绍BSP调用的WebDynpro程序"Z_ORDER_BC_PRINT"中数据的处理。

如需了解WebDynpro的开发,请参考“ABAP-WebDynpro实例.docx”文件。

1.2.1组件COMPONENTCONTROLLER配置

1、Context-Node创建,如图1.2.1-1:

图1.2.1-1

2、Context-Attribute创建,如图1.2.1-2:

图1.2.1-2

3、Methods-WDDOINIT控制器初始化数据,如图1.2.1-3:

图1.2.1-3

说明:

a、代码如下:

method WDDOINIT .

  DATA lo_nd_z_order_guid TYPE REF TO if_wd_context_node.

  DATA lo_el_z_order_guid TYPE REF TO if_wd_context_element.

  "Element_z_order_guid由Element_和Context的名称组成

  DATA ls_z_order_guid TYPE wd_this->Element_z_order_guid.

  DATA lv_order_guid TYPE wd_this->Element_z_order_guid-order_guid.

*   navigate from  to  via lead selection

  "wdctx_z_order_guid由wdctx_和Context的名称组成

  lo_nd_z_order_guid = wd_context->get_child_node( name = wd_this->wdctx_z_order_guid ).

*   @TODO handle non existant child

*   IF lo_nd_z_asn_guid IS INITIAL.

*   ENDIF.

*   get element via lead selection

  lo_el_z_order_guid = lo_nd_z_order_guid->get_element( ).

*   @TODO handle not set lead selection

  IF lo_el_z_order_guid IS INITIAL.

  ENDIF.

*   @TODO fill attribute

*   lv_asn_guid = 1.

  lv_order_guid = cl_wd_runtime_services=>get_url_parameter( name = 'Z_ORDER_GUID' ).

*   set single attribute

  lo_el_z_order_guid->set_attribute(

    name =  `ORDER_GUID` "Context的Attribute名

    value = lv_order_guid ).

endmethod.

b、a中的代码就是获取WebDynpro程序的URL,并将URL的值赋给Context的Attribute。

1.2.2视图初始化数据处理

这里只介绍视图中初始化数据的处理,对于其他业务操作不做介绍。

1、视图初始化数据,如图1.2.2-1:

图1.2.2-1

说明:

a、代码如下:

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."获取全局Attribute'ORDER_GUID'赋给lv_guid

  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."根据URL值lv_guid查询采购订单抬头、行项目、合作伙伴的信息,供后续使用

  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.

到这里BSP调用WebDynpro程序就完成了。

配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
ABAPBSP 调用 Webdynpro 页面
提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:ABAPBSP调用Webdynpro页面.docx
链接地址:https://www.bdocx.com/doc/7179493.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2022 冰点文档网站版权所有

经营许可证编号:鄂ICP备2022015515号-1

收起
展开