|
|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 7808 (0x1e80)
Types: TextFile
Names: »AJVARER2.FRM«
└─⟦7c116f58e⟧ Bits:30007007/RCPRAX.imd RC Prislistesystem
└─⟦this⟧ »AJVARER2.FRM«
└─⟦9cc652d2b⟧ Bits:30007007/RCPRAZ.imd RC Prislistesystem
└─⟦this⟧ »AJVARER2.FRM«
/PROMPM // PROGRAM: AJVARER2.FRM
*****************************************************************************
*** P R I S L I S T E S Y S T E M M 23-2 ***
*****************************************************************************
PROGRAM NAVN ............: AJOURFØR VARE REGISTER MED PLS DATA.
BEHANDLET ................: ___________
BEMÆRKNING ...............: ______________________________
______________________________
SVAR TIL BEMÆRKNING ......: _ Hjælp findes her
*****************************************************************************
/HELP1
=============================================================================
=== OPLYSNINGER OM PROGRAMMET ===
=============================================================================
Dette program overfører data fra PLS til VARE REGISTER,
og udfører beregninger af DB, DG samt RABAT for danske
priser.
For EKSPORT priser beregnes DB og DG, såfremt
den omregnede danske pris er større end nul.
VALUTA beregning udføres IKKE !
AFBRYD Du kan afbryde programmet ved at trykke på et tilfældigt
bogstav under kørsel, og ENTEN vælge S for stop, men så kan
du ikke anvende SYSTEMET, før du har startet forfra, ELLER
tryk RETUR, og så vil programmet fortsætte.
tryk på en tast for RETUR til billed.
=============================================================================
/*
FORMAT PROMPM.1 ædisplayonlyå
FORMAT PROMPM.2 ædisplayonlyå
FORMAT PROMPM.3 ædisplayonlyå
FORMAT PROMPM.4 æcapslock,check="S "å
INDICATOR NYBEREGN // TRUE = PRISÆNDRING ELLER NY REKORD ELLER FALSE
STRING NYSKODE 1
STRING NYSHG 1
STRING NYVNR 11
STRING NYPLSBETG 29
STRING NYDANSKET 40
STRING NYINDGARI 40
NUMBER NYSKOPRIS NYLISPRIS NYDISPRIS NYFORPRIS MELLEM FARDIG
STRING FORST 1
INTEGER LAST
MOVE 0 TO LAST
OPEN VARER
ENTER VARER
//
// 2. RUNDE opdater fra OVVARER.TXT til VARER ***
//
DISPLAY ' ' TO PROMPM.1
DISPLAY 'OPDAT MED NYE DATA OG !' TO PROMPM.2
DISPLAY 'BEREGNINGER, TRYK RETUR!' TO PROMPM.3
ACCEPT PROMPM.4
DISPLAY ' ' TO PROMPM.1
DISPLAY 'OPDATERING MED PLS-DATA!' TO PROMPM.2
DISPLAY 'SAMT BEREGNINGER, VENT !' TO PROMPM.3
DISPLAY ' ' TO PROMPM.4
STRING TEMSTR
DIRECT_INPUT "OVVARER.TXT"
ÆSEQEOFÅ GOTO SLUT
//
REPEAT
CLEAR VARER
INDICATE NYBEREGN FALSE
READLN NYVNR
IF NYVNR EQ 'SLUT' BEGIN
INDICATE SEQEOF TRUE
GOTO SLUT
END
UPPERCASE NYVNR
READLN NYSKODE
READLN NYSHG
UPPERCASE NYSHG
READLN NYPLSBETG
UPPERCASE NYPLSBETG
READLN NYDANSKET
UPPERCASE NYDANSKET
READLN NYSKOPRIS
READLN NYLISPRIS
READLN NYFORPRIS
READLN NYDISPRIS
READLN NYINDGARI
// nye data læst, find og opdat varen ***
MOVE NYVNR TO VARER.VNR
DISPLAY VARER.VNR TO PROMPM.1
FIND EQ VARER BY INDEX.1
// VARENUMMER EKSISTRER I FORVEJEN - ALM. OPDAT
ÆFOUNDÅ BEGIN
KEYCHECK GOSUB UDRUTINE
IF VARER.DANSKET EQ ' ' BEGIN
MOVE NYDANSKET TO VARER.DANSKET
END
IF NYSKOPRIS NE VARER.SKOPRIS BEGIN
MOVE 'K' TO VARER.SKOKOR
INDICATE NYBEREGN TRUE
END
IF NYLISPRIS NE VARER.LISPRIS BEGIN
MOVE 'L' TO VARER.LISKOR
INDICATE NYBEREGN TRUE
END
IF NYFORPRIS NE VARER.FORPRIS BEGIN
MOVE 'F' TO VARER.FORKOR
INDICATE NYBEREGN TRUE
END
IF NYDISPRIS NE VARER.DISPRIS BEGIN
MOVE 'D' TO VARER.DISKOR
INDICATE NYBEREGN TRUE
END
MOVE 'A' TO VARER.AJO
GOTO FAELLES
END
// NY RECORD SKAL OPRETTES
ÆFINDERRÅ BEGIN
KEYCHECK GOSUB UDRUTINE
CLEAR VARER
INDICATE NYBEREGN TRUE
MOVE NYVNR TO VARER.VNR
LEFT VARER.VNR TO FORST 1
MOVE '6' TO VARER.SNR
IF FORST IN "R" MOVE '1' TO VARER.SNR
IF FORST IN "M" MOVE '2' TO VARER.SNR
IF FORST IN "T" MOVE '3' TO VARER.SNR
IF FORST IN "F" MOVE '4' TO VARER.SNR
IF FORST IN "C" MOVE '5' TO VARER.SNR
IF FORST IN "S" MOVE '9' TO VARER.SNR
MOVE NYDANSKET TO VARER.DANSKET
MOVE ' ' TO VARER.SKOKOR
MOVE ' ' TO VARER.LISKOR
MOVE ' ' TO VARER.FORKOR
MOVE ' ' TO VARER.DISKOR
MOVE ' ' TO VARER.ENGKOR
MOVE 0 TO VARER.ENGVALU
MOVE 0 TO VARER.ENGPRIS
MOVE ' ' TO VARER.TYSKOR
MOVE 0 TO VARER.TYSVALU
MOVE 0 TO VARER.TYSPRIS
MOVE ' ' TO VARER.SVEKOR
MOVE 0 TO VARER.SVEVALU
MOVE 0 TO VARER.SVEPRIS
MOVE ' ' TO VARER.NORKOR
MOVE 0 TO VARER.NORVALU
MOVE 0 TO VARER.NORPRIS
MOVE 'O' TO VARER.AJO
END
FAELLES:
// FÆLLES FOR EKSISTERENDE OG NYOPRETTEDE VARER
MOVE NYSHG TO VARER.SHG
MOVE NYPLSBETG TO VARER.PLSBETG
MOVE NYSKOPRIS TO VARER.SKOPRIS
MOVE NYLISPRIS TO VARER.LISPRIS
MOVE NYFORPRIS TO VARER.FORPRIS
MOVE NYDISPRIS TO VARER.DISPRIS
MOVE NYINDGARI TO VARER.INDGARI
MOVE NYSKODE TO VARER.SKODE
Æ NOT NYBEREGN Å GOTO GEM
MOVE 0 TO VARER.LISDB
MOVE 0 TO VARER.LISDG
MOVE 0 TO VARER.FORDB
MOVE 0 TO VARER.FORDG
MOVE 0 TO VARER.FORRABAT
MOVE 0 TO VARER.DISDB
MOVE 0 TO VARER.DISDG
MOVE 0 TO VARER.DISRABAT
MOVE 0 TO VARER.ENGDB
MOVE 0 TO VARER.ENGDG
MOVE 0 TO VARER.TYSDB
MOVE 0 TO VARER.TYSDG
MOVE 0 TO VARER.SVEDB
MOVE 0 TO VARER.SVEDG
MOVE 0 TO VARER.NORDB
MOVE 0 TO VARER.NORDG
// beregn db og dg danske priser
IF VARER.SKOPRIS NE 0 BEGIN
IF VARER.LISPRIS NE 0 BEGIN
MOVE (VARER.LISPRIS - VARER.SKOPRIS) TO VARER.LISDB
MOVE ((VARER.LISDB * 100) / VARER.LISPRIS) TO VARER.LISDG
END
IF VARER.FORPRIS NE 0 BEGIN
MOVE (VARER.FORPRIS - VARER.SKOPRIS) TO VARER.FORDB
MOVE ((VARER.FORDB * 100) / VARER.FORPRIS) TO VARER.FORDG
END
IF VARER.DISPRIS NE 0 BEGIN
MOVE (VARER.DISPRIS - VARER.SKOPRIS) TO VARER.DISDB
MOVE ((VARER.DISDB * 100) / VARER.DISPRIS) TO VARER.DISDG
END
END
// beregn rabat danske priser
IF VARER.LISPRIS NE 0 BEGIN
IF VARER.FORPRIS NE 0 BEGIN
MOVE (((VARER.LISPRIS-VARER.FORPRIS)*100)/VARER.LISPRIS) TO VARER.FORRABAT
END
IF VARER.DISPRIS NE 0 BEGIN
MOVE (((VARER.LISPRIS-VARER.DISPRIS)*100)/VARER.LISPRIS) TO VARER.DISRABAT
END
END
// beregn DB OG DG eksport priser
IF VARER.DISPRIS NE 0 BEGIN
IF VARER.ENGPRIS NE 0 BEGIN
MOVE (VARER.ENGPRIS - VARER.DISPRIS) TO VARER.ENGDB
MOVE ((VARER.ENGDB * 100) / VARER.ENGPRIS) TO VARER.ENGDG
END
IF VARER.TYSPRIS NE 0 BEGIN
MOVE (VARER.TYSPRIS - VARER.DISPRIS) TO VARER.TYSDB
MOVE ((VARER.TYSDB * 100) / VARER.TYSPRIS) TO VARER.TYSDG
END
IF VARER.SVEPRIS NE 0 BEGIN
MOVE (VARER.SVEPRIS - VARER.DISPRIS) TO VARER.SVEDB
MOVE ((VARER.SVEDB * 100) / VARER.SVEPRIS) TO VARER.SVEDG
END
IF VARER.NORPRIS NE 0 BEGIN
MOVE (VARER.NORPRIS - VARER.DISPRIS) TO VARER.NORDB
CALC (VARER.NORDB * 100) TO MELLEM
CALC (MELLEM / VARER.NORPRIS) TO FARDIG
MOVE FARDIG TO VARER.NORDG
END
END
GEM:
SAVERECORD VARER
KEYCHECK GOSUB UDRUTINE
INCREMENT LAST
ÆNOT SEQEOFÅ LOOP
//
SLUT:
DISPLAY LAST TO PROMPM.1
DISPLAY 'OPDATERET MED NYE DATA !' TO PROMPM.2
DISPLAY 'SLUT 2 -- TRYK RETUR !' TO PROMPM.3
ACCEPT PROMPM.4
KEYCHECK GOSUB UDRUTINE
CHAIN "AJVARER3"
//
UDRUTINE:
INDICATE KEYPRESS FALSE
DISPLAY 'DU HAR STOPPET PROGRAMMET !' TO PROMPM.2
DISPLAY 'TAST S (STOP) ELLER TRYK RETUR' TO PROMPM.3
ACCEPT PROMPM.4
IF PROMPM.4 IN "Ss" MOVE 0 TO LAST
IF PROMPM.4 IN "Ss" CHAIN "AJVARER3"
RETURN
//
KEYPROC KEY.HELP:
HELP
ENTAGAIN
RETURN
//
ENTEREND
CHAIN "OVERSIGT"
«eof»