从透明表中获取数据

问题描述 投票:1回答:2

在我们的sap环境中开发了一个新的bapi,它从池表和透明表中获取数据。

当从非sap环境调用此bapi时,只有池表返回数据。透明表返回空值。

案件

当我们在像A931表这样的透明表的“Where子句”中传递硬编码值时,透明表也会在非sap环境中从bapi返回数据。

但是当我们通过bapi中声明的变量传递透明表的“Where子句”中的值时,透明表在非SAP环境中不返回任何值(而是返回Blank)。

sap abap
2个回答
1
投票

我的变量的长度不是SAP所需的长度,所以我附加了零。

有效。


0
投票

你能发一些ABAP代码吗?如果在模块函数中声明表,则应该可以访问它们的内容,并且可以作为表参数返回。

例如,在RFC调用的以下代码中,表STATES将永远不会为空,即使您注释'select'语句,因为两个insert语句填充它。

FUNCTION z_prt_dns_status_get.
*"----------------------------------------------------------------------
*"*"Interface locale :
*"  IMPORTING
*"     VALUE(LANGU) TYPE  LANGU DEFAULT 'F'
*"  EXPORTING
*"     VALUE(RETURN) TYPE  BAPIRETURN1
*"  TABLES
*"      STATES STRUCTURE  ZPRT_ATN_STATEST
*"----------------------------------------------------------------------


  SELECT t~atn t~state t~langu t~text s~seqnr
   INTO CORRESPONDING FIELDS OF TABLE states
     FROM zprt_atn_statest AS t
     INNER JOIN zprt_atn_states AS s
        ON s~atn = t~atn AND s~state = t~state
        WHERE t~atn = 'DNS'
        ORDER BY s~seqnr.

  states-text = 'A traiter'.
  states-state = 'OPEN'.
  INSERT states INDEX 1.

  states-text = 'Tous'.
  states-state = '****'.
  INSERT states INDEX 1.

ENDFUNCTION.

问候

© www.soinside.com 2019 - 2024. All rights reserved.