|
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»