SAP 查询中间表

可以看到如下代码中,查询了底表zdbconn,又查了中间表ZTFI0072


  DATA: gv_dbs(20) ,
        go_exc_ref    TYPE REF TO cx_sy_native_sql_error,
        gv_error_text TYPE string,
        lv_count      TYPE syst_index.

  SELECT SINGLE conntxt
  FROM zdbconn INTO gv_dbs
  WHERE sysname = 'EDSAP'.

  TRY.
      EXEC SQL.
        CONNECT TO :gv_dbs
      ENDEXEC.
      IF sy-subrc <> 0.
        RAISE EXCEPTION TYPE cx_sy_native_sql_error.
      ENDIF.

      EXEC SQL .
        SELECT COUNT( * ) INTO :lv_count FROM ZTFI0072 WHERE mandt = :sy-mandt
          AND zzllx = :p_ZZLLX AND ZHTBH = :p_ZHTBH
          AND zhtbb = :p_zhtbb
      ENDEXEC.

      EXEC SQL.
        COMMIT WORK.
        DISCONNECT :gv_dbs
      ENDEXEC.
    CATCH cx_sy_native_sql_error INTO go_exc_ref.
      CLEAR: gv_error_text.
      gv_error_text  = go_exc_ref->get_text( ).
      ps_return-msg = gv_error_text.
  ENDTRY.
ENDFORM.

查到了链接名DB_EDC

 进入T-CODE,DBCO,可以看到链接信息,但看不到密码

进入程序:ADBC_QUERY

 输入数据库链接名、中间表名

可以查到中间表的字段信息

输入条件可以查到其中的内容

注意:虽然在底表中 SYSNAME系统名称 对应的都是同一个CONNTXT连接名,但是DBCO中维护的连接信息却不一定一样,有些会区分正式区和测试区,这是物理隔开的。但是有些中间表,却不会物料隔开,仅用客户端进行区分。

特殊:值得注意的是,公司在测试区是给所有人开了全部程式的权限,包括SE38,用户其实可以通过SE38,查找中间表的内容,当然前提是要知道“DB连接名称”和“表名”。当然,中间表没有物料隔开时,甚至可以在测试区,通过中间表,查到正式区的数据内容。

对于物料隔开的中间表,就只能通过正式区查看了,也可以方便的查到其他集团MANDT的数据。

中间表是没有DEMO区的概念的,是因为管理员在DEMO区没有传DBCO的链接信息等内容,而导致了中间表每次使用时都会提示“未将指定的次级数据库连接输入到表 DBCON 中”。当然,传了的话,DEMO区就和正式区没有啥区别了。

参考链接:

SAP 数据库直连的配置和代码_sap 数据库 设置-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值