Apex_plsql_job.submit_process PLS-00221: 'SUBMIT_PROCESS' is not a procedur

Hi,
i tried to use apex_plsql_job
declare
l_job number;
begin
apex_plsql_job.submit_process( l_job, 'p_upd;', sysdate);
end;
and i have this error
ORA-06550: line 7, column 3:
PLS-00221: 'SUBMIT_PROCESS' is not a procedure or is undefined
ORA-06550: line 7, column 3:
PL/SQL: Statement ignored5. begin
6.
7. apex_plsql_job.submit_process( l_job, 'p_se0cas_upd;', sysdate);
8.
9. end;
Apex 3.1.2
Oracle 10.1.0.5
Thanks in advance
km

Hi,
I solved using a procedure
Many Thanks
km

Similar Messages

  • Apex_plsql_job.submit_process job not Working through Apex

    Hi,
    I am using Apex 4.2 and Oracle DB 11g.
    I have a process (which calls a procedure) to run on page load which is taking quiet some time (more than a min) so I thought of using Apex_Plsql_job API. It is submitting the job (though it is submitting the job to DBA_JOBS rather than APEX_PLSQL_JOBS as said by Doc which even disappears in no time from dba_jobs).
    declare
    l_sql VARCHAR2(4000);
    l_job NUMBER;
    begin
        l_sql := 'BEGIN Pkg.procedure(param1); END;';
        l_job := APEX_PLSQL_JOB.SUBMIT_PROCESS(p_sql => l_sql, p_status => 'Background process submitted');
    end;
    Now My issue is the procedure is not being called. Am I missing something. Can anyone help me pls.
    Thanks,
    Shoaib

    Hi,
    APEX_PLSQL_JOB package works just fine for me.
    What I did check your code I think there is mistake. You have not declare parameter "param1" for job PL/SQL code
    Maybe code should look like this
    DECLARE
      l_sql VARCHAR2(4000);
      l_job NUMBER;
    BEGIN
      l_sql := q'!DECLARE param1 VARCHAR2(255) := 'MY_VALUE'; BEGIN Pkg.procedure(param1); END;!';
      l_job := APEX_PLSQL_JOB.SUBMIT_PROCESS(p_sql => l_sql, p_status => 'Background process submitted');
    END;
    Or something like
    DECLARE
      l_sql VARCHAR2(4000);
      l_job NUMBER;
    BEGIN
      l_sql := 'BEGIN Pkg.procedure(' || Px_MY_ITEM || '); END;';
      l_job := APEX_PLSQL_JOB.SUBMIT_PROCESS(p_sql => l_sql, p_status => 'Background process submitted');
    END;
    Regards,
    Jari

  • Apex_plsql_job.submit_process job not showing up in apex_plsql_jobs table

    Hello ghurus,
    I am running APEX 3.1 on Oracle 10g 10.2.0.1 and am trying to run a potentially long running procedure in the background so the user doesn't have to sit and watch the hourglass.
    The button process has the following code:
    DECLARE
    return_code NUMBER;
    exec_stg VARCHAR2(4000);
    squote VARCHAR2(1) := chr(39);
    edit_cnt NUMBER;
    BEGIN
    SELECT COUNT(*)
    INTO edit_cnt
    FROM edit_history eh
    WHERE eh.rept_inst = :f104_curinst
    AND eh.rept_time_frame = :f104_curterm
    AND eh.submission = :f104_cursubm
    AND eh.edit_complete_dtm IS NULL;
    univdb.exception_logging.insert_log(0, 'NO SQL ERROR', 'apex_editsubm','count=' || to_char(edit_cnt));
    IF edit_cnt = 0
    THEN
    INSERT INTO univdb.edit_history
    (rept_inst,
    rept_time_frame,
    submission,
    audit_id)
    VALUES
    (:f104_curinst,
    :f104_curterm,
    :f104_cursubm,
    :app_user);
    COMMIT;
    univdb.exception_logging.insert_log(0, 'NO SQL ERROR', 'apex_editsubm',
    'insert row successful');
    exec_stg := 'univdb.edit_any_submission(' || squote || :f104_curinst ||
    squote || ', ' || squote || :f104_curterm || squote || ', ' ||
    squote || :f104_cursubm || squote || ', ' || squote ||
    :app_user || squote || ');';
    univdb.exception_logging.insert_log(0, 'NO SQL ERROR', 'apex_editsubm',exec_stg);
    return_code := apex_plsql_job.submit_process(exec_stg);
    univdb.exception_logging.insert_log(0, 'NO SQL ERROR', 'apex_editsubm','return_code=' || to_char(return_code));
    commit;
    END IF;
    END;
    The calls to exception_logging write a row to a table so I can see what's happening in the process and I get the following rows writte:
    count=0
    insert row successful
    univdb.edit_any_submission('UNIV', '200701', 'TEF', 'ELSA_LESLIE');
    return_code=103
    The last message implies to me that the job was successfully submitted but when I query the apex_plsql_jobs table, job 103 does not exist and the procedure never gets executed. The procedure does work when tested outside of APEX.
    I checked all of my grants according to the post in this thread and they are all there:
    Re: Missing apex_plsql_job in 3.1
    Does anyone have a suggestion?
    ...elsa

    Hi Elsa
    I am also having similar problems calling the APEX_PLSQL_JOB.SUBMIT_PROCESS as well where it doesn't insert into the APEX_PLSQL_JOBS table.
    I also noticed that you used SCHEDULER. One of the challenges we are having is when the user presses the submit button, the browser hangs and doesn't return the result set until the process is complete. This process can take 20 mins before the screen loads saying the process was finished. I have tried used DBMS_JOB as we aren't on 10g and can not use SCHEDULER, but still having that issue where the user has to wait 20 mins before the process finishes.
    Did you ever solve that problem where the user clicks the button and then a page is returned immediately while the job is firing away with scheduler
    Any help would be great and much appreciated.
    Thanks

  • Syntax for APEX_PLSQL_JOB.SUBMIT_PROCESS with an OUT parameter

    Hi All,
    I am using APEX_PLSQL_JOB.SUBMIT_PROCESS and calling a procedure that has both an IN and an OUT parameter.
    The IN parameter works fine; I am able to call my procedure from APEX and pass it the :APP_JOB item as the IN parameter. The OUT parameter I can't get working. I can call my procedure from a different block in SqlDeveloper and everything works, so I'm confident that my procedure code is correct. I just can't get the OUT parameter returned via APEX.
    This is the plsql code that I'm calling from an APEX dynamic action:
    DECLARE
      l_sql      VARCHAR2(4000);
      l_instance VARCHAR2(30);
       l_job number;
      l_rows_processed number;
    BEGIN
    l_instance := :P9_INSTANCE;
      l_sql      := 'BEGIN update_tl_tables_1(:APP_JOB, :F103_ROWS_PROCESSED); END;';
      l_job      := APEX_PLSQL_JOB.SUBMIT_PROCESS( p_sql => l_sql, p_status => 'Background process submitted');
    l_rows_processed := :F103_ROWS_PROCESSED;
    insert into gse_lng_jobs (instance, job_id, rows_processed) values (l_instance, l_job, l_rows_processed);
    COMMIT;
    END; My procedure is created as:
    create or replace
    procedure UPDATE_TL_TABLES_1 (l_app_job IN number, l_rows_processed OUT number)
    IS......Again, this works fine from SqlDeveloper. Can anyone suggest the proper plsql code? I've tried this using a page item, a system item etc. and no luck. I first tried just passing my procedure a local variable like l_rows_processed, but the procedure wouldn't even run, so I'm assuming the API needs an actual APEX item but I'm out of ideas here.
    thanks in advance,
    john

    That's not going to work because the job hasn't run yet when you perform the insert. So :F103_ROWS_PROCESSED wont contain anything useful.
    Why don't you try performing the insert as part of the job, e.g.
    l_sql := 'BEGIN update_tl_tables_1(:APP_JOB, :F103_ROWS_PROCESSED); insert into gse_lng_jobs (instance, job_id, rows_processed) values ('''||l_instance||''', '||l_job||', :F103_ROWS_PROCESSED); END;';
    ...something like that.

  • APEX_PLSQL_JOB.SUBMIT_PROCESS not working

    Hi,
    I'm trying to run APEX_PLSQL_JOB.SUBMIT_PROCESS (see: [http://download.oracle.com/docs/cd/E14373_01/apirefs.32/e13369/apex_plsql_job.htm#insertedID3|http://download.oracle.com/docs/cd/E14373_01/apirefs.32/e13369/apex_plsql_job.htm#insertedID3]
    I have on an On Load before Header page process:
    DECLARE
      v_num                         PLS_INTEGER;
    BEGIN
      IF apex_plsql_job.jobs_are_enabled THEN
        HTP.p ('Jobs are enabled on this database instance.');
      ELSE
        HTP.p ('Jobs are NOT enabled on this database instance.');
      END IF;
      v_num                      := apex_plsql_job.submit_process (p_sql                        => 'BEGIN null; END;');  -- I kept the sql code to a minimum for demonstration purposes
      HTP.br;
      HTP.p (v_num);
    END; The output is:
    Jobs are enabled on this database instance.
    +10083+
    It seems to work (no errors) but it is not registering in the APEX_PLSQL_JOBS view. When I do have "working" code in the p_sql parameter I know it isn't getting executed.
    SELECT *
    FROM   apex_plsql_jobsAny ideas on this? I'm using APEX 3.1.2 on Oracle 10.2.0.4.0
    Thank you,
    Martin
    [http://apex-smb.blogspot.com/]

    Hi Martin,
    If it is in the WWV_FLOW_JOBS table then the job has been submitted successfully. Is the system_status column set to 'COMPLETE'?
    You only need to set the security group if you are running the code outside of APEX.
    Have a look at my example on apex.oracle.com
    Workspace : EDIDEV
    Username : USER
    Password : jadohi
    Run App Flow Jobs Example - 33462
    Enter a value in Enter Val Text field and press Submit
    The process will insert a record in the flow jobs table, you may need to press refresh to see the job complete and for the value to appear in the PT_TEMP_TABLE
    Regards
    Paul

  • Generate PDF (BI Publisher) through APEX_PLSQL_JOB.SUBMIT_PROCESS

    Hi!
    Oracle 10.2.0.4 32, Apex 4.0.2, BIP 10.x Win.
    I have to generate cca. 1000 reports in PDF (some customer bills) through BI Publisher print server.
    PDF is defined through "Reports queries" and "Reports layouts" directly defined from Apex env. Report template is Word RTF file. Report query has one parameter:
    and R.BILL_ID = :G_BILL_IDRunning from App page process it is not acceptable to do that because operation should takes hours and user cannot have open freezed browser.
    So I found out "APEX_PLSQL_JOB.SUBMIT_PROCESS", which submit process in "job" as background process.
    On page I left just "SUBMIT_PROCESS" call:
    BEGIN
      APEX_PLSQL_JOB.SUBMIT_PROCESS ('begin bills_pkg.generate_biils; end');
    END;and put the whole logic in package. Small problem was to change Apex item (Application item), what I solved and change with:
    APEX_UTIL.set_session_state(p_name => 'G_BILL_ID', p_value => cur_array(i).B_ID);for every record in cursor (I know his is not optimal but I just wanted to get working demo).
    Call from package procedure is like (slightly modified from Apex page process which was working!):
    open cur;
      -- assign to have that value as parameter for !??
      APEX_UTIL.set_session_state(p_name => 'G_BILL_ID', p_value => cur_array(i).B_ID);
      print_one_report (cur_array(i).B_ID);
    close cur;where "print_one_report" is mine procedure which saves PDF in db (proc was the same as before when was working but with too long result).
    Unfortunately then all generated PDF reports (which I save in database) has 0 bytes length (I call the same procedure called as before when reports were generated but from Apex page process directly).
    Seems that "G_BILL_ID" is no longer having correct values ... like session problems.
    How to achieve and fix that (generate PDF from cursor) or is there any article how to manage BI Publisher printing with APEX_PLSQL_JOB.SUBMIT_PROCESS?
    Rg,
    Damir Vadas
    P.S.
    Should
    apex_custom_auth.define_user_session (p_user, p_session_id );
    apex_application.g_flow_id := p_app_id;might help?
    Edited by: user1050751 on May 13, 2011 12:57 PM

    Damir,
    Here is one way that you could get a background job to create your thousand reports (4 steps).
    1st define your report query and layout within APEX (and BI-Publisher builder - Word plugin).
    2nd write a custom process to call apex_util.get_print_document to generate your 1000 reports and place them in a blob column.
    http://download.oracle.com/docs/cd/E17556_01/doc/apirefs.40/e15519/apex_util.htm#CHDDECIA
    DECLARE
        l_document BLOB;
         l_security_group_id NUMBER;
        CURSOR your_cur IS
        SELECT...your thousand records
    BEGIN
        wwv_flow_api.set_security_group_id(p_security_group_id);
        l_security_group_id := wwv_flow_api.get_security_group_id;
        FOR your_rec IN your_cur LOOP
            BEGIN
                 set any item values that will be referenced in your report query here
                 l_document := APEX_UTIL.GET_PRINT_DOCUMENT (p_application_id     => v_your_app_id,
                                                             p_report_query_name  => v_your_defined_report_name,
                                                             p_report_layout_name => v_your_defined_layout_name,
                                                             p_report_layout_type => 'rtf',
                                                             p_document_format    => 'pdf',
                                                             --p_print_server             =>
                INSERT INTO your_table... id, l_document, file_name, mime_type...
                COMMIT;
            EXCEPTION
                WHEN others THEN
                      write an error to a job log...
            END;
        END LOOP;
    EXCEPTION
         WHEN others THEN
               write an error to a job log...
    END;3rd write logic that will submit your custom process using APEX_PLSQL_JOB.SUBMIT_PROCESS or you can use dmbs_scheduler package.
    4th write code to retrieve the report data from the blob column and display or distribute to users.
    I've never called the apex_util.get_print_document recursively like this before so I'm not sure how it will perform. There are 4 versions of the get_print_document API so use the one that best fits your needs with performance in mind.
    After writing the above logic I found this post that is very similar.
    Scheduling reports with dbms_scheduler
    An alternative method to what I've listed above is scheduling reports using the Bi-Publisher web service.
    http://bipconsulting.blogspot.com/2010/04/how-to-schedule-report-with-bi.html
    Regards,
    Todd
    Edited by: tfa on May 16, 2011 8:03 AM

  • APEX_PLSQL_JOB.SUBMIT_PROCESS with no results

    Hi,
    When I run APEX_PLSQL_JOB.SUBMIT_PROCESS I can see the process ran in the view APEX_PLSQL_JOBS from the sql workshop, but nothing has happened.
    For instance: when I submit the following, no results show up in the table.
    Any ideas as to how I can check what's going wrong?
    DECLARE
    t_job_id NUMBER;
    t_sql VARCHAR2(4000);
    BEGIN
    t_sql := 'BEGIN INSERT INTO EXAMPLE ( COL1, COL2, COL3, COL4) '||
    ' VALUES (1, 763707, 20, 30 ); END; ';
    t_job_id := APEX_PLSQL_JOB.SUBMIT_PROCESS (p_sql => t_sql);
    apex_debug_message.log_message('Job started: '||t_job_id);
    COMMIT;
    END;
    I am using APEX version 4.1.1.00.23 on Oracle 11g

    Hi,
    When I run APEX_PLSQL_JOB.SUBMIT_PROCESS I can see the process ran in the view APEX_PLSQL_JOBS from the sql workshop, but nothing has happened.For instance: when I submit the following, no results show up in the table.
    Any ideas as to how I can check what's going wrong?
    >
    This may be because the job has an error. Check DBA_ERRORS View for errors.
    Always post your code snippets in a pair of {code} tags as explained in the FAQ.
    >
    DECLARE
    t_job_id NUMBER;
    t_sql VARCHAR2(4000);
    BEGIN
    t_sql := 'BEGIN INSERT INTO EXAMPLE ( COL1, COL2, COL3, COL4) '||
    ' VALUES (1, 763707, 20, 30 ); END; ';
    t_job_id := APEX_PLSQL_JOB.SUBMIT_PROCESS (p_sql => t_sql);
    apex_debug_message.log_message('Job started: '||t_job_id);
    COMMIT;
    END;I am using APEX version 4.1.1.00.23 on Oracle 11g>
    In the above code, are all the columns of type Number? VARCHAR2 columns will need to be in quotes, right?
    Also check the Debug report of the page after running it in Debug mode. Maybe you will get some clues there too.
    Cheers,

  • APEX_PLSQL_JOB.SUBMIT_PROCESS /  Process Type "PLSQL DBMS JOB"

    Has anyone got APEX_PLSQL_JOB.SUBMIT_PROCESS to work? I've seen several threads which my exact problem but am unsure if anyone has got it to work.
    Here is my process:
    declare
      jobnumber number;
    begin
    IF apex_plsql_job.jobs_are_enabled THEN
        jobnumber := apex_plsql_job.submit_process(
              p_sql => 'insert into temp_jobtest
                        values (''APEX PLSQL Job'',sysdate); 
                        commit;');
    END IF;
    end;Process runs and APEX_PLSQL_JOBS shows SYSTEM_STATUS as "COMPLETE" but no rows are ever added to the temp_jobtest table. I tried submitting directly using dbms_job and it worked as expected.
    I have read: Background jobs
    I really wish we could still create a process type of (PLSQL DBMS JOB). If this functionality has been deprecated then why is it still referenced in the User Guide?
    From the APEX User Guide, Release 2.2, B28550-01, July 2006; page 13-15; heading - "Using a Process to Implement Background PL/SQL"
    The simplest way to implement the APEX_PLSQL_JOB package is to create a page
    process that specifies the process type PLSQL DBMS JOB. By selecting this process
    type, Application Builder will submit the PL/SQL code you specify as a job.

    "Ok, I do see it.....if I was still working in a version pre 2.0"
    Which is exactly what I have done. I had access to a HTMLDB 1.5 environment.
    --I create a new application in 1.5 with 1 page. 
    --Added a page process with a process type of  "PL/SQL DBMS JOB". 
    --Exported the application.
    --Import the application into APEX 2.2 environment
    --copy page from imported application to my application
    --copied the process from my copied page to the page in my application where I want the process
    So far it is working just as I expected.
    Thanks Jeleeb! I present you with a silver medal.

  • On Login to Workspace requested URL /pls/apex/f was not found Error

    Dear All,
    When I log into a workspace I get the following :
    The requested URL /pls/apex/f was not found on this server.
    Note:
    1. The workspace was working fine and while working only this issue started and the problem exists since.
    2. I am able to log into Internal Workspace
    The Error_Log is as follows:
    [Wed Jun 15 12:56:09 2011] [error] [client IP ADDRESS REMOVED] [ecid: 1308131768:IP ADDRESS REMOVED:2320:2580:12,0] mod_plsql: /pls/apex/f HTTP-404 ORA-20867: ORA-01654: unable to extend index APEX_040000.WWV_FLOW_ACTIVITY_LOG2$_IDX2 by 8 in tablespace APEX\nORA-06512: at "APEX_040000.WWV_FLOW_LOG", line 208\nORA-06512: at "APEX_040000.WWV_FLOW", line 12472\nORA-06512: at "APEX_040000.F", line 267\nORA-06512: at "APEX_040000.F", line 294\nORA-06512: at line 22\n
    Thanks & Regards
    Arif Khadas
    Edited by: Arif Khadas on Jun 15, 2011 1:26 PM

    Problem Solved.
    APEX TABLESPACE Problem.

  • Error message: ORA-06553: PLS-213: package STANDARD not accessible

    I log in the database by owner 'sys'. and I tried to drop a user from the database. But the db didn't allow me to do this. Then, I want to copy the table structure from one schema to another schema. the error is come:
    ORA-06553: PLS-213: package STANDARD not accessible
    Unreasonable that, I have tried to do this task many times before, it still worked. But after I failed to drop the user, then the db didn't allow me to copy table structure.
    That problem also affected that the user cannot sign-in into the company web site which is connected to database. Very complex problem now.
    What can I do now? Did the problem is related to the process of droping user? any setting I could do to let me fix it?
    Could you please help me to solve this problem? Thx very much!

    Thanks for your reply!
    Actually, I login as SYS, and I have run the following scripts in SQL*plus :
    SQL> connect / as sysdba
    SQL> $ORACLE_HOME/rdbms/admin/catalog.sql
    SQL> $ORACLE_HOME/rdbms/admin/catproc.sql
    SQL> $ORACLE_HOME/rdbms/admin/catexp.sql
    However, those scripts are response to following message:
    'ORACLE_HOME' is not recognized as an internal or external command,
    operable program or batch file.
    So, what could I do next? Thaks a lot!

  • Can't start httml db. the requested URL /pls/beta/htmldb was not found on t

    Hi, I'm trying to login to htmldb but are getting the following errors:
    The requested URL /pls/beta/htmldb was not found on this server.
    Oracle HTTP Server Powered by Apache/1.3.22 Server at Matea Port 7777
    My database is 9.2.0.4. These are the values in conf files:
    LISTENER.ORA:
    # TNSNAMES.ORA Network Configuration File: /home/oracle/app/oracle/product/9.2.0/network/admin/tnsnames.ora
    # Generated by Oracle configuration tools.
    BETA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = Matea)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = BETA.world)
    ROM =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = Matea)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = ROM.world)
    INST1_HTTP =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = Matea)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = SHARED)
    (SERVICE_NAME = MODOSE)
    (PRESENTATION = http://HRService)
    TNSNAMES.ORA:
    # TNSNAMES.ORA Network Configuration File: /home/oracle/app/oracle/product/9.2.0/network/admin/tnsnames.ora
    # Generated by Oracle configuration tools.
    BETA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = Matea)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = BETA.world)
    ROM =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = Matea)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = ROM.world)
    INST1_HTTP =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = Matea)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = SHARED)
    (SERVICE_NAME = MODOSE)
    (PRESENTATION = http://HRService)
    HTTPD.CONF:
    Alias /i/ "/home/oracle/app/oracle/product/9.2.0/images/"
    wdbsvr.app:
    [DAD_htmldb]
    connect_string = 89.0.0.4:1521:beta
    password = !YmV0YWh0bWw=
    username = htmldb_public_user
    default_page = htmldb
    document_table = wwv_flow_file_objects$
    document_path = docs
    document_proc = wwv_flow_file_mgr.process_download
    reuse = No
    enablesso = No
    stateful = STATELESS_RESET
    nls_lang = American_America.WE8ISO8859P1
    Values in nls_database_parameters:
    SQL> select * from nls_database_parameters;
    PARAMETER VALUE
    NLS_LANGUAGE AMERICAN
    NLS_TERRITORY AMERICA
    NLS_CURRENCY $
    NLS_ISO_CURRENCY AMERICA
    NLS_NUMERIC_CHARACTERS .,
    NLS_CHARACTERSET WE8ISO8859P1
    NLS_CALENDAR GREGORIAN
    NLS_DATE_FORMAT DD-MON-RR
    NLS_DATE_LANGUAGE AMERICAN
    NLS_SORT BINARY
    NLS_TIME_FORMAT HH.MI.SSXFF AM
    PARAMETER VALUE
    NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
    NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
    NLS_DUAL_CURRENCY $
    NLS_COMP BINARY
    NLS_LENGTH_SEMANTICS BYTE
    NLS_NCHAR_CONV_EXCP FALSE
    NLS_NCHAR_CHARACTERSET AL16UTF16
    NLS_RDBMS_VERSION 9.2.0.4.0
    20 rows selected.
    I can start http server and login to http server index page, but can't go any further. There seems to be a problem with database descriptor.
    What's wrong ? Can I enable any trace on ?
    Help will be greatly appreciated ....!

    OK. Some plsql objects are not valid:
    1 select object_name,object_type ,status from dba_objects where owner like 'FLO%'
    2* and status='INVALID'
    SQL> /
    OBJECT_NAME OBJECT_TYPE STATUS
    VRN FUNCTION INVALID
    WWV_BIU_FLOW_COLLECTION TRIGGER INVALID
    WWV_BIU_FLOW_COMPANIES TRIGGER INVALID
    WWV_CREATE_FORUM_DEMO_SCRIPT PROCEDURE INVALID
    WWV_CRYPT PACKAGE BODY INVALID
    WWV_FLOW_CSS_API PACKAGE BODY INVALID
    WWV_FLOW_DEBUGTAB_BIU_FER TRIGGER INVALID
    WWV_FLOW_FILE_API PACKAGE BODY INVALID
    WWV_FLOW_FILE_MGR PACKAGE BODY INVALID
    WWV_FLOW_FND_USER_API PACKAGE BODY INVALID
    WWV_FLOW_GENERATE_DDL PACKAGE BODY INVALID
    OBJECT_NAME OBJECT_TYPE STATUS
    WWV_FLOW_GEN_API2 PACKAGE BODY INVALID
    WWV_FLOW_HTML_API PACKAGE BODY INVALID
    WWV_FLOW_IMAGE_API PACKAGE BODY INVALID
    WWV_FLOW_IMPORT_EXPORT_RESET PROCEDURE INVALID
    WWV_FLOW_IMPORT_EXPORT_UPDATE PROCEDURE INVALID
    WWV_FLOW_IMP_PARSER PACKAGE BODY INVALID
    WWV_FLOW_LOAD_DATA PACKAGE BODY INVALID
    WWV_FLOW_LOAD_EXCEL_DATA PACKAGE BODY INVALID
    WWV_FLOW_PARSER PACKAGE INVALID
    WWV_FLOW_PARSER PACKAGE BODY INVALID
    WWV_FLOW_PARSER_PUBLIC PACKAGE INVALID
    OBJECT_NAME OBJECT_TYPE STATUS
    WWV_FLOW_PARSER_PUBLIC PACKAGE BODY INVALID
    WWV_FLOW_SCRIPT_EXPORT PACKAGE BODY INVALID
    WWV_FLOW_SW_API PACKAGE BODY INVALID
    WWV_FLOW_XLIFF PACKAGE BODY INVALID
    26 rows selected.

  • Urgent:why portal30 DAD can not invoke procedure through url

    My portal version is 3.0.9
    I found an mod/plsql problem .I created a procedure named current_user like this :
    create or replace procedure current_users
    AS
    ignore boolean;
    BEGIN
    htp.htmlopen;
    htp.headopen;
    htp.title('Current Users');
    htp.headclose;
    htp.bodyopen;
    htp.header(1, 'Current Users');
    htp.bodyclose;
    htp.htmlclose;
    END;
    And I created it in portal30 schema,and I want to use http://<hostname>/pls/portal30/current_users to invoke the procedure but the IE return a "NOT FOUND" error .
    I tried to create the procedure in scott schema,and use http://<hostname>/pls/scott/current_users to invoke the procedure ,it worked well.
    The diffrent between DAD "scott" and "portal30" is the Authorization type,"scott" use basic auth,and "portal30" use sso.
    anybody knows why it appeared?thanks.

    Thanks , it works now .
    But I still has a question,for example:
    When I create a procedure to query what is the newest items be added in content area.
    Let surppose there has two users:A and B,and I want userA to see 10 Items and userB to see
    20 Items because of the diffrent privilege,how can I do it ?
    Thanks again

  • VARIABLES IN FORM NOT IN PROCEDURE: CHECKBOX

    We have started getting intermittant errors on a page, in places that were previously OK, yet no change was made to those particular objects.
    The browser displays the following:
    Not Found
    The requested URL /pls/apex/wwv_flow.accept was not found on this server.
    Oracle-Application-Server-10g/10.1.2.0.2 Oracle-HTTP-Server Server at <host> Port 7778
    The Apache error log shows the following:
    mod_plsql: /pls/apex/wwv_flow.accept HTTP-404
    wwv_flow.accept: SIGNATURE (parameter names) MISMATCH
    VARIABLES IN FORM NOT IN PROCEDURE: CHECKBOX
    NON-DEFAULT VARIABLES IN PROCEDURE NOT IN FORM:
    Application Express version: 3.2.0.00.27
    RDBMS version: 10.2.0.4
    Just wondering if we have reached some sort of resource limit here, and if so, is there a solution that doesn't involve deleting page objects?
    Further info: For troubleshooting, the entire application was exported from production and imported into the other 2 environments.
    Results: Production - OK
    UAT - OK
    Development - errors as above
    The code and db structures between these environments are identical - even the data is the same having refreshed the schemas from prod also.

    I was given this exception when trying to submit a form with radiobuttons, and no default cheked.
    It's intermittent behaviour was explained because of the nature of the code. It printed the input depending on some clients atributes, so that in some cases it would only print input without the 'cheked' property.
    Some workflow wouldn't print any radiobutton wirh the 'cheked' value, giving the user the posibility of not sending data on the parameter:
    <input type="radio" name="boletin" value="S" checked>
    Hope it helps!

  • Pls Send me Step by Step procedure for a Smartforms

    hi all ,
                        pls send me Step by step procedure for a Smartform creation or PPT  to This Email id : [removed by moderator]
    thanks in advance
    rgds
    rafi.v

    hi mahammad rafi,
    u can read this,
    smart forms
    Introduction to SAP SmartForms
    What is SAP Smart Forms?
    SAP Smart Forms is introduced in SAP Basis Release 4.6C as the tool for creating and maintaining forms. 
    SAP Smart Forms allow you to execute simple modifications to the form and in the form logic by using simple graphical tools; in 90% of all
    cases, this won't include any programming effort. Thus, a power user without any programming knowledge can 
    configure forms with data from an SAP System for the relevant business processes.
    To print a form, you need a program for data retrieval and a Smart Form that contains the entire from logic. As data retrieval and form logic
    are separated, you must only adapt the Smart Form if changes to the form logic are necessary. The application program passes the data via
    a function module interface to the Smart Form. When activating the Smart Form, the system automatically generates a function module. At
    runtime, the system processes this function module.
    You can insert static and dynamic tables. This includes line feeds in individual table cells, triggering events for table headings and subtotals,
    and sorting data before output.
    You can check individual nodes as well as the entire form and find any existing errors in the tree structure. The data flow analysis checks
    whether all fields (variables) have a defined value at the moment they are displayed.
    SAP Smart Forms allow you to include graphics, which you can display either as part of the form or as background graphics. You use
    background graphics to copy the layout of an existing (scanned) form or to lend forms a company-specific look. During printout, you can
    suppress the background graphic, if desired.
    SAP Smart Forms also support postage optimizing.
    Also read SAP Note No. 168368 - Smart Forms: New form tool in Release 4.6C
    What Transaction to start SAP Smart Forms?
    Execute transaction SMARTFORMS to start SAP Smart Forms.
    Key Benefits of SAP Smart Forms:
    SAP Smart Forms allows you to reduce considerably the implementation costs of mySAP.com solutions since forms can be adjusted in
    minimum time. 
    You design a form using the graphical Form Painter and the graphical Table Painter. The form logic is represented by a hierarchy structure
    (tree structure) that consists of individual nodes, such as nodes for global settings, nodes for texts, nodes for output tables, or nodes for
    graphics.
    To make changes, use Drag & Drop, Copy & Paste, and select different attributes.
    These actions do not include writing of coding lines or using a Script language.
    Using your form description maintained in the Form Builder, Smart Forms generates a function module that encapsulates layout, content
    and form logic. So you do not need a group of function modules to print a form, but only one. 
    For Web publishing, the system provides a generated XML output of the processed form.
    Smart Forms provides a data stream called XML for Smart Forms (XSF) to allow the use of 3rd party printing tools. XSF passes form content
    from R/3 to an external product without passing any layout information about the Smart Form. 
    Advantages of SAP Smart Forms
    SAP Smart Forms have the following advantages:
    1. The adaption of forms is supported to a large extent by graphic tools for layout and logic, so that no programming knowledge is
    necessary (at least 90% of all adjustments). Therefore, power user forms can also make configurations for your business processes with
    data from an SAP system. Consultants are only required in special cases.
    2. Displaying table structures (dynamic framing of texts)
    3. Output of background graphics, for form design in particular the use of templates which were scanned.
    4. Colored output of texts
    5. User-friendly and integrated Form Painter for the graphical design of forms
    6. Graphical Table Painter for drawing tables
    7. Reusing Font and paragraph formats in forms (Smart Styles)
    8. Data interface in XML format (XML for Smart Forms, in short XSF)
    9. Form translation is supported by standard translation tools
    10. Flexible reuse of text modules
    11. HTML output of forms (Basis release 6.10)
    12. Interactive Web forms with input fields, pushbuttons, radio buttons, etc. (Basis-Release 6.10)
    A Simple Smartform Tutorial 
    SAP Smartforms can be used for creating and maintaining forms for mass printing in SAP Systems. The output medium for Smartforms
    support printer, fax, e-mail, or the Internet (by using the generated XML output). 
    According to SAP, you need neither have any programming knowledge nor use a Script language to adapt standard forms. However, basic
    ABAP programming skills are required only in special cases (for example, to call a function module you created or for complex and extensive
    conditions). 
    1. Create a new smartforms
    Transaction code SMARTFORMS
    Create new smartforms call ZSMART
    2. Define looping process for internal table 
            Pages and windows
    First Page -> Header Window (Cursor at First Page then click Edit -> Node -> Create)
    Here, you can specify your title and page numbering
    &SFSY-PAGE& (Page 1) of &SFSY-FORMPAGES(Z4.0)& (Total Page) 
    Main windows -> TABLE -> DATA 
    In the Loop section, tick Internal table and fill in 
    ITAB1 (table in ABAP SMARTFORM calling function) INTO ITAB2
    3. Define table in smartforms
             Global settings :
             Form interface
             Variable name    Type assignment   Reference type
             ITAB1               TYPE                  Table Structure
             Global definitions
             Variable name    Type assignment   Reference type
             ITAB2               TYPE                  Table Structure 
    4. To display the data in the form 
      Make used of the Table Painter and declare the Line Type in Tabstrips Table
       e.g.  HD_GEN for printing header details,
               IT_GEN  for printing data details. 
       You have to specify the Line Type in your Text elements in the Tabstrips Output options.
        Tick the New Line and specify the Line Type for outputting the data.
        Declare your output fields in Text elements 
        Tabstrips - Output Options
        For different fonts use this Style : IDWTCERTSTYLE
        For Quantity or Amout you can used this variable &GS_ITAB-AMOUNT(12.2)&
    5. Calling SMARTFORMS from your ABAP program 
    REPORT ZSMARTFORM. 
    Calling SMARTFORMS from your ABAP program.
    Collecting all the table data in your program, and pass once to SMARTFORMS
    SMARTFORMS
    Declare your table type in :-
    Global Settings -> Form Interface
    Global Definintions -> Global Data
    Main Window -> Table -> DATA
    Written by :  SAP Hints and Tips on Configuration and ABAP/4 Programming
                        http://sapr3.tripod.com
    TABLES: MKPF. 
    DATA: FM_NAME TYPE RS38L_FNAM. 
    DATA: BEGIN OF INT_MKPF OCCURS 0.
          INCLUDE STRUCTURE MKPF.
    DATA: END OF INT_MKPF. 
    SELECT-OPTIONS S_MBLNR FOR MKPF-MBLNR MEMORY ID 001. 
    SELECT * FROM MKPF WHERE MBLNR IN S_MBLNR.
    MOVE-CORRESPONDING MKPF TO INT_MKPF.
    APPEND INT_MKPF. 
    ENDSELECT. 
    At the end of your program.
    Passing data to SMARTFORMS 
    call function 'SSF_FUNCTION_MODULE_NAME'
    exporting
      formname                 = 'ZSMARTFORM'
      VARIANT                  = ' '
      DIRECT_CALL              = ' '
    IMPORTING
      FM_NAME                  = FM_NAME
    EXCEPTIONS
      NO_FORM                  = 1
      NO_FUNCTION_MODULE       = 2
      OTHERS                   = 3. 
    if sy-subrc <> 0.
    WRITE: / 'ERROR 1'.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif. 
    call function FM_NAME
    EXPORTING
      ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB          =
      ARCHIVE_PARAMETERS         =
      CONTROL_PARAMETERS         =
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT             =
      MAIL_SENDER                =
      OUTPUT_OPTIONS             =
      USER_SETTINGS              = 'X'
    IMPORTING
      DOCUMENT_OUTPUT_INFO       =
      JOB_OUTPUT_INFO            =
      JOB_OUTPUT_OPTIONS         =
    TABLES
      GS_MKPF                    = INT_MKPF
    EXCEPTIONS
      FORMATTING_ERROR           = 1
      INTERNAL_ERROR             = 2
      SEND_ERROR                 = 3
      USER_CANCELED              = 4
      OTHERS                     = 5. 
    if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    Additional Fonts for your SMARTFORMS 
    You can create additional fonts and style with transaction SMARTSTYLES
    This can then be define in the paragraph and character formats, which you can then be assign to texts and fields in the Smart Form. 
    The character formats includes effects such as superscript, subscript, barcode and font attributes.
    Difference with SMARTFORMS vs. SapScript(SE71)
    The Following are the differences :-
    a) Multiple page formats are possible in smartforms which is not the case in SAPScripts
    b) It is possible to have a smartform without a main window .
    c) Labels cannot be created in smartforms.
    d) Routines can be written in smartforms tool.
    e) Smartforms generates a function module when activated.
    Contributed by : SAP ABAP/4 Programming, Basis Administration, Configuration Hints and Tips
    f) Unlike sapscripts (RSTXSCRP), you cannot upload/download Smartform to your local harddisk. 
    It was said that it was provided in CRM 3.0 version, but not available in R/3.  You can download smartforms into Local PC in a XML format. 
    In the same way you can upload this XML format into Smartform.  From the smartform editor itself you can call download option, if you are
    working in CRM 3.0 environment. 
    In R3 also, you can download into XML format. However, it's not sure about uploading. Refer to the program 'SF_XSF_DEMO'.
    In 4.7 Enterprise, other have seen this utlity which is completey missing in 4.6c. There is functionality to downlaod a complete form or only a
    particular node. (Utilities -> Download form). It will create a XML file and save it in the hard disk. 
    For others, if you want to download/upload the Smartforms source, you will need the help from the Basis people.  What you can do is to
    create a Transport and then FTP down to your local harddisk.   When you need the Smartform source in another system, you have FTP up
    the Smartforms file back to the SAP server.  Finally, the Basis team, will tp it into your system.
    g) The protect and endprotect command in sapscript doesn't work with smartforms. For example on a invoice: First data of position no 80. is
    printed on page one, other data of position no 80 is printed on page 2. And there's nothing you can do about it.  Actually, there is
    something you can do about it.  By using a folder node and checking the 'protect' checkbox, everything in that folder will be page protected.
    FAQ on Migrating SAPscript to SmartForms
    Is it possible to migrate a SAPscript form to a Smart Form? 
    Smart Forms provides a migration tool for this purpose which migrates layout and texts of a SAPscript form to a Smart Form. It does not
    migrate SAPscript form logic of the print program. Using Smart Forms, this logic is described by the tree structure of the Form Builder. The
    effort involved in migrating it depends on the complexity of the print program. 
    Which Basis Release do I need to use SAP Smart Forms? 
    SAP Smart Forms is available as of R/3 Basis Release 4.6C. 
    I have heard that Smart Forms replaces SAPscript. What does "replace" mean? 
    It does not mean that SAPscript is removed from the Basis shipment. Even as of Basis Release 4.6C, SAPscript remains part of the SAP
    standard and there are no plans to remove it. Since Smart Forms is currently, and will continue to be, the tool for form maintenance for
    mySAP.com solutions, our further development efforts will focus on Smart Forms, not on SAPscript.
    Do we have to migrate all SAPscript forms to Smart Forms? 
    There is no point in migrating all SAPscript forms already in use. Since SAPscript can still be used and will be available in the future, there is
    no need to. If you plan to migrate a SAPscript form, it is recommended that you check whether benefit is worth the effort involved.
    Conversion of SAPSCRIPT to SMARTFORMS
    SAP provides a conversion for SAPscript documents to SMARTforms.
    This is basically a function module, called FB_MIGRATE_FORM. You can  start this function module by hand (via SE37), or create a small ABAP
    which migrates all SAPscript forms automatically.
    You can also do this one-by-one in transaction SMARTFORMS, under 
    Utilities -> Migrate SAPscript form.
    You could also write a small batch program calling transaction SMARTFORMS and running the migration tool.
    SmartForms System Fields
    Within a form you can use the field string SFSY with its system fields. During form processing  the system replaces these fields with the
    corresponding values. The field values come from the  SAP System or are results of the processing.
    System fields of Smart Forms
    &SFSY-DATE& 
    Displays the date. You determine the display format in the user master record.
    &SFSY-TIME& 
    Displays the time of day in the form HH:MM:SS.
    &SFSY-PAGE& 
    Inserts the number of the current print page into the text. You determine the  format of the page number (for example, Arabic, numeric) in
    the page node. 
    &SFSY-FORMPAGES& 
    Displays the total number of pages for the currently processed form. This  allows you to include texts such as'Page x of y' into your output. 
    &SFSY-JOBPAGES& 
    Contains the total page number of all forms in the currently processed print  request. 
    &SFSY-WINDOWNAME& 
    Contains the name of the current window (string in the Window field)
    &SFSY-PAGENAME& 
    Contains the name of the current page (string in the Page field)
    &SFSY-PAGEBREAK& 
    Is set to 'X' after a page break (either automatic [Page 7] or  command-controlled [Page 46])
    &SFSY-MAINEND& 
    Is set as soon as processing of the main window on the current page ends
    &SFSY-EXCEPTION&
    Contains the name of the raised exception. You must trigger your own  exceptions, which you defined in the form interface, using the
    user_exception macro (syntax:  user_exception <exception name >). 
    Example Forms Available in Standard SAP R/3
    SF_EXAMPLE_01 
    Simple example; invoice with table output of flight booking for one customer
    SF_EXAMPLE_02 
    Similar to SF_EXAMPLE_01 but with subtotals
    SF_EXAMPLE_03 
    Similar to SF_EXAMPLE_02, whereby several customers are selected in the application program; the  form is called for each customer and all
    form outputs are included in an output request
    Smart forms Frequently Asked Questions
    Forcing a page break within table loop
    Create a loop around the table. Put a Command node before the table in the loop that forces a NEWPAGE on whatever condition you want.
    Then only loop through a subset of the internal table (based on the conditions in the Command node) of the elements in the Table node. 
    Font style and Font size
    Goto Transaction SMARTSTYLES. 
    There you can create Paragraph formats etc just like in sapscript. 
    Then in your window under OUTPUT OPTIONS you include this SMARTSTYLE and use the Paragraph and character formats. 
    Line in Smartform
    Either you can use a window that takes up the width of your page and only has a height of 1 mm. 
    Then you put a frame around it (in window output options). 
    Thus you have drawn a box but it looks like a line. 
    Or you can just draw "__" accross the page and play with the fonts so that it joins each UNDER_SCORE. 
    Difference between 'forminterface' and 'global definitions' in global settings of smart forms
    The Difference is as follows. 
    To put it very simply: 
    Form Interface is where you declare what must be passed in and out of the smartform (in from the print program to the smartform and out
    from the smartform to the print program). 
    Global defs. is where you declare data to be used within the smartform on a global scope. 
    ie: anything you declare here can be used in any other node in the form. 
    Smartforms function module name 
    Once you have activated the smartform, go to the environment -> function module name. There you can get the name of funtion module
    name. 
    The key thing is the program that calls it. for instance, the invoice SMARTFORM LB_BIL_INVOICE is ran by the program RLB_INVOICE. 
    This program uses another FM to determine the name of the FM to use itself. The key thing is that when it calls this FM (using a variable to
    store the actual name), that the parameters match the paramters in your smartform.
    Another thing to note is that the FM name will change wherever the SF is transported to. 
    So you need to use the FM to determine the name of the SF. 
    Here is the code that can be use to determine the internal name of the function module: 
    Code: 
      if sf_label(1) <> '/'.    " need to resolve by name 
        move sf_label to externalname. 
        call function 'SSF_FUNCTION_MODULE_NAME' 
             exporting 
                  formname           = externalname 
             importing 
                  fm_name            = internalname 
             exceptions 
                  no_form            = 1 
                  no_function_module = 2 
                  others             = 3. 
        if sy-subrc <> 0. 
          message 'e427'. 
        endif. 
        move internalname to sf_label. 
      endif. 
    It checks to see if the sf_label starts with a '/', which is how the internal names start. if it does, the name has already been converted. If
    not, it calls the FM and converts the name. 
    You would then CALL FUNCTION sf_label. 
    Smartforms FAQ Part Two
    Smartforms output difference
    Problem with Smartforms: in a certain form for two differently configured printers, there seem to be a difference in the output of characters
    per inch (the distance between characters which gives a layout problem - text in two lines instead of one.
    It happens when the two printers having different Printer Controls' if you go to SPAD Menu (Spool Administrator Menu) you can see the
    difference in the Printer Control and if you make the Printer control setting for both the printers as same. then it will be ok. and also u have
    to check what is the device type used for both the output devices. 
    SmartForms Output to PDF
    There is a way to download smartform in PDF format.
    Please do the following:
    1. Print the smartform to the spool.
    2. Note the spool number.
    3. Download a PDF file (Acrobat Reader) version of the spool by running Program RSTXPDFT4 and entering the
    noted spool number.
    SmartForm Doublesided printing question 
    Your customer wants your PO SmartForm to be able to print "Terms and Conditinos" on the back side of each page. They don't want to
    purchase pre-printed forms with the company's logo on the front and terms & conditions on the back. Now this presents an interesting
    problem. 
    Has anyone else ever had a request like this? If for example there was a 3 page PO to be printed,  they want 3 pieces of paper, the front
    side of each to containe the PO information (page 1, 2, and 3) and the back side of each piece of paper to containg the static "Terms &
    Conditions" information. 
    Anyone have a clue how to force this out? 
    Easy - page FRONT lists page CONTACTS as next page and CONTACTS lists FRONT as next page. Since CONTACTS does not contain a MAIN
    window, it will print the contacts info and then continue on to FRONT for the rest of the main items. Additionally, set print mode on FRONT to
    D (duplex) and set CONTACTS to 'blank' (for both resource name and print mode - this is the only way to get to the back of the page). 
    Transport Smart Forms
    How does one transport SMARTFORM? SE01?  
    How do you make sure that both, the SMARTFORM & it's function module gets transported? Or does the FM with same name gets generated
    automatically in the transported client? 
    A smartform is transported no differently than any other object. if it is assigned to a development class that is atteched to a transport layer,
    it will be transported. 
    The definition is transported, and when called, the function module is regenerated. 
    This leads to an interetsing situation. On the new machine, it is very likely the function module name will be different than the name on the
    source system. Make sure, before you call the function module, you resolve the external name to the internal name using the
    'SSF_FUNCTION_MODULE_NAME' function module. 
    Typically, generate the SF, then use the pattern to being in the interface. Then change the call function to use the name you get back from
    the above function module. 
    Smartforms: protect lines in main window.
    How to protect lines in the main window from splitting between pages? 
    It was easy with SAPscript, but how to do it with SF's.   For 4.7 version if you are using tables, there are two options for protection against
    line break: 
    - You can protect a line type against page break.
    - You can protect several table lines against page break for output in the main area.
    Protection against page break for line types 
    - Double-click on your table node and choose the Table tab page. 
    - Switch to the detail view by choosing the Details pushbutton. 
    - Set the Protection against page break checkbox in the table for the relevant line type.  Table lines that use this line type are output on
    one page. 
    Protection against page break for several table lines 
    - Expand the main area of your table node in the navigation tree. 
    - Insert a file node for the table lines to be protected in the main area. 
    - If you have already created table lines in the main area, you can put the lines that you want to protect again page break under the file
    using Drag&Drop. Otherwise, create the table lines as subnodes of the file. 
    - Choose the Output Options tab page of the file node and set the Page Protection option.   All table lines that are in the file with the Page
    Protection option set are output on one page. 
    In 4.6, Alternatively in a paragraph format use the Page protection attribute to determine whether or not to display a paragraph completely
    on one page. Mark it if you want to avoid that a paragraph is split up by a page break. If on the current page (only in the main window)
    there is not enough space left for the paragraph, the entire paragraph appears on the next page. 
    Details information about SAP Barcodes
    A barcode solution consists of the following:
    - a barcode printer
    - a barcode reader
    - a mobile data collection application/program
    A barcode label is a special symbology to represent human readable information such as a material number or batch number
    in machine readable format.
    There are different symbologies for different applications and different industries. Luckily, you need not worry to much about that as the
    logistics supply chain has mostly standardized on 3 of 9 and 128 barcode symbologies - which all barcode readers support and which SAP
    support natively in it's printing protocols.
    You can print barcodes from SAP by modifying an existing output form.
    Behind every output form is a print program that collects all the data and then pass it to the form. The form contains the layout as well as
    the font, line and paragraph formats. These forms are designed using SAPScript (a very easy but frustratingly simplistic form format
    language) or SmartForms that is more of a graphical form design tool. 
    Barcodes are nothing more than a font definition and is part of the style sheet associated with a particular SAPScript form. The most
    important aspect is to place a parameter in the line of the form that points to the data element that you want to represent as barcode on
    the form, i.e. material number. Next you need to set the font for that parameter value to one of the supported barcode symbologies.
    The next part of the equation can be a bit tricky as you will need to get a printer to print that barcode font. Regular laser printers does not
    normally print barcode fonts, only specialized industrial printers that is specifically designed to support that protocol and that uses
    specialized label media and heat transfer (resin) ribbon to create the sharp image required for barcodes.
    Not to fear though, there are two ways to get around this:
    - You can have your IT department do some research - 
    most laser printers can accept a font cartridge/dimm chip (similar to computer memory), called a BarDIMM that will allow a laser printer to
    support the printing of barcodes.
    - Secondly, you can buy software that you can upload in your SAP pri
    regards..
    seshu.

  • ORA-06553:PL-221: 'LANE_NAME' is not a procedure or is underdefined

    Hi ,
    When I execute the following query
    SELECT CAST(report_parameter_value AS NUMBER) lane_id
                 FROM report_parameters
                WHERE report_parameters.report_parameter_id    = 1590
                  AND report_parameters.report_parameter_group = edr_rpt_constants_pkg.lane_group
                  AND report_parameters.report_parameter_name  = edr_rpt_constants_pkg.lane_name;it throws the following exception
    ORA-06553:PL-221: 'LANE_NAME' is not a procedure or is underdefined
    "lane_name" is defined as a constant in edr_rpt_constants_pkg.
    CREATE OR REPLACE PACKAGE edr_rpt_constants_pkg AS
        --Report Parameter Constants
        --Report Parameter Value Constants
        lane_grouping_together  CONSTANT report_parameters.report_parameter_value%TYPE := 'TOGETHER';
        lane_grouping_separate  CONSTANT report_parameters.report_parameter_value%TYPE := 'SEPERATE';
        lane_grouping_direction CONSTANT report_parameters.report_parameter_value%TYPE := 'DIRECTION';
        class_group CONSTANT report_parameters.report_parameter_group%TYPE             := 'CLASS';
        class_name  CONSTANT report_parameters.report_parameter_name%TYPE              := 'CLASS';
        lane_group CONSTANT report_parameters.report_parameter_group%TYPE              := 'LANE';
        lane_name  CONSTANT report_parameters.report_parameter_name%TYPE               := 'LANE';
    END edr_rpt_constants_pkg;
    /Could anyone tell me how to resolve this?
    Thanks.

    Hi,
    You cannot refer to a package constant directly in SQL.
    You need a 'getter' function in your package body and you need to calll that from your query.
    (All the function does is return the constant.)
    See for the pro's and con's of that approach f.i.: http://technology.amis.nl/blog/1202/wrong-use-of-constant-packages

Maybe you are looking for