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.

Similar Messages

  • RFCHKE00 program  output formatting - Urgent

    Hello Friends,
    I am working on the Positive payments - Outgoing payments to Banks.  The standard SAP program is doing the Check extract for the same.  If I run the transaction code FCHX, then this transaction is using the program RFCCHKE00 to produce the output file from SAP.  The format of the output file does not match the Bank format and so I've to reformat the output file to the bank format before transferring the data to the respective banks. 
    Could anybody tell me how to reformat the output file programattically?  Shd I write an ABAP for this or what should I do?  If I've to write an ABAP then could somebody help me with the program?.  Please advise. 
    This is very urgent please.
    Thanks in Advance.

    check below program which was written for the same purpose in one of our client.
    <b>AWARD Points</b>
    REPORT  zfo_positive_pay   LINE-SIZE  120
                               LINE-COUNT 60
                               MESSAGE-ID zf_cd.
    ======================      T A B L E S       =======================
    TABLES: t001,        "Company Codes
            t012,        "House Banks
            tcurc,       "Currency Codes
            payr,        "Payment data
            dfkkcr.      "Repository For Checks
    ======================         T Y P E S      =======================
    TYPES: BEGIN OF ty_boa_format,
            acc_num(10)  TYPE  c,
            void_ind(1)  TYPE  c,
            filler(2)    TYPE  c,
            s_no(10)     TYPE  c,
            amount(12)   TYPE  c,
            add_data(45) TYPE  c,
          END OF ty_boa_format.
    TYPES: BEGIN OF ty_boa_detail_format,
            acc_num(10)  TYPE  c,
            void_ind(1)  TYPE  c,
            filler(2)    TYPE  c,
            s_no(10)     TYPE  c,
            amount(12)   TYPE  c,
            iss_date(8)  TYPE  c,
            add_data(37) TYPE  c,
          END OF ty_boa_detail_format.
    =========        I N T E R N A L   T A B L E S         ==============
    DATA  BEGIN OF it_sap_format OCCURS 0.
            INCLUDE STRUCTURE dtachkp.
    DATA  END OF it_sap_format.
    DATA: it_boa_format TYPE STANDARD TABLE OF ty_boa_format
                                      WITH HEADER LINE,
          it_boa_detail_format TYPE STANDARD TABLE OF ty_boa_detail_format
                                    WITH HEADER LINE.
    internal tables to send E-mail
    DATA: st_doc_chng LIKE  sodocchgi1,
                          "Data of an object which can be changed
          it_objtxt   LIKE STANDARD TABLE OF solisti1   ,
                            "SAPoffice: Single List with Column Length 255
          wa_objtxt   LIKE LINE OF it_objtxt,
          it_objpack  LIKE STANDARD TABLE OF sopcklsti1 ,
                     "SAPoffice: Description of Imported Object Components
          wa_objpack  LIKE LINE OF it_objpack,
          it_objhead  LIKE STANDARD TABLE OF solisti1 ,
                            "SAPoffice: Single List with Column Length 255
          wa_objhead  LIKE LINE OF it_objhead,
          it_reclist  LIKE STANDARD TABLE OF somlreci1  ,
                           "SAPoffice: Structure of the API Recipient List
          wa_reclist  LIKE LINE OF it_reclist,
          it_objbin   LIKE STANDARD TABLE OF solisti1,
                      "SAPoffice: Single List with Column Length 255
          wa_objbin LIKE LINE OF it_objbin.
    =========              C O N S T A N T S               ==============
    CONSTANTS c_flag TYPE c VALUE 'X'.
    =========              V A R I A B L E S               ==============
    DATA: w_flag TYPE c,
          w_str(70) TYPE c,  " To store E-Amil contents
          w_tab_lines TYPE sy-tabix.
    ==========         S E L E C  T I O N  S C R E E N      =============
    SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
    SELECTION-SCREEN: SKIP.
    SELECTION-SCREEN: BEGIN OF BLOCK b2 WITH FRAME.
    PARAMETERS:     p_bukrs   LIKE payr-zbukr OBLIGATORY DEFAULT '2580',
                    p_hbkid   LIKE payr-hbkid OBLIGATORY DEFAULT 'BOAUS',
                    p_waers   LIKE payr-waers OBLIGATORY DEFAULT 'USD'.
    SELECT-OPTIONS: s_erdat   FOR  dfkkcr-erdat OBLIGATORY.
    "DEFAULT SY-DATUM.
    SELECT-OPTIONS: s_voidr  FOR payr-voidr.
    SELECTION-SCREEN: END OF BLOCK b2.
    SELECTION-SCREEN: BEGIN OF BLOCK b3 WITH FRAME.
    PARAMETERS:     p_sfile   LIKE rlgrap-filename OBLIGATORY,
                    p_opath LIKE rlgrap-filename OBLIGATORY,
                    p_ofile   LIKE rlgrap-filename OBLIGATORY.
    SELECTION-SCREEN: END OF BLOCK b3.
    SELECTION-SCREEN: END OF BLOCK b1.
    ============     I N I T I L I Z A T I O N              =============
    data : w_bukrs like payr-zbukr.
    INITIALIZATION.
      DATA: l_path1 LIKE rlgrap-filename VALUE '/global/data/transfer/',
            l_path2 LIKE rlgrap-filename   VALUE '/3302/pub/out/'.
      CONCATENATE l_path1 sy-sysid l_path2 INTO p_opath.
    ============     A T  S E L E C T I O N  S C R E E N    =============
    AT SELECTION-SCREEN.
    *---to Validate the entered Company code
      PERFORM to_validate_bukrs.
    *---to Validate the entered house bank
      PERFORM to_validate_hbkid.
    *---to Validate the entered currency
      PERFORM to_validate_waers.
    AT SELECTION-SCREEN OUTPUT.
    *--- to populate the default file names if the entered company code and
    *--- house bank id are valid
      PERFORM to_populate_default_file_names.
    ============    S T A R T  O F  S E L E C T I O N       =============
    START-OF-SELECTION.
    *---checking of file CD_POS_COMPLETE for existence
      PERFORM CHECK_FILES.
    *--- to submit the report RFCHKE00
      PERFORM submit_rfchke00.
    *--- to open the unix file and download the data
      PERFORM open_unix_file_and_process.
    *--- to convert the sapfile format to the required BOA format
      PERFORM sap_format_to_boa_format.
    =============    E N D   O F  S E L E C T I O N       ===============
    END-OF-SELECTION.
    *If entered file exists in the Unix directory
      IF w_flag = ' '.
    *--- process the boa internal table to generate the trailer records for
    *--- every new account number
        PERFORM process_boa_for_trailer_record.
    *--- upload data to the unix file which contains the required BOA format
        PERFORM upload_unix_file.
    *---addition of files into server
      PERFORM ADD_FILES.
    *-----Send a E-Mail to the user
        PERFORM send_email.
      ENDIF.
    ===================    S U B R O U T I N E S       ==================
    *&      Form  to_validate_bukrs
          to validate the entered company code at the selection screen
    FORM to_validate_bukrs .
      IF NOT p_bukrs IS INITIAL.
        SELECT SINGLE bukrs
                 FROM t001
                 INTO t001-bukrs
                WHERE bukrs EQ p_bukrs.
        IF sy-subrc NE 0.
          MESSAGE e004 WITH text-e01.
          STOP.
        ENDIF.
      ELSE.
        MESSAGE e004 WITH text-e00.
      ENDIF.
    ENDFORM.                    " to_validate_bukrs
    *&      Form  to_validate_hbkid
          to validate the entered house bank id at the selection screen
    FORM to_validate_hbkid .
      IF NOT p_hbkid IS INITIAL.
        SELECT SINGLE hbkid
                 FROM t012
                 INTO t012-hbkid
                WHERE hbkid EQ p_hbkid.
        IF sy-subrc NE 0.
          MESSAGE e004 WITH text-e02.
          STOP.
        ENDIF.
      ELSE.
        MESSAGE e004 WITH text-e00.
      ENDIF.
    ENDFORM.                    " to_validate_hbkid
    *&      Form  to_validate_waers
    to validate the entered cCurrency at the selection screen
    FORM to_validate_waers .
      IF NOT p_waers IS INITIAL.
        SELECT SINGLE waers
                 FROM tcurc
                 INTO tcurc-waers
                WHERE waers EQ p_waers.
        IF sy-subrc NE 0.
          MESSAGE e004 WITH text-e03.
          STOP.
        ENDIF.
      ELSE.
        MESSAGE e004 WITH text-e00.
      ENDIF.
    ENDFORM.                    " to_validate_waers
    *&      Form  to_populate_default_file_names
      to disable the file name fields and to populate the default values
      into it
    FORM to_populate_default_file_names .
      DATA: l_date LIKE sy-datum.
      l_date = sy-datum.
      IF p_sfile IS INITIAL or w_bukrs <> p_bukrs.
    *---   move the entered company code, house bank id and todays
    *---   date to the sap file name
        CONCATENATE '/tmp/FI_' p_bukrs p_hbkid p_waers sy-datum
                    INTO p_sfile.
      ENDIF.
      IF p_ofile IS INITIAL or w_bukrs <> p_bukrs.
        CONCATENATE '3302-BA-03-'
                       l_date '-' sy-uzeit '-' p_bukrs '-out'
                     INTO p_ofile.
      ENDIF.
      w_bukrs = p_bukrs.
    ENDFORM.                    " to_populate_default_file_names
    *&      Form  open_unix_file_and_process
          opne the unix file and download data to internal table
    FORM open_unix_file_and_process .
      DATA : l_msg(80) TYPE c.
      CLEAR w_flag.
    open the file in text mode
      OPEN DATASET p_sfile FOR       INPUT
                           IN        TEXT MODE
                           MESSAGE   l_msg
                           ENCODING  DEFAULT.
      IF sy-subrc NE 0.
        MESSAGE s004 WITH l_msg '-' p_sfile.
        w_flag = 'X'.
        STOP.
      ENDIF.
    move the downloaded file data record wise to the internal table
    till it reaches to the last record
      DO.
        READ DATASET p_sfile INTO it_sap_format.
        IF sy-subrc = 0.
          APPEND it_sap_format.
        ELSE.
        cursor reached to the last record of the file
          EXIT.
        ENDIF.
      ENDDO.
    remove the header record form the downloaded file data
      DELETE it_sap_format INDEX 1.
    remove the dataset file created by sap standard program
      DELETE DATASET p_sfile.
    close the opened file
      CLOSE DATASET p_sfile.
    ENDFORM.                    " open_unix_file_and_process
    *&      Form  sap_format_to_boa_format
          to convert the sap generated file format to the required Bank Of
          America format
    FORM sap_format_to_boa_format .
      DATA: l_amount(10),
            l_decimal(2),
            l_payee2 LIKE payr-znme2.
      LOOP AT it_sap_format.
        WRITE it_sap_format-bankn  TO it_boa_detail_format-acc_num
                                      RIGHT-JUSTIFIED.
        UNPACK it_boa_detail_format-acc_num TO it_boa_detail_format-acc_num.
        IF NOT it_sap_format-voidr IS INITIAL.
          it_boa_detail_format-void_ind = '2'.
        ELSE.
          CLEAR it_boa_detail_format-void_ind.
        ENDIF.
        it_boa_detail_format-filler   = space.
        WRITE it_sap_format-chect  TO it_boa_detail_format-s_no
                                      RIGHT-JUSTIFIED.
        UNPACK it_boa_detail_format-s_no TO it_boa_detail_format-s_no.
        WRITE it_sap_format-amnt+6(9) TO l_amount.
        WRITE it_sap_format-decm+0(2)  TO l_decimal.
        CONCATENATE '0' l_amount l_decimal INTO it_boa_detail_format-amount.
        it_boa_detail_format-iss_date = it_sap_format-zaldt.
    *addition of payee2 field in version2.
        CLEAR l_payee2.
        SELECT SINGLE znme2
                      INTO l_payee2
                      FROM payr
                      WHERE zbukr = p_bukrs AND
                            hbkid = p_hbkid AND
                            chect = it_sap_format-chect.
    *payee1 and payee2 separated by # symbol.
        it_boa_detail_format-add_data+0(20) = it_sap_format-znme1.
        it_boa_detail_format-add_data+20(1) = '#'.
        it_boa_detail_format-add_data+21(16) = l_payee2.
    *if payee1 is initial , then condenses the name
        CONDENSE it_boa_detail_format-add_data.
        APPEND it_boa_detail_format.
      ENDLOOP.
      CLEAR it_boa_detail_format.
    ENDFORM.                    " sap_format_to_boa_format
    *&      Form  process_boa_for_trailer_record
          to generate the trailer record for every new account number
    FORM process_boa_for_trailer_record .
      DATA: l_cnt     TYPE i,
            l_amt(12) TYPE p DECIMALS 2,
            l_temp(12).
    *--- sort the table on account number
      SORT it_boa_detail_format BY acc_num.
      LOOP AT it_boa_detail_format.
      to get the item line count and the total
        if it_boa_detail_format-void_ind <> '2'.
          l_cnt = l_cnt + 1.
          l_amt = l_amt + it_boa_detail_format-amount.
        endif.
        it_boa_format-acc_num        = it_boa_detail_format-acc_num.
        it_boa_format-void_ind       = it_boa_detail_format-void_ind.
        it_boa_format-filler         = it_boa_detail_format-filler.
        it_boa_format-s_no           = it_boa_detail_format-s_no.
        it_boa_format-amount         = it_boa_detail_format-amount.
        it_boa_format-add_data+0(8)  = it_boa_detail_format-iss_date.
        it_boa_format-add_data+8(37) = it_boa_detail_format-add_data.
        APPEND it_boa_format.
        CLEAR it_boa_format.
      for the new bank account number
        AT END OF acc_num.
          it_boa_format-acc_num        = it_boa_detail_format-acc_num.
          it_boa_format-void_ind       = 'T'.
          it_boa_format-filler         = ''.
          it_boa_format-s_no           = l_cnt.
    *--   unpack is used to add leading zeros
          UNPACK it_boa_format-s_no     TO it_boa_format-s_no.
          l_amt = l_amt / 100.
          UNPACK l_amt                  TO it_boa_format-amount.
          l_temp = it_boa_format-amount.
    *-- Changes as per BOA - no decimals requried ,instead put a 0
    *-- in the start
          CLEAR it_boa_format-amount.
          it_boa_format-amount+0(01)  = '0'.          "Zero at the start
          it_boa_format-amount1(9)   = l_temp1(9).   "9 digits whole amt
          it_boa_format-amount10(2)  = l_temp10(2). "2 decimals amt
          UNPACK it_boa_format-add_data TO it_boa_format-add_data.
          APPEND it_boa_format.
          CLEAR: l_cnt,
                 l_amt,
                 l_temp,
                 it_boa_format.
        ENDAT.
      ENDLOOP.
    ENDFORM.                    " process_boa_for_trailer_record
    *&      Form  upload_unix_file
          create unix file with the required BOA format
    FORM upload_unix_file .
      DATA l_msg(80) TYPE c.
    opne the unix file
      CONCATENATE p_opath p_ofile INTO p_ofile.
      OPEN DATASET p_ofile FOR      OUTPUT
                           IN       TEXT MODE
                           MESSAGE  l_msg
                           ENCODING DEFAULT.
      IF sy-subrc NE 0.
        MESSAGE i004 WITH l_msg.
        EXIT.
      ENDIF.
    move the data from internal table to unix file
      LOOP AT it_boa_format.
        TRANSFER it_boa_format TO p_ofile.
      ENDLOOP.
      message about number of records downloaded
      IF sy-subrc EQ 0.
        MESSAGE s004 WITH
                     sy-tfill 'records downloaded to the file'
                     p_ofile.
      ENDIF.
      close file
      CLOSE DATASET p_ofile.
    ENDFORM.                    " upload_unix_file
    *&      Form  submit_rfchke00
          to submit the standard program RFCHKE00 to extract the checks
          for the given company code, House bank and currecncy
    FORM submit_rfchke00 .
      SUBMIT rfchke00 WITH par_zbuk EQ p_bukrs
                      WITH par_hbki EQ p_hbkid
                      WITH par_waer EQ p_waers
                      WITH par_xneu EQ c_flag
                      WITH sel_zald IN s_erdat
                      WITH par_file EQ p_sfile
                      WITH par_dbup EQ c_flag
                      WITH sel_void IN s_voidr
                      AND RETURN.
      IF sy-subrc NE 0.
        MESSAGE i004 WITH text-e04.
        EXIT.
      ENDIF.
    ENDFORM.                    " submit_rfchke00
    *&      Form  send_email
          sends an email in the required format
    FORM send_email .
    Populate the Mail contents
      PERFORM populate_email_ref_data.
    Populate the attachment data
      PERFORM pop_data_objbin.
      CLEAR w_tab_lines.
      DESCRIBE TABLE it_objbin LINES w_tab_lines.
      wa_objhead = text-021.
      APPEND wa_objhead TO it_objhead.
    Creation of the entry
      wa_objpack-transf_bin = 'X'.
      wa_objpack-head_start = 0.
      wa_objpack-head_num   = 0.
      wa_objpack-body_start = 0.
      wa_objpack-body_num   = w_tab_lines.
      wa_objpack-doc_type   = 'txt'.
      wa_objpack-obj_name   = 'POS pay-FI'.
      wa_objpack-obj_descr  = text-022.
      wa_objpack-doc_size   = w_tab_lines * 255.
      APPEND wa_objpack TO it_objpack.
    Populate the User mail ids from the distribution list
      PERFORM receiver_details.
    ENDFORM.                    " send_email
    *&      Form  POPULATE_EMAIL_REF_DATA
         Subroutine to set the Attachment file name ,Mail subject,
         Body of the mail and size of the mail
    FORM populate_email_ref_data .
    Setting up attachment file name
      st_doc_chng-obj_name = text-t02.
    Setting up mail subject
      st_doc_chng-obj_descr = text-t03.
      st_doc_chng-sensitivty = 'P'.
    *Seting up the body of the E-mail
      wa_objtxt = text-t04.
      APPEND wa_objtxt TO it_objtxt.
      DESCRIBE TABLE it_objtxt LINES w_tab_lines.
      READ TABLE it_objtxt INTO wa_objtxt INDEX w_tab_lines.
    *Finding size of the E-mail
    st_doc_chng-doc_size = ( w_tab_lines - 1 ) * 255 + STRLEN( wa_objtxt ).
    Creation of the entry for the compressed document
      CLEAR wa_objpack-transf_bin.
      wa_objpack-head_start = 1.
      wa_objpack-head_num = 0.
      wa_objpack-body_start = 1.
      wa_objpack-body_num = w_tab_lines.
      wa_objpack-doc_type = 'RAW'.
      APPEND wa_objpack TO it_objpack.
    ENDFORM.                    " POPULATE_EMAIL_REF_DATA
    *&      Form  POP_DATA_OBJBIN
    Subroutine to populate the contennts of the attached document
    FORM pop_data_objbin .
      DATA : l_date LIKE sy-datum.
      l_date = sy-datum - 1.
    Populating the message
      CLEAR w_str.
      CONCATENATE text-t06 l_date INTO w_str SEPARATED BY space.
      MOVE w_str TO wa_objbin-line.
      CONCATENATE  cl_abap_char_utilities=>cr_lf w_str INTO  w_str.
      wa_objbin-line = w_str.
      APPEND wa_objbin TO it_objbin.
      CLEAR w_str.
      CLEAR wa_objbin.
    WRITE TEXT-T07 TO W_STR+01(64).   "Message
    MOVE W_STR TO WA_OBJBIN-LINE.
    CONCATENATE  CL_ABAP_CHAR_UTILITIES=>CR_LF W_STR INTO  W_STR.
    WA_OBJBIN-LINE = W_STR.
    APPEND WA_OBJBIN TO IT_OBJBIN.
    CLEAR W_STR.
    CLEAR WA_OBJBIN.
    WRITE TEXT-T06 TO W_STR.
    MOVE W_STR TO WA_OBJBIN-LINE.
    CONCATENATE  CL_ABAP_CHAR_UTILITIES=>CR_LF W_STR INTO  W_STR.
    WA_OBJBIN-LINE = W_STR.
    APPEND WA_OBJBIN TO IT_OBJBIN.
    CLEAR: W_STR,
            WA_OBJBIN.
    *for Company Code and House Bank
      CONCATENATE text-t08 p_bukrs INTO w_str SEPARATED BY space.
      CONCATENATE w_str text-t09 INTO w_str.
      CONCATENATE w_str p_hbkid INTO w_str SEPARATED BY space.
      MOVE w_str TO wa_objbin-line.
      CONCATENATE  cl_abap_char_utilities=>cr_lf w_str INTO  w_str.
      wa_objbin-line = w_str.
      APPEND wa_objbin TO it_objbin.
      CLEAR w_str.
      CLEAR wa_objbin.
      WRITE text-t07 TO w_str+0(62).
      MOVE w_str TO wa_objbin-line.
      CONCATENATE  cl_abap_char_utilities=>cr_lf w_str INTO  w_str.
      wa_objbin-line = w_str.
      APPEND wa_objbin TO it_objbin.
      CLEAR w_str.
      CLEAR wa_objbin.
    Processing output records to send email in attachment
      LOOP AT it_boa_format.
        PERFORM cheque_records_to_objbin.
      ENDLOOP.
      IF it_objbin[] IS INITIAL.
        MOVE 'No data in Positive Payfile for FI'  TO wa_objbin-line.
        CONCATENATE  cl_abap_char_utilities=>cr_lf w_str INTO  w_str.
        wa_objbin-line = w_str.
        APPEND wa_objbin TO it_objbin.
        CLEAR w_str.
        CLEAR wa_objbin.
      ENDIF.
    ENDFORM.                    " POP_DATA_OBJBIN
    *&      Form  CHEQUE_RECORDS_TO_OBJBIN
          Subroutine to populate the output data in attachment
    FORM cheque_records_to_objbin .
      DATA: l_bank_acc_no(10),
            l_check_no(10),
            l_amount(12),
            l_paid_date(8),
            l_status(1).
      l_bank_acc_no = it_boa_format-acc_num.
      l_check_no    = it_boa_format-s_no.
      l_amount      = it_boa_format-amount.
      l_paid_date   = it_boa_format-add_data+0(8).
      l_status      = it_boa_format-void_ind.
    Display only summarised records in Email
      IF it_boa_format+10(1) = 'T'.
        WRITE text-t05 TO w_str+01(80).
        MOVE w_str TO wa_objbin-line.
        CONCATENATE  cl_abap_char_utilities=>cr_lf w_str INTO  w_str.
        wa_objbin-line = w_str.
        APPEND wa_objbin TO it_objbin.
        CLEAR w_str.
        CLEAR wa_objbin.
        WRITE l_bank_acc_no TO w_str+0(18).
        WRITE l_check_no    TO w_str+18(12).
        WRITE l_amount      TO w_str+30(14).
        MOVE w_str TO wa_objbin-line.
        CONCATENATE  cl_abap_char_utilities=>cr_lf w_str INTO  w_str.
        wa_objbin-line = w_str.
        APPEND wa_objbin TO it_objbin.
        CLEAR w_str.
        CLEAR wa_objbin.
        WRITE text-t05 TO w_str+01(80).
        MOVE w_str TO wa_objbin-line.
        CONCATENATE  cl_abap_char_utilities=>cr_lf w_str INTO  w_str.
        wa_objbin-line = w_str.
        APPEND wa_objbin TO it_objbin.
        CLEAR w_str.
        CLEAR wa_objbin.
    ELSE.
      for detail records
       WRITE L_BANK_ACC_NO TO W_STR+0(18).
       WRITE L_CHECK_NO    TO W_STR+18(12).
       WRITE L_AMOUNT      TO W_STR+30(14).
       WRITE L_PAID_DATE   TO W_STR+44(12).
       WRITE L_STATUS      TO W_STR+56(1).
       MOVE W_STR TO WA_OBJBIN-LINE.
       CONCATENATE  CL_ABAP_CHAR_UTILITIES=>CR_LF W_STR INTO  W_STR.
       WA_OBJBIN-LINE = W_STR.
       APPEND WA_OBJBIN TO IT_OBJBIN.
      ENDIF.
      CLEAR: w_str,
             wa_objbin.
    ENDFORM.                    " CHEQUE_RECORDS_TO_OBJBIN
    *&      Form  RECEIVER_DETAILS
       Subroutine to populate the receiver details
    FORM receiver_details .
      wa_reclist-receiver = text-t10.  "'[email protected]'.
      wa_reclist-rec_type = 'U'.
      APPEND wa_reclist TO it_reclist.
      CLEAR  wa_reclist.
    *-- Sending the email with attached document
      PERFORM call_email_function.
    ENDFORM.                    " RECEIVER_DETAILS
    *&      Form  CALL_EMAIL_FUNCTION
          text
    FORM call_email_function .
    Call function to send email
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
            EXPORTING
                 document_data              = st_doc_chng
                 commit_work                = 'X'
                put_in_outbox               = 'X'
          importing
               sent_to_all                = sent_to_all
            TABLES
                 packing_list               = it_objpack
                 object_header              = it_objhead
                 contents_bin               = it_objbin
                 contents_txt               = it_objtxt
                 receivers                  = it_reclist
            EXCEPTIONS
                 too_many_receivers         = 1
                 document_not_sent          = 2
                 operation_no_authorization = 4
                 OTHERS                     = 99.
      CASE sy-subrc.
        WHEN 1.
    *message e004.
        WHEN 2.
    *message e005.
        WHEN 3.
    *message e006.
        WHEN 0.
          SUBMIT rsconn01 WITH mode = 'INT' AND RETURN.
    *leave program.
         SET SCREEN 0.
          MESSAGE s004(zf_cd) WITH text-012 ' '  text-t10.
      ENDCASE.
    ENDFORM.                    " CALL_EMAIL_FUNCTION
    *&      Form  CHECK_FILES
    Perform used to check whether FI_POS_COMPLETE file exists on the
    server
    form CHECK_FILES .
      DATA : L_MSG(80) TYPE C,
             L_FILE   LIKE RLGRAP-FILENAME.
      CLEAR : L_FILE.
      CONCATENATE P_OPATH 'FI_POS_COMPLETE_' P_BUKRS INTO L_FILE.
      OPEN DATASET L_FILE FOR INPUT IN TEXT MODE ENCODING DEFAULT.
      IF SY-SUBRC = 0.
      CLOSE DATASET L_FILE.
      MESSAGE E054.
      ELSE.
      CLOSE DATASET L_FILE.
      ENDIF.
    endform.                    " CHECK_FILES
    *&      Form  ADD_FILES
    Perform used to create the FI_POS_COMPLETE file on the server with a 0
    byte record
    form ADD_FILES .
      DATA : L_MSG(80) TYPE C,
             L_FILE   LIKE RLGRAP-FILENAME.
      CLEAR : L_FILE.
      CONCATENATE P_OPATH 'FI_POS_COMPLETE_' P_BUKRS INTO L_FILE.
      OPEN DATASET L_FILE FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
      IF SY-SUBRC = 0.
        TRANSFER SPACE TO L_FILE.
      ELSE.
        MESSAGE I055.
      ENDIF.
      CLOSE DATASET L_FILE.
    endform.                    " ADD_FILES

  • 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

  • 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

  • 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

  • Is it possible to display keyfigures in italics format in report output

    Hi All,
    Is it possible to display keyfigures in italics and bold format in report output?
    Thanks,
    Sri Arun Prian

    you can edit the CSS - there is a CSS class assigned to the key figures.... this is for WAD....
    Edited by: Arun Varadarajan on Feb 5, 2009 2:43 PM

  • 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

  • Date format in report  output

    Hi to all
    In my report i am giving a date format like dd-mm-yyyy in a selection screen but in output of the report i am getting yyyy-mm-dd , i have cheacked all the setting in control panel ,and system date is dd-mm-yyyy only
    kindly suggest me wt should i do to get dd-mm-yyyy format in report output.
    Thanks

    Hi,
    Check this thread
    https://forums.sdn.sap.com/click.jspa?searchID=5217881&messageID=3336239
    Regards
    Prakash

  • Report Format in GLDI output

    I am trying to publish our reports through GLDI and keep the print setup format on this output. Is there a way to keep the print setup on the output using GLDI without having to go in and reset it on every occasion?

    All white space in HTML is collapsed by default. 2 possible options to modify this behaviour are:
    1. Use the HTML element<tt>&lt;pre&gt;</tt> element.
    2. Use the CSS property<tt>white-space</tt> property to modify the presentation of an element through the addition of a style sheet to the page HTML Header property:
    <style type="text/css">
    #your-report-selector {
      white-space: pre;
    </style>Use whichever is most appropriate for your report, in conjunction with a monospace font.
    (Please update your forum profile with a better handle than "user8763881".)

  • 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..

  • 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

  • Maybe you are looking for

    • Sharing a PC hard drive with my Macbook?`

      Here's what my problem is: I have a Macbook (OSX Tiger) with only 20 or so GB's of free space, and a PC (Win XP) with 127 GB's of free space. Both computers are connected to the internet with my Airport Extreme base station (PC is wired, Macbook is w

    • Mapping runtime Exception

      I have tested my mapping in IR, it is working good. Problem comes it is receving data from sender system. I have checked the sender side data type and Iam receving the data properly, once the data reaches XI, it could not map it to target structure.

    • Unwanted white lines and boxes in PDFs viewed on ios

      hello - i have been having some serious issues with creating pdfs for mac users. on windows they look great - no matter what settings i use - however i have been getting feedback that on a mac there are verticle lines or thin white boxes around text

    • Laptop as external hard drive

      Hey guys. I have a question. How do you turn your ibook into an external hard drive that can be plugged into another computer. I have an eMac and I want to connect my ibook to it to transfer some stuff, and I can't remember how to do it. I know you u

    • FCPX Rendering again each time restart / reboot ?

      Hey all FCPX is rendering my project again each time I restart it up or each time I open it up again after a reboot. I dont think its a FULL re-render as it doesnt take a huge amount of time, but yet its still doing it. I have allowed my project to F