Vous êtes sur la page 1sur 51

PTP Spend Analysis

Design Approach and Research


Findings

Agenda

Background

Purchase Order Stream design approach


analysis and Conclusion

Special ledger stream Design approach


and Conclusion

Special ledger User !it Per"ormance


Tunings option and Conclusion #ased on
Special ledger Stream decision

Design $Architecture Team
%nitial Design &'(ar)*une +,,-.
Data Architect & Tam Doan '%B(.) B/ Team 0ead
Data (odeling$B/ technical Support & Ra1ee2 3umar '%B(.
Data (odeling& Su1ata 4hosh'Sony.
*uly)Till 5o2em#er +,,-&
Data Architect & Tam Doan '%B(.6 B/ Team 0ead
Data (odeling& Su1ata 4hosh'Sony.$Ar1un 3amarsu
*anuary +,,76Till Date&
Design and Architecture Discussion & Ra1ee2 3umar %B(.

B/ technical Data modeling & Ra1ee2 3umar %B(.


B/ technical Data modeling & Ar1un 3amarsu'Sony.


!isting Design
Purchase
Order Stream
Special Ledger
Stream

!isting Design Scala#ility For
Special ledger Stream

%n production System % tried to "etch PTP


Speci"ic Data data "rom Special ledger
stream 'SP0 ODS. and it took 8,)87
minutes "rom 8-, million records e!isted
in SP0 ODS 9

Root Cause

:urdle "aced to make the design
operational

Special ledger stream #eing a #usiness critical


stream a"ter 4o li2e and Spend analysis ;as not
high priority "or user 9

Special 0edger Stream ODS Data 'Duplicate


data and una2aila#ility. una2aila#le "or making
the PTP Stream operational 9

(inutes o" "inal Decision sessions not a2aila#le


#ased on that design ;ent into production
9)))/hich resulted Design session a"ter 4o 0i2e 9


Precautionary Action and measure
taken

Researched the design and Documented


all aspects and Assumption on ;hich
design is ;orking 9

Researched and Documented all action


items and points suggested in last +
Design re2ie; session9

""ort to document all minutes o" decision


making session to a2oid Duplicate e""ort in
"uture 9

Reason "or PTP design Session)%

During the Architecture$Design change "or


Special ledger Stream ODS ;as remo2ed
"rom Architecture may #e due to some
per"ormance reason 9

PTP Stream ;as not productional as it


;as le2eraging some data "rom SP0 ODS
;hich is not ha2ing data in production9

5e; Design o" Special 0edger

Existing PTP Stream is Leveraging some Data from SPL ODS
ZOSPLDTL
Enhancement
Doc Types& <S = 3R
Doc Types& *<= <4=
*4= *:

SPL Design Change
ZOSPLDTL
Enhancement
Doc Types& <S = 3R
Doc Types& *<= <4=
*4= *:

Design Session )%
Design Review Session !
"# $ PTP %Spend &nal'sis(Design Review )eeting held on *e+ruar' ,- .//0 at
/1// am in 2a'den ..0.!
&ttendees!
Ravi Patel
&r3un 4amarsu
Ra3eev 4umar
)adhu 4olli
Sandeep 5upta
&genda
89 Re2ie; B/ design "or PTP Spend Analysis reporting stream
+9 !planation o" all enhancements on the R$> associated ;ith SP0 Detail
and Purchasing
>9 !planation o" the data "lo; and model o" the Purchasing stream and SP0
Detail stream at each le2el o" the "lo;
-9 !planation o" ho; the in"ormation is consolidated in B/
79 !planation o" ;hy the in"ormation is consolidated as per design in B/

Background Agenda and 3ey
Decision
"ac6ground! The PTP spend analysis reporting stream ;as de2eloped #ut could not #e made
product ional since go li2e9 Some reasons "or this stream not #eing product ional ;ere&
89 One o" the data sources "or this stream ;as SP0 Detail ODS and this ODS had duplicate $ #ad
data due to data load errors
+9 Other reports like Pro1ects ? O2erheads= Special ledger reports ;ere more critical and the
team ;as "ocused on resol2ing issues around them
>9 The Spend report ;as not re@uired #y the users immediately a"ter go li2e
/hile discussing ;ays to make this stream product ional= the team had se2eral design
con2ersations and it ;as decided to ha2e a design re2ie; session to go o2er the design ?
rationale #ehind the design9
4e' Decisions
The B/ design "or PTP Spend Analysis reporting stream looks "ine9 + options ;ere discussed to
make the reporting stream productional9
Option was to see if the data currentl' o+tained from the SPL Detail ODS can +e
o+tained from the SPL Detail Cu+e
Option .- in case option is not possi+le7 to have a plan for reloading SPL Detail ODS with
accurate data
5aming Con2ention o" the B/ o#1ects to #e re2ie;ed and changed i" the con2ention is not
"ollo;ed
User e!it codes need to #e commented ;here the comments are missing
The 2ersion A changes made in the system need to #e documented in the "unctional specs9

Research "inding and Discussion "or
additional points a"ter )% Re2ie; Session
&r3un 6amarsau!
89 The data "lo; diagram needs to #e re2ised9
The ta#les BFR8CATC40CCO(CD and BFR8CATCPOR4CCCD are used as re"erence in the user e!it to deri2e the (aterial 4roup and the Purchasing
OrganiDation as these "ields are not a2aila#le in the BT0A ta#le9 :ence the same are deri2ed as these are re@uired "or the PO and these "ields are
"illed in the %n"osource9 :o;e2er= this could ha2e #een a2oided as ;e are getting the POEs in a separate %n"osource9 5eed to #e researched as to ho;
this can #e achie2ed9
+9 BS4 is a monster in R$> and it gro;s at a rapid pace9 /hen ;e @uery on this ta#le= it can create per"ormance issues "or retrie2ing in"ormation and
SAP has standard "unction modules to take care o" this9 % ;ould pre"er using this "unction module "or getting in"ormation9 An other ad2antage to this is
"le!i#ility9 At a later stage= i" there is a need to get additional "ields= this ;ould #e easy9
>9 Currently= the ODS has only one report A(+, 'Special 0edger detail ODS data. and % am not sure o" this is #eing used #y any user9 %" this is taken
care o"= % do not see any necessity "or ha2ing this ODS and deleting this ODS could #e o" great help in terms o" loading data and other per"ormance
related issues9
-9 There is some data ;hich is #eing repeated "or e!ample in the SP0 Detail9 % do not see any reason "or ha2ing the purchasing in"o stored in this cu#e
as ;e can al;ays ha2e a multipro2ider ;hich reads the PO num#er "rom the SP0 detail and can get the re@uired in"ormation "rom the PO cu#e9
79 /hen ;e are not reporting out o" the Spend and Committed 5on)PO and 0ocal Accounting$5on SAP PO cu#es separately ';e ha2e one @uery using
a multipro2ider.= to simpli"y issues= can ;e not com#ine the cu#es and get the re@uired in"ormation9 This design ;ould #e more simpler and easy to
maintain9
F9 The standard naming con2entions "or the %n"ocu#es are not "ollo;ed and this needs to #e changed9
G9 A 2alidation procedure ;ith R$> needs to #e determined9
Ravi Patel !
89 a9 nhancements made to the SP0 Detail datasource may not #e necessary and should #e researched to remo2e9 This includes the
enhancement "or BFR8CATC40CCO(CD and BFR8CATCPOR4CCCD9
+9 #9 Research the use o" the standard deli2ered F( to read the BS4 ta#le "or the enhancement to the SP0 Detail Datasource9
>9 c9 Research the remo2al the e!isting SP0 ODS ) this creates a redundancy o" data in the data ;arehouse9
-9 d9 Research the remo2al o" the e!tension o" Purchasing in"ormation 2endor and purchasing org in the SP0 ) F% 0ine %tem stream9

Design Discussion )%%
.nd Design Review Session for PTP %Spend &nal'sis(!,
th
)arch .//0 .!// to 8!// Pm- 2a'den
Place ...0
"# $ PTP %Spend &nal'sis(Design Discussion!
9nvitees!
&r3un 4amarsu
&lex
:amie :ohnson
Ravi Patel
Sandeep 5upta
)adhu6ar 4olli
Soumen 5hosh
Tugutla Redd'
2arihara Srinivasan
&genda!
Explanation of the data flow and model of the Purchasing stream and
SPL Detail stream for at each level of the flow for new team 1
Review of all 6e' point discussion and research from st Design
review Session and to arrive at a conclusion to ma6e Stream
productional1

Action %tem Points "or Research
a"ter Discussion )%%

Testing and Research on possi#ility o" change in account


assignment details and impact on e!isting design 9

Con"irming ;ith user "or the re@uirement o" history


preser2ation 9

Research on !tra code remo2al "or PO details "or R


and R5 Document type and Con"irm ;ith the user cause
a"ter remo2ing this "rom SP0 data source User ;ill not
ha2e the "unctionality o" 1ump @uery e!cept PO and
PO%T( 9

Research on Decoupling the stream "rom SP0 data


source and impact "or the same 9

Aggregation o" data "rom SP0 detail cu#e and using this
data "or Spend analysis multicu#e reporting 9

Account Assignment 335 Data
Change
Tested the Delta for data coming from E44; for PO <=/////0=%Change in account
assignment details( 1Since right now an additive delta for E44; is coming +ased on
&ED&T%Date on which the record was created( -it will not accommodate an' changes in
delta apart from new PO created in E44; ta+le 1
Changes to an' filed in E44; Can capture onl' on full upload through E44; 1
2ere are the option and suggestion for the same 1
*ull Load !
6 %" ;e ;ant to capture the changes "or 335 ta#le ;e need to disa#le the delta option "or 335 Data source
and do a "ull load ;hich ;ill capture all changes in 335 "or account assignment 9This decision ;ill depend
on Holume o" PO in production 9
Production PO &ssumption!
6 Currentl' we have >/// PO Created in < months 1
6 &s per functional Team PO creation is .///?)onth 1
6 Data &fter 0 @ear at Existing Rate ! ./-///PO
6 Data &fter / @ear at Existing Rate ! .</-///PO
Delta Load with &ED&T%PO Creation Date(!
6 /ith !isting Pseudo Delta ;ith ADAT it ;ill not Consider the changes occurred in 335 "or !isting PO
this delta ;ill capture 335 details only "or ne; PO created 9
E44;
E44;
E44O
E4PO
E44O
E4ET
Delta Delta
*ull Load
Existing Design #hich #ill Capture E44; Changes Onl' for ;ew PO Created in
E44; 1
Pseudo +efore
image Delta on
&ED&T

Functional Decision "or 335
Changes

E44; Changes *acts in Production !


%n RPR % ha2e seen that there are around 8A,
changes applied to 335 ta#le as o" "or all PO
created ;hich is around +)7I o" all PO 9So in
that case ;e need to take a decision that
;hether ;e ;ant to capture the changes in
335 "or the same along ;ith ne;ly created PO
9
5o))) 5o Design Change
%F Bes 6 Proposed Design ahead
Full 0oad
Delta 0oad
E44;
E44;
E44O
E4PO
E44O
E4ET
*ull Load
Delta Delta
*ull Load
Proposed Design #hich #ill Capture E44; Changes in Existing design %Option$
9%ED(
Disa+le
the Delta
Option
Pro+lem of Delta Load is still
Existing if we go with this Solution1
Action %tem "or Decision)335&
Full )))Bes
5o )))Proposed delta
Option "or !isting Design
Data &ssumption!
Currentl' we have >/// PO Created in <
months 1
&s per functional Team PO creation is
.///?)onth 1
Data &fter 0 @ear at Existing Rate ! ./-///PO
Data &fter / @ear at Existing Rate !
.</-///PO
E44;
E44;
E44O
E4PO
E44O
E4ET
*ull Load
Delta Delta
*ull Load
Delta
;ew ODS
;ew ODS for Sending
Change Document to Cu+e
Proposed Design for %Delta A E44; Changes (option$99%ED(
&dvantage! Pro+lem of E66n Changes
and Delta is Resolved 1
Existing 9ssue %*ull Load twice( ! Since we are
having 9nfo set which is having and outer 3oin
+etween ZOPBRE44; and ZPBRCO/ 1
So Due to 9nfo set ever' time on 9nfo set level it
will 3oin the full records and we have to do full
load even if we are getting Delta from
st
level1
/hy ;e are using %n"osetJJ
E44;
E44;
E44O
E4PO
E44O
E4ET
True delta
Delta Delta
*ull Load
Delta
;ew ODS
;ew ODS for Sending
Change Document to Cu+e
Proposed Design for %Delta A E44; Changes (option$999%ED(
&dvantage! Delta Can +e achieved at
data Extractor Level 1
Existing 9ssue %*ull Load once( ! Since we are
having 9nfo set which is having and outer 3oin
+etween ZOPBRE44; and ZPBRCO/ 1
So Due to 9nfo set ever' time on 9nfo set level it
will 3oin the full records and we have to do full
load even if we are getting Delta from true delta
Extractor1
/hy ;e are using %n"osetJJ
)a6e Dtrue delta D extractor which can +e
achieved +' writing a "# specific function
module on top of the E44; ta+le which
would ma6e it delta ena+led 9

Report Records to Add "rom
di""erent ODS '%n"o set Su#stitute.
PO PO 9T) PO Ealue 9nv &mt PO Ft'
A 8, 8,, 8,, 8,,
B 8, 8,, 8,, 8,,


PO PO 9T) &ssignment G
&ccount SeH1
;o1
A 8, 8,,
B 8, -, 8
-, +
+, >
PO PO 9T) PO Ealue 9nv &mt PO Ft' G &ssignment
&ccount SeH1
no1
A 8, 8,, 8,, 8,, 8,, 8
B 8, -, -, -, -, 8
8, -, -, -, -, +
8, +, +, +, +, >
ZPPBRCO/ ZPBRCE44;
*inal La'out ReHuired
Ale! Kuery Regarding %n"oset Design Session)%%

Option 6%'%S.= ODS
PO PO 9T) PO Ealue 9nv &mt PO Ft' G &ssignment
&ccount SeH1
no1
A 8, 8,, 8,, 8,, L L
B 8, 8,, 8,, 8,, L L
-, 8
-, +
+, >
;ot Possi+le as #e have different 4e' in +oth ODS 1

Option)%%'%S.SAP B/ %n"oset Kuery

%tMs not possi#le cause in report ;e are


ha2ing lot o" na2igational attri#ute ;hich
;e ;ill #e using in report 9

Biggest Disad2antage o" the in"o set @uery


is that you ;ill not ha2e na2igational
attri#ute a2aila#le to you "or reporting
purpose 9

Option)%%% '%S.SAP ABAP %n"oset
%ts 0e"t outer 1oin "or PO and PO %T( #et;een + ODS 9/hich ;ill
gi2e the records "or PO ;ith account assignment details and ;ithout
account assignment Details9

Analysis "or clu##ing the Data
Parameter Option I9%9S(- ODS Option$99%9S( -
S&P "# 9nfoset
Fuer'
Option$999 %9S( S&P &"&P
9nfoset
*inal
Result
Data
merging
;ot Possi+le
Possi+le without
Calculation
Possi+le without
Calculation
Option$999
%9S(S&P
&"&P
9nfoset
;avigation
al &ttri+ute
;?& ;ot Possi+le Can feed the Data in
Cu+e to have
navigational &ttri+ute 1
Option$
999%9S( S&P
&"&P
9nfoset
Data Source
Creation
;?& ;ot Possi+le #e Can Create Data
source on &"&P info set
for feeding another Data
Target
Option$999
%9S(S&P
&"&P
9nfoset
Conclusion
;O ;O @es
Option$999
%9S(S&P
&"&P
9nfoset
!isting Data Clu##ing design Approach is #est optimal solution "or this kind o"
situation9

Can ;e Replace %n"o set ;ith Some
5e; Design Change in e!isting
Situation ;hich Capture 335
Changes &
Point for &ssumption !
*lexi+ilit'
Performance
Transformation ? Calculation
E44O
E4PO
E44O
E4ET
Delta Delta
;ew ODS for Sending
Change Document to Cu+e
Enhancement Option 9%9RD(! for Enhancing E44; Data in L9S Extractor
Enhancement Of -&ccount &ssignment Details- &sset
;um+er- Profit Center- 5L &ccount - Cost Center- #"S
Element- )P) ;um+er into &ppend Structure )CE4PO"#
for E4PO and #riting the user exit code to fill it 1
Pro+lem !Tested the Delta Extractor +ut it
seems change in account assignment is
not captured in Existing delta management
1So 9n that Case even if we enhance Delta
for E44; details will +e missing and we
will not get correct Data1
E44;
E44;
E44O
E4PO
E44O
E4ET
Delta Delta
Option 99%9RD(! )aster Data1
PO )aster Data
Delta
)a6ing PO as )aster Data and
*ollowing as ;avigational
&ttri+ute !
&ccount &ssignment Details-
&sset ;um+er- Profit Center- 5L
&ccount - Cost Center- #"S
Element- )P) ;um+er
Ad2antage &Simple Design asy to
(aintain
Disad2antage& All Calculation "or
(ultiple Account Assignment ;ill #e
carried out at Kuery 0e2el9
Per"ormance o" @uery ;ill #e a""ected 9
Suggested +' 2ari?Ravi
Design Discussion $99
5ot a Fle!i#le Design "or "uture
per"ormance 9

Comparison o" !iting design ;ith
5e; Options 9
Comparison /ith Design Option %'%RD.9
1 9n option 9 we will alwa's miss the changes occurred in account assignment Details since change in
account assignment is not captured in Existing delta management 1
.1 9n Existing Design we can get the E44; Changes +' *ull load and Can also ma6e it Delta Ena+led 1
Comparison /ith Design Option %%'%RD.9
1 Poor Huer' Performance! &ll Calculation for )ultiple &ccount &ssignment will +e carried out at
Fuer' Level1 Performance of Huer' will +e affected which will 6eep on increasing as num+er of PO
increase in Production and we will face the pro+lem ever'time we run the Huer' +ut in existing Design it
will +e during loading the data that is one time a da' or wee61
.1 #e donJt have an' contingenc' flexi+le option with master data design option if due to +usiness
decisions PO num+er increase ?&fter 0 'ear down the line no of PO in production increase1 9n that case
we have to go for new design 1
81 #ith the existing Design if +' the time or due the +usiness decision PO in production is increased we
can go for ODS Delta option or True Delta achieved +' writing a "# specific function module on top of
the E44; ta+le which would ma6e it delta ena+led 9
Suggestion & !isting Solution ;ith slight modi"ication #ased on
Functional Decision9

Analysis "or Design Approach
Parameter Enhancing L9S Option I
9%9RD(
%!isting Design . PO )aster Data$
99%9RD(
*inal
Result
Fle!i#ility
;?&
*lexi+ilit' %Can +e
Delta Ena+le(
;on *lexi+ilit' !#e
cannot change
Design even if PO
volume increase in
future
Existing
Design
Per"ormance
;?&
One Time During
Load1
Performance can
+e controlled as
Delta load 1
Performance Ever'
time user Run the
Huer'
Cannot +e
controlled without
architecture change1
Existing
Design
Trans"ormation $
Calculation
;?&
&t Cu+e Level Fuer' Level Existing
Design

Final Solution
E44;
E44;
E44O
E4PO
E44O
E4ET
*ull Load
Delta Delta
*ull Load
Existing Design 9ncluding Spend and Committed and Location &ccounting
ZOSPLDTL
Enhancement
*or RE and
R; Doc T'pe
Doc Types& <S = 3R
Doc Types& *<= <4=
*4= *:
Doc Types& R= R5
Sap 9nvoice ;o1
*9 Doc T'pe
Posting Date
E44;
E44;
E44O
E4PO
E44O
E4ET
*ull Load
Delta Delta
*ull Load
9nitial Design 9ncluding Spend and Committed and Location &ccounting
ZOSPLDTL
Enhancement
*or RE and
R; Doc T'pe
Doc Types& <S = 3R
Doc Types& *<= <4=
*4= *:
Doc Types& R= R5
Sap 9nvoice ;o1
*9 Doc T'pe
Posting Date
E44;
E44;
E44O
E4PO
E44O
E4ET
*ull Load
Delta Delta
*ull Load
Existing Design *ull *low %Change option Suggested +ased on Change in SPL Stream(
ZOSPLDTL
Enhancement
*or RE and
R; Doc T'pe
Doc Types& <S = 3R
Doc Types& *<= <4=
*4= *:
Doc Types& R= R5
Sap 9nvoice ;o1
*9 Doc T'pe
Posting Date
E44;
E44;
E44O
E4PO
E44O
E4ET
*ull Load
Delta Delta
*ull Load
Existing Design Suggestion Change Option 9
Enhancement
*or RE and
R; Doc T'pe
Doc Types& <S = 3R
Doc Types& *<= <4=
*4= *:
Doc Types& R= R5
Sap 9nvoice ;o1
*9 Doc T'pe
Posting Date
Taking the Data Directly
From SP0 in"o source 9
Reason and point to
neglect the option is since
we will +e having one init
going to different target
1So +oth will +e dependent
and if for Some technical
Reason li6e data+ase loc6
error other stream will +e
affected
E44;
E44;
E44O
E4PO
E44O
E4ET
*ull Load
Delta Delta
*ull Load
Existing Design Suggestion Change Option 99
ZOSPLDTL
Enhancement
*or RE and
R; Doc T'pe
Doc Types& <S = 3R
Doc Types& *<= <4=
*4= *:
Doc Types& R= R5
Sap 9nvoice ;o1
*9 Doc T'pe
Posting Date
(ake the ODS PTP Speci"ic
Since SP0 is not using it
Reason and point to
neglect the option is since
we will +e having one init
going to different target
1So +oth will +e dependent
and if for Some technical
Reason li6e data+ase loc6
error other stream will +e
affected
Suggestion& %" ;e make it
PTP Speci"ic since same
kind o" data ;ill #e "lo;ing
in cu#e and ODS ;e can
go ;ith init into cu#e as
;ell as ODS "rom Technical
point o" 2ie; 9Data #ase
issue can occur any;here
#ased on system state 9
E44;
E44;
E44O
E4PO
E44O
E4ET
*ull Load
Delta Delta
*ull Load
Existing Design Suggestion Change Option 999
Enhancement
*or RE and
R; Doc T'pe
Doc Types& <S = 3R
Doc Types& *<= <4=
*4= *:
Doc Types& R= R5
Sap 9nvoice ;o1
*9 Doc T'pe
Posting Date
Suggestion!PTP Stream will +e
dependent on Special Ledger Details
Cu+e 1Since Special ledger Details cu+e
is mission Critical than PTP Spend
&nal'sis &ssumption is that Data will +e
alwa's availa+le in the stream 1#e Can
go with the Design if we are comforta+le
from *unctional point of view as
dependenc' 1
E44;
E44;
E44O
E4PO
E44O
E4ET
*ull Load
Delta Delta
*ull Load
Existing Design Suggestion Change Option 9E
Enhancement
Doc Types& R= R5
Create an aggregate on SPL
Cu+e which is having &ll Data
Enhanced *or PTP Stream
Pro#lem Faced &Halidation "or Spend
analysis 5ot Possi#le "iltering #y
Document type as accounting document
"ield is not coming "rom PO Stream 9
Ealidation ma' +e possi+le +' Source
S'stem which is a custom field
created +ased on Cu+e and Data
Ealidation!
documents ;here the 40 account
e@uals one o" accounts stored in
ta#le BFR8CATC40CCO(CD
Documents type e@uals & <4 = <S=
*4 =:= 3R= *<
Decoupling is
never possi+le in
future and Spend
anal'sis will +e
Directl' affected
from SPL Stream
cu+e %;o wor6
&round for
reporting if SPL
cu+e is down (
E44;
E44;
E44O
E4PO
E44O
E4ET
*ull Load
Delta Delta
*ull Load
Existing Design Suggestion Change Option E
ZOSPE;D
Enhancement
Doc Types& <S = 3R
Doc Types& *<= <4=
*4= *:
Doc Types& R= R5
5eneric Data
Source on @tlea or
"seg
Doc Types& R= R5
)erge Doc T'pes! RE- R; information
with one of Existing Cu+e to remove
:ump Huer' 1
5o dependency
on SP0 Stream

5e; Aspects "or SP0

Possi#ility o" changing records in "ollo;ing


ta#les9
6
@*RC&TC5LCCO)CD
6
@*RC&TCPOR5CCCD

5ote & Since User has Con"irmed that it


can #e changed

Please "ind the Design option Suggestion


"or the same 9
E44;
E44;
E44O
E4PO
E44O
E4ET
*ull Load
Delta Delta
*ull Load
Existing Design Suggestion Change Option *or Change in Custom Ta+le E9
Doc Types& <S = 3R
Doc Types& *<= <4=
*4= *:
Doc Types& R= R5
<SPC4$0 master
@*RC&TC5LCCO)CD @*RC&TCPOR5CCCD
<SPC4$l
ZSPCCOCode
@*RC&TC
5LCCO)CD
@*RC&TCP
OR5CCCD
<SPCCoCode(ast
Dependenc' Cannot +e
removed from SPL Stream we
have to ta6e Data either from
SPL Detail Cu+e of -ma6e SPL
ODS PTP Specific for the
same 1

!tra Code Remo2al "or PO details
"or R and R5 "rom SP0 user !it

/e can create use *ump @uery as a su# @uery


;hich ;ill Pass the 2alue data set "or "inance
data 'Accounting document num#er =F%
Document type= Posing Date. #y Replacement
path in that case ;e donMt ha2e to *ump on
another @uery 9%n that ;ay ;e can remo2e the
code "rom SP0 user !it "or Additional PO
details ;hich is currently pro2iding the
"unctionality to 1ump "rom main @uery to 1ump
@uery "or PO details like material group 9

Solution Based on Priority

Design for Change in custom ta+le ! Existing Design


Suggestion Change Option *or Change in Custom
Ta+le E9% &dvantage! Extra Bser enhancement
removal from existing SPL Stream(

/ith User !it N dependency on SP0 Stream & !isting


Design Suggestion "or Change Option %=%% and %%%9

/ith User !it in SP0 Stream N Strong Dependency N


Halidation on @uery 0e2el "or Custom De"ined "iled ;hich
is populated manually N Aggregate &!isting Design
Suggestion "or Change Option %H

Decoupling and Remo2ing User !it "rom SP0 Stream


&!isting Design Suggestion "or Change Option H

Per"ormance Option "or SP0
!tractor

"SE5 is a monster in R?8 and it grows at a


rapid pace1 #hen we Huer' on this ta+le- it
can create performance issues for retrieving
information and S&P has standard function
modules to ta6e care of this1 9 would prefer
using this function module for getting
information1 &n other advantage to this is
flexi+ilit'1 &t a later stage- if there is a need to
get additional fields- this would +e eas'1

9nternal Ta+le
Solution and suggestion!
9 have anal'Ked the code and into existing code also we are using all 6e's for fetching the data from "seg
except one statement 1So for existing code also from performance point of view we are using all primar'
6e' 1
Please "ind my research "indings "or more impro2ement "or the same9
st Solution %9nternal ta+le(!
% can declare an internal ta#le "or the "ollo;ing "ields9
%TABCBS4=
3OST0 TBP 3OST0 = OCost Center
A5058 TBP A5058 = OAsset 5um#er
0%F5R TBP 0%F5R = OHendor
LRF+ TBP LRF+ = OHendor "or PCARD
B05 TBP B05 = OPurchasing document num#er
B0P TBP B0P = O%tem num#er o" purchasing document
3OART TBP 3OART = OAccount Type
RBU3RS
B05R
RBAR
BU<% 9
P 4et the Bseg data "or all document type and "or all entries in CCTCData9 '"efore LOOP into CCTCD&T&
9;TO #CCCTCD&T& statement( in internal ta+le 1
&dvantage! Bse the internal ta+le data for all derivation in code instead of calling "seg ever' time1
Disadvantage! Since CCTCD&T& will +e having lot of data so it will not +e good suggestion for this 6ind of
solution1

#or6 &rea
.nd Solution %#or6 area( !
P /e ;ill add some more "ields in !isting ;ork area as "ollo;s &
RBU3RS
B05R
RBAR
BU<% 9
Expected Data flow for the solution!
0OOP AT CCTCDATA %5TO /CCCTCDATA 9
For the "ollo;ing document type conditions9
%F
/CCCTCDATA)R<<B0ART Q E<4E O0ocal Accounting System
OR /CCCTCDATA)R<<B0ART Q E<SE OSpent and Committed
OR /CCCTCDATA)R<<B0ART Q E*4E O*D
OR /CCCTCDATA)R<<B0ART Q E*:E O*D
OR /CCCTCDATA)R<<B0ART Q E3RE OSAPC5O5CPO
OR /CCCTCDATA)R<<B0ART Q E*<E OPCARD
OR /CCCTCDATA)R<<B0ART Q ERE OSap System
OR /CCCTCDATA)R<<B0ART Q ER5E9OSap System
S0CT all corresponding data "rom #seg into /ork area "or #seg "or the "ollo;ing
Conditions9
/:R BU3RS Q /CCCTCDATA)RBU3RS
A5D B05R Q /CCCTCDATA)B05R
A5D 4*A:R Q /CCCTCDATA)RBAR
A5D BU<% Q /CCCTCDATA)BU<% 9
&dvantage! ;eed to fetch "seg Data onl' once and in whole code 9 can use the same wor6 area 1Onl' reHuired
field for existing reHuirement will +e in wor6 area so in that case we donJt pull unnecessar' fields in
program which is more effective performance point of view 1
Disadvantage! #e need to add filed in future if new field come in 1

Function (odule 'ReadCBseg.
*unctional )odule Solution !
0OOP AT CCTCDATA %5TO /CCCTCDATA 9
For the "ollo;ing document type conditions 9
%F
/CCCTCDATA)R<<B0ART Q E<4E O0ocal Accounting System
OR /CCCTCDATA)R<<B0ART Q E<SE OSpent and Committed
OR /CCCTCDATA)R<<B0ART Q E*4E O*D
OR /CCCTCDATA)R<<B0ART Q E*:E O*D
OR /CCCTCDATA)R<<B0ART Q E3RE OSAPC5O5CPO
OR /CCCTCDATA)R<<B0ART Q E*<E OPCARD
OR /CCCTCDATA)R<<B0ART Q ERE OSap System
OR /CCCTCDATA)R<<B0ART Q ER5E9OSap System
Call function module RE&DC"SE5 for the following condition 1

/:R BU3RS Q /CCCTCDATA)RBU3RS
A5D B05R Q /CCCTCDATA)B05R
A5D 4*A:R Q /CCCTCDATA)RBAR
A5D BU<% Q /CCCTCDATA)BU<% 9
;ow 9 will have the L"seg Structure and 9 donJt need to fetch "seg data for an' other
condition 19 can use this g L"seg line item for rest for data and derivation 1

Comparati2e Analysis "or Solution #ased on
Per"ormance and Fle!i#ility
9nternal Ta+le Solution is not suggested as we are expecting
huge data in Extractor in that Case 9nternal ta+le siKe will +e
+ig and S&P suggest that for huge data processing internal
ta+le solution is not good if we have some other optimal
solution for the same 1
#or6 area solution is +etter than *unction module for
performance point of Eiew +ut wor6 area Solution will +e more
effective in terms of performance as we will have onl' reHuired
fields for the program1 "ut in *unction module Solution we will
have all data of +seg into L"seg 1
Performance wise #or6 area solution will +e +etter +ut 9f we
use the standard S&P function module- if we need additional
fields referenced at a later stage- we need not modif' the code
again and itJs a flexi+le Solution for future addition A
performance point of view an effective Solution 1

Vous aimerez peut-être aussi