WHAT IS DECIMAL DATA ERROR IN RPG IV...WHEN WILL IT HAPPENS?
Answer Posted / 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 |
Post New Answer View All Answers
I have created a command that display Source file and library. Now i want that when i enter library name and press f4 on Source file, pgm should display all the PF- SRC's in that Library. For F4 option i have used Choice program but since only limited paramters are passed in Choice pgm i am not able to paas library name and further can't call a pgm that will display list of Source files. Below is the Code snippet for CMD type object :- CMD PROMPT('Source Scan for HUB Standard') PARM KWD(SOURCE) TYPE(*CHAR) LEN(1) RSTD(*YES) + VALUES(N A) MIN(1) + CHOICE('N,A') PARM KWD(SRCFILE) TYPE(FILE) RSTD(*NO) + PROMPT('SOURCE FILE') FILE: QUAL TYPE(*NAME) LEN(10) RSTD(*NO) EXPR (*YES) + CHOICE(*PGM) + CHOICEPGM (XXXXXLIB/YYYPGM) QUAL TYPE(*NAME) LEN(10) DFT(*LIBL) + SPCVAL((*LIBL)) EXPR(*YES) PROMPT ('Library') Below is the Choice pgm:- PGM PARM(&PARM1 &PARM2) DCL VAR(&PARM1) TYPE(*CHAR) LEN (21) DCL VAR(&PARM2) TYPE(*CHAR) LEN (2000) IF COND(%SST(&PARM1 1 10) = 'CHOICE ' *AND + %SST(&PARM1 11 10) = 'SRCFILE ' *AND + (%SST(&PARM1 21 1) = 'C' *OR %SST (&PARM1 + 21 1) = 'P')) THEN (DO) /* (%SST(&PARM1 21 1) = 'C' *OR %SST (&PARM1 + */ CHGVAR VAR(&PARM2) VALUE('Name, F4 for List') ENDDO IF COND(%SST(&PARM1 1 10) = 'CHOICE ' *AND + %SST(&PARM1 11 10) = 'SRCFILE ' *AND + %SST(&PARM1 21 1) = 'P') THEN (DO) CHGVAR VAR(&PARM2) VALUE('Name, F4 for List') CALL PGM(GTSQL) PARM ('XXXXLIB') return ENDDO Thanks in Advance for looking into.
what is the maximum number of record formats in dspf?
what is the function of rlu ?
how can you execute a command from within an rpg program without calling a clp program?
WHICH REPLY CODE IS USED BT sftp ? ... (e.g.226 is used by FTP IF FILE IS TRANSFERED)
what is a spool file?
can we define multi-dimensional arrays in rpg ?
what is subfile?
. How to know why the OPM job is in MSGWAIT state?..WHAT COULD BE THE REASON FOR it?
What are the mandatory keywords of sub file?
how to get the cursor position?
Why we are not able to perform insert delete and update operation in Join logical file?
what is a query can be run in which mode?
what does dfu program you to do on a record?
What is diff between EVAL & MOVE?