ITS Mobile是14年开发EWM项目时用到的技术方案,本文主要记录下ITS Mobile的整个实现过程。

1.ITS Mobile介绍

 ITS Mobile:Internet Transaction Server for Mobile

 实现移动设备(如RF)应用的SAP技术,基于广泛应用Dynpro编程模式。

 优点:

 • 可以使用ABAP语言进行开发和调试

 • 可以使用SAPGUI基于Windows调试

 • 快速初始化模块和可视化HTML

 • 可以编辑模板生成的HTML

 • HTML与JavaScript可以简单集成

2.ITS Mobile实现步骤

 主要步骤:

 • 创建ABAP程序

 • 创建一个网络服务和模板

 • 创建ICF Service

 • 测试ICF Service

 2.1创建ABAP程序,程序对应事务代码 ZCXWM009

  

  程序执行:

  

  事务码 ZCXWM009 需要勾选 SAPGUI for HTML

  

 2.2创建网络服务及模板

  TCODE:SE80 选择包->右键->Create->Other(1)->Internet Service

  

  输入服务名称及服务关联的事务码

  

  

  

  输入服务对应的参数变量:

  

  选中服务名->右键->Create->Template

  

  主题99,选择程序中需要创建模板的屏幕编号,样式选择 Mobile deceives

  

  

   服务发布

  Publish Service File

  

  

  Publish Complate Service

  

  

 以上完成了服务及模板的创建,后续需要通过浏览器调用创建的服务。

 2.3创建ICF服务:通过HTTP路径关联到创建的网络服务。

  2.3.1通过事务码SICF测试系统默认的服务是否有效且可执行

  2.3.2通过SICF创建新的服务

  SICF:default_host ->sap ->bc->gui->sap->its->右键->new sub element

  

  

  GUI 链接设置为 Y

  

  上图中设置按钮,维护服务参数:

  

  可选其他参数:

  

  处理器清单:

  

 激活ICF服务。

 2.4测试ICF服务

  

  

  

  测试成功。

  ITSmobile创建步骤三步曲:服务->模板->SICF
  ITSmobile的服务即一个HTML模板中的可视化浏览器提供的是每一个屏幕(dynpro)的应用程序。动态内容/数据可以包括在模板在运行时使用HTMLBusiness(HTMLB)。

3.ITS Mobile模板更改(以下部分来自PPT文档,未经过测试)

 主要有两种方法:(根据需求的不同分类)
   a.在se80中直接手工修改模板,要记得重新发布更改后的模板
   b.如果需要更改大量相同部分的模板,你可以调整或重写模板

 注意事项:不要直接的更改标准服务ITSGENMOBILE or ITSMOBILE,如果你想做改变,以另一个主题复制模板再做修改。

 下面介绍Creating a New Template Generator or Adapting an Existing Template Generator

 Step 1:从CL_ITS_GENERATE_HTML_MOBILE得到你自己的类

  a.事务SE80 然后从下拉菜单选择Class/Interface 。
  b.在输入框内, 输入你想创建的类的名字 (比如ZCL_MY_HTML_MOBILESTYLE), 然后按ENTER键
  c.在出现的对话框“Do you want to create a new class?”下面选择YES
  d.现在 选择在类输入框旁边的功能图标(Create Inheritance),在出现的输入框 输入CL_ITS_GENERATE_HTML_MOBILE 作为超类
  e.对这个类添加一个描述.
  f.然后选择PUBLIC 为instantiation 属性, the class type为 Usual ABAP Class.
  g.保存

  

 Step 2: Create a Constructor(创建函数构造器)

  a. 通过Methods从类ZCL_MY_HTML_MOBILESTYLE 转到superclass CL_ITS_GENERATE_HTML_MOBILE.
  b. 双击方法Constructor 然后复制此节点下面的所有代码
  c. 返回你创建的类,然后从系统状态栏菜单选择Edit  Create Constructor.
  d. 在右边的表格, 双击方法Constructor, 然后插入你第二部复制的代码,并且把template_service 赋值 ZMYGENMOBILE. 做完上述步骤,
    constructor 代码应该如下所示:
    METHOD constructor.
      super->constructor( ).
      _template_service = 'ZMYGENMOBILE'.
      _template_theme = '99'.
    ENDMETHOD.
  e. 保存.

 Step 3: Overwrite Generation Style(重写生成样式)

  a.从类ZCL_MY_HTML_MOBILESTYLE, 通过选择Methods  Inherited Methods转移到界面 IF_ITS_GENERATE_TEMPLATE.
  b.选择方法 DESCRIPTION_TEXT, 复制它的内容, 右击然后从下拉菜单选择e Redefine. 一个 Redefinition 文件出现在下级树菜单.
  c.在 Redefinition folder, 双击IF_ITS_GENERATE_TEMPLATE~DESCRIPTION_TEXT 条目, 然后插入你刚刚拷贝的内容.
  d.适当的修改WHEN-MOBILE 分支.稍后需要在表W3GENSTYLES 添加关键字ZMYMOBILE.
  做完上述步骤,代码应如下:

  

 Step 4: Create a Service and Copy the Original Templates(创建服务并复制原始的模板)

  a.事务SE80, 选择 Internet service ITSGENMOBILE.
  b.选中这个服务并从下拉菜单选择Copy。
  c.输入你的服务ZMYGENMOBILE 作为目标服务,选择所有的选项,然后保存
  d.转到服务ZMYGENMOBILE 然后发布服务。

 Step 5: Enter a New Generation Style

  a.事务码SE16.
  b.输入W3GENSTYLES 表名然后选择 Table Create Entries.(系统菜单栏)
  c.指定 ZMYMOBILE 作为样式(疑问见step 3: WHEN 'ZMYMOBILE').
  d.输入你创建的类ZCL_MY_HTML_MOBILESTYLE 作为一代类. 输入描述。
  e.保存。

 Step 6: Test the New Generation Style

  a.事务码SE80切换到你的应用程序.
  b.选择屏幕然后从下拉菜单选择Create Template
  c.为应用程序指定网络服务,比如 ZMYGENMOBILE (上面步骤创建的服务名字),
  d.保存
  e.发布服务,然后测试.

 更改模板六部曲,通过类CL_ITS_GENERATE_HTML_MOBILE实现更改模板。

ABAP-ITS Mobile的更多相关文章

  1. 长期内部推荐SAP职位,包括Java ABAP 咨询顾问,Developer,架构师等。

    长期内部推荐SAP职位,包括Java ABAP 咨询顾问,Developer,架构师等. 有需要请发简历到邮箱    LoB Position LocationAcquisitions Hybris ...

  2. UWP开发之Mvvmlight实践七:如何查找设备(Mobile模拟器、实体手机、PC)中应用的Log等文件

    在开发中或者后期测试乃至最后交付使用的时候,如果应用出问题了我们一般的做法就是查看Log文件.上章也提到了查看Log文件,这章重点讲解下如何查看Log文件?如何找到我们需要的Packages安装包目录 ...

  3. ABAP单元测试最佳实践

    本文包含了我在开发项目中经历过的实用的ABAP单元测试指导方针.我把它们安排成为问答的风格,欢迎任何人添加更多的Q&A's,以完成这个列表. 在我的项目中,只使用传统的ABAP report. ...

  4. ABAP实现屏幕自己刷新和跳转功能

    ABAP开发工程中,有时候需要让跳转出的屏幕自动实现跳转和刷新的功能,该功能的实现需要在屏幕PBO 里面调用相应的事件执行. 关键代码为: SET TITLEBAR ' 屏幕自动程序'. IF g_c ...

  5. ipad&mobile通用webapp框架前哨战

    响应式设计的意义 随着移动设备的发展,移动设备以迅猛的势头分刮着PC的占有率,ipad或者android pad的市场占有率稳步提升,所以我们的程序需要在ipad上很好的运行,对于公司来说有以下负担: ...

  6. 一步步实现ABAP后台导入EXCEL到数据库【3】

    在一步步实现ABAP后台导入EXCEL到数据库[2]里,我们已经实现计划后台作业将数据导入数据库的功能.但是,这只是针对一个简单的自定义结构的导入程序.在实践应用中,面对不同的表.不同的导入文件,我们 ...

  7. 一步步实现ABAP后台导入EXCEL到数据库【2】

    前文:http://www.cnblogs.com/hhelibeb/p/5912330.html 既然后台作业只能在应用服务器运行,那么,我们可以先将要上传的数据保存在应用服务器中,之后再以后台作业 ...

  8. 让ABAP开发者愈加轻松的若干快捷键

    引言 ABAP是一种和当代编程语言在许多方面有着相当不同的编程语言.ABAP的某些方面可能会让我们奇怪,为什么它会如此复杂?而它的某些方面又是那么杰出,给予了ABAP开发者们比其它任何语言更多的便利. ...

  9. ABAP游标的使用

    在Oracle,SQLServer中游标的使用是经常的,所以在ABAP不懂是不行的......     1.声明游标 OPEN CURSOR [WITH HOLD] <c> FOR SEL ...

随机推荐

  1. 《Entity Framework 6 Recipes》中文翻译 ---- 系列教程

    为了方便大家的阅读和学习,也是响应网友的建议,在这里为这个系列做一个目录.在目录开始这前,我先来回答之前遇到的几个问题. 1.为什么要学习EF? 这个问题很简单,项目需要.这不像学校,没人强迫你学习! ...

  2. centos 修改时区及NTP时间同步

    在我们使用CentOS系统的时候,也许时区经常会出现问题,有时候改完之后还是会出错,下面我们就来学习一种方法来改变这个状况.如果没有安装,而你使用的是 CentOS系统 那使用命令 yum insta ...

  3. IE浏览器从页面向后台Controller传中文值出现乱码问题

    地址前面添加encodeURI() 1. var url = encodeURI('xxxAction.action?para='+中文); $('#cc').combobox({ url : url ...

  4. 使用php在服务器端生成图文验证码(二)

    图文验证码的实现原理: 1):准备些许图片将其存储在数据库,每一张图片对应一个标识字段. 2):在服务器端使用数组的形式将图片与标识字段组合起来. 3):随机给客户端返回图片,并接受用户输入的字段. ...

  5. Netty源码分析之NioEventLoop(一)—NioEventLoop的创建

    一.NioEventLoop的概述 NioEventLoop做为Netty线程模型的核心部分,从本质上讲是一个事件循环执行器,每个NioEventLoop都会绑定一个对应的线程通过一个for(;;)循 ...

  6. Django QuerySet和中介模型

    笔记如下 一.QuerySet QuerySet是什么? 类似列表里边存着对象 只和ORM有关系 from app01.models import Book def qDemo(request): b ...

  7. <<APUE>> 线程

    一个进程在同一时刻只能做一件事情,线程可以把程序设计成在同一时刻能够做多件事情,每个线程处理各自独立的任务.线程包括了表示进程内执行环境必需的信息,包括进程中标识线程的线程ID.一组寄存器值.栈.调度 ...

  8. C++ STL Set 集合

    前言 set是STL中的一种关联容器.集合具有无序性,互异性等特点.熟练使用STL中的set模板类,可以比较简单的解决一些编程问题. 关联容器:元素按照关键字来保存和访问,STL中的map,set就是 ...

  9. 【Spring学习笔记-MVC-15.1】Spring MVC之异常处理=404界面

    作者:ssslinppp       异常处理请参考前篇博客:<[Spring学习笔记-MVC-15]Spring MVC之异常处理>http://www.cnblogs.com/sssl ...

  10. 执行Chrome自动化时--正在受到自动软件的控制的显示屏蔽

    用selenium启动,浏览器出现‘Chrome正在受到自动软件的控制’ 屏蔽的方法: # coding:utf-8 from selenium import webdriver # 加启动配置 op ...