WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 10.04.2005, 16:28   #1
sari
Newbie
 
Registriert seit: 10.04.2005
Beiträge: 2


Standard COBOL Search-Anweisung

hallo,

ich habe ein problem mit einer tabelle (index-methode) und der search-Anweisung.

meine tabelle lautet:

01 Schueler-Tab.
05 Schueler-Zeile OCCURS 10
DESCENDING KEY IS T-S-Nr
INDEXED BY S.
10 T-S-Nr PIC 9999.
10 T-S-Nachname PIC X(15).
10 T-S-Vorname PIC X(10).
10 T-S-GebDat PIC X(8).
10 T-S-Geschlecht PIC X.

in einer SECTION wird diese befüllt und mit


SEARCH ALL Schueler-Zeile
WHEN T-S-Nr (S) = SearchSNR
MOVE T-S-Nr(S) TO A-T-S-Nr
WRITE A-Bereich FROM A-Search
END-SEARCH


will ich nach einer übereinstimmung suchen. Ich habe definitiv eine übereinstimmung (beim 4. datensatz ist T-S-Nr = SearchNR), aber SEARCH findet KEINE übereinstimmung.

da ich nicht weiss wie die SEARCH-Anweisung wirklich arbeitet, da in meinem schlauen buch nichts angegeben ist, bitte ich euch um hilfe.

Was mache ich falsch?

danke
sari ist offline   Mit Zitat antworten
Alt 10.04.2005, 16:31   #2
frazzz
Inventar
 
Registriert seit: 11.01.2003
Beiträge: 5.292


Standard Re: COBOL Search-Anweisung

Zitat:
Original geschrieben von sari
Was mache ich falsch?

du verwendest eine veraltete sprache?
____________________________________
pssst

tanj


frazzz ist offline   Mit Zitat antworten
Alt 10.04.2005, 16:47   #3
pong
Inventar
 
Benutzerbild von pong
 
Registriert seit: 25.12.2000
Alter: 41
Beiträge: 9.063

Mein Computer

pong eine Nachricht über ICQ schicken
Standard

Ist dein Tabelleinhalt sortiert? Denn Search All arbeitet nach der Halbierungsmethode

@frazzz halts zam, wennst nichts konstruktives zu sagen hast

pong
____________________________________
\"Ein Gewitter reinigt die Luft\", sagte der Mann, nachdem ein Blitz seine Frau erschlug

Nicht klicken!


Erstposteralarm/Beschwerde/Kummerkasten


Verplattet
pong ist offline   Mit Zitat antworten
Alt 10.04.2005, 20:03   #4
sari
Newbie
 
Registriert seit: 10.04.2005
Beiträge: 2


Standard

frazzz, sag bitte nicht mir, sondern meinem lehrer!!!

************************************************** *********

ja, meine tabelle ist sortiert.

aber ich glaube ich weiss schon wo mein fehler liegt.

anscheinend muss ich die search-anweisung im 4. format der perform-anweisung verpacken.

PERFORM VARYING S FROM 1 BY 1 UNTIL ....

stimmts?
sari ist offline   Mit Zitat antworten
Alt 10.04.2005, 20:29   #5
pong
Inventar
 
Benutzerbild von pong
 
Registriert seit: 25.12.2000
Alter: 41
Beiträge: 9.063

Mein Computer

pong eine Nachricht über ICQ schicken
Standard

Zitat:
anscheinend muss ich die search-anweisung im 4. format der perform-anweisung verpacken.
Bitte, was ist ein "4. Format"?

Nimm einfach statt dem Search all ein Search

pong
____________________________________
\"Ein Gewitter reinigt die Luft\", sagte der Mann, nachdem ein Blitz seine Frau erschlug

Nicht klicken!


Erstposteralarm/Beschwerde/Kummerkasten


Verplattet
pong ist offline   Mit Zitat antworten
Alt 11.04.2005, 15:44   #6
Satan_666
Inventar
 
Registriert seit: 03.09.2000
Beiträge: 4.010


Standard Re: COBOL Search-Anweisung

Zitat:
Original geschrieben von sari
hallo,

ich habe ein problem mit einer tabelle (index-methode) und der search-Anweisung.

meine tabelle lautet:

01 Schueler-Tab.
05 Schueler-Zeile OCCURS 10
DESCENDING KEY IS T-S-Nr
INDEXED BY S.
10 T-S-Nr PIC 9999.
10 T-S-Nachname PIC X(15).
10 T-S-Vorname PIC X(10).
10 T-S-GebDat PIC X(8).
10 T-S-Geschlecht PIC X.

in einer SECTION wird diese befüllt und mit


SEARCH ALL Schueler-Zeile
WHEN T-S-Nr (S) = SearchSNR
MOVE T-S-Nr(S) TO A-T-S-Nr
WRITE A-Bereich FROM A-Search
END-SEARCH


will ich nach einer übereinstimmung suchen. Ich habe definitiv eine übereinstimmung (beim 4. datensatz ist T-S-Nr = SearchNR), aber SEARCH findet KEINE übereinstimmung.

da ich nicht weiss wie die SEARCH-Anweisung wirklich arbeitet, da in meinem schlauen buch nichts angegeben ist, bitte ich euch um hilfe.

Was mache ich falsch?

danke
Ich habe oben mal rot markiert, was mir aufgefallen ist. Du bist sicher, dass die Tabelle tatsächlich ab- und nicht aufsteigend sortiert ist? Und Du schreibt im Codeteil einmal SearchSNR und im erläuterten Text ohne S vor dem NR.

Generell sollte es funktionieren, wenn die 2 Punkte im Programm korrekt sind und die Tabelle tatsächlich absteigend sortiert ist.

Weitere Frage zur Sortierung: Wer genau hat und wie den Tabelleninhalt sortiert. Bei der Sortierung ist auf die Unterschiede zwischen ASCII und EBCDIC (je nach verwendeter Maschine) zu unterscheiden. Auch das kann dazu führen, dass die Tabelle nicht wirklich sortiert ist.


Tipp: Gib mal nach dem SEARCH-Commando den Wert von 'S' aus, damit könntest Du eventuell ahnen, wohin der SEARCH-ALL sich verläuft!
____________________________________
Für ein friedliches Zusammenleben im Forum werde ich ab sofort keine Trolle mehr füttern, und zwar unabhängig von der Sinnhaftigkeit ihrer Wortmeldungen.
Satan_666 ist offline   Mit Zitat antworten
Alt 12.04.2005, 17:43   #7
frazzz
Inventar
 
Registriert seit: 11.01.2003
Beiträge: 5.292


Standard

@pong: machs dir selbst

cobol war schon veraltet, als ich in der schule basic lernen durfte...


@sari: sry, die fragestellung war zu verlockend
____________________________________
pssst

tanj


frazzz ist offline   Mit Zitat antworten
Alt 12.04.2005, 17:57   #8
pong
Inventar
 
Benutzerbild von pong
 
Registriert seit: 25.12.2000
Alter: 41
Beiträge: 9.063

Mein Computer

pong eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von frazzz
@pong: machs dir selbst

cobol war schon veraltet, als ich in der schule basic lernen durfte...
ASM ist auch alt und kommt jetzt erst aus der Mode, weils von Cobol abgelöst wird...

pong
____________________________________
\"Ein Gewitter reinigt die Luft\", sagte der Mann, nachdem ein Blitz seine Frau erschlug

Nicht klicken!


Erstposteralarm/Beschwerde/Kummerkasten


Verplattet
pong ist offline   Mit Zitat antworten
Alt 13.04.2005, 09:16   #9
Satan_666
Inventar
 
Registriert seit: 03.09.2000
Beiträge: 4.010


Standard

Zitat:
Original geschrieben von frazzz
cobol war schon veraltet, als ich in der schule basic lernen durfte...
Ich weiß nicht, in welcher Welt Du lebst! Immerhin sind noch immer weltweit die meisten Programme in Cobol geschrieben....
____________________________________
Für ein friedliches Zusammenleben im Forum werde ich ab sofort keine Trolle mehr füttern, und zwar unabhängig von der Sinnhaftigkeit ihrer Wortmeldungen.
Satan_666 ist offline   Mit Zitat antworten
Alt 13.04.2005, 10:36   #10
Chefkoch_ico
Senior Member
 
Registriert seit: 21.12.2003
Beiträge: 102


Standard

In Branchen, die EDV (nicht PCs), schon lange verwenden, zB Banken, wird Cobol auch heute noch oft eingesetzt.

Zum Thema selbst kann ich Dir leider nicht weiterhelfen. Hatte zwar mal in der Schule (HTL EDVO) ein halbes Jahr Cobol Unterricht auf einem Siemens Großrechner. Davon ahb ich allerdings nichts behalten, ausser meinen Hass darauf.

CU
Chefkoch_ico ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:32 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag