WHAT IS DECIMAL DATA ERROR IN RPG IV...WHEN WILL IT HAPPENS?
Answers were Sorted based on User's Feedback
Answer / madhusudhan
For the above answer posted by Narendra, there are 19
People who told yes, but did they test this or verify.
Create a Char variable of Lenth 5 and Numeric variable of
lenth 5 and see the result .
D Num1 S 5 P 0
D Char1 S 5 A INZ('ABCDE')
C MOVE Char1 Num1
C Num1 DSPLY
Num1 will not give a Decimal Data error , instead it gives
the values Num1 = 12345. If you use eval
C EVAL Num1 = Char1
Eval will fail during compilation itself.
As per my analysis , Decimal Data error occurs when junk
values or special characters are passed to Numeric
variable. ( Ex : !, @ , #.$) . For testing Intialize the
above variable Char1 with atleast one special character and
just see the result.
This is only one example which i have given , and i heard
that during Parameter passing also this occurs , but dont
know in which scenerio , if anyone knows more on Decimal
Data error, kindly plz post.
| Is This Answer Correct ? | 24 Yes | 0 No |
Answer / narendra
If you have defined any field as numeric and the value
being inserted into that field is character then system
will throw the message "decimal data error".
| Is This Answer Correct ? | 31 Yes | 8 No |
Answer / priya
Decimal data error occurs primarily when numeric field receives invalid values/numbers. The same goes for the case of parameter passing.
When the file is opened by a program and the record containing the invalid data is read, you will not get an error.
But if the field containing the invalid data is read in the program, and some arithematic operation is performed with that value it gives decimal data error.
For eg by being the Factor1 of a MOVEx operation, or either factor in an ADD, SUB, DIV, MULT etc., or on the right-hand side of an EVAL, or if it is involved in a WRITE or UPDATE operation -- then it will be checked, and then the program will fail.
| Is This Answer Correct ? | 3 Yes | 0 No |
Answer / arun
for abv to Mr.Madhusudhan
"Parameter passing also this occurs in cl prog"
bcoz if we pass the parameters in different formates then
it will occurs data decimal error
plz say if i am incorrect
| Is This Answer Correct ? | 3 Yes | 1 No |
Answer / venkat
suppose if i declare data area with the length of 8 char
and i am receiving that data area as data structure and if i give only 7 char value. if i compile the program program will compile but if you call that program it will throw the error as decimal data error
| Is This Answer Correct ? | 2 Yes | 0 No |
how you will find an error which is not in the first page of the subfile without using rolldown key?
what does defn do?
maximum number of subfiles that can be active for a single file is?
how many specifications are there in rpg/400? What are they?
What are the two main attributes, which govern the execution of a job?
How to avoid using indicators in ile ?
What is the symbol used for shifting fields in SDA?
I have SQLRPGLE program in which there are some update statements which executed correctly. there were no errors run time. Once the program gets over, the file was not updated with the new values. What might be the reason?
what does dfu program you to do on a record?
how many printer files can be defined in f specs ?
how a varible can be passed to a subfile...accnt1 contain data in a data area..ie Daccnt1 uds,Daccnt2 3 overlay(accnt1:1), DNo 4 overlay(accnt1:4)..we want to transfer this dataarea value from acnt0001 to a subfile..that means to enter each record we have to incriment account no,, i normal window we can do move accnt1 account_no eval account_no=accnt1 eval no=no+1 exfmt usr_account how it possible with Subfile????????.Please do answer? (Thank you for all your answers dear friends!!)
what is subfile?