RXS_Throw()

This subprocedure can be used to throw an error. The error information is populated into a data structure which is then passed to RXS_Throw. The error can be caught by RXS_Catch().

Subprocedure Prototype

D RXS_Throw...
D                 PR                  Extproc('RXS_Throw')
 
D   DS                                Likeds(RXS_CatchThrowErrorDS_t)

The RXS_CatchThrowErrorDS_t data structure that contains the error information to be thrown.

Example Code

*--------------------------------------------------------------
* This example code demonstrates throwing a diagnostic error
*  by assigning values to a RXS_CatchThrowErrorDS_t datastructure and
*  throwing the error datastructure to the calling program.
*--------------------------------------------------------------
H DFTACTGRP(*NO) BNDDIR('RXSBND') ACTGRP(*CALLER)

 /copy QRPGLECPY,RXSCB

D gErrorDS        DS                  Likeds(RXS_CatchThrowErrorDS_t)
D                                     Inz(*LikeDS)
 /free
  // Send a diagnostic error message

  reset gErrorDS;
  gErrorDS.MessageId = 'CPF9898';                                       
  gErrorDS.MessageFile = 'QCPFMSG';                                     
  gErrorDS.MessageData = 'This is a *DIAG error being thrown'; 
  gErrorDS.MessageType = RXS_MESSAGE_TYPE_DIAG;                         
  RXS_Throw(gErrorDS);

  *INLR = *ON;
 /end-free

Data Structures

D RXS_CatchThrowErrorDS_t...
D                 DS                  Qualified Template Inz
 
D   MessageId                    7A

The message ID that was received.

D   MessageFile                 20A

The message file used to store the message ID.

D   MessageData               1024A   Varying

The message data to be merged with the text of the message ID.

D   MessageType                  5I 0

The type of message that was sent.

Valid Values:

  • RXS_MESSAGE_TYPE_DIAG
  • RXS_MESSAGE_TYPE_COMP
  • RXS_MESSAGE_TYPE_INFO
  • RXS_MESSAGE_TYPE_INQ
  • RXS_MESSAGE_TYPE_RQS
  • RXS_MESSAGE_TYPE_NOTIFY
  • RXS_MESSAGE_TYPE_ESCAPE
  • RXS_MESSAGE_TYPE_STATUS

D   MessageText               4096A   Varying

The full message text that combines the value of the message ID's text and the merged message data.