一段通过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 ).

   ```

相关文章
|
2月前
使用 SAP UI5 Event Bus 机制,修复 SAP UI5 分页显示数据的一个 bug 试读版
使用 SAP UI5 Event Bus 机制,修复 SAP UI5 分页显示数据的一个 bug 试读版
22 0
|
3月前
|
JavaScript 前端开发 数据库
如何在 SAP CRM 里通过 navigation framework 跳转到 ABAP Webdynpro 页面
如何在 SAP CRM 里通过 navigation framework 跳转到 ABAP Webdynpro 页面
21 0
|
4月前
|
数据采集 供应链 数据管理
关于评估 SAP 主数据的数据初始化对 SAP 系统影响范围的方法论
关于评估 SAP 主数据的数据初始化对 SAP 系统影响范围的方法论
45 0
|
1月前
|
存储
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
21 0
|
3月前
|
SQL 数据库
小技巧:如何让 ABAP OPEN SQL 代码具有自解释性(Self-Explained)
小技巧:如何让 ABAP OPEN SQL 代码具有自解释性(Self-Explained)
25 0
|
2天前
SAP CLIENT 数据配置文件的导出/导入
SAP CLIENT 数据配置文件的导出/导入
|
1月前
|
SQL 数据库 存储
关于 ABAP OPEN SQL 中的 FLPT 数据类型
关于 ABAP OPEN SQL 中的 FLPT 数据类型
21 0
|
1月前
|
SQL 数据库 数据处理
什么是 ABAP SQL Function
什么是 ABAP SQL Function
10 0
什么是 ABAP SQL Function
|
1月前
|
Java SQL 数据库
ABAP 7.40 新语法介绍系列之五 - 增强的 ABAP OPEN SQL 语法介绍试读版
ABAP 7.40 新语法介绍系列之五 - 增强的 ABAP OPEN SQL 语法介绍试读版
12 0
ABAP 7.40 新语法介绍系列之五 - 增强的 ABAP OPEN SQL 语法介绍试读版
|
4月前
|
Web App开发 开发者
5. 问题解答:SAP Fiori Launchpad 点了 Logout 之后,背后都运行了哪些代码
5. 问题解答:SAP Fiori Launchpad 点了 Logout 之后,背后都运行了哪些代码
26 0

热门文章

最新文章