This discussion is archived
4 Replies Latest reply: Apr 5, 2013 2:26 PM by user302148 RSS

report call from forms and 1017

user302148 Newbie
Currently Being Moderated
Hi,
we have a web application and and it's first screen is the login screen where user can change their password or when grace time comes we force the user to change their password etc. Password changes successfully, no issue and user goes inside the application. But here is the problem. When user clicks the report after chagning the password then report doesn't work, can't connect to database and audit trail shows 1017 so obviously when they click 3 times their account gets locked because in profile it's set to 3 failed attempts. When user close the application and re login again and then click the report, it works fine. I'm suspecting the new changed password doesn't pass to the report? i would really appreciate for your help, suggestions, advise. how do i make sure that the new changed password should be passed to the report?. We're running against 11g database and sec_case_sensitive_logon is set to false.

Thanks
RM
  • 1. Re: report call from forms and 1017
    InoL Guru
    Currently Being Moderated
    What is your Forms/Reports version and how do you call the report?
    When user close the application and re login again and then click the report, it works fine.
    That's why you often see a message after changing the password: please close the application an re-login. Forms and Reports use different sessions. Changing the the password in one session can make the other session invalid when not closed and re-opened.
  • 2. Re: report call from forms and 1017
    user302148 Newbie
    Currently Being Moderated
    Thank you for replying.

    Forms and Report Version:

    Forms [32 Bit] Version 10.1.2.3.0 (Production)

    Report Builder 10.1.2.3.0
    ORACLE Server Release 10.1.0.5.0

    We have a common procedure in the forms Obj Libarary which is called from WHEN-BUTTON-PRESSED trigger.

    Here is the common procedure:
    PROCEDURE EP_RUN_REPORT
                             (     as_in_rep_name      IN     VARCHAR2,
                                  as_in_plist               IN     PARAMLIST,
                                  ab_in_printer          IN     VARCHAR2     DEFAULT NULL
                             ) 
                             
    IS
     
         ls_rep_id           REPORT_OBJECT;
         ls_job_id               VARCHAR2(300);
         ls_status           VARCHAR2(20); 
         ls_url                    VARCHAR2(120);
         ls_rep_server     VARCHAR2(100);
    
    BEGIN
                                                                     
         TOOL_ENV.GETVAR( 'REP_SERVER' ,ls_rep_server );
    
         IF ls_rep_server IS NULL THEN
      
           pkg_alert.ep_alert('E','ERROR GETTING ENVIRONMENT VARIABLE');
           RAISE FORM_TRIGGER_FAILURE;
         
         END IF;
         
         ls_rep_id := FIND_REPORT_OBJECT (as_in_rep_name);
    
         IF ab_in_printer     IS NULL THEN
              
              SET_REPORT_OBJECT_PROPERTY(ls_rep_id, REPORT_DESTYPE, CACHE ); 
              SET_REPORT_OBJECT_PROPERTY(ls_rep_id, REPORT_DESFORMAT, 'PDF');     
         ELSE
              
              SET_REPORT_OBJECT_PROPERTY(ls_rep_id, REPORT_DESTYPE, PRINTER ); 
              SET_REPORT_OBJECT_PROPERTY(ls_rep_id, REPORT_DESNAME, ab_in_printer);
              
         END IF;
         
         
         SET_REPORT_OBJECT_PROPERTY(ls_rep_id, REPORT_SERVER,  ls_rep_server );       
         SET_REPORT_OBJECT_PROPERTY(ls_rep_id, REPORT_OTHER, 'PARAMFORM=NO'); 
         
         ls_job_id := RUN_REPORT_OBJECT (ls_rep_id, as_in_plist);     
    
         ls_status := REPORT_OBJECT_STATUS(ls_job_id); 
         
         WHILE ls_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
         LOOP
               
              ls_status := REPORT_OBJECT_STATUS     (ls_job_id); 
              
         END LOOP; 
    
         IF ls_status = 'FINISHED' THEN
    
              IF ab_in_printer     IS NULL THEN
    
                   TOOL_ENV.GETVAR('URL',ls_url);
         
                   IF ls_url IS NULL THEN
                
                     pkg_alert.ep_alert('E','ERROR GETTING ENVIRONMENT VARIABLE');
                     RAISE FORM_TRIGGER_FAILURE;
                   
                   END IF;
    
                   WEB.SHOW_DOCUMENT(     ls_url ||
                                                                     'reports/rwservlet/getjobid'||
                                                                     SUBSTR(ls_job_id, INSTR(ls_job_id,'_',-1)+1)||
                                                                     '?'||'server='||ls_rep_server,
                                                                     '_blank'); 
                   ELSE
                        NULL;
                   END IF;
                   
         ELSE     
              
           pkg_alert.ep_alert('E','ERROR WHILE GENERATING REPORT');
           RAISE FORM_TRIGGER_FAILURE;
              
         END IF;
         
    END;
    Is there any other option beside giving the message?

    thanks again.
    RM
  • 3. Re: report call from forms and 1017
    Andreas Weiden Guru
    Currently Being Moderated
    I guess the problem is forms stores the password on the connect. Try to do an LOGOFF; and LOGON after changing the password.
  • 4. Re: report call from forms and 1017
    user302148 Newbie
    Currently Being Moderated
    Thanks I'll try it.

    Just wondering how form passes the userid/password info to report? report opens in the separate session. Does it happen at the forms/report config level?

    Thanks
    RM

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points