distribution year -> month

Question: Hi everybody, this is my question:

I've a year value foe a cost element, than I change it and I want to distribute (split) it montly (fiscal period).
Is it possible with standard formula or have I to use Fox ?
Thanks in advance !!!

PR

Answer:
I think it should be easy by using dist planning function.

you select two time char,, 0calmonth, ocalyear.

make entries in the 0calyear then use dist using keys and i guess it should work,,

revert back if you stil have prob

sanju

Answer:
FOX is not a good solution...

There are 4 'distribution' planning functions available and one of them will be most suitable.

I faced similar scenario in the past and I had used distribute by keys.

Answer:
here is the piece of code i developped for distribution.
the standard function results in a sender equal to zero. The FOX formula avoids this.
there is a condition to distribute data only if the sum of the 4 periods is different from the sum.

You fill the distribution keys in a BPS layout by costelement and period.

I hope it will help.

DATA TRIM TYPE 0CALQUART1.
DATA NAT TYPE 0COSTELMNT.
DATA EXER TYPE 0FISCYEAR.
DATA EXER1 TYPE 0FISCYEAR.
DATA PRIO TYPE 0PRIORITY.
DATA PROJ TYPE C_PROJET.
DATA ACT TYPE ZACTIVITE.
DATA EOBP TYPE ZEOBPART.
DATA SOCP TYPE 0PCOMP_CODE.
DATA SITE TYPE ZSITE.
DATA SSACT TYPE ZSSACT.
DATA VERS TYPE 0VERSION.
DATA EOB TYPE ZEOB2.

* Key variable

DATA KT1 TYPE F.
DATA KT2 TYPE F.
DATA KT3 TYPE F.
DATA KT4 TYPE F.

DATA TOT TYPE F.
DATA TOT1 TYPE F.


EXER = VARV(ZEXER).
VERS=VARV(ZVERSION).

EXER1=TMVL(EXER,1).

*begenning of distribution

FOREACH
TRIM,EXER,EXER1,NAT,VERS,PRIO,PROJ,ACT,EOB,EOBP,SOCP,SITE,
SSACT.

*Loading keys
KT1={ZKREPT3,1,NAT,1900,#,#,#,#,#,#,#,#,#} .

KT2={ZKREPT3,2,NAT,1900,#,#,#,#,#,#,#,#,#} .

KT3={ZKREPT3,3,NAT,1900,#,#,#,#,#,#,#,#,#} .

KT4={ZKREPT3,4,NAT,1900,#,#,#,#,#,#,#,#,#} .


*Condition on the sum

TOT=
{0AMOUNT,1,NAT,EXER,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE,
SSACT}+
{0AMOUNT,2,NAT,EXER,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE,
SSACT}+
{0AMOUNT,3,NAT,EXER,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE,
SSACT}+
{0AMOUNT,4,NAT,EXER,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE,
SSACT}.
IF
{0AMOUNT,
#,NAT,EXER,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE,SSACT}
<> TOT.


*ANNEE 1
*Trim 1
{0AMOUNT,1,NAT,EXER,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE,
SSACT}= {0AMOUNT,
#,NAT,EXER,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE,
SSACT}*KT1.


*Trim 2

{0AMOUNT,2,NAT,EXER,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE,
SSACT
} = KT2*{0AMOUNT,
#,NAT,EXER,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE,SSACT}.


*Trim 3

{0AMOUNT,3,NAT,EXER,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE,
SSACT
} = KT3*{0AMOUNT,
#,NAT,EXER,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE,SSACT}.
*Trim 4

{0AMOUNT,4,NAT,EXER,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE,
SSACT} = KT4*{0AMOUNT,
#,NAT,EXER,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE,SSACT}.

ENDIF.

*Condition année 2

TOT1=
{0AMOUNT,1,NAT,EXER1,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE
,SSACT}+
{0AMOUNT,2,NAT,EXER1,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE
,SSACT}+
{0AMOUNT,3,NAT,EXER1,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE
,SSACT}+
{0AMOUNT,4,NAT,EXER1,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE
,SSACT}.
IF
{0AMOUNT,
#,NAT,EXER1,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE,SSACT}
<> TOT1.


*Année 2 trim 1
{ 0AMOUNT,1,NAT,EXER1,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,
SITE,SSACT} = KT1*{0AMOUNT,
#,NAT,EXER1,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE,SSACT}.

*Annee 2 Trim 1
{ 0AMOUNT,2,NAT,EXER1,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,
SITE,SSACT} = KT2*{0AMOUNT,
#,NAT,EXER1,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE,SSACT}.
*Annee 2 Trim 3
{ 0AMOUNT,3,NAT,EXER1,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,
SITE,SSACT} = KT3*{0AMOUNT,
#,NAT,EXER1,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE,SSACT}.

*Annee 2 Trim 4
{ 0AMOUNT,4,NAT,EXER1,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,
SITE,SSACT} = KT4*{0AMOUNT,
#,NAT,EXER1,SOCP,PRIO,VERS,PROJ,ACT,EOB,EOBP,SITE,SSACT}.

ENDIF.

ENDFOR.

ENDFOR.

Answer:
You can either use one of the 4 distribution functions or FOX. It depends on if you are doing even split i.e. 1/12 per month, based on reference of last year's total data, or something more specific...

Hope this helps, Mary
Copyright ?2007 - 2008 www.jt77.com