Image display on button click: I'm using the Image command with the "catalog" funcion (mulitple images) in order to display product information on a particular screen:

Image (1,1)(16,140)"W:\ProductIimages\&F[Material]_&#.jpg" -nostretch -plain -nobuffer

This works well, but I would prefer to display the image not immediately but when the user presses a button. What do you recommend in this case?

Here are two possibilities:

(1) Embedded image

The pushbutton invokes an InputScript that sets a flag variable. You query this variable before you display the image:

// Image display?
if V[flag_image_matnr]
  Pushbutton (toolbar) "Hide product image"   process="hide_product_image.txt"
  Image (1,1)(16,140)"W:\ProductImages\&F[Material]_&#.jpg" -nostretch -plain -nobuffer
else
  Pushbutton (toolbar) "Product image"   process="display_product_image.txt"
endif

In the InputScript "display_product_image.txt" you set the variable

Set V[flag_image_matnr] "X"
Return

and in "hide_product_image.txt"

you reset the flag variable
Set V[flag_image_matnr] "X"
Return

(2) Image displayed as popup window

The pushbutton invokes an InputScript that opens a popup screen, namely the /O session overview. You delete all elements and buttons on this screen and display your product image instead:

Pushbutton (toolbar) "Product image"  process="popup_product_image.txt"
   using MATNR = [Material]

InputScript "popup_product_image.txt"

// Pass material number
Parameter MATNR

// Display session overview so that a popup screen is shown
Enter /O

// Session overview
Screen RSM04000_ALV.2000

// Own title
Title "Material &U[MATNR]"

//delete existing screen elements
del (0,0) (40,200)

// delete function keys
del P[/5]
del P[/12]
del P[/14] //

Resize popup screen
WindowSize (16,140)

// Display the image(s)
image (1,1)(16,140) "W:\ProductImages\&U[MATNR]_&#.jpg" -nostretch -plain nobuffer