公告: 新浪微博开通,欢迎跟听!SAP酒吧上线, 欢迎加入!

带你进入SAP BSP系列—实战部分(3)

前面我们做了一个简单的Hello world, 仅仅包含了屏幕的输出, 其中, 我们使用了两种模式, 一种有HTMLB, 另外一种是纯HTML+ABAP.

在这节我们会简单的处理用户输入输出, 同样使用两种模式完成.

任务:

存在两个页面, 在第一个页面提供用户输入, 包含一个label, 一个输入框, 一个提交按钮. 在第二个屏幕显示用户输入结果.

由于只有两个页面, 所以我们选择静态导航.

首先, 要熟悉几个全局变量:

  • REQUEST: 接口IF_HTTP_REQUEST, 存储HTTP请求
  • RESPONSE: 接口IF_HTTP_RESPONSE, 存储HTTP响应
  • NAVIGATION: 接口IF_BSP_NAVIGATION, 存储页面导航
  • RUNTIME: 接口IF_BSP_RUNTIME, 存储运行时对象

实现如下:

  1. 使用HTML+ABAP

1) 创建一个BSP application:

SE80àBSP applicationà名称: ZBOBO_001

2) 创建两个页面, 如图:

clip_image002

clip_image004

3) 编辑start.htm àlayout

代码如下:

<%@page language="abap"%>
<html>
  <head><title>处理用户输入输出</title></head>
  <body>
请输入你的名字:
     <form action="result.htm" method="get" >
       <input type="text" name="un"/></br>
       <input type="submit" value="确定">
     </form>
  </body>
</html>

说明:

action="result.htm": 定义静态导航页面

4) 编辑result.htm

设置页面属性:

clip_image006

处理页面初始化事件, 得到HTTP请求的参数

clip_image008

Layout代码如下:

<%@page language="abap"%>
<html><body>Your input is: <%=un %></body></html>

5) 激活运行测试

clip_image010

输入一个字符串, 点确定

clip_image012

clip_image014

6) 注意上面IE地址栏的信息, 可以看到在进入result页面的时候, 时候参数传递的, 因为我们用的是GET方法, 所以参数在HTTP请求的Header中, 并显示在地址栏.如果使用POST方法, 则在地址栏不显示参数信息.

  1. 使用HTMLB+ABAP

1) 创建一个新的BSP application, 同上1à1)

2) 创建两个页面, 同上1à2)

3) 编辑start.htm, 如下:

<%@page language="abap"%>
<%@extension name="htmlb" prefix="htmlb"%>
<htmlb:content design="design2003">
  <htmlb:page title="处理用户输入输出">
    <htmlb:form>
<%–这是label,用于标识输入的标签–%>
      <htmlb:label for="input" text="请输入"/>
<%–定义输入字段–%>
      <htmlb:inputField id="input" value="<%= g_input%>" />
<%–定义按钮–%>
      <htmlb:button id="ok" text="确定" onClick="OnInputProcessing" />
    </htmlb:form>
  </htmlb:page>
</htmlb:content>

4) 编辑开始页的输入事件

clip_image016

5) 设定navigation

注意: 下面的navigation request的名字, 就是调用next_page中指定的参数的名字.

clip_image018

6) 编辑result页面

clip_image020

clip_image022

7) 最终效果如下:

clip_image024

clip_image026

相关文章列表

Leave a comment

2 Comments.

  1. 写得不错,还有继续更新吗?

    • 呵呵,有点忙,一直没有更新,再说考虑到BSP已经过时,特别是在国内已经很少应用,所以写的比较简单,我想在有空的时候会继续更新,谢谢支持.

Leave a Reply


[ Ctrl + Enter ]

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。