* * * DEFAULT ALGORITHM %RELES STARTS HERE
MOVE RELES TO TWA-DB-CMD.
MOVE THIS-PGMS-ELEMENTS TO TWA-ELT-LIST.
CALL 'MAGECSET' USING TWA-DB-AREA-A
VAC01-ELEMENT
PERFORM AA840-CALL-MAGEC-IO THRU AA899-EXIT.
* * * DEFAULT ALGORITHM %RELES ENDS HERE
GO TO AAM750-TEST-RETURN-CODE.
```**
The AAM700 routines do the file updating calls to MAGECIO. Notice the insertion points %ADDIT, %UPDAT, %DELET, and (cont.)
%RELES which are shown with their Default logic. You could provide Customization logic here to be done in addition to (cont.)
or instead of the Default logic.
The BB600 routine is performed to move the screen fields to the record fields. Within the BB600 routine is the Business (cont.)
Rule processing for the Element, VAC01. If it sets the ERROR-FOUND condition, the update or add will not be done - an (cont.)
error message will be issued instead.
| ```
**
****************************************************************
* AAM750 *
* THIS ROUTINE TESTS THE RETURN CODE AND MOVES AN *
* APPROPRIATE MESSAGE INTO THE MASK'S SCOMPL AREA. *
****************************************************************
SKIP2
AAM750-TEST-RETURN-CODE.
IF (DUP-ERROR)
MOVE DELETE-PENDING-MSG TO SCOMPL
GO TO AA800-SEND-SCREEN.
IF (NOT-FOUND)
GO TO AAM751-UPDERR
ELSE
GO TO AAM752-CONT.
AAM751-UPDERR.
* * * DEFAULT ALGORITHM %UPDERR STARTS HERE
MOVE DB-ERR-MSG TO SCOMPL.
GO TO AA800-SEND-SCREEN.
* * * DEFAULT ALGORITHM %UPDERR ENDS HERE
AAM752-CONT.
IF (ERROR-FOUND)
GO TO AA800-SEND-SCREEN.
MOVE SKEY-POSN TO TWA-MSK-CUR-AD-OT.
IF (ADD-FUNCTION)
GO TO AAM753-GOODADD
ELSE
GO TO AAM754-CONT.
AAM753-GOODADD.
* * * DEFAULT ALGORITHM %GOODADD STARTS HERE
MOVE AUDIT-STAMP TO SAVE-AUDIT-STAMP.
MOVE ADDED-MSG TO SCOMPL.
MOVE SEE-LIT TO T-FUNCT.
MOVE TEST-FUNCT TO SFUNCT.
MOVE GA-LIT TO TWA-DB-RETURN-CODE.
MOVE QUOTE TO TWA-MSK-AID.
MOVE FOUR TO TWA-MSK-CUR-AD-IN.
GO TO AA100-CHECK-FUNCTION.
* * * DEFAULT ALGORITHM %GOODADD ENDS HERE
AAM754-CONT.
IF (CHG-FUNCTION)
GO TO AAM755-GOODCHG
ELSE
GO TO AAM756-CONT.
AAM755-GOODCHG.
MOVE REDKY TO TWA-DB-CMD.
MOVE TWA-DB-REQUEST TO TWA-DB-REQ-SAV.
* * * DEFAULT ALGORITHM %GOODCHG STARTS HERE
MOVE UPDATED-MSG TO SCOMPL.
MOVE SEE-LIT TO T-FUNCT.
MOVE TEST-FUNCT TO SFUNCT.
MOVE GA-LIT TO TWA-DB-RETURN-CODE.
MOVE QUOTE TO TWA-MSK-AID.
MOVE FOUR TO TWA-MSK-CUR-AD-IN.
GO TO AA100-CHECK-FUNCTION.
* * * DEFAULT ALGORITHM %GOODCHG ENDS HERE
AAM756-CONT.
IF (DEL-FUNCTION)
GO TO AAM757-GOODDEL
ELSE
GO TO AAM758-CONT.
AAM757-GOODDEL.
* * * DEFAULT ALGORITHM %GOODDEL STARTS HERE
MOVE DELETED-MSG TO SCOMPL.
GO TO AA800-SEND-SCREEN.
* * * DEFAULT ALGORITHM %GOODDEL ENDS HERE
AAM758-CONT.
GO TO AA800-SEND-SCREEN.
******************************************************
* *
* END OF MAINT FUNCTIONS MAINLINE LOGIC *
* *
******************************************************
```**
The AAM750 routines check the return code from MAGECIO and handle all possible conditions. Notice the insertion points (cont.)
%UPDERR, %GOODADD, %GOODCHG, and %GOODDEL provided for you. The Default logic is shown, it usually just moves a message (cont.)
into SCOMPL and exits to send the screen. For an ADD Function, on successful completion, it alters the Function Code to (cont.)
the SEE Function so the the Operator cdfoan press ENTER to display the record just added and then use the NXT Function (cont.)
if desired.
You might find many reasons to want to add Customization logic into any of these insertion points. One common use is to FTH-FUNCT to another Function after a successful ADD, etc.
##
Short List Routine
| ```
**
AAP100-POP-UP-SHORT-LIST.
IF (TWA-MSK-PF13-HIT)
MOVE PRINTS-FUNCT TO SFUNCT
MOVE FTH-FUNCT TO TWA-NONTP-REQUEST
GO TO AA900-GOBACK.
IF (TWA-MSK-PF5-HIT) OR (TWA-MSK-PF7-HIT)
MOVE F TO TWA-BROWSE-DIRECTION
MOVE N TO MMP-NEW-TRANSACTION.
MOVE TEN TO NUMBER-OF-RECORDS.
MOVE TWA-SHORT-LIST-SOURCE TO WS-SL-SOURCE.
IF (NOT TWA-COLOR-CRT)
MOVE DEFAULT-COLOR TO WINDOW-COLOR
MOVE ATSADHNM TO MSK6PU-SLINEA (1)
MSK6PU-SLINEA (2)
MSK6PU-SLINEA (3)
MSK6PU-SLINEA (4)
MSK6PU-SLINEA (5)
MSK6PU-SLINEA (6)
MSK6PU-SLINEA (7)
MSK6PU-SLINEA (8)
MSK6PU-SLINEA (9)
MSK6PU-SLINEA (10)
ELSE
MOVE REVERSE-VIDEO TO MSK6PU-SLINEH (1)
MSK6PU-SLINEH (2)
MSK6PU-SLINEH (3)
MSK6PU-SLINEH (4)
MSK6PU-SLINEH (5)
MSK6PU-SLINEH (6)
MSK6PU-SLINEH (7)
MSK6PU-SLINEH (8)
MSK6PU-SLINEH (9)
MSK6PU-SLINEH (10).
MOVE WINDOW-COLOR TO MSK6PU-SLINE-COLOR (1)
MSK6PU-SLINE-COLOR (2)
MSK6PU-SLINE-COLOR (3)
MSK6PU-SLINE-COLOR (4)
MSK6PU-SLINE-COLOR (5)
MSK6PU-SLINE-COLOR (6)
MSK6PU-SLINE-COLOR (7)
MSK6PU-SLINE-COLOR (8)
MSK6PU-SLINE-COLOR (9)
MSK6PU-SLINE-COLOR (10).
MOVE WS-SHORT-LIST-HDG TO MSK6PU-SLINE (1).
MOVE SPACES TO MSK6PU-SLINE (3)
MSK6PU-SLINE (4)
MSK6PU-SLINE (5)
MSK6PU-SLINE (6)
MSK6PU-SLINE (7)
MSK6PU-SLINE (8)
MSK6PU-SLINE (9)
MSK6PU-SLINE (10).
MOVE THIRTY-NINE TO WINDOW-WIDTH.
MOVE SKEY TO NORM-KEY.
IF (NEW-TRANSACTION-MODE) OR (TWA-NR-LINES-SENT < NINE)
MOVE ONE TO D-SUB
* MOVE ' (items 01 - 08) ' TO MSK6PU-SLINE (2)
ELSE
* MOVE ' (items 09 - 16) ' TO MSK6PU-SLINE (2)
MOVE NINE TO D-SUB.
MOVE WS-SHORT-LIST-SCOMPL TO MSK6PU-SCOMPL.
MOVE D-SUB TO TWA-FIRST-POP-LINE.
MOVE TWO TO TWA-MSK-CUR-AD-OT.
MOVE TWO TO LIN-CTR.
AAP749-MOVE.
MOVE TWA-SV-M-KEY (D-SUB) TO TEST-KEY.
PERFORM CA500-MOVE-SKEY THRU CA599-EXIT.
ADD ONE TO LIN-CTR.
MOVE SPACE TO NORMALIZED-KEY.
MOVE SKEY TO NK-2-END.
MOVE NORMALIZED-KEY TO MSK6PU-SLINE (LIN-CTR).
IF D-SUB = TWA-SV-M-SUB
MOVE NO-HILITE TO MSK6PU-SLINEH (LIN-CTR)
MOVE LIN-CTR TO TWA-MSK-CUR-AD-OT.
IF LIN-CTR LESS THAN TEN
AND
D-SUB LESS THAN TWA-NR-LINES-SENT
THEN
ADD ONE TO D-SUB
GO TO AAP749-MOVE.
AAP750-LEAVE-POP-SND-SCRN.
MOVE NORM-KEY TO SKEY.
* * * NEXT, TRUNCATE LINES TO DESIRED WINDOW WIDTH
* * * AND SET STOPPER ADDRESSES ACCORDINGLY
MOVE MSK6PU-SCREEN-CONSTANTS TO SCREEN-CONSTANT-WORK.
MOVE TWA-MSK-EDIT-WORDS TO SCREEN-EDIT-WORK.
MOVE ZEERO TO SCW-SUB.
AAP752-NEXT-STOPPER.
ADD ONE TO SCW-SUB.
IF SCW-SUB > TEN
GO TO AAP755-CONT.
COMPUTE MSK6PU-SLINE-POSN (SCW-SUB) =
TOP-LEFT-POSN + (SCW-SUB * EIGHTY) - EIGHTY.
MOVE MSK6PU-SLINE-POSN (SCW-SUB) TO SEW-POSN (SCW-SUB).
COMPUTE SCW-POSN (SCW-SUB) =
MSK6PU-SLINE-POSN (SCW-SUB) + WINDOW-WIDTH + ONE.
MOVE MSK6PU-SLINE (SCW-SUB) TO SLINE-WORK.
MOVE WINDOW-WIDTH TO SLW-SUB.
MOVE VERTICAL-BAR TO SLW-BYTE (SLW-SUB).
ADD ONE TO SLW-SUB.
next: genmmp18.md.txt