Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SAP ABAP-尚未分配字段符号_Abap_Alv - Fatal编程技术网

SAP ABAP-尚未分配字段符号

SAP ABAP-尚未分配字段符号,abap,alv,Abap,Alv,我试图使用另一个报表程序中的表,如下所示: REPORT ZSAM3. TYPES: BEGIN OF ty_report, rec_acc TYPE skont, vendor TYPE LFA1-LIFNR, jan_deb TYPE BSEG-WRBTR, jan_cred TYPE BSEG-WRBTR, feb_deb TYPE BSEG-WRBTR, feb_

我试图使用另一个报表程序中的表,如下所示:

REPORT  ZSAM3.

 TYPES: BEGIN OF ty_report,
          rec_acc TYPE skont,
          vendor TYPE LFA1-LIFNR,
          jan_deb TYPE BSEG-WRBTR,
          jan_cred TYPE BSEG-WRBTR,
          feb_deb TYPE BSEG-WRBTR,
          feb_cred TYPE BSEG-WRBTR,
          mar_deb TYPE BSEG-WRBTR,
          mar_cred TYPE BSEG-WRBTR,
          apr_deb TYPE BSEG-WRBTR,
          apr_cred TYPE BSEG-WRBTR,
          may_deb TYPE BSEG-WRBTR,
          may_cred TYPE BSEG-WRBTR,
          jun_deb TYPE BSEG-WRBTR,
          jun_cred TYPE BSEG-WRBTR,
          jul_deb TYPE BSEG-WRBTR,
          jul_cred TYPE BSEG-WRBTR,
          aug_deb TYPE BSEG-WRBTR,
          aug_cred TYPE BSEG-WRBTR,
          sep_deb TYPE BSEG-WRBTR,
          sep_cred TYPE BSEG-WRBTR,
          oct_deb TYPE BSEG-WRBTR,
          oct_cred TYPE BSEG-WRBTR,
          nov_deb TYPE BSEG-WRBTR,
          nov_cred TYPE BSEG-WRBTR,
          dec_deb TYPE BSEG-WRBTR,
          dec_cred TYPE BSEG-WRBTR,
          acc_bal_deb TYPE BSEG-WRBTR,
          acc_bal_cred TYPE BSEG-WRBTR,
        END OF ty_report,
        tt_report TYPE TABLE OF ty_report.

DATA:  lt_report TYPE tt_report,
       lv_ukurs type tcurr-ukurs,
       Tcurr1 type tcurr,
       fieldname(4) type c,
       fnamedebit(20) type c,
       fnamecredit(20) type c.

FIELD-SYMBOLS: <fs_rep> LIKE LINE OF lt_report.


 select single ukurs from tcurr
        into lv_ukurs
        where fcurr = 'EUR'
        and   tcurr = 'AUD'. "<- your  local currency

DATA lr_pay_data              TYPE REF TO data.

FIELD-SYMBOLS: <lt_pay_data>   TYPE ANY TABLE,
               <pos_data> type any.

  cl_salv_bs_runtime_info=>set(
    EXPORTING display  = abap_false
              metadata = abap_false
              structure = ''
              data     = abap_true ).

SUBMIT RFKSLD00 via SELECTION-SCREEN and return.


TRY.
    ASSIGN lr_pay_data->* TO <lt_pay_data>.
>>> cl_salv_bs_runtime_info=>get_data(
      IMPORTING t_data = <lt_pay_data> ).
  CATCH cx_salv_bs_sc_runtime_info.
    MESSAGE `Unable to retrieve ALV data` TYPE 'E'.
ENDTRY.

LOOP AT <lt_pay_data> ASSIGNING <pos_data>.

 APPEND INITIAL LINE to lt_report ASSIGNING <fs_rep>.
 MOVE-CORRESPONDING <pos_data> TO <fs_rep>.

WRITE: / <pos_data>.

ENDLOOP.

Write: 'Program End!'.
报告ZSAM3。
类型:从ty_报告开始,
rec_acc类型skont,
供应商类型LFA1-LIFNR,
jan_deb型BSEG-WRBTR,
jan_cred类型BSEG-WRBTR,
feb_deb型BSEG-WRBTR,
feb_cred类型BSEG-WRBTR,
mar_deb型BSEG-WRBTR,
mar_cred类型BSEG-WRBTR,
apr_deb型BSEG-WRBTR,
apr_cred类型BSEG-WRBTR,
may_deb型BSEG-WRBTR,
可认证BSEG-WRBTR型,
jun_deb型BSEG-WRBTR,
jun_cred类型BSEG-WRBTR,
jul_deb型BSEG-WRBTR,
7月cred型BSEG-WRBTR,
aug_deb型BSEG-WRBTR,
aug_cred类型BSEG-WRBTR,
sep_deb型BSEG-WRBTR,
sep_cred类型BSEG-WRBTR,
oct_deb型BSEG-WRBTR,
oct_cred类型BSEG-WRBTR,
nov_deb型BSEG-WRBTR,
nov_cred类型BSEG-WRBTR,
dec_deb型BSEG-WRBTR,
dec_cred类型BSEG-WRBTR,
acc_bal_deb型BSEG-WRBTR,
acc_bal_cred类型BSEG-WRBTR,
蒂尤报告结束,
TTU报告的TTU报告类型表。
数据:lt_报告类型tt_报告,
lv_ukurs型tcurr ukurs,
Tcurr1型tcurr,
字段名(4)类型c,
fnamedebit(20)c类,
fnamecredit(20)c类。
字段符号:如lt_报告的行。
从tcurr中选择单个ukurs
进入吕库斯
其中fcurr=‘欧元’
而tcurr='AUD'。“设定(
导出显示=abap\U false
metadata=abap\U false
结构=“”
数据=abap_真)。
通过选择屏幕提交RFKSLD00并返回。
尝试
将lr_pay_数据->*分配给。
>>>cl_salv_bs_运行时_info=>get_数据(
导入t_数据=)。
捕获cx\u salv\u bs\u sc\u runtime\u信息。
消息`无法检索ALV数据`类型'E'。
结束。
在分配时循环。
将初始行附加到lt_报告。
移动-对应于。
写:/。
结束循环。
写:“程序结束!”。
我收到以下运行时错误:

您试图访问已签名的字段符号(数据段12)


可能(如代码中的箭头所示)尚未初始化或分配,但我不知道如何分配任何表类型变量。

这可能是程序中发生的情况:

PROGRAM zref.

DATA          lr_pay_data   TYPE REF TO data.
FIELD-SYMBOLS <lt_pay_data> TYPE ANY TABLE.
程序zref。
数据lr_pay_数据类型参考数据。
字段符号可键入任何表格。
从F1开始分配:“如果引用变量dref未引用数据对象,则不执行分配,sy subrc设置为4”

将lr\U pay\U数据->*分配给。
如果sy subrc为0。
消息“在取消引用变量之前,您需要为REF to变量创建数据”类型“S”。
恩迪夫。

应该接受cl_salv_bs_runtime_info=>get_data的输出,但可能需要先对其进行初始化。您知道怎么做吗?为什么不使用字段符号的内联声明?例如,内部_表中的循环分配字段符号(.)
ASSIGN lr_pay_data->* TO <lt_pay_data>.
IF sy-subrc <> 0.
  MESSAGE 'You need to CREATE DATA for your REF TO variable before dereferencing it' TYPE 'S'.
ENDIF.