cancel
Showing results for 
Search instead for 
Did you mean: 

Logic Script Error - 42

Former Member
0 Kudos

Hello Friends,

I am facing the logic script error when validating the script. "the script is apparently invalid, as you cannot have member "". The logic is run for grouped cost center.

Logic Script:

//***********************START OF HEADER*****************

//SUB QUERY:

//PURPOSE:      Copy high Level forecast data from Actuals, Budget, commitments to base level cost centres defined for forecat

//CALLED FROM:  Data Manager Package

//WHO:          Matt Penston (itelligence)

//VERSION:      1

//DATE:         26-11-2012

//CHANGE LOG:

//***********************END OF HEADER********************

//

//

//********************** Need to first of all clear down the BW data in the base member costcentres ***************

// Set XDIM_MEMBERSET

*XDIM_MEMBERSET CATEGORY = Actual,Budget,COMMITMENTS

*XDIM_MEMBERSET AUDITTRAIL = BW

*XDIM_MEMBERSET ACCOUNT = <ALL>

*XDIM_MEMBERSET RPTCURRENCY = LC

*XDIM_MEMBERSET ACCDETAIL = F_None

//Select Current Month Time Member to copy from

//*SELECT(%TIME_CURRMTH_FYA%,"[ID]","TIME","[FCST_PROFILES] = 'A'")

//*XDIM_MEMBERSET TIME = %TIME_CURRMTH_FYA%

*XDIM_MEMBERSET TIME = BAS(201314.TOTAL)//CHANGE ONCE PER YEAR

//Select CostCentres for high level Forecast entry

//*SELECT(%HL_FCST_ENT%,"[ID]",COSTCENTRE,"[HL_FCST_ENT] = 'Y'")

// Use For Loop to run through the Cost Centres

//*FOR %HL_FCST_FOR% = %COSTCENTRE_SET%

*XDIM_MEMBERSET COSTCENTRE  = BAS(%COSTCENTRE_SET%)

//*SELECT(%HL_FCST_BASE%, "[ID]", COSTCENTRE, "[HL_FCST_PRNT] = %COSTCENTRE_SET%")

*SELECT(%HL_FCST_BASE%, "[HL_FCST_BM]", COSTCENTRE, "[ID]= %COSTCENTRE_SET%")

// Set the Ref Data to Transaction, is the default but defined anyway.

*WHEN_REF_DATA=TRANSACTION_DATA

*WHEN CATEGORY

*IS *

*REC(FACTOR=-1, AUDITTRAIL = BW_HL, COSTCENTRE = %HL_FCST_BASE%)

*REC(FACTOR=1, AUDITTRAIL = BW, COSTCENTRE = %HL_FCST_BASE%)

*ENDWHEN

//*NEXT

*COMMIT

The Error Came once validate above script:

Can anyone please guide the same.

Regards,

Dev.

Accepted Solutions (1)

Accepted Solutions (1)

former_member186338
Active Contributor
0 Kudos

Hi Rajesh,

The reason for validation error is simple:

You have this line:

*SELECT(%HL_FCST_BASE%, "[HL_FCST_BM]", COSTCENTRE, "[ID]= %COSTCENTRE_SET%")

During validation the %COSTCENTRE_SET% is empty, resulting in empty %HL_FCST_BASE%

Then

*REC(FACTOR=-1, AUDITTRAIL = BW_HL, COSTCENTRE = %HL_FCST_BASE%)

will have COSTCENTRE = "" - incorrect!

If this script will receive single member in COSTCENTRE then %HL_FCST_BASE% will be not empty.

Save the script without validation and test.

Vadim

Former Member
0 Kudos

Thanks Vadim for your quick reply.

As per your above comments the script logic is correct there is no error and because of system not getting any record or member in cost center it is not allowing to validate the script.

Is it possible, how to check in the BI cube that it doesn't carry a single record.

Regards,

Rajesh.K

former_member186338
Active Contributor
0 Kudos

Hi Rajesh,

"Is it possible, how to check in the BI cube that it doesn't carry a single record." - what do you mean by this???

In general, please test your script in UJKT:

B.R. Vadim

Former Member
0 Kudos

Hello Vdim,

I have checked the script logic in UJKT and it is also showing the same result.

Just want to tell my understanding that the logic script is correct and it is throwing an error due to no records found.

hence I have to convey the client about the script is correct but because of no member found in COSTCENTER it is showing an error while validating the script.

Question: As per script it is calling the group cost center, so is it possible to highlight (what is the issue it is not receiving any members?) any thought pls.. share or guide what need to check the same in system.

Regards,

Rajesh.

former_member186338
Active Contributor
0 Kudos

Please, show the UJKT log! Have you properly filled the Data Region area?

Vadim

former_member186338
Active Contributor
0 Kudos

Some general comments about script (please post script without commented code - hard to read!):

*XDIM_MEMBERSET CATEGORY = Actual,Budget,COMMITMENTS

*XDIM_MEMBERSET AUDITTRAIL = BW

*XDIM_MEMBERSET ACCOUNT = <ALL>

*XDIM_MEMBERSET RPTCURRENCY = LC

*XDIM_MEMBERSET ACCDETAIL = F_None

*XDIM_MEMBERSET TIME = BAS(201314.TOTAL)// Strange member - 201314.TOTAL????

*XDIM_MEMBERSET COSTCENTRE = BAS(%COSTCENTRE_SET%)

*SELECT(%HL_FCST_BASE%, "[HL_FCST_BM]", COSTCENTRE, "[ID]= %COSTCENTRE_SET%") // Are you sure that COSTCENTRE in %COSTCENTRE_SET%" has the correct property HL_FCST_BM?

*WHEN CATEGORY

*IS *

*REC(FACTOR=-1, AUDITTRAIL = BW_HL, COSTCENTRE = %HL_FCST_BASE%)

*REC(FACTOR=1, AUDITTRAIL = BW, COSTCENTRE = %HL_FCST_BASE%)

*ENDWHEN

And never use *COMMIT with WHEN/ENDWHEN - useless!

Vadim

Former Member
0 Kudos

Hello Vadim,

Please find the attached UJKT script validation in two parts and it gives the same error.

And as per my understanding this is because the script logic is correct but the not finding of single cost center it is throwing an error.

Can you please give me your view and comments.

Regards,

Rajesh.K

former_member186338
Active Contributor
0 Kudos

"but the not finding of single cost center it is throwing an error" - NO! Because you don't fill the Data Region area!!!! Scope have to be defined in this area: COSTCENTRE=SOMETHING

Sorry, but please, read this once more:

And provide a UJKT log as a text, not as screenshot.

Vadim

P.S. Do you really have this 201314.TOTAL in TIME dim???

Former Member
0 Kudos

Hello Vadim,

As you guided above mail yes, I have put the Data Region: "COSTCENTRE=YPROG" and the below script is copied in Script File Location:

*XDIM_MEMBERSET CATEGORY = Actual,Budget,COMMITMENTS

*XDIM_MEMBERSET AUDITTRAIL = BW

*XDIM_MEMBERSET ACCOUNT = <ALL>

*XDIM_MEMBERSET RPTCURRENCY = LC

*XDIM_MEMBERSET ACCDETAIL = F_None

//Select Current Month Time Member to copy from

*XDIM_MEMBERSET TIME = BAS(201314.TOTAL)//CHANGE ONCE PER YEAR

*XDIM_MEMBERSET COSTCENTRE  = BAS(%COSTCENTRE_SET%)

*SELECT(%HL_FCST_BASE%, "[HL_FCST_BM]", COSTCENTRE, "[ID]= %COSTCENTRE_SET%")

// Set the Ref Data to Transaction, is the default but defined anyway.

*WHEN_REF_DATA=TRANSACTION_DATA

*WHEN CATEGORY

*IS *

*REC(FACTOR=-1, AUDITTRAIL = BW_HL, COSTCENTRE = %HL_FCST_BASE%)

*REC(FACTOR=1, AUDITTRAIL = BW, COSTCENTRE = %HL_FCST_BASE%)

*ENDWHEN

//*NEXT

*COMMIT

and the Log is given : UJK_VALIDATION_EXCEPTION:Member "" not exist

Please let me know were is the problem.

My findings:

After checking the Category Dimension come to know that the member dimension is maintained with 201213.TOTAL and in script logic we are using the 201314.TOTAL.

Can you please let me know what is the issue in the script logic.

Regards,

Rajesh. K

former_member186338
Active Contributor
0 Kudos

Sorry, I am asking you to show FULL log!


And what is the property HL_FCST_BM for YPROG???

Also, please show your TIME dimension members - do you have 201314.TOTAL?

Vadim

P.S. And PLEASE, stop using COMMIT!!!!

Former Member
0 Kudos

Hello Vadim,

Issue in the script is the property is not getting any value in HL_FCST_BM. It is an property.

Which I have communicated with client and now they are ok with my trouble shoot.

Regards,

Rajesh.

Answers (0)