By Johann van der Merwe.
PROCEDURE MapiReturnCode :
INPUT PARAMETER ResultInt AS INTEGER. /* result from MAPISendMail */
DEFINE VARIABLE RESULT AS CHARACTER NO-UNDO.
IF ResultInt <> 0 THEN DO: /* 0 = Success */
CASE ResultInt:
WHEN 1 THEN RESULT = "User Abort".
WHEN 2 THEN RESULT = "Failure".
WHEN 3 THEN RESULT = "Login Failure".
WHEN 4 THEN RESULT = "Disk Full".
WHEN 5 THEN RESULT = "Insufficient Memory".
WHEN 6 THEN RESULT = "Blk Too Small".
WHEN 8 THEN RESULT = "Too Many Sessions".
WHEN 9 THEN RESULT = "Too Many Files".
WHEN 10 THEN RESULT = "Too Many Recipients".
WHEN 11 THEN RESULT = "Attachment Not Found".
WHEN 12 THEN RESULT = "Attachment Open Failure".
WHEN 13 THEN RESULT = "Attachment Write Failure".
WHEN 14 THEN RESULT = "Unknown Recipient".
WHEN 15 THEN RESULT = "Bad Recipient type".
WHEN 16 THEN RESULT = "No Messages".
WHEN 17 THEN RESULT = "Invalid Message".
WHEN 18 THEN RESULT = "Bodytext Too Large".
WHEN 19 THEN RESULT = "Invalid Session".
WHEN 20 THEN RESULT = "Type Not Supported".
WHEN 21 THEN RESULT = "Ambiguous Recipient".
WHEN 22 THEN RESULT = "Message in use".
WHEN 23 THEN RESULT = "Network failure".
WHEN 24 THEN RESULT = "Invalid edit fields".
WHEN 25 THEN RESULT = "Invalid recipients".
WHEN 26 THEN RESULT = "Feature not supported"
OTHERWISE RESULT = "Unknown error".
END CASE.
DO ON ENDKEY UNDO, LEAVE:
MESSAGE ResultInt RESULT
VIEW-AS ALERT-BOX.
END.
END.