zoukankan      html  css  js  c++  java
  • 修改EDT长度

    最初的要求是修改ItemId长度变成30,后来运行了一段时间发现如果不修改ItemRelationKeyValue的长度,到运行BOM/Route Calculation的时候还是会出问题(上面两个EDTItemId没有直接关系)。

     

    但终究不能碰到问题才去找哪些EDT遗漏了于是想到系统自带的修改EDTform(系统管理==》设置==》系统==》修改数据类型)。

     

    其实这个form并不是简单的只修改一个EDT,而是把它的父EDT揪出来并且找到它整棵EDT树的所有EDT。ItemId为例它整棵EDT树包括ItemIdBase,ItemIdAlternative,ItemIdProduction,等等

     

    然而这还没有完那张form会继续寻找所有Tables的所有relations,一旦发现和之前找出的EDT树有关的field,而且长度小于我们的目标长度的就把它列入修改清单

     

    BOMCalcTrans为例它的relations InventTableItem正是有一条关于ItemIdKeyValue的关系由这个关系系统便知道KeyValue其实也是需要修改的(事实上系统只在长度小于目标长度的时候修改拿我们的ItemId为例原本只有20长度现在改到30,系统检测到KeyValue依然只有20的长度如果保持这个长度那么传递过来的30长度的ItemId就会被切断所以有必要变长而相反如果我们ItemId长度改为10,KeyValue则没有必要修改原因是KeyValue可能还对应别的Relation,鲁莽缩小它可能会导致别的传递进来的值被切断)。

     

    由上面基本可以想到,无论怎么修改EDT长度最好还是通过那个form来实现。最后一个问题那个form默认只处理几个EDT,如何让它处理一些之前没有列出的EDT其实实现很简单

    找到SysEDTSetup这张form,并打开它的fillView方法插入如下的代码(插入的EDT类型只能是string或者real,这张form只支持这两个类型)。

    修改后的长度需重启clientapplication才能看到。

      摘自秋毫论坛。

     

  • 相关阅读:
    IDA .edata .rdata .idata .text segments
    How to detect the types of executable files
    Dynamic-Link Library Redirection
    J-Link Version
    PE文件结构部分解析以及输入的定位
    Delphi : Analyze PE file headers?
    How to tell if a file is an EXE or a DLL?
    PE Header and Export Table for Delphi
    NXP ARM Vector Table CheckSum
    反接保护电路 Reverse Voltage Protection
  • 原文地址:https://www.cnblogs.com/Jinnchu/p/2659938.html
Copyright © 2011-2022 走看看