Web开发不仅现在比较流行,将来也会。我来谈一下最近bsp  application项目的体会吧,属初学者,请各位多多指教。

SAP 的web开发方法有很多种,bsp只是其中一种,而bsp开发有可以分为2种模式,一种是页面带有逻辑代码的开发,另外一种就是逻辑页面分离的就是所谓的MVC.

Bsp由以下几种元素组成:page 、controller、mime object

Page又分为view,page with Flow Logic ,page Fragment

第一种方式开发web应用,用不到controller. Controller是一些类,能够处理页面逻辑的类,

第一种方式可以用到pave with Flow Logic, page Fragment ,mime object(一些图片等等)。

第二种方式我们一般用controller,view,page Fragment ,mime oject.

下面我们用第一种方式创建一个应用。

进入系统,se80  选择bsp application

创建一个page with flow logic,默认代码如下:

<%@page language="abap"%>

<%@extension name="htmlb" prefix="htmlb"%>

<htmlb:content design="design2003">

<htmlb:page title = "main ">

<htmlb:form>

<htmlb:textView     text          = "Hello World!"

design        = "EMPHASIZED" />

<htmlb:button       text          = "Press Me"

onClick       = "myClickHandler" />

</htmlb:form>

</htmlb:page>

</htmlb:content>

大家注意到,这些代码的上方有<%@extension name="htmlb" prefix="htmlb"%>

,这意味着用到了 bsp extension,这个页面可以用到很多控件,而这些控件就存在于这个extension 中,在se80里,选择 Tag-Browser选择Bsp Extensions->transportable->htmlb

这个下面就是我们可以使用的控件,我们可以拖动每一个要使用的控件到右方工作区内,如果需要某个参数,都可以通过拖动的方式来实现。

我们修改后的代码如下:

<%@page language="abap"%>

<%@extension name="htmlb" prefix="htmlb"%>

<htmlb:content design="design2003">

<htmlb:page title = "main ">

<htmlb:form>

<htmlb:inputField  id="i01"  value="USR01"/>

<htmlb:textView     text          = "Hello World!"

design        = "EMPHASIZED" />

<htmlb:button       text          = "Press Me"

onClick       = "myClickHandler" />

<htmlb:tableView id="t01" table="<%=ZTABLE%>"></htmlb:tableView>

</htmlb:form>

</htmlb:page>

</htmlb:content>

在view中的Event Handler 下有oncreate,onrequest,oninitialization,……

大家可以自己一步步测试这些event是怎么走的,我们这里只介绍Oninputprocessing,

在我们的例子中描述最简单的按钮事件。

在oninputprocessing中,写入下列代码

* event handler for checking and processing user input and

* for defining navigation

CLASS CL_HTMLB_MANAGER DEFINITION LOAD.

IF event_id = CL_HTMLB_MANAGER=>EVENT_ID.

DATA: event TYPE REF TO CL_HTMLB_EVENT.

event = CL_HTMLB_MANAGER=>get_event( runtime->server->request ).

data: i01 type ref to CL_HTMLB_INPUTFIELD.

i01 ?= CL_HTMLB_MANAGER=>get_data(

request = runtime->server->request

name = 'inputfield'

id = 'i01'  ).

IF event->name = 'button' AND event->event_type = 'click'

and event->SERVER_EVENT = 'myClickHandler'.

select * from (i01->value) into table ztable up to 10 rows.

ENDIF.

ENDIF.

我们这里需要使用CL_HTMLB_MANAGER来获得系统事件,然后获取屏幕上inputfield的值,

最后根据这个值来取相应表中的数据,展示在ie上。具体的参数,大家一调试便尽知,这里只介绍这个过程,我在学习中知道这个过程非常重要,具体怎么用,通过调试就很容易知道了。如果这个例子真正实现完全动态的类型,用page attribute肯定是不行了,这里不多做介绍,根据我以往的程序,可以找到解决办法。

结果如下
 
 

这些htmlb空间里,每个控件都有很多属性,值得我们去调试、研究,尤其对于tableview这个控件,还可以采用iterator(介绍mvc例子的时候再做介绍)等

具体的内容,如果感兴趣,真是希望大家好好读下sap online help.这个帮助我是一个字都没有落下读完。自己也测试了很多东西,由于时间比较紧,大家在做的过程中,如有问题希望给予提问,然后我来回答,这是最好的方式了。东西太多一下子说不完,因此就有空补补了。

转自:http://blog.chinaunix.net/uid-465882-id-2115964.html

bsp STEP的更多相关文章

  1. 从BSP模型到Apache Hama

    一.什么是BSP模型 概述 BSP(Bulk Synchronous Parallel,整体同步并行计算模型)是一种并行计算模型,由英国计算机科学家Viliant在上世纪80年代提出.Google发布 ...

  2. time step和采样频率的关系

    当前的采样频率为11025HZ,overlap=0.5,取的是1024个采样点为1帧.则time step为256时的时间长度为11秒.即以11秒为单位分割原始的音频,生成一张语普图. >> ...

  3. [8.1] Triple Step

    A child is running up a staircase with n steps and can hop either 1 step, 2 steps, or 3 steps at a t ...

  4. Vivado SDK 2014.2 创建新工程后,BSP版本不对的解决办法

    问题描述如下: 1. 使用Vivado SDK 2014.2已经创建了工程,但是此时,hdf文件增加了外设,需要重新创建工程以更新SDK中的外设描述: 2. 使用新的hdf创建工程后,发现system ...

  5. “安装项目” Step By Step

    目录 一 基本操作 二 定制安装对话框 三 安装程序类 四 总结 .NET程序集因为包含了元数据,所以程序集具有自描述性.多数程序自身包含了运行所需要的全部信息,这类程序集就是我们常说的“绿色软件”. ...

  6. Step by step Dynamics CRM 2011升级到Dynamics CRM 2013

    原创地址:http://www.cnblogs.com/jfzhu/p/4018153.html 转载请注明出处 (一)检查Customizations 从2011升级到2013有一些legacy f ...

  7. Step by Step 创建一个新的Dynamics CRM Organization

    原创地址:http://www.cnblogs.com/jfzhu/p/4012833.html 转载请注明出处 前面演示过如何安装Dynamics CRM 2013,参见<Step by st ...

  8. Step by step Install a Local Report Server and Remote Report Server Database

    原创地址:http://www.cnblogs.com/jfzhu/p/4012097.html 转载请注明出处 前面的文章<Step by step SQL Server 2012的安装 &g ...

  9. Step by step Dynamics CRM 2013安装

    原创地址:http://www.cnblogs.com/jfzhu/p/4008391.html 转载请注明出处   SQL Server可以与CRM装在同一台计算机上,也可安装在不同的计算机上.演示 ...

随机推荐

  1. filebeat 多行日志的处理

    配置文件位于/etc/filebeat/filebeat.yml,就是filebeat的主配置文件 打开文件,搜索multiline:,默认是注释的,常用的有如下三个配置: multiline: pa ...

  2. winform的常用公共控件和常用属性

    我们在学位winform的控件和属性的时候要学会赋值取值还有改值 公共控件: 1,Button(按钮): Enabled :是否可用 Visible:是否可见 2,CheckBox(多选项) Chec ...

  3. Gcc的编译流程分为了四个步骤:

    http://blog.csdn.net/xiaohouye/article/details/52084770(转) Gcc的编译流程分为了四个步骤: 1.预处理,生成预编译文件(.文件): Gcc ...

  4. Maven学习(五)-- 聚合与继承

    标签(空格分隔): 学习笔记 Maven的聚合特性能够把项目的各个模块聚合在一起构建: Maven的继承特性能够帮助抽取各模块相同的依赖和插件等配置,在简化POM的同时,还能够促进各个模块配置的一致性 ...

  5. 12.NFS搭建配置

    参考博客:http://www.cnblogs.com/mchina/archive/2013/01/03/2840040.html 1.关闭防火墙和SELINUX $ service iptable ...

  6. 9----Lua中的面向对象

    什么是面向对象? 使用对象.类.继承.封装.消息等基本概念来进行程序设计 面向对象最重要的两个概念就是:对象和类 对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位 一个对象由一组属性 ...

  7. Hibernate <一级缓存>

    Hibernate缓存分为三级: 一级缓存:基于事务级别(内存)的缓存,也可以成为session级别缓存 二级缓存:依赖于第三方,当请求一个对象时,先在缓存里面查找,如果没有就执行查询语句 查询缓存: ...

  8. 转!!mysql order by 中文排序

    1. 在MySQL中,我们经常会对一个字段进行排序查询,但进行中文排序和查找的时候,对汉字的排序和查找结果往往都是错误的. 这种情况在MySQL的很多版本中都存在. 如果这个问题不解决,那么MySQL ...

  9. 生物信息大数据&数据库(NCBI、EBI、UCSC、TCGA)

    想系统的学习生信数据库可以先看一下北大的公开课,有一章专门讲的数据库与软件: -生物信息学:导论与方法 北大\ 生物信息数据库及软件资源 一个优秀的生信开发者能够解决如下问题: 如何鉴定一个重要的且没 ...

  10. News common vocabulary

    英语新闻常用词汇与短语 经济篇 accumulated deficit 累计赤字 active trade balance 贸易顺差 adverse trade balance 贸易逆差 aid 援助 ...