Clearing expense reports reimbursed via payroll

We are using i-Expnse and get many of our expense reports submitted through i-Expense that are payroll reimbursed so there is no need to pay them via AP, however, we do not have a good way to clear these expense reports in AP. They remain on hold in our AP system, we understand that we could clear them via the clear payments payment method, but this is one by one and we need to do a batch as we get hundreds of these types of expense reports. Is there another way to clear a batch of expense reports without running a "dummy" check payment batch?

We are running 11.5.10. Invoices are imported into AP via a 3rd party Expense Reporting system. As we know, once the invoices are validated and approved in AP, accounting transactions are created, pushed to GL. Those invoices are now aging, a liablity until paid.
We push the invoices to payroll, Batch Element Entry, pay out of payroll. And now as you stated, you have these invoices hanging in AP (aging). The original approach was to mimic a payment by touching all the tables (good luck), it created a mess. AP_AE_HEADERS, AP_AE_LINES, etc. Not worth it.
Then we went this route, works okay, but the problem is it's hard to control what payroll does, i.e., keeping transactions in sync between AP and Payroll.
If payroll manually creates expense reimbursements or if Payroll not reverses a reimbursemement, good luck keeping keeping in balance, what AP posts to GL and what Payroll posts to GL - we are now basically running 2 tranactional systems. Sorry, I digressed. Here is what we do now. In bank setup, created a bank where we won't run positive pay out of, the cash, and liability for this bank account are the same on so the payment journal that pushes to GL once the payment is made is a wash. We have a special pay group, the interface from Payroll back to AP updates the paygroup for the invoices to this pay group, the user runs a payment batch, confirms, etc,. Pushes to GL and now the invoices are cleared, removed from the Trial Balance. We have form personalizations so the user can never set an invoice to this special paygroup, the paygroup is set behind the scenes via our custom .pkb when interfacing from Payroll back to AP after Payroll has costed the expense reimbursements.
Sure would be much easier if there was an API to call, clear the invoice. I've searched, don't believe one was/is available in 11.5.10. Hope this helps. Good luck.

Similar Messages

  • E-Mail is not sent for "Expense report reimbursed"

    Hello,
    When the expense report status changes to "Reimbursed", an email should be sent to the employee. But it is not being sent.
    FYI, both in Business Configuration --> Fine Tune Activity and Personalize --> My Data setting of employee, the email option is enabled for E-Mail Type "Expense report reimbursed". But still email is not sent out when the expense report is reimbursed.
    Best regards,
    Hari

    Thanks Joachim! Just to let others know, here is the reply I got in the incident.
    Your tenant is with SAP Cloud for Travel and Expense release 1311. In this release your finding is valid that some system glitch causes the e-mail not to be sent for reimbursed expense report. This issue should have been fixed in release 1402. Because now the upgrade to release 1402 has begun and all tenants will be upgraded to 1402 in several weeks, we may not fix the issue on 1311 tenants. Anyway the main features of handling expense reports in the system should work as expected.
    Best regards,
    Hari

  • In R12, can payroll user enter expense report for employees via web-based?

    Hi,
    In R12, can payroll user enter expense report for employees via web-based screen? Previously in 11i, it can be done via the Expense Report forms.
    Appreciate advise on this.
    Thanks in advance.
    Regards,
    Shiau Chin

    Hi Anne,
    Please see page 42 of the [url http://download.oracle.com/docs/cd/B34956_01/current/acrobat/120oieig.pdf]iExpenses Implementation and Admin Guide for R12 . If you are unable to enter the ID as per the guide, I would suggest raising an Service Request with Oracle Support.
    Cheers, Pete

  • Trip expense report settlement in case of Inactive Employee

    Hi T&E Experts,
    We are facing a typical problem, in settlement of inactive employee trip expense report.
    Details are as below:
    - One of the employee moved from 1 Organisation to other. His personnel number status in old organisation is showing as "Withdrawn".
    - Some of the credit-card charges on his personnel number are still pending for settlement.
    - The current trip created to settle these charges is in "Approved - To be settled" status.
    - Now we are trying to use "PREC" transaction to settle the trip. Transaction is rejecting the trip, as personnel number is invalid (inactive).
    - Because the trip is still not in "Settled" status, we cannot use PRFI transaction to manually release the trip payment in next posting run.
    We have tried different ways like making the employee active, but nothing is working here.
    > Requesting your inputs to provide way-out in above case.
    > Also is there any standard procedure, which is to be followed in case of settlement of Inactive Employee pending charges ?
    Thanks in advance,
    Aditya

    Would agree with Mathieu in this case, changing the SYS_DATE on the authorization check is probably the most effective way of avoiding this as the authorization check is very strong in Travel for infotype 0000/0002/0017 etc.
    FM CHECK_AUTH_AUTHP.
    *    AUTHORITY-CHECK OBJECT 'P_TRAVL'
    *       ID 'AUTHP' FIELD authp
    *       ID 'BUKRS' FIELD p0001-bukrs
    *       ID 'PERSA' FIELD p0001-werks
    *       ID 'KOSTL' FIELD check_kostl
    *       ID 'PERSG' FIELD p0001-persg
    *       ID 'PERSK' FIELD p0001-persk
    *       ID 'VDSK1' FIELD p0001-vdsk1
    *       ID 'PTZUO' FIELD p0017-ptzuo
    One other point is how you configure the leaving action for an employee who will be terminated (this is done via PR05 in the radio button "Organizational reassignment")
    Whilst it should not be possible to create a trip/expense report for a terminated employee, however as there may still be a need to process expenses with posting to FI/Payroll etc after the termination date
    (Table V_T582A, for the relevant HR infotypes 0000, 0001 and IT017 is relevant here and needs to be maintained) then the leaving action also becomes important.
    Finally, keep in mind that credit card expenses if you use CC clearing go to the error file for inactive employees
    This is mentioned in the wiki Processing credit card receipts and expenses for inactive employees - ERP Human Capital Management - SCN Wiki
    Hope it helps
    Sally

  • PRC: Interface Expense Reports to Payables

    Hi All,
    In R12, If we enter Expenditure batches using Expense Report classification in Projects, can we interface these Expense Reports to Payables?
    Wat is the signifance of "Expense Report Cost Account", function in Projects AutoAccounting? There is no clearing Account function for Expense Reports ?
    Please can any one let us know what report in R12 replaced,"PRC: Interface Expense Reports to Payables"?
    Rgds

    Hi all Guru including Dina,
    EBS 12 i
    I want your help for project billing integration with SCM shipment.
    hey,I create one financial task called supply of material. and i am initiating event via project contract module for initiate shipment and delivery based billing. after draft revenue and draft invoice.
    I want to know - how to control where user can not release invoice and revenue for financial task "supply of material" unless and untill he makes shipment ..i.e. ship confirm.
    If you can share with me - some notes on integration of SCM with Project modules.
    my email is - [email protected] (upto 5 MB) and if more then that [email protected]
    Thanks for your kind support as always on behalf of everybody.
    Regards,
    Bharat Bhopani
    +91-9892003019

  • Updating expense report

    Hi - after an audit was done on my expense report, I had to recall it and update an expense receipt image.
    Once this has been completed, the reimbursement amount is wrong.  I submitted the expense report again with a comment that the amount is wrong, however I expect this will flow through completely with the wrong amount.
    How can I get the system to update and include the expense that required the receipt image again?
    Thanks,
    Larry

    Hi Larry,
    How did you attach the expense receipt? Did you send it via e-mail? Or do you use central receipt scanning?
    If you took a picture of the receipt and then uploaded it, it is possible that the smart receipt recognition did not work. You might find the Help Center document Claiming Expenses (HTML5), section "Task - Attaching Receipts" helpful.
    Kind regards,
    Sabrina 

  • Sending report output via E-mail (excel pivoted format)

    Hi all,
    i have a written a report where i need to send the report output to somebody via
    E-mail.i am sending this report output via E-mail successfully.The receiver receives, my output in excel format.but this excel is not <b>pivoted</b>.
    i want , the receiver should get my output in pivoted excel format.i.e my output data should be exactly fit in the excel sheet.
    now the columns in excel sheet are overlapping.once i double clicked, the columns are getting separated.i do not want to double click.i want all the columns should come properly i.e excel field  length should be adjusted as per the output field length.
    i am giving my coding below.plz suggest how i can do the above thing .it's urgent.
    any idea will be highly appreaciated.
    Regards
    if not p_email1 is initial.
         perform fill_report_csv.
         perform f_send_internet_mail.
      endif.
    FORM fill_report_csv.
       data :   l_text(232) type c,
               v_matnr1(21) type c,
               v_matnr(21) type c,
               v_matkl(14) type c,
               v_maktx(45) type c,
               v_ttlstk(14) type c,
               v_verpr(14) type c,
               v_werks(14) type c,
               v_lgort(14) type c,
               v_char(10) type c,
               v_stks type p ,
               v_po(40) type c,
               v_qty(13) type c,
                v_qty1 type sy-datum,
               v_date(15) type c,
               v_date1(15) TYPE C,
               v_name(35) type c,
               v_eknam(18) type c,
               v_lifnr(15) type c,
            l_po(40) type c,
            v_matnr(20) type c,
             l_rate(11) type  p decimals 5,
             l_flag type c.
      concatenate c_equal c_colon 'PO no.' c_colon
                    into v_po.
      concatenate c_equal c_colon 'Material no.' c_colon
                    into v_matnr.
      concatenate c_equal c_colon 'Description.' c_colon
                    into v_maktx.
      concatenate c_equal c_colon 'Due Qty.' c_colon
                    into v_qty.
      concatenate c_equal c_colon 'Del Date.' c_colon
                    into v_date.
      concatenate c_equal c_colon 'Vendor.' c_colon
                    into v_name.
      concatenate c_equal c_colon 'Buyer.' c_colon
                    into v_eknam.
      concatenate c_equal c_colon 'Vendor Code.' c_colon
                    into v_lifnr.
    concatenate
             v_po v_matnr v_maktx v_qty
             v_date v_name v_eknam v_lifnr
             into i_download
             SEPARATED BY con_tab.
      append i_download .
    clear : v_po,v_matnr, v_maktx, v_qty, v_date, v_name, v_eknam,v_lifnr .
    clear wa_output.
    loop at i_output into wa_output.
       on change of wa_output-ebeln.
         clear v_lines.
         loop at i_eket into wa_eket
                 where ebeln = wa_output-ebeln.
           v_lines = v_lines + 1.
           clear wa_eket.
         endloop.
    **-- Checking of page break
         v_lines = sy-linno + v_lines .
         if 55 < v_lines  .
           write:/0(161) sy-uline.
           new-page.
         endif.
      clear v_lines.
          loop at i_eket into wa_eket
                  where ebeln = wa_output-ebeln.
            v_lines = v_lines + 1.
            clear wa_eket.
          endloop.
    *-- Calculating the due qty.
        wa_output-dumng = wa_output-menge - wa_output-wemng.
    *-- Writing the Line items of the PO.
        read table i_ekpo into wa_ekpo
              with key ebeln = wa_output-ebeln
                       ebelp = wa_output-ebelp.
         l_rate = wa_ekpo-netpr / wa_ekpo-peinh.
    *-- Writing of PO detail
         if wa_output-dumng gt 0 .
         v_qty = wa_output-dumng.
        v_date1 = wa_output-eindt.
        v_maktx = wa_output-maktx.
         if wa_output-maktx+0(1) = '"' .
                concatenate  c_equal wa_output-maktx
                   into v_maktx  .
             else .
                concatenate  c_equal c_colon wa_output-maktx c_colon
                   into v_maktx  .
             endif .
       if wa_output-name1+0(1) = '"' .
                concatenate  c_equal wa_output-name1
                   into v_name  .
             else .
                concatenate  c_equal c_colon wa_output-name1 c_colon
                   into v_name  .
             endif .
        v_name = wa_output-name1.
        v_lifnr = wa_output-lifnr.
         write wa_output-eindt to v_date1 DD/MM/YYYY.
         concatenate '="' wa_output-ebeln '/'
                wa_output-ebelp '"' into v_po .
         concatenate '="' wa_output-matnr '"' into v_matnr .
             concatenate  c_equal c_colon wa_output-maktx c_colon
               into v_maktx  .
              concatenate  c_equal c_colon wa_output-dumng c_colon
               into v_qty1  .
               concatenate  c_equal c_colon wa_output-eindt c_colon
               into v_date1  .
              concatenate  c_equal c_colon wa_output-name1 c_colon
               into v_name  .
                concatenate  c_equal c_colon wa_output-eknam c_colon
                into v_eknam  .
              concatenate  c_equal c_colon wa_output-lifnr c_colon
               into v_lifnr  .
              concatenate  c_equal c_colon wa_mard-werks '/'
               wa_mard-lgort c_colon
               into v_lgort .
                 concatenate '="' wa_output-lifnr '"' into v_lifnr .
    condense:v_po,v_matnr, v_maktx, v_qty, v_date, v_name, v_eknam,v_lifnr .
         concatenate
             v_po v_matnr v_maktx v_qty
             v_date1 v_name v_eknam v_lifnr
             into i_download
             SEPARATED BY con_tab.
        concatenate con_cret i_download INTO i_download .
        append i_download .
      endif.
    clear : v_po,v_matnr, v_maktx, v_qty, v_date, v_name, v_eknam,v_lifnr .
    endloop.
    ENDFORM.                    " fill_report_csv
    *&      Form  f_send_internet_mail
          text
    -->  p1        text
    <--  p2        text
    FORM f_send_internet_mail.
    Variables
    data:   it_packing_list like sopcklsti1 occurs 0 with header line,
            it_contents like solisti1 occurs 0 with header line,
            it_receivers like somlreci1 occurs 0 with header line,
            it_attachment like solisti1 occurs 0 with header line,
            gd_cnt type i,
            gd_sent_all(1) type c,
            gd_doc_data like sodocchgi1,
            gd_error type sy-subrc.
    data:   it_message type standard table of SOLISTI1 initial size 0
                    with header line.
    data : found_receiver type c,
           v_title(80) type c,
           l_text(180) type c.
    Fill the document data.
      gd_doc_data-doc_size = 1.
    Adds text to email text table
      append 'Pls see attached open purchase order report.' to it_message.
      append '' to it_message.
      concatenate 'Note: This is system generated report'
                  ', figures may subject to actual physical count.'
                  into l_text separated by space.
      append l_text to it_message.
    Populate the subject/generic message attributes
      CLEAR gd_doc_data.
      READ TABLE i_download INDEX w_cnt.
      gd_doc_data-doc_size =
         ( w_cnt - 1 ) * 255 + STRLEN( i_download ).
      gd_doc_data-obj_langu  = sy-langu.
      gd_doc_data-obj_name   = 'SAPRPT'.
    if p_asdate is initial .
         concatenate p_title ' '
                  sy-datum sy-uzeit into v_title separated by space.
    else .
        concatenate p_title ' '
                 p_bldat p_cputm into v_title separated by space.
    endif .
      gd_doc_data-obj_descr  = v_title .
      gd_doc_data-sensitivty = 'F'.
      CLEAR t_attachment.
      REFRESH t_attachment.
      t_attachment[] = i_download[].
    Describe the body of the message
      clear it_packing_list.
      refresh it_packing_list.
      it_packing_list-transf_bin = space.
      it_packing_list-head_start = 1.
      it_packing_list-head_num = 0.
      it_packing_list-body_start = 1.
      describe table it_message lines it_packing_list-body_num.
      it_packing_list-doc_type = 'RAW'.
      append it_packing_list.
    Create attachment notification
      it_packing_list-transf_bin = 'X'.
      it_packing_list-head_start = 1.
      it_packing_list-head_num   = 1.
      it_packing_list-body_start = 1.
      DESCRIBE TABLE t_attachment LINES it_packing_list-body_num.
      it_packing_list-doc_type   =  'XLS'.
      it_packing_list-obj_descr  =  'OPEN PURCHASE ORDER' .
      it_packing_list-obj_name   =  'PO.XLS' .
      it_packing_list-doc_size   =  it_packing_list-body_num * 255.
      APPEND it_packing_list.
    assign SAP user smtp address from successful retrieval.
      loop at p_email.
    Add the recipients email address
         found_receiver = 'X' .
         it_receivers-receiver = p_email-low.
         it_receivers-rec_type = 'U'.
         it_receivers-com_type = 'INT'.
         it_receivers-notif_del = ''.
         it_receivers-notif_ndel = 'X'.
         append it_receivers .
      endloop .
    Add default recipient email when unable to locate purc group email
       if found_receiver is initial .
           it_receivers-receiver = p_email.
           it_receivers-rec_type = 'U'.
           it_receivers-com_type = 'INT'.
           it_receivers-notif_del = ''.
           it_receivers-notif_ndel = 'X'.
          append it_receivers.
       endif .
    Call the FM to post the message to SAPMAIL
      call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
           exporting
                document_data              = gd_doc_data
                put_in_outbox              = 'X'
                commit_work                = 'X'
           importing
                sent_to_all                = gd_sent_all
           tables
                packing_list               = it_packing_list
                contents_bin               = t_attachment
                contents_txt               = it_message
                receivers                  = it_receivers
           exceptions
                too_many_receivers         = 1
                document_not_sent          = 2
                document_type_not_exist    = 3
                operation_no_authorization = 4
                parameter_error            = 5
                x_error                    = 6
                enqueue_error              = 7
                others                     = 8.
    Store function module return code
      gd_error = sy-subrc.
    Get it_receivers return code
      loop at it_receivers.
      endloop.
    Instructs mail send program for SAPCONNECT to send email.
      wait up to 2 seconds.
      if gd_error eq 0.
          submit rsconn01 with mode = 'INT'
                        with output = ' '
                        and return.
      endif.
    ENDFORM.                    " f_send_internet_mail

    Hi,
    go through this link,
    http://www.sapdevelopment.co.uk/reporting/email/emailhome.htm
    you have some sample programs.
    Regards,
    Raghavendra

  • Report output via E-mail

    Hi all,
    i have a written a report where i need to send the report output to somebody via
    E-mail.i am sending this report output via E-mail successfully.The receiver receives, my output in excel format.but this excel is not <b>pivoted</b>.
    i want , the receiver should get my output in pivoted excel format.i.e my output data should be exactly fit in the excel sheet.
    now the columns in excel sheet are overlapping.once i double clicked, the columns are getting separated.i do not want to double click.i want all the columns should come properly i.e excel field  length should be adjusted as per the output field length.
    i am giving my coding below.plz suggest how i can do the above thing .it's urgent.
    any idea will be highly appreaciated.
    Regards
    if not p_email1 is initial.
         perform fill_report_csv.
         perform f_send_internet_mail.
      endif.
    FORM fill_report_csv.
       data :   l_text(232) type c,
               v_matnr1(21) type c,
               v_matnr(21) type c,
               v_matkl(14) type c,
               v_maktx(45) type c,
               v_ttlstk(14) type c,
               v_verpr(14) type c,
               v_werks(14) type c,
               v_lgort(14) type c,
               v_char(10) type c,
               v_stks type p ,
               v_po(40) type c,
               v_qty(13) type c,
                v_qty1 type sy-datum,
               v_date(15) type c,
               v_date1(15) TYPE C,
               v_name(35) type c,
               v_eknam(18) type c,
               v_lifnr(15) type c,
            l_po(40) type c,
            v_matnr(20) type c,
             l_rate(11) type  p decimals 5,
             l_flag type c.
      concatenate c_equal c_colon 'PO no.' c_colon
                    into v_po.
      concatenate c_equal c_colon 'Material no.' c_colon
                    into v_matnr.
      concatenate c_equal c_colon 'Description.' c_colon
                    into v_maktx.
      concatenate c_equal c_colon 'Due Qty.' c_colon
                    into v_qty.
      concatenate c_equal c_colon 'Del Date.' c_colon
                    into v_date.
      concatenate c_equal c_colon 'Vendor.' c_colon
                    into v_name.
      concatenate c_equal c_colon 'Buyer.' c_colon
                    into v_eknam.
      concatenate c_equal c_colon 'Vendor Code.' c_colon
                    into v_lifnr.
    concatenate
             v_po v_matnr v_maktx v_qty
             v_date v_name v_eknam v_lifnr
             into i_download
             SEPARATED BY con_tab.
      append i_download .
    clear : v_po,v_matnr, v_maktx, v_qty, v_date, v_name, v_eknam,v_lifnr .
    clear wa_output.
    loop at i_output into wa_output.
       on change of wa_output-ebeln.
         clear v_lines.
         loop at i_eket into wa_eket
                 where ebeln = wa_output-ebeln.
           v_lines = v_lines + 1.
           clear wa_eket.
         endloop.
    **-- Checking of page break
         v_lines = sy-linno + v_lines .
         if 55 < v_lines  .
           write:/0(161) sy-uline.
           new-page.
         endif.
      clear v_lines.
          loop at i_eket into wa_eket
                  where ebeln = wa_output-ebeln.
            v_lines = v_lines + 1.
            clear wa_eket.
          endloop.
    *-- Calculating the due qty.
        wa_output-dumng = wa_output-menge - wa_output-wemng.
    *-- Writing the Line items of the PO.
        read table i_ekpo into wa_ekpo
              with key ebeln = wa_output-ebeln
                       ebelp = wa_output-ebelp.
         l_rate = wa_ekpo-netpr / wa_ekpo-peinh.
    *-- Writing of PO detail
         if wa_output-dumng gt 0 .
         v_qty = wa_output-dumng.
        v_date1 = wa_output-eindt.
        v_maktx = wa_output-maktx.
         if wa_output-maktx+0(1) = '"' .
                concatenate  c_equal wa_output-maktx
                   into v_maktx  .
             else .
                concatenate  c_equal c_colon wa_output-maktx c_colon
                   into v_maktx  .
             endif .
       if wa_output-name1+0(1) = '"' .
                concatenate  c_equal wa_output-name1
                   into v_name  .
             else .
                concatenate  c_equal c_colon wa_output-name1 c_colon
                   into v_name  .
             endif .
        v_name = wa_output-name1.
        v_lifnr = wa_output-lifnr.
         write wa_output-eindt to v_date1 DD/MM/YYYY.
         concatenate '="' wa_output-ebeln '/'
                wa_output-ebelp '"' into v_po .
         concatenate '="' wa_output-matnr '"' into v_matnr .
             concatenate  c_equal c_colon wa_output-maktx c_colon
               into v_maktx  .
              concatenate  c_equal c_colon wa_output-dumng c_colon
               into v_qty1  .
               concatenate  c_equal c_colon wa_output-eindt c_colon
               into v_date1  .
              concatenate  c_equal c_colon wa_output-name1 c_colon
               into v_name  .
                concatenate  c_equal c_colon wa_output-eknam c_colon
                into v_eknam  .
              concatenate  c_equal c_colon wa_output-lifnr c_colon
               into v_lifnr  .
              concatenate  c_equal c_colon wa_mard-werks '/'
               wa_mard-lgort c_colon
               into v_lgort .
                 concatenate '="' wa_output-lifnr '"' into v_lifnr .
    condense:v_po,v_matnr, v_maktx, v_qty, v_date, v_name, v_eknam,v_lifnr .
         concatenate
             v_po v_matnr v_maktx v_qty
             v_date1 v_name v_eknam v_lifnr
             into i_download
             SEPARATED BY con_tab.
        concatenate con_cret i_download INTO i_download .
        append i_download .
      endif.
    clear : v_po,v_matnr, v_maktx, v_qty, v_date, v_name, v_eknam,v_lifnr .
    endloop.
    ENDFORM.                    " fill_report_csv
    *&      Form  f_send_internet_mail
          text
    -->  p1        text
    <--  p2        text
    FORM f_send_internet_mail.
    Variables
    data:   it_packing_list like sopcklsti1 occurs 0 with header line,
            it_contents like solisti1 occurs 0 with header line,
            it_receivers like somlreci1 occurs 0 with header line,
            it_attachment like solisti1 occurs 0 with header line,
            gd_cnt type i,
            gd_sent_all(1) type c,
            gd_doc_data like sodocchgi1,
            gd_error type sy-subrc.
    data:   it_message type standard table of SOLISTI1 initial size 0
                    with header line.
    data : found_receiver type c,
           v_title(80) type c,
           l_text(180) type c.
    Fill the document data.
      gd_doc_data-doc_size = 1.
    Adds text to email text table
      append 'Pls see attached open purchase order report.' to it_message.
      append '' to it_message.
      concatenate 'Note: This is system generated report'
                  ', figures may subject to actual physical count.'
                  into l_text separated by space.
      append l_text to it_message.
    Populate the subject/generic message attributes
      CLEAR gd_doc_data.
      READ TABLE i_download INDEX w_cnt.
      gd_doc_data-doc_size =
         ( w_cnt - 1 ) * 255 + STRLEN( i_download ).
      gd_doc_data-obj_langu  = sy-langu.
      gd_doc_data-obj_name   = 'SAPRPT'.
    if p_asdate is initial .
         concatenate p_title ' '
                  sy-datum sy-uzeit into v_title separated by space.
    else .
        concatenate p_title ' '
                 p_bldat p_cputm into v_title separated by space.
    endif .
      gd_doc_data-obj_descr  = v_title .
      gd_doc_data-sensitivty = 'F'.
      CLEAR t_attachment.
      REFRESH t_attachment.
      t_attachment[] = i_download[].
    Describe the body of the message
      clear it_packing_list.
      refresh it_packing_list.
      it_packing_list-transf_bin = space.
      it_packing_list-head_start = 1.
      it_packing_list-head_num = 0.
      it_packing_list-body_start = 1.
      describe table it_message lines it_packing_list-body_num.
      it_packing_list-doc_type = 'RAW'.
      append it_packing_list.
    Create attachment notification
      it_packing_list-transf_bin = 'X'.
      it_packing_list-head_start = 1.
      it_packing_list-head_num   = 1.
      it_packing_list-body_start = 1.
      DESCRIBE TABLE t_attachment LINES it_packing_list-body_num.
      it_packing_list-doc_type   =  'XLS'.
      it_packing_list-obj_descr  =  'OPEN PURCHASE ORDER' .
      it_packing_list-obj_name   =  'PO.XLS' .
      it_packing_list-doc_size   =  it_packing_list-body_num * 255.
      APPEND it_packing_list.
    assign SAP user smtp address from successful retrieval.
      loop at p_email.
    Add the recipients email address
         found_receiver = 'X' .
         it_receivers-receiver = p_email-low.
         it_receivers-rec_type = 'U'.
         it_receivers-com_type = 'INT'.
         it_receivers-notif_del = ''.
         it_receivers-notif_ndel = 'X'.
         append it_receivers .
      endloop .
    Add default recipient email when unable to locate purc group email
       if found_receiver is initial .
           it_receivers-receiver = p_email.
           it_receivers-rec_type = 'U'.
           it_receivers-com_type = 'INT'.
           it_receivers-notif_del = ''.
           it_receivers-notif_ndel = 'X'.
          append it_receivers.
       endif .
    Call the FM to post the message to SAPMAIL
      call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
           exporting
                document_data              = gd_doc_data
                put_in_outbox              = 'X'
                commit_work                = 'X'
           importing
                sent_to_all                = gd_sent_all
           tables
                packing_list               = it_packing_list
                contents_bin               = t_attachment
                contents_txt               = it_message
                receivers                  = it_receivers
           exceptions
                too_many_receivers         = 1
                document_not_sent          = 2
                document_type_not_exist    = 3
                operation_no_authorization = 4
                parameter_error            = 5
                x_error                    = 6
                enqueue_error              = 7
                others                     = 8.
    Store function module return code
      gd_error = sy-subrc.
    Get it_receivers return code
      loop at it_receivers.
      endloop.
    Instructs mail send program for SAPCONNECT to send email.
      wait up to 2 seconds.
      if gd_error eq 0.
          submit rsconn01 with mode = 'INT'
                        with output = ' '
                        and return.
      endif.
    ENDFORM.                    " f_send_internet_mail

    ans

  • Programmatic expense report interface?

    I am trying to enter expense reports into ERP 11.5.9 programatically. I went down the path of using the Invoice Gateway, but I ran into a snag when our accountants mentioned that the invoices I am entering are tied to an employee (i.e. an expense report wherein the employee's record is duplicated in the vendors table), not a project. Sure enough, when I carefully observed them entering one of these invoices, I saw that they were choosing type "EXPENSE REPORT".
    I tried changing AP.AP_INVOICES_INTERFACE.INVOICE_TYPE_LOOKUP_CODE to "EXPENSE REPORT", but the Payables Open Interface Import rejected the invoices with the error "Invalid Inv Type Lookup: Invalid invoice type lookup code". Looking in AP.AP_INVOICES_ALL, I see many invoices with this invoice type. I'm guessing that either the Invoice Gateway doesn't do invoices of this type, or I am missing fields in AP.AP_INVOICES_INTERFACE that are dependent when "EXPENSE REPORT" is the invoice type.
    Is there a way to use the Invoice Gateway to enter expense reports? If so, what is the magic recipe of required fields? If not, is there another way to programmatically enter expense reports?
    Message was edited by:
    ckonstanski
    Reading through the Oracle Internet Expenses Implementation and Administration Guide, I see that there is already a concurrent process called American Express Transaction Loader. I am indeed writing a program to parse an AMEX spreadsheet of airling billing charges and turn the data into ERP invoices. I will look more deeply into this concurrent process in the hopes that it does what I need.

    The American Express Transaction Loader is not a complete solution for me. The documentation indicates that it is still necessary for the emloyee to enter an expense report, and for manual matching of credit card transactions to expense reports to occur. Since the company purchases the airline ticket for the employee, it is not possible for the employee to enter an expense report, as he doesn't even know the amount or credit card number.
    I can parse the AMEX credit card report myself. I'd like to use this data directly in the creation of expense reports that are complete. Our AMEX report contains all the information I need to match the invoice to an employee (or vendor, if you prefer).
    So back to square one: how do I programatically enter an expense report? Is there an interface? Or is it fairly safe to insert data into the AP tables via SQL?

  • How to delete the automatically created receipt in the expense report

    Hi experts,
    I am getting an error "no expense type for estimated costs has been defined. cannot save" while creating a travel request for an employee.
    Base on the reply from Raynard which posted on Re: FM for  trip exp
    It's because "The estimated cost in plan and request are now included into fund management. So if you have active funds management, the entered estimated cost are used to make availability check and commitment. Therefore you must create an expense type in view V_T706B1. Under 'amounts are' you have to choose 'estimated cost, no reimbursement to employee'."
    How ever, because the linkage with funds management, I faced the problem and also ckecked out the reason from SAP Help that "After the trip takes place, the user needs to manually delete the automatically created receipt in the expense report."
    Anybody can provide the solution how to automatically delete this receipt before user create the expense report??
    Thanks
    Daniel

    Hi Francis,
    Check the BADI "TRIP_WEB_CHECK" method "USER_CHECK_GENERAL_DATA".
    Here based on the schema you can modify the "estimated cost" field.
    Hope it helps.
    Regards,
    Jyothi

  • Error in creating expense report

    Hi All,
    We are getting an error when creating travel expense reports via ESS. Upon clicking Save, wwe get the following error msg:
    java.lang.NullPointerException
    at com.sap.xss.ser.xssconfview.vc.VcLinksView.wdDoModifyView(VcLinksView.java:167)
    at com.sap.xss.ser.xssconfview.vc.wdp.InternalVcLinksView.wdDoModifyView(InternalVcLinksView.java:354)
    at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.doModifyView(DelegatingView.java:78)
    at com.sap.tc.webdynpro.progmodel.view.View.modifyView(View.java:337)
    at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.doModifyView(ClientComponent.java:481)
    at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.doModifyView(ClientComponent.java:488)
    at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doModifyView(WindowPhaseModel.java:551)
    at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:148)
    at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
    However, in the backend when we check transaction PR05, the trip has been created and updated (despite the error msg on portal). From this, we can conclude that atleast JCo connections are working fine.
    Any clues from the gurus out there on how to troubleshoot this? Thanx a ton!
    cheers
    Prachi

    Hi Markus,
    here you go...
    java.lang.NullPointerException
         at com.sap.xss.ser.xssconfview.vc.VcLinksView.wdDoModifyView(VcLinksView.java:167)
         at com.sap.xss.ser.xssconfview.vc.wdp.InternalVcLinksView.wdDoModifyView(InternalVcLinksView.java:354)
         at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.doModifyView(DelegatingView.java:78)
         at com.sap.tc.webdynpro.progmodel.view.View.modifyView(View.java:337)
         at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.doModifyView(ClientComponent.java:481)
         at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.doModifyView(ClientComponent.java:488)
         at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doModifyView(WindowPhaseModel.java:551)
         at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:148)
         at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
         at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
         at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:299)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingPortal(ClientSession.java:779)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:714)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:261)
         at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
         at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:69)
         at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.sendDataAndProcessActionInternal(AbstractApplicationProxy.java:860)
         at com.sap.tc.webdynpro.portal.pb.impl.localwd.LocalApplicationProxy.sendDataAndProcessAction(LocalApplicationProxy.java:77)
         at com.sap.portal.pb.PageBuilder.updateApplications(PageBuilder.java:1259)
         at com.sap.portal.pb.PageBuilder.SendDataAndProcessAction(PageBuilder.java:324)
         at com.sap.portal.pb.PageBuilder$1.doPhase(PageBuilder.java:830)
         at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processPhaseListener(WindowPhaseModel.java:755)
         at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doPortalDispatch(WindowPhaseModel.java:717)
         at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:136)
         at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
         at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
         at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:299)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:759)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:712)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:261)
         at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    thanks!

  • Hide a column (Includes Tax) on iExpense (create expense report) OAF Page .

    Hi All,
    I am having small issue and I have never worked on OAF before. I have a requirement where I need to hide a column on OAF page.
    When logged into iExpense home page, and click Create Expense Report
    1.     Log into iExpenses in Oracle Applications.
         (N) iExpenses > Expenses
    2.     In the Shortcuts below the Expenses Home tab, click Create Expense Report.
    3.     Enter the general information in the respective fields, such as purpose, expense cost center, approver, reimbursement currency, and expense template. Indicate if you have foreign currency receipts.
    4.     Click Next.
    5.     Enter the expense information: date, receipt amount, expense type, justification, and details.
    In the above page, one Check box option called (Includes Tax) column is there. I need to Hide this column from that page and that too only for a particular ORG.
    The main reason behind this is, that checkbox is always checked and users sometimes while creating expense report, unchecking that checkbox which is creating some problems in the tax side calculations.
    Any idea of how we can chieve this.
    Help Appreciated.
    Thanks

    If you are on the personalization page, you should be able to the page structure. It will all the page components. Find your relevant table, expand it and personalize the column you need to hide.
    --Shiv                                                                                                                                                                                                                                                                                                                                                                                                                           

  • I received a phishing email supposedly from my bank and clicked on url - didn't enter any data though.Bank says to get ipad checked for viruses,but I understood ipad has built in security.I've cleared cookies in safari via settings.  Anything else to do?

    I received a phishing email supposedly from my bank and clicked on url - didn't enter any data though.Bank says to get ipad checked for viruses,but I understood ipad has built in security.I've cleared cookies in safari via settings.  Anything else to do?

    I know this has been solved as you reported, but I think you need to check with your e-mail provider. Did you also get this same e-mail on your computer? If you use the same ID for e-mail on computer and ipad, it should have appeared on both. It's very common spam. Check your computer to see if on it, the e-mail is in spam, or, if you deleted it on your ipad, check your recently deleted e-mails.
    You might want to consider changing your password, though people sending spam, don't need it. My e-mail provider had me change my password, not because I was getting spam, but unknown to me, I was sending it!  (You'll still get some spam, though.) It's when you learn that you're unknowingly sending spam...that you must change your password.
    Hope this helps.
    (Ss I was sending this, I just got an e-mail notification from the Nigerian... it got to my e-mail instead of going to spam.)

  • Internet Expenses R12 expense report notification due date change

    Hi Gurus,
    R12-IExpenses
    Please let me know can we change the due date displayed along the right side of the notification of an Expense report submitted by an Employee in I Expenses?
    Is there a setup for that?
    Also could you say if there is any out of the box feature to send reminder notification to the approver after certain days of inactivity?
    Thanks,
    Sayan

    The due date for the notification is controlled by the timeout property on WF definition, you have to open the WF, find the notification and edit it.
    Being R12 this likely uses AME, which has the default behavior or escalating to the next person on the hierarchy once a notification times out. You would need to edit the WF to implement the reminder via a loop with an exit condition. I think the PO (Req and/or PO approval) ones have that, you might use those as a reference.

  • APEXP ( Expenses )  AP Standard Expense Report Process

    Hi everybody,
    I am having one query regarding Expenses workflow.
    Currently expense report is getting approved through worklist. As per requirment we want to approve it through email.
    To achive this functionality I have Added #WFM_OPEN_MAIL attribute to the message. ((new) AME Expense Report Approval Message) which is attached to the approval notification).Idealy it should work but still we are not getting Approve/Reject buttons in the email.
    Kindly suggest where I am maknig the mistake.........
    Regards,
    Rajesh Goyal

    From: Oracle
    Sent: Friday, January 29, 2010 7:36 PM
    To: Subrata Kumar Singh
    Subject: Action Required: Expense EXL-NOIDA-10528 for Dhyani, Lalit (1030.00 INR)
    From     
    Dhyani, Lalit
    To     
    Singh, Subrata
    Sent     
    29-Jan-2010 19:35:40
    Due     
    01-Feb-2010 19:35:40
    ID     
    725995
         Expense Report for     
    Dhyani, Lalit
    Individual's Cost Center     
    36
    Expense Report Total     
    1030.00 INR
    Attachments     
    RE urgent.msg
    Instructions
              Please approve or reject this expense report. Please provide a Note if you reject.
    Cash and Other Expenses: Business Expenses
    Line     Date     Expense Type     Reimbursable Amount (INR)     Justification     Attachments
    1     21-Jan-2010     Cab (Non Billable)     1030.00     Taxi charges for iExpense Training at Center-7 Gurgaon     
         Total
         1030.00          
    Previously Submitted Expenses
    Date     Expense Type     Merchant Name     Reimbursable Amount     Payment Method     Justification
    No results found.                         
    Approvals History
    Seq.     Date     Status     Performer     Approval Group     Comments
    1     29-Jan-2010 19:35:39     Notified     Singh, Subrata     EXL Supervisor-1     
    Related Applications
              Expense Report Details
    Copyright (c) 2006, Oracle. All rights reserved.     
    Please click here to Respond
    =====================================================================
    Hi Alejandro,
    Thanks a lot to take intrest in this issue.
    Above is the notification which we are getting currently in our outlook.
    To respond this notification from outlook we needs to click Please click here to Respond link.
    Now we want response buttons insted of this link.
    To achive this we added #WFM_OPEN_MAIL attribute to the approval message.
    but the changes are not reflecting in the notifications.
    I am guessing you are able to see the buttons when in the worklist.
    Yes we are able to see the buttons when in the worklist.
    Regards,
    Rajesh

Maybe you are looking for