零基础 ABAP 学习教程系列文章的目录

  • ABAP 标准培训教程 BC400 学习笔记之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍
  • ABAP 标准培训教程 BC400 学习笔记之二:Cross-client 和 Client-specific 的区别
  • ABAP 标准培训教程 BC400 学习笔记之三:ABAP 编程语言的特性和基本构成要素
  • ABAP 标准培训教程 BC400 学习笔记之四:ABAP 编程语言的数据类型
  • ABAP 标准培训教程 BC400 学习笔记之五:ABAP 编程语言的变量,常量和字面量,以及文本符号

ABAP 基础知识

  • 通过实际的例子,介绍 SAP ABAP 里的 Repository Information System 的使用技巧
  • ABAP function module 的使用
  • ABAP subroutine 的定义和使用
  • ABAP 中的变量和常量
  • ABAP 编程语言中的系统字段(System Fields)
  • 什么是 ABAP Field Symbol
  • ABAP 引用类型介绍
  • 最浅显易懂的 SAPGUI 里 ABAP 调试器的使用方法介绍
  • 如何创建最简单的 ABAP 数据库表,以及编码从数据库表中读取数据 (上)
  • 如何创建最简单的 ABAP 数据库表,以及编码从数据库表中读取数据 (下)
  • 用 ABAP 读取本地文本文件内容
  • 用 ABAP 新建本地 Excel 文件并写入数据
  • 26 行 ABAP 代码使用 HTTP_GET 函数下载百度网站的首页数据
  • ABAP 如何解析 JSON 数据
  • 如何从本地文件里拷贝某个 ABAP 类到 SAP 系统
  • 面向对象的 ABAP 编程初探 - 什么是类,实例,和 Public 方法
  • SAP ABAP 报表的用户输入功能
  • 使用 ABAP 事物码 SM59 创建 Destination 来读取外网的数据

ALV 开发专题

  • 27 行代码开发一个最简单的 SAP ALV 报表
  • 48 行代码给 ABAP ALV 报表的数据行增添颜色效果
  • 77 行代码实现ABAP ALV 中的双击事件处理

本教程之前的文章26 行 ABAP 代码使用 HTTP_GET 函数下载百度网站的首页数据​,我们介绍了如何使用 ABAP 函数 ​​HTTP_GET​​, 下载百度网站首页的 HTML 格式的数据到本地。

这种做法在技术层面来说可行,但实际的客户项目中,我们大多时候不会这样用。理由如下:

  1. 我们在一个 ABAP 程序里,通过调用函数​​HTTP_GET​​​ 时, 传入待访问的外网网址,比如​​https://www.baidu.com​​​. 这样就会造成待访问的网址信息,和 ABAP 程序本身​​紧耦合​​​在一起。如果稍后用户的需求发生了变化,比如需要访问百度根据关键字​​sap​​​ 搜索的结果,那么就需要修改 ABAP 程序本身了,在程序中将网址替换成这个:​​https://www.baidu.com/s?wd=sap​

使用 ABAP 事物码 SM59 创建 Destination 来读取外网的数据试读版_百度

  1. 在例子里我们访问的百度首页,没有用户认证机制,所有匿名用户均可访问。在实际客户项目中,需要使用 ABAP 访问第三方外网时,这些网站通常都具有各种各样的用户验证机制,比如需要指定用户名和密码。如果我们继续采取在 ABAP 程序里硬编码外网 url 的方式,势必需要将用户名和密码等敏感信息也以明文的形式书写在 ABAP 代码里,这显然不合适。

因此,本文介绍另一种客户实施项目中经常使用的通过 ABAP 程序配合以 Destination 模型来安全访问外网数据的实现方式。具体步骤介绍​​如下​​。

使用 ABAP 事物码 SM59 创建 Destination 来读取外网的数据试读版_百度_02