首页 > 其他分享 >ABAP动态内表

ABAP动态内表

时间:2024-10-23 09:43:50浏览次数:1  
标签:内表 job TYPE lt person ABAP tab 动态 type

需求,内表值对比

已知一方数据来源于外围系统,另一方数据来源于SAP。经过处理得到多个两两比较的内表,现在通过指针,指向两个相同的数据

TYPES:BEGIN OF l_person,
        pernr TYPE pernr_d,
      END OF l_person .
TYPES: t_person TYPE TABLE OF l_person .
DATA: lt_person TYPE TABLE OF l_person .

lt_person = VALUE #(
  ( pernr = '1263' )
  ( pernr = '1264' )
).

TYPES:BEGIN OF l_job,
        objid TYPE objid,
      END OF l_job .
TYPES: t_job TYPE TABLE OF l_job .
DATA: lt_job TYPE TABLE OF l_job .

lt_job = VALUE #(
  ( objid = '180001' )
  ( objid = '180002' )
).

TYPES: BEGIN OF l_type,
         type_name  TYPE char30,
         table_name TYPE char30,
       END OF l_type .
DATA: lt_type TYPE TABLE OF l_type,
      ls_type TYPE l_type.

lt_type = VALUE #(
  ( type_name = 't_person' table_name = 'lt_person' )
  ( type_name = 't_job'    table_name = 'lt_job' )
).


DATA: dy_tab  TYPE REF TO data.
FIELD-SYMBOLS: <dyn_table> TYPE STANDARD TABLE, 
               <dyn_temp>  TYPE STANDARD TABLE.

TYPES: BEGIN OF l_tab,
         content TYPE REF TO data,
       END OF l_tab .
DATA: lt_tab TYPE TABLE OF l_tab,
      ls_tab TYPE l_tab.

LOOP AT lt_type INTO ls_type.
  CREATE DATA ls_tab-content TYPE (ls_type-type_name).
  ASSIGN (ls_type-table_name) TO <dyn_temp>.
  ASSIGN ls_tab-content->* TO <dyn_table> .
  MOVE-CORRESPONDING <dyn_temp> TO <dyn_table> .
  APPEND ls_tab TO lt_tab .
ENDLOOP.

标签:内表,job,TYPE,lt,person,ABAP,tab,动态,type
From: https://www.cnblogs.com/windmill78/p/18494505

相关文章

  • CODESYS随机动态图案验证码制作详细案例(二)
    #使用CODESYS软件模仿网页端动态图案验证码的制作详细案例#前言:上篇随机数的测试验证,是我们作为图案验证码的基础功能测试,实际上在CODESYS中,除了OSCAT库,在SM3Shared库中,也有一个RndI_Range的函数,不过,在测试的过程中无法正常使用,如果哪位高手有实际案例可以发表在评论区。......
  • MyBatis动态SQL以及注解机制-性能优化
    目录SQL注入(扩展)动态SQL动态条件查询MyBatis动态SQLif元素(最常用)where元素choose/when/otherwise元素foreach元素语法:set元素总结MyBatis注解模式MyBatis两种映射模式注解实现CURD+动态SQL操作注解实现一对一关联查询注解实现一对一、一对多和多对多子查询......
  • 动态生成excel动态表头easyExcel
    动态生成excel,内容跟随表头填充 组装调用工具方法:List<FileTitleEntity>titleEntityList=newArrayList<>();titleEntityList.add(newFileTitleEntity("name","姓名"));titleEntityList.add(newFileTitleEntity("idNumber"......
  • vue3 setup lang=ts实现router-link的动态传参
    一、实现目标 可以通过router-link在url里面配置参数然后传递给markdown页面 二、页面配置主页面,即配置router-link的页面templates:<router-link:to="{path:`/mark/${itemId}`}">fff</router-link>script:constitemId=ref('333'); 接收数据页面,即mark页面......
  • echarts根据数据动态生成饼图的个数,并排序
    动态生成个数functioninitPurchaseContract(){//获取数据的keysletkeys=Object.keys(dataPurchaseContract[0]);lettotalCharts=keys.length-1;//饼图数量//动态计算行数和列数(使布局接近正方形)letcols=3;//列数letrows......
  • 在K8S中,有一种情况,公司希望向具有各种环境的客户提供所有必需的分发,他们如何以动态的
    在Kubernetes(K8S)中,公司若希望向具有各种环境的客户提供所有必需的分发,并以动态的方式实现这一关键目标,可以遵循以下步骤和策略:1.多环境部署策略创建不同的命名空间在Kubernetes中,命名空间是一种将集群内部资源(如Pod、Service等)分组的方式。公司可以为每个客户或环境创建一个......
  • 【LeetCode】动态规划—790. 多米诺和托米诺平铺(附完整Python/C++代码)
    动态规划—790.多米诺和托米诺平铺题目描述前言基本思路1.定义2.理解问题和递推关系3.解决方法4.进一步优化5.小总结代码实现Python代码Python代码解释总结C++代码C++代码解释总结总结题目描述前言本文将详细讨论LeetCode上的"多米诺和三米诺平铺"问题。......
  • 动态内存管理(下)
    目录常见的动态内存的错误对NULL指针的解引用操作对动态开辟空间的越界访问对非动态开辟内存使用free释放使用free释放⼀块动态开辟内存的一部分对同一块动态内存多次释放动态开辟内存忘记释放(内存泄漏)柔性数组柔性数组的特点柔性数组的使用柔性数组的优势感谢各位......
  • 调速系统的静态指标和动态指标
    调速系统的静态指标和动态指标如下:静态指标调速范围(D):指电动机在额定负载运行时,最高转速与最低转速的比值。它反映了系统在不同工况下的适应能力。例如,精密机床要求加工精度达到几十微米至几微米,其调速范围可能高达20~30倍;而重型机床的进给机构需要在很宽的范围内调速,最高和......
  • HarmonyOS:应用程序包结构(2)HSP(Harmony Shared Package)动态共享包
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(MaoistLearning)➤博客园地址:为敢技术(https://www.cnblogs.com/strengthen/ )➤GitHub地址:https://github.com/strengthen➤原文地址:https://www.cnblogs.com/strengthen/p/......