OSI/AS Programming Manual

Example 2: Presentation Layer and ACSE
Sample Programs
056783 Tandem Computers Incorporated E–37
--
-- Get error code, etc...
--
error := APS_STATUS_( cepi
, event_code
, device_name
, error_code
, error_subcode
, service_id
, diagnostic_buffer
, original_error_info
);
IF ( error <> ZAPS^ERR^OK ) THEN
CALL display_aps_error( error_status_proc );
CASE( error_proc ) OF
BEGIN
error_connectreq_proc ->
outline ':=' "APS_ASSOC_CONNECTREQ_" -> @outptr;
error_datareq_proc ->
outline ':=' "APS_DATA_REQ_" -> @outptr;
error_discard_proc ->
outline ':=' "APS_DISCARD_" -> @outptr;
error_event_proc ->
outline ':=' "APS_EVENT_RECEIVE_" -> @outptr;
error_releasersp_proc ->
outline ':=' "APS_ASSOC_RELEASERSP_" -> @outptr;
END; -- case error_proc
outptr ':=' " status: " -> @outptr;
CALL local_numout( status );
outptr ':=' ", event: " -> @outptr;
CALL local_numout( event_code );
outptr ':=' ", error:" -> @outptr;
CALL local_numout( error_code );
outptr ':=' ", errorSub: " -> @outptr;
CALL local_numout( error_subcode );
outptr ':=' ", serviceId: " -> @outptr;
CALL local_numout( service_id );
CALL WRITE( output, outline_w, @outptr '-' @outline );
--
-- A real application would take appropriate action.
--
CALL DEBUG;
END; -- proc display_aps_status
? PAGE
------------------------------------------------------------