Program output wrong

Hi,
class MyTokenizer has one constructor, MyTokenizer(String s), and one method, tokenAt(int i) that returns the i-th token of the string passed to the constructor. It follows the usual Java convention of counting from zero, and uses the default token delimiters as defined in the StringTokenizer class. The method returns null if the argument of tokenAt is less than zero or greater than the number of tokens in the string. For example, if one constructs an object
MyTokenizer hamlet = new MyTokenizer(�To be or not to be�)
then
hamlet.tokenAt(0) returns �To�,
hamlet.tokenAt(3) returns �not�,
hamlet.tokenAt(17) returns null, etc.
There is another class, MyTokenizerTest, that uses JOptionPane to get a string from the user. Then, in a loop, I use another JOptionPane to get integers from the user and pass them as arguments to tokenAt, displaying the return value in the DOS window. I Exit from the loop when the user presses �Cancel� on the JOptionPane
Just try running this program and you will see the wrong output.
Please tell help me with this.
<---------------------------------------------------------------------->
import java.util.StringTokenizer;
import java.lang.Character;
public class MyTokenizer
     private String str;
     Constructs an object of MyTokenizer
     @param s The string
     public MyTokenizer(String s)
          str = s;
     Finds a token of the string at any position
     @param i the ith token of the string
     @retrun token the token at the ith position
     public String tokenAt(int i)
          String str1;
          str1 = "";
          int words;
          words = 0;
          int k;
          k = 0;
          for (int j = 0; j < str.length(); j++)
               if (Character.isWhitespace(str.charAt(j)))
                    words++;
               if (words == i + 1)
                    k = j;
                    break;
          for (int c = k + 1; c < str.length(); c++)
               str1 = str1 + str.charAt(c);
               if (Character.isWhitespace(str.charAt(c)))
                    break;
          return str1;
<---------------------------------------------------------------------->
import javax.swing.JOptionPane;
import java.util.StringTokenizer;
import java.lang.String;
This class tests the MyTokenizer class
public class MyTokenizerTest
     Tests the methods of MyTokenizer class
     @param args not used
     public static void main(String[] args)
          String s = JOptionPane.showInputDialog("Enter a String");
          System.out.println(s);
          MyTokenizer myToken = new MyTokenizer(s);
          boolean done = false;
          while (!done)
               String strInt = JOptionPane.showInputDialog("Enter the position of a word");
               if (strInt == null)
                    done = true;
               else
               int i = Integer.parseInt(strInt);
               System.out.println(myToken.tokenAt(i));

Firstly since your Tokenizer is 0-based, why should you add one at the following points? Try removing the + 1
if (words == i + 1)
for (int c = k + 1; c < str.length(); c++)
Secondly you check for whitespace before you check whether the word has been reached. This results in a miss for the 1st word. Switch the two if blocks in "for (int j = 0; j < str.length(); j++)" and try again.
HTH.

Similar Messages

  • Getting Error While Attaching Concurrent Program Output PDF file for POAPPRV Workflow

    Hi All,
    I am getting the below error when I am trying to attach concurrent program output to the PO Approval Notification.
    An Error occurred in the following Workflow.
    Item Type = POAPPRV
    Item Key = 1040589-528378
    User Key =945871
    Error Name = WF_ERROR
    Error Message = [WF_ERROR] ERROR_MESSAGE=3835: Error '-20002 - ORA-20002: [WFMLR_DOCUMENT_ERROR]' encountered during execution of Generate function 'WF_XML.Generate' for event 'oracle.apps.wf.notification.send'. ERROR_STACK=
    Wf_Notification.GetAttrblob(3604701, ZZ_PREVIOUS_PO_COMPARE, text/html)
    WF_XML.GetAttachment(3604701, text/html)
    WF_XML.GetAttachments(3604701, http://oraerp.am.corp.xxxx.com:8099/pls/DEV, 11283)
    WF_XML.GenerateDoc(oracle.apps.wf.notification.send, 3604701)
    WF_XML.Generate(oracle.apps.wf.notification.send, 3604701)
    WF_XML.Generate(oracle.apps.wf.notification.send, 3604701)
    Wf_Event.setMessage(oracle.apps.wf.notification.send, 3604701, WF_XML.Generate)
    Wf_Event.dispatch_internal()
    Error Stack =
    Activity ID = 190844
    Activity Label = AL_NOTIFY_APPROVER_PROCESS:ZZ_PO_PO_APPROVE_ATTCH
    Result Code = #MAIL
    Notification ID = 3604701
    There are several threads for this error however I cannot find any specific solution to the problem.
    Please find the code below -
        wf_engine.setitemattrdocument(itemtype=>itemtype,
                                      itemkey=> itemkey,
                                      aname=>'ZZ_PREVIOUS_PO_COMPARE',
                                      documentid =>'PLSQLBLOB:zz_po_reqapproval_init1.xx_notif_attachments/' || to_char(l_request_id_prev_po)||':'||to_char(l_document_num));
    -- here l_request_id_q_and_s is the request id of the program and l_document_num is the PO document number
    PROCEDURE xx_notif_attachments(p_request_id    IN VARCHAR2,
                                   p_document_num  IN VARCHAR2,
                                   p_document      IN OUT BLOB,
                                   p_document_type IN OUT VARCHAR2) IS
      v_lob_id          NUMBER;
      v_document_num    VARCHAR2(15);
      v_document_prefix VARCHAR2(100);
      v_file_name       VARCHAR2(500);
      v_file_on_os      BFILE;
      v_temp_lob        BLOB;
      v_dest_offset     NUMBER := 1;
      v_src_offset      NUMBER := 1;
      v_out_file_name   VARCHAR2(2000);
      v_conc_prog_name  VARCHAR2(500);
      v_conc_req_id     NUMBER;
      CURSOR get_output_file(p_concurrent_request_id NUMBER) IS
        SELECT cr.outfile_name, cp.concurrent_program_name
          FROM fnd_concurrent_requests cr, fnd_concurrent_programs_vl cp
         WHERE request_id = p_concurrent_request_id
           AND cp.concurrent_program_id = cr.concurrent_program_id;
    BEGIN
      --    set_debug_context('xx_notif_attach_procedure');
      v_conc_req_id  := to_number(substr(p_request_id,
                                         1,
                                         instr(p_request_id, ':') - 1));
      v_document_num := substr(p_request_id,
                               instr(p_request_id, ':') + 1,
                               length(p_request_id) - 2);
      OPEN get_output_file(v_conc_req_id);
      FETCH get_output_file
        INTO v_out_file_name, v_conc_prog_name;
      CLOSE get_output_file;
      v_out_file_name := substr(v_out_file_name,
                                instr(v_out_file_name, '/', -1) + 1);
      v_file_name     := to_char(v_document_num) || '-Previous_PO_Rev.pdf';
      utl_file.fcopy(src_location  => 'APPS_OUT_DIR',
                     src_filename  => v_out_file_name,
                     dest_location => 'PO_DATA_DIR',
                     dest_filename => v_file_name);
      --  v_lob_id := to_number(v_document_id);
      v_file_on_os := bfilename('PO_DATA_DIR', v_file_name);
      dbms_lob.createtemporary(v_temp_lob, cache => FALSE);
      dbms_lob.fileopen(v_file_on_os, dbms_lob.file_readonly);
      dbms_lob.loadblobfromfile(dest_lob    => v_temp_lob,
                                src_bfile   => v_file_on_os,
                                amount      => dbms_lob.getlength(v_file_on_os),
                                dest_offset => v_dest_offset,
                                src_offset  => v_src_offset);
      dbms_lob.fileclose(v_file_on_os);
      p_document_type := 'application/pdf;name=' || v_file_name;
      dbms_lob.copy(p_document, v_temp_lob, dbms_lob.getlength(v_temp_lob));
    EXCEPTION
      WHEN OTHERS THEN
        wf_core.CONTEXT('ZZ_PO_REQAPPROVAL_INIT1',
                        'xx_notif_attachments',
                        v_document_num,
                        p_request_id);
        RAISE;
    END xx_notif_attachments;
    Please help me find a to the above mentioned error.
    Thanks,
    Suvigya

    There are two ways to look at what error the PLSQLBLOB API is throwing.
    1) Call your PLSQLBLOB API GNE_PO_CREATE_FILE_ATTACHMENT.Gne_Create_File_Attachment directly from a PLSQL block and verify that it returns the BLOB data successfully.
    You could also call another WF API that in turn executes the PLSQLBLOB API internally. For example,
    <pre>
    declare
    l_document blob;
    l_doctype varchar2(240);
    l_aname varchar2(90);
    begin
    dbms_lob.CreateTemporary(l_document, true, dbms_lob.Session);
    -- 207046 - This is the notification id of your failed workflow
    -- PO_REPORT - Document type attribute
    -- 'text/html' - Content Type being generated for
    Wf_Notification.GetAttrBLOB(207046, 'PO_REPORT', 'text/html', l_document, l_doctype, l_aname);
    -- Print the size of the document here to verify it was fetched correctly
    end;
    </pre>
    2) Turn on log for SYSADMIN user with following attributes.
    Log Enabled = TRUE
    Log Level = ERROR
    Log Module = wf.plsql%
    Restart the Workflow Deferred Agent Listener and Workflow Notification Deferred Agent Listener and run your workflow process. Search for log messages written for above context and you can identify the error at wf.plsql.WF_XML.GetAttachment module with message starting as "Error when getting BLOB attachment ->"
    Hope this helps.
    Vijay

  • BI Publisher Charts not getting displayed in concurrent program output

    Hi,
    I am using BI Publisher version 11.1.1.3.0 on Windows 7 with word 2007. After creating the Bar chart in RTF template of BI publisher when I load sample XML data and check it in "Preview" is displays the output correctly.
    My requirement is to print the charts in concurrent program's output on EBS version 12.1.1. (preferably HTML but PDF will also do) However when I run the concurrent program which processes the data definition and the RTF template registered for this report, the output is just an image of the chart. The XML output generated by the program is not reflected in the chart display at all. (I have verified that XML is generated properly)
    Can someone please let me know if there is some setup required to make the charts display properly in concurrent program output?
    I have also tried BI publisher version 10.1.3.2.1 for this. With this the concurrent program output is just blank. Not even an image is displayed.
    p.s. The program uses standard executable XDODTEXE (which is normally used to run BI publisher reports)
    Thanks,
    Archana

    Hi,
    I have finally found solution to this issue....
    Two setups are required to display the charts in the concurrent program's PDF output:
    1. We need to edit the variables CLASSPATH and AF_CLASSPATH. These variables should have the complete path added for the xdoparser.zip file on the server.
    2. The DISPLAY variable should be correctly setup to direct the server output.
    Also as per my findings so far, the BI (XML) publisher version 11.1.1.3.0 (or any 11g) does not work with EBS (at least for charts). We need to use BI publisher version which is XML 5.6.3 compatible for EBS. This version is 10.1.3.2.1. (patch 12395372) Now this 10g version does not work on Windows 7 so you need to use Windows XP!
    With this... finally... your charts should be getting displayed in EBS output...
    Cheers!! :-)
    Archana

  • Current Concurrent Program Output permissions

    Hi,
    I am working on Oracle Applications 11.5.10
    Is it possible to send the concurrent program output of the current running program as a mail ? Or does the output file become available for reading once the whole program completes ?
    I am writing the errors encountered during the current program into the output file for the current program. At the end of the program, I am calling a shell script to send the output file in mail. However I am getting an error message saying file not found or no permission on file. So wanted to know if I am doing the right thing. Or should I call the mail notification only once the whole program completes.
    I tried to search the forum, but no where its mentioned if anyone is trying to access output file of currently running program. It will be great if someone can share their knowledge.
    Thanks,
    Sou

    Hi;
    Please check thread
    Concurrent Request Output with e-mail
    Re: concurrent ouput to email
    Regard
    Helios

  • How to send concurrent program output file as an attachment in the notification mail

    Hi All,
    We are on Oracle apps version - 11.5.10.2
    We have a requirement wherein we need to send the concurrent program output file as an attachment while sending the notification mail to the user.
    Currently we have tried the approach wherein we are specifying the user id in the OPTIONS tab (Notifying the following people) while submitting the concurrent program.
    But using this approach, the user gets only the URL of the output file in the notification mail and not the output file as an attachment.
    Kindly let us know if anyone has incorporated the logic to send the output file as attachment in the notification mail.
    Please Note - We do not want any custom code to be written to send the attachment.
    Any pointers to this will be helpful.
    Regards,
    Shruti

    Hi All,
    We are on Oracle apps version - 11.5.10.2
    We have a requirement wherein we need to send the concurrent program output file as an attachment while sending the notification mail to the user.
    Currently we have tried the approach wherein we are specifying the user id in the OPTIONS tab (Notifying the following people) while submitting the concurrent program.
    But using this approach, the user gets only the URL of the output file in the notification mail and not the output file as an attachment.
    Kindly let us know if anyone has incorporated the logic to send the output file as attachment in the notification mail.
    Please Note - We do not want any custom code to be written to send the attachment.
    Any pointers to this will be helpful.
    Regards,
    Shruti

  • Problem: program outputs numbers in scientific notation

    my problem is that my program outputs the population in scientific notation instead of round the number to the nearest one. ex: it should say 30787949.57 instead of 3.078794957 E7
    // Calculates the poulation of Mexico City from 1995 to 2018.
    // displays the year and population
    class PopulationCalculator {
    static double r2(double x) {
         //this method rounds a double value to two decimal places.
    double z=((double)(Math.round(x*100)))/100;
    return z;
    } //end method r2
    public static void main(String args[]) {
         double population=15600000.0;
         double rate=0.03;
         System.out.println("Mexico City Population, rate="+r2(rate));
         System.out.println("Year    Population");
         for (int year=1995; year<=2018;year++)  {
             System.out.println(year+ "    "+r2(population));
        population+=rate*population;
        }//end for loop
        System.out.println("The population of Mexico City reaches 30 million on 02/13/17 at 5:38:34am");
        }//end main
        }//end PopulationCalculator
    {code/]

A: problem: program outputs numbers in scientific notation

Or upgrade to JDK 5.0 and user the new java.util.Formatter capability.
You control the rounding and get localization of the fomatted string at
no extra charge. A quick example:
class A {
    public static void main(String[] args) {
        double d = 30787949.57d;
        System.out.println(java.lang.String.format("%,17.2f", d));
}Example output for three different locales:
$ javac -g A.java
$ LC_ALL=fr_FR   java A
    30 787 949,57
$ LC_ALL=en_NZ   java A
    30,787,949.57
$ LC_ALL=it_IT     java A
    30.787.949,57For more information, refer to:
http://java.sun.com/j2se/1.5.0/docs/relnotes/features.html#formatter

Or upgrade to JDK 5.0 and user the new java.util.Formatter capability.
You control the rounding and get localization of the fomatted string at
no extra charge. A quick example:
class A {
    public static void main(String[] args) {
        double d = 30787949.57d;
        System.out.println(java.lang.String.format("%,17.2f", d));
}Example output for three different locales:
$ javac -g A.java
$ LC_ALL=fr_FR   java A
    30 787 949,57
$ LC_ALL=en_NZ   java A
    30,787,949.57
$ LC_ALL=it_IT     java A
    30.787.949,57For more information, refer to:
http://java.sun.com/j2se/1.5.0/docs/relnotes/features.html#formatter

  • Standard driver programs,output type ,scripts,smartforms for SD reports

    hi experts,
                  Can any one list all the standard driver programs,output types ,scripts,smartforms for SD reports.
    mani

    Hi,
    Check this out
    NACE
    You can track the form and the print program used for that form
    The Tcode NACE is used to link the Standard SAP forms (SCRIPTFORM or SMARTFORM) or the customized form or the new form to its respective print programs. Also the output types, Form entry are linked with their forms and print programs. In short term, i can tell u that configuration or customization of forms to print programs, assigning output types, form entry to the forms are done using this Tcode.
    NACE is used to create output type while creating the output type you will mention forms, and driver program.
    that will be maintained in the table TNAPR.if you create the output type using NACE then it will be automatically visible in table NAST and TNAPR.
    so check in NAST, TNAPR table
    http://help.sap.com/saphelp_erp2005/helpdata/en/c8/1989fe43b111d1896f0000e8322d00/frameset.htm
    Condition records in NACE?
    and
    NACE is used for message control customizing.
    Take a look at the following link
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/198a1843b111d1896f0000e8322d00/frameset.htm
    and also
    NACE is used for message control customizing.
    Take a look at the following link
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/198a1843b111d1896f0000e8322d00/frameset.htm
    If it helps reward with points..

  • Format of program output?

    Hi,
    If I look at the output of my exercises I always get date and program name before the actual program result. For instance;
    ~/Documents/Program5.3/build/Debug michel$ ./Program5.3
    2011-04-04 09:25:15.694 Program5.3[293:903] Table of Triangular Numbers
    2011-04-04 09:25:15.696 Program5.3[293:903] n Sum from 1 to n
    2011-04-04 09:25:15.696 Program5.3[293:903]
    0 0
    2011-04-04 09:25:15.696 Program5.3[293:903] 1 1
    2011-04-04 09:25:15.697 Program5.3[293:903] 2 3
    2011-04-04 09:25:15.697 Program5.3[293:903] 3 6
    <------- this part ----------------------->
    How can I remove the "this part" of my program output?
    TIA,
    Macamba

    Use printf instead of NSLog.

  • Program output on mobile phone

    Hi friends,
    Iam working for CMM Level 5 company in ABAP and i have no idea about XI and MI.
    My requirement is:
    One program is running in background at 01:30 in the morning every day.
    Requirement is that " i need to show the output of that program on mobile as an SMS in background".
    Need to send that program output as SMS to a mobile numbers.
    I know it is possible using MI and SAP-BASIS.
    Can anyone have any idea on this type of requirement.
    Good answers, max points.
    Thanks,
    Vamsykrishna.

    hi friend,
                first you have to configure your mobile with your sevice provider for this
    step1 : type SUB (in caps)  in your airtel mobile and send that to number 52600 (only for Tamilnadu users )
    step2 : you will recive a confirmation message like  "9894243935 @  serviceprovder. com"
    step2 : give this in receiver list
    step3 : the airtel provider checks for loop backing so please specify a valid sender id 
    *& Report  ZEPM_PRODCUTIONVALUE_SMS
    *&created by Mr vijaybabu
    **modified for sending sms by E.peachimuthu
    *&Requirement by Mr. murugesh Senior manager
    REPORT  ZEPM_PRODCUTIONVALUE_SMS NO STANDARD PAGE HEADING LINE-SIZE 172..
    TABLES: MSEG , MKPF , QAMB , MAKT , MBEW , MARA , T001L , MVKE, ZSD_MOD,SPELL,
            MARD.
    SELECT-OPTIONS : SO_WERKS FOR MSEG-WERKS OBLIGATORY ,
                     SO_VKORG FOR MVKE-VKORG OBLIGATORY DEFAULT '1000' ,
                     SO_BUDAT FOR MKPF-BUDAT OBLIGATORY ,
                     SO_MATNR FOR MSEG-MATNR ,
                     SO_FROM  FOR MSEG-LGORT ,
                     P_TO     FOR MSEG-LGORT OBLIGATORY.
    *parameter      : p_to  like mseg-lgort obligatory.
    *****MAIL/SMS DECLARATIONS ********
    data : plant(35) type c,
           storage_loaction(35) type c,
           Sale_organisation(35) type c,
           ltext(105) type c,
           text(15) type c.
    DATA: OBJPACK   LIKE SOPCKLSTI1 OCCURS 2 WITH HEADER LINE.
          DATA: OBJHEAD   LIKE SOLISTI1 OCCURS 1 WITH HEADER LINE.
          DATA: OBJBIN    LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
          DATA: OBJTXT    LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
          DATA: RECLIST   LIKE SOMLRECI1 OCCURS 5 WITH HEADER LINE,
                ld_sender_address LIKE  soextreci1-receiver,
                ld_sender_address_type LIKE  soextreci1-adr_typ.
          DATA: DOC_CHNG  LIKE SODOCCHGI1.
          DATA: TAB_LINES LIKE SY-TABIX,
          w_sent_all(1) type c.
          DATA L_NUM(3).
          DATA : SUB(80) TYPE C.
    data    p_sender likE somlreci1-receiver.
    *******ENDMAIL******
    DATA: RET_RATE LIKE KONP-KBETR.
    DATA: CHANNEL  LIKE TVTWT-VTWEG.
    DATA: BEGIN OF ABS OCCURS 0,
             WERKS LIKE MSEG-WERKS ,
             LOC LIKE MSEG-LGORT ,
             VALUE TYPE P DECIMALS 2,
          END OF ABS.
    DATA: WS_LOT LIKE QAMB-PRUEFLOS.
    DATA: SL TYPE P DECIMALS 0.
    DATA: WS_RATE LIKE MBEW-VERPR.
    DATA: WS_VALUE TYPE P DECIMALS 2.
    DATA: WS_CHANNEL(02) TYPE C.
    DATA: WA_VKORG LIKE MVKE-VKORG.
    data: wa_bwkey like mbew-bwkey.
    DATA: T_VALUE TYPE P DECIMALS 2.
    DATA: MOD_DATE(6) TYPE N.
    DATA: BEGIN OF ITAB OCCURS 0,
             MBLNR LIKE MSEG-MBLNR ,
             MJAHR LIKE MSEG-MJAHR ,
             ZEILE LIKE MSEG-ZEILE ,
             MATNR LIKE MSEG-MATNR ,
             BUDAT LIKE MKPF-BUDAT ,
             BWART LIKE MSEG-BWART ,
             WERKS LIKE MSEG-WERKS ,
             MENGE LIKE MSEG-MENGE ,
             LOC   LIKE MSEG-LGORT ,
           END OF ITAB.
    INITIALIZATION.
    P_TO-SIGN = 'I'.
    P_TO-OPTION = 'EQ'.
    P_TO-LOW = '1200'.
    APPEND P_TO.
    P_TO-LOW = '3200'.
    APPEND P_TO.
    P_TO-LOW = '4200'.
    APPEND P_TO.
    SO_WERKS-SIGN = 'I'.
    SO_WERKS-OPTION = 'EQ'.
    SO_WERKS-LOW = '1000'.
    APPEND SO_WERKS.
    SO_WERKS-LOW = '3000'.
    APPEND SO_WERKS.
    SO_WERKS-LOW = '4000'.
    APPEND SO_WERKS.
    SO_BUDAT-SIGN = 'I'.
    SO_BUDAT-OPTION = 'EQ'.
    SO_BUDAT-LOW = SY-DATUM.
    SO_BUDAT-HIGH = SY-DATUM.
    APPEND SO_BUDAT.
    START-OF-SELECTION.
                SELECT  MSEGMBLNR MSEGMJAHR
                        MSEGZEILE MSEGMATNR MKPF~BUDAT
                        MSEGBWART MSEGWERKS MSEG~MENGE
                        INTO CORRESPONDING FIELDS OF TABLE ITAB
                        FROM MKPF INNER JOIN MSEG
                             ON  MKPFMBLNR = MSEGMBLNR
                             AND MKPFMJAHR = MSEGMJAHR
                             AND MKPFMANDT = MSEGMANDT
                        WHERE BUDAT IN SO_BUDAT
                             AND MATNR IN SO_MATNR
                             AND WERKS IN SO_WERKS
                             AND BWART = '321'
                             AND UMLGO IN P_TO.      " FIELD NAME CHANGED FROM LGORT TO UMLGO WEF 03-01-08 01:00pm SRINI / G.RAJENDRAN
    *{   DELETE         D01K903932                                        1
    *\                         AND XAUTO = 'X'       "INSERTED ON 17-12-2007 BY ARUN / SRINIVASAN
    *}   DELETE
                            AND LGORT IN P_TO.
    PERFORM HEADER.
    SL = 0.
    LOOP AT ITAB.
       WS_LOT = 0.
       SELECT SINGLE PRUEFLOS  INTO (WS_LOT) FROM QAMB
           WHERE MBLNR EQ ITAB-MBLNR AND
                 MJAHR EQ ITAB-MJAHR AND
                 ZEILE EQ ITAB-ZEILE AND
                 TYP = '3'.
        IF SY-SUBRC NE 0.
                          DELETE ITAB .
                                        CONTINUE. ENDIF.
        SELECT SINGLE * FROM QAMB
               WHERE PRUEFLOS EQ WS_LOT AND
               TYP = '1'.
        IF SY-SUBRC NE 0.
                           DELETE ITAB .
                                        CONTINUE. ENDIF.
        SELECT SINGLE * FROM MSEG
                WHERE MBLNR EQ QAMB-MBLNR AND
                      MJAHR EQ QAMB-MJAHR AND
                      ZEILE EQ QAMB-ZEILE AND
                      WERKS IN SO_WERKS AND
                      LGORT IN SO_FROM.
         IF SY-SUBRC NE 0.
                            DELETE ITAB .
                                         CONTINUE. ENDIF.
         MOVE MSEG-LGORT TO ITAB-LOC.
         MODIFY ITAB.
    ENDLOOP.
    SORT ITAB BY LOC MATNR BUDAT MBLNR MJAHR.
    T_VALUE = 0.
    LOOP AT ITAB.
        SELECT SINGLE * FROM MARA WHERE MATNR EQ ITAB-MATNR.
        IF SY-SUBRC NE 0. DELETE ITAB. CONTINUE. ENDIF.
        SELECT SINGLE * FROM MAKT WHERE MATNR EQ ITAB-MATNR.
        IF SY-SUBRC NE 0.  DELETE ITAB .CONTINUE. ENDIF.
    *===========================================================
    In Material master accounting rate fetch organization
    check added on 06.05.2004 as per instruction by Mr.Ariyanayagam.
    if itab-werks = '2000'.
    clear: wa_bwkey.
    wa_bwkey = '2000'.
      SELECT SINGLE * FROM MBEW WHERE MATNR EQ ITAB-MATNR and
                                        bwkey = wa_bwkey.
      IF SY-SUBRC NE 0. DELETE ITAB . CONTINUE. ENDIF.
    else.
      SELECT SINGLE * FROM MBEW WHERE MATNR EQ ITAB-MATNR.
      IF SY-SUBRC NE 0. DELETE ITAB . CONTINUE. ENDIF.
    endif.
    Rate fetch org check ends.
    *=================================================================
        SELECT SINGLE * FROM MARD WHERE MATNR EQ ITAB-MATNR AND
                                        LGORT EQ '1200'.
        IF SY-SUBRC NE 0. MARD-LGPBE = SPACE. ENDIF.
    Defence Auto components Added on 19/02/2002
    *============================================
        IF ITAB-LOC = '1200'. DELETE ITAB. CONTINUE. ENDIF.
        IF ITAB-LOC = '1042' AND MARA-MATKL NE 'AUTDEF'.
           PERFORM MODULE_FETCH.
           DELETE ITAB. CONTINUE.
        ENDIF.
        IF MARA-MATKL = 'AUTDEF'.
           ITAB-LOC = '1042'.
           MODIFY ITAB.
           PERFORM MODULE_FETCH.
        ENDIF.
        IF ITAB-LOC = '1041'.
           PERFORM MODULE_FETCH.
           DELETE ITAB. CONTINUE.
        ENDIF.
        WS_RATE = 0.
        IF MBEW-VPRSV = 'V'.
            MOVE MBEW-VERPR TO WS_RATE.
        ELSEIF MBEW-VPRSV = 'S'.
           MOVE MBEW-STPRS TO WS_RATE.
        ENDIF.
    a.tamilselvi for correction vkorg for rate fetching.
    if itab-werks = '1000' or itab-werks = '3000' or itab-werks = '4000' or itab-werks = '1004'.
       wa_vkorg = '1000'.
    else.
       wa_vkorg = itab-werks.
    endif.
    *IF ITAB-WERKS = '2000'.
      WA_VKORG = '2000'.
    *elseif itab-werks = '5000'.
      wa_vkorg = '5000'.
    *elseif itab-werks = '6000'.
      wa_vkorg = '6000'.
    *ELSE.
      WA_VKORG = '1000'.
    *ENDIF.
    FROM SALES DATA.
    CALL FUNCTION 'ZSDF_GETPRDRATE'
         EXPORTING
              PM_MATNR = ITAB-MATNR
              PM_VKORG = WA_VKORG
              PM_DATE  = ITAB-BUDAT
         IMPORTING
             CHANNEL  = CHANNEL
             RET_RATE = RET_RATE
         EXCEPTIONS
              OTHERS   = 1.
    IF RET_RATE > 0.
       MOVE RET_RATE TO WS_RATE.
       MOVE CHANNEL  TO WS_CHANNEL.
    ELSE.
       MOVE '  '     TO WS_CHANNEL.
    ENDIF.
    IF WS_CHANNEL = '20' or ws_channel = '21' or ws_channel = '23'.
    SELECT SINGLE * FROM MVKE WHERE MATNR EQ ITAB-MATNR AND
                                    VTWEG in ('20','21','23').
    IF MVKE-KONDM = '01'.
       WS_RATE = WS_RATE - ( WS_RATE * '0.30' ) .
       WS_RATE = WS_RATE * '0.9324'.
    ELSEIF MVKE-KONDM = '02'.
       WS_RATE = WS_RATE - ( WS_RATE * '0.4091' ).
       WS_RATE = WS_RATE * '0.9324'.
    ELSEIF MVKE-KONDM = '03'.
       WS_RATE = WS_RATE - ( WS_RATE * '0.3637' ).
       WS_RATE = WS_RATE * '0.9324'.
    ELSEIF MVKE-KONDM = '04'.
       WS_RATE = WS_RATE - ( WS_RATE * '0.20' ).
       WS_RATE = WS_RATE * '0.9324'.
    ENDIF.
    ENDIF.
        COMPUTE WS_VALUE = ITAB-MENGE * WS_RATE.
        COMPUTE T_VALUE = T_VALUE + WS_VALUE.
       SL = SL + 1.
       if itab-loc = '1170' and mara-spart eq '60'.
          perform mat_txt.
       endif.
       WRITE:/ '|' NO-GAP ,
              (5) SL       NO-GAP , '|' NO-GAP ,
                ITAB-LOC   NO-GAP , '|' NO-GAP ,
                ITAB-MBLNR NO-GAP , '|' NO-GAP ,
                ITAB-MJAHR NO-GAP , '|' NO-GAP ,
                ITAB-ZEILE NO-GAP , '|' NO-GAP ,
                ITAB-BUDAT NO-GAP , '|' NO-GAP ,
                ITAB-MATNR NO-GAP , '|' NO-GAP ,
                (15)MARA-BISMT NO-GAP , '|' NO-GAP ,
                (30)MAKT-MAKTG NO-GAP , '|' NO-GAP ,
                (12)ITAB-MENGE NO-GAP , '|' NO-GAP ,
                (10)WS_RATE    NO-GAP , '|' NO-GAP ,
                (15)WS_VALUE   NO-GAP , '|' NO-GAP,
    *{   INSERT         D01K903779                                        1
                (02) mara-spart no-gap, '|' no-gap,
    *}   INSERT
                (02)WS_CHANNEL NO-GAP , '|' NO-GAP,
                (10)MARD-LGPBE
                READ TABLE ABS WITH KEY WERKS = ITAB-WERKS
                                        LOC = ITAB-LOC.
                IF SY-SUBRC EQ 0.
                    ADD WS_VALUE TO ABS-VALUE.
                    MODIFY ABS INDEX SY-TABIX.
                ELSE.
                    MOVE ITAB-LOC TO ABS-LOC.
                    MOVE ITAB-WERKS TO ABS-WERKS.
                    MOVE WS_VALUE TO ABS-VALUE.
                    APPEND ABS.
                ENDIF.
                CLEAR ABS.
        PERFORM MODULE_FETCH.
       MOVE itab-budat+0(6) TO mod_date.
       SELECT SINGLE * FROM zsd_mod WHERE matnr = itab-matnr AND
                                          monyr = mod_date.
       IF sy-subrc NE 0.
          zsd_mod-matnr = itab-matnr.
          zsd_mod-monyr = mod_date.
          PERFORM module_update.
          INSERT INTO zsd_mod  VALUES zsd_mod.
          COMMIT WORK.
      ELSE.
          PERFORM module_update.
          MODIFY zsd_mod.
          COMMIT WORK.
       ENDIF.
    ENDLOOP.
    ULINE.
    WRITE:/ 'Total value : ' , T_VALUE.
    ULINE.
    WRITE:/ , /.
    WRITE:/ 'ABSTRACT' COLOR 3.
    WRITE:/ SY-ULINE(46).
    T_VALUE = 0.
    SL = 0.
    LOOP AT ABS.
      SELECT SINGLE * FROM T001L WHERE WERKS EQ ABS-WERKS AND
           LGORT EQ ABS-LOC.
       IF SY-SUBRC NE 0. CLEAR T001L. ENDIF.
    SL = SL + 1.
      WRITE:/(5) SL NO-GAP , '|' NO-GAP ,
               ABS-LOC  NO-GAP , '|' NO-GAP ,
               T001L-LGOBE NO-GAP , '|' NO-GAP ,
               ABS-VALUE NO-GAP , '|' NO-GAP.
       T_VALUE = T_VALUE + ABS-VALUE.
    ENDLOOP.
    WRITE:/ SY-ULINE(46).
    WRITE:/ 'Total value : ' , T_VALUE.
    WRITE:/ SY-ULINE(46).
    perform send_sms.
    FORM HEADER.
    ULINE.
    FORMAT COLOR 1 ON.
       WRITE:/ '|' NO-GAP ,
              (5) 'Slno'    NO-GAP , '|' NO-GAP ,
                'SLoc' NO-GAP , '|' NO-GAP ,
                'Material Document  '  , '|' NO-GAP ,
                'Post.date ' NO-GAP , '|' NO-GAP ,
                (18)'Material' NO-GAP , '|' NO-GAP ,
                (15)'Old.code' NO-GAP , '|' NO-GAP ,
                (30)'Description ' NO-GAP , '|' NO-GAP ,
                (12)'Quantity'  NO-GAP , '|' NO-GAP ,
                (10)'Rate'    NO-GAP , '|' NO-GAP ,
                (15)'Value'   NO-GAP , '|' NO-GAP,
    *{   INSERT         D01K903779                                        1
                (02) 'Dv' no-gap, '|' no-gap,
    *}   INSERT
                (02)'Ch'   NO-GAP , '|' NO-GAP,
                (11)'Storage Bin'
                FORMAT COLOR 1 OFF.
    ULINE.
    ENDFORM.
    *&      Form  MODULE_UPDATE
          text
    -->  p1        text
    <--  p2        text
    FORM MODULE_UPDATE.
           CLEAR : ZSD_MOD-DISPO.
           IF ITAB-LOC = '1001'. MOVE '101' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '1002'. MOVE '102' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '1003'. MOVE '103' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '1004'. MOVE '104' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '1005'. MOVE '105' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '1006'. MOVE '106' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '1011'. MOVE '111' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '1021'. MOVE '201' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '1022'. MOVE '202' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '1026'. MOVE '206' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '1041'. MOVE '412' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '1042'. MOVE '412' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '1044'. MOVE '203' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '1051'. MOVE '501' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '1052'. MOVE '502' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '1055'. MOVE '503' TO ZSD_MOD-DISPO. ENDIF.
          IF ITAB-LOC = '1057'. MOVE '207' TO ZSD_MOD-DISPO. ENDIF.
    W.e.f Apr.2004 1057 locked and 1028 activated for 207 module.
           IF ITAB-LOC = '1028'. MOVE '207' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '1071'. MOVE '701' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '1072'. MOVE '702' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '1073'. MOVE '703' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '1611'. MOVE '610' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '3012'. MOVE '601' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '3022'. MOVE '602' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '3032'. MOVE '603' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '3042'. MOVE '604' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '4052'. MOVE '605' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '3052'. MOVE '605' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '3062'. MOVE '606' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '4072'. MOVE '607' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '3072'. MOVE '607' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '4092'. MOVE '609' TO ZSD_MOD-DISPO. ENDIF.
           IF ITAB-LOC = '3112'. MOVE '612' TO ZSD_MOD-DISPO. ENDIF.
    W.e.f Jan.2005 activated for 611 module.
           IF ITAB-LOC = '3612'. MOVE '611' TO ZSD_MOD-DISPO. ENDIF.
    ENDFORM.                    " MODULE_UPDATE
    *&      Form  MODULE_FETCH
          text
    -->  p1        text
    <--  p2        text
    FORM MODULE_FETCH.
        MOVE ITAB-BUDAT+0(6) TO MOD_DATE.
        SELECT SINGLE * FROM ZSD_MOD WHERE MATNR = ITAB-MATNR AND
                                           MONYR = MOD_DATE.
        IF SY-SUBRC NE 0.
           ZSD_MOD-MATNR = ITAB-MATNR.
           ZSD_MOD-MONYR = MOD_DATE.
           PERFORM MODULE_UPDATE.
           IF NOT ZSD_MOD-DISPO IS INITIAL.
              INSERT INTO ZSD_MOD  VALUES ZSD_MOD.
              COMMIT WORK.
           ENDIF.
        ELSE.
           PERFORM MODULE_UPDATE.
           IF NOT ZSD_MOD-DISPO IS INITIAL.
              MODIFY ZSD_MOD.
              COMMIT WORK.
           ENDIF.
        ENDIF.
    ENDFORM.                    " MODULE_FETCH
    *&      Form  mat_txt
          text
    -->  p1        text
    <--  p2        text
    FORM mat_txt .
    data: wa_bismt like mara-bismt.
    data: wa_matnr like mara-matnr.
    if mara-bismt+0(1) ne 'M'.
    func to rev conver
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        INPUT        = itab-matnr
    IMPORTING
       OUTPUT        = wa_matnr
          concatenate 'M00000' wa_matnr into wa_bismt.
          mara-bismt = wa_bismt.
          clear: wa_bismt,wa_matnr.
    endif.
    ENDFORM.                    " mat_txt
    *&      Form  send_sms
          text
    -->  p1        text
    <--  p2        text
    FORM send_sms .
        Creation of the document to be sent
        File Name
          DOC_CHNG-OBJ_NAME  = 'SENDMAIL'.
        Mail Subject
          CONCATENATE 'PDN value' '' INTO SUB SEPARATED BY SPACE.
          DOC_CHNG-OBJ_DESCR = SUB.
        Mail Contents
          CLEAR SUB.
    *DATA : SPELL(100) TYPE C.
          OBJTXT = SUB.
    CALL FUNCTION 'SPELL_AMOUNT'
    EXPORTING
       AMOUNT          = t_value
       CURRENCY        = 'INR'
       FILLER          = ' '
       LANGUAGE        = SY-LANGU
    IMPORTING
       IN_WORDS        = SPELL
    EXCEPTIONS
       NOT_FOUND       = 1
       TOO_LARGE       = 2
       OTHERS          = 3
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    text = t_value.
    condense text.
    if so_werks-high = space.
    loop at so_werks.
    if sy-tabix = 1.
    concatenate 'plant:' so_werks-low into plant.
    else.
    concatenate plant so_werks-low  into plant separated by ','.
    endif.
    endloop.
    else.
    concatenate 'plant:' so_werks-low '_To_'  so_werks-high into plant.
    endif.
    concatenate plant ' __ ' 'Pdn val on :' SO_BUDAT-low6(2) '.' SO_BUDAT-low4(2) '.'  SO_BUDAT-low+0(4)
    into objtxt .
    DATA : SPL(80) TYPE C.
    *SPELL-WORD  LOWER CASE
    TRANSLATE SPELL-WORD TO LOWER CASE.
    concatenate objtxt  'is Rs' text ':' SPELL-WORD 'Rupees only' into objtxt separated by ''.
    *concatenate objtxt   into objtxt separated by space.
          append objtxt.
          DESCRIBE TABLE OBJTXT LINES TAB_LINES.
          READ TABLE OBJTXT INDEX TAB_LINES.
          DOC_CHNG-DOC_SIZE = 20.
        Creation of the entry for the compressed document
          CLEAR OBJPACK-TRANSF_BIN.
          OBJPACK-HEAD_START = 1.
          OBJPACK-HEAD_NUM = 0.
          OBJPACK-BODY_START = 1.
          OBJPACK-BODY_NUM = TAB_LINES.
          OBJPACK-DOC_TYPE = 'RAW'.
          APPEND OBJPACK.
          CLEAR RECLIST.
    read table so_werks index 1.
          if so_werks-low = '1000'.
          endif.
         RECLIST-RECEIVER =  "recv id"
         RECLIST-EXPRESS = 'X'.
         RECLIST-REC_TYPE = 'U'.
            APPEND RECLIST.
          p_sender = " sender id "
          ld_sender_address      = p_sender.
          ld_sender_address_type = 'INT'.
    CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
        EXPORTING
              DOCUMENT_DATA              = DOC_CHNG
                put_in_outbox              = 'X'
                sender_address             = ld_sender_address
                sender_address_type        = ld_sender_address_type
         COMMIT_WORK                      = 'X'
        TABLES
              PACKING_LIST               = OBJPACK
              CONTENTS_TXT               = OBJTXT
              RECEIVERS                  = RECLIST
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
           SUBMIT RSCONN01 WITH MODE = 'INT'
                            WITH OUTPUT = ''
                            AND RETURN.
    ENDFORM.                    " send_sms

  • Program output into spool

    Hi Friends,
    i want program output into spool..
    mean.. when i am executing the zprogram...the program output into spools..
    regards,

    Hi,
    Create a Background job schedule it will runs in background automatically it will creates a spool. 
    To Create Background job schedule         T-Code SM36
    To Execute the Background job schedule T-code SM37
    To see the spool                                     T-code is SP01.
    Thanks
    Ganesh

  • Concurrent Program outputs gettting merged

    Hi,
    We are facing a strange issue in our EBS 11i instance where the output of one concurrent program is getting merged with another program output.(i.e output of financial concurrent programs get merged with HR/Payroll concurent program output and vice versa). This is not hapeening foe all the programs but only hapeens for few specific programs.
    Has anyone faced this issue previously or can highlight the cause for this abnormal issue.
    Regards,
    Rupdipt

    Is this a cloned instance? Have you reviewed the contents of the output files to verify none of those output files from the source instance?
    If the above doesn't help then I would suggest logging a SR.
    Thanks,
    Hussein

  • Smartforms driver program output  query

    Hello friends,
    I created sales invoice smartforms. For that i created one driver program in se38. But while i am executing driver program i am just getting program output. Both my smartforms design and driver program is activated. Someone please give me guidance to solve this problem.
    Thanx & Regards,
    Rahul Talele

    Have you written this function module to specify the smartform name and execute the Smartform Function Module..
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          FORMNAME = 'ZPP_PACKMATL_REQ' " smartform name
        IMPORTING
          FM_NAME  = W_FORM_FUNCTION.
    CALL FUNCTION W_FORM_FUNCTION
      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
        ITAB_DATA                  = ITAB_DATA
    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.
    ENDFORM.                    " display_form

  • How to Email Concurrent Program Output to Email using Shell Script

    Hi All,
    Have a Nice Day,
    I have a tricky requirement and i was not able to achieve, let me explain my requirement
    I have created a PLSQL Concurrent Program named "Approval Update". This will do update and it display the number of rows updated.
    Now i need to take this concurrent program output and it needs to be send it to the person who submits this program as an email using shell scripts.
    I have referred meta link note as well as some OTN posts but I was not able to achieve this.
    Please help me to complete this As soon as possible, Thanks in advance for your help.
    Let me know if you need more clarifications.
    Regards,
    CSK

    I don't have much idea in shell scripts all i want is, in my shell script i need to get the parent concurrent program output and that needs to be emailed to the intended person.
    Please help to to get the shell script commands for this.I do not have any shell script to share, sorry! If you want the query to get the parent request_id so you can get the log/out file name/location from then please refer to:
    REQUESTS.sql Script for Parent/Child Request IDs and Trace File IDs [ID 280295.1]
    http://etrm.oracle.com/pls/et1211d9/etrm_pnav.show_object?c_name=FND_CONC_REQ_SUMMARY_V&c_owner=APPS&c_type=VIEW
    http://etrm.oracle.com/pls/et1211d9/etrm_pnav.show_object?c_name=FND_CONCURRENT_REQUESTS&c_owner=APPLSYS&c_type=TABLE -- LOGFILE_NAME & OUTFILE_NAME
    Thanks,
    Hussein

  • NFS mount does not work: "Program version wrong"

    I am trying to connect to my Ubuntu Server (8.04) with an NFS share. With OS X 10.6 everything worked fine, using Lion I get the following error in the log file:
    04.10.11 17:45:50,295 com.apple.netauth.user.auth: mount_nfs: can't mount /home/poldi from pc-poldi onto /Volumes/poldi: Program version wrong
    Seems like the NFS client on Lion and the Ubuntu server are not compatible anymore. Anyone knows a solution? A server side upgrade of 'nfs-common' and 'nfs-user-server' did not help.
    Thanks.

    Hey folks, I had this problem and used the nfsvers=2 workaround to fix it, which worked. I wasn't satisfied however, because NFS version 2 isn't as capable in a number of ways as NFS version 3.
    What I learned is that in Snow Leopard, if a mount attempt with NFS version 3 fails, the NFS client will fall back by default to NFS version 2. In Mountain Lion (and possibly Lion, not sure), this fallback doesn't happen and you simply get an error instead. So if you're seeing this after an OS X upgrade from 10.6, then you should not assume that it is a problem on the OS X side (as I did), it may be a problem with the NFSv3 support from the servers you're accessing.
    Linux Details
    In my case, the root cause was a partially failed upgrade of my Linux server from Ubuntu 10.04 to 12.04. The NFS server was only partially working. If I restarted nfs-kernel-service, I saw the following in the messages log:
    Dec 16 21:11:07 myth kernel: [   28.495314] svc: failed to register lockdv1 RPC service (errno 97).
    Dec 16 21:11:07 myth kernel: [   28.496034] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
    Dec 16 21:11:07 myth kernel: [   28.528396] NFSD: starting 90-second grace period
    Also, if you ran "rpcinfo -p" against the server, it was clear that the only versions advertised by mountd were 1 and 2, although the nfs and nlockmgr services were advertising version 3.
    The solution in my case was to re-run the package installers for nfs-kernel-service and nfs-common. Once I did this and restarted the nfs kernel service, I was back to serving NFSv3 from my Linux box, and the original mounts (without the nfsvers=2 qualifier) that had been working under Snow Leopard were working just fine under Mountain Lion.

  • Standard program showing wrong values in ALV report

    Hi All,
    Standard Report 'RFBILA00' (Balance sheet P+L Statement) ,when i excute for classical list the output showing correct.
    But with the same test data when i run for ALV Grid control showing wrong valuse like.
    with same company code comparision year,comparision period ,comp periods...when i run classical list:
    PROFIT/LOSS BEFORE TAXATION                                 5,194,871.12-
    RETAINED PROFIT/LOSS FOR THE PERIOD                    5,194,871.12-
    NET PROFIT/(LOSS)                                                        5,194,871.12.
    when i run in ALV for same above data, the result is:
    PROFIT/LOSS BEFORE TAXATION                           9,307,137.09
    RETAINED PROFIT/LOSS FOR THE PERIOD              5,194,871.12-
    NET PROFIT/(LOSS)                                                 22,076,715.82.
    Please help on this....and this is standard report.. y its showing different for same data.
    Thank you
    Anu.

    Hi ,
    Same program  excuted once by selecting classical list is showing correct. And with same data excuted with ALV grid list showing wrong valuse.
    when selected with Classical list: for company code:8000,Reporting periods: 1-9,Reporting year:2009,Comparison periods:1-8
    Comparison year-2009.
    PROFIT/LOSS BEFORE TAXATION 5,194,871.12-
    RETAINED PROFIT/LOSS FOR THE PERIOD 5,194,871.12-
    NET PROFIT/(LOSS) 5,194,871.12.
    when i run in ALV for same above data, the result is: for company code:8000,Reporting periods: 1-9,Reporting year:2009,Comparison periods:1-8 Comparison year-2009.
    PROFIT/LOSS BEFORE TAXATION 9,307,137.09
    RETAINED PROFIT/LOSS FOR THE PERIOD 5,194,871.12-
    NET PROFIT/(LOSS) 22,076,715.82.
    Thank You,
    Anu.

  • Maybe you are looking for