Hi Experts,
I need to migrate on BPS application into IP application and FOX formula is one of them.
The BPS code is as follows:
DATA CALMONTH TYPE 0FISCPER.
DATA CALYR TYPE 0FISCYEAR.
DATA CALMON_COPYFROM TYPE 0FISCPER.
DATA OFFSET TYPE I.
DATA PERIOD TYPE 0FISCPER3.
OFFSET = 1.
PERIOD = 000.
CALYR = VARV('VFISCYR0').
CALMON_COPYFROM = CONCAT(CALYR, PERIOD).
PERIOD = 001.
IF {CALMON_COPYFROM, 000} <> 0.
DO.
CALMONTH = TMVL(CALMON_COPYFROM, OFFSET).
{CALMONTH, PERIOD} = {CALMON_COPYFROM, 000}.
OFFSET = OFFSET + 1.
PERIOD = PERIOD + 001. IF PERIOD = 013. EXIT. ENDIF.
ENDDO.
ENDIF.
{CALMON_COPYFROM, 000} = 0.
When I copy and pasted the same code in IP, it was giving me error as below:
![FOX error.jpg]()
So, I replaced the code as below:
DATA CALMONTH TYPE 0FISCPER.
DATA CALYR TYPE 0FISCYEAR.
DATA CALMON_COPYFROM TYPE 0FISCPER.
DATA KF1 TYPE KEYFIGURE_NAME.
DATA OFFSET TYPE I.
DATA PERIOD TYPE 0FISCPER3.
OFFSET = 1.
PERIOD = 000.
CALYR = VARV(D_P0FISCYEAR).
CALMON_COPYFROM = CONCAT(CALYR, PERIOD).
PERIOD = 001.
IF {KF1, CALMON_COPYFROM, 000} <> 0 .
DO.
CALMONTH = TMVL(CALMON_COPYFROM, OFFSET).
{KF1, CALMONTH, PERIOD} = {KF1, CALMON_COPYFROM, 000}.
OFFSET=OFFSET + 1.
PERIOD = PERIOD + 001. IF PERIOD = 013. EXIT. ENDIF.
ENDDO.
ENDIF.
{KF1, CALMON_COPYFROM, 000} = 0.
Is this correct ?
When I am executing the FOX Formula, I am getting an error.
Also, It would be of great help if someone can help in explaining what exactly does this code do ![]()
Thanks,
Dinesh Vadwa