gulya2005
19th January 2005, 10:16
We want to create session like tdrpl0111s100 which have several lines of main data and two or more detail forms in the same window.
Can anybody help us to write such sessions?
Thunk you for answers. We have found decision of the problem.
rdbailey
19th January 2005, 17:14
We have done such a thing in Baan IVc3. We created a screen for a different type of inventory counting (Baan doesn't handle it the way we need). I'll try to give you a screen shot here to see if it is the kind of thing you are looking for.
I saved it as 256 color BMP so it may look a little green, but you should get the idea.
Anyway, the top fields are detail fields from the selected record below. If this is what you are looking for, I can give some advice on setting it up (it was quite a while ago I wrote this so it might take me a few minutes to remember everything I did).
Let me know.....
greasedman
19th January 2005, 17:59
We want to create session like tdrpl0111s100 which have several lines of main data and two or more detail forms in the same window.
Can anybody help us to write such sessions?
You could do it simply drawing a matrix in a corner of your form, filling this matrix with the infos you'd like to view in on.choice section of choice.mark.occur and displaying it with a display("field") (or a display.all() if you want to use several variables istead of a single matrix) in its after.choice :)
just_fro
19th January 2005, 22:49
Have a look at session tdsls4102s000 (maintain salesorderlines)
Form is build from 2 separate forms ...the top form shows the orderlines, the lower form shows all orderline details....
armand
20th January 2005, 09:34
Agreed with just_fro.
You to create 2 sessions one for lines and another for detail forms.
In that sessions you must switch control from one to another when an event occurs. Additionally you can transfer info about that event to reproduce it in list session.
Detail session:
declaration:
long child
before.program:
sattr.combined = COMBINED.BOTTOM
form.1:
init.form:
ignore.first.event = TRUE
process.communication.handler.start()
execute(first.set)
choice.end.program:
before.choice:
if child then
kill(child)
child = 0
endif
choice.first.set:
after.choice:
instruction = first.set
activate.display.process()
functions:
function process.communication.handler.start()
{
status.off()
child = activate(<You_list_session>)
status.on()
instruction = 0
activate.display.process()
}
function activate.display.process()
{
status.off()
if ( child ) then
switch.to.process(child,
SWITCH.SAME.SIZE +
SWITCH.WITHOUT.INTERACTION)
endif
status.on()
}
list session:
before.program:
sattr.combined = COMBINED.TOP
sattr.slave = TRUE
fattr.toplines = 1
fattr.scrollbar = false
wait.for.switch()
form.1:
init.form:
while true
import("instruction",
instruction)
on case instruction
case last.set:
execute(last.set)
break
case first.set:
execute(first.set)
break
case start.set:
blank.all()
break
default:
endcase
switch.to.process(parent)
endwhile
greasedman
20th January 2005, 18:58
Agreed with just_fro.
You to create 2 sessions one for lines and another for detail forms.
In that sessions you must switch control from one to another when an event occurs. Additionally you can transfer info about that event to reproduce it in list session.
I disagree; it's too difficult and it could take too many times for this purpose.
You have to choice this way if you need two different maintain forms with the possibility of marking some occurrence in both forms; but if you'd like to create just a little side of a form to display some infos you should do as explained above.
armand
21st January 2005, 09:00
Agreed. But a talk was about how to create two or more detail forms.