异常CX_SY_REF_IS_INITAL

Ada*_*kus 0 sap abap

我正在建立一个类的方法调用

DATA: r_info TYPE REF TO zcl_sv_job_offline_ctrl.


 CALL METHOD r_info->create
    EXPORTING
         is_data   = lr_test_record.
Run Code Online (Sandbox Code Playgroud)

并收到以下错误:

CX_SY_REF_IS_INITAL

You are trying to access a component with a 'ZERO' object reference (points to nothing). Variable: "R_INFO".
Run Code Online (Sandbox Code Playgroud)

我想念什么吗?

Sas*_*sku 6

您错过了创建对象的机会。因此,您需要:

create object r_info.

要么

r_info = new zcl_sv_job_offline_ctrl( ).

或是否存在“工厂方法”(您的“ create”方法所指示的内容)

r_info = zcl_sv_job_offline_ctrl=>create( is_data = lr_test_record ).

您的异常告诉您引用(r_info)没有与堆上的对象连接。因此,您需要执行上述步骤之一,然后它应该起作用。(取决于您的班级)

  • 在您的问题中,这个神奇的“ IO_DISPATCHER”在哪里?在您的示例中,您声明了一个引用`r_info`,然后在不实例化它的情况下对其调用了一个方法,因此Sasku的答案是正确的。 (2认同)