Logo Background

Oracle Pasta Printer Driver

  • By on May 12, 2009 | 8 Comments

    Oracle Printer configuration was quite a tricky setting especially printing using the pasta printer driver.

    Before you define Oracle Printer, the printer has to be setup in Unix level where the Unix system engineer will have to define the printer entry.

    1. Login to the Oracle Apps Tier node in Unix and execute the command below to verify the setup of the printer in the OS level.

    Example: – Before we add the new printer oracle_printer, execute the command to make sure it was setup correctly.

    UNIX> lpstat -v -a | grep oracle_printer
    device for oracle_printer: /dev/null
    remote to: oracle_printer on oracle.printer.com
    oracle_printer accepting requests since Mar  5 00:41
     
    UNIX> lpstat -d oracle_printer
    no system default destination
     
    printer queue for oracle_printer
     
    no entries
     
    oracle_appsc: oracle_printer: ready and waiting
    no entries

    2. Go into Oracle Applications – System Administrator – Install – Printer – Register. Enter the Printer Name, Type and click Save.

    3. Login to the Oracle Apps Tier node in Unix and add the printer entry in uiprint.txt configuration files

    UNIX> vi $ORACLE_HOME/guicommon6/tk60/admin/uiprint.txt

    The location $ORACLE_HOME/guicommon6/tk60/admin/PPD stores all the required .ppd printer driver files

    Once you have set all the configuration for Oracle Pasta Printer Driver as above, you may start the printing from Oracle Applications.

    Oracle Pasta Printer Driver Configuration Script

    In case there’s problem in your Oracle Printer issue that needs troubleshooting, you may use the SQL script below for investigation: –

    SELECT
    NUMBER_OF_COPIES ,
    NLS_LANGUAGE ,
    NLS_TERRITORY ,
    PRINTER ,
    PRINT_STYLE ,
    COMPLETION_TEXT ,
    OUTPUT_FILE_TYPE ,
    NLS_CODESET ,OUTFILE_NODE_NAME,OUTFILE_NAME
    FROM
    FND_CONCURRENT_REQUESTS WHERE REQUEST_ID= '<Request ID>';
    SELECT PRINTER_STYLE_NAME ,SRW_DRIVER ,WIDTH , LENGTH , ORIENTATION 
    FROM FND_PRINTER_STYLES WHERE 
    PRINTER_STYLE_NAME= ( SELECT PRINT_STYLE FROM FND_CONCURRENT_REQUESTS WHERE 
    request_id='<Request ID>') ;
    SELECT PRINTER_DRIVER_NAME,
    USER_PRINTER_DRIVER_NAME ,
    PRINTER_DRIVER_METHOD_CODE ,
    SPOOL_FLAG ,
    COMMAND_NAME , ARGUMENTS ,
    INITIALIZATION , RESET
    FROM FND_PRINTER_DRIVERS WHERE PRINTER_DRIVER_NAME =(SELECT PRINTER_DRIVER FROM 
    FND_PRINTER_INFORMATION WHERE
    PRINTER_STYLE=( SELECT PRINT_STYLE FROM FND_CONCURRENT_REQUESTS 
    WHERE request_id='<Request ID>') 
    ANDPRINTER_TYPE=( SELECT PRINTER_TYPE FROM FND_PRINTER WHERE
    PRINTER_NAME=( SELECT PRINTER FROM FND_CONCURRENT_REQUESTS 
    WHERE request_id='<Request ID>' 
    )))
    SELECT * FROM FND_ENV_CONTEXT WHERE CONCURRENT_PROCESS_ID =(
    SELECT CONCURRENT_PROCESS_ID FROM FND_CONCURRENT_PROCESSES A,
    FND_CONCURRENT_REQUESTS B WHERE
    B.CONTROLLING_MANAGER=A.CONCURRENT_PROCESS_ID AND B.REQUEST_ID='<Request ID>')
    AND ( VARIABLE_NAME IN ('XENVIRONMENT','IX_PRINTING','ORACLE_HOME',
    'LD_LIBRARY_PATH',
    'NLS_LANG','REPORTS60_NO_DUMMY_PRINTER',
    'TK6_PRINT_STATUS','TK6_PRINTER', 'TK_PRINTER','PRINTER','DISPLAY','TK_LOCALE',
    'PASTA','APPLLCSP',
    'ORACLE_PRINTER','TK_PRINT_STATUS') OR VARIABLE_NAME LIKE '%REPORT%' OR
    VARIABLE_NAME LIKE 'IX_%' )

    A tricky part on the Oracle Printer was the output was sent to the printer but the printing doesn’t came out.

    Few steps you need to look at on this Oracle Printer issue was: –
    a) Try to print manually from Unix by executing lp -d
    b) Check the report output format and print option was enabled in System Administrator – Concurrent – Program – Define
    c) Check the pasta configuration files on the outputFormat variable. If the outputFormat=ps, try to change it to outputFormat=text and test the printing. If the output can be print from Oracle Printer, that means your printer doesn’t support PostScript printing

    Note: The default pasta configuration files was stored in $FND_TOP/resource/pasta.cfg and it will be used for the printing. You can create another pasta configuration files for your printer, let say your printer name was oracle, then the pasta configuration file name should be pasta_oracle.cfg which resides in $FND_TOP/resource

    Previous
    Next
    » Unix Printer Monitoring Script
  1. #1 Ruben
    January 24, 2010 9:23 pm

    On the Concurrent node, issue the command line as below to test the printer capability.

    For Text File Printing:
    lp -d (printer_name) (file_name)

    For PostScript Printing:
    lp -d (printer_name) -T postscript (file_name)

    Post ReplyPost Reply
  1. #2 Fusion XI
    February 23, 2010 8:58 pm

    Ruben, the Postscript printing command that you shared doesn’t work in HP-UX platform. It should work by using -o instead of -T as below.

    For PostScript Printing:
    lp -d (printer_name) -o postscript (file_name)

    Post ReplyPost Reply
  1. #3 HP-UX Admin
    February 24, 2010 2:08 am

    There’s lot feature you can use for the lp command. The -o parameter can be use to specify which printer tray you want to send your output to.

    Example: lp -d (printer_name) -o tray2(file_name)

    Post ReplyPost Reply
  1. #4 Joris
    March 3, 2010 12:23 am

    Guys, just want to share with a command to check on Zebra printing details.

    SELECT
    NUMBER_OF_COPIES,
    NLS_LANGUAGE,
    NLS_TERRITORY,
    PRINTER,
    PRINT_STYLE,
    COMPLETION_TEXT,
    OUTPUT_FILE_TYPE,
    NLS_CODESET,
    OUTFILE_NODE_NAME,
    LOGFILE_NAME,
    OUTFILE_NAME
    FROM
    FND_CONCURRENT_REQUESTS WHERE PRINT_STYLE = ‘ZEBRA’
    AND PRINTER = ‘printer_name’

    Post ReplyPost Reply
  1. #5 feature
    November 22, 2010 3:34 am

    Did anyone know how to print the first line in the top of the page?
    I have change topMargin=0.00 in pasta.cfg. But it doesn’t help much, still have 1.5″ space in header.
    Thanks in advance

    Post ReplyPost Reply
  1. #6 moredpig
    March 8, 2011 5:42 pm

    It may be that the print area on the device you print to has a void or the printable area

    Post ReplyPost Reply
Leave a Comment