在BAdI definition PRODUCT_R3_ADAPTER的BAdI implementation里需要操作structure comt_prod_material_bdoc。

可以发现几乎所有的settype value都存储在field DATA下面的以settype technical name 命名的internal table里。

然而short text和long text例外,出现在header,且存储值的internal table name 不等于settype technical name,这就给设计一种generic implementation适用于所有settype的解决方案带来困难。

一种解决思路是: 定义一个新的data type,该data type不仅包含原comt_prod_material_bdoc-data下面所有用于存储settype value的internal table,
还包含原本位于header field下面的short text,long text等等。


测试代码如下:

DATA: ls_bdoc TYPE comt_prod_material_bdoc.TYPES: BEGIN OF container.INCLUDE TYPE comt_prod_material_bdoc-data.TYPES: comm_prshtext TYPE comt_prod_material_bdoc-header-short_texts,END OF container.DATA: ls_header_text LIKE LINE OF ls_bdoc-header-short_texts,ls_unit        LIKE LINE OF ls_bdoc-data-comm_pr_unit.ls_header_text-data-client = '001'.
ls_header_text-data-langu = sy-langu.
APPEND ls_header_text TO ls_bdoc-header-short_texts.ls_unit-data-gross_weight = '1'.
APPEND ls_unit TO ls_bdoc-data-comm_pr_unit.DATA: ls_container TYPE container.MOVE-CORRESPONDING ls_bdoc-data TO ls_container.
MOVE-CORRESPONDING ls_bdoc-header-short_texts TO ls_container-comm_prshtext.

现在原本出现在header的internal table SHORT_TEXTS现在以COMM_PRSHTEXT的名字出现在Data field下面,从而使统一的处理逻辑成为可能。

解决BDOC structure里header和data structure里数据格式不一致的问题相关推荐

  1. Data Structure

    Data Structure 1. Abstract Data Type (ADT) 1.1. Data type A set of objects + a set of operations Exa ...

  2. Succinct Data Structure

    作者:唐刘 最近看了一篇论文 SuRF: Practical Range Query Filtering with Fast Succinct Tries,里面提到使用一种新的数据结构 Succinc ...

  3. LeetCode Two Sum III - Data structure design

    原题链接在这里:https://leetcode.com/problems/two-sum-iii-data-structure-design/ 题目: Design and implement a ...

  4. leetcode 211. Add and Search Word - Data structure design Trie树

    题目链接 写一个数据结构, 支持两种操作. 加入一个字符串, 查找一个字符串是否存在.查找的时候, '.'可以代表任意一个字符. 显然是Trie树, 添加就是正常的添加, 查找的时候只要dfs查找就可 ...

  5. leetcode Add and Search Word - Data structure design

    我要在这里装个逼啦 class WordDictionary(object):def __init__(self):"""initialize your data str ...

  6. TRIE - Data Structure

    Introduction 介绍 Trie,又称单词查找树,是一种树形结构,用于保存大量的字符串.它的优点是:利用字符串的公共前缀来节约存储空间. Trie is an ordered tree dat ...

  7. 牛客小白月赛11:Rinne Loves Data Structure

    Rinne Loves Data Structure 思路 我们插入的位置大概分了四种: 第一种 显然我们找到比当前插入的值的pre,也就是比当前节点大的最小值. 第二种 我们只要找到当前节点的suc ...

  8. HDU - 7072 Boring data structure problem 双端队列 + 思维

    传送门 文章目录 题意: 思路: 题意: 你需要实现如下四个操作 q≤1e7q\le1e7q≤1e7 思路: 做的时候想了个链表的思路让队友写了,懒. 看了题解感觉题解还是很妙的. 你需要快速插入一个 ...

  9. HDU - 6967 G I love data structure 线段树维护矩阵 + 细节

    传送门 文章目录 题意: 思路: 题意: 给你两个长度为nnn的数组a,ba,ba,b,你需要完成如下四种操作: 思路: 思路还是比较简单的,首先建一颗线段树,线段树中维护a,b,a2,b2,aba, ...

最新文章

  1. “神人”or“闲人”?你的未来由AI与大数据决定
  2. int i=i++;和i=++i;和i++
  3. 鸟哥的Linux私房菜基础学习篇(第二版)第二章课后习题与答案
  4. python 监控股价 程序 tk_linux通过python监控股票股价
  5. How Many Replication Method In SAP HANA
  6. Spring Cloud Gateway 源码解析(4)-- filter
  7. 02 算术、字符串与变量(1)
  8. 生产问题分析!delete in子查询不走索引?!
  9. does not esixt in the current content error
  10. 叠箱子问题 之 动态规划
  11. websphere一直安装部署_构建独立部署系统,从部署规范开始
  12. (转)高效的MySQL分页
  13. 【GoWeb编程】准备起飞
  14. 计算机导论论文含图,计算机导论(论文).doc
  15. iPhone13全系列参数对比
  16. mysql索引(三)聚集索引与非聚集索引(辅助索引)
  17. Caused by: java.sql.SQLException: connection holder is null
  18. 并行计算系列-阿姆达尔定律(Amdahl‘s Law)
  19. 网络封包过滤之分层服务提供者(LSP)
  20. 分布式架构实现概述(大型网站技术架构-读后感)

热门文章

  1. CentOs环境下PHP支持PDO_MYSQL
  2. python cgi打印html代码
  3. 恼人的函数指针(一)
  4. -XX:+UseParallelGC与 -XX:+UseParNewGC相关介绍
  5. 《多元统计分析》学习笔记之主成分分析
  6. vb初学者编程代码大全_VB编程应该如何学习?
  7. jMeter 里如何使用 variable
  8. 如何在 SAP Commerce Cloud Portal 构建和部署 SAP Spartacus Storefront
  9. 什么是 CMS - Content Management System
  10. SAP CRM Fiori 应用的 offline 离线支持开发笔记