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