1. Get rid of all advertisements and get unlimited access to documents by upgrading to Premium Membership. Upgrade to Premium Now and also get a Premium Badge!

Function to create gl code combination from backend

Discussion in 'Oracle Apps Technical' started by nilesh.dudhane, Jul 31, 2015.

  1. nilesh.dudhane

    nilesh.dudhane Active Member

    Messages:
    42
    Likes Received:
    2
    Trophy Points:
    135
    Location:
    India
    Code (SQL):
    CREATE OR REPLACE FUNCTION apps.xx_create_ccid (p_concat_segs VARCHAR2)
       RETURN VARCHAR2
    IS
       -- pragma autonomous_transaction; -- if you need autonomy!
       l_keyval_status   BOOLEAN;
       l_coa_id          NUMBER;
       l_sob             NUMBER;
    BEGIN
       l_sob := fnd_profile.VALUE ('GL_SET_OF_BKS_ID');

       BEGIN
          SELECT chart_of_accounts_id
            INTO l_coa_id
            FROM gl_sets_of_books
           WHERE set_of_books_id = l_sob;
       EXCEPTION
          WHEN NO_DATA_FOUND
          THEN
             DBMS_OUTPUT.put_line
                ('Chart of Accounts ID not found from profile option GL_SET_OF_BKS_ID'
                );
             DBMS_OUTPUT.put_line
                ('Try setting up your environment with fnd_global.apps_initialize');
             RAISE;
       END;

       -- keyval_mode can be one of CREATE_COMBINATION CHECK_COMBINATION FIND_COMBINATION
       -- create will only work if dynamic inserts on and cross validation rules not broken
       l_keyval_status :=
          fnd_flex_keyval.validate_segs ('CREATE_COMBINATION',
                                         'SQLGL',
                                         'GL#',
                                         l_coa_id,
                                         p_concat_segs,
                                         'V',
                                         SYSDATE,
                                         'ALL',
                                         NULL,
                                         NULL,
                                         NULL,
                                         NULL,
                                         FALSE,
                                         FALSE,
                                         NULL,
                                         NULL,
                                         NULL
                                        );

       IF l_keyval_status
       THEN
          RETURN 'S';
       ELSE
          RETURN 'F';
       END IF;
    END xx_create_ccid;
    /
     
    Sadik likes this.