Wednesday, March 9, 2022

How to get CCID

1) Fnd_Flex_ext.get_ccid

 

--return CCID or 0 when flexfield segment ACCOUNT does not exist in the value set TTI_ACCOUN

 

DECLARE

    p_ccid    NUMBER;

BEGIN

    p_ccid := Fnd_Flex_ext.get_ccid(application_short_name => 'SQLGL',

                                         key_flex_code          => 'GL#',

                                         structure_number       => 50190,

                                         validation_date        => to_char(SYSDATE,

                                                                           'YYYY/MM/DD HH24:MI:SS'),

                                         concatenated_segments  => 'B1.21399.00.6733.000000.00000000.11.00.0000.000');

    IF p_ccid <> '0' THEN

        DBMS_OUTPUT.PUT_LINE( p_ccid);

    ELSE

        DBMS_OUTPUT.PUT_LINE( FND_FLEX_EXT.GET_MESSAGE) ;

    END IF;

END;

 

====================================================================

 

2) fnd_flex_keyval.validate_segs

 

--return true or false & get ccid by FND_FLEX_KEYVAL.COMBINATION_ID()

 

BEGIN

    IF fnd_flex_keyval.validate_segs(

        operation        => 'CREATE_COMBINATION' -- CHECK_COMBINATION, FIND_COMBINATION

        , appl_short_name  => 'SQLGL' -- 請根據情況自行修改

        , key_flex_code    => 'GL#' -- 請根據情況自行修改

        , structure_number => 50190 -- 請根據情況自行修改

        , concat_segments  => 'B1.21299.00.6733.000000.00000000.11.00.0000.000') THEN

        DBMS_OUTPUT.PUT_LINE( (FND_FLEX_KEYVAL.COMBINATION_ID()));

--.concatenated_descriptions());

    ELSE

        DBMS_OUTPUT.PUT_LINE( FND_FLEX_KEYVAL.ERROR_MESSAGE) ;

    END IF;

END; 





1、Check Combination:

IF (NOT fnd_flex_keyval.validate_segs(operation => 'CHECK_COMBINATION',

                                      appl_short_name => 'SQLGL',

                                      key_flex_code => 'GL#',

                                      structure_number => 50394,

                                      concat_segments => '0.0.530101.0.0.1006001.0.0',

                                      validation_date => sysdate)) THEN

  -- return the error message

  RETURN fnd_flex_keyval.error_message;

END IF;


2. Create Combination:

    1) fnd_flex_ext.get_ccid(application_short_name => 'SQLGL',  

                                                 key_flex_code          => 'GL#',  

                                                 structure_number       => l_id_flex_num,  

                                                 validation_date        => to_char(SYSDATE,  

                                                                                   apps.fnd_flex_ext.DATE_FORMAT),  

                                                 concatenated_segments  => x_concatenated_seg);

    2: fnd_flex_keyval.validate_segs('CREATE_COMBINATION' --'CREATE_COMB_NO_AT'

                                       ,'SQLGL'

                                        ,'GL#'

                                        ,lv_chart_of_accounts_id

                                        ,lv_concatenated_segments);



FND_KEY_FLEX.Define() 定义弹性域
FND_FLEX_EXT.GET_SEGS() 获取科目节段组合
fnd_flex_ext.get_ccid() 获取ID
FND_FLEX_KEYVAL.validate_ccid验证ccid的有效性
FND_FLEX_KEYVAL.concatenated_descriptions 得到ccid的描述
FND_KEY_FLEX.Update_Definition()

No comments:

Post a Comment