|
|
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: 11264 (0x2c00)
Types: TextFile
Names: »ONVARERD.FRM«
└─⟦7c116f58e⟧ Bits:30007007/RCPRAX.imd RC Prislistesystem
└─⟦this⟧ »ONVARERD.FRM«
└─⟦9cc652d2b⟧ Bits:30007007/RCPRAZ.imd RC Prislistesystem
└─⟦this⟧ »ONVARERD.FRM«
/VARAR // PROGRAM: ONVARERD.FRM
*****************************************************************************
*** ALMINDELIG VEDLIGEHOLDELSE AF VARE REGISTER M 40D ***
*****************************************************************************
VARENUMMER ......: (___________) SORT..: (_) SHGRUP..: (_)
PLS TEKST .......: _____________________________
DANSK TEKST .....: ________________________________________
* VALUTA D.KR BIDRAG D.GRAD RABAT
- ------ ------ ------ ------ ------
KOST ............: _ _____.
LISTE ...........: _ _____. _____. ___.__
FORHANDLER ......: _ _____. _____. ___.__ ___.__
DISTRIBUTØR .....: _ _____. _____. ___.__ ___.__
ENGLAND .........: _ _____. _____. _____. ___.__
TYSKLAND ........: _ _____. _____. _____. ___.__
SVERIGE .........: _ _____. _____. _____. ___.__
NORGE ...........: _ _____. _____. _____. ___.__
PROD.GRUPPE 01-40 0000000001111111111222222222233333333334
indgår i hvis (.) 1234567890123456789012345678901234567890
ellers blank ....: ________________________________________
AJOURF.MARK......: _ SKODE..: _ __________ OK (J/N) .: _ Hjælp findes
*****************************************************************************
/HELP1
==============================================================================
=== HJÆLP TIL VEDLIGEHOLDELSE AF SALGSVARE REGISTER 1 AF 4 ===
==============================================================================
VARENUMMER salgsvarenummer på max. 11 tegn.
SORTERING Sorteringsnøgle til udskriftsrækkefølgen af varenumre.
Første bogstav i varenummer afgør nøglen:
R giver sorteringsnøgle 1, M giver sorteringsnøgle 2
T giver sorteringsnøgle 3, F giver sorteringsnøgle 4
C giver sorteringsnøgle 5, S giver sorteringsnøgle 9
og øvrige bogstaver (resten) giver sorteringsnøgle 6.
SHGRUP kan have værdien S for SOFTWARE eller H for HARDWARE.
Tryk på en tast for retur til billed, eller tryk hjælp for flere oplysninger !
==============================================================================
/HELP2
==============================================================================
=== HJÆLP TIL VEDLIGEHOLDELSE AF SALGSVARE REGISTER 2 AF 4 ===
==============================================================================
PLS TEKST er varebetegnelse på max. 29 tegn fra PLS-SYSTEMET,
anvendes efter brugervalg til prislister,
eller hvis du har valgt dansk tekst eller valgfri
tekst, som er BLANK d.v.s. ikke er indtastet !
DANSK TEKST er varebetegnelsen på max. 40 tegn på dansk fra PLS-SYSTEMET,
anvendes efter brugervalg til prislister.
Teksten bliver KUN opdateret fra PLS, hvis den er blank.
Tryk på en tast for retur til billed, eller tryk hjælp for flere oplysninger !
==============================================================================
/HELP3
==============================================================================
=== HJÆLP TIL VEDLIGEHOLDELSE AF SALGSVARE REGISTER 3 AF 4 ===
==============================================================================
NY BEREGNING AF ALLE DB, DG OG RABAT UDFØRES, SÅFREMT EEN DANSK PRIS ÆNDRES,
ELLER NY VARE OPRETTES. DE RELEVANTE PRISER SKAL VÆRE STØRRE END 0 (NUL) !
KOST er standard kostværdi i danske kr. uden decimaler.
LISTE er liste salgspris i danske kr. uden decimaler.
FORHANDLER er forhandler salgspris i danske kr. uden decimaler.
DISTRIBUTØR er distributør salgspris i danske kr. uden decimaler.
Hvis prisen ændres via PLS-pris eller online, så indeholder * et bogstav,
ellers blankt. Markering sættes altid blank inden opdatering fra PLS.
D.KR = den aktuelle pris i danske kroner.
DB = (aktuel pris - kost)
DG = (aktuelt dækningsbidrag * 100) / aktuel pris (2dec.)
RABAT = ((liste - aktuel pris) * 100) / liste (2dec.)
Tryk på en tast for retur til billed, eller tryk hjælp for flere oplysninger !
===============================================================================
/HELP4
==============================================================================
=== HJÆLP TIL VEDLIGEHOLDELSE AF SALGSVARE REGISTER 4 AF 4 ===
==============================================================================
EKSPORTPRISER I VALUTA KAN IKKE VEDLIGEHOLDES I DETTE PROGRAM !!!
PROD.GRUPPE Markering for om et varenummer indgår i en produktgruppe er
. (punktum), ellers er produktgruppen 'blank'.
AJOURF.MARK. O oprettet, A ajourført, U ej i PLS, M manuel
Ved manuel online oprettelse af ny varer sættes
markering lig med M.
SKODE Salgsbarhedskode, VÆRDITEST ved indtastning udføres ikke !
Tryk på en tast for retur til billed !
===============================================================================
/*
OPEN VARER
NUMBER MELLEM
NUMBER FARDIG
INTEGER TV
STRING GEMVARE 11
MOVE ' ' TO GEMVARE
STRING FORST 1
STRING FELT 1
INDICATOR NYTAL // TRUE = PRISER BREGENES , FALSE = INGEN BEREGNING
FORMAT VARAR.45 ædisplayonlyå
FORMAT VARAR.46 ænoput,capslock,check="JN"å
//
ENTER VARER
//
BEGYND:
DISPLAY ' ' TO VARAR.45
CLEAR VARER
INDICATE NYTAL FALSE
IF GEMVARE NE ' ' BEGIN
DISPLAY GEMVARE TO VARAR.1
MOVE ' ' TO GEMVARE
END
//
AUTOPAGE VARAR
ENTRY VARER.VNR æcapslock,autofindå
IF VARAR.1 EQ ' ' GOTO BEGYND
Æ FOUND Å GOTO VIDER
// opret ny vare
INDICATE NYTAL TRUE
LEFT VARAR.1 TO FORST 1
DISPLAY '6' TO VARAR.2
IF FORST MATCH 'R' DISPLAY '1' TO VARAR.2
IF FORST MATCH 'M' DISPLAY '2' TO VARAR.2
IF FORST MATCH 'T' DISPLAY '3' TO VARAR.2
IF FORST MATCH 'F' DISPLAY '4' TO VARAR.2
IF FORST MATCH 'S' DISPLAY '5' TO VARAR.2
IF FORST MATCH 'C' DISPLAY '9' TO VARAR.2
CLEARFORM VARAR.6 THRU VARAR.46
DISPLAY 'M' TO VARAR.43
//
VIDER:
AUTOPAGE VARAR 2
ENTRY VARER.SNR ænoenterå
ENTRY VARER.SHG æcapslock,check="SH"å
ENTRY VARER.PLSBETG æcapslock,retainå
ENTRY VARER.DANSKET æcapslock,retainå
ENTRY VARER.SKOKOR ænoenterå
ENTRY VARER.SKOPRIS
ENTRY VARER.LISKOR ænoenterå
ENTRY VARER.LISPRIS
ENTRY VARER.LISDB ænoenterå
ENTRY VARER.LISDG ænoenterå
ENTRY VARER.FORKOR ænoenterå
ENTRY VARER.FORPRIS
ENTRY VARER.FORDB ænoenterå
ENTRY VARER.FORDG ænoenterå
ENTRY VARER.FORRABAT ænoenterå
ENTRY VARER.DISKOR ænoenterå
ENTRY VARER.DISPRIS
ENTRY VARER.DISDB ænoenterå
ENTRY VARER.DISDG ænoenterå
ENTRY VARER.DISRABAT ænoenterå
ENTRY VARER.ENGKOR ænoenterå
ENTRY VARER.ENGVALU ænoenterå
ENTRY VARER.ENGPRIS ænoenterå
ENTRY VARER.ENGDB ænoenterå
ENTRY VARER.ENGDG ænoenterå
ENTRY VARER.TYSKOR ænoenterå
ENTRY VARER.TYSVALU ænoenterå
ENTRY VARER.TYSPRIS ænoenterå
ENTRY VARER.TYSDB ænoenterå
ENTRY VARER.TYSDG ænoenterå
ENTRY VARER.SVEKOR ænoenterå
ENTRY VARER.SVEVALU ænoenterå
ENTRY VARER.SVEPRIS ænoenterå
ENTRY VARER.SVEDB ænoenterå
ENTRY VARER.SVEDG ænoenterå
ENTRY VARER.NORKOR ænoenterå
ENTRY VARER.NORVALU ænoenterå
ENTRY VARER.NORPRIS ænoenterå
ENTRY VARER.NORDB ænoenterå
ENTRY VARER.NORDG ænoenterå
//
OM:
AUTOPAGE VARAR 42
ENTRY VARER.INDGARI
DISPLAY 'VENT ...' TO VARAR.45
MOVE 0 TO TV
//
REPEAT
INCREMENT TV
MID VARAR.42 TO FELT 1 TV
IF FELT NE '.' BEGIN
IF FELT NE ' ' BEGIN
DISPLAY 'BLANK / . ' TO VARAR.45
GOTO OM
END
END
UNTIL TV EQ 40
//
DISPLAY ' ' TO VARAR.45
AUTOPAGE VARAR 43
ENTRY VARER.AJO æcapslock,check="MOAU"å
ENTRY VARER.SKODE
//
// BEREGNINGER FØLGER
// NY REKORD
Æ NOT NYTAL Å GOTO GAMMEL_REC
MOVE 0 TO VARAR.23
MOVE 0 TO VARAR.24
MOVE 0 TO VARAR.28
MOVE 0 TO VARAR.29
MOVE 0 TO VARAR.33
MOVE 0 TO VARAR.34
MOVE 0 TO VARAR.38
MOVE 0 TO VARAR.39
GOTO DKR_DB
//
GAMMEL_REC:
IF VARER.SKOPRIS NE VARAR.7 BEGIN
DISPLAY 'K' TO VARAR.6
INDICATE NYTAL TRUE
END
IF VARER.LISPRIS NE VARAR.9 BEGIN
DISPLAY 'L' TO VARAR.8
INDICATE NYTAL TRUE
END
IF VARER.FORPRIS NE VARAR.13 BEGIN
DISPLAY 'F' TO VARAR.12
INDICATE NYTAL TRUE
END
IF VARER.DISPRIS NE VARAR.18 BEGIN
DISPLAY 'D' TO VARAR.17
INDICATE NYTAL TRUE
END
Æ NOT NYTAL Å GOTO UD
//
DKR_DB:
// BEREGN DB OG DG
MOVE 0 TO VARAR.10
MOVE 0 TO VARAR.11
MOVE 0 TO VARAR.14
MOVE 0 TO VARAR.15
MOVE 0 TO VARAR.16
MOVE 0 TO VARAR.19
MOVE 0 TO VARAR.20
MOVE 0 TO VARAR.21
MOVE 0 TO VARAR.25
MOVE 0 TO VARAR.26
MOVE 0 TO VARAR.30
MOVE 0 TO VARAR.31
MOVE 0 TO VARAR.35
MOVE 0 TO VARAR.36
MOVE 0 TO VARAR.40
MOVE 0 TO VARAR.41
IF VARAR.7 LE 0 GOTO DKR_RABAT
IF VARAR.9 GT 0 BEGIN
MOVE (VARAR.9 - VARAR.7) TO VARAR.10
MOVE ((VARAR.10 * 100) / VARAR.9) TO VARAR.11
END
IF VARAR.13 GT 0 BEGIN
MOVE (VARAR.13 - VARAR.7) TO VARAR.14
MOVE ((VARAR.14 * 100) / VARAR.13) TO VARAR.15
END
IF VARAR.18 GT 0 BEGIN
MOVE (VARAR.18 - VARAR.7) TO VARAR.19
MOVE ((VARAR.19 * 100) / VARAR.18) TO VARAR.20
END
// BEREGN RABAT FOR DE DANSKE PRISER
DKR_RABAT:
IF VARAR.9 LE 0 GOTO VAL_DB
IF VARAR.13 GT 0 BEGIN
MOVE (((VARAR.9 - VARAR.13) * 100) / VARAR.9) TO VARAR.16
END
IF VARAR.18 GT 0 BEGIN
MOVE (((VARAR.9 - VARAR.18) * 100) / VARAR.9) TO VARAR.21
END
// BEREGN DB OG DG EKSPORT PRISER
VAL_DB:
IF VARAR.18 LE 0 GOTO UD
IF VARAR.24 GT 0 BEGIN
MOVE (VARAR.24 - VARAR.18) TO VARAR.25
MOVE ((VARAR.25 * 100) / VARAR.24) TO VARAR.26
END
IF VARAR.29 GT 0 BEGIN
MOVE (VARAR.29 - VARAR.18) TO VARAR.30
MOVE ((VARAR.30 * 100) / VARAR.29) TO VARAR.31
END
IF VARAR.34 GT 0 BEGIN
MOVE (VARAR.34 - VARAR.18) TO VARAR.35
MOVE ((VARAR.35 * 100) / VARAR.34) TO VARAR.36
END
IF VARAR.39 GT 0 BEGIN
MOVE (VARAR.39 - VARAR.18) TO VARAR.40
CALC (VARAR.40 * 100) TO MELLEM
CALC (MELLEM / VARAR.39) TO FARDIG
DISPLAY FARDIG TO VARAR.41
END
// SLUT beregn
UD:
DISPLAY 'J' TO VARAR.46
ACCEPT VARAR.46
IF VARAR.46 NE 'J' MOVE VARAR.1 TO GEMVARE
RETURN
// SLET RECORD vil anvende enter.delete & enter.edit
// EDIT RECORD - - enter.edit & enter.save
// OPRET RECORD - - enter.save
ENTER.DELETE:
DISPLAY '*SLETTET*' TO VARAR.45
RETURN
//
ENTER.EDIT:
IF VARAR.45 EQ ' ' BEGIN
DISPLAY '* RETTET *' TO VARAR.45
END
RETURN
//
ENTER.SAVE:
IF VARAR.45 EQ ' ' BEGIN
DISPLAY '*OPRETTET*' TO VARAR.45
END
RETURN
//
ENTEREND
CHAIN "ONVARER"
//
KEYPROC KEY.HELP
HELP
ENTAGAIN
RETURN
//
KEYPROC KEY.FIELD
BACKFIELD
RETURN
//
KEYPROC KEY.CLEAR
ENTAGAIN
RETURN
//
KEYPROC KEY.ESCAPE
CHAIN "ONVARER"
«eof»