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



Of course.
You put the CFxx keys at the record format level instead of the File Level.
For example:

   A            R  FORMAT1     
   A                               CF01
   A               FLD1
   A            R  FORMAT2    
   A                               CF01


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Luis Martins
Sent: Thursday, August 05, 2004 11:55 AM
To: CN=RPG programming on the AS400/O=iSeries
Subject: RE: Function key indicators

Yes,

But if i have one display file like this:

      F1 - Option1
      F2 - Option2
      F3 - Option3
      F4 - Option4
      F5 - Option5

      and after i pressed F1, apears another display file in wich i have
      another (F1 function key) that active one panel group ?

      It's not possible to define two (CF01) in the DSPF DDS,
      is there any solution ?

      Thank You!

      Luis Martins.




Please respond to RPG programming on the AS400 / iSeries
       <rpg400-l@xxxxxxxxxxxx>

Sent by:    rpg400-l-bounces@xxxxxxxxxxxx


To:    "'RPG programming on the AS400 / iSeries'" <rpg400-l@xxxxxxxxxxxx>
cc:
Subject:    RE: Function key indicators


      Yes, for each function key you want to use in your program, you need
      to code
      the appropriate  CAxx or CFxx key in the DSPF DDS.
      -Bob Cozzi


      -----Original Message-----
      From: rpg400-l-bounces@xxxxxxxxxxxx
      [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
      On Behalf Of Luis Martins
      Sent: Thursday, August 05, 2004 11:03 AM
      To: CN=RPG programming on the AS400/O=iSeries
      Subject: RE: Function key indicators

      Should i define CFxx keyword for function key in the display file ?

      Thank You !

      Luis Martins.



Please respond to RPG programming on the AS400 / iSeries
       <rpg400-l@xxxxxxxxxxxx>

      Sent by:    rpg400-l-bounces@xxxxxxxxxxxx


      To:    "'RPG programming on the AS400 / iSeries'"
      <rpg400-l@xxxxxxxxxxxx>
      cc:
      Subject:    RE: Function key indicators


      If you have my book "The Modern RPG IV Language" it has the code
      there to
      do
      this.
      Here's the summary (see below):
      -Bob Cozzi

Specify an INFDS for the Display file, something like this:
 FMyDsp CF        Workstn    INFDS(WSDS)

      Then in position 369 of the INFDS, code a field for the FKEY scan
      code (AID
      BYTE) that is returned, something like this:

  D  WSDS      DS
  D   FKey                1A   Overlay(WSDS:369)

      Then include the FKEYS /COPY member from my book or from the RPG
      xTools. It
      contains all the named constants that equate to the scan code for the
      functions keys. For example F3 = X'33', something like this:
  /INCLUDE   xTOOLS/qcpysrc,fkeys

      Then down in the calcs, use a SELECT/WHEN case group or an IF
      statement to
      check for the function key:

 C        Exfmt  MyFmt
 C        If       FKey =  F3
 C        eval     *INLR = *ON
 C        return
 C        ElseIf   FKey = F4
 C        callp    FindItem(ITMDESC)
 C        endif

      If you don't have the xTools or my Book, (why am I helping you???
      <vbg>)
      here is the FKEYS /COPY that you'll need.

      /IF NOT DEFINED(RTK_FKEYS)
      /DEFINE RTK_FKEYS
      ** (c) Copyright 1989 - 2003 by Robert Cozzi, Jr.
      **********************************************************
      **      RPGLIB - The RPG xTools  www.rpgxtools.com      **
      **      -----------------------------------------       **
      **  Program  . . . . . . . FKEY_CONST                   **
      **  Description  . . . . . Function key named constants **
      **                                                      **
      **  Features . . . . . . . The Attention ID Byte        **
      **                         for each function key        **
      **                         is defined here.             **
      **                                                      **
      **********************************************************
 
.....D*ame+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++


++++Comments++++++++++++
     D F1              C                   CONST(X'31')
     D F2              C                   CONST(X'32')
     D F3              C                   CONST(X'33')
     D F4              C                   CONST(X'34')
     D F5              C                   CONST(X'35')
     D F6              C                   CONST(X'36')
     D F7              C                   CONST(X'37')
     D F8              C                   CONST(X'38')
     D F9              C                   CONST(X'39')
     D F10             C                   CONST(X'3A')
     D F11             C                   CONST(X'3B')
     D F12             C                   CONST(X'3C')
     D F13             C                   CONST(X'B1')
     D F14             C                   CONST(X'B2')
     D F15             C                   CONST(X'B3')
     D F16             C                   CONST(X'B4')
     D F17             C                   CONST(X'B5')
     D F18             C                   CONST(X'B6')
     D F19             C                   CONST(X'B7')
     D F20             C                   CONST(X'B8')
     D F21             C                   CONST(X'B9')
     D F22             C                   CONST(X'BA')
     D F23             C                   CONST(X'BB')
     D F24             C                   CONST(X'BC')
     D CLEAR           C                   CONST(X'BD')
     D ENTER           C                   CONST(X'F1')
     D HELP            C                   CONST(X'F3')
     D ROLLDN          C                   CONST(X'F4')
     D ROLLUP          C                   CONST(X'F5')
     D PRINT           C                   CONST(X'F6')
     D RCBKSP          C                   CONST(X'F8')
     D AUTENT          C                   CONST(X'3F')
      /ENDIF


      -----Original Message-----
      From: rpg400-l-bounces@xxxxxxxxxxxx
      [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
      On Behalf Of Luis Martins
      Sent: Thursday, August 05, 2004 9:51 AM
      To: CN=RPG programming on the AS400/O=iSeries
      Subject: Re: Function key indicators

      Hello there!

      Can you give me an example of this Two things ?

      Thank You !

      Luis Martins




Please respond to RPG programming on the AS400 / iSeries
       <rpg400-l@xxxxxxxxxxxx>

      Sent by:    rpg400-l-bounces@xxxxxxxxxxxx


      To:    rpg400-l@xxxxxxxxxxxx
      cc:
      Subject:    Re: Function key indicators


      Two things.

      1) Instead of indicators, why not use the INFDS and the AID?

      2) To use the DUP key I would have to DSs: one contain all the screen
      fields, the other similar fields with obvious other names (on V5R1
      you may
      use key word QUALIFIED). Then first press, move from DS1 to DS2,
      second
      press move from DS2 to DS1. Unless this is an old RPG III programme.

      Regards,
      Carel Teijgeler

      *********** REPLY SEPARATOR  ***********

      On 3-8-04 at 16:49 Tim Kredlo wrote:

      >I am attempting to 'genericize' the routine I use to test for the
      'dup'
      key use.
      >
      >I would like it to be generic enough so that it would work without
      modification when the length or layout of the input data changes.
      >Most screens have I, O,and B data interspersed. (## represents the
      'screen
      number id')
      >
      >To do this I declare the input buffer (Input## -LikeRec(PgmScrn##:
      *Input)). I cycle through the input data structure character by
      >character
      substituting any found 'dup' characters with the corresponding
      character
      from a 'saved' input buffer (PrvInput03  S   1 >Dim(%Len(Input##))),
      until
      I get to the end (%Len(Input01)). For this to work I changed my
      typical
      (all I ever use) 'exfmt' with a 'write >format' line, followed by a
      'read-formatname-data structure' line. (I could not figure out how to
      automatically fill the input buffer data >structure using 'exfmt')
      >
      >This works fine. However, changing from 'exfmt' to
      'read-formatname-data
      structure' stops the function key indicators (*InKA-*InKY) >from
      automatically being set on when the corresponding function key is
      pressed.
      >
      >If I remove the data structure name from the 'read' line, hitting a
      function key DOES set on the corresponding *InK? indicator
      >automatically,
      just like when I used 'exfmt'. Why does the absence/presence of this
      data
      structure name change this?
      >
      >Is there a way to set up the screen 'reads' so that functions keys
      automatically set on the corresponding *InK? indicator (like 'exfmt'
      >does)
      AND the input buffer data structure gets filled automatically like
      when the
      'read-formatname-data structure' method is used?
      >
      >(Because of legacy issues I cannot (do not want to) use *In01-*In99
      to
      represent the function keys without a lot more code >modifications
      than I
      care to do.) Or is there a different way of declaring the input
      buffer so
      that all input
      >fields are contiguous and its length can be determined?



      --
      This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
      list
      To post a message email: RPG400-L@xxxxxxxxxxxx
      To subscribe, unsubscribe, or change list options,
      visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
      or email: RPG400-L-request@xxxxxxxxxxxx
      Before posting, please take a moment to review the archives
      at http://archive.midrange.com/rpg400-l.





      Luis Martins
      Finibanco, S.A.
      Tel.: 21 0002331 - Fax: 21 3114509
      http://www.finibanco.pt

      __________________________________________________

      Esta mensagem e quaisquer ficheiros anexos são confidenciais,
      destinando-se
      ao uso exclusivo da pessoa e/ou entidade a que se dirigem. Caso não
      se lhe
      destine, ou não seja responsável pelo seu encaminhamento ao
      destinatário,
      informamos que a recebeu por engano. Qualquer utilização,
      distribuição,
      reencaminhamento ou outra forma de revelação a terceiros, impressão
      ou
      cópia são expressamente proibidos; sendo que agradecemos que destrua
      a
      mensagem de imediato, informando o seu emissor ou o Finibanco do
      sucedido.
      Não obstante o Finibanco utilizar software anti-vírus como precaução,
      não é
      possível garantir que a presente mensagem e eventuais ficheiros
      anexos não
      contêm vírus, pelo que não consideramos da responsabilidade desta
      instituição eventuais consequências inerentes. Alerta-se, ainda, que
      as
      mensagens transmitidas por este meio podem ser interceptadas,
      corrompidas,
      perdidas, destruídas ou entregues com atraso ao destinatário.




      --
      This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
      list
      To post a message email: RPG400-L@xxxxxxxxxxxx
      To subscribe, unsubscribe, or change list options,
      visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
      or email: RPG400-L-request@xxxxxxxxxxxx
      Before posting, please take a moment to review the archives
      at http://archive.midrange.com/rpg400-l.




      --
      This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
      list
      To post a message email: RPG400-L@xxxxxxxxxxxx
      To subscribe, unsubscribe, or change list options,
      visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
      or email: RPG400-L-request@xxxxxxxxxxxx
      Before posting, please take a moment to review the archives
      at http://archive.midrange.com/rpg400-l.





      Luis Martins
      Finibanco, S.A.
      Tel.: 21 0002331 - Fax: 21 3114509
      http://www.finibanco.pt

      __________________________________________________

      Esta mensagem e quaisquer ficheiros anexos são confidenciais,
      destinando-se
      ao uso exclusivo da pessoa e/ou entidade a que se dirigem. Caso não
      se lhe
      destine, ou não seja responsável pelo seu encaminhamento ao
      destinatário,
      informamos que a recebeu por engano. Qualquer utilização,
      distribuição,
      reencaminhamento ou outra forma de revelação a terceiros, impressão
      ou
      cópia são expressamente proibidos; sendo que agradecemos que destrua
      a
      mensagem de imediato, informando o seu emissor ou o Finibanco do
      sucedido.
      Não obstante o Finibanco utilizar software anti-vírus como precaução,
      não é
      possível garantir que a presente mensagem e eventuais ficheiros
      anexos não
      contêm vírus, pelo que não consideramos da responsabilidade desta
      instituição eventuais consequências inerentes. Alerta-se, ainda, que
      as
      mensagens transmitidas por este meio podem ser interceptadas,
      corrompidas,
      perdidas, destruídas ou entregues com atraso ao destinatário.




      --
      This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
      list
      To post a message email: RPG400-L@xxxxxxxxxxxx
      To subscribe, unsubscribe, or change list options,
      visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
      or email: RPG400-L-request@xxxxxxxxxxxx
      Before posting, please take a moment to review the archives
      at http://archive.midrange.com/rpg400-l.




      --
      This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
      list
      To post a message email: RPG400-L@xxxxxxxxxxxx
      To subscribe, unsubscribe, or change list options,
      visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
      or email: RPG400-L-request@xxxxxxxxxxxx
      Before posting, please take a moment to review the archives
      at http://archive.midrange.com/rpg400-l.





      Luis Martins
      Finibanco, S.A.
      Tel.: 21 0002331 - Fax: 21 3114509
      http://www.finibanco.pt

__________________________________________________

Esta mensagem e quaisquer ficheiros anexos são confidenciais, destinando-se
ao uso exclusivo da pessoa e/ou entidade a que se dirigem. Caso não se lhe
destine, ou não seja responsável pelo seu encaminhamento ao destinatário,
informamos que a recebeu por engano. Qualquer utilização, distribuição,
reencaminhamento ou outra forma de revelação a terceiros, impressão ou
cópia são expressamente proibidos; sendo que agradecemos que destrua a
mensagem de imediato, informando o seu emissor ou o Finibanco do sucedido.
Não obstante o Finibanco utilizar software anti-vírus como precaução, não é
possível garantir que a presente mensagem e eventuais ficheiros anexos não
contêm vírus, pelo que não consideramos da responsabilidade desta
instituição eventuais consequências inerentes. Alerta-se, ainda, que as
mensagens transmitidas por este meio podem ser interceptadas, corrompidas,
perdidas, destruídas ou entregues com atraso ao destinatário.




--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.





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.