• ABAP-ITS Mobile


    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实现更改模板。

  • 相关阅读:
    Atitit.js跨域解决方案attilax大总结 后台java php c#.net的CORS支持
    Atitit.js跨域解决方案attilax大总结 后台java php c#.net的CORS支持
    Atitit.得到网络邻居列表java php c#.net python
    Atitit.得到网络邻居列表java php c#.net python
    Atitit.软件开发的非功能性需求attilax 总结
    Atitit.软件开发的非功能性需求attilax 总结At
    Atitit. servlet 与 IHttpHandler  ashx  listen 和HttpModule的区别与联系 原理理论 架构设计   实现机制    java php c#.net j
    Atitit. 数据约束 校验 原理理论与 架构设计 理念模式java php c#.net js javascript mysql oracle
    Atitit. 数据约束 校验 原理理论与 架构设计 理念模式java php c#.net js javascript mysql oracle
    Atitit.数据索引 的种类以及原理实现机制 索引常用的存储结构
  • 原文地址:https://www.cnblogs.com/ricoo/p/10072172.html
Copyright © 2020-2023  润新知