Showing posts with label GL CODE. Show all posts
Showing posts with label GL CODE. Show all posts

Wednesday, January 3, 2018

GL DRILL Down Query From GL into Fixed Assets Sub ledger Module.

The below query will  provide the complete breakup of posted Journals with transaction distribution wise breakup details of Fixed assets(all sources) sub-ledger modules.



SELECT  GCC.concatenated_segments segments, 
               GJL.period_name,
               GJH.NAME journal_name, 
               GJB.NAME batch_name,
               GJH.je_source journal_source, 
               GJH.je_category journal_category,
               GCC.segment1 entity_segment, 
               GCC.segment2 project_segment,
               FFV.attribute1 project_vertical_dff,
               GCC.segment3, 
               GCC.segment4, 
               GCC.segment5,
               GCC.segment6, 
               GCC.segment7, 
               TO_CHAR (GJH.doc_sequence_value) gl_doc_no,
               TO_CHAR (GJH.default_effective_date, 'DD-MON-YYYY') gl_date,
               TO_CHAR (GJH.posted_date, 'DD-MON-YYYY') posted_date,
               NULL sla_event_class,
               XAH.event_type_code sla_event_type,
               TO_CHAR (FTH.asset_id) document_number,
               FT.description document_description,
               TO_CHAR (FB.date_placed_in_service, 'DD-MON-YYYY') document_date,
       NVL ((XAL.unrounded_entered_cr) * -1,XAL.unrounded_entered_dr) transaction_cur_amount,
               GL.currency_code entered_currency_code, 
  NVL((XAL.unrounded_accounted_cr)*-1,XAL.unrounded_accounted_dr) functional_currency_amount,
  FROM   xla_ae_lines XAL,
               xla_ae_headers XAH,
               xla.xla_transaction_entities XTE,
               gl_je_headers GJH,
               gl_je_lines GJL,
               gl_je_batches GJB,
               gl_import_references GIR,
               gl_je_categories GJC,
               gl_ledgers GL,
               gl_code_combinations_kfv GCC,
               fa_additions_tl FT,
               fa_books FB,
               fa_transaction_headers FTH,
               fnd_flex_value_sets FVS,
               fnd_flex_values FFV
 WHERE         1 = 1
   AND         GJL.je_header_id                     = GJH.je_header_id
   AND         GJC.je_category_name            = GJH.je_category
   AND         GCC.code_combination_id         = GJL.code_combination_id
   AND         GIR.je_header_id                     = GJH.je_header_id
   AND         XAL.gl_sl_link_id                      = GIR.gl_sl_link_id
   AND         GIR.je_line_num                       = GJL.je_line_num
   AND         GJB.je_batch_id                       = GJH.je_batch_id
   AND         XAH.ae_header_id                   = XAL.ae_header_id
   AND         XTE.entity_id                            = XAH.entity_id
   AND         FB.date_ineffective  IS NULL
   AND         GJH.actual_flag                        = 'A'
   AND         GJH.status                                = 'P'
   AND         GJH.je_source                          = 'Assets'
   AND         GJC.user_je_category_name  IN   ('Transfer', 'Reclass')
   AND         GJH.je_source                         <> 'Consolidation'
   AND         FT.asset_id                                = FTH.asset_id
   AND         FT.asset_id                                =  FB.asset_id
   AND         XTE.source_id_int_1(+)            = FTH.transaction_header_id
   AND         FB.book_type_code                  = FTH.book_type_code
   AND         GJH.ledger_id                           = GL.ledger_id
   AND         FFV.flex_value_set_id               = FVS.flex_value_set_id(+)
   AND         GCC.segment2                          = FFV.flex_value(+)
   AND         UPPER (FVS.flex_value_set_name) = UPPER ('PLL_Project')
   AND         GJH.default_effective_date     >= lc_gl_date_from
   AND         GJH.default_effective_date     <= lc_gl_date_to
 AND TRUNC (gjh.posted_date) BETWEEN NVL (lc_gl_posted_from,TRUNC (gjh.posted_date))AND NVL (lc_gl_posted_to,TRUNC (gjh.posted_date))
   AND          GJH.je_source                  = NVL (p_gl_source, GJH.je_source)
   AND          GJH.je_category                = NVL (p_gl_category, GJH.je_category) 
--   AND      gcc.concatenated_segments BETWEEN (p_account_from) AND (p_account_to)
   AND          GCC.segment1 BETWEEN lc_segment_from(1) AND lc_segment_to(1)
   AND          GCC.segment2 BETWEEN lc_segment_from(2) AND lc_segment_to(2)
   AND          GCC.segment3 BETWEEN lc_segment_from(3) AND lc_segment_to(3)
   AND          GCC.segment4 BETWEEN lc_segment_from(4) AND lc_segment_to(4)
   AND          GCC.segment5 BETWEEN lc_segment_from(5) AND lc_segment_to(5)
   AND          GCC.segment6 BETWEEN lc_segment_from(6) AND lc_segment_to(6)
   AND          GCC.segment7 BETWEEN lc_segment_from(7) AND lc_segment_to(7)
   AND          NVL (FFV.attribute1, '-1')      = NVL (p_proj_vertical_dff, NVL (FFV.attribute1, '-1'))
UNION ALL
SELECT         GCC.concatenated_segments segments, 
               GJL.period_name,
               GJH.NAME journal_name, 
               GJB.NAME batch_name,
               GJH.je_source journal_source, 
               GJH.je_category journal_category,
               GCC.segment1 entity_segment, 
               GCC.segment2 project_segment,
               FFV.attribute1 project_vertical_dff,
               GCC.segment3, 
               GCC.segment4, 
               GCC.segment5,
               GCC.segment6, 
               GCC.segment7, 
               TO_CHAR (GJH.doc_sequence_value) gl_doc_no,
               TO_CHAR (GJH.default_effective_date, 'DD-MON-YYYY') gl_date,
               TO_CHAR (GJH.posted_date, 'DD-MON-YYYY') posted_date,
               NULL sla_event_class, 
               XAH.event_type_code sla_event_type,
               TO_CHAR (FTH.asset_id) document_number,
               FT.description document_description,
               TO_CHAR (FB.date_placed_in_service, 'DD-MON-YYYY') document_date,
        NVL ((XAL.unrounded_entered_cr) * -1,XAL.unrounded_entered_dr) transaction_cur_amount,
               GL.currency_code entered_currency_code,
               NVL ((XAL.unrounded_accounted_cr) * -1,XAL.unrounded_accounted_dr) functional_currency_amount,
  FROM         xla_ae_lines XAL,
               xla_ae_headers XAH,
               xla.xla_transaction_entities XTE,
               gl_je_headers GJH,
               gl_je_lines GJL,
               gl_je_batches GJB,
               gl_import_references GIR,
               gl_je_categories GJC,
               gl_ledgers GL,
               gl_code_combinations_kfv GCC,
               fa_additions_tl FT,
               fa_books FB,
               fa_transaction_headers FTH,
               fnd_flex_value_sets FVS,
               fnd_flex_values FFV
 WHERE         1 = 1
   AND         GJL.je_header_id                           = GJH.je_header_id
   AND         GJC.je_category_name                  = GJH.je_category
   AND         GCC.code_combination_id             = GJL.code_combination_id
   AND         GIR.je_header_id                           = GJH.je_header_id
   AND         XAL.gl_sl_link_id                            = GIR.gl_sl_link_id
   AND         GIR.je_line_num                            = GJL.je_line_num
   AND         GJB.je_batch_id                            = GJH.je_batch_id
   AND         XAH.ae_header_id                        = XAL.ae_header_id
   AND         XTE.entity_id                                 = XAH.entity_id
   AND         GJH.ledger_id                                = GL.ledger_id
   AND         GJH.actual_flag                             = 'A'
   AND         GJH.status                                     = 'P'
   AND         GJH.je_source                               = 'Assets'
   AND         FB.date_ineffective    IS NULL
   AND         GJC.user_je_category_name    IN('Addition', 'CIP Addition', 'Adjustment', 'CIP Adjustment','Retirement','CIP Retirement')
   AND         GJH.je_source                              <> 'Consolidation'
   AND         FT.asset_id                                      = FTH.asset_id
   AND         FT.asset_id                                      = FB.asset_id
   AND         XTE.source_id_int_1(+)                   = FTH.transaction_header_id
   AND         FB.book_type_code                         = FTH.book_type_code
   AND         GJH.default_effective_date            >= lc_gl_date_from
   AND         GJH.default_effective_date            <= lc_gl_date_to
   AND         FFV.flex_value_set_id                      = FVS.flex_value_set_id(+)
   AND         GCC.segment2                                 = FFV.flex_value(+)
   AND         UPPER (FVS.flex_value_set_name) = UPPER ('PLL_Project')
   AND         TRUNC (GJH.posted_date) BETWEEN NVL (lc_gl_posted_from,TRUNC (GJH.posted_date))AND NVL (lc_gl_posted_to,TRUNC (GJH.posted_date))
   AND          GJH.je_source                  = NVL (p_gl_source, GJH.je_source)
   AND          GJH.je_category                = NVL (p_gl_category, GJH.je_category) 
--   AND      gcc.concatenated_segments BETWEEN (p_account_from) AND (p_account_to)
   AND          GCC.segment1 BETWEEN lc_segment_from(1) AND lc_segment_to(1)
   AND          GCC.segment2 BETWEEN lc_segment_from(2) AND lc_segment_to(2)
   AND          GCC.segment3 BETWEEN lc_segment_from(3) AND lc_segment_to(3)
   AND          GCC.segment4 BETWEEN lc_segment_from(4) AND lc_segment_to(4)
   AND          GCC.segment5 BETWEEN lc_segment_from(5) AND lc_segment_to(5)
   AND          GCC.segment6 BETWEEN lc_segment_from(6) AND lc_segment_to(6)
   AND          GCC.segment7 BETWEEN lc_segment_from(7) AND lc_segment_to(7)
   AND          NVL (FFV.attribute1, '-1')      = NVL (p_proj_vertical_dff, NVL (FFV.attribute1, '-1'))
   UNION ALL
   SELECT            GLCC.concatenated_segments segments
                    ,GJL.period_name
                    ,GJH.name journal_name
                    ,GJB.name batch_name
                    ,GJH.je_source journal_source
                    ,GJH.je_category journal_category
                    ,GLCC.segment1 entity_segment
                    ,GLCC.segment2 project_segment
                    ,FFV.attribute1 project_vertical_dff
                    ,GLCC.segment3
                    ,GLCC.segment4
                    ,GLCC.segment5
                    ,GLCC.segment6
                    ,GLCC.segment7
                    ,TO_CHAR (GJH.doc_sequence_value) gl_doc_no
                    ,TO_CHAR (GJH.default_effective_date, 'DD-MON-YYYY') gl_date
                    ,TO_CHAR (GJH.posted_date, 'DD-MON-YYYY') posted_date
                    ,(SELECT NAME
                             FROM xla_event_classes_tl XECT
                            WHERE XECT.event_class_code = XDL.event_class_code
                              AND XECT.application_id = XDL.application_id) sla_event_class
                    ,XAH.event_type_code sla_event_type
                    ,TO_CHAR(FDS.asset_id) document_number
                    ,FAD.description document_description
                    ,TO_CHAR (FB.date_placed_in_service, 'DD-MON-YYYY') document_date
                    ,NVL((XDL.unrounded_accounted_cr)*-1,(XDL.unrounded_accounted_dr)) transaction_cur_amount
                    ,GL.currency_code entered_currency_code
                    ,NVL((XDL.unrounded_accounted_cr)*-1,(XDL.unrounded_accounted_dr)) functional_currency_amount
  FROM         fa_additions FAD
                    ,fa_books FB
                    ,fa_book_controls FBC
                    ,fa_deprn_summary FDS
                    ,xla_distribution_links XDL
                    ,xla_ae_lines XAL
                    ,xla_ae_headers XAH
                    ,gl_import_references GIR
                    ,gl_je_lines GJL
                    ,gl_je_headers GJH
                    ,gl_je_batches GJB
                    ,gl_code_combinations_kfv GLCC
                    ,gl_ledgers GL
                    ,fnd_flex_value_sets FVS
                    ,fnd_flex_values FFV
 WHERE      1=1
   AND      FAD.asset_id                             = FB.asset_id
   AND      FB.book_type_code                  = FBC.book_type_code
   AND      FB.DATE_INEFFECTIVE IS NULL
   AND      FAD.asset_id                             = FDS.asset_id
   AND      FB.book_type_code                  =  FDS.book_type_code
   AND      FBC.book_type_code               = FDS.book_type_code
   AND      fds.deprn_source_code            ='DEPRN' 
   AND      FDS.asset_id                            = XDL.source_distribution_id_num_1
   AND      FB.book_type_code                 = XDL.source_distribution_id_char_4
   AND      FBC.set_of_books_id               = GL.ledger_id
   AND      XDL.ae_header_id                   = XAL.ae_header_id
   AND      XDL.ae_line_num                    = XAL.ae_line_num
   AND      XAL.ae_header_id                   = XAH.ae_header_id
   AND      XAH.application_id                  = XAL.application_id
   AND      XAL.gl_sl_link_id                      = GIR.gl_sl_link_id
   AND      XAL.gl_sl_link_table                 = GIR.gl_sl_link_table
   AND      GIR.je_line_num                      = GJL.je_line_num
   AND      GIR.je_header_id                    = GJL.je_header_id
   AND      GIR.je_header_id                    = GJH.je_header_id
   AND      GJH.je_batch_id                      = GJB.je_batch_id
   AND      GJL.code_combination_id       = GLCC.code_combination_id
   AND      GJH.status                               = 'P'
-- and UPPER(XDL.rounding_class_code) ='ASSET'
   AND      UPPER(FDS.deprn_source_code) IN ('BOOKS','DEPRN')
   AND      UPPER (GJH.je_source)                  = 'ASSETS' 
   AND      UPPER (GJH.je_category)               = 'DEPRECIATION'
   AND      FFV.flex_value_set_id                      = FVS.flex_value_set_id(+)
   AND      GLCC.segment2                               = FFV.flex_value(+) 
   AND      UPPER (FVS.flex_value_set_name) = UPPER ('PLL_Project')
   AND      GJH.default_effective_date     >= lc_gl_date_from
   AND      GJH.default_effective_date     <= lc_gl_date_to
   AND      TRUNC (GJH.posted_date) BETWEEN NVL (lc_gl_posted_from,TRUNC (GJH.posted_date))AND NVL (lc_gl_posted_to,TRUNC (GJH.posted_date))
   AND      GJH.je_source                   = NVL (p_gl_source, GJH.je_source)
   AND      GJH.je_category                 = NVL (p_gl_category, GJH.je_category)
   AND      GLCC.segment1 BETWEEN lc_segment_from(1) AND lc_segment_to(1)
   AND      GLCC.segment2 BETWEEN lc_segment_from(2) AND lc_segment_to(2)
   AND      GLCC.segment3 BETWEEN lc_segment_from(3) AND lc_segment_to(3)
   AND      GLCC.segment4 BETWEEN lc_segment_from(4) AND lc_segment_to(4)
   AND      GLCC.segment5 BETWEEN lc_segment_from(5) AND lc_segment_to(5)
   AND      GLCC.segment6 BETWEEN lc_segment_from(6) AND lc_segment_to(6)
   AND      GLCC.segment7 BETWEEN lc_segment_from(7) AND lc_segment_to(7)

   AND      NVL (FFV.attribute1, '-1')      = NVL (p_proj_vertical_dff, NVL (FFV.attribute1, '-1'))



--SK.

Drill Down Query From GL into Project Accounting subledger

The below query will  provide the complete breakup of posted Journals with transaction distribution wise breakup details of Project Accounting sub-ledger modules.

SELECT      GLCC.concatenated_segments segments
                    ,GJL.period_name
                    ,GJH.name journal_name
                    ,GJB.name batch_name
                    ,GJH.je_source journal_source
                    ,GJH.je_category journal_category
                    ,GLCC.segment1 entity_segment
                    ,GLCC.segment2 project_segment
                    ,FFV.attribute1 project_vertical_dff
                    ,GLCC.segment3
                    ,GLCC.segment4
                    ,GLCC.segment5
                    ,GLCC.segment6
                    ,GLCC.segment7
                    ,TO_CHAR (GJH.doc_sequence_value) gl_doc_no
                    ,TO_CHAR (GJH.default_effective_date, 'DD-MON-YYYY') gl_date
                    ,TO_CHAR (GJH.posted_date, 'DD-MON-YYYY') posted_date
                    ,PE.expenditure_group document_number
                    ,PE.expenditure_group document_description
                    ,TO_CHAR (PEI.expenditure_item_date, 'DD-MON-YYYY')  document_date
--                  ,PPA.project_status_code document_status     
                    ,PPA.segment1 project_code 
                    ,PT.task_number task_code        
                    ,PEI.expenditure_type  
                    ,PEI.raw_cost transaction_cur_amount
                    ,PPA.project_currency_code entered_currency_code
                    ,PPA.project_rate_type exchange_rate_type
                    ,PEI.project_exchange_rate exchange_rat
   FROM       gl_je_batches GJB
                    ,gl_je_headers GJH
                    ,gl_je_lines   GJL
                    ,gl_code_combinations_kfv GLCC
                    ,gl_import_references GIR
                    ,xla_ae_headers  XAH
                    ,xla_ae_lines    XAL
                    ,xla_events      XE
                    ,xla_distribution_links XDL
                    ,pa_cost_distribution_lines_all PDL
                    ,pa_expenditure_items_all PEI
                    ,pa_expenditures_all PE
                    ,pa_tasks PT
                    ,pa_projects_all PPA
                    ,fnd_flex_value_sets FVS
                    ,fnd_flex_values FFV
         WHERE  GJB.je_batch_id         = GJH.je_batch_id          
         AND    GJH.je_header_id        = GJL.je_header_id
         AND    GJL.code_combination_id = GLCC.code_combination_id
         AND    GJL.je_header_id        = GIR.je_header_id
         AND    GJH.je_batch_id         = GIR.je_batch_id
         AND    GJL.je_line_num         = GIR.je_line_num
         AND    GIR.gl_sl_link_id       = XAL.gl_sl_link_id
         AND    GIR.gl_sl_link_table    = XAL.gl_sl_link_table
         AND    XAH.ae_header_id        = XAL.ae_header_id
         AND    XAH.application_id      = XAL.application_id
         AND    XAH.event_id            = XE.event_id
         AND    XAL.ae_header_id        = XDL.ae_header_id
         AND    XAL.ae_line_num         = XDL.ae_line_num
         AND    XDL.source_distribution_id_num_1 = PDL.expenditure_item_id 
         AND    PDL.expenditure_item_id  = PEI.expenditure_item_id
         AND    PEI.expenditure_id       = PE.expenditure_id
         AND    PEI.task_id              = PT.task_id
         AND    PT.project_id            = PPA.project_id
         AND    FFV.flex_value_set_id    = FVS.flex_value_set_id(+)
         AND    GLCC.segment2            = FFV.flex_value(+) 
         AND UPPER (FVS.flex_value_set_name) = UPPER ('PLL_Project')
    --  AND    XAH.entity_id        = XTE.entity_id
    --  AND xte.application_id = 275
        AND    GJH.je_source               = 'Project Accounting'
        AND    GJH.je_category             = 'Miscellaneous Transaction'
        AND    GJH.status                  = 'P' 
        AND    GJH.default_effective_date >= lc_gl_date_from
        AND    GJH.default_effective_date <= lc_gl_date_to
        AND    TRUNC (GJH.posted_date) BETWEEN NVL (lc_gl_posted_from,TRUNC (GJH.posted_date))AND NVL (lc_gl_posted_to ,TRUNC (GJH.posted_date))
        AND    GJH.je_source               = NVL (p_gl_source, GJH.je_source)
        AND    GJH.je_category             = NVL (p_gl_category, GJH.je_category)
        --        AND    GLCC.concatenated_segments BETWEEN (p_account_from) AND (p_account_to)
        AND    GLCC.segment1 BETWEEN  lc_segment_from(1) AND  lc_segment_to(1)
        AND    GLCC.segment2 BETWEEN  lc_segment_from(2) AND  lc_segment_to(2)
        AND    GLCC.segment3 BETWEEN  lc_segment_from(3) AND  lc_segment_to(3)
        AND    GLCC.segment4 BETWEEN  lc_segment_from(4) AND  lc_segment_to(4)
        AND    GLCC.segment5 BETWEEN  lc_segment_from(5) AND  lc_segment_to(5)
        AND    GLCC.segment6 BETWEEN  lc_segment_from(6) AND  lc_segment_to(6)
        AND    GLCC.segment7 BETWEEN  lc_segment_from(7) AND  lc_segment_to(7)

        AND    NVL (FFV.attribute1, '-1')      = NVL (p_proj_vertical_dff, NVL (FFV.attribute1, '-1'))

Monday, October 17, 2016

Create Bulk GL Code Combinations Using API

DECLARE

CURSOR c1
   IS
   SELECT  a.rowid row_id,a.*
FROM    temp_gl_code a
WHERE   process_flag= 'N';
     
       
  l_segment1                 GL_CODE_COMBINATIONS.SEGMENT1%TYPE;
  l_segment2                 GL_CODE_COMBINATIONS.SEGMENT2%TYPE;
  l_segment3                 GL_CODE_COMBINATIONS.SEGMENT3%TYPE;
  l_segment4                 GL_CODE_COMBINATIONS.SEGMENT4%TYPE;
  l_segment5                 GL_CODE_COMBINATIONS.SEGMENT5%TYPE;
  l_segment6                 GL_CODE_COMBINATIONS.SEGMENT6%TYPE;
  l_valid_combination        BOOLEAN;
  l_cr_combination           BOOLEAN;
  l_ccid                     GL_CODE_COMBINATIONS_KFV.code_combination_id%TYPE;
  l_structure_num            FND_ID_FLEX_STRUCTURES.ID_FLEX_NUM%TYPE;
  l_conc_segs                GL_CODE_COMBINATIONS_KFV.CONCATENATED_SEGMENTS%TYPE;
  p_error_msg1               VARCHAR2(240);
  p_error_msg2               VARCHAR2(240);
  v_error_flag               BOOLEAN;
  v_error_msg                VARCHAR2(3000) :=NULL;
  v_count1                   NUMBER;
 v_count2                    NUMBER;
 v_row_count                 NUMBER := 0;
 v_req_message               VARCHAR2(3000);
 v_req_id                    NUMBER;
 v_req_status                BOOLEAN;
 v_rphase                    VARCHAR2(20);
 v_rstatus                   VARCHAR2(20);
 v_dphase                    VARCHAR2(20);
 v_dstatus                   VARCHAR2(20);
  -- ----------------------
--START OF VALIDATION
-- ----------------------
BEGIN
 
 FOR i in c1
 
   LOOP
     v_error_flag := FALSE;
     v_error_msg := NULL;
   
  l_segment1  := i.segment1;
  l_segment2  := i.segment2;
  l_segment3  := i.segment3;
  l_segment4  := i.segment4;
  l_segment5  := i.segment5;
  l_segment6  := i.segment6;
  l_conc_segs := l_segment1||'.'||l_segment2||'.'||l_segment3||'.'||l_segment4||'.'||l_segment5||'.'||l_segment6 ;
 
 

  BEGIN
    SELECT
    id_flex_num
      INTO l_structure_num
      FROM apps.fnd_id_flex_structures
     WHERE id_flex_code        = 'GL#'
       AND id_flex_structure_code='COVAD_ACCOUNTING_FLEXFIELD';
  EXCEPTION
  WHEN OTHERS THEN
    l_structure_num:=NULL;
  END;
 
  ---------------Check if CCID exits with the above Concatenated Segments---------------
  BEGIN
    SELECT code_combination_id
      INTO l_ccid
      FROM apps.gl_code_combinations_kfv
     WHERE concatenated_segments = l_conc_segs;
  EXCEPTION
  WHEN OTHERS THEN
    l_ccid         :=NULL;
  END;
   
    -- -------------------------------------------------------------------------------
-- UPDATING THE PROCESS FLAG FOR ERRORS IN temp_gl_code TABLE
-- -------------------------------------------------------------------------------
    IF l_ccid IS NOT NULL THEN
    ------------------------The CCID is Available----------------------
    --DBMS_OUTPUT.PUT_LINE('COMBINATION_ID= ' ||l_ccid);
    v_error_msg := v_error_msg ||'Combination already Exists '|| '; ' ;
   
        UPDATE  temp_gl_code
        SET process_flag                = 'E'
        ,errror_message                 = 'Validation Error:'||v_error_msg
        ,last_update_date               = SYSDATE
        WHERE rowid                     = i.row_id
        AND process_flag                = 'N' ;
COMMIT;
    ELSE
   
DBMS_OUTPUT.PUT_LINE('This is a New Combination. Validation Starts....');
    ------------Validate the New Combination--------------------------
    l_valid_combination := APPS.FND_FLEX_KEYVAL.VALIDATE_SEGS
                          (
                          operation => 'CHECK_COMBINATION',
                          appl_short_name => 'SQLGL',
                          key_flex_code => 'GL#',
                          structure_number => L_STRUCTURE_NUM,
                          concat_segments => L_CONC_SEGS
                          );
    p_error_msg1 := FND_FLEX_KEYVAL.ERROR_MESSAGE;
   
    BEGIN
        UPDATE  temp_gl_code
        SET process_flag                = 'E'
        ,errror_message                  = FND_FLEX_KEYVAL.ERROR_MESSAGE
        ,last_update_date               = SYSDATE
        WHERE rowid                     = i.row_id
        AND process_flag                = 'N' ;
COMMIT;
    END;

    IF l_valid_combination then

      DBMS_OUTPUT.PUT_LINE('Validation Successful! Creating the Combination...');
      -------------------Create the New CCID--------------------------

      L_CR_COMBINATION := APPS.FND_FLEX_KEYVAL.VALIDATE_SEGS
                          (
                          operation => 'CREATE_COMBINATION',
                          appl_short_name => 'SQLGL',
                          key_flex_code => 'GL#',
                          structure_number => L_STRUCTURE_NUM,
                          concat_segments => L_CONC_SEGS );
         
          p_error_msg2 := FND_FLEX_KEYVAL.ERROR_MESSAGE;
         
         
   IF l_cr_combination THEN
        -------------------Fetch the New CCID--------------------------
        SELECT code_combination_id
          INTO l_ccid
          FROM apps.gl_code_combinations_kfv
        WHERE concatenated_segments = l_conc_segs;
       
        UPDATE  temp_gl_code
        SET process_flag                = 'S'
        ,errror_message                  = 'Import Success='|| l_ccid
        ,last_update_date               = SYSDATE
        WHERE rowid                     = i.row_id
        AND process_flag                = 'E' ;
    COMMIT;
    ELSE
        -------------Error in creating a combination-----------------
        DBMS_OUTPUT.PUT_LINE('Error in creating the combination: '||p_error_msg2);
      END IF;
    ELSE
      --------The segments in the account string are not defined in gl value set----------
      DBMS_OUTPUT.PUT_LINE('Error in validating the combination: '||p_error_msg1);
    END IF;
  END IF;
  END LOOP;
EXCEPTION
WHEN OTHERS THEN
  DBMS_OUTPUT.PUT_LINE(SQLCODE||' '||SQLERRM);
END;

--- By--  Sivachandaran ---