Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 3189

Re: STRING_SIZE_TOO_LARGE error in datasource 0RT_PA_TRAN_CONTROL

$
0
0

Hi,

 

Are you talking about the fields which can be extracted also from trans_total datasource? I'm planning to remove them too since users don't use them anyway..

 

 

Here is the new BADI code:

 

method IF_EX_RSU5_SAPI_BADI~DATA_TRANSFORM.

 

  CHECK i_datasource = '0RT_PA_TRAN_CONTROL'.

DATA: lt_data TYPE TABLE OF /POSDW/BW_RETAIL_CONTROL.

  FIELD-SYMBOLS: <ls_data> TYPE /POSDW/BW_RETAIL_CONTROL.

 

*----------------------------------------------------------------*

* Internal table for /POSDW/TLOGF

*----------------------------------------------------------------*

 

  TYPES:

  BEGIN OF ty_tran_control,

FIELDGROUP TYPE /POSDW/BW_RETAIL_CONTROL-FIELDGROUP,

FIELDNAME TYPE /POSDW/BW_RETAIL_CONTROL-FIELDNAME,

    FIELDVALUE TYPE /POSDW/BW_RETAIL_CONTROL-FIELDVALUE,

    RETAILSTOREID TYPE /POSDW/BW_RETAIL_CONTROL-RETAILSTOREID,

BUSINESSDAYDATE TYPE /POSDW/BW_RETAIL_CONTROL-BUSINESSDAYDATE,

TRANSINDEX TYPE /POSDW/BW_RETAIL_CONTROL-TRANSINDEX,

    ROWKEY type /POSDW/TLOGF-ROWKEY,

  END OF ty_tran_control.

 

  DATA:

  lt_tran_control type standard table of ty_tran_control,

  ls_tran_control type ty_tran_control.

  lt_data[] = c_t_data[].

*----------------------------------------------------------------*

* Read data into internal memory

*----------------------------------------------------------------*

 

  select

  FIELDGROUP

FIELDNAME

FIELDVALUE

    RETAILSTOREID

    BUSINESSDAYDATE

    TRANSINDEX

    ROWKEY

  from /POSDW/TLOGF

  into table lt_tran_control

  for all entries in lt_data

  where

    RETAILSTOREID = lt_data-RETAILSTOREID and

BUSINESSDAYDATE = lt_data-BUSINESSDAYDATE and

TRANSINDEX = lt_data-TRANSINDEX and

    FIELDNAME = 'MIN'.

 

    sort lt_tran_control by  RETAILSTOREID DESCENDING

BUSINESSDAYDATE DESCENDING

TRANSINDEx DESCENDING

    fieldgroup DESCENDING

fieldname DESCENDING

fieldvalue DESCENDING.

 

    delete ADJACENT DUPLICATES FROM lt_tran_control COMPARING RETAILSTOREID BUSINESSDAYDATE TRANSINDEX.

 

  LOOP AT lt_data ASSIGNING <ls_data>.

  read table lt_tran_control into ls_tran_control

  with key

     RETAILSTOREID = <ls_data>-RETAILSTOREID

BUSINESSDAYDATE = <ls_data>-BUSINESSDAYDATE

TRANSINDEX = <ls_data>-TRANSINDEX.

  if sy-subrc eq 0.

  <ls_data>-FIELDGROUP = ls_tran_control-FIELDGROUP.

  <ls_data>-FIELDNAME = ls_tran_control-FIELDNAME.

  <ls_data>-FIELDVALUE = ls_tran_control-FIELDVALUE.

  endif.

  ENDLOOP.

 

  REFRESH c_t_data.

 

  c_t_data[] = lt_data[].

 

   endmethod.



 

 

What internal table? I debug it and the error occurs in line 547 below..I'm wondering how to know the FIELD or DATA which causes the error..Do you have any idea?

 

delete.jpg

 

Thank you..

 

Loed


Viewing all articles
Browse latest Browse all 3189

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>