on 2015 Jun 04 6:57 AM
Hi,
I have the a script which is working fine for small set of data, script is in the attachment.
The above script works for 100 employees and 50 Grades.
When the Employees and Grade size increase the script is giving the error message as
Ex: Employee = 7000 and Grade = 500
System, generated 2929 records in 40 seconds
UJK_EXECUTION_EXCEPTION:Runtime error Could not generate the object; the class \PROGRAM=
I have tried to use the RunLogic_PH as shown below, i am getting the same number of records i.e 2929 in 40 seconds. With NO ERROR message.
Logic should create 4711 entries, instead it is creating 2929 entries.
Why system is not creating 4711 entries?
This issue is continuation of another closed discussion
Regards,
Tej
Request clarification before answering.
Hi,
This is my further analysis.
I have tested with 3000 employees and 199 Grades.
My this code is selecting 199 Grades
*SELECT(%EMP%,[GRADENO],EST_POSITION,"[GRADENO] <> ' '")
*SELECT(%FIN2%,[ID],GRADE,"[ID] = '%EMP%'")
So when I use this code
*XDIM_MEMBERSET GRADE = %FIN2%
my Grade has list of all 199 Grades.
When i run the code in UJKT, the Log has 2 sets one is LGX and other in LOG.
LGX is working fine for 199 Grades, problem is with LOG.
It is taking only 34 Grades only.
I have tested this scenarios with 199 Grades and 500 Grades.
LGX is working for 199 or 500 Grades. but LGX is taking only first 34 Grades?
Can it be reason of less storage space in BW?
Regards,
Tej
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Ups, but why do you think that you will have any effect with RUNLOGIC_PH without changes of SALPEREMP.LGF???
If you want to use CHANGED=GRADE, then remove from SALPEREMP.LGF:
*FOR %FIN% = %FIN2%
move
*SELECT(%EMP%,[GRADENO],EST_POSITION,"[GRADENO] <> ' '")
*SELECT(%FIN2%,[ID],GRADE,"[ID] = '%EMP%'")
to the script with RUNLOGIC_PH call
And add line
DIMENSION GRADE=%FIN2%
Then use in SALPEREMP.LGF:
*XDIM_MEMBERSET GRADE = %GRADE_SET%
Vadim
Sorry,
But you didn't change the script SALPEREMP.LGF correctly ...
Have to be:
//NO FOR/NEXT!!!!!!!!!
//The script will be called multiple times in parallel - each call with unique GRADE passed in %GRADE_SET%
*XDIM_MEMBERSET GRADE = %GRADE_SET%
*XDIM_MEMBERSET ACCOUNTHR = AC_ACOA0000500000
*XDIM_MEMBERSET CHANGE_LEDGER = CL_159
*XDIM_MEMBERSET LOCATION = LO_NONE
*XDIM_MEMBERSET PROJECT = PJ_NONE
*XDIM_MEMBERSET RPTCURRENCY = LC
*XDIM_MEMBERSET TIME = 2016.INPUT
*XDIM_MEMBERSET VERSION = VE_ACTUAL
*RUNALLOCATION
*FACTOR = 1
*DIM EST_POSITION WHAT = NO_EMP; WHERE =[GRADENO] = "%GRADE_SET%"
*ENDALLOCATION
The script with RUNLOGIC_PH have to be (correct!):
*SELECT(%EMP%,[GRADENO],EST_POSITION,"[GRADENO] <> ' '")
*SELECT(%FIN2%,[ID],GRADE,"[ID] = '%EMP%'")
*START_BADI RUNLOGIC_PH
QUERY = OFF
WRITE = ON
VALIDATION = OFF
LOGIC = SALPEREMP.LGF
DIMENSION GRADE=%FIN2%
DIMENSION ACCOUNTHR = AC_ACOA0000500000
DIMENSION CHANGE_LEDGER = CL_159
DIMENSION LOCATION = LO_NONE
DIMENSION PROJECT = PJ_NONE
DIMENSION RPTCURRENCY = LC
DIMENSION TIME = 2016.INPUT
DIMENSION VERSION = VE_ACTUAL
CHANGED = GRADE
DEBUG = OFF
*END_BADI
Hope you correctly set up parallel execution...
Vadim
P.S. Please read the document How To Implement the RUNLOGIC_PH Keyword in SAP... | SCN
in order to properly use RUNLOGIC_PH with CHANGED parameter!
| User | Count |
|---|---|
| 17 | |
| 8 | |
| 7 | |
| 6 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.