facing issue as Cannot describe stored procedure arguments

facing issue as Cannot describe stored procedure arguments

Hi Team,
we are facing the same issue which is mentioned in below link, this is created around 2 years ago. Do not find any solution/fix provided. please help in understand the resiolution required.
For reference we are adding the Procedure for reference.
  1. FUNCTION sf_get_var_text(  as_translation_id    IN translation.translation_id%TYPE
  2.                             , atab_var             IN tab_var
  3.                             , as_language_code     IN translation.language_code%TYPE DEFAULT 'EN')
  4.    RETURN VARCHAR2
  5.    AS
  6.       ln_index             NUMBER(2);
  7.       ls_translation_text  translation.translation_text%TYPE;
  8.       ls_searchvar         VARCHAR2(2000);
  9.       ln_start             NUMBER;
  10.       ln_end               NUMBER;
  11.       ls_var_name VARCHAR2(2000);
  12.       ls_var VARCHAR2(2000);
  13.    BEGIN

  14.       ls_translation_text := sf_get_text(  as_translation_id, as_language_code);

  15.       FOR ln_index IN atab_var.FIRST..atab_var.LAST LOOP
  16.       ls_var := atab_var(ln_index);
  17.          ls_searchvar   := '{@'||LTRIM(TO_CHAR(ln_index, '00'));

  18.          ln_start := INSTR(ls_translation_text, ls_searchvar);
  19.          WHILE ln_start > 0 LOOP
  20.          ln_end    := INSTR(ls_translation_text, '}', ln_start);

  21.          IF ln_end > 0 THEN
  22.              ln_end := ln_end + 1;
  23.          END IF;

  24.          ls_searchvar := SUBSTR(ls_translation_text, ln_start, ln_end - ln_start);

  25.          --Check if the the must be found in ref_code_master
  26.          ln_start := INSTR(ls_searchvar, '[') + 1;
  27.     ln_end   := INSTR(ls_searchvar, ']', ln_start);

  28.     ls_var_name := SUBSTR(ls_searchvar, ln_start, ln_end - ln_start);
  29.     IF LENGTH(ls_var_name ) > 0 THEN
  30.     --Found so translate the given code
  31.     ls_var := sf_get_descr_from_table( ls_var_name, ls_var, as_language_code);
  32.     END IF;

  33.          ls_translation_text  := REPLACE(ls_translation_text, ls_searchvar,  ls_var);

  34.          ls_var := atab_var(ln_index);
  35.          ls_searchvar   := '{@'||LTRIM(TO_CHAR(ln_index, '00'));
  36.          ln_start := INSTR(ls_translation_text, ls_searchvar );
  37.          END LOOP;
  38.       END LOOP;

  39.       RETURN ls_translation_text;
  40.    END sf_get_var_text;
atab_var is a user defined type as below