• Subject: Re: RPG UDDS Generic File Display/Update (Null fields in program described files)
  • From: Frank Kolmann <frank.kolmann@xxxxxxxxx>
  • Date: Tue, 15 Jan 2019 20:57:32 +1100
  • Arc-authentication-results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=pYfLuw7s; spf=pass (google.com: domain of frank.kolmann@xxxxxxxxx designates 209.85.220.41 as permitted sender) smtp.mailfrom=frank.kolmann@xxxxxxxxx; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-language:in-reply-to:mime-version:user-agent:date :message-id:references:to:subject:from:dkim-signature; bh=RaYxbwJ76KBPPMqcblpBa2vwlgik+a/J8g5dowfZYEM=; b=ZZ1wu9IzrJb2T7F978z/noBgZT+kR0TwsaYDXdNy9cwL7m1ThufNnMtcThqhVSWhZl HG5FoCcSnTON/GgsMuXekkRJx8WAWazishLVPwLmt0/yXy/KciMX9Nz95momdRCDqKmY rE48sLXCiLaZNe9TVuMGvikQ9NmS0LUeyIxjiJsVQCJZuE+wRX93vHVyrhsshE1NWXdo GnTtXgtpkKeZV6d34UwmaSHmxl/lWDwqRATEh4ezP3vGMHFgC55e/SYMXirrdAjGPofF NETSDHKu+gB0TUy8vdFR9Mw1XrzSZ+iWpaYaM63R/Y09zS82Tvt8kTPFUfei3Cup3Z06 sJcA==
  • Arc-seal: i=1; a=rsa-sha256; t=1547546253; cv=none; d=google.com; s=arc-20160816; b=DrHBvCunGWcT6+3dashVSI97ye7Y4Z78nr5BNfrGQ8VWhIVop6ImyJT9DrZyjo2UG3 yoatgeSZrzBZyLP1GLxKQNICbcXpQ2s/QyhyOvrnuVUDJ5W3zaUxMga12BRuf0O4vA/X 4dUWXPSJ37voXeUA2ImUA+oLw7m47IQVahg8t2T5vTFkNGPgF7l/UbdRktG0wSpBRcod ooxJdNyXZQWFMQqj6eq1g91mGDozukUXPSaTYrFGK1Rlgm2aNUjCD+UJEnIFspcHfvi7 /PaG96RBKm6ffINNR4AldlLY6PKeo1U2mVzY16bhdQ6GCoQTwmM124JqPezYYoS2ft+E p8+g==
  • List-archive: <https://archive.midrange.com/rpg400-l/>
  • List-help: <mailto:rpg400-l-request@lists.midrange.com?subject=help>
  • List-id: "RPG programming on the IBM i \(AS/400 and iSeries\)" <rpg400-l.lists.midrange.com>
  • List-post: <mailto:rpg400-l@lists.midrange.com>
  • List-subscribe: <https://lists.midrange.com/mailman/listinfo/rpg400-l>, <mailto:rpg400-l-request@lists.midrange.com?subject=subscribe>
  • List-unsubscribe: <https://lists.midrange.com/mailman/options/rpg400-l>, <mailto:rpg400-l-request@lists.midrange.com?subject=unsubscribe>

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.



This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2019 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].