× 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.



Thanks Carel, Dan, Mark and Joep!

I started on the QsnQry5250 api right after my post and, with your help, the
combination answer I'm now using is below (for the archives).  Joep, I like
the way you think!
____________________________________________________________________________
____________
D Qry5250         PR                  ExtProc('QsnQry5250')   
D  p_Rcvr                             Like(DS_Rcvr) Const     
D  p_RcvrLngth                  10i 0 Const                   
D  p_Error                            Like(DS_APIError) Const 
D  p_RtnCod                     10i 0 Const                   

 * Qry5250 Reciever Data Structure    
D DS_Rcvr         DS                  
D  d_BytesRtn                   10i 0 
D  d_BytesAvl                   10i 0 
D  d_QrySts                      1a   
D  d_WSCU                        5i 0 
D  d_CodeLvl                     3a   
D                               16a   
D  d_WSType                      1a   
D  d_MachType                    4a   
D  d_Model#                      3a   
D  d_KbdID                       1a   
D  d_xKbdID                      1a   
D  d_PCKbdID                     1a   
D  d_Serial#                     4a   
D  d_MaxInpFlds                  5i 0 
D  d_WSCUC                       2a   
D                                1a   
D  d_DevCap                     12a   
D  d_GridBuffers                 1a   
D  d_TypeGrid                    1a 
D                                1a 
D  d_IorF                        1a 
D  d_IorFScale                   1a 
D  d_IorFRotate                  1a 
D  d_IorFSupport                 1a 
D  d_InvisibleTg                 1a 
D                                2a 

D w_RcvrLngth     S             10i 0 inz(%len(ds_Rcvr))  
D w_RtnCod        S             10i 0                     
                                                          
D i_DS4ok         S                   Like(*in01)         
D w_1a            S              1a                       

C                   CallP     Qry5250(DS_Rcvr :                         
C                                     w_RcvrLngth :                     
C                                     DS_APIError :                     
C                                     w_RtnCod )                        
                                                                        
C                   Eval      w_1a = %subst(d_DevCap:2:1)               
C                   TestB     '23'          w_1a                     01 
C                   Eval      i_DS4ok = *in01                           
____________________________________________________________________________
____________

Now if a CAE session is set for 24x80 *in01's *OFF and if it's set for
27x132 *in01's *ON.

Now, maybe Barbara or Hans can explain why I end up with an indicator in the
middle of my 
RPGIV code on v4r5????   ;-)

Thanks again to list for your help!

Tom Westdorp


-----Original Message-----
From: Carel Teijgeler [mailto:teygeler@bart.nl]
Sent: Friday, November 10, 2000 2:52 PM
To: RPG400-L@midrange.com
Subject: Re: Determining *DS4 support


"Westdorp, Tom" wrote:

> I'm trying to determine if a display session is capable of 27 x 132 (*DS4)
> support when I open a program so that I can determine which subfile I
> process (one that has 30 characters of a longer string or one that has 60
> characters).

> Any ideas?  Or alternatives?  I don't want to just relocate fields based
on
> the display size, I want to display a larger subset of a database field.
>
> TIA
> Tom Westdorp
> AS/400 Senior Programmer/Analyst
>

Tom,

You can use the QsnQry5250 API.
It needs 3 parms: a receiver var, length of receiver var and errorstructure.
Define the receiver var as a datastructure of 62. In subfield 'Device
Capabilities' (pos 51-62) You need to test 3 bits of the second character.
Code
is like:

C           1             SUBST(P)    DEVCAP:2                 ARTB
1
C                          TESTB         '23'
ARTB                         01

Check the manual for the position of the resulting indicator. If I remember
well,
it turns on, when both bits are *ON: it has *DSP4, otherwise it is *DSP3.

You should bind the programme with *SRVPGM QSNAPI.

Hope this put you on the way,

Regards,
Carel Teijgeler.


+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator:
david@midrange.com
+---
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

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.