字段符号尚未分配

2020-09-05 07:03发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正尝试使用另一个报告程序中的表...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正尝试使用另一个报告程序中的表格,如下所示:

  REPORT ZSAM3。

  类型:开始于ty_report,
           rec_acc TYPE skont,
           供应商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 ty_report的类型表。

 数据:lt_report类型tt_report,
        lv_ukurs类型tcurr-ukurs,
        Tcurr1类型tcurr,
        fieldname(4)类型c,
        fnamedebit(20)类型c,
        fnamecredit(20)类型c。

 FIELD-SYMBOLS:与lt_report类似。
  从tcurr中选择单个四弦琴
         进入lv_ukurs
         其中fcurr ='EUR'
         并且tcurr ='AUD'。  " <-您的本地货币

 数据lr_pay_data类型REF TO数据。

 FIELD-SYMBOLS: TYPE ANY TABLE,
                键入任何。

   cl_salv_bs_runtime_info => set(
     导出显示= abap_false
               元数据= abap_false
               结构=''
               数据= abap_true)。

 通过SELECTION-SCREEN提交RFKSLD00并返回。
 尝试。
     ASSIGN lr_pay_data-> * TO 。
 >>> cl_salv_bs_runtime_info => get_data(
       正在导入t_data = )。
   捕获cx_salv_bs_sc_runtime_info。
     消息"无法检索ALV数据"类型" E"。
 ENDTRY。

 在处分配。

  将初始行追加到lt_report ASSIGNING 。
  将移动到。

 写:/。

 结局。

 写下:"程序结束!"。 

我遇到以下运行时错误:

您曾尝试访问分配的字段符号(数据段12)

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

3条回答
CPLASF-自律
2020-09-05 07:38

当然,从未为LR_PAY_DATA分配绑定引用(到现有数据对象),因此ASSIGN失败,并且未分配字段符号(sy-subrc = 4)。

根据您最近的其他参考 问题,我知道您想使用类CL_SALV_BS_RUNTIME_INFO的GET_DATA_REF方法,但是您的"旧" SAP ERP版本没有该方法,因此您正在尝试使用现有的唯一现有方法GET_DATA。

剩下的唯一解决方案是声明内部表已在相关程序中完成(我只是查看了RFKSLD00的代码,里面有2个ALV,我认为这是第一个,很幸运,它们是 全局输入):

数据:fo_s_rfksld00_list1的gt_fkont类型标准表。
 数据:foap_s_rfksld00_list1的gt_fkont_sum类型标准表。

 cl_salv_bs_runtime_info => get_data(
       

仅此而已。

一周热门 更多>