Skip to Content
0
Former Member
Nov 08, 2005 at 06:23 AM

update routines

29 Views

hi,

i need to convert few units to different form.can anybody help me with creating a routine. for example i need to convert 'tm' to 'tn'.points will be fully rewarded for this.

thanx,

Ravi.

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 ,

  • InfoObject : CHAR - 000050

  • ZXRECTYPE(000050) TYPE C,

  • InfoObject ZXDELIVTY: CHAR - 000050

  • /BIC/ZXDELIVTY(000050) TYPE C,

  • InfoObject ZXORDTYPE: CHAR - 000050

  • /BIC/ZXORDTYPE(000050) TYPE C,

  • InfoObject : CHAR - 000010

  • ZXSALEDAT(000010) TYPE C,

  • InfoObject 0FISCPER3: NUMC - 000003

  • FISCPER3(000003) TYPE N,

  • InfoObject 0FISCYEAR: NUMC - 000004

  • FISCYEAR(000004) TYPE N,

  • InfoObject ZXPARCODE: CHAR - 000032

  • /BIC/ZXPARCODE(000032) TYPE C,

  • InfoObject : CHAR - 000050

  • PARENT_DESC(000050) TYPE C,

  • InfoObject ZXSHIPTOC: CHAR - 000010

  • /BIC/ZXSHIPTOC(000010) TYPE C,

  • InfoObject 0NAME: CHAR - 000050

  • SHIP_NAME(000050) TYPE C,

  • InfoObject ZXLNGCODE: CHAR - 000050

  • SHIP_ZXLNGCODE(000050) TYPE C,

  • InfoObject 0INDUSTRY: CHAR - 000004

  • SHIP_0INDUSTRY(000004) TYPE C,

  • InfoObject ZXMARSEGC: CHAR - 000050

  • SHIP_ZXMARSEGC(000050) TYPE C,

  • InfoObject ZXACCMNGR: CHAR - 000050

  • SHIP_ZXACCMNGR(000050) TYPE C,

  • InfoObject ZXSOLDTOC: CHAR - 000010

  • /BIC/ZXSOLDTOC(000010) TYPE C,

  • InfoObject : CHAR - 000050

  • SOLD_NAME(000050) TYPE C,

  • InfoObject : CHAR - 000050

  • SOLD_ZXLNGCODE(000050) TYPE C,

  • InfoObject : CHAR - 000004

  • SOLD_0INDUSTRY(000004) TYPE C,

  • InfoObject : CHAR - 000050

  • SOLD_ZXMARSEGC(000050) TYPE C,

  • InfoObject : CHAR - 000050

  • SOLD_ZXACCMNGR(000050) TYPE C,

  • InfoObject ZXSTATCOD: CHAR - 000010

  • /BIC/ZXSTATCOD(000010) TYPE C,

  • InfoObject : CHAR - 000050

  • STAT_NAME(000050) TYPE C,

  • InfoObject : CHAR - 000050

  • STAT_ZXLNGCODE(000050) TYPE C,

  • InfoObject : CHAR - 000004

  • STAT_0INDUSTRY(000004) TYPE C,

  • InfoObject : CHAR - 000050

  • STAT_ZXMARSEGC(000050) TYPE C,

  • InfoObject : CHAR - 000050

  • STAT_ZXACCMNGR(000050) TYPE C,

  • InfoObject ZXCONSCOD: CHAR - 000010

  • /BIC/ZXCONSCOD(000010) TYPE C,

  • InfoObject : CHAR - 000050

  • CONS_TO_NAME(000050) TYPE C,

  • InfoObject : CHAR - 000050

  • CONS_ZXLNGCODE(000050) TYPE C,

  • InfoObject : CHAR - 000004

  • CONS_0INDUSTRY(000004) TYPE C,

  • InfoObject : CHAR - 000050

  • CONS_ZXMARSEGC(000050) TYPE C,

  • InfoObject : CHAR - 000050

  • CONS_ZXACCMNGR(000050) TYPE C,

  • InfoObject ZXLOCCODE: CHAR - 000018

  • /BIC/ZXLOCCODE(000018) TYPE C,

  • InfoObject ZXDESCODE: CHAR - 000018

  • /BIC/ZXDESCODE(000018) TYPE C,

  • InfoObject 0MATERIAL: CHAR - 000018

  • MATERIAL(000018) TYPE C,

  • InfoObject : CHAR - 000050

  • PROD_DESC(000050) TYPE C,

  • InfoObject ZXPRDGRP: CHAR - 000004

  • /BIC/ZXPRDGRP(000004) TYPE C,

  • InfoObject : CHAR - 000021

  • ZXSALES(000021) TYPE C,

  • InfoObject : CHAR - 000021

  • ZXSALESPR(000021) TYPE C,

  • InfoObject : CHAR - 000021

  • ZXSALESQT(000021) TYPE C,

  • InfoObject : CHAR - 000021

  • ZXSALESUN(000021) TYPE C,

  • InfoObject : CHAR - 000003

SALES_UNIT(000003) TYPE C,

  • InfoObject : CHAR - 000021

  • ZXSALESCO(000021) TYPE C,

  • InfoObject : CHAR - 000021

  • ZXSALESCH(000021) TYPE C,

  • InfoObject : CHAR - 000021

  • DOC_ITEMS(000021) TYPE C,

  • InfoObject ZXEXTDATE: CHAR - 000010

  • ZXEXTDATE(000010) TYPE C,

  • InfoObject 0VERSION: CHAR - 000003

  • VERSION(000003) TYPE C,

  • InfoObject 0RECORDMODE: CHAR - 000001

  • RECORDMODE(000001) TYPE C,

END 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 COMPUTE_SALES_UNIT

----


  • Compute value of InfoObject 0SALES_UNIT

  • in communication structure /BIC/CSZSD_SALES_001

*

  • Technical properties:

  • field name = SALES_UNIT

  • data element = /BI0/OISALES_UNIT

  • data type = UNIT

  • length = 000003

  • decimals = 000000

  • ABAP type = C

  • ABAP length = 000003

  • reference field =

----


  • Parameters:

  • --> RECORD_NO Record number

  • --> TRAN_STRUCTURE Transfer structure

  • <-- RESULT Return value of InfoObject

  • <-> G_T_ERRORLOG Error log

  • <-- RETURNCODE Return code (to skip one record)

  • <-- ABORT Abort code (to skip whole data package)

----


FORM COMPUTE_SALES_UNIT

USING RECORD_NO LIKE SY-TABIX

TRAN_STRUCTURE TYPE TRANSFER_STRUCTURE

G_S_MINFO TYPE RSSM_S_MINFO

CHANGING RESULT TYPE /BI0/OISALES_UNIT

G_T_ERRORLOG TYPE rssm_t_errorlog_int

RETURNCODE LIKE SY-SUBRC

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

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

  • DATA: l_s_errorlog TYPE rssm_s_errorlog_int.

----


  • Routine : ZEX_SALES_UNIT

*

  • Date Written : July 2005 *

  • Author : Shekar reddy *

  • Restrictions : None *

  • Description : UNIT

  • ASSOCIATED :Info Object - 0SALES_UNIT

----


  • MODIFICATIONS *

  • TrnsptReq Date Whom Description *

  • *

  • xxxx 15.08.2005 Reddys Initial Program *

----


SHIFT TRAN_STRUCTURE-sales_unit LEFT DELETING LEADING space.

RESULT = TRAN_STRUCTURE-sales_unit+0(3).

PEROFORM

  • returncode <> 0 means skip this record

RETURNCODE = 0.

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

ABORT = 0.

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

ENDFORM.

----


  • FORM INVERT_SALES_UNIT

----


  • Inversion of selection criteria for InfoObject 0SALES_UNIT

*

  • This subroutine needs to be implemented only for SAP RemoteCubes

  • (for better performance) and for the Report/Report Interface

  • (drill through).

*

----


  • --> I_RT_CHAVL_CS Ranges table for current InfoObject

  • --> I_THX_SELECTION_CS Selection criteria for all other InfoObjects

  • <-- C_T_SELECTION Selection criteria for fields of

  • transfer structure

  • <-- E_EXACT Flag: Inversion was exact

----


FORM INVERT_SALES_UNIT

USING I_RT_CHAVL_CS TYPE RSARC_RT_CHAVL

I_THX_SELECTION_CS TYPE RSARC_THX_SELCS

CHANGING C_T_SELECTION TYPE SBIWA_T_SELECT

E_EXACT TYPE RS_BOOL.

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

DATA:

l_s_selection LIKE LINE OF c_t_selection.

  • An empty selection means all values

CLEAR c_t_selection.

l_s_selection-fieldnm = 'SALES_UNIT'.

  • ...

  • Selection of all values may be not exact

e_exact = rs_c_false.

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

ENDFORM.