How to set a (F7)Recall value

HTX

New Member
Good day and hello to you too.

I have but a little understanding of the progress programming language and so i have the following problem.

I have an application for a customer order system works like a charm but... In a field called Order.artikelomschrijving which is viewed as an editor in the program users were able to paste a piece of "predefined" text in this box with the F7 key.

If you havent already guessed it , the problem is it doenst work anymore.

Is there a way to set this value?
Or is there another way to fix this ?

Pls ask for more info if needed
 
There is probably an

ON "F7" OF Order.artikelomschrijving trigger within your program which has been deleted/modified so that the functionality no longer works. As you say, your knowledge of progress is not great, so I would suggest that you obtain a backup of the source code from when it did work and compare the two. The
difference causing the problem should be fairly obvious

HTX said:
Good day and hello to you too.

I have but a little understanding of the progress programming language and so i have the following problem.

I have an application for a customer order system works like a charm but... In a field called Order.artikelomschrijving which is viewed as an editor in the program users were able to paste a piece of "predefined" text in this box with the F7 key.

If you havent already guessed it , the problem is it doenst work anymore.

Is there a way to set this value?
Or is there another way to fix this ?

Pls ask for more info if needed
 
I was to understand that the F7 key was application independant. That it would be a progress paste tool.

The source is somewhat adjusted, the edit box is a part of the whole order which contains the article info. The text inserted by the F7 key is constant for almost each order. Some have it others dont. It consist of 2 lines that explain delivery time.

The source is adusted to fit to a page on a new printer instead of 37 lines for the edit box it is now 35 lines. That is the only difference in the source. I would like to keep it this way otherwise printing more than one order is disasterous.

Since im looking at the source now .... has it something to do with runtime attributes or UIB settings???

I cannot imagine that this is the reason why it wont work
 
This is not something I have heard of, but that is not to say it doesnt exist. If you know the text that is pasted into this editor usually, try doing a search for a part of the text in all the source code. This should point you in the right direction.

HTX said:
I was to understand that the F7 key was application independant. That it would be a progress paste tool.

The source is somewhat adjusted, the edit box is a part of the whole order which contains the article info. The text inserted by the F7 key is constant for almost each order. Some have it others dont. It consist of 2 lines that explain delivery time.

The source is adusted to fit to a page on a new printer instead of 37 lines for the edit box it is now 35 lines. That is the only difference in the source. I would like to keep it this way otherwise printing more than one order is disasterous.

Since im looking at the source now .... has it something to do with runtime attributes or UIB settings???

I cannot imagine that this is the reason why it wont work
 
bendaluz2 said:
This is not something I have heard of, but that is not to say it doesnt exist. If you know the text that is pasted into this editor usually, try doing a search for a part of the text in all the source code. This should point you in the right direction.


That i did at first but nothing came up. So ive tried to find the name of the textbox. This way i found the changes that were made to the source code.

Perhaps you can say how a recall is triggered (sample) maybe i can extrapolate the sample source to my own situation. I hav no idea what to look for. But im not stupid and programming is programming.

Thx in advance.
 
Well, assuming its not a progress paste command (which I dont think it is), there are several ways that it could be done. Either with a trigger defined to trap F7, or an accelerator for a menu option or hidden button or something like that. Any chance you could paste the code for the screen?

HTX said:
That i did at first but nothing came up. So ive tried to find the name of the textbox. This way i found the changes that were made to the source code.

Perhaps you can say how a recall is triggered (sample) maybe i can extrapolate the sample source to my own situation. I hav no idea what to look for. But im not stupid and programming is programming.

Thx in advance.
 
I think that either your PROTERMCAP file or TERMinal emulation has changed. If you go to your tramlines, shell to UNIX and enter
Code:
echo $PROTERMCAP
echo $TERM
you should be able to see the values to which they are assigned.

By looking in the PROTERMCAP file under your TERMinal emulation's section, you should be able to see if F7 is mapped to PASTE.

It is more likely that F7 is mapped to RECALL and F12 is mapped to PASTE. This was changed Progress v6 to v7 I think.

It would help if you could also identify which release of PROGRESS you are using. This can be tested by shelling to UNIX and enetering
Code:
 $DLC/version
 
If you said 'F7' was pasting a predefined set of code. It could have been coded in a procedure which would not be the procedure your looking at. Maybe you have a persistent procedure or your main program that is called first would have this defined.

You may want to grep for "ON 'F7' " or "ON 'RECALL' "

HTH
V

Norman Biggar said:
I think that either your PROTERMCAP file or TERMinal emulation has changed. If you go to your tramlines, shell to UNIX and enter
Code:
echo $PROTERMCAP
echo $TERM
you should be able to see the values to which they are assigned.

By looking in the PROTERMCAP file under your TERMinal emulation's section, you should be able to see if F7 is mapped to PASTE.

It is more likely that F7 is mapped to RECALL and F12 is mapped to PASTE. This was changed Progress v6 to v7 I think.

It would help if you could also identify which release of PROGRESS you are using. This can be tested by shelling to UNIX and enetering
Code:
 $DLC/version
 
The version of Progress is 8.3d and the F7 key is mapped to recall.

I have searched the source code for F7 or recall neither came up with something.

Code:
[font=Courier New][size=1]&ANALYZE-SUSPEND _VERSION-NUMBER UIB_v7r9[/size]
[size=1]&ANALYZE-RESUME[/size]
[size=1]/* Connected Databases [/size]
[size=1]Artiko[/size]
[size=1]*/[/size]
[size=1]&Scoped-define WINDOW-NAME DIALOG-1[/size]
[size=1]&Scoped-define FRAME-NAME DIALOG-1[/size]
[size=1]&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS DIALOG-1 [/size]
[size=1]/*------------------------------------------------------------------------[/size]
[size=1]File: MORD0102.W[/size]
[size=1]Description: Muteren Order-omschrijving[/size]
[size=1]Input Parameters:[/size]
[size=1]Programma-ID, Record_ID van Order-tabel[/size]
[size=1]Output Parameters:[/size]
[size=1]<none>[/size]
[size=1]------------------------------------------------------------------------*/[/size]
[size=1]/* This .W file was created with the Progress UIB. */[/size]
[size=1]/*----------------------------------------------------------------------*/[/size]
[size=1]/** 28-03-03 editor - widget from 37 to 35 **/[/size]
[size=1]/* *************************** Definitions ************************** */[/size]
[size=1]/* Parameters Definitions --- */[/size]
[size=1]DEF INPUT PARAMETER prog_id AS CHAR FORMAT "!".[/size]
[size=1]DEF INPUT PARAMETER rec_id AS RECID.[/size]
[size=1]/* Local Variable Definitions --- */[/size]
[size=1]DEF VAR s_Wijzigen AS LOGI INIT FALSE.[/size]
[size=1]/* _UIB-CODE-BLOCK-END */[/size]
[size=1]&ANALYZE-RESUME[/size]


[size=1]/* *********************** Control Definitions ********************** */[/size]
[size=1]/* Define a dialog box */[/size]
[size=1]/* Definitions of the field level widgets */[/size]
[size=1]DEFINE BUTTON Btn-OK AUTO-GO [/size]
[size=1]LABEL "OK":L [/size]
[size=1]SIZE 11 BY 1.[/size]
[size=1]DEFINE BUTTON Btn-Wijzigen DEFAULT [/size]
[size=1]LABEL "Wijzigen":L [/size]
[size=1]SIZE 11 BY 1.[/size]

[size=1]/* ************************ Frame Definitions *********************** */[/size]
[size=1]DEFINE FRAME DIALOG-1[/size]
[size=1]Order.Periodekode AT ROW 1 COL 13 COLON-ALIGNED[/size]
[size=1]VIEW-AS FILL-IN [/size]
[size=1]SIZE 8.14 BY 1[/size]
[size=1]Order.Ordernr AT ROW 1 COL 37 COLON-ALIGNED[/size]
[size=1]VIEW-AS FILL-IN [/size]
[size=1]SIZE 6.86 BY 1[/size]
[size=1]Order.Artikelomschrijving AT ROW 3 COL 2 NO-LABEL[/size]
[size=1]VIEW-AS EDITOR SCROLLBAR-VERTICAL[/size]
[size=1]SIZE 76 BY 14[/size]
[size=1]Btn-OK AT ROW 18 COL 4[/size]
[size=1]Btn-Wijzigen AT ROW 18 COL 18[/size]
[size=1]WITH VIEW-AS DIALOG-BOX SIDE-LABELS [/size]
[size=1]SIZE 80 BY 20[/size]
[size=1]TITLE "Orderomschrijving":L[/size]
[size=1]CANCEL-BUTTON Btn-Wijzigen.[/size]


[size=1]/* *************** Runtime Attributes and UIB Settings ************** */[/size]
[size=1]&ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES[/size]
[size=1]/* SETTINGS FOR DIALOG-BOX DIALOG-1[/size]
[size=1]VISIBLE,L */[/size]
[size=1]/* SETTINGS FOR DIALOG-BOX DIALOG-1[/size]
[size=1]UNDERLINE */[/size]
[size=1]ASSIGN [/size]
[size=1]FRAME DIALOG-1:SCROLLABLE = FALSE.[/size]
[size=1]ASSIGN [/size]
[size=1]Order.Artikelomschrijving:RETURN-INSERTED IN FRAME DIALOG-1 = TRUE.[/size]
[size=1]ASSIGN [/size]
[size=1]Btn-Wijzigen:HIDDEN IN FRAME DIALOG-1 = TRUE.[/size]
[size=1]/* _RUN-TIME-ATTRIBUTES-END */[/size]
[size=1]&ANALYZE-RESUME[/size]



[size=1]/* ************************ Control Triggers ************************ */[/size]
[size=1]&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn-OK DIALOG-1[/size]
[size=1]ON CHOOSE OF Btn-OK IN FRAME DIALOG-1 /* OK */[/size]
[size=1]DO:[/size]
[size=1]IF s_Wijzigen[/size]
[size=1]THEN DO:[/size]
[size=1]IF Order.OrderStatus <= 5[/size]
[size=1]THEN ASSIGN Order.Artikelomschrijving.[/size]
[size=1]ELSE IF Order.OrderStatus <= 5 AND[/size]
[size=1]Order.Artikelomschrijving NE Order.Artikelomschrijving:SCREEN-VALUE[/size]
[size=1]THEN DO:[/size]
[size=1]RUN dialog/mord0990.p (INPUT rec_id).[/size]
[size=1]IF RETURN-VALUE = "9"[/size]
[size=1]THEN DO:[/size]
[size=1]BELL.[/size]
[size=1]MESSAGE "FATALE FOUT: Wijzigingen NIET uitgevoerd!"[/size]
[size=1]VIEW-AS ALERT-BOX ERROR BUTTONS OK.[/size]
[size=1]END.[/size]
[size=1]ELSE ASSIGN Order.Artikelomschrijving.[/size]
[size=1]END.[/size]
[size=1]END.[/size]
[size=1]APPLY "GO" TO FRAME {&FRAME-NAME}.[/size]
[size=1]END.[/size]
[size=1]/* _UIB-CODE-BLOCK-END */[/size]
[size=1]&ANALYZE-RESUME[/size]

[size=1]&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn-Wijzigen DIALOG-1[/size]
[size=1]ON CHOOSE OF Btn-Wijzigen IN FRAME DIALOG-1 /* Wijzigen */[/size]
[size=1]DO:[/size]
[size=1]IF s_Wijzigen = FALSE[/size]
[size=1]THEN DO:[/size]
[size=1]FIND Order WHERE RECID(Order) = rec_id EXCLUSIVE-LOCK NO-ERROR NO-WAIT.[/size]
[size=1]IF LOCKED Order THEN[/size]
[size=1]DO:[/size]
[size=1]MESSAGE "Order wordt momenteel gemuteerd, alleen raadplegen mogelijk"[/size]
[size=1]VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.[/size]
[size=1]RETURN NO-APPLY.[/size]
[size=1]END.[/size]
[size=1]DISPLAY Order.Artikelomschrijving[/size]
[size=1]WITH FRAME {&FRAME-NAME}.[/size]
[size=1]Btn-Wijzigen:LABEL = "Annuleren".[/size]
[size=1]ENABLE Order.Artikelomschrijving[/size]
[size=1]WITH FRAME {&FRAME-NAME}.[/size]
[size=1]s_Wijzigen = TRUE.[/size]
[size=1]END.[/size]
[size=1]ELSE Btn-Wijzigen:AUTO-END-KEY = TRUE.[/size]
[size=1]END.[/size]
[size=1]/* _UIB-CODE-BLOCK-END */[/size]
[size=1]&ANALYZE-RESUME[/size]


[size=1]&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK DIALOG-1 [/size]

[size=1]/* *************************** Main Block *************************** */[/size]
[size=1]/* Restore the current-window if it is an icon. */[/size]
[size=1]/* Otherwise the dialog box will be hidden */[/size]
[size=1]IF CURRENT-WINDOW:WINDOW-STATE = WINDOW-MINIMIZED [/size]
[size=1]THEN CURRENT-WINDOW:WINDOW-STATE = WINDOW-NORMAL.[/size]
[size=1]/* Add Trigger to equate WINDOW-CLOSE to END-ERROR */[/size]
[size=1]ON WINDOW-CLOSE OF FRAME {&FRAME-NAME} APPLY "END-ERROR":U TO SELF.[/size]
[size=1]/* Now enable the interface and wait for the exit condition. */[/size]
[size=1]DO TRANSACTION:[/size]
[size=1]/** 28-03-03 van 37 naar 35 */[/size]
[size=1]Order.Artikelomschrijving:BUFFER-LINES = 35.[/size]
[size=1]RUN display_order.[/size]
[size=1]RUN enable_UI.[/size]
[size=1]WAIT-FOR GO OF FRAME {&FRAME-NAME}.[/size]
[size=1]HIDE MESSAGE NO-PAUSE.[/size]
[size=1]RUN disable_UI.[/size]
[size=1]RELEASE Order NO-ERROR.[/size]
[size=1]END.[/size]
[size=1]/* _UIB-CODE-BLOCK-END */[/size]
[size=1]&ANALYZE-RESUME[/size]

[size=1]/* ********************** Internal Procedures *********************** */[/size]
[size=1]&ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI DIALOG-1 _DEFAULT-DISABLE[/size]
[size=1]PROCEDURE disable_UI :[/size]
[size=1]/* --------------------------------------------------------------------[/size]
[size=1]Purpose: DISABLE the User Interface[/size]
[size=1]Parameters: <none>[/size]
[size=1]Notes: Here we clean-up the user-interface by deleting[/size]
[size=1]dynamic widgets we have created and/or hide [/size]
[size=1]frames. This procedure is usually called when[/size]
[size=1]we are ready to "clean-up" after running.[/size]
[size=1]-------------------------------------------------------------------- */[/size]
[size=1]/* Hide all the browsers and frames */[/size]
[size=1]HIDE FRAME DIALOG-1.[/size]
[size=1]END PROCEDURE.[/size]
[size=1]/* _UIB-CODE-BLOCK-END */[/size]
[size=1]&ANALYZE-RESUME[/size]

[size=1]&ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE display_order DIALOG-1 [/size]
[size=1]PROCEDURE display_order :[/size]
[size=1]/* -----------------------------------------------------------[/size]
[size=1]Purpose: [/size]
[size=1]Parameters: <none>[/size]
[size=1]Notes: [/size]
[size=1]-------------------------------------------------------------*/[/size]
[size=1]IF prog_id = "O"[/size]
[size=1]THEN FIND Order WHERE RECID(Order) = rec_id EXCLUSIVE-LOCK.[/size]
[size=1]ELSE FIND Order WHERE RECID(Order) = rec_id NO-LOCK.[/size]
[size=1]DISPLAY[/size]
[size=1]Order.Periodekode Order.Ordernr Order.Artikelomschrijving[/size]
[size=1]WITH FRAME {&FRAME-NAME}.[/size]
[size=1]IF prog_id = "O"[/size]
[size=1]THEN DO:[/size]
[size=1]ENABLE[/size]
[size=1]Order.Artikelomschrijving[/size]
[size=1]WITH FRAME {&FRAME-NAME}.[/size]
[size=1]s_Wijzigen = TRUE.[/size]
[size=1]END.[/size]
[size=1]END PROCEDURE.[/size]
[size=1]/* _UIB-CODE-BLOCK-END */[/size]
[size=1]&ANALYZE-RESUME[/size]

[size=1]&ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI DIALOG-1 [/size]
[size=1]PROCEDURE enable_UI :[/size]
[size=1]/* --------------------------------------------------------------------[/size]
[size=1]Purpose: ENABLE the User Interface[/size]
[size=1]Parameters: <none>[/size]
[size=1]Notes: Here we display/view/enable the widgets in the[/size]
[size=1]user-interface. The statements here are based[/size]
[size=1]on the "Default Enabling" section of the widget[/size]
[size=1]Property Sheets.[/size]
[size=1]-------------------------------------------------------------------- */[/size]
[size=1]IF prog_id = "O"[/size]
[size=1]THEN ENABLE [/size]
[size=1]Btn-OK Order.Artikelomschrijving[/size]
[size=1]WITH FRAME {&FRAME-NAME}.[/size]
[size=1]ELSE DO:[/size]
[size=1]ENABLE[/size]
[size=1]Btn-OK Btn-Wijzigen Order.Artikelomschrijving[/size]
[size=1]WITH FRAME {&FRAME-NAME}.[/size]
[size=1]Btn-Wijzigen:VISIBLE = TRUE.[/size]
[size=1]END.[/size]
[size=1]END PROCEDURE.[/size]
[size=1]/* _UIB-CODE-BLOCK-END */[/size]
[size=1]&ANALYZE-RESUME[/size]

[size=1]&UNDEFINE FRAME-NAME [/size]
[size=1]&UNDEFINE WINDOW-NAME[/size]
[/font]

OK maybe its a bit much but this is the source that has changed since the problems are occuring.

This stuff is confusing.....:confused:
 
We use a program that will allow the function keys and various key combinations (well, ANY key actually, but why would one want to mess with the alpha keys) to be programmed by the users to send whatever text they'd like. This text is then stored in the users local key map. Could it be that, or something akin to it?
 
MHotovec said:
We use a program that will allow the function keys and various key combinations (well, ANY key actually, but why would one want to mess with the alpha keys) to be programmed by the users to send whatever text they'd like. This text is then stored in the users local key map. Could it be that, or something akin to it?

This sounds great pls tell me more !!!!:D
 
Hi,

There is a code dialog/mord0990.p for the when you hit OK. Take a look at that procedure. But you also have to look up other procedures that get called before this.

HTH
HTX said:
This sounds great pls tell me more !!!!:D
 
Well, I won't go into any great detail because what works for our software won't necessarily work for yours.
We use software from VanDyke Technologies called CRT, or SecureCrt, depending upon from where one is connecting to our system. This software is used by the IT folks as an Editor, and by the users to run the software. Both CRT and SecureCRt have a built in key editor which any user can go into and change what a key 'does'. For instance you could select the F7 key, and instead of it acting like a VT_F7 key, you could tell it to 'send string' then enter whatever data you'd like sent. Save the changes and from that point forward that's what would happen when you press F7. When a user makes a change like that, it only applies to their workstation, though the IT geeks here can make global changes if we so desire (we don't).

That's basically all there is to it.
www.vandyke.com if you want to know more about the software.

HTX said:
This sounds great pls tell me more !!!!:D
 
Back
Top