• 转:客制FORM调用会计科目弹性域/根据科目取得CODE_COMBINATION_ID


    1.首先在创建数据表时,添一个字段用来保存会计科目的ID。如:CODE_COMBINATION_ID

      2.在FORM相应的数据块增加两个ITEM,用来显示科目NUMBER与DESCRITION。

      例:GL_CODE_NUMBER、GL_CODE_DESC

      注 : ENABLE_LIST_LAMP是TEMPLATE模板自带的,无须手工去定义。 将GL_CODE_NUMBER项的LOV设成“ENABLE_LIST_LAMP”,数据库项设为“否”。 将 GL_CODE_NUMBER“从列表中验证”属性设成否。

      3.在Form Level 的WHEN-NEW-FORM-INSTANCE Trigger初始化弹性域

     FND_KEY_FLEX.Define

        BLOCK => 'CUX_17_CST_MAPP_RULE_ALL',
        FIELD => 'ACCOUNTING',
        ID    => 'CODE_COMBINATION_ID',
        description=>'ACCOUNT_DES',
        APPL_SHORT_NAME => 'SQLGL',
        CODE => 'GL#',
        NUM  => '50470',--CHART_OF_ACCOUNTS_ID',
        REQUIRED => 'Y',
        VALIDATE => 'FULL',
        USEDBFLDS => 'N',
        DINSERT => 'Y',
        allownulls => 'N',
        query_security => 'Y',
        updateable => 'ALL',
        insertable => 'ALL',
         vrule     =>'\nSUMMARY_FLAG\nI\n' || 
                               'APPL=SQLGL;NAME=GL_JE_SUMMARY_ACCOUNT\nN\0' ||
                               'GL_GLOBAL\nDETAIL_POSTING_ALLOWED' ||
                               '\nI\n' ||
                              'APPL=SQLGL;NAME=GL_JE_POSTING_NOT_ALLOWED\nY',
        where_clause => 'summary_flag <>''Y'''
    );

    4.可以在GL_CODE_NUMBER项的WHEN-VALIDATE-ITEM触发器中,对所选择的科目进行核查。

      IF : BlockName.CODE_COMBINATION_ID = -1 then

      fnd_message.debug('所选科目组合无效!');

      raise form_trigger_failure;

      end if;

    2.根据会计科目取得CODE_COMBINATION_ID

    http://blog.csdn.net/pan_tian/article/details/7535842

     网上说当在第一步建表时,可以建一个字段作为外键,基于表GL_CODE_COMBINATIONS(CODE_COMBINATION_id),

    这时当保存数据时,CODE_COMBINATION_ID会自动保存过来,不过我没试验成功。

    我使用以下方法取得:

     :CUX_17_CST_MAPP_RULE_ALL.CODE_COMBINATION_ID:=
                    fnd_flex_ext.get_ccid(application_short_name => 'SQLGL',
                                                 key_flex_code          => 'GL#',
                                                structure_number       => 50470,
                                                 validation_date        => to_char(sysdate, 'YYYY/MM/DD HH24:MI:SS'),
                                              concatenated_segments  =>:CUX_17_CST_MAPP_RULE_ALL.ACCOUNTING);

     其中concatenated_segments 参数格式为:'YBHN0.139999.6001100301.10000001.1013579.110101.0.0.0.0'

     

    注意:如果表GL_CODE_COMBINATIONS中不存在所选组合,即不存在这个ID.就会新建一条纪录插入到表GL_CODE_COMBINATIONS中。

  • 相关阅读:
    在浏览器中输入url后执行的全过程
    自己搭建一个类似vue,实现响应式的原理
    关于vue是怎么放到服务器上运行的基于vue-cli3
    vue v-modal语法糖
    js中的Map和Set
    js的reduce方法
    vue双向绑定原理
    js对象原型-class类
    (二)仅仅通过Application监听用户行为及App的在线状态和在线时长
    (一)仅仅用ApplicationContext加载界面
  • 原文地址:https://www.cnblogs.com/toowang/p/5278435.html
Copyright © 2020-2023  润新知