So kann man es auch machen :
COBOL
Code:
identification division.
program-id. PREPART.
environment division.
configuration section.
special-names.
decimal-point is comma.
data division.
working-storage section.
EXEC SQL
include SQLCA
END-EXEC.
01 DEFINITIONEN.
* PREPARE-String
05 EXECSTRING pic x(99).
* Hier kommen die Felder aus der Datei 1 (Num. Felder GEZONT
* definieren !)
05 VARNAME pic x(10)
value "LAENGE ".
05 WERT pic s9(9)
value 1200.
05 ARTNR pic s9(15)
value 4711.
/
*****************************************************************
* Haupsteuerung
*****************************************************************
procedure division.
steuerung.
perform init.
* Hier muss eine Schleife 'rein, die die Datei 1 abarbeitet und
* bei Gruppenwechsel der Artikelnummer einen Satz mit der neuen
* Artikelnummer (ohne die anderen Feldwerte) in die Datei 2
* schreibt und ggf. den Update für alle Felder der Datei2 durch-
* führt.
* Zusammenbasteln des PREPARE-Strings für alle Felder der Datei 2
string "update ARTIKEL set " delimited by size,
VARNAME delimited by size,
" = " delimited by size,
WERT delimited by size,
" where ARTNR = " delimited by size,
ARTNR delimited by size,
into EXECSTRING
end-string.
EXEC SQL
prepare SETFLD from :EXECSTRING
END-EXEC.
EXEC SQL
execute SETFLD
END-EXEC.
goback.
init.
initialize SQLCODE,
SQLSTATE.
DDS
Code:
A UNIQUE
A R ARTIKELREC
A*
A ARTNR 15P 0
A LAENGE 9P 0
A BREITE 7P 0
A HOEHE 5P 0
A*
A K ARTNR
Hth
Bernd
Bookmarks