Skip to Content
0
Former Member
Jan 08, 2008 at 10:10 AM

deleting duplicate datas in start routine

371 Views

Hi Gurus,

i want to delete duplicate records in transfer structure. i don't have too much ABAP knowledge.

I read the related subjects in the forum and wrote this but it doesn't work .

Can you please check it.

Points will be asigned..

(ZVK008 is technical name of my data source)

PROGRAM CONVERSION_ROUTINE.

  • Type pools used by conversion program

TYPE-POOLS: RS, RSARC, RSARR, SBIWA, RSSM.

  • Declaration of transfer structure (selected fields only)

TYPES: BEGIN OF TRANSFER_STRUCTURE ,

  • Record number to be filled in case of adding row(s)

  • to enable 'error handling'

record TYPE rsarecord,

  • InfoObject 0MAT_PLANT: CHAR - 000018

MATNR(000018) TYPE C,

  • InfoObject : CHAR - 000040

TEXT_ZSTRSTOK001(000040) TYPE C,

  • InfoObject 0PLANT: CHAR - 000004

BWKEY(000004) TYPE C,

  • InfoObject ZGS0066: QUAN - 000013

LBKUM(000007) TYPE P

DECIMALS 000003,

  • InfoObject : UNIT - 000003

MEINS(000003) TYPE C,

  • InfoObject ZGS0020: CURR - 000013

SALK3(000007) TYPE P

DECIMALS 000002,

  • InfoObject 0CURRENCY: CUKY - 000005

WAERS(000005) TYPE C,

  • InfoObject 0FISCPER3: NUMC - 000003

LFMON(000003) TYPE N,

  • InfoObject 0FISCYEAR: NUMC - 000004

LFGJA(000004) TYPE N,

END OF TRANSFER_STRUCTURE .

  • Declaration of Datapackage

TYPES: TAB_TRANSTRU type table of TRANSFER_STRUCTURE.

  • Global code used by conversion rules

$$ begin of global - insert your declaration only below this line -

  • TABLES: ...

  • DATA: ...

$$ end of global - insert your declaration only before this line -

FORM STARTROUTINE

USING G_S_MINFO TYPE RSSM_S_MINFO

CHANGING DATAPAK type TAB_TRANSTRU

G_T_ERRORLOG TYPE rssm_t_errorlog_int

ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel datapackage

$$ begin of routine - insert your code only below this line -

  • DATA: l_s_datapak_line type TRANSFER_STRUCTURE,

  • l_s_errorlog TYPE rssm_s_errorlog_int.

Case I_DATASOURCE.

when 'ZVK008'.

Sort E_T_DATA by MATNR BWKEY.

DELETE ADJACENT DUPLICATES FROM E_T_DATA COMPARING by MATNR and BWKEY.

endcase.

  • abort <> 0 means skip whole data package !!!

ABORT = 0.

$$ end of routine - insert your code only before this line -

ENDFORM.