Custom report getting looped in PBSDE.DEBUG_LOOP

We have developed an oracle report, using report builder and are running it from the report builder. This report is taking a very long time to complete.
On checking the session details and sql text, it is looping in the following statement,
PBSDE.DEBUG_LOOP
But, we have not enabled any debug. Kindly advice on why is this package executed automatically.

this is a standard packagea standard package of what software ? Its none of the standard oracle-db-packages.
For the usage. I guess you already searched the report itself? Other possibilities would be inside procedure/functions called from the report-triggers or procedure/functions called inside the queries or views in the report.
You could check DBA_DEPENDENCIES for usages of your package.

Similar Messages

  • Custom report instead of standard standard report "EAMWRREP" from OAF

    Hi All,
    I have a requirement to fire a custom report instead of standard standard report "EAMWRREP" from OAF.
    Screen -> EAM Self Service Maintenance -> Work Orders -> Search Work Orders -> Print Work Order
    Standard page ->WorkOrderRepPG 120.2
    Standard Controller -> WorkOrderRepCO
    I have extended the standard controller to override the call
    as shown below :
    Standard WorkOrderRepCO :
    oapagecontext.putParameter("p_DataSourceCode", "EAMWRREP");
    oapagecontext.putParameter("p_DataSourceAppsShortName", "EAM");
    Extended :WorkOrderTestCO
    oapagecontext.putParameter("p_DataSourceCode", "USS_EAM_WO_OAF");
    oapagecontext.putParameter("p_DataSourceAppsShortName", "XP2P");
    The custom report gets fired with header and footer but with NO DATA.
    The custom report is a simple RDF+XML report (RDF data model + XML template)
    with just query SELECT wip_entity_name from wip_entities where wip_entity_id = : WipEntityId
    Can some one please let me know how to pass parameters to a report likne mine??
    Regards,
    Ambika Ramachandran

    Try the OA Framework Forum

  • Custom Report Item CustomData evaluation problem in a subreport loop

    Came across a strange problem with the custom report item CustomData property evaluation when using a sub report loop.
    I have a master report, which contains a sub report component within a List. The List is bound to a dataset from which a numeric value is passed on to a sub report's report parameter, and from there further down as an argument to a sub report dataset. The sub
    report contains our custom image CRI, which is bound to the said dataset. This dataset outputs a base64 encoded image data value, which the CRI then renders.
    Now the problem is that only the first sub report iteration gets evaluated correctly, rest of them seem to get their CRI CustomData from the first iteration. So essentially the loop just outputs the same first sub report over and over again.
    However, if I make the List component do a page break after each sub report, then all the sub reports start getting rendered correctly. 
    Here's how the CustomData gets initialized in the CRI designer class:
    this.CustomData = new CustomData();
    this.CustomData.DataRowHierarchy = newDataHierarchy();
    this.CustomData.DataRowHierarchy.DataMembers.Add(newDataMember());
    this.CustomData.DataRowHierarchy.DataMembers[0].Group = newGroup();
    this.CustomData.DataRowHierarchy.DataMembers[0].Group.Name = this.Name + "_SingleGrouping";
    this.CustomData.DataRowHierarchy.DataMembers[0].Group.GroupExpressions.Add(new ReportExpression());
    this.CustomData.DataColumnHierarchy = new DataHierarchy();
    this.CustomData.DataColumnHierarchy.DataMembers.Add(new DataMember());
    DataRow row = new DataRow();
    DataValue value = new DataValue();
    value.Name = "Base64";
    value.Value = ""; 
    DataCell cell = new DataCell();
    cell.Add(value);
    row.Add(cell);
    this.CustomData.DataRows.Add(row);
    The CRI also exposes the CustomData's DataSetName and a Base64 property.
    Has anyone else seen something like this happen? Not sure if this could be an issue with our CustomData configuration/usage, the API documentation is pretty much non-existent as usual. Seems more like bug to
    me.
    Leo Wartinen, Predisys Inc.

    Hi WarLe,
    If I understand correctly, you are using a list control to contain the subreport in the master report. The dataset of the list contains the field which is passed as the parameter values of the subreport. When you render the report, only the first subreport
    gets evaluated correctly, rest of them seem to get their CRI CustomData from the first iteration, right?
    If in this scenario, it seems that you haven’t add a group in the list. We can try to add a group grouped on the field which is passed as the parameter values of the subreport to check the issue again. Besides, could you mind post the sample data for the
    dataset of the list and tell us the settings for the list control? Then we can make further analysis.
    If there are any misunderstanding, please elaborate the issue for further investigation.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Custom report to get MD04 but for n materials

    Dear All...
    Do you know if already exist a report that show same information than the MD04?
    Is needed to put several material numbers and get the MD04 information to can do sorts, filters, download to excel.
    Is like the MDLD transaction but instead to print it, have the ability to save it in a excel file.
    The Idea is to have a customized report that can be run by 1 or more materials and show like a "photo" on how is MD04 now.
    Have you a case like this?
    How I can create that report?
    Any idea?

    BAPI_MATERIAL_STOCK_REQ_LIST gives you all data of MD04.
    MD_STOCK_REQUIREMENTS_LIST_API is a FM that is called inside BAPI_MATERIAL_STOCK_REQ_LIST and returns only details of a element (when you click magnifying glass icon in MD04).
    You should test both FMs in SE37 transaction providing it a material and a plant(optional), and check what import data you need.
    CALL FUNCTION 'MD_STOCK_REQUIREMENTS_LIST_API'
            EXPORTING
              MATNR                          = p_matnr
              WERKS                          = p_werks
            IMPORTING
              E_MT61D                        = wa_mt61d
            E_MDKP                         =
            E_CM61M                        =
              E_MDSTA                        = wa_mdsta
            E_ERGBZ                        =
          TABLES
            MDPSX                          =
            MDEZX                          =
            MDSUX                          =
            EXCEPTIONS
              MATERIAL_PLANT_NOT_FOUND       = 1
              PLANT_NOT_FOUND                = 2
              OTHERS                         = 3.
    This is a little example of the FM call.
    Note that function modules only receive a single material, so in your report you must call the function as many times as materials you have and store return items in internal tables before you display them.

  • Consistently getting an error in custom reports "an error occurred" is the only msg displayed...my c

    Consistently getting an error in custom reports "an error occurred" is the only msg displayed...my clients are screaming...what is the problem?

    Hi,
    Please log a ticket with BC support for this issue. Please provide the exact steps, preferably a video. You can log the ticket from your admin panel > help & support.
    Kind Regards,
    Aish

  • In custom report, is it possible to get value of field only? No style info?

    I need to build the following string in the results of a custom report:
    http://my.domain.org/myapp?A1=<#ORACLE.FIELD#>
    but when I run my report as a portlet, I get this instead, which leads to a "Page not Found" -
    http://my.domain.org/myapp?A1=<FONT CLASS=PortletText1><STYLEINFO PortletText1>ORACLE FIELD VALUE</STYLEINFO>
    When running my custom report as a portlet, is there a way to get the value of the field only, without the style info?
    Thanks for an help offered....
    Message was edited by:
    I_LOVE_PORTAL
    Message was edited by:
    I_LOVE_PORTAL

    Hi
    Feild status at entry time looks for the following combination
    S- Supressed
    D- Display
    R- Required
    O- Optional
    System looks for this above combination at first in Posting Key and then in FSV of account which we enter. For this partical purpose the the feilds in posting key are kept optional.
    Check the feild status of posting key & account T-code FBKP.
    thanks
    Colin Thomas

  • Weu0092d like to get Custom reports. The base of reports is Security Audit Log

    We’d like to get Custom reports. The base of reports is Security Audit Log files. This is files for SM20.
    What does the file structure look like? What is field of it?
    Thanks!

    Hello Marina
    The data written to the security audit log correspond to the DDIC structures RSLGENTR (up to release 4.6) and RSAUENTR2 (in newer releases). DDIC structures can be viewed using TA SE11 (data type).
    As I can see you have already opened a thread regarding this. Please don't duplicate the threads, as this only widespreads the information.
    Regards,
    Désiré

  • Get Screen Resolution from Custom Reports

    I was wondering if it was possible to get the screen resolution of a workstation from the Custom Reports in ZCC ??
    Seb

    Originally Posted by sebastien
    I was wondering if it was possible to get the screen resolution of a workstation from the Custom Reports in ZCC ??
    Seb
    Hi Seb
    I'm out of the network so I can't double check this but I don't think Zen captures that information. If my memory serves it captures some PNP info from the screen like the manufacturer and product ID's.
    It looks like you could pull the data from the registry.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardwa re Profiles\UnitedVideo\CONTROL\VIDEO\{EE167610-A476-4BE2-9CD6-C24D55DFF3B9}\0000
    I think the challenge will be that this key will vary from system to system. And if you have multiple monitor setups you would want to collect both sets of data.
    One way you could do this would be to deploy a bundle containing a small easily available executable called DumpEDID.exe (google it) This little command line utility does exactly what it says on the box. It reads the EDID data from the display and dumps the data back to the command shell.
    Then all you need to do is to run a script to retrieve this output and load it into a custom made registry key. From there you can then pull the registry data into Zen and even create an ADF field for the info.
    Hope this helps

  • Custom Report taking more time to complete Normat

    Hi All,
    Custom report(Aging Report) in oracle is taking more time to complete Normal.
    In one instance, the same report is taking 5 min and the other instance this is taking 40-50 min to complete.
    We have enabled the trace and checked the trace file, but all the queries are working fine.
    Could you please suggest me regarding this issue.
    Thanks in advance!!

    TKPROF: Release 10.1.0.5.0 - Production on Tue Jun 5 10:49:32 2012
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Sort options: prsela exeela fchela
    count = number of times OCI procedure was executed
    cpu = cpu time in seconds executing
    elapsed = elapsed time in seconds executing
    disk = number of physical reads of buffers from disk
    query = number of buffers gotten for consistent read
    current = number of buffers gotten in current mode (usually for update)
    rows = number of rows processed by the fetch or execute call
    Error in CREATE TABLE of EXPLAIN PLAN table: APPS.prof$plan_table
    ORA-00922: missing or invalid option
    parse error offset: 1049
    EXPLAIN PLAN option disabled.
    SELECT DISTINCT OU.ORGANIZATION_ID , OU.BUSINESS_GROUP_ID
    FROM
    HR_OPERATING_UNITS OU WHERE OU.SET_OF_BOOKS_ID =:B1
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 0.00 0.00 0 0 0 0
    Fetch 1 0.00 0.05 11 22 0 3
    total 3 0.00 0.05 11 22 0 3
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 173 (recursive depth: 1)
    Rows Row Source Operation
    3 HASH UNIQUE (cr=22 pr=11 pw=0 time=52023 us cost=10 size=66 card=1)
    3 NESTED LOOPS (cr=22 pr=11 pw=0 time=61722 us)
    3 NESTED LOOPS (cr=20 pr=11 pw=0 time=61672 us cost=9 size=66 card=1)
    3 NESTED LOOPS (cr=18 pr=11 pw=0 time=61591 us cost=7 size=37 card=1)
    3 NESTED LOOPS (cr=16 pr=11 pw=0 time=61531 us cost=7 size=30 card=1)
    3 TABLE ACCESS BY INDEX ROWID HR_ORGANIZATION_INFORMATION (cr=11 pr=9 pw=0 time=37751 us cost=6 size=22 card=1)
    18 INDEX RANGE SCAN HR_ORGANIZATION_INFORMATIO_FK1 (cr=1 pr=1 pw=0 time=17135 us cost=1 size=0 card=18)(object id 43610)
    3 TABLE ACCESS BY INDEX ROWID HR_ALL_ORGANIZATION_UNITS (cr=5 pr=2 pw=0 time=18820 us cost=1 size=8 card=1)
    3 INDEX UNIQUE SCAN HR_ORGANIZATION_UNITS_PK (cr=2 pr=0 pw=0 time=26 us cost=0 size=0 card=1)(object id 43657)
    3 INDEX UNIQUE SCAN HR_ALL_ORGANIZATION_UNTS_TL_PK (cr=2 pr=0 pw=0 time=32 us cost=0 size=7 card=1)(object id 44020)
    3 INDEX RANGE SCAN HR_ORGANIZATION_INFORMATIO_FK2 (cr=2 pr=0 pw=0 time=52 us cost=1 size=0 card=1)(object id 330960)
    3 TABLE ACCESS BY INDEX ROWID HR_ORGANIZATION_INFORMATION (cr=2 pr=0 pw=0 time=26 us cost=2 size=29 card=1)
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    db file sequential read 11 0.01 0.05
    asynch descriptor resize 2 0.00 0.00
    INSERT INTO FND_LOG_MESSAGES ( ECID_ID, ECID_SEQ, CALLSTACK, ERRORSTACK,
    MODULE, LOG_LEVEL, MESSAGE_TEXT, SESSION_ID, USER_ID, TIMESTAMP,
    LOG_SEQUENCE, ENCODED, NODE, NODE_IP_ADDRESS, PROCESS_ID, JVM_ID, THREAD_ID,
    AUDSID, DB_INSTANCE, TRANSACTION_CONTEXT_ID )
    VALUES
    ( SYS_CONTEXT('USERENV', 'ECID_ID'), SYS_CONTEXT('USERENV', 'ECID_SEQ'),
    :B16 , :B15 , SUBSTRB(:B14 ,1,255), :B13 , SUBSTRB(:B12 , 1, 4000), :B11 ,
    NVL(:B10 , -1), SYSDATE, FND_LOG_MESSAGES_S.NEXTVAL, :B9 , SUBSTRB(:B8 ,1,
    60), SUBSTRB(:B7 ,1,30), SUBSTRB(:B6 ,1,120), SUBSTRB(:B5 ,1,120),
    SUBSTRB(:B4 ,1,120), :B3 , :B2 , :B1 ) RETURNING LOG_SEQUENCE INTO :O0
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 20 0.00 0.03 4 1 304 20
    Fetch 0 0.00 0.00 0 0 0 0
    total 21 0.00 0.03 4 1 304 20
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 173 (recursive depth: 1)
    Rows Row Source Operation
    1 LOAD TABLE CONVENTIONAL (cr=1 pr=4 pw=0 time=36498 us)
    1 SEQUENCE FND_LOG_MESSAGES_S (cr=0 pr=0 pw=0 time=24 us)
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    db file sequential read 4 0.01 0.03
    SELECT MESSAGE_TEXT, MESSAGE_NUMBER, TYPE, FND_LOG_SEVERITY, CATEGORY,
    SEVERITY
    FROM
    FND_NEW_MESSAGES M, FND_APPLICATION A WHERE :B3 = M.MESSAGE_NAME AND :B2 =
    M.LANGUAGE_CODE AND :B1 = A.APPLICATION_SHORT_NAME AND M.APPLICATION_ID =
    A.APPLICATION_ID
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 2 0.00 0.00 0 0 0 0
    Fetch 2 0.00 0.03 4 12 0 2
    total 5 0.00 0.03 4 12 0 2
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 173 (recursive depth: 1)
    Rows Row Source Operation
    1 NESTED LOOPS (cr=6 pr=2 pw=0 time=15724 us cost=3 size=134 card=1)
    1 TABLE ACCESS BY INDEX ROWID FND_APPLICATION (cr=2 pr=0 pw=0 time=20 us cost=1 size=9 card=1)
    1 INDEX UNIQUE SCAN FND_APPLICATION_U3 (cr=1 pr=0 pw=0 time=9 us cost=0 size=0 card=1)(object id 33993)
    1 TABLE ACCESS BY INDEX ROWID FND_NEW_MESSAGES (cr=4 pr=2 pw=0 time=15693 us cost=2 size=125 card=1)
    1 INDEX UNIQUE SCAN FND_NEW_MESSAGES_PK (cr=3 pr=1 pw=0 time=6386 us cost=1 size=0 card=1)(object id 34367)
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    db file sequential read 4 0.00 0.03
    DELETE FROM MO_GLOB_ORG_ACCESS_TMP
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 0.00 0.02 3 4 4 1
    Fetch 0 0.00 0.00 0 0 0 0
    total 2 0.00 0.02 3 4 4 1
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 173 (recursive depth: 1)
    Rows Row Source Operation
    0 DELETE MO_GLOB_ORG_ACCESS_TMP (cr=4 pr=3 pw=0 time=29161 us)
    1 TABLE ACCESS FULL MO_GLOB_ORG_ACCESS_TMP (cr=3 pr=2 pw=0 time=18165 us cost=2 size=13 card=1)
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    db file sequential read 3 0.01 0.02
    SET TRANSACTION READ ONLY
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 0.00 0.01 0 0 0 0
    Fetch 0 0.00 0.00 0 0 0 0
    total 2 0.00 0.01 0 0 0 0
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 173
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    SQL*Net message to client 1 0.00 0.00
    SQL*Net message from client 1 0.00 0.00
    begin Fnd_Concurrent.Init_Request; end;
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 0.00 0.00 0 148 0 1
    Fetch 0 0.00 0.00 0 0 0 0
    total 2 0.00 0.00 0 148 0 1
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 173
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    log file sync 1 0.01 0.01
    SQL*Net message to client 1 0.00 0.00
    SQL*Net message from client 1 0.00 0.00
    declare X0rv BOOLEAN; begin X0rv := FND_INSTALLATION.GET(:APPL_ID,
    :DEP_APPL_ID, :STATUS, :INDUSTRY); :X0 := sys.diutil.bool_to_int(X0rv);
    end;
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 0.00 0.00 0 9 0 1
    Fetch 0 0.00 0.00 0 0 0 0
    total 2 0.00 0.00 0 9 0 1
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 173
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    SQL*Net message to client 8 0.00 0.00
    SQL*Net message from client 8 0.00 0.00
    begin fnd_global.bless_next_init('FND_PERMIT_0000');
    fnd_global.initialize(:session_id, :user_id, :resp_id, :resp_appl_id,
    :security_group_id, :site_id, :login_id, :conc_login_id, :prog_appl_id,
    :conc_program_id, :conc_request_id, :conc_priority_request, :form_id,
    :form_application_id, :conc_process_id, :conc_queue_id, :queue_appl_id,
    :server_id); fnd_profile.put('ORG_ID', :org_id);
    fnd_profile.put('MFG_ORGANIZATION_ID', :mfg_org_id);
    fnd_profile.put('MFG_CHART_OF_ACCOUNTS_ID', :coa);
    fnd_profile.put('APPS_MAINTENANCE_MODE', :amm); end;
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 0.00 0.00 0 8 0 1
    Fetch 0 0.00 0.00 0 0 0 0
    total 2 0.00 0.00 0 8 0 1
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 173
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    SQL*Net message to client 1 0.00 0.00
    SQL*Net message from client 1 0.00 0.00
    SELECT FPI.STATUS, FPI.INDUSTRY, FPI.PRODUCT_VERSION, FOU.ORACLE_USERNAME,
    FPI.TABLESPACE, FPI.INDEX_TABLESPACE, FPI.TEMPORARY_TABLESPACE,
    FPI.SIZING_FACTOR
    FROM
    FND_PRODUCT_INSTALLATIONS FPI, FND_ORACLE_USERID FOU, FND_APPLICATION FA
    WHERE FPI.APPLICATION_ID = FA.APPLICATION_ID AND FPI.ORACLE_ID =
    FOU.ORACLE_ID AND FA.APPLICATION_SHORT_NAME = :B1
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 0.00 0.00 0 0 0 0
    Fetch 2 0.00 0.00 0 7 0 1
    total 4 0.00 0.00 0 7 0 1
    Misses in library cache during parse: 1
    Misses in library cache during execute: 1
    Optimizer mode: ALL_ROWS
    Parsing user id: 173 (recursive depth: 1)
    Rows Row Source Operation
    1 NESTED LOOPS (cr=7 pr=0 pw=0 time=89 us)
    1 NESTED LOOPS (cr=6 pr=0 pw=0 time=93 us cost=4 size=76 card=1)
    1 NESTED LOOPS (cr=5 pr=0 pw=0 time=77 us cost=3 size=67 card=1)
    1 TABLE ACCESS BY INDEX ROWID FND_APPLICATION (cr=2 pr=0 pw=0 time=19 us cost=1 size=9 card=1)
    1 INDEX UNIQUE SCAN FND_APPLICATION_U3 (cr=1 pr=0 pw=0 time=9 us cost=0 size=0 card=1)(object id 33993)
    1 TABLE ACCESS BY INDEX ROWID FND_PRODUCT_INSTALLATIONS (cr=3 pr=0 pw=0 time=51 us cost=2 size=58 card=1)
    1 INDEX RANGE SCAN FND_PRODUCT_INSTALLATIONS_PK (cr=2 pr=0 pw=0 time=27 us cost=1 size=0 card=1)(object id 22583)
    1 INDEX UNIQUE SCAN FND_ORACLE_USERID_U1 (cr=1 pr=0 pw=0 time=7 us cost=0 size=0 card=1)(object id 22597)
    1 TABLE ACCESS BY INDEX ROWID FND_ORACLE_USERID (cr=1 pr=0 pw=0 time=7 us cost=1 size=9 card=1)
    SELECT P.PID, P.SPID, AUDSID, PROCESS, SUBSTR(USERENV('LANGUAGE'), INSTR(
    USERENV('LANGUAGE'), '.') + 1)
    FROM
    V$SESSION S, V$PROCESS P WHERE P.ADDR = S.PADDR AND S.AUDSID =
    USERENV('SESSIONID')
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 0.00 0.00 0 0 0 0
    Fetch 1 0.00 0.00 0 0 0 1
    total 3 0.00 0.00 0 0 0 1
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 173 (recursive depth: 1)
    Rows Row Source Operation
    1 NESTED LOOPS (cr=0 pr=0 pw=0 time=1883 us cost=1 size=108 card=2)
    1 HASH JOIN (cr=0 pr=0 pw=0 time=1869 us cost=1 size=100 card=2)
    1 NESTED LOOPS (cr=0 pr=0 pw=0 time=1059 us cost=0 size=58 card=2)
    182 FIXED TABLE FULL X$KSLWT (cr=0 pr=0 pw=0 time=285 us cost=0 size=1288 card=161)
    1 FIXED TABLE FIXED INDEX X$KSUSE (ind:1) (cr=0 pr=0 pw=0 time=617 us cost=0 size=21 card=1)
    181 FIXED TABLE FULL X$KSUPR (cr=0 pr=0 pw=0 time=187 us cost=0 size=10500 card=500)
    1 FIXED TABLE FIXED INDEX X$KSLED (ind:2) (cr=0 pr=0 pw=0 time=4 us cost=0 size=4 card=1)
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    asynch descriptor resize 2 0.00 0.00
    OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
    call count cpu elapsed disk query current rows
    Parse 6 0.00 0.00 0 0 0 0
    Execute 6 0.01 0.02 0 165 0 4
    Fetch 1 0.00 0.00 0 0 0 1
    total 13 0.01 0.02 0 165 0 5
    Misses in library cache during parse: 0
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    SQL*Net message to client 37 0.00 0.00
    SQL*Net message from client 37 1.21 2.19
    log file sync 1 0.01 0.01
    OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS
    call count cpu elapsed disk query current rows
    Parse 49 0.00 0.00 0 0 0 0
    Execute 89 0.01 0.07 7 38 336 24
    Fetch 29 0.00 0.09 15 168 0 27
    total 167 0.02 0.16 22 206 336 51
    Misses in library cache during parse: 3
    Misses in library cache during execute: 1
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    asynch descriptor resize 6 0.00 0.00
    db file sequential read 22 0.01 0.14
    48 user SQL statements in session.
    1 internal SQL statements in session.
    49 SQL statements in session.
    0 statements EXPLAINed in this session.
    Trace file compatibility: 10.01.00
    Sort options: prsela exeela fchela
    1 session in tracefile.
    48 user SQL statements in trace file.
    1 internal SQL statements in trace file.
    49 SQL statements in trace file.
    48 unique SQL statements in trace file.
    928 lines in trace file.
    1338833753 elapsed seconds in trace file.

  • How to Created custom report for Ship not Billed (SD/FI)?

    Hi all,
    I am anticipating  to write some abap reports..Here is one of them..
    Anyone can help  me with writing a Report , how to do 'Custom Report for shipped not Billed(SD/FI)' ..But since I am new to Abap , if you wish to reply, please use a little more detail and simple explanation, step by step so I can understand what is the idea, how it can be acheived...what kind of report should be used , techniques, tables etc...:)
    Appreciate your help!
    Regards,
    Boby

    Hi Boby,
    You need to create custom transaction to achive these results.
    you will have selection-screen ,it would be :
    Date : Here date would be mandatory  - Ranges Option
    Customer  - Optional field - Ranges
    Order #  Sales Order (Optional) Ranges
    Invoice #  - Invoice # (Optional) Ranges
    You will get the data based on ur selection-screen criteria ...
    First you will have customer order details from diffrent table
    VBAK,
    VBAP,
    LIKP
    LIPS
    VBRK,
    VBRP
    KNA1,
    VBFA Tables ( See the my sample program )
    Output would be :
    Customer #   Custome Name    Order #   Delivery #   Invoice #   Netpr, Netquantity ,
    Check the condition  whether invoice table has VBRK-RFBSK  = ''.
    See the my sample program : This is sales report by monthly..
    REPORT ZFDSALES_REPORT no standard page heading
                           message-id zwave.
    Data Declaration Part
    TYPE-POOLS
    type-pools : slis.
    Tables
    tables : VBAK,
             VBAP.
    Internal table for VBAK Table
    data : begin of i_vbak occurs 0,
           vbeln like vbak-vbeln,
           bstnk like vbak-bstnk,
           vdatu like vbak-vdatu,
           end of i_vbak.
    Internal table for VBAP and MATNR
    data : begin of i_vbap occurs 0,
           vbeln like vbap-vbeln,
           matnr like vbap-matnr,
           kdmat like vbap-kdmat,
           kwmeng like vbap-kwmeng,
           netpr like vbap-netpr,
           maktx like makt-maktx,
           end of i_vbap.
    Internal tables
    data : begin of i_sales occurs 0,
           vdatu like vbak-vdatu,
           bstnk like vbak-bstnk,
           matnr like vbap-matnr,
           maktx like makt-maktx,
           kdmat like vbap-kdmat,
           kwmeng like vbap-kwmeng,
           netpr  like vbap-netpr,
           end of i_sales.
    Variable for ALV
    data : v_repid like sy-repid,
           gt_fieldcat    type slis_t_fieldcat_alv.
    Selection-screen
    selection-screen : begin of block blk with frame title text-001.
    select-options : s_vbeln for vbak-vbeln,
                     s_erdat for vbak-erdat,
                     s_ernam for vbak-ernam,
                     s_vdatu for vbak-vdatu obligatory,
                     s_BSTNK for vbak-BSTNK,
                     s_KUNNR for vbak-kunnr,
                     s_matnr for vbap-matnr,
                     s_KDMAT for vbap-KDMAT.
    selection-screen : end of block blk.
    Initilization
    initialization.
      v_repid = sy-repid.
    S T A R T  -  O F  -  S E L E C T I O N ****************
    start-of-selection.
    Get the data from VBAK and VBAP Tables
      perform get_vbak_vbap.
    E N D  -  O F  -  S E L E C T I O N *****************
    end-of-selection.
    Display the data
      perform dispolay_data.
    *&      Form  get_vbak_vbap
          Get the data from VBAK and VBAP Table
    FORM get_vbak_vbap.
    Get the data from VBAK Table
      select vbeln bstnk vdatu from vbak into table i_vbak
                         where vbeln in s_vbeln
                         and   bstnk in s_bstnk
                         and   vdatu in s_vdatu
                         and   kunnr in s_kunnr
                         and   erdat in s_erdat
                         and   ernam in s_ernam.
      if sy-subrc ne 0.
        message e000(zwave) with 'No data found for given selection'.
      endif.
    Get the data from VBAP Table
      select avbeln amatnr akdmat akwmeng a~netpr
             b~maktx into table i_vbap
             from vbap as a inner join makt as b on bmatnr = amatnr
             for all entries in i_vbak
             where a~vbeln in s_vbeln
             and   a~kdmat in s_kdmat
             and   a~abgru = space
             and   a~matnr in s_matnr
             and   a~matnr ne '000000000000009999'
             and   a~matnr ne '000000000000004444'
             and   a~matnr ne '000000000000008888'
             and   a~matnr ne '000000000000001111'
             and   a~werks = '1000'
             and   b~spras = 'E'
             and   a~vbeln = i_vbak-vbeln.
      if sy-subrc ne 0.
        message e000(zwave) with 'No data found for given selection'.
      endif.
      sort i_vbak by vbeln.
      sort i_vbap by vbeln matnr.
      loop at i_vbap.
        read table i_vbak with key vbeln = i_vbap-vbeln
                                binary search.
        if sy-subrc eq 0.
          i_sales-bstnk = i_vbak-bstnk.
          i_sales-vdatu = i_vbak-vdatu.
          i_sales-matnr = i_vbap-matnr.
          i_sales-kdmat = i_vbap-kdmat.
          i_sales-maktx = i_vbap-maktx.
          i_sales-netpr = i_vbap-netpr.
          i_sales-kwmeng = i_vbap-kwmeng.
          append i_sales.
        else.
          continue.
        endif.
        clear : i_sales,
                i_vbap,
                i_vbak.
      endloop.
      sort i_sales by vdatu bstnk matnr.
      refresh : i_vbap,
                i_vbak.
    ENDFORM.                    " get_vbak_vbap
    *&      Form  dispolay_data
          Display the data
    FORM dispolay_data.
    Fill the Fiedlcat
      PERFORM fieldcat_init  using gt_fieldcat[].
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                =
      I_BUFFER_ACTIVE                   = ' '
          I_CALLBACK_PROGRAM                = v_repid
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
      I_CALLBACK_TOP_OF_PAGE            = ' '
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
          IT_FIELDCAT                       = gt_fieldcat[]
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =
      IT_EVENTS                         =
      IT_EVENT_EXIT                     =
      IS_PRINT                          =
      IS_REPREP_ID                      =
      I_SCREEN_START_COLUMN             = 0
      I_SCREEN_START_LINE               = 0
      I_SCREEN_END_COLUMN               = 0
      I_SCREEN_END_LINE                 = 0
      IT_ALV_GRAPHICS                   =
      IT_ADD_FIELDCAT                   =
      IT_HYPERLINK                      =
      I_HTML_HEIGHT_TOP                 =
      I_HTML_HEIGHT_END                 =
      IT_EXCEPT_QINFO                   =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
        TABLES
          T_OUTTAB                          = i_sales
    EXCEPTIONS
      PROGRAM_ERROR                     = 1
      OTHERS                            = 2
    ENDFORM.                    " dispolay_data
    *&      Form  fieldcat_init
          text
         -->P_GT_FIELDCAT[]  text
    FORM fieldcat_init USING  e01_lt_fieldcat type slis_t_fieldcat_alv.
      DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    Delivery Date
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'VDATU'.
      LS_FIELDCAT-OUTPUTLEN    = 12.
      LS_FIELDCAT-TABNAME    = 'I_SALES'.
      ls_fieldcat-seltext_L = 'Delivery Date'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Purchase Order #Material Description
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'BSTNK'.
      LS_FIELDCAT-OUTPUTLEN    = 25.
      LS_FIELDCAT-TABNAME    = 'I_SALES'.
      ls_fieldcat-seltext_L = 'Purchase Order #'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Material
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-REF_FIELDNAME    = 'MATNR'.
      LS_FIELDCAT-REF_TABNAME    = 'MARA'.
      LS_FIELDCAT-FIELDNAME    = 'MATNR'.
      LS_FIELDCAT-TABNAME    = 'I_SALES'.
      ls_fieldcat-seltext_L = 'Material #'.
      ls_fieldcat-seltext_M = 'Material #'.
      ls_fieldcat-seltext_S = 'Material #'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Material Description
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'MAKTX'.
      LS_FIELDCAT-OUTPUTLEN    = 40.
      LS_FIELDCAT-TABNAME    = 'I_SALES'.
      ls_fieldcat-seltext_L = 'Material Description'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Customer Material #
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'KDMAT'.
      LS_FIELDCAT-OUTPUTLEN    = 35.
      LS_FIELDCAT-TABNAME    = 'I_SALES'.
      ls_fieldcat-seltext_L = 'Customer material no.'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Quantity
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'KWMENG'.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-TABNAME    = 'I_SALES'.
      ls_fieldcat-seltext_L = 'Quantity'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Net Price
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'NETPR'.
      LS_FIELDCAT-OUTPUTLEN    = 15.
      LS_FIELDCAT-TABNAME    = 'I_SALES'.
      ls_fieldcat-seltext_L = 'Net Price'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    ENDFORM.                    " fieldcat_init
    Reward Points if it is helpful
    Thanks
    Seshu

  • How to create custom report plugin using child region report metadata

    Hi,
    I want to ask for help on how to create custom report plugin using child region report metadata. My idea is to create a child region, a classic report and set the condition to never.
    Then i will query the child report metadata from apex view and use it to create a custom report like using jquery jq-grid. Any idea how i can create a process that will use the child report
    metadata? I dont know how i can create a process just like how apex work, how apex render report, coz i want it to be control using the standard apex report attribute. This plugin will
    render according to the child report attribute.
    Is there anybody here had ever done this?

    Hi Nicolette,
    Thanks for the reply. I know where to find the metadata, just asking for idea on how the rendering process will be.
    Start from determining column heading, column order until finish rendering the report. The same way how apex
    render the classic report.
    Previously this imy my rendering process:
    FUNCTION GETCOLUMN(P_REGION IN APEX_PLUGIN.T_REGION,
                         P_PLUGIN IN APEX_PLUGIN.T_PLUGIN,
                         P_VALUE  IN VARCHAR2) RETURN SYS.DBMS_SQL.DESC_TAB2 IS
        VSQLHANDLER     APEX_PLUGIN_UTIL.T_SQL_HANDLER;
        VCOLCOUNT       NUMBER;
        VCOLNAMES       VARCHAR2(2000);
        VAJAXIDENTIFIER VARCHAR2(100);
        VPAGESIZE       TYPEATTR := P_REGION.ATTRIBUTE_04;
        VJSCODE         VARCHAR2(32767);
      BEGIN
        VSQLHANDLER := APEX_PLUGIN_UTIL.GET_SQL_HANDLER(P_SQL_STATEMENT  => 'select * from s_emp',
                                                        P_MIN_COLUMNS    => 1,
                                                        P_MAX_COLUMNS    => 999,
                                                        P_COMPONENT_NAME => P_REGION.ID);
        VCOLCOUNT := VSQLHANDLER.COLUMN_LIST.COUNT();
        FOR I IN 1 .. VCOLCOUNT LOOP
          VCOLNAMES := VCOLNAMES || '{name: "' ||
                       UPPER(VSQLHANDLER.COLUMN_LIST(I).COL_NAME) || '",';
        END LOOP;
        APEX_PLUGIN_UTIL.FREE_SQL_HANDLER(VSQLHANDLER);
        RETURN VSQLHANDLER.COLUMN_LIST;
      EXCEPTION
        WHEN OTHERS THEN
          APEX_PLUGIN_UTIL.FREE_SQL_HANDLER(VSQLHANDLER);
          RAISE;
      END GETCOLUMN;
    So this is how i get the header for my report plugin. The same method is use to get the value / data for each column. This process is work. So now
    i want to extend my plugin so that i will use all attributes from the child report to render my plugin. So the column header, column order, all will depend
    on the child report. And the column display condition is set, it will also check the condition before render the column. Sounds like i want to reinvent
    the normal apex rendering process but this is what i want to achieve.
    I need help to find the correct logic for my render process. Don't want too much for starting, just want to render the plugin correctly, same with child report,
    same columns alias, column ordering and column  conditional display.
    Thanks,
    akulala

  • Custom Report Template Issue

    Hi,
    I have a Custom Report Template, it is a Named Column(Row) Report that I have created. It seems I can get the look and feel I want on a per row basis. But when I try and convert it to be able to loop through for a specific type, like a break on the first column, it gets all messed up. I was wondering if someone might be able to shed some light for me on this I have tried everything
    Here is the row template
    <table width="100%"  border="0" cellspacing="1" cellpadding="0" bgcolor="#000000">
       <tr  class="Tabledetail">
          <td class="SectionHeading" width="100%" bgcolor="#336699" valign="middle">
             <img src="spacer.gif" width="1" height="1">  <b>#1#</b> 
          </td>
       </tr>
       <tr class="Tabledetail">
          <td>
             <table width="100%"  border="0" cellspacing="1" cellpadding="1" bgcolor=white>
                <tr class="Tabledetail">
                   <td>
                      <img src="spacer.gif" width="5" height="1">
                   </td>
                   <td class=formlabel>
                      #2#
                   </td>
                   <td>
                      <img src="spacer.gif" width="5" height="1">
                   </td>
                   <td colspan=4 class="SectionHeading" bgcolor="#336699" align=middle valign="bottom">
                      <b>Evaluation Trips</b> 
                   </td>
                   <td>
                      <img src="spacer.gif" width="10" height="1">
                   </td>
                   <td colspan=4 class="SectionHeading" bgcolor="#336699" align=middle valign="bottom">
                      <b>All Other Trips</b> 
                   </td>
                </tr>
                <tr class="Tabledetail">
                   <td>
                      <img src="spacer.gif" width="5" height="1">
                   </td>
                   <td  class=formlabel>
                      #3#
                   </td>
                   <td  align=right class=formlabel>
                      <img src="spacer.gif" width="5" height="1">
                   </td>
                   <td align=right class=formlabel>
                      #4#
                   </td>
                   <td align=right class=formlabel>
                      #5#
                   </td>
                   <td align=right class=formlabel>
                      #6#
                   </td>
                   <td align=right class=formlabel>
                      #7#
                   </td>
                   <td>
                      <img src="spacer.gif" width="10" height="1">
                   </td>
                   <td align=right class=formlabel>
                      #4#
                   </td>
                   <td align=right class=formlabel>
                      #5#
                   </td>
                   <td align=right class=formlabel>
                      #6#
                   </td>
                   <td align=right class=formlabel>
                      #7#
                   </td>
                </tr>
                <tr class="Tabledetail" width=50%>
                   <td>
                      <img src="spacer.gif" width="5" height="1">
                   </td>
                   <td  class=formlabel>
                      #8#
                   </td>
                   <td class=formlabel>
                      <img src="spacer.gif" width="5" height="1">
                   </td>
                   <td align=right>
                      #9#
                   </td>
                   <td  align=right>
                      #10#
                   </td>
                   <td align=right >
                      #11#
                   </td>
                   <td align=right >
                      #12#
                   </td>
                   <td>
                      <img src="spacer.gif" width="10" height="1">
                   </td>
                   <td align=right >
                      #13#
                   </td>
                   <td align=right >
                      #14#
                   </td>
                   <td align=right >
                      #15#
                   </td>
                   <td align=right >
                      #16#
                   </td>
                </tr>
             </table>
          </td>
       </tr>
    </table>
    </td>
    </tr>
    <tr>
    <td><img src="spacer.gif" width="1" height="10"> </td>
    </tr>
    <tr>
    <td>Here is the before rows
    <table cellpadding="0" border="0" cellspacing="0" summary="" #REPORT_ATTRIBUTES# id="report_#REGION_STATIC_ID#">
      #TOP_PAGINATION#
      <tr>
        <td>
          <table cellpadding="0" border="0" cellspacing="0" summary="" class="report-standard">Here is the after rows
            </table>
        </td>
      </tr>
      #PAGINATION#
    </table>But when I try and pull the upper level html tables out of the row template the format goes to heck. Anyone have any ideas?
    Thanks in advance!

    goochable wrote:
    Thanks for the input! Yeah it is based on a query from a collection as all this data is summations that i am pre-populating.
    Yes this html is probably from 1998 or 1999 I think they told me actually lol
    So there is no way to accomplish what I am trying to do then?
    There is no way I could use a break on first column and modify the header info to get the same sort of look and feel?Still not really clear what you are trying to accomplish, and in my view there are so many problems with the "look and feel" that it's not worth perpetuating.
    Making a lot of assumptions, I've come up with the kind of HTML structure I'd use when marking up this kind of data. I added a page 2 to your example on apex.oracle.com, showing a basic presentation of this structure alongside the original for comparison, and another styled using the default theme L&F.
    <li>Given the requirement to use multi-level headers (and because I prefer to have total control over the HTML), I stayed with a custom report template rather than trying to utilise column breaking with a generic column report template. This also permits use of more advanced table structures than can be supported by standard templates, such as s<tt>colgroup</tt>s to organize the table columns as well as the rows:
    Before Rows
      <table cellpadding="0" border="0" cellspacing="0" summary="" #REPORT_ATTRIBUTES# id="report_#REGION_STATIC_ID#">
      #TOP_PAGINATION#
      <tr>
        <td>
          <table class="fish">
            <caption>Some fishy summaries</caption>
            <colgroup span="1"></colgroup>
            <colgroup span="4" class="evaluation-trips" align="right"></colgroup>
            <colgroup span="4" class="other-trips" align="right"></colgroup>
    After Rows
          </table>
        </td>
      </tr>
      #PAGINATION#
    </table><li>Rather than separate tables, the report is contained in one HTML table, utilizing the <tt>tbody</tt> element to subdivide this into separate row groups to meet the "break on first column" requirement. This is achieved using conditional row templates, with PL/SQL Expressions based on the values of metadata columns added to the query:
    Row Template 1
    Header rows and first data row for each row group. <tt>scope</tt> attributes are added to multi-column headers for improved accessibility:
      <tbody>
        <tr>
          <th colspan="9" scope="rowgroup">#C1#</th>
        </tr>
        <tr>
          <th></th>
          <th colspan="4" scope="colgroup">Evaluation Trips</th>
          <th colspan="4" scope="colgroup">All Other Trips</th>
        </tr>
        <tr>
          <th>#C2#</th>
          <th>#C4#</th>
          <th>#C5#</th>
          <th>#C6#</th>
          <th>#C7#</th>
          <th>#C4#</th>
          <th>#C5#</th>
          <th>#C6#</th>
          <th>#C7#</th>
        </tr>
        <tr class="#ALT#">
          <td class="desc">#C8#</td>
          <td>#C9#</td>
          <td>#C10#</td>
          <td>#C11#</td>
          <td>#C12#</td>
          <td>#C13#</td>
          <td>#C14#</td>
          <td>#C15#</td>
          <td>#C16#</td>
        </tr>
      #CLOSE_ROW_GROUP#
    Row Template 1 Expression
    This template is used when the row metadata shows that the current row is in a different row group from the previous row:
    #ROW_GROUP# != #PREVIOUS_ROW_GROUP#
    Row Template 2
    This is the "default" template, used for any subsequent data rows in the row group:
        <tr class="#ALT#">
          <td class="desc">#C8#</td>
          <td>#C9#</td>
          <td>#C10#</td>
          <td>#C11#</td>
          <td>#C12#</td>
          <td>#C13#</td>
          <td>#C14#</td>
          <td>#C15#</td>
          <td>#C16#</td>
        </tr>
      #CLOSE_ROW_GROUP#Both templates make use of a <tt>#CLOSE_ROW_GROUP#</tt> column value conditionally generated in the query that returns a <tt>&lt;/tbody&gt;</tt> tag if the current row is the last data row in the row group. (Mixing logic and structure in this way is not good practice, but APEX only allows up to 4 conditional row templates, which is completely insufficient for any moderately complex structure.)
    <li>Several metadata columns (incorporating heavy use of analytic functions) are added to the report query for use in the report template or CSS presentation:
    with fish as (
          select
                    c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16
                      Generate a fixed order for separate report sections/row groups.
                      (This is a guess as the actual requirement is not specified.)
                  , case c1
                      when 'OTC Summary' then 1
                      when 'Retained Catch Summary' then 2
                      when 'Discarded Catch Summary' then 3
                      when 'Discarded Species Composition Summary' then 4
                      when 'Retained Species Composition Summary' then 5
                      when 'Priority Species Biospecimen Summary - Discarded Catch' then 6
                      when 'Other Species Biospecimen Summary - Discarded Catch' then 7
                      when 'Dissection Summary - Discarded Catch' then 8
                    end row_group
                      Calculate row number within row group.
                      Copes with row order in some row groups being determined
                      numerically, while others used standard character semantics.
                  , row_number()
                      over (
                        partition by  c1
                        order by      to_number(regexp_replace(c8, '[^[:digit:]]')) nulls last
                                    , c8) group_rn
                      Calculate number of rows in row group.
                  , count(*)
                      over (
                        partition by c1) group_rows
          from
                  test)
    select
              c1
                Not clear on meaning of "Weight"/"Method" values: assumed this is
                column heading equivalent to "Species".
                Combine both source DB columns into one for HTML heading, dealing
                with various null/space/blank issues...
            , nullif(c2 || ' ', '  ') || c3 c2
            , ' ' c3
            , c4
            , c5
            , c6
            , c7
            , c8
            , c9
            , c10
            , c11
            , c12
            , c13
            , c14
            , c15
            , c16
            , row_group
                Get the rowgroup for the previous row
            , lag(row_group, 1, 0)
                over (
                  order by row_group) previous_row_group
            , group_rn
            , group_rows
                Determine odd/even row number: used for standard or alternate style.
            , mod(group_rn, 2) alt
                Generate a closing element if the row is the last row in the
                row group.
            , case
                when group_rn = group_rows
                then
                  '</tbody>'
                else
              end close_row_group
    from
              fish
    order by
               row_group
             , group_rnThis makes major assumptions about the sort order(s) and break(s) required in the report.
    <li>Finally, the visual presentation is applied using CSS rather than (mainly deprecated) HTML attributes, via an embedded style sheet in the page HTML Header:
    <style type="text/css">
    .fish {
      empty-cells: show;
      border-collapse: collapse;
    .fish tbody tr:first-child th {
      border-top: 1px solid #fff;
      font-weight: bold;
    .fish th,
    .fish td {
      padding: 3px 6px;
    .fish th {
      border-bottom: 1px solid #fff;
      border-left: 1px solid #fff;
      background-color: #275096;
      color: #fff;
      font-weight: 300;
      text-align: left;
    .fish td {
      text-align: right;
      .fish tr.\30  td {
        background-color: #dde;
      .fish td:first-child {
        text-align: left;
    </style>The default theme L&F report adds vertical borders to separate columns and column groups (latter may not be fully effective on IE: I'm not wasting my time on quirks mode fixes for that).
    The resulting report uses 60% less vertical space, and 87% less HTML code[1] than the original. Usability and accessibility are improved by eliminating nested tables and useless table cells and shim images, increasing the contrast between text and background colours, and using alternating row backgrounds for better visual tracking.
    [1] Including whitespace, but neither template is compressed in any way: both are in fully readale format including normal whitespace indentation.

  • CUSTOM REPORT PROBLEM - REP-1213

    I am a student trying to complete a project. I developed a
    "custom" report form which uses 5 tables to generate the report.
    I have entered the 'fields' at various locations on the report
    form and when I run the report I get the following error message:
    "REP-1213: Field 'client_id' references column 'CLIENT_ID' at a
    frequency below its group."
    I have presented this problem to my instructor who does not have
    a solution to resolve this problem for me. Is there a solution
    for this? Or ... does Oracle not allow for 'custom designing'
    of reports? How does someone develop a custom made invoice or
    other report for a client without encountering these problems?
    Anybody's assistance in this matter would be greatly appreciated.
    BO
    null

    Here is some information that may be of help. This is straight
    from Oracle. read the part on FREQUENCY ERRORS carefully.
    You may also retrieve this document from:
    otn home page --> support --> technicial bulletions -->
    sql*reportwriter --> 9006913.61
    P.S. reportwriter frames have kicked manny asses!!
    Good luck.
    Document ID: 9006913.61
    Title: Understanding Frames
    Revision Number 0
    Product: Oracle Reports
    Platform: GENERIC
    Abstract: This document provides a better
    understanding
    of frames and the layering concept.
    Also
    discusses frequency errors.
    Keywords: REPEATING;FRAME;VARIABLE;FIXED;EXPAND;
    CONTRACT;FREQUENCY;
    INTRODUCTION
    There are two types of frames: Repeating frames and non-repeating
    frames.
    Each is a visual representation of actual 3GL code that underlies
    the action
    of fetching and printing the rows selected from tables.
    Non-repeating frames
    act as containers and can be mapped back to the pseudocode: BEGIN
    and END.
    Repeating frames are representations of the Fetch Cycle and can
    be mapped to
    the pseudocode: WHILE NOT END OF TABLE and END WHILE.
    Graphically, frames are stacked one atop the other. This may not
    be
    immediately apparent. It is difficult to distinguish which frame
    is beneath
    another. A quick way to see the three-dimensional layering is to
    change the
    color of the frames. Make each frame a different color. This
    will create a
    three-dimensional effect as frames above will partially obscure
    those beneath
    it. You will also notice the layering structure when using the
    object
    navigator in Reports V2.5
    NON-REPEATING FRAMES
    Non-repeating frames are not record-related. They print as often
    as the
    object in which they are enclosed, or to which they are attached
    by an anchor.
    They do not have a print direction.
    REPEATING FRAMES
    Repeating frames are place holders for records. Repeating frames
    print once
    for each record of a group and control record-level formatting.
    Reports will
    generate one repeating frame for each group when you create a
    default layout.
    Reports will place containers of columns inside of the frames.
    Each repeating
    frame retrieves only one row in its fetch cycle for any one
    repetition. Until
    it is constrained by another frame, it will repeat itself until
    the while loop
    condition can no longer be satisfied.
    VERTICAL AND HORIZONTAL SIZING
    The Vertical Sizing of a repeating frame will default to FIXED if
    all the
    objects in the repeating frame are fixed. If the repeating frame
    encloses an
    object (e.g. field, frame) that grows, then the vertical sizing
    defaults to
    VARIABLE or EXPAND.
    FIXED
    If the Vertical Size of the frame is FIXED then the object's
    height is the
    same on each logical page, regardless of the size of the objects
    or data
    within it. Truncation of data may occur. The height of the
    object in the
    layout editor is the actual height of the object at runtime. No
    special
    symbol is indicated on the frame in the layout editor.
    VARIABLE
    If the frame's Vertical Sizing Attribute is VARIABLE and there is
    nothing
    below it, it collapses. For example, if it normally is four lines
    long and
    only one row is returned, then it will not print three blank
    lines but will
    actually collapse the output to one line. If you drag the
    position of the
    fields downward, the space above will not collapse because of the
    IMPLICIT
    ANCHOR. The object will expand or contract vertically to
    accommodate the
    objects or data within it. The height shown in the layout editor
    has no
    effect on the object's height at runtime. The vertical sizing
    attribute
    functions as if you used a combination of contract and expand. A
    diamond
    symbol is indicated on the frame in the layout editor.
    EXPAND
    If the frame's Vertical Sizing Attribute is set to EXPAND, it
    will begin at a
    minimum size defined by the frame, and will expand as necessary
    to accommodate
    more data or lines that exceed the length of the column. An
    equal sign symbol
    is indicated on the frame in the layout editor.
    CONTRACT
    If the frame's Vertical Sizing Attribute is set to CONTRACT, the
    vertical size
    of the object decreases if the formatted objects or data within
    it are short
    enough, but it cannot increase to accommodate larger data.
    Truncation may
    occur. A circle is indicated on the frame in the layout editor.
    FREQUENCY ERRORS
    You may receive frequency errors when a repeating frame is moved
    or deleted,
    thus changing the layering of the frames. Often, users may
    attempt to correct
    this error by adding the deleted frame back, but this does not
    fix the
    problem. The existence of the frame is not enough, even it is
    does not
    overlap other objects in the layout. The frame must also be in
    the right
    position within the hierarchy. In addition to recreating the
    deleted frame,
    you must push the new frame to the right layer using the ARRANGE
    option on the
    Layout menu.
    If you move an object outside its native frame, then you must
    enclose it
    within a repeating frame to group it within the same loop.
    Oracle Worldwide Customer
    Support
    null

  • Calling standard report to my custom report

    Hi ALL,
    i need to call a standard report into my custom report
    for example :
    i am having a report with all PR related data
    now i am having nearly 20000 purchase requisitons and there related data .
    now i will get all the Source of supply for each PR
    using bapi BAPI_SOURCEDETERMINE_GETSOS.
    now i am having all the PR's and source of supply
    then i need to assign source of supply .
    using the standard report RM06BZ00.
    then how to call this report and assign source of supply .
    Will be there any performance considerations for calling this report in a loop (20000)
    and how to catch the result
    if source of supply  was assigned ok
    if not how.
    Thanks in advance .
    siva

    Hi Prabhu,
    Use the Submit Statement for calling the standard report u can use the options available with the submit statement for passing any parameters ,
    for reference u can refer following code....
    MOVE: 'S_LIFNR' TO seltab_wa-selname,
            'S'      TO seltab_wa-kind,      " SELECT-OPTION
            'I'      TO seltab_wa-sign,
            'EQ'     TO seltab_wa-option,
            ct1_key-lifnr TO seltab_wa-low.
      APPEND seltab_wa TO seltab.
      CLEAR seltab_wa.
      MOVE: 'S_DOCNO' TO seltab_wa-selname,
            'S'      TO seltab_wa-kind,      " SELECT-OPTION
            'I'      TO seltab_wa-sign,
            'EQ'     TO seltab_wa-option,
            ct1_key-docno TO seltab_wa-low.
      APPEND seltab_wa TO seltab.
      CLEAR seltab_wa.
      MOVE: 'S_DOCTYP' TO seltab_wa-selname,
            'S'      TO seltab_wa-kind,      " SELECT-OPTION
            'I'      TO seltab_wa-sign,
            'EQ'     TO seltab_wa-option,
            ct1_key-doctyp TO seltab_wa-low.
      APPEND seltab_wa TO seltab.
      CLEAR seltab_wa.
      MOVE: 'P_CT1' TO seltab_wa-selname,
            'P'      TO seltab_wa-kind,      " SELECT-OPTION
            'I'      TO seltab_wa-sign,
            'EQ'     TO seltab_wa-option,
            'X' TO seltab_wa-low.
      APPEND seltab_wa TO seltab.
      CLEAR seltab_wa.
      SUBMIT zexc_ct1_prg
       via selection-screen
          WITH  SELECTION-TABLE seltab.

  • Runtime Error CALL_FUNCTION_PARM_MISSING in a custom report program

    Hi All,
    I've created a custom report program to create parameters for a user in a system. I'm getting a runtime error in the code.
    The code snippet as below.
    I'm getting that error at line no 161. I'm not able to figure it out. Please help me to correct it.
    Regards
    Mandeep Shrestha

    Hi Glenn,
    I'm not creating a user. My requirement is to add a parameter
    CRM_THTMLB_IE_COMP with value 'IE8'. I've written the below set of code to achieve that. Can you please help me further.
    :i_userlist,i_return,l_errorrole,lv_rows,i_error,i_final,
      l_e,lv_rows,l_s.
      REFRESH i_bname1.
      IF u_name IS NOT INITIAL.
        SELECT bname FROM usr01 INTO TABLE
        i_bname1 WHERE bname IN u_name.
        IF sy-subrc = 0.
          LOOP AT i_bname1 INTO wa_bname1.
            wa_userlist-username = wa_bname1-bname.
            APPEND wa_userlist TO i_userlist.
            CLEAR wa_userlist.
          ENDLOOP.
          DESCRIBE TABLE i_bname1 LINES lv_rows.
        ENDIF.
      ELSE.
    ****get all the users****
        CALL FUNCTION 'BAPI_USER_GETLIST'
          EXPORTING
            max_rows        = 0
            with_username   = ' '
          IMPORTING
            ROWS            = lv_rows
          TABLES
    *       SELECTION_RANGE =
    *       SELECTION_EXP   =
            userlist        = i_userlist
            RETURN          = i_return.
      ENDIF.
    ****read the PFCG and Business Roles****
      SELECT  *   FROM crmc_ui_profile INTO TABLE i_profile .
      IF i_userlist IS INITIAL.
        WRITE:'No Users'.
        EXIT.
      ELSE.
        LOOP AT i_userlist INTO wa_userlist.
          CLEAR: i_param,i_agrgrp,i_retagr,lv_pfcg.
          "IF wa_userlist-username = 'BUILDER_B'.
          CALL FUNCTION 'BAPI_USER_GET_DETAIL'
            EXPORTING
              username       = wa_userlist-username
              cache_results  = 'X'
            TABLES
              PARAMETER      = i_param
    *         PROFILES       =
              activitygroups = i_agrgrp
              RETURN         = i_retagr
    *         PARAMETER1     =
          CLEAR :wa_agrgrp,l_errorrole,wa_retparm,v_business_unit.
          CLEAR ls_sales_org.
          CALL FUNCTION 'Z0CR_GET_USER_DETAILS'
            EXPORTING
              iv_username      = wa_userlist-username
            IMPORTING
    *         EV_USER_TYPE     =
    *         EV_BUGROUPID     =
              es_sales_org     = ls_sales_org
    *         EV_PARTNER_ID    =
              ev_business_unit = v_business_unit.
          CALL METHOD CL_CRM_ORGMAN_SERVICES=>MAP_HROBJECT_TO_R3_SALES_ORG
            EXPORTING
              HROBJECT         = ls_sales_org-SALES_ORG
    *         dbread           =
            IMPORTING
              VKORG            = L_ECC
            EXCEPTIONS
              NO_AUTHORIZATION = 1
              NOT_FOUND        = 2
              OTHERS           = 3.
    *CALL FUNCTION 'CRM_BUPA_SALES_AREA_TO_R3'
    *  EXPORTING
    *    IS_SALES_AREA            = ls_sales_org
    * IMPORTING
    *   EV_VKORG                 = L_ECC
    **   EV_VTWEG                 =
    **   EV_SPART                 =
    * EXCEPTIONS
    *   NO_MAPPING_DEFINED       = 1
    *   R3_KEY_NOT_DEFINED       = 2
    *   OTHERS                   = 3
    *IF SY-SUBRC <> 0.
    ** Implement suitable error handling here
    *ENDIF.
          IF L_ECC = 2040 OR L_ECC = 2010 OR L_ECC = 2050 OR L_ECC = 1900.
    **        loop at  i_param into wa_param  .
    *            wa_param-PARID = 'CRM_THTMLB_IE_COMP' .
    *            wa_param-PARVA = 'IE8'.
    *            wa_param-PARTXT = 'CRM BW REPORT PARAMETER'.
    *           append wa_param to i_param.
    **          ENDLOOP.
    *      endif.
            CLEAR lv_flag .
    ****checking if the  role having prime support roles then assign the CRM_THTMLB_IE_COMP as IE8
            CLEAR lt_role.
            SELECT * FROM zuser_role INTO TABLE lt_role
            FOR ALL ENTRIES IN i_agrgrp
            WHERE pfcg_role = i_agrgrp-agr_name.
            IF sy-subrc = 0.
              lv_flag  = 'X'.
            ENDIF.
            CLEAR :lv_land.
            SELECT SINGLE land1 INTO lv_land FROM hrp1028 WHERE
            otjid = ls_sales_org.
            LOOP AT i_retagr INTO wa_retagr WHERE TYPE = 'E' OR TYPE = 'A'.
              l_errorrole = 'X'.
            ENDLOOP.
    **error records
            IF l_errorrole EQ 'X'.
              l_e = l_e + 1.
              CLEAR :lv_pfcg,lv_brole.
              wa_error-user = wa_userlist-username.
              wa_error-pfcg = lv_pfcg .
              wa_error-role = lv_brole .
              wa_error-MESSAGE = wa_retparm-MESSAGE .
              APPEND wa_error TO i_error.
              CLEAR l_errorrole.
            ELSE.
              CLEAR sy-subrc.
              CLEAR :wa_param1,lv_vlaues,wa_param.
              READ TABLE i_param INTO wa_param1
              WITH KEY parid = 'CRM_THTMLB_IE_COMP'.
              IF sy-subrc <> 0.
                CLEAR wa_paramx.
                wa_paramx-parid = 'X'.
                wa_paramx-parva = 'X'.
                CLEAR :wa_paramc,i_paramc.
                wa_paramc-parid =  'CRM_THTMLB_IE_COMP'.
                wa_paramc-parva = ' '.
                APPEND wa_paramc TO i_paramc.
                CALL FUNCTION 'BAPI_USER_CREATE'
                  EXPORTING
                    USERNAME  = wa_userlist-username
                  TABLES
                    PARAMETER = i_paramc
                    RETURN    = i_retparm.
              ENDIF.
              lv_vlaues = wa_param1-parva.
              IF i_agrgrp IS INITIAL AND lv_vlaues IS NOT INITIAL.
                CLEAR wa_paramx.
                wa_paramx-parid = 'X'.
                wa_paramx-parva = 'X'.
                CLEAR :wa_paramc,i_paramc.
                wa_paramc-parid =  'CRM_THTMLB_IE_COMP'.
                wa_paramc-parva = ' '.
                APPEND wa_paramc TO i_paramc.
                CALL FUNCTION 'BAPI_USER_CHANGE'
                  EXPORTING
                    username   = wa_userlist-username
                    parameterx = wa_paramx
    *               COMPANY    =
                  TABLES
                    PARAMETER  = i_paramc
                    RETURN     = i_retparm
    *               PARAMETER1 = .
                CLEAR :wa_retparm ,l_errorrole.
                IF i_retparm IS NOT INITIAL.
                  LOOP AT i_retparm INTO wa_retparm WHERE TYPE = 'E' OR TYPE = 'A'.
                    l_errorrole = 'X'.
                  ENDLOOP.
                ENDIF.
    **error records
                IF l_errorrole EQ 'X'.
                  l_e = l_e + 1.
                  wa_error-user = wa_userlist-username.
                  wa_error-pfcg = lv_pfcg .
                  wa_error-role = lv_brole .
                  wa_error-MESSAGE = wa_retparm-MESSAGE .
                  APPEND wa_error TO i_error.
                  CLEAR l_errorrole.
                ELSE.
                  l_e = l_e + 1.
                  wa_error-user = wa_userlist-username.
                  wa_error-pfcg = lv_pfcg .
                  wa_error-role = lv_brole .
                  wa_error-MESSAGE = 'No Roles assigned to User' .
                  APPEND wa_error TO i_error.
                  CLEAR l_errorrole.
                ENDIF.
              ENDIF.
              IF i_agrgrp IS NOT INITIAL .
                CLEAR lv_count.
                LOOP AT i_agrgrp INTO wa_agrgrp WHERE agr_name CP 'L*'.
                  CLEAR wa_profile.
                  READ TABLE i_profile
                  INTO wa_profile
                  WITH KEY pfcg_role = wa_agrgrp-agr_name.
                  IF sy-subrc EQ 0 AND
                  wa_profile-profile IS NOT INITIAL.
                    lv_count = lv_count + 1.
                  ENDIF.
                ENDLOOP.
                IF lv_count EQ '1'.
                  LOOP AT i_agrgrp INTO wa_agrgrp WHERE agr_name CP 'L*'.
                    CLEAR :wa_profile,lv_brole,lv_pfcg.
                    IF wa_agrgrp-agr_name CP 'L*'.
                      lv_pfcg =  wa_agrgrp-agr_name.
                      READ TABLE i_profile
                      INTO wa_profile
                      WITH KEY
                      pfcg_role = wa_agrgrp-agr_name.
                      IF sy-subrc EQ 0.
    **              ***fill business role
                        lv_brole = wa_profile-profile.
                      ELSE.
                        l_e = l_e + 1.
                        CLEAR lv_brole.
                        wa_error-user = wa_userlist-username.
                        wa_error-pfcg = lv_pfcg .
                        wa_error-role = lv_brole .
                        wa_error-MESSAGE = 'No Business Role for PFCG' .
                        APPEND wa_error TO i_error.
                        CLEAR l_errorrole.
                        CONTINUE.
                      ENDIF.
                    ENDIF.
                    IF lv_brole IS NOT INITIAL.
                      CLEAR wa_paramx.
                      wa_paramx-parid = 'X'.
                      wa_paramx-parva = 'X'.
                      CLEAR :wa_paramc,i_paramc.
                      wa_paramc-parid =  'CRM_THTMLB_IE_COMP'.
                      IF lv_flag = 'X'.
                        lv_brole =   'IE8'.
                        wa_paramc-parva = lv_brole .
    *                  CLEAR lv_flag.
                      ELSE.
                        wa_paramc-parva = lv_brole.
                      ENDIF.
                      APPEND wa_paramc TO i_paramc.
                      CALL FUNCTION 'BAPI_USER_CHANGE'
                        EXPORTING
                          username   = wa_userlist-username
                          parameterx = wa_paramx
    *                     COMPANY    =
                        TABLES
                          PARAMETER  = i_paramc
                          RETURN     = i_retparm
    *                     PARAMETER1 = .
                      CLEAR :wa_retparm .
                      IF i_retparm IS NOT INITIAL.
                        LOOP AT i_retparm INTO wa_retparm WHERE TYPE = 'E' OR TYPE = 'A'.
                          l_errorrole = 'X'.
                        ENDLOOP.
                      ENDIF.

Maybe you are looking for

  • LVRT.dll error everytime I build a deployment

    HI all, I have struggled with this for 2 days now and tried to use the forum to figure this one out, but I cannot. I have built quite a few deployments before, however, when I try to put a new deployment on a clean Win7 32-bit PC, I get the same issu

  • I would like to make a poker program that can be played over the internet

    I would like to create a java poker program that can be plyed over the internet. I would post the code on a website and everyone that goes should be able to play. Someone told me to use a socket but i dont no how. Also i dont know how to make a progr

  • Printing document from jsp

    Hi All, I am trying to print a document(For example .doc file) from local system using JSP/Servlet. Please note that I dont want to print the current window and I dont want to use applet also. My requirement is that I have to use only JSP/Servlet or

  • Color Balance (or something??) is off

    Working in PS CS3. Problem is that my document background is a lovely yellow tint. The "default" black/white colors are selected. The color picker shows that the color is FFFFFF. The PS desktop appears to be white, but the document is that nice pale

  • Meta-data creation via web forms?

    Hi, I know this question would turn out to be more of a would-be-nice to have request for Hyperion Planning. Nonetheless, I would like to confirm that it is not already available in version 11. Does the new version provide the capability to create me