PDA

View Full Version : SubFile - Breite Anzeige



Seiten : [1] 2

malzusrex
12-07-07, 12:07
Moin,

ich habe ein DSPF. Darin gibt es ein Format mit 24*80.
Des weitern habe ich ein SubFile mit 27*132. Das Subfile wird auch immer nur in dieser Breite angezeigt. Nur lässt er mich das File nicht wandeln, da er in das Subfile immer noch was von dem 24*80 einfügt, un der Meinung ist, das sich dann Felder überlappen würden.
Bringe ich das Format von 24*80 auf 27*132, dann lässt er mich das wandeln. Ich möchte aber das Format nicht in der Minischrif haben.
Gibt es einen Trick, der Kiste (as/400) begreiflich zu machen, das ich das SUbfile nicht in der kleinen Form (24*80) haben will?

Ich hoffe das war jetzt einigermaßen verständlich
Gruß
Ronald

kuempi von stein
12-07-07, 12:22
Hallo, habe das mal spasshalber ausprobiert und die DSPF geändert von


A DSPSIZ(24 80 *DS3)

auf


A DSPSIZ(27 132 *DS4)


funktioniert prima.
Oder hab ich das falsch verstanden?

k.

malzusrex
12-07-07, 12:39
Da hast Du mich jetzt glaube falsch verstanden. In Auszügen jetzt mal mein DSPF


A DSPSIZ(27 132 *DS4 -
A 24 80 *DS3)
A *DS4 MSGLOC(28)
A *DS3 MSGLOC(24)
A R FORMAT1
A DSPMOD(*DS3)
A CA03
A CF09
------------ 43 Datensätze ausgeschlossen --------------------------------------

A R SF1 SFL
A SF1_BB 4Y 0B 9128EDTCDE(4)
A COLOR(WHT)
A DSPATR(HI)
------------ 15 Datensätze ausgeschlossen --------------------------------------

A R SF1C SFLCTL(SF1)
A *DS4 SFLSIZ(0016)
A *DS4 SFLPAG(0015)
A *DS3 SFLSIZ(0016)
A *DS3 SFLPAG(0015)
A DSPMOD(*DS4)
A 92 SFLDSP
A SFLDSPCTL
A 90 SFLCLR
A CA03(03 'Ende der Arbeit')
A SFLCSRRRN(&CSRRRN)
A RTNCSRLOC(&SATZ## &FELD##)
A FELD## 10A H
A SATZ## 10A H
A POS1 4S 0H


Das FORMAT1 ist in 24*80 und soll auch so bleiben.
SF1 ist 27*132. der SDA setzt in den Controllsatz immer noch folgende 2 Zeilen ein


A *DS3 SFLSIZ(0016)
A *DS3 SFLPAG(0015)

Selbst wenn ich diese lösche, kann ich es nicht umwandel. Werfe ich das Format1 aus dem Dsplyfile dann geht es, es funktioniert auch, wenn ich FORMAT1 auf 27*132 ändere. Das will ich aber nicht

Ronald

TARASIK
12-07-07, 12:51
Hallo Ronald,
wie wäre es als Info damit ?

IBM - DSPSIZ(*DS3 *DS4) Causes Message CPD7817 and Message CPD7812 on a Subfile (http://www-1.ibm.com/support/docview.wss?rs=0&context=SWG60&dc=DB520&dc=D900&dc=D800&dc=DA900&dc=DA800&q1=subfile+display+size+AND+AS400KBXXYYZZRCH&uid=nas1628a9118e85fb12586256dff0077b913&loc=en_US&cs=UTF-8&lang=all)

Fuerchau
12-07-07, 13:04
Eine Subfile kann nur entweder für DS3 oder DS4 definiert werden.
Da musst du dich schon entscheiden.

malzusrex
12-07-07, 13:14
Eine Subfile kann nur entweder für DS3 oder DS4 definiert werden.
Da musst du dich schon entscheiden.

Hatte ich ja schon, nur hat der mir unterstellt, das ich ja auch das andere nehmen könnte. Habe es jetzt halt mit 2 DSPF gelöst. In eine kommen alle 24*80 und in die andere halt die mit 27*132.

Gruß
Ronald

Fuerchau
12-07-07, 13:46
Das ist sowieso der bessere Weg.

Allerdings solltest du die DSPF's mit USROPN definieren.
Wenn du z.B. eine Sitzung für 24x80 konfigurierst, wird bereits der Open mit CPF-Nachricht abgelehnt, nur weil die DSPF *DS4-Definitionen enthält !

cbe
13-07-07, 08:05
Hallo,

hast Du es mal damit versucht, den DSPMOD mit Bezugszahl zu versehen?

Ich hatte das gleiche Problem und es in einem Programm so gemacht:


A R CMSD2002
A N13 DSPMOD(*DS3)
A OVERLAY
A 25 2'===>'
A *DS3 22 2
A D2CMD 73 B 25 7CHECK(LC)
A *DS3 22 7

Je nachdem, welches Format ich möchte, habe ich die BZ 13 geändert.

Gruß,
Christian

Fuerchau
18-07-07, 17:21
Das klappt nur bei normalen Formaten, nicht jedoch bei SFL und SFLCTL.

Und wie gesagt, wenn das Device kein 27x132 unterstützten sollte, wird bereits der Open abgelehnt !
Daher ist die Lösung mit 2 DSPF's schon "eleganter".

cbe
23-07-07, 17:41
Hallo,

oh, man kann das schon in 1 DSPF unterbringen, habe ich schließlich selbst gemacht:


A R CMSS1001 SFL
A S1AUSW 2A B 8 2
A 81 DSPATR(RI PC)
A COLOR(BLU)
*
A S1PRJ R 8 5REFFLD(CMPPRJ CMPRJ)
...
A R CMSC1001 SFLCTL(CMSS1001)
A N13 DSPMOD(*DS3)
A CHANGE(25)
A RTNCSRLOC(&$RCD## &$FLD## &$RCP##)
A RTNDTA
A OVERLAY PROTECT
A PUTOVR
A OVRDTA
A OVRATR
A SFLCSRRRN(&$CRNS1)
A SFLMODE(&$MODS1)
A 43N44 SFLDSP
A N44 SFLDSPCTL
A 44 SFLCLR
A 45 SFLEND
-* Wenn SFL nur einzeilig ist, SFLDROP und SFLFOLD aussternen
A* 04 SFLDROP(CF04)
A*N04 SFLFOLD(CF04)
-*---Anz Zeilen auf dem Bildschirm--------------v
A *DS4 SFLSIZ(0017)
A *DS3 SFLSIZ(0014)
-*---Anz SFL-Zeilen ungefaltet------------------v
A *DS4 SFLPAG(0016)
A *DS3 SFLPAG(0013)
...
A 3 78'Benutzer:'
A *DS3 3 58
A D1USR R O 3 89REFFLD(CMPUSR CMPRJ)
A *DS3 3 69



Man muss allerdings darauf achten, dass in jedem Format (außer im SFL) die Zeile
A N13 DSPMOD(*DS3)
vorkommt.
Dann stürzt das Pgm nicht ab, wenn der Bildschirm nur 80 Zeichen hat.

Gegenüber 2 DSPFs hat dies den Vorteil, dass ich bei Änderungen nicht doppelt pflegen muss.

Manche Sachen kann man allerdings so nicht machen, z.B. wenn die SFL-Felder bei 80-Zeichen eine andere Reihenfolge bekommen sollen.
Ggf. hilft dann aber ein eigenes Format weiter, so dass nicht die komplette Quelle ausgetauscht werden muss - einen Tod muss man halt sterben.

Gruß
Christian