ue_form

Open or create a window

 

Open a window

declare=lform.ue_form

lform.psr=<filename>

lform.s_parm1=parameter

// Variant open

lform.show

// Variant open modal

lform.showdialog

 

Create own window

declare=lform.ue_form

lform.sql=sql statement

lform.style=edit/browse

lform.showdialog

if <lform.ret_code> n= 1 then

 messagebox=<lform.fieldname>

end if

 

in the form instance you have full access from and to both windows.

You can see results from child window after closing the child window

You can read all values from the child.dw_1 window with <lform.fieldname>, if return code <lform.ret_code> = 1

 

In the window, which you open, you have access to all properties with form.return.[property]

Example

form.return.s_parm1=<dw_1.item.itemcode.value>

lform.return.ret_code=1

 

 

 

Property / Function

Read

Write

Description

b_parm1 ... b_parm2

x

x

set str_parm boolean parameter. You can read this in created window with <str_parm.b_parm1>

belnr_id, belpos_id, pos_id

x

x

set str_parm workorder number parameter

c_parm1 ... c_parm6

x

x

set str_parm numberic parameter. You can read this in created window with <str_parm.c_parm1>

columndefenition

 

x

set columndefinition for browser view

docentry, linenum

x

x

set str_parm document/linenum parameter

dt_parm1 ... dt_parm2

x

x

set str_parm date parameter. You can read this in created window with <str_parm.dt_parm1>

dw_1...dw_7

 

x

 

You have access to all datawindows properties from created window

Example: Create window with choosing itemcode, default is "Sofa"

Changed title and inserted a dropdown command

 

if you change the itemcode, beas must define the item name. You can define this with a global functino

 

declare=lform=ue_form

lform.dwname=myWindow

lform.sql=select "ItemCode","ItemName" from "OITM" where "ItemCode"='Sofa'

lform.dw_1.item.itemcode.title=Item Code

lform.dw_1.item.itemname.title=Description

lform.dw_1.item.itemcode.dropdown=select "ItemCode","ItemName" from "OITM"

lform.style=edit

lform.showdialog

destroy=lform

 

// function for change item code

global function lform_dw_1_item_itemcode_itemchanged

select "ItemName" into dw_1.item.itemname from "OITM" where "ItemCode"=<dw_1.item.itemcode.value,dbstring>

end global

dwname

 

x

 

declare=lform=ue_form

lform.dwname=myWindow

lform.sql=select space(50) as itemcode from "BEAS_DUMMY"

lform.showdialog

 

// internal Name of created window: myWindow

form.height

 

x

Define height for new edit window. If column need more height, beas create a second column

form.name

 

x

Define internal name for created form (same as dwname)

form.title

 

x

Define title for new edit window

global function

 

x

 

All existing global functions, which start with the object name of ue_form will be available in the created form too

 

Example

 

declare=mynewform=ue_form

mynewform.sql=select "ItemCode","ItemName" from "OITM" where "ItemCode"='Sofa'

mynewform.design=edit

mynewform.showdialog

destry=mynewform

 

global function mynewform_form_opened

lform.dw_1.item.itemcode.title=Item Code

lform.dw_1.item.itemname.title=Description

end global

 

item

 

x

 

you have direct access to all dw_1.item - properties

if you write only "item", beas set as prefix "dw_1." automatically

 

item.itemcode.title=abc

is same as

dw_1.item.itemcode.title=abc

psr

 

x

 

// Open Artikel edit window for item A001

declare=lform=ue_form

lform.psr=artikel_edit.psr

lform.s_parm1=A001

lform.show

lform.destroy

ret_code, ret_value, ret_text

x

x


s_parm1 ... s_parm5

x

x

set str_parm parameter. You can read this in the created window with <str_parm.s_parm1>

setvar

x

x

 

You can define in the child window variables. With "form.return" you have access to the lform object. from parent window

 

declare=lform=ue_form

lform.dwname=mywindow.psr

lform.showdialog

if <lform.ret_code> = 1 then

 messagebox=Color <lform.ret_color>

end if

 

in the window "mywindow"

 

global function form_close

form.return.setvar=ret_color=<dw_1.item.color.value>

form.return.ret_code=1

end global

show

 

x

 

declare=lform=ue_form

lform.psr=artikel_edit.psr

lform.s_parm1=A001

destroy=lform

showdialog

 

x

 

Open dialog and waiting

if user click on ok, the <lform.ret_code> = 1 and all columns insode <lform.[colnames]>

if user click on cancel, then <lform.ret_code> = -1

 

example: asking for date

declare=lform=ue_form

lform.dwname=datearea

lform.sql=select getdate() as from_date,getdate() as to_date from "BEAS_DUMMY"

lform.showdialog

if <lform.ret_code> = 1 then

  messagebox=date area <lform.from_date,date> to <lform.to_date,date>

end if

destroy=lform

sql=<sql statement>

 

x

 

This command allow you to create a new window

You can have a connection to a table (select "ItemCode" from "OITM" where ...")
If beas have field information of a field (related window, format information, dropdowns, title), then beas using this.
 
Or you can create a window without table connection. In this case use table "BEAS_DUMMY", example select space(50) as myField from "BEAS_DUMMY"

 

You can move information from current window in simple way

select 100 as quantity,<dw_1.item.itemcode.value,dbstring> as itemcode from "BEAS_DUMMY"

 

The name of Field is the title of field too. If you use an underline, beas replace this with space

example

select getdate() as from_date from "BEAS_DUMMY"

create title: "From Date" and column "from_date"

 

Example: Open a new window

 

declare=lform=ue_form

lform.dwname=myWindow

lform.sql=select 100 as quantity space(50) as itemcode from "BEAS_DUMMY"

lform.showdialog

if <lform.ret_code> = 1 then

  messagebox=choosed quantity = <lform.quantity>

end if

destroy=lform

 

if keyword "BEAS_DUMMY" inside the SQL Statement, beas use automatically style mode "edit", otherwise "list". You can change this with

lfrom.style=edit/browse

style

 

x

 

only, if you create a new window with lform.sql

if the keyword "BEAS_DUMMY" inside the system use automatically "style=edit", otherwise "style.browse"

But you can overwrite this with

lform.style

 

You can define style edit for EditForm or browse as browse form

 

lform.style=edit

text.distance

 

x

Distance between text and columns for new window in edit style

text.left

 

x

Distance between left border and text field for new window in edit style

title

 

x

define title

update

 

x

 

if this flag is off, beas don't switch the button "OK" to "Update" if you change anything

if you define a own window with lform.sql then beas disable this option automatically. But you can overwrite this and can write your own update function in global function "lform_form_update"

 

Example

You'e an UDT @U_COLOR

 

declare=lform=ue_form

lform.sql=select "U_Color","U_Description from "@U_ColorTable" where "U_Color"='red'

lform.update=true

lform.title=Color

lform.dwname=colordefinition

lform.show

destroy=lform

 

global function lform_form_update

// Only update, this is not an add Methode

sql=update "@U_Color_Table" &

  set "U_Description"=<dw_1.item.u_description.value,dbstring> where &

  "U_Color"=<dw_1.item.u_color.value,dbstring>

end global