Download Examples of documentation and programming (DEC VAX)

Transcript
*
*
*
*
*
*
*
*
Prompt user or input
CALL "FDV$PUTL" USING BY DESCRIPTOR "Enter new material and thickness."
Switch on cursor
CALL "FDV$PUT" USING BY DESCRIPTOR "<ESC>[?25h"
BY DESCRIPTOR "CMSCODE"
Show CMS code
CALL "FDV$PUT" USING BY DESCRIPTOR R100_CMS
BY DESCRIPTOR "CMSCODE"
Show current company material code
CALL "FDV$PUT" USING BY DESCRIPTOR MATERIAL
BY DESCRIPTOR "MAT"
Show current material thickness
CALL "FDV$PUT" USING BY DESCRIPTOR THICKNESS
BY DESCRIPTOR "THICK"
Read company material code
CALL "FDV$GET" USING BY DESCRIPTOR MAT
BY REFERENCE FFT-TRM
BY DESCRIPTOR "MAT"
Read material thickness
CALL "FDV$GET" USING BY DESCRIPTOR THICK
BY REFERENCE FFT-TRM
BY DESCRIPTOR "THICK"
Erase FMS form
CALL "FDV$CLEAR" USING BY VALUE 0
BY VALUE 0
*
Store read data
MOVE MAT TO R101_MATERIAL
MOVE THICK TO R101_THICKNESS
STORE CNR101
ON ERROR ROLLBACK
GO TO A4-EXIT
END-STORE
MOVE ZERO TO EOS
FIND LAST WITHIN KEEP-VALID-LINK RETAINING CNS101A
AT END SET EOS1 TO TRUE
NOT AT END FREE LAST WITHIN KEEP-VALID-LINK
END-FIND
PERFORM UNTIL EOS1
RECONNECT CNR102 WITHIN CNS101A
FIND LAST WITHIN KEEP-VALID-LINK RETAINING CNS101A
AT END SET EOS1 TO TRUE
NOT AT END FREE LAST WITHIN KEEP-VALID-LINK
END-FIND
END-PERFORM
END-IF
MOVE CMS TO R100_CMS
FIND LAST WITHIN CNS100Z USING R100_CMS
FIND LAST WITHIN CNS100A
FIND LAST WITHIN CNS101A
AT END FIND CURRENT CNR100
ERASE ALL
END-FIND
MOVE NEW_VALUE TO CMS
MOVE MAT TO MATERIAL
MOVE THICK TO THICKNESS
*
Update database
COMMIT
ELSE
*
Routine called with identical code, ignore
ROLLBACK
END-IF.
A4-EXIT.
EXIT.
*********************************************************************End Of Program
1-41