使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id

简介: 使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id

源代码如下:

REPORT zorg_list_partner_who_has_sale.
DATA: lt_link TYPE STANDARD TABLE OF crmm_but_lnk0011,
      lt_bp   TYPE STANDARD TABLE OF but000.
SELECT * INTO TABLE lt_link FROM crmm_but_lnk0011.
SELECT * INTO TABLE lt_bp FROM but000 FOR ALL ENTRIES IN lt_link WHERE
    partner_guid = lt_link-partner_guid.
LOOP AT lt_link ASSIGNING FIELD-SYMBOL(<link>).
  READ TABLE lt_bp ASSIGNING FIELD-SYMBOL(<bp>) WITH KEY partner_guid = <link>-partner_guid.
  CHECK sy-subrc = 0.
  WRITE: / 'Org:',  <link>-sales_org COLOR COL_NEGATIVE, ' area: ' , <link>-sales_area COLOR COL_GROUP,
  ' BP:', <bp>-name_first, ', ', <bp>-name_last, ' bp id: ' , <bp>-partner.
ENDLOOP.

这段代码是一个 SAP ABAP 报告程序,主要功能是从 SAP CRM 和 SAP ERP 中提取有销售数据的业务伙伴信息,并展示这些业务伙伴的组织、销售区域和姓名信息。接下来,我会逐步解释代码的各个部分以及它们的作用。

报告程序声明

REPORT zorg_list_partner_who_has_sale.

这行代码声明了一个自定义的报告程序 zorg_list_partner_who_has_sale。在 SAP 系统中,所有自定义对象的名称通常以 ZY 开头,这是一种约定俗成的做法,以区别于 SAP 标准提供的对象。

数据声明

DATA: lt_link TYPE STANDARD TABLE OF crmm_but_lnk0011,
      lt_bp   TYPE STANDARD TABLE OF but000.

这里声明了两个内表 lt_linklt_bplt_link 用于存储从 crmm_but_lnk0011 表中提取的记录,这个表通常用于存储 CRM 系统中业务伙伴和其他对象之间的链接信息。lt_bp 用于存储从 but000 表中提取的记录,but000 是一个包含业务伙伴基本信息的表。

数据提取

SELECT * INTO TABLE lt_link FROM crmm_but_lnk0011.
SELECT * INTO TABLE lt_bp FROM but000 FOR ALL ENTRIES IN lt_link WHERE
    partner_guid = lt_link-partner_guid.

这两个 SELECT 语句分别从 crmm_but_lnk0011but000 表中提取数据。第二个 SELECT 语句使用了 FOR ALL ENTRIES IN 语法,这意味着它会为 lt_link 表中的每条记录查找匹配的 but000 记录,条件是两者的 partner_guid 必须相等。

数据展示

LOOP AT lt_link ASSIGNING FIELD-SYMBOL(<link>).
  READ TABLE lt_bp ASSIGNING FIELD-SYMBOL(<bp>) WITH KEY partner_guid = <link>-partner_guid.
  CHECK sy-subrc = 0.
  WRITE: / 'Org:',  <link>-sales_org COLOR COL_NEGATIVE, ' area: ' , <link>-sales_area COLOR COL_GROUP,
  ' BP:', <bp>-name_first, ', ', <bp>-name_last, ' bp id: ' , <bp>-partner.
ENDLOOP.

这段代码通过一个循环遍历 lt_link 表中的每条记录。对于每条记录,它尝试在 lt_bp 表中找到具有相同 partner_guid 的业务伙伴记录。如果找到了,它会使用 WRITE 语句输出业务伙伴的销售组织 (sales_org)、销售区域 (sales_area) 和姓名信息 (name_first, name_last),以及业务伙伴 ID (partner)。

实际应用

想象一下,一个公司使用 SAP CRM 管理其客户关系,同时使用 SAP ERP 管理其核心业务流程。这段代码可以帮助该公司的销售或市场部门快速识别和报告那些在特定销售组织和区域内有销售活动的业务伙伴,从而支持销售策略的制定和市场分析。

相关文章
|
26天前
|
人工智能 搜索推荐 Serverless
使用金庸的著作,来测试阿里通义千问最新开放的长文档处理功能
使用金庸的著作,来测试阿里通义千问最新开放的长文档处理功能
65 7
使用金庸的著作,来测试阿里通义千问最新开放的长文档处理功能
|
22天前
关于 SAP ABAP OData 服务如何实现 Deep Insert 场景 - SAP 应用的标准行为试读版
关于 SAP ABAP OData 服务如何实现 Deep Insert 场景 - SAP 应用的标准行为试读版
16 1
|
22天前
|
人工智能
Suno AI 生成 SAP ABAP 顾问之歌
Suno AI 生成 SAP ABAP 顾问之歌
16 1
|
22天前
|
存储 安全 数据库
SAP ABAP 中数据类型 xstring 的使用介绍
SAP ABAP 中数据类型 xstring 的使用介绍
20 0
|
26天前
|
数据库
SAP CRM产品主数据无法根据产品描述字段进行搜索的原因
SAP CRM产品主数据无法根据产品描述字段进行搜索的原因
17 5
|
26天前
|
Web App开发 开发者 存储
介绍一个 webp 格式转 png 格式的软件:XNConvert
介绍一个 webp 格式转 png 格式的软件:XNConvert
27 6
介绍一个 webp 格式转 png 格式的软件:XNConvert
|
26天前
什么是 SAP ABAP 里的 Subscreen
什么是 SAP ABAP 里的 Subscreen
16 1
什么是 SAP ABAP 里的 Subscreen
|
1月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
29 0
|
1月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
17 0
|
1月前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
15 0

热门文章

最新文章