Aufgabenstellung
Wer mir zu dieser unglaublichen
Programmierarbeit gratulieren möchte kann dies
hier
tun. |
Identification
Division.
Program-ID. Ln070202.
Author. 7024405.
Date-Written. 07.02.02.
*------------------------------------------------------------
Environment Division.
Configuration Section.
Source-Computer. PC.
Object-Computer. PC.
Special-Names. Decimal-Point is Comma.
Input-Output Section.
File-Control.
Select Datei1 Assign To "Artik-is.TXT"
Organization is indexed
Access is sequential
Record Key is Art-Nr1.
Select Datei2 Assign To "Art-Umsq.txt".
Select Datei3 assign To "fil-bzis.txt"
Organization is indexed
Access is sequential
Record Key is Fil-Nr3.
Select Datei4 Assign To "ausgabe.txt"
Organization is line sequential.
*------------------------------------------------------------
Data Division.
File Section.
FD Datei1.
01 Satz1.
02 Art-Nr1 Pic 9(5).
02 Art-Bez1 Pic X(20).
02 Menge1 Pic 9(5).
02 Preis1 pic 9(4)V99.
FD Datei2.
01 Satz2.
02 Fil-Nr2 pic 99.
02 Art-Nr2 pic 9(5).
02 Umsatz2 pic 9(5)V99.
FD Datei3.
01 Satz3.
02 Fil-Nr3 pic 99.
02 Ort3 pic x(10).
FD Datei4.
01 Satz4 Pic X(32).
working-Storage Section.
01 mb pic 9 value 0.
01 mc pic 9 value 0.
01 gs-summe pic 9(5)V99 value 0.
01 bz pic 9 value 0.
01 zz pic 99 value 0.
01 GW-N.
02 g2N Pic 9 Value 1.
02 g1N Pic X(10) Value Zero.
01 GW-A.
02 g2A Pic 9 Value 1.
02 g1A Pic X(10) Value Zero.
01 SGE.
02 SGE1 Pic 9 Value Zero.
02 SGE2 Pic 9 Value Zero.
01 SGA.
02 SGA1 Pic 9 Value 1.
02 SGA2 Pic 9 Value 1.
01 K1.
02 k1-Art-nr pic 9(5) value all zero.
02 filler pic x value space.
02 k1-art-bez pic x(20) value all "x".
02 filler pic xxxx value " BL ".
02 K1-Blatt pic z9 value zero.
01 k2.
02 Filler pic x(32) value "FIL-NR ORT
- "Umsatz".
01 EZ.
02 Filler pic xx value all space.
02 EZ-Fil-Nr pic 99 value all zero.
02 filler pic x(5) value all space.
02 ez-ort pic x(10) value all "x".
02 filler pic x(4) value all space.
02 ez-umsatz pic zz.zz9,99 value all zero.
01 Leer.
02 filler pic x(32) value all space.
01 GS.
02 Filler pic x(22) value "GESAMTUMSATZ ".
02 gs-Umsatz pic zzz.zz9,99 value all zero.
Copy "DS-CNTRL.MF".
Copy "maske.cpb".
01 Display-Error-No Pic 9(4).
procedure division.
PhA section.
PhA-1.
Perform pha-Vorr.
Perform pha-SB.
Perform Until button = 2
Perform pha-SV
Perform pha-Sb
End-Perform.
Perform pha-Schl.
Stop Run.
PhA-9.
Exit.
*------------------------------------------------------------
Pha-Vorr Section.
pha-Vorr-1.
*----------- Initialisierung des Screensets
Initialize DS-Control-Block.
Initialize Data-Block.
Move Data-Block-Version-No To DS-Data-Block-Version-No
Move Version-No To DS-Version-No
Move DS-New-Set To DS-Control
Move "maske" To DS-Set-Name.
Open Output Datei4.
pha-Vorr-9.
Exit.
*------------------------------------------------------------
pha-SB Section.
pha-SB-1.
If button not = 2
move "bild1" to ds-procedure
call "dsgrun" using ds-control-block data-block
if not ds-no-error
move ds-error-code to display-error-no
display "ds-error-No: " display-error-no
display "Programm-Abbruch" Stop run
end-if
end-if.
pha-sb-9.
exit.
*------------------------------------------------------------
pha-SV Section.
pha-SV-1.
If button = 1
Perform Ph-B.
pha-SV-9.
Exit.
*-----------------------------------------------------------
pha-Schl Section.
pha-Schl-1.
Close Datei4.
pha-Schl-9.
Exit.
ph-b section.
Ph-B-1.
Perform phb-Vorr.
Perform phb-SB.
Perform Until button = 4 or 2
Perform phb-SV
Perform phb-SB
End-Perform.
Perform phb-Schl.
Ph-B-9.
Exit.
*------------------------------------------------------------
phb-Vorr Section.
phb-Vorr-1.
Open Input Datei1.
Move 0 To MB.
phb-Vorr-9.
Exit.
*-----------------------------------------------------------------
phb-SB Section.
phb-SB-1.
If MB = 0
Move 1 To MB
Move Art-Nr-m To Art-Nr1
Start Datei1 Key is = art-Nr1
Invalid Key Move 4 To button
Move "Keine Artikel vorhanden" To Meldung
Move "bild1" To DS-Procedure
Move Zero To art-nr-m
Go To phb-SB-9
End-Start
End-If.
Read Datei1 At End
Go To phb-sb-3.
phb-sb-2.
Move Art-Nr1 To art-nr-m
Move art-bez1 to art-bez-m
* Move 0 To MB.
Move Space To Meldung
Move "bild2" To DS-Procedure
call "dsgrun" using ds-control-block data-block
Go To phb-SB-9.
phb-sb-3.
Move "Dateiende" To Meldung
Move "bild2" To DS-Procedure
Move 0 To MB.
phb-SB-9.
Exit.
*------------------------------------------------------------
phb-SV Section.
phb-SV-1.
If button = 3
Perform Ph-C.
phb-SV-9.
Exit.
*------------------------------------------------------------
phb-Schl Section.
phb-Schl-1.
Close Datei1.
phb-Schl-9.
Exit.
ph-c section.
Ph-C-1.
Perform ph-c-vorr.
Ph-C-2.
Perform ph-c-SB.
Perform GRSTC.
If SGE1 = 1 Perform GRE1C.
If SGE2 = 1 Perform GRE2C.
If g2N = 3 Go To Ph-C-3.
If SGA2 = 1 Perform GRA2C.
If SGA1 = 1 Perform GRA1C.
Perform ph-c-SV.
Perform GWUMC.
Go To Ph-C-2.
Ph-C-3.
Perform ph-c-Schl.
Ph-C-9.
Exit.
ph-c-Vorr Section.
ph-c-Vorr-1.
Open Input Datei2 datei3.
Move 100 To GW-N GW-A.
Move 0 To MC Gs-Summe bz.
move 90 to zz.
ph-c-Vorr-9.
Exit.
ph-c-sb section.
ph-c-sB-1.
Move art-nr1 to art-nr2
read datei2 at end move 3 to g2n.
if mc = 0
move 1 to mc
move fil-nr2 to fil-nr3
Start Datei3 Key is = fil-nr3
Invalid Key Move "Dateiende erreicht" To Meldung
Move "bild1" To DS-Procedure
Move 3 To g2N
Move Space To g1N
Go To phc-sb-9
End-Start
End-If
Read Datei3 at End Move 3 To g2N
Go To phc-sb-9
End-Read
If fil-nr2 = fil-nr3
Move 2 To g2N
Move ort3 To g1N
Else
Move 3 To g2N
End-If.
phc-SB-9.
Exit.
GRSTC Section.
GRSTC-1.
Move All Zero To SGA SGE.
If g2N = 2 AND g2A = 1
Move All "1" To SGA.
If g2N = 2 AND g2A = 2
If g1N Not = g1A
Move 1 To SGE1 SGA1
End-If
End-If.
If g2A = 2 AND g2N = 3
Move All "1" To SGE.
GRSTC-9.
Exit.
GRE1C Section.
GRE1C-1.
*----- Ende art-nr
GRE1C-2.
move gs-summe to gs-umsatz.
GRE1C-9.
Exit.
*------------------------------------------------------------
GRE2C Section.
GRE2C-1.
GRE2C-9.
Exit.
*------------------------------------------------------------
GRA2C Section.
GRA2C-1.
GRA2C-2.
Exit.
*------------------------------------------------------------
GRA1C Section.
GRA1C-1.
Move 0 To gs-summe.
GRA1C-9.
Exit.
*------------------------------------------------------------
ph-c-SV Section.
ph-c-sv-1.
add umsatz2 to gs-summe.
Move Ort3 To ez-ort
Move fil-nr3 To ez-fil-nr
Move umsatz2 to ez-umsatz
Perform BWM.
Move EZ To Satz4 Write Satz4.
move leer to satz4 write satz4.
ph-c-SV-9.
Exit.
*------------------------------------------------------------
GWUMC Section.
GWUMC-1.
Move g2N To g2A
Move g1N To g1A.
GWUMC-9.
Exit.
*------------------------------------------------------------
Ph-c-schl section.
ph-c-schl-1.
If g2A = 2
Move gs-summe to gs-umsatz
Move GS To Satz4 Write Satz4
Move All "-" To Satz4 Write Satz4
Move "Liste gedruckt" To Meldung
Move "bild2" To DS-Procedure.
call "dsgrun" using ds-control-block data-block.
If g2A = 1
Move "keine umsätze" To Meldung
Move "bild2" To DS-Procedure.
call "dsgrun" using ds-control-block data-block.
close datei2 datei3.
ph-c-schl-9.
exit.
BWM Section.
BWM-1.
Compute ZZ = ZZ + 1
If ZZ > 4
Then
Add 1 To BZ
Move 1 To ZZ
Move All "-" To Satz4 Write Satz4
Move BZ To k1-blatt
move art-nr1 to k1-art-nr
Move art-bez1 to k1-art-bez
Move K1 To Satz4 Write Satz4
Move K2 To Satz4 Write Satz4.
BWM-9.
Exit.
|
|