tags:

views:

82

answers:

2

There is a new bapi developed in our sap environment which is fetching data from pool tables and transparent tables.

When this bapi is called from non sap environment then only pool tables are returning data .Transparent tables are returning blank values.

Case

When we are passing hard coded values in "Where Clause" of transparent tables like A931 table ,then transparent tables are also returning data from bapi in non sap environment.

But when we pass values in "Where Clause " of transparent tables through Variables declared in bapi then transparent tables are not returning any value (instead returns Blank) in non sap environment.

Help

A: 

Could you post some ABAP code ? if you declare the tables in your module function, their content should be accessible, and can be returned as table params.

For example in the following code, called by RFC, the table STATES will never be empty, even if you comment the 'select' statement, as two insert statement fill it.

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.

regards

PATRY
A: 

Thanks for your help.

The length of my variable was not of SAP Length required ,so I appened zeros.

It worked.

Anushka