× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Patrick,

The cause of the CPD7817 is the “SFLEND(*MORE)” in your source. This requires an extra line because *MORE is display on a separate line. Change this to SFLEND(*PLUS) or just SFLEND and the CPD7817 will go away.

However, you will now get a new error (CPD8008 SFLPAG causes field to end on last screen location)

Change the starting location of field ATTR_3S from 94 to 93 and your source should compile.

Rob W

-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Patrik Schindler
Sent: Saturday, September 21, 2024 1:57 PM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxxxxxxxx>
Subject: *DS4 SFL DSPF woes

Hello,

On numerous occasions, I've been fighting error CPD7817 (SFLPAG too big for screen size) when dealing with the large screen size *DS4 for display files.

Example DDS found here: https://leela.pocnet.net/~poc/SXLAAPUSDF.dds

I've made it self-contained (no external references) and shows the behavior described below.

I'm using DSPSIZ(*DS4 *DS3) as global keyword, to make all record formats assume *DS4 as default size. Even if I set DSPSIZ(*DS4) only, the condition persists.

MAINSFL + MAINCTL is a SFL with two lines per record. This "two liner" works absolutely fine on 24×80, as I've used this capability before.

This time, I need the horizontal space, because I want to display three long fields in one line. As soon as I set SFLPAG to ≥ 6, CPD7817 is emitted as compile error. Setting SFLPAG to 6 makes the SFL end in line 18, which is smaller than 24 — I've guessed that there might be some hard coded "> 24 line" code in the DDS parser? But apparently that isn't the culprit. 🤷‍♂️

I tested something else: I commented the 'ATTR_xS' fields (in MAINSFL, for screen line 8). Now I can set SFLPAG to 17, which makes the SFL end in line 23. If I set SFLPAG(18), I'm again faced by CPD7817, because the SFL now ends in line 24, but the display is set to *DS4 (27×132). Have I probably hit a bug? 🤔

Even more mysterious is that even if you hit CPD7817, SDA complains about an error but displays the "wrongly" defined SFL just fine and correctly! 😮

Am I doing something wrong here? Any ideas on this?

Thanks!

Hint: Maybe you know that you can "preview" screens in SDA? Just type 17 on the OPT field in WRKMBRPDM beneath the DSPF member, and type 12 beneath the record format you want to preview.

:wq! PoC

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.


As an Amazon Associate we earn from qualifying purchases.

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-2024 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].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.