コード例 #1
0
ファイル: test_function_group_mrfc.py プロジェクト: SAP/PyRFC
    def test_RFC_RAISE_ERROR_AbapApplicationError(self):
        # Comment: cf. result_print of the error_test.py
        # '1_E': 'ABAPApplicationError-5-RAISE_EXCEPTION-ID:SR Type:E Number:006 STRING-True',
        # cf. ExceptionTest.c (l. 75ff)
        try:
            self.conn.call("RFC_RAISE_ERROR", METHOD="1", MESSAGETYPE="E")
        except pyrfc.ABAPApplicationError as ex:
            error = get_error(ex)
            assert error["code"] == 5
            assert error["key"] == "RAISE_EXCEPTION"
            assert error["msg_class"] == u"SR"
            assert error["msg_type"] == "E"
            assert error["msg_number"] == "006"
            # Assures that the connection handle is correctly synchronized
            self.conn.call("RFC_PING")

        # '2_E': 'ABAPApplicationError-5-RAISE_EXCEPTION- Number:000-True',
        # cf. ExceptionTest.c (l. 65ff)
        try:
            self.conn.call("RFC_RAISE_ERROR", METHOD="2", MESSAGETYPE="E")
        except pyrfc.ABAPApplicationError as ex:
            error = get_error(ex)
            assert error["code"] == 5
            assert error["key"] == "RAISE_EXCEPTION"
            assert error["msg_number"] == "006"
            self.conn.call("RFC_PING")
コード例 #2
0
    def test_RFC_RAISE_ERROR_AbapApplicationError(self):
        # Comment: cf. result_print of the error_test.py
        # '1_E': 'ABAPApplicationError-5-RAISE_EXCEPTION-ID:SR Type:E Number:006 STRING-True',
        # cf. ExceptionTest.c (l. 75ff)
        try:
            self.conn.call('RFC_RAISE_ERROR', METHOD='1', MESSAGETYPE='E')
        except pyrfc.ABAPApplicationError as ex:
            error = get_error(ex)
            assert error['code'] == 5
            assert error['key'] == 'RAISE_EXCEPTION'
            assert error['msg_class'] == u'SR'
            assert error['msg_type'] == 'E'
            assert error['msg_number'] == '006'
            self.conn.call(
                'RFC_PING'
            )  # Assures that the connection handle is correctly synchronized

        # '2_E': 'ABAPApplicationError-5-RAISE_EXCEPTION- Number:000-True',
        # cf. ExceptionTest.c (l. 65ff)
        try:
            self.conn.call('RFC_RAISE_ERROR', METHOD='2', MESSAGETYPE='E')
        except pyrfc.ABAPApplicationError as ex:
            error = get_error(ex)
            assert error['code'] == 5
            assert error['key'] == 'RAISE_EXCEPTION'
            assert error['msg_number'] == '006'
            self.conn.call('RFC_PING')
コード例 #3
0
    def test_RFC_RAISE_ERROR_AbapApplicationError(self):
        # Comment: cf. result_print of the error_test.py
        # '1_E': 'ABAPApplicationError-5-RAISE_EXCEPTION-ID:SR Type:E Number:006 STRING-True',
        # cf. ExceptionTest.c (l. 75ff)
        try:
            self.conn.call("RFC_RAISE_ERROR", METHOD="1", MESSAGETYPE="E")
        except pyrfc.ABAPApplicationError as ex:
            error = get_error(ex)
            assert error["code"] == 5
            assert error["key"] == "RAISE_EXCEPTION"
            assert error["msg_class"] == u"SR"
            assert error["msg_type"] == "E"
            assert error["msg_number"] == "006"
            # Assures that the connection handle is correctly synchronized
            self.conn.call("RFC_PING")

        # '2_E': 'ABAPApplicationError-5-RAISE_EXCEPTION- Number:000-True',
        # cf. ExceptionTest.c (l. 65ff)
        try:
            self.conn.call("RFC_RAISE_ERROR", METHOD="2", MESSAGETYPE="E")
        except pyrfc.ABAPApplicationError as ex:
            error = get_error(ex)
            assert error["code"] == 5
            assert error["key"] == "RAISE_EXCEPTION"
            assert error["msg_number"] == "006"
            self.conn.call("RFC_PING")
コード例 #4
0
    def test_call_undefined(self):
        try:
            self.conn.call('undefined')
        except pyrfc.ABAPApplicationError as ex:
            error = get_error(ex)
        assert error['code'] == 5
        assert error['key'] == 'FU_NOT_FOUND'
        assert error['message'][0] == 'ID:FL Type:E Number:046 undefined'

        try:
            self.conn.call('STFC_CONNECTION', undefined=0)
        except pyrfc.ExternalRuntimeError as ex:
            error = get_error(ex)
        assert error['code'] == 20
        assert error['key'] == 'RFC_INVALID_PARAMETER'
        assert error['message'][0] == "field 'undefined' not found"
コード例 #5
0
    def test_call_undefined(self):
        try:
            self.conn.call("undefined")
        except pyrfc.ABAPApplicationError as ex:
            error = get_error(ex)
        assert error["code"] == 5
        assert error["key"] == "FU_NOT_FOUND"
        assert error["message"][0] == "ID:FL Type:E Number:046 undefined"

        try:
            self.conn.call("STFC_CONNECTION", undefined=0)
        except pyrfc.ExternalRuntimeError as ex:
            error = get_error(ex)
        assert error["code"] == 20
        assert error["key"] == "RFC_INVALID_PARAMETER"
        assert error["message"][0] == "field 'undefined' not found"
コード例 #6
0
 def test_STFC_SAPGUI(self):
     # STFC_SAPGUI RFC-TEST:   RFC with SAPGUI
     try:
         self.conn.call('STFC_SAPGUI')
     except (pyrfc.ABAPRuntimeError) as ex:
         error = get_error(ex)
         assert error['code'] == 3
         assert error['key'] == 'DYNPRO_SEND_IN_BACKGROUND'
コード例 #7
0
ファイル: test_errors.py プロジェクト: eyx092/PyRFC
 def test_call_non_existing_RFM_parameter(self):
     try:
         self.conn.call("STFC_CONNECTION", undefined=0)
     except ExternalRuntimeError as ex:
         error = get_error(ex)
     assert error["code"] == 20
     assert error["key"] == "RFC_INVALID_PARAMETER"
     assert error["message"][0] == "field 'undefined' not found"
コード例 #8
0
ファイル: test_errors.py プロジェクト: eyx092/PyRFC
 def test_call_non_existing_RFM(self):
     try:
         self.conn.call("undefined")
     except ABAPApplicationError as ex:
         error = get_error(ex)
     assert error["code"] == 5
     assert error["key"] == "FU_NOT_FOUND"
     assert error["message"][0] == "ID:FL Type:E Number:046 undefined"
コード例 #9
0
 def test_STFC_SAPGUI(self):
     # STFC_SAPGUI RFC-TEST:   RFC with SAPGUI
     try:
         self.conn.call("STFC_SAPGUI")
     except (pyrfc.ABAPRuntimeError) as ex:
         error = get_error(ex)
         assert error["code"] == 3
         assert error["key"] == "DYNPRO_SEND_IN_BACKGROUND"
コード例 #10
0
 def test_add_wrong_function(self):
     try:
         server.add_function("STFC_CONNECTION1", my_stfc_connection)
     except ABAPApplicationError as ex:
         error = get_error(ex)
         assert error["code"] == 5
         assert error["key"] == "FU_NOT_FOUND"
         assert error["message"][0] == "ID:FL Type:E Number:046 STFC_CONNECTION1"
コード例 #11
0
ファイル: test_errors_abap.py プロジェクト: eyx092/PyRFC
 def test_RFC_RAISE_ERROR_AbapRuntimeError_E51(self):
     # '51_E': 'ABAPRuntimeError-3-BLOCKED_COMMIT-A database commit was blocked by the application.-True''] ==
     try:
         self.conn.call("RFC_RAISE_ERROR", METHOD="51", MESSAGETYPE="E")
     except (ABAPRuntimeError) as ex:
         assert self.conn.alive == True
         error = get_error(ex)
         assert error["code"] == 3
         assert error["key"] == "BLOCKED_COMMIT"
コード例 #12
0
ファイル: test_errors_abap.py プロジェクト: eyx092/PyRFC
 def test_RFC_RAISE_ERROR_AbapRuntimeError_E36(self):
     # '36_E': 'ABAPRuntimeError-4-Division by 0 (type I)-Division by 0 (type I)-True''] ==
     try:
         self.conn.call("RFC_RAISE_ERROR", METHOD="36", MESSAGETYPE="E")
     except (ABAPRuntimeError) as ex:
         assert self.conn.alive == True
         error = get_error(ex)
         assert error["code"] == 4
         assert u"Division by 0" in error["message"][0]
コード例 #13
0
ファイル: test_errors_abap.py プロジェクト: eyx092/PyRFC
 def test_RFC_RAISE_ERROR_AbapRuntimeError_E3(self):
     # '3_E': 'ABAPRuntimeError-3-COMPUTE_INT_ZERODIVIDE-Division by 0 (type I)-True''] ==
     # cf. ExceptionTest.c (l. 164ff)
     try:
         self.conn.call("RFC_RAISE_ERROR", METHOD="3", MESSAGETYPE="E")
     except (ABAPRuntimeError) as ex:
         assert self.conn.alive == True
         error = get_error(ex)
         assert error["code"] == 3
         assert error["key"] == "COMPUTE_INT_ZERODIVIDE"
コード例 #14
0
    def test_denied_users(self):
        denied_params = params.copy()
        denied_params['user'] = '******'
        try:
            pyrfc.Connection(**denied_params)
        except pyrfc.LogonError as ex:
            error = get_error(ex)

        assert error['code'] == 2
        assert error['key'] == 'RFC_LOGON_FAILURE'
        assert error['message'][0] == 'Name or password is incorrect (repeat logon)'
コード例 #15
0
ファイル: test_errors_abap.py プロジェクト: eyx092/PyRFC
 def test_RFC_RAISE_ERROR_AbapRuntimeError_E0(self):
     # RFC_RAISE_ERROR ARFC: Raise Different Type of Error Message
     # Comment: cf. result_print of the error_test.py
     # cf. ExceptionTest.c (l. 92ff)
     try:
         self.conn.call("RFC_RAISE_ERROR", METHOD="0", MESSAGETYPE="E")
     except (ABAPRuntimeError) as ex:
         assert self.conn.alive == True
         error = get_error(ex)
         assert error["code"] == 4
         assert error["message"][0] == u"Function not supported"
コード例 #16
0
ファイル: test_errors.py プロジェクト: wusj521/PyRFC
    def test_denied_users(self):
        denied_params = params.copy()
        denied_params["user"] = "******"
        try:
            pyrfc.Connection(**denied_params)
        except pyrfc.LogonError as ex:
            error = get_error(ex)

        assert error["code"] == 2
        assert error["key"] == "RFC_LOGON_FAILURE"
        assert error["message"][0] == "Name or password is incorrect (repeat logon)"
コード例 #17
0
 def test_ping(self):
     assert self.conn.alive
     self.conn.ping()
     self.conn.close()
     try:
         self.conn.ping()
     except pyrfc.ExternalRuntimeError as ex:
         error = get_error(ex)
         assert error["code"] == 13
         assert error["key"] == "RFC_INVALID_HANDLE"
         assert error["message"][0] == "An invalid handle was passed to the API call"
コード例 #18
0
ファイル: test_errors_abap.py プロジェクト: eyx092/PyRFC
 def test_RFC_RAISE_ERROR_AbapApplicationError_E2(self):
     # '2_E': 'ABAPApplicationError-5-RAISE_EXCEPTION- Number:000-True',
     # cf. ExceptionTest.c (l. 65ff)
     try:
         self.conn.call("RFC_RAISE_ERROR", METHOD="2", MESSAGETYPE="E")
     except ABAPApplicationError as ex:
         assert self.conn.alive == True
         error = get_error(ex)
         assert error["code"] == 5
         assert error["key"] == "RAISE_EXCEPTION"
         assert error["msg_number"] == "000"
コード例 #19
0
ファイル: test_errors_abap.py プロジェクト: eyx092/PyRFC
 def test_RFC_RAISE_ERROR_AbapRuntimeError_A(self):
     # cf. ExceptionTest.c (l. 112ff)
     try:
         self.conn.call("RFC_RAISE_ERROR", MESSAGETYPE="A")
     except (ABAPRuntimeError) as ex:
         assert self.conn.alive == True
         error = get_error(ex)
         assert error["code"] == 4
         assert error["msg_class"] == "SR"
         assert error["msg_type"] == "A"
         assert error["msg_number"] == "006"
         assert error["msg_v1"] == "Method = 0"
コード例 #20
0
ファイル: test_errors_abap.py プロジェクト: eyx092/PyRFC
 def test_RFC_RAISE_ERROR_AbapRuntimeError_X(self):
     # cf. ExceptionTest.c (l. 137ff)
     try:
         self.conn.call("RFC_RAISE_ERROR", MESSAGETYPE="X")
     except (ABAPRuntimeError) as ex:
         assert self.conn.alive == True
         error = get_error(ex)
         assert error["code"] == 4
         assert error["key"] == "MESSAGE_TYPE_X"
         assert error["msg_class"] == "00"
         assert error["msg_type"] == "X"
         assert error["msg_number"] == "341"
         assert error["msg_v1"] == "MESSAGE_TYPE_X"
コード例 #21
0
 def test_incomplete_params(self):
     incomplete_params = params.copy()
     for p in ['ashost', 'gwhost', 'mshost']:
         if p in incomplete_params:
             del incomplete_params[p]
     try:
         pyrfc.Connection(**incomplete_params)
     except pyrfc.RFCError as ex:
         error = get_error(ex)
     assert error['code'] == 20
     assert error['key'] == 'RFC_INVALID_PARAMETER'
     assert error['message'][0] in ['Parameter ASHOST, GWHOST, MSHOST or SERVER_PORT is missing.',
                  'Parameter ASHOST, GWHOST or MSHOST is missing.']
コード例 #22
0
ファイル: test_errors_abap.py プロジェクト: eyx092/PyRFC
 def test_RFC_RAISE_ERROR_AbapApplicationError_E1(self):
     # Comment: cf. result_print of the error_test.py
     # '1_E': 'ABAPApplicationError-5-RAISE_EXCEPTION-ID:SR Type:E Number:006 STRING-True',
     # cf. ExceptionTest.c (l. 75ff)
     try:
         self.conn.call("RFC_RAISE_ERROR", METHOD="1", MESSAGETYPE="E")
     except ABAPApplicationError as ex:
         assert self.conn.alive == True
         error = get_error(ex)
         assert error["code"] == 5
         assert error["key"] == "RAISE_EXCEPTION"
         assert error["msg_class"] == u"SR"
         assert error["msg_type"] == "E"
         assert error["msg_number"] == "006"
コード例 #23
0
 def test_RFC_RAISE_ERROR_CommunicationError(self):
     # Comment: cf. result_print of the error_test.py
     # '32_E': 'CommunicationError-1-RFC_COMMUNICATION_FAILURE-connection closed without message (CM_NO_DATA_RECEIVED)-True',
     try:
         self.conn.call('RFC_RAISE_ERROR', METHOD='32', MESSAGETYPE='E')
     #except (pyrfc.ABAPRuntimeError) as ex:
     #    error = get_error(ex)
     #    assert error['code'] == 4
     #    assert error['key'] == 'ON:N'
     except (pyrfc.CommunicationError) as ex:
         error = get_error(ex)
         assert error['code'] == 1
         assert error['key'] == 'RFC_COMMUNICATION_FAILURE'
         self.conn.call('RFC_PING')
コード例 #24
0
 def test_incomplete_params(self):
     incomplete_params = params.copy()
     for p in ["ashost", "gwhost", "mshost"]:
         if p in incomplete_params:
             del incomplete_params[p]
     try:
         pyrfc.Connection(**incomplete_params)
     except pyrfc.RFCError as ex:
         error = get_error(ex)
     assert error["code"] == 20
     assert error["key"] == "RFC_INVALID_PARAMETER"
     assert error["message"][0] in [
         "Parameter ASHOST, GWHOST, MSHOST or SERVER_PORT is missing.",
         "Parameter ASHOST, GWHOST or MSHOST is missing.",
     ]
コード例 #25
0
    def test_RFC_RAISE_ERROR_AbapRuntimeError(self):
        # RFC_RAISE_ERROR ARFC: Raise Different Type of Error Message
        # Comment: cf. result_print of the error_test.py
        # cf. ExceptionTest.c (l. 92ff)
        try:
            self.conn.call('RFC_RAISE_ERROR', METHOD='0', MESSAGETYPE='E')
        except (pyrfc.ABAPRuntimeError) as ex:
            error = get_error(ex)
            assert error['code'] == 4
            assert error['message'][0] == u'Function not supported'
            self.conn.call('RFC_PING')

        # cf. ExceptionTest.c (l. 112ff)
        try:
            self.conn.call('RFC_RAISE_ERROR', MESSAGETYPE='A')
        except (pyrfc.ABAPRuntimeError) as ex:
            error = get_error(ex)
            assert error['code'] == 4
            assert error['msg_class'] == 'SR'
            assert error['msg_type'] == 'A'
            assert error['msg_number'] == '006'
            assert error['msg_v1'] == 'Method = 0'
            self.conn.call('RFC_PING')

        # cf. ExceptionTest.c (l. 137ff)
        try:
            self.conn.call('RFC_RAISE_ERROR', MESSAGETYPE='X')
        except (pyrfc.ABAPRuntimeError) as ex:
            error = get_error(ex)
            assert error['code'] == 4
            assert error['key'] == 'MESSAGE_TYPE_X'
            assert error['msg_class'] == '00'
            assert error['msg_type'] == 'X'
            assert error['msg_number'] == '341'
            assert error['msg_v1'] == 'MESSAGE_TYPE_X'
            self.conn.call('RFC_PING')

        # '36_E': 'ABAPRuntimeError-4-Division by 0 (type I)-Division by 0 (type I)-True''] ==
        try:
            self.conn.call('RFC_RAISE_ERROR', METHOD='36', MESSAGETYPE='E')
        except (pyrfc.ABAPRuntimeError) as ex:
            error = get_error(ex)
            assert error['code'] == 4
            assert u'Division by 0' in error['message'][0]
            self.conn.call('RFC_PING')

        # '3_E': 'ABAPRuntimeError-3-COMPUTE_INT_ZERODIVIDE-Division by 0 (type I)-True''] ==
        # cf. ExceptionTest.c (l. 164ff)
        try:
            self.conn.call('RFC_RAISE_ERROR', METHOD='3', MESSAGETYPE='E')
        except (pyrfc.ABAPRuntimeError) as ex:
            error = get_error(ex)
            assert error['code'] == 3
            assert error['key'] == 'COMPUTE_INT_ZERODIVIDE'
            self.conn.call('RFC_PING')

        # '51_E': 'ABAPRuntimeError-3-BLOCKED_COMMIT-A database commit was blocked by the application.-True''] ==
        try:
            self.conn.call('RFC_RAISE_ERROR', METHOD='51', MESSAGETYPE='E')
        except (pyrfc.ABAPRuntimeError) as ex:
            error = get_error(ex)
            assert error['code'] == 3
            assert error['key'] == 'BLOCKED_COMMIT'
            self.conn.call('RFC_PING')
コード例 #26
0
    def test_RFC_RAISE_ERROR_AbapRuntimeError(self):
        # RFC_RAISE_ERROR ARFC: Raise Different Type of Error Message
        # Comment: cf. result_print of the error_test.py
        # cf. ExceptionTest.c (l. 92ff)
        try:
            self.conn.call("RFC_RAISE_ERROR", METHOD="0", MESSAGETYPE="E")
        except (pyrfc.ABAPRuntimeError) as ex:
            error = get_error(ex)
            assert error["code"] == 4
            assert error["message"][0] == u"Function not supported"
            self.conn.call("RFC_PING")

        # cf. ExceptionTest.c (l. 112ff)
        try:
            self.conn.call("RFC_RAISE_ERROR", MESSAGETYPE="A")
        except (pyrfc.ABAPRuntimeError) as ex:
            error = get_error(ex)
            assert error["code"] == 4
            assert error["msg_class"] == "SR"
            assert error["msg_type"] == "A"
            assert error["msg_number"] == "006"
            assert error["msg_v1"] == "Method = 0"
            self.conn.call("RFC_PING")

        # cf. ExceptionTest.c (l. 137ff)
        try:
            self.conn.call("RFC_RAISE_ERROR", MESSAGETYPE="X")
        except (pyrfc.ABAPRuntimeError) as ex:
            error = get_error(ex)
            assert error["code"] == 4
            assert error["key"] == "MESSAGE_TYPE_X"
            assert error["msg_class"] == "00"
            assert error["msg_type"] == "X"
            assert error["msg_number"] == "341"
            assert error["msg_v1"] == "MESSAGE_TYPE_X"
            self.conn.call("RFC_PING")

        # '36_E': 'ABAPRuntimeError-4-Division by 0 (type I)-Division by 0 (type I)-True''] ==
        try:
            self.conn.call("RFC_RAISE_ERROR", METHOD="36", MESSAGETYPE="E")
        except (pyrfc.ABAPRuntimeError) as ex:
            error = get_error(ex)
            assert error["code"] == 4
            assert u"Division by 0" in error["message"][0]
            self.conn.call("RFC_PING")

        # '3_E': 'ABAPRuntimeError-3-COMPUTE_INT_ZERODIVIDE-Division by 0 (type I)-True''] ==
        # cf. ExceptionTest.c (l. 164ff)
        try:
            self.conn.call("RFC_RAISE_ERROR", METHOD="3", MESSAGETYPE="E")
        except (pyrfc.ABAPRuntimeError) as ex:
            error = get_error(ex)
            assert error["code"] == 3
            assert error["key"] == "COMPUTE_INT_ZERODIVIDE"
            self.conn.call("RFC_PING")

        # '51_E': 'ABAPRuntimeError-3-BLOCKED_COMMIT-A database commit was blocked by the application.-True''] ==
        try:
            self.conn.call("RFC_RAISE_ERROR", METHOD="51", MESSAGETYPE="E")
        except (pyrfc.ABAPRuntimeError) as ex:
            error = get_error(ex)
            assert error["code"] == 3
            assert error["key"] == "BLOCKED_COMMIT"
            self.conn.call("RFC_PING")
コード例 #27
0
ファイル: test_function_group_mrfc.py プロジェクト: SAP/PyRFC
    def test_RFC_RAISE_ERROR_AbapRuntimeError(self):
        # RFC_RAISE_ERROR ARFC: Raise Different Type of Error Message
        # Comment: cf. result_print of the error_test.py
        # cf. ExceptionTest.c (l. 92ff)
        try:
            self.conn.call("RFC_RAISE_ERROR", METHOD="0", MESSAGETYPE="E")
        except (pyrfc.ABAPRuntimeError) as ex:
            error = get_error(ex)
            assert error["code"] == 4
            assert error["message"][0] == u"Function not supported"
            self.conn.call("RFC_PING")

        # cf. ExceptionTest.c (l. 112ff)
        try:
            self.conn.call("RFC_RAISE_ERROR", MESSAGETYPE="A")
        except (pyrfc.ABAPRuntimeError) as ex:
            error = get_error(ex)
            assert error["code"] == 4
            assert error["msg_class"] == "SR"
            assert error["msg_type"] == "A"
            assert error["msg_number"] == "006"
            assert error["msg_v1"] == "Method = 0"
            self.conn.call("RFC_PING")

        # cf. ExceptionTest.c (l. 137ff)
        try:
            self.conn.call("RFC_RAISE_ERROR", MESSAGETYPE="X")
        except (pyrfc.ABAPRuntimeError) as ex:
            error = get_error(ex)
            assert error["code"] == 4
            assert error["key"] == "MESSAGE_TYPE_X"
            assert error["msg_class"] == "00"
            assert error["msg_type"] == "X"
            assert error["msg_number"] == "341"
            assert error["msg_v1"] == "MESSAGE_TYPE_X"
            self.conn.call("RFC_PING")

        # '36_E': 'ABAPRuntimeError-4-Division by 0 (type I)-Division by 0 (type I)-True''] ==
        try:
            self.conn.call("RFC_RAISE_ERROR", METHOD="36", MESSAGETYPE="E")
        except (pyrfc.ABAPRuntimeError) as ex:
            error = get_error(ex)
            assert error["code"] == 4
            assert u"Division by 0" in error["message"][0]
            self.conn.call("RFC_PING")

        # '3_E': 'ABAPRuntimeError-3-COMPUTE_INT_ZERODIVIDE-Division by 0 (type I)-True''] ==
        # cf. ExceptionTest.c (l. 164ff)
        try:
            self.conn.call("RFC_RAISE_ERROR", METHOD="3", MESSAGETYPE="E")
        except (pyrfc.ABAPRuntimeError) as ex:
            error = get_error(ex)
            assert error["code"] == 3
            assert error["key"] == "COMPUTE_INT_ZERODIVIDE"
            self.conn.call("RFC_PING")

        # '51_E': 'ABAPRuntimeError-3-BLOCKED_COMMIT-A database commit was blocked by the application.-True''] ==
        try:
            self.conn.call("RFC_RAISE_ERROR", METHOD="51", MESSAGETYPE="E")
        except (pyrfc.ABAPRuntimeError) as ex:
            error = get_error(ex)
            assert error["code"] == 3
            assert error["key"] == "BLOCKED_COMMIT"
            self.conn.call("RFC_PING")