Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Reg: Dump due to insert statement

Former Member
0 Likes
851

Hi abapers,

I have got an support work to do for a program, where in it was working fine in development, quality and production for the past 3 months. But now, it is showing an error in quality only but still working in development.( Not checked in production system, as user cant delete from the database table.)

Requesting you all to give your reviews as it been hrs i am trying to resolve it.

Heres the dump shown:

Database error text........: "ORA-12899: value too large for column

"SAPAR3"."YCONT"."MASSG" (actual: 10, maximum: 6)"

Internal call code.........: "[RSQL/INSR/YCONT ]"

Please check the entries in the system log (Transaction SM21).

You may able to find an interim solution to the problem

in the SAP note system. If you have access to the note system yourself,

use the following search criteria:

-


"DBIF_RSQL_SQL_ERROR" CX_SY_OPEN_SQL_DBC

"YFI_CONTRACT_EMPLOYEE_SCREEN" or "YFI_CONTRACT_EMPLOYEE_PAI"

"USER_COMMAND_0200"

228 LOOP AT ITAB INTO WA_ITAB.

229 SELECT SINGLE KUNNR INTO WA_ITAB-KUNNR FRO

230 WA_ITAB-BUKRS = YBRA-BUKRS.

231 WA_ITAB-YHRCHD = SY-DATUM.

232 WA_ITAB-YUNAME = SY-UNAME.

233

234 IF WA_ITAB-ENDDA IS INITIAL.

235 WA_ITAB-ENDDA = '99991231'.

236 ENDIF.

237

238 CALL FUNCTION 'BAPI_CONTROLLINGAREA_FIND

239 EXPORTING

240 COMPANYCODEID = YBRA-BUKRS

241 IMPORTING

242 CONTROLLINGAREAID = WA_ITAB-KOK

243 WA_ITAB-YSTAT2 = '3'.

244 CONDENSE WA_ITAB-YEMP.

245 CONDENSE WA_ITAB-KUNNR.

246 CONDENSE WA_ITAB-KOSTL.

247

248 MODIFY ITAB FROM WA_ITAB .

249 CLEAR:WA_ITAB.

250 ENDLOOP.

>>>> INSERT YCONT FROM TABLE ITAB.

252 IF SY-SUBRC = 0.

253 COMMIT WORK.

254 MESSAGE S011.

255 ELSE.

256 MESSAGE S012.

257 ENDIF.

**************************************************

The data declaration for the above table ycont is with respect to the ddic itself.

5 REPLIES 5
Read only

Former Member
0 Likes
759

Possible reasons for the ORA-03106 errors include:

1. Incompatibilities between the client application and the RDBMS server.

For example, version incompatibilities, or a client trying to use a feature not supported by the database kernel.

2. When using database links or gateways.

3. Network or SQL*Net problems.

4. Corruptions.

5. PL/SQL - language related.

One way to resolve this is to

Try synching the NLS_LANG variable on the client and server....

Read only

christine_evans
Active Contributor
0 Likes
759
Database error text........: "ORA-12899: value too large 
for column
"SAPAR3"."YCONT"."MASSG" (actual: 10, maximum: 6)"
Internal call code.........: "RSQL/INSR/YCONT "
Please check the entries in the system log 
(Transaction SM21).

This should tell you all you need to know. The value in this field in your internal

table is too wide for the corresponding field in the database table.

You've said that you've based your itab on the database table, but I cannot

see that this can be the case unless the itab field can somehow hold a value that

is wider than it's defined width and I don't think that is possible.

Anyway, debug the program and try to find out which record holds the extra wide value.

Or, if you can't do it in debug, add a check to the program itself.

Read only

Former Member
0 Likes
759

hi,

it telling that one of the field in the table has length less than the data length it is fiiling into.

please check it.

Read only

Former Member
0 Likes
759

thanks for the quick reply friends,

Hai TT,

Could you please explain more on how i can sync NLS_LANG variable on the client and server....

hai Christine,

The data in the internal table matches according to the data types as debugged and updating the internal table.

regds

Sujeel

Read only

0 Likes
759

>

> hai Christine,

>

> The data in the internal table matches according to the data types as debugged and updating the internal table.

>

> regds

> Sujeel

I'm sorry but if you're getting an Oracle error saying that you're trying to insert too large a value into a database table, then that is exactly what you're doing. The fact that you're only getting the error in only one of your systems supports this theory that it is an error caused by data. If you're using conversion exits that might be a possible cause of the problem.

To identify the problem record, change the program so that it loops at your itab and inserts each record into the database table one by one.