08-03-2006 1:38 AM
now this erro as follows:
Jump is too great and cannot be generated A control
CHECK or EXIT contains too many ABAP statements.
what's the meaning! thank you.
i only add repeat code in my program.
08-03-2006 1:41 AM
08-03-2006 1:53 AM
ELSEIF ( IT_RACCT-RACCT >= '0031010101'
AND IT_RACCT-RACCT <= '0031010101')
and it_racct-jiedai <> 0.
IT_ITEM-NO = 62.
IT_ITEM-ITEMNO = '80'.
IT_ITEM-ITEMNAME = ' capital stock'.
IT_ITEM-B_SUM = IT_RACCT-HSLVT.
IT_ITEM-E_SUM = IT_RACCT-CC1 + IT_RACCT-CC2 + IT_RACCT-CC3
+ IT_RACCT-CC4 + IT_RACCT-CC5 + IT_RACCT-CC6
+ IT_RACCT-CC7 + IT_RACCT-CC8 + IT_RACCT-CC9
+ IT_RACCT-CC10 + IT_RACCT-HSLVT.
when i add IT_RACCT-CC10 + IT_RACCT-HSLVT,this erro is appear. i select data in the table GLTO.
08-03-2006 1:59 AM
Interesting, you wouldn't think that there is a limit on the number of fields that you can add together. Try splitting it up.
IT_ITEM-E_SUM = IT_RACCT-CC1 + IT_RACCT-CC2 +
IT_RACCT-CC3 + IT_RACCT-CC4 +
IT_RACCT-CC5 + IT_RACCT-CC6.
it_item-e_sum = it_item-e_sum +
IT_RACCT-CC7 + IT_RACCT-CC8 +
IT_RACCT-CC9 + IT_RACCT-CC10 +
IT_RACCT-HSLVT.
REgards,
Rich Heilman
08-03-2006 3:08 AM
<i> ELSEIF ( IT_RACCT-RACCT >= '0031010101'
AND IT_RACCT-RACCT <= '0031010101')</i>
In the above statement, why are you checking for both <= and >= for the same value 0031010101? I think this doesn't make sense and that is why it is failing.
08-03-2006 3:16 AM
ELSEIF ( IT_RACCT-RACCT >= '0031010101'
AND IT_RACCT-RACCT <= '0031010101')
This is just a confusing way of saying
ELSEIF IT_RACCT-RACCT = '0031010101'
but it is valid syntactically.
08-03-2006 3:20 AM
You are right Neil but I think this code is passing the syntax check but erroring out when it is activated.
Message was edited by: Srinivas Adavi
08-03-2006 2:21 AM
i use your coding,but the same erro was being.
examine pass but when activate the program was erro.
08-03-2006 2:37 AM
08-03-2006 2:40 AM
08-03-2006 2:43 AM
DATA:BEGIN OF WA_RACCT OCCURS 0,
RACCT LIKE GLT0-RACCT,
HSLVT LIKE GLT0-HSLVT,
CC1 TYPE GLT0-HSL01,
CC2 TYPE GLT0-HSL01,
CC3 TYPE GLT0-HSL01,
CC4 TYPE GLT0-HSL01,
CC5 TYPE GLT0-HSL01,
CC6 TYPE GLT0-HSL01,
CC7 TYPE GLT0-HSL01,
CC8 TYPE GLT0-HSL01,
CC9 TYPE GLT0-HSL01,
CC10 TYPE GLT0-HSL01,
CC11 TYPE GLT0-HSL01,
CC12 TYPE GLT0-HSL01,
CC13 TYPE GLT0-HSL01,
CC14 TYPE GLT0-HSL01,
CC15 TYPE GLT0-HSL01,
CC16 TYPE GLT0-HSL01,
JIEDAI TYPE I,
END OF WA_RACCT.
DATA: IT_RACCT LIKE SORTED TABLE OF WA_RACCT
WITH UNIQUE KEY RACCT WITH HEADER LINE.
08-03-2006 2:47 AM
how about it_item? how is that defined?
and can you show us the complete 'if' statement that it belongs in?
maybe it's getting confused because wa_racct is a table itself (occurs 0 makes it a table) but it_racct is a table of wa_ractt. That is a table OF a table. But I don't get syntax errors but I am on R/3 Enterprise.
TRy removing the occurs 0 and see what happens.
08-03-2006 3:23 AM
DATA: BEGIN OF WA_ITEM OCCURS 0,
NO TYPE I,
ITEMNO(3) TYPE C,
ITEMNAME(40) TYPE C,
B_SUM LIKE GLT0-HSL01,
E_SUM LIKE GLT0-HSL01,
END OF WA_ITEM.
DATA: WA_TABLE LIKE WA_ITEM.
DATA: IT_ITEM LIKE SORTED TABLE OF WA_ITEM
WITH UNIQUE KEY NO ITEMNO ITEMNAME WITH HEADER LINE.
LOOP AT IT_RACCT.
CLEAR IT_ITEM.
CASE S_RPMAX.
IF ( IT_RACCT-RACCT >= '0031010101'
AND IT_RACCT-RACCT <= '0031010101')
and it_racct-jiedai <> 0.
IT_ITEM-NO = 62.
IT_ITEM-ITEMNO = '80'.
IT_ITEM-ITEMNAME = ' 实收资本(或股本)'.
IT_ITEM-B_SUM = IT_RACCT-HSLVT.
IT_ITEM-E_SUM = IT_RACCT-CC1 + IT_RACCT-CC2 +
IT_RACCT-CC3 + IT_RACCT-CC4 +
IT_RACCT-CC5 + IT_RACCT-CC6.
it_item-e_sum = it_item-e_sum +
IT_RACCT-CC7 + IT_RACCT-CC8 +
IT_RACCT-CC9 + IT_RACCT-CC10 +
IT_RACCT-HSLVT.
.
.
.
ENDLOOP.
YES I DON'T GET SYNTAX ERRORS when i examining,BUT WHEN I activate the program,the errors was appear.
08-03-2006 3:26 AM
Can you please comment this line out and see if it works?
<i>IT_ITEM-ITEMNAME = ' 实收资本(或股本)'.</i>
I think the '&' and the '#' are causing the problem.
08-03-2006 3:40 AM
oh no,for all it care,now if i write this,
IT_ITEM-E_SUM = IT_RACCT-CC1 + IT_RACCT-CC2 + IT_RACCT-CC3
+ IT_RACCT-CC4 + IT_RACCT-CC5 + IT_RACCT-CC6
+ IT_RACCT-CC7 + IT_RACCT-CC8 + IT_RACCT-CC9
+ IT_RACCT-CC10 + IT_RACCT-HSLVT.
reduce the coding.
IT_ITEM-E_SUM = IT_RACCT-CC1 + IT_RACCT-CC2 + IT_RACCT-CC3
+ IT_RACCT-CC4 + IT_RACCT-CC5 + IT_RACCT-CC6
+ IT_RACCT-CC7 + IT_RACCT-CC8 + IT_RACCT-HSLVT.
this was pass when i activate the program.
08-03-2006 3:51 AM
<i>LOOP AT IT_RACCT.
> CLEAR IT_ITEM.
> CASE S_RPMAX. <-- <b>what is this?</b>
> IF ( IT_RACCT-RACCT >= '0031010101'
> AND IT_RACCT-RACCT <= '0031010101')
> and it_racct-jiedai <> 0.</i>
08-03-2006 3:54 AM
TRy, this which is similar to Rich's suggestion but is when the error starts appearing:
IT_ITEM-E_SUM = IT_RACCT-CC1 + IT_RACCT-CC2 + IT_RACCT-CC3
+ IT_RACCT-CC4 + IT_RACCT-CC5 + IT_RACCT-CC6
+ IT_RACCT-CC7 + IT_RACCT-CC8 + + IT_RACCT-HSLVT.
IT_ITEM-E_SUM = IT_ITEM-E_SUM +
+ IT_RACCT-CC9
+ IT_RACCT-CC10.
08-03-2006 4:06 AM
oh sorry,i saw the erros cue,it say,
While generating program "Z_FI_BALANCE", the system discovered that an ABAP
event block, a control structure (such as IF... ENDIF or LOOP...
ENDLOOP) or a routine (such as a FORM routine) is too big.
The resulting jump is too great to be generated.
The jump may be no greater than 32768 for the internal load format
(corresponding to around 10,000 ABAP statements).
However, the jump in this case would have been 32769.
maybe i if endif was too long.
08-03-2006 3:05 AM
Where do you have this code? In a report program or some kind of user exit or somewhere else? The problem may not be where you are thinking. Try commenting out the entire code that you pasted here and see if the error still continues.