ABAP+旧数据接管的会计年度未确定

导资产主数据时,报错旧数据接管的会计年度未确定

是因为程序里面使用了下列函数AISCO_CALCULATE_FIRST_DAY,输入公司代码,获取会计年度,这个数据是在后台表T093C表中取数的,通过SE16N可以看到后台表数据没有数,所以直接报错了。在项目中的时候 可以换一个后台表直接取数,T001B之类的表,也可以换成直接复制,这里我和业务顾问确认之后直接约定了赋值为2025。

CALL FUNCTION 'AISCO_CALCULATE_FIRST_DAY'
      EXPORTING
        i_bukrs   it_doc-bukrs
      IMPORTING
        e_to_year ld_fisc_year.

<think>我们注意到用户输入了“abap +data”,这看起来像是一个不完整的查询。可能用户想要了解ABAP中与数据(data)相关的某个主题。由于信息不明确,我们可以从几个常见方向推测: 1. ABAP中如何定义数据(变量、结构、内等) 2. ABAP数据操作(增删改查) 3. ABAP中的数据类型和对象 考虑到用户之前的问题是关于获取domain的范围值,现在又提到“+data”,可能用户想了解ABAP数据定义的基础知识。因此,我们将重点放在ABAP数据定义的基础知识上。 下面我们将介绍ABAP中最基本的数据定义:变量、结构、内。</think>### ABAP 数据定义与操作详解 在 ABAP 中,`DATA` 语句是最基础且最重要的数据声明方式,用于定义变量、结构体、内数据对象。以下是完整的 ABAP 数据定义和操作指南: --- #### 1. 基本数据类型声明 ```abap REPORT z_data_demo. " 基本数据类型定义 DATA: gv_char TYPE c LENGTH 10, " 字符型 gv_num TYPE n LENGTH 5, " 数字字符 gv_int TYPE i, " 整数 (4字节) gv_packed TYPE p LENGTH 8 DECIMALS 2, " 压缩小数 gv_date TYPE d, " 日期 gv_time TYPE t, " 时间 gv_string TYPE string, " 字符串 gv_xstring TYPE xstring. " 二进制字符串 " 初始值赋值 gv_char = 'Hello'. gv_int = 100. gv_packed = '1234.56'. ``` **关键点:** - `TYPE` 指定数据类型 - `LENGTH` 定义字段长度 - `DECIMALS` 设置小数位数 - 基本类型:`C`(字符), `N`(数字字符), `I`(整数), `P`(压缩数), `D`(日期), `T`(时间) --- #### 2. 结构体定义与使用 ```abap " 定义结构体类型 TYPES: BEGIN OF ty_person, id TYPE i, name TYPE string, birth TYPE d, END OF ty_person. " 声明结构体变量 DATA: gs_person TYPE ty_person. " 结构体赋值 gs_person-id = 1. gs_person-name = 'John Doe'. gs_person-birth = '19900101'. " 直接赋值 DATA(ls_person) = VALUE ty_person( id = 2 name = 'Jane Smith' birth = '19950515' ). ``` --- #### 3. 内定义与操作 ```abap " 基于结构体类型定义内 DATA: gt_people TYPE TABLE OF ty_person WITH EMPTY KEY. " 添加数据到内 APPEND gs_person TO gt_people. APPEND ls_person TO gt_people. " 使用 VALUE 直接填充内 gt_people = VALUE #( ( id = 3 name = 'Bob Lee' birth = '19871231' ) ( id = 4 name = 'Alice Wang' birth = '19980820' ) ). " 内循环处理 LOOP AT gt_people ASSIGNING FIELD-SYMBOL(<fs_person>). WRITE: / <fs_person>-id, <fs_person>-name, <fs_person>-birth. ENDLOOP. ``` --- #### 4. 数据引用与字段符号 ```abap " 数据引用(指针) DATA: lr_data TYPE REF TO ty_person. CREATE DATA lr_data. lr_data->* = gs_person. " 解引用赋值 " 字段符号(类似指针) FIELD-SYMBOLS: <fs_data> TYPE ty_person. ASSIGN lr_data->* TO <fs_data>. <fs_data>-name = 'Modified Name'. ``` --- #### 5. 常量定义 ```abap CONSTANTS: gc_pi TYPE p DECIMALS 5 VALUE '3.14159', gc_e TYPE f VALUE '2.71828'. ``` --- #### 6. 数据字典类型引用 ```abap " 引用数据字典对象 DATA: gv_matnr TYPE matnr, " 物料号 (MARA-MATNR) gv_bukrs TYPE bukrs, " 公司代码 gv_werks TYPE werks_d. " 工厂 " 创建结构体引用结构 DATA: gs_mara TYPE mara, gt_mara TYPE TABLE OF mara. ``` --- ### 最佳实践技巧 1. **命名规范**: - 变量:`lv_`(本地), `gv_`(全局) - 结构体:`ls_`(本地), `gs_`(全局) - 内:`lt_`(本地), `gt_`(全局) 2. **类型安全**: ```abap " 使用 LIKE 引用已有变量类型 DATA: lv_same_type LIKE gv_char. " 使用 TYPE REF TO 定义对象引用 DATA: lo_obj TYPE REF TO cl_salv_table. ``` 3. **内高效操作**: ```abap " 使用 INSERT LINES OF 批量插入 INSERT LINES OF lt_temp_table FROM 1 TO 10 INTO TABLE gt_main. " 使用 READ TABLE WITH KEY 快速读取 READ TABLE gt_people INTO DATA(ls_found) WITH KEY id = 3. ``` 4. **动态数据声明**: ```abap " 运行时创建数据对象 DATA: lv_type TYPE string VALUE 'I'. DATA: lr_data TYPE REF TO data. CASE lv_type. WHEN 'I'. CREATE DATA lr_data TYPE i. WHEN 'STRING'. CREATE DATA lr_data TYPE string. ENDCASE. ``` --- ### 实际应用场景 1. 报程序的数据处理 2. SAP 屏幕字段的数据绑定 3. 函数模块的接口参数 4. ALV 格的数据源 5. 数据库操作的结果容器 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值