一段通过OPEN SQL直接读取SAP CRM Lead和Campaign数据的ABAP代码

简介: 一段通过OPEN SQL直接读取SAP CRM Lead和Campaign数据的ABAP代码

REPORT ZLEAD_SQL.

TYPES:

     BEGIN OF lty_s_objnr,

       objnr TYPE crmt_object_guid,

     END OF lty_s_objnr.

   INCLUDE: crm_status_con.

   DATA: lv_max_hits     TYPE i,

         lv_langu        TYPE sy-langu,

         lv_cursor       TYPE cursor,

         lt_package_data TYPE crmt_odata_lead_campaignt,

         ls_package_data TYPE crmt_odata_lead_campaign,

         lt_objnr        TYPE STANDARD TABLE OF lty_s_objnr,

         ls_objnr        TYPE lty_s_objnr,

         lv_package_size TYPE i,

         it_select_option TYPE /IWBEP/T_COD_SELECT_OPTIONS,

         et_campaigns TYPE CRMT_ODATA_LEAD_CAMPAIGNT.

   lv_max_hits = 900.

   lv_package_size = lv_max_hits.

   lv_langu = sy-langu.

   SELECT crm_jest~objnr

     INTO TABLE lt_objnr

     FROM crm_jest

    INNER JOIN crm_jsto ON crm_jest~objnr = crm_jsto~objnr

    WHERE crm_jest~inact = space

      AND crm_jest~stat  = gc_status-released.             " 'I1004'.

   SORT lt_objnr.

   OPEN CURSOR WITH HOLD @lv_cursor FOR

     SELECT DISTINCT header~guid,

                     external_id,

                     text1,

                     header~object_type

                FROM cgpl_project AS header

          INNER JOIN crm_mktpl_attr ON header~guid = crm_mktpl_attr~guid

     LEFT OUTER JOIN cgpl_text      ON header~guid = cgpl_text~guid

                                   AND cgpl_text~langu = @lv_langu

               WHERE ( header~external_id IN @it_select_option

                  OR   textu              IN @it_select_option )

                 AND header~object_type = 'CPG'

                 AND crm_mktpl_attr~template = @space

   UNION

     SELECT DISTINCT header~guid,

                     external_id,

                     text1,

                     header~object_type

                FROM cgpl_task AS header

          INNER JOIN crm_mktpl_attr ON header~guid = crm_mktpl_attr~guid

     LEFT OUTER JOIN cgpl_text      ON header~guid = cgpl_text~guid

                                   AND cgpl_text~langu = @lv_langu

               WHERE ( header~external_id IN @it_select_option

                  OR   textu              IN @it_select_option )

                 AND header~object_type = 'CPT'

                 AND crm_mktpl_attr~template = @space

   ORDER BY text1.

   DO.

     FETCH NEXT CURSOR @lv_cursor

           INTO TABLE @lt_package_data

           PACKAGE SIZE @lv_package_size.

     IF sy-subrc = 0.

       LOOP AT lt_package_data INTO ls_package_data.

         READ TABLE lt_objnr TRANSPORTING NO FIELDS

              WITH KEY objnr = ls_package_data-guid

              BINARY SEARCH.

         IF sy-subrc <> 0.

           DELETE lt_package_data.

         ENDIF.

       ENDLOOP.

       APPEND LINES OF lt_package_data TO et_campaigns.

       IF  lines( et_campaigns ) >= lv_max_hits.

         EXIT.

       ELSE.

         lv_package_size = lv_max_hits - lines( et_campaigns ).

       ENDIF.

     ELSE.

       EXIT.

     ENDIF.

   ENDDO.

   CLOSE CURSOR @lv_cursor.

   WRITE:/ 'Total numbers of leads read: ', lines( et_campaigns ).

   ```

相关文章
|
13天前
|
SQL 移动开发 Oracle
SQL语句实现查询连续六天数据的方法与技巧
在数据库查询中,有时需要筛选出符合特定时间连续性条件的数据记录
|
19天前
|
SQL 存储 关系型数据库
添加数据到数据库的SQL语句详解与实践技巧
在数据库管理中,添加数据是一个基本操作,它涉及到向表中插入新的记录
|
20天前
|
SQL 数据挖掘 数据库
SQL查询每秒的数据:技巧、方法与性能优化
id="">SQL查询功能详解 SQL(Structured Query Language,结构化查询语言)是一种专门用于与数据库进行沟通和操作的语言
|
22天前
|
SQL 监控 数据处理
SQL数据库数据修改操作详解
数据库是现代信息系统的重要组成部分,其中SQL(StructuredQueryLanguage)是管理和处理数据库的重要工具之一。在日常的业务运营过程中,数据的准确性和及时性对企业来说至关重要,这就需要掌握如何在数据库中正确地进行数据修改操作。本文将详细介绍在SQL数据库中如何修改数据,帮助读者更好
109 4
|
25天前
|
SQL 关系型数据库 MySQL
SQL批量插入测试数据的几种方法?
SQL批量插入测试数据的几种方法?
69 1
|
22天前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
61 0
|
22天前
|
SQL 分布式计算 关系型数据库
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
29 0
|
22天前
|
SQL 分布式计算 关系型数据库
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
39 0
|
25天前
|
SQL
使用SQL进行集合查询和数据维护
使用SQL进行集合查询和数据维护
33 0
|
2月前
|
SQL 安全 数据处理
揭秘数据脱敏神器:Flink SQL的神秘力量,守护你的数据宝藏!
【9月更文挑战第7天】在大数据时代,数据管理和处理尤为重要,尤其在保障数据安全与隐私方面。本文探讨如何利用Flink SQL实现数据脱敏,为实时数据处理提供有效的隐私保护方案。数据脱敏涉及在处理、存储或传输前对敏感数据进行加密、遮蔽或替换,以遵守数据保护法规(如GDPR)。Flink SQL通过内置函数和表达式支持这一过程。
70 2

热门文章

最新文章