Wednesday, April 1, 2026

webadi

How to Check WebADI Upload Progress in Oracle EBS 12.2
Understanding the Flow
When a user uploads via WebADI, it goes through these layers in order:
BNE_USER_SESSIONS → BNE_UPLOADED_DATA → BNE_UPLOADS → FND_CONCURRENT_REQUESTS → V$SESSION
1. Check If a WebADI Session Is Active
SELECT fus.user_session_id,
       fu.user_name,
       fus.creation_date,
       fus.last_update_date,
       fus.expired
FROM   bne_user_sessions fus,
       fnd_user fu
WHERE  fus.user_id       = fu.user_id
AND    fus.expired       = 'N'
AND    fus.creation_date > SYSDATE - 1/24
ORDER BY fus.creation_date DESC;
2. What File Was Uploaded and by Whom
SELECT buc.upload_id,
       fu.user_name,
       buc.integrator_code,
       buc.upload_file_name,
       buc.status,
       buc.creation_date,
       ROUND((SYSDATE - buc.creation_date)*24*60,2) elapsed_mins
FROM   bne_uploaded_data buc,
       fnd_user fu
WHERE  buc.user_id       = fu.user_id
AND    buc.creation_date > SYSDATE - 1/24
ORDER BY buc.creation_date DESC;
3. Row-Level Progress — How Many Rows Processed
SELECT bu.upload_id,
       fu.user_name,
       bu.integrator_code,
       bu.status,
       bu.num_rows                                       total_rows,
       bu.num_rows_processed                             processed,
       bu.num_rows_errored                               errored,
       bu.num_rows - bu.num_rows_processed               remaining,
       ROUND((bu.num_rows_processed /
              NULLIF(bu.num_rows,0))*100, 1)             pct_complete,
       bu.creation_date                                  started_at,
       bu.last_update_date                               last_activity,
       ROUND((SYSDATE - bu.creation_date)*24*60, 2)      elapsed_mins
FROM   bne_uploads bu,
       fnd_user fu
WHERE  bu.user_id       = fu.user_id
AND    bu.creation_date > SYSDATE - 2/24
AND    bu.status       IN ('U','P','I')
ORDER BY bu.creation_date DESC;
Status codes:
Code
Meaning
U
Upload in progress
P
Processing
I
Imported to interface table
S
Successfully completed
E
Errored
4. Concurrent Request Triggered by WebADI
SELECT fcr.request_id,
       fu.user_name,
       fcp.user_concurrent_program_name  program_name,
       fcr.phase_code,
       fcr.status_code,
       fcr.actual_start_date,
       ROUND((SYSDATE - fcr.actual_start_date)*24*60,2) running_mins
FROM   fnd_concurrent_requests    fcr,
       fnd_concurrent_programs_tl fcp,
       fnd_user fu
WHERE  fcr.concurrent_program_id = fcp.concurrent_program_id
AND    fcp.language               = 'US'
AND    fcr.requested_by           = fu.user_id
AND    fcr.phase_code             = 'R'
AND    fcr.actual_start_date     > SYSDATE - 1/24
AND   (fcp.user_concurrent_program_name LIKE '%Web ADI%'
    OR fcp.user_concurrent_program_name LIKE '%WEBADI%'
    OR fcr.argument_text               LIKE '%BNE%')
ORDER BY fcr.actual_start_date DESC;
5. What Is the DB Session Doing
SELECT s.sid,
       s.serial#,
       s.username,
       s.module,
       s.action,
       s.status,
       s.event,
       s.seconds_in_wait,
       sq.sql_text
FROM   v$session s,
       v$sql sq
WHERE  s.sql_id    = sq.sql_id(+)
AND    s.username IS NOT NULL
AND   (s.module  LIKE '%BNE%'
    OR s.program LIKE '%FNDWRR%'
    OR s.action  LIKE '%UPLOAD%')
AND    s.status   = 'ACTIVE'
ORDER BY s.logon_time DESC;
6. Check Upload Errors
SELECT bue.upload_id,
       bue.row_num,
       bue.error_code,
       bue.error_text,
       bue.creation_date
FROM   bne_upload_errors bue
WHERE  bue.upload_id IN (
         SELECT upload_id FROM bne_uploads
         WHERE  creation_date > SYSDATE - 2/24
       )
ORDER BY bue.creation_date DESC, bue.row_num;
Quick Reference
What you need
Query target
Session active?
BNE_USER_SESSIONS
File details
BNE_UPLOADED_DATA
Row progress / % complete
BNE_UPLOADS
Concurrent request
FND_CONCURRENT_REQUESTS
DB session / SQL running
VSESSION + VSQL
Error details
BNE_UPLOAD_ERRORS
Note: If status is stuck at I (Imported), the rows reached the interface table but the import program hasn't run — check concurrent manager capacity. If stuck at U or P with no LAST_UPDATE_DATE movement, check v$session for blocking events.

No comments:

Post a Comment