zoukankan      html  css  js  c++  java
  • Through the name of EDT or Enum data type obtain to be used for table object inherit from Dictionary

    Using x++ code Through to the name of extend or Enum data type obtain to be used for table object inherit from AX Data Dictionary.

    you can enter the name of  extend or enum data type,and then obtain to table or map or view from data Dictionary!

     

    Wrote by Jimmy on Nov. 29th 2010

    Code as below:

     

    static void Jimmy_EDTEnumNameInheritDictionary(Args _args)
    {
    /**
    Enter the name of  extend or enum data type,
    and then obtain to table or map or view from data Dictionary!
    */
        Dictionary          _dictionary     = new Dictionary();
        Dialog              _Dialog         = new Dialog("Please Enter extendedType");
        DialogField         _dlgEDT         = _Dialog.addField(typeId(ExtendedDataTypeName),'ExtendedType');//EnumDataTypeName 40
        UtilIdElements      _UtilIdElements;
        DictTable           _CurDictTable;
        str 100             _CurEDT,extend,DirctTypeDes;
        DictField           _CurDictField;
        int                 i,j,mm;
    ;
        if(!_Dialog.run())
            return ;
            
        _CurEDT = _dlgEDT.value();
        setprefix(_CurEDT);
        for (i = 1; i <= _dictionary.tableCnt(); i++)
        {
            _CurDictTable = new DictTable(_dictionary.tableCnt2Id(i));
            IF(_CurDictTable.name() like "tmp*")
                continue;
            if (!_CurDictTable.isTmp()         &&
                !_CurDictTable.isSystemTable() &&
                !_CurDictTable.isMap()         &&
                !_CurDictTable.isView()
              )
            {
                 for(j = 1;j <= _CurDictTable.fieldCnt();j ++)
                 {
                    _CurDictField = new DictField(_CurDictTable.id(),_CurDictTable.fieldCnt2Id(j));
                    if(_CurDictField.isSystem())
                        continue;
                    switch(_CurDictField.baseType())
                    {
                        case types::Enum :
                            extend = global::enumId2Name(_CurDictField.enumId());break;
                        default :
                            extend = global::extendedTypeId2name(_CurDictField.typeId());break;
                    }
                    if(_CurDictTable.isMap())
                        DirctTypeDes = "Map";
                    if(_CurDictTable.isSql())
                        DirctTypeDes = "Sql table name ";
                    if(_CurDictTable.isSystemTable())
                        DirctTypeDes = "SystemTable";
                    if(_CurDictTable.isTmp())
                        DirctTypeDes = "Tmp table";
                    if(_CurDictTable.isView())
                        DirctTypeDes = "View";
    
                    if(_CurEDT == extend)
                    {
                        mm++;
                        info(strFmt("%1 - %2 %3[%4]; field name : %5[%6]",mm,
                                    DirctTypeDes,
                                    _CurDictTable.name(),
                                    _CurDictTable.label(),
                                    _CurDictField.name(),
                                    _CurDictField.label()));
                    }
                }
            }
        }
        info(int2str(mm));
    }
    

  • 相关阅读:
    原型,原型对象,原型链,构造函数,继承(一)
    暑假闲着没事第一弹:基于Django的长江大学教务处成绩查询系统
    ANDROID自定义视图——onMeasure流程,MeasureSpec详解
    android 中发送短信
    VelocityTracker简介
    Android xml资源文件中@、@android:type、@*、?、@+含义和区别
    android:id="@+id/android:empty属性的用法举例
    Android ProgressBar详解以及自定义
    Android自定义进度条
    布局技巧:使用ViewStub
  • 原文地址:https://www.cnblogs.com/Fandyx/p/1891298.html
Copyright © 2011-2022 走看看