10 Replies Latest reply: Jun 4, 2012 12:04 AM by Hussein Sawwan-Oracle RSS

    MLS error

    920728
      Hi

      I have created a Wrapper Program to submit the request for another stand alone program using the same parameters.
      But when we run this Wrapper Program, the stand alone program ends in Warning.

      Below is the Warning shown in Log Message:
      ----------------------------------------------------------------
      Language function associated with program XXFC Invoice Print Selected Invoices determined no data exists for the given set of parameters
      ----------------------------------------------------------------

      Kindly guide us how to proceed in this case.
      The Stand alone program, has language settings through MLS function.

      Regards,
      Karan
        • 1. Re: MLS error
          Srini Chavali-Oracle
          Pl post details of OS, database and EBS versions, along with your wrapper code and how you are invoking the second program. Can you run the second program standalone and post the log file of that program here ?

          HTH
          Srini
          • 2. Re: MLS error
            Hussein Sawwan-Oracle
            What is the name of the standard program?

            Please see if these docs help.

            Calling language function ARP_RAXINV_MLS_PACKAGE.ARP_RAXINV_MLS_FUNCTION [ID 164459.1]
            11i RAXINV_SEL Does Not Select Invoice To Print Because Term_id Does Not Match [ID 362151.1]
            Invoice Print Selected Invoices Completes With Warning [ID 160269.1]
            Invoice Print: FNDMLSUB Completed Warning No Data Exists [ID 359925.1]
            BPA Invoice Print Log Error: No transactions matched the input parameters [ID 1064917.1]
            Invoice Print New Invoices in Multiple Languages Ending With Warning [ID 175725.1]

            Thanks,
            Hussein
            • 3. Re: MLS error
              920728
              Hi,

              I am working on an EBS 11i to R12 Upgrade and using 10g

              Following is the Code of the Wrapper Program that I am using

              ********************************************************************

              CREATE OR REPLACE PACKAGE BODY APPS.xxfc_print_slctd_inv_wrapper
              AS
              g_v_failure_code CONSTANT NUMBER := 2;
              g_v_success_code CONSTANT NUMBER := 0;

              PROCEDURE wrapper_printing_invoices_proc (
              p_out_v_errbuf OUT VARCHAR2,
              p_out_n_retcode OUT NUMBER,
              p_in_order_by IN VARCHAR2,
              p_in_transaction_class IN VARCHAR2,
              p_in_transaction_type IN NUMBER,
              p_in_transaction_low IN VARCHAR2,
              p_in_transaction_high IN VARCHAR2,
              p_in_print_date_low IN DATE,
              p_in_print_date_high IN DATE,
              p_in_customer_class IN VARCHAR2,
              p_in_customer IN NUMBER,
              p_in_installmnt_number IN NUMBER,
              p_in_open_invoices_only IN VARCHAR2,
              p_in_print_tax_flag IN VARCHAR2,
              p_in_tax_registration_number IN VARCHAR2,
              p_in_print_choice IN VARCHAR2,
              p_in_number_of_alignment_pages IN NUMBER,
              p_in_diagnostics IN VARCHAR2,
              p_in_message_level IN NUMBER,
              p_in_random_invoices_flag IN VARCHAR2,
              p_in_invoices_list IN VARCHAR2,
              p_in_delivery_method IN VARCHAR2,
              p_in_destination IN VARCHAR2,
              p_in_contact_name IN VARCHAR2,
              p_in_delivery_option IN VARCHAR2
              )
              IS
              l_n_request_id NUMBER;
              l_n_interval NUMBER := 1;
              l_n_max_wait NUMBER := 60 * 60;
              l_v_phase VARCHAR2 (80);
              l_v_status VARCHAR2 (80);
              l_v_dev_phase VARCHAR2 (30);
              l_v_dev_status VARCHAR2 (30);
              l_v_message VARCHAR2 (1000);
              l_b_wait_return BOOLEAN;
              l_v_return_code VARCHAR2 (1);

              --ALTER SESSION  NLS_LANGUAGE = 'AMERICAN';
              CURSOR grouped_trx_number
              IS
              SELECT MAX (trx_number) trx_number_high,
              MIN (trx_number) trx_number_low, l1.meaning trx_class,
              TYPE.cust_trx_type_id type_id
              FROM ra_customer_trx trx, ra_cust_trx_types TYPE, ar_lookups l1
              WHERE trx.complete_flag = 'Y'
              AND trx.printing_option = 'PRI'
              AND trx.cust_trx_type_id = TYPE.cust_trx_type_id
              AND TYPE.TYPE = l1.lookup_code
              AND l1.lookup_type = 'INV/CM'
              AND trx.trx_number BETWEEN p_in_transaction_low
              AND p_in_transaction_high
              AND TYPE.TYPE = NVL (NULL, TYPE.TYPE)
              GROUP BY l1.meaning, TYPE.cust_trx_type_id;
              BEGIN
              p_out_v_errbuf := 'Success';
              p_out_n_retcode := g_v_success_code;
              fnd_file.put_line
              (fnd_file.LOG,
              'Start of the Wrapper program. Printing the Parameters'
              );
              fnd_file.put_line (fnd_file.LOG, 'p_in_order_by' || p_in_order_by);
              fnd_file.put_line (fnd_file.LOG,
              'p_in_transaction_class' || p_in_transaction_class
              );
              fnd_file.put_line (fnd_file.LOG,
              'p_in_transaction_type' || p_in_transaction_type
              );
              fnd_file.put_line (fnd_file.LOG,
              'p_in_transaction_low' || p_in_transaction_low
              );
              fnd_file.put_line (fnd_file.LOG,
              'p_in_transaction_high' || p_in_transaction_high
              );
              fnd_file.put_line (fnd_file.LOG,
              'p_in_print_date_low' || p_in_print_date_low
              );
              fnd_file.put_line (fnd_file.LOG,
              'p_in_print_date_high' || p_in_print_date_high
              );
              fnd_file.put_line (fnd_file.LOG,
              'p_in_customer_class' || p_in_customer_class
              );
              fnd_file.put_line (fnd_file.LOG, 'p_in_customer' || p_in_customer);
              fnd_file.put_line (fnd_file.LOG,
              'p_in_installmnt_number' || p_in_installmnt_number
              );
              fnd_file.put_line (fnd_file.LOG,
              'p_in_open_invoices_only' || p_in_open_invoices_only
              );
              fnd_file.put_line (fnd_file.LOG,
              'p_in_print_tax_flag' || p_in_print_tax_flag
              );
              fnd_file.put_line (fnd_file.LOG,
              'p_in_tax_registration_number'
              || p_in_tax_registration_number
              );
              fnd_file.put_line (fnd_file.LOG,
              'p_in_print_choice' || p_in_print_choice
              );
              fnd_file.put_line (fnd_file.LOG,
              'p_in_number_of_alignment_pages'
              || p_in_number_of_alignment_pages
              );
              fnd_file.put_line (fnd_file.LOG, 'p_in_diagnostics' || p_in_diagnostics);
              fnd_file.put_line (fnd_file.LOG,
              'p_in_message_level' || p_in_message_level
              );
              fnd_file.put_line (fnd_file.LOG,
              'p_in_random_invoices_flag'
              || p_in_random_invoices_flag
              );
              fnd_file.put_line (fnd_file.LOG,
              'p_in_invoices_list' || p_in_invoices_list
              );
              fnd_file.put_line (fnd_file.LOG,
              'p_in_delivery_method' || p_in_delivery_method
              );
              fnd_file.put_line (fnd_file.LOG, 'p_in_destination' || p_in_destination);
              fnd_file.put_line (fnd_file.LOG,
              'p_in_contact_name' || p_in_contact_name
              );
              fnd_file.put_line (fnd_file.LOG,
              'p_in_delivery_option' || p_in_delivery_option
              );

              FOR grouped_trx_record IN grouped_trx_number
              LOOP
              mo_global.init ('AR');
              fnd_request.set_org_id ('125');
              l_n_request_id :=
              fnd_request.submit_request
              (application => 'XXFC',
              program => 'XXFC_RAXINV_SEL',
              description => 'Invoice Print Selected Invoices',
              start_time => NULL,
              sub_request => FALSE,
              argument1 => p_in_order_by,
              argument2 => grouped_trx_record.trx_class,
              argument3 => grouped_trx_record.type_id,
              argument4 => grouped_trx_record.trx_number_low,
              argument5 => grouped_trx_record.trx_number_high,
              argument6 => p_in_print_date_low,
              argument7 => p_in_print_date_high,
              argument8 => p_in_customer_class,
              argument9 => p_in_customer,
              argument10 => p_in_installmnt_number,
              argument11 => p_in_open_invoices_only,
              argument12 => p_in_print_tax_flag,
              argument13 => p_in_tax_registration_number,
              argument14 => p_in_print_choice,
              argument15 => p_in_number_of_alignment_pages,
              argument16 => p_in_diagnostics,
              argument17 => p_in_message_level,
              argument18 => p_in_random_invoices_flag,
              argument19 => p_in_invoices_list,
              argument20 => p_in_delivery_method,
              argument21 => p_in_destination,
              argument22 => p_in_contact_name,
              argument23 => p_in_delivery_option
              );
              COMMIT;
              l_b_wait_return :=
              fnd_concurrent.wait_for_request (l_n_request_id,
              l_n_interval,
              l_n_max_wait,
              l_v_phase,
              l_v_status,
              l_v_dev_phase,
              l_v_dev_status,
              l_v_message
              );

              IF ( UPPER (l_v_dev_phase) = 'COMPLETE'
              AND UPPER (l_v_dev_status) = 'NORMAL'
              )
              THEN
              fnd_file.put_line
              (fnd_file.LOG,
              'Wrapper Program and Invoice Program completed successfully'
              );
              ELSIF ( UPPER (l_v_dev_phase) = 'COMPLETE'
              AND UPPER (l_v_dev_status) = 'ERROR'
              )
              THEN
              fnd_file.put_line
              (fnd_file.LOG,
              'Invoice Program Program completed with error: '
              || l_v_message
              );
              p_out_v_errbuf := 'Invoice Program Program completed with error';
              p_out_n_retcode := g_v_failure_code;
              ELSE
              fnd_file.put_line (fnd_file.LOG,
              ' Program Phase: '
              || l_v_dev_phase
              || ' ; Status: '
              || l_v_dev_status
              );
              p_out_n_retcode := g_v_failure_code;
              fnd_file.put_line (fnd_file.LOG,
              'Unknown Error in Invoice Program'
              );
              p_out_v_errbuf := 'Unknown Error in Invoice Program';
              END IF;

              fnd_file.put_line (fnd_file.LOG, 'Request Id : ' || l_n_request_id);
              fnd_file.put_line (fnd_file.LOG, 'Message : ' || l_v_message);
              END LOOP;
              EXCEPTION
              WHEN OTHERS
              THEN
              p_out_v_errbuf := 'Unknown error occurred. Error: ' || SQLERRM;
              p_out_n_retcode := g_v_failure_code;
              fnd_file.put_line (fnd_file.LOG, 'EXCEPTION OCURRED: ' || SQLERRM);
              END wrapper_printing_invoices_proc;
              END xxfc_print_slctd_inv_wrapper;
              /
              ****************************************************************************************



              Kindly help me in this.
              Not able to find any way out.
              • 4. Re: MLS error
                Srini Chavali-Oracle
                I see no issues with the code. Pl elaborate on what you mean by "The Stand alone program, has language settings through MLS function". Are multiple languages enabled ? Does this concurrent execute successfully for any of the languages ?

                HTH
                Srini
                • 5. Re: MLS error
                  Hussein Sawwan-Oracle
                  Have you reviewed the docs referenced above?

                  Thanks,
                  Hussein
                  • 6. Re: MLS error
                    920728
                    Hi Srini,

                    The Stand alone program when submitted Individually, once runs for Multiple Languages and then for English.
                    The MLS function used in the program definition is : ARP_RAXINV_MLS_FUNCTION.
                    Also the Standalone program is based on RDF report.

                    Regards,
                    Karan
                    • 7. Re: MLS error
                      Srini Chavali-Oracle
                      Pl elaborate when you encounter this error. Does it give this error for all language runs ? Does the error occur only when executed thru the wrapper ?

                      HTH
                      Srini
                      • 8. Re: MLS error
                        920728
                        Hi Srini,

                        The program errors out only when run through Wrapper.
                        When request for Wrapper Program is submitted, the Stand Alone Program first runs for the Multiple Languages but ends in Warning State.

                        But when request for the Stand Alone program is submitted, the program first runs for the Multiple Languages and then for English.
                        I have not tried for any other language and also I dont know how to try for any othe language.

                        Also the column NLS_NUMERIC_CHARACTERS in the table FND_CONCURRENT_REQUESTS is Null for the program request submitted through Wrapper whereas it is '.,' for request submitted without Wrapper Program.

                        Regards,
                        Karan
                        • 9. Re: MLS error
                          795425
                          Hi,

                          I have got the same error when running a concurrent program with Oracle Report as executable. The output of the file says:



                          **Starts**04-JUN-2012 12:31:07
                          **Ends**04-JUN-2012 12:31:13
                          Language function associated with program SS HK Resite Invoice Data File determined no data exists for the given set of parameters
                          ---------------------------------------------------------------------------
                          Start of log messages from FND_FILE
                          ---------------------------------------------------------------------------
                          ---------------------------------------------------------------------------
                          Calling language function ARP_RAXINV_MLS_PACKAGE.ARP_RAXINV_MLS_FUNCTION  : 04-JUN-2012 12:30:31
                          Language function returned the following languages :  .  : 04-JUN-2012 12:30:37
                          ---------------------------------------------------------------------------

                          ---------------------------------------------------------------------------
                          End of log messages from FND_FILE


                          Have you found out any solutions/ rootcauses for this?


                          I am upgrading a concurrent program from 11i to r12.+
                          • 10. Re: MLS error
                            Hussein Sawwan-Oracle
                            I have got the same error when running a concurrent program with Oracle Report as executable. The output of the file says:
                            Have you reviewed the docs referenced above in this thread?

                            Thanks,
                            Hussein