Thank you Barbara for your reply. UDDS is very much like Dynamic Screen
Manager but program described.
Please excuse the size of this post.
What I am showing is that the compiler has set
Allow null values . . . . . . . : *NO
Even though I have specified
Allow null values . . . . . . . : *USRCTL
And the reason I reckon is because I have a program described WORKSTN file.
I would be grateful to understand what Im doing wrong.
Thanks
Frank
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+...
5770WDS V7R3M0 160422 RN IBM ILE RPG KOLMANN/DISP_UPD
S0674
Command . . . . . . . . . . . . : CRTBNDRPG
Issued by . . . . . . . . . . : KOLMANN
Program . . . . . . . . . . . . : DISP_UPD
Library . . . . . . . . . . . : KOLMANN
Text 'description' . . . . . . . : *SRCMBRTXT
Source Member . . . . . . . . . : DISP_UPD
Source File . . . . . . . . . . : XDDSSRC
Library . . . . . . . . . . . : KOLMANN
CCSID . . . . . . . . . . . . : 37
Text 'description' . . . . . . . : Display/Update a file
Last Change . . . . . . . . . . : 01/13/19 06:57:53
Generation severity level . . . : 10
Default activation group . . . . : *YES
Compiler options . . . . . . . . : *XREF *GEN *NOSECLVL *SHOWCPY
*EXPDDS *EXT *NOSHOWSKP
*NOSRCSTMT
*DEBUGIO *UNREF *NOEVENTF
Debugging views . . . . . . . . : *ALL
Debug encryption key . . . . . . : *NONE
Output . . . . . . . . . . . . . : *PRINT
Optimization level . . . . . . . : *NONE
Source listing indentation . . . : *NONE
Type conversion options . . . . : *NONE
Sort sequence . . . . . . . . . : *HEX
Language identifier . . . . . . : *JOBRUN
Replace program . . . . . . . . : *YES
User profile . . . . . . . . . . : *USER
Authority . . . . . . . . . . . : *LIBCRTAUT
Truncate numeric . . . . . . . . : *YES
Fix numeric . . . . . . . . . . : *NONE
Target release . . . . . . . . . : *CURRENT
Allow null values . . . . . . . : *NO
Define condition names . . . . . : *NONE
Enable performance collection . : *PEP
Profiling data . . . . . . . . . : *NOCOL
Licensed Internal Code options . :
Generate program interface . . . : *NO
Include directory . . . . . . . :
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+.
Preprocessor options . . . . . . : *NONE
5770WDS V7R3M0 160422 RN IBM ILE RPG KOLMANN/DISP_UPD S06
Line <---------------------- Source Specifications
----------------------------><---
Number
....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....
S o u r c e L i s t i n g
1
H*eywords++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 H OPTION(*NODEBUGIO) ALWNULL(*USRCTL)
3 H DFTACTGRP(*NO) ACTGRP(*CALLER) DFTNAME(DISP_UPD)
4 F*
5 F* REQUIRES FILE QTEMP/FFD TO COMPILE
6 F* use cmd DSPFFD FILE(&LIB/&FILE) OUTPUT(*OUTFILE)
OUTFILE(QTEMP/FFD)
7
*--------------------------------------------------------------------*
* Compiler Options in
Effect: *
*--------------------------------------------------------------------*
* Text 'description' . . . . . . . : Display/Update a
file *
* Generation severity level . . . :
10 *
* Default activation group . . . . :
*NO *
* Compiler options . . . . . . . . : *XREF *GEN *
* *NOSECLVL
*SHOWCPY *
* *EXPDDS
*EXT *
* *NOSHOWSKP
*NOSRCSTMT *
* *NODEBUGIO
*UNREF *
* *NOEVENTF *
* Optimization level . . . . . . . :
*NONE *
* Source listing indentation . . . :
*NONE *
* Type conversion options . . . . :
*NONE *
* Sort sequence . . . . . . . . . :
*HEX *
* Language identifier . . . . . . :
*JOBRUN *
* User profile . . . . . . . . . . :
*USER *
* Authority . . . . . . . . . . . :
*LIBCRTAUT *
* Truncate numeric . . . . . . . . :
*YES *
* Fix numeric . . . . . . . . . . :
*NONE *
* Allow null values . . . . . . . :
*USRCTL *
* Storage model . . . . . . . . . :
*SNGLVL *
* Binding directory from Command . :
*NONE *
* Binding directory from Source . :
*NONE *
* Activation group . . . . . . . . :
*CALLER *
* Enable performance collection . :
*PEP *
* Profiling data . . . . . . . . . :
*NOCOL *
* Generate program interface . . . :
*NO *
*--------------------------------------------------------------------*
8 FFFD IF E DISK
*------------------------------------------------------------------------------
* RPG name External name
* File name. . . . . . . . . : FFD QTEMP/FFD
* Record format(s) . . . . . : QWHDRFFD QWHDRFFD
*------------------------------------------------------------------------------
9 FDSPUDDS CF F 803 WORKSTN
10 F INFDS(INFDS)
11
On 15/01/2019 12:53 AM, Barbara Morris wrote:
On 2019-01-14 3:05 AM, Frank Kolmann wrote:
After some attempts to cater for NULL values I have figured out that
UDDS is fundamentally in conflict with NULL values.
UDDS requires a program described Display file, and ANY program
described file makes the RPG compiler create the program with
ALWNULL(*NO).
Further, Full Free Form RPG does not allow Program described files so
UDDS has effectively gone the way of the Dodo.
...
Possibly separate modules some with ALWNULL(*USRCTL) some with
ALWNULL(*NO) but I suspect this will cause the CRTPGM to fail,
I haven't been following this thread in detail since I'm not familiar
with UDDS.
So I'm not sure whether what I'm going to say will make any real
effect difference here...
But RPG does allow program-described files in full free form. You'd
code something like WORKSTN(1000) for the device keyword for a
program-described display file.
Also, RPG allows null-value support in general in a module if it has a
program-described file. With ALWNULL(*USRCTL), it will handle the
null-indicators for any other externally-described files in the module.
You can CRTPGM where RPG modules had different ALWNULL settings The
ALWNULL setting is internal to the module, so it isn't something that
CRTPGM knows about.
As an Amazon Associate we earn from qualifying purchases.