QM order through t-code qk04

Dear all,
I am facing this problem at time of creation of QM order through t-code qk04
"No account assignment is specified for order generation
Message no. QA044
Diagnosis
An account assignment, which can be stored as an accounting rule in a new QM order, has not been specified.
The account assignment is required in new QM orders as a profile for the accounting rule so that a valid accounting rule can be generated.
System Response
As the account assignment has not been specified, the functions for creating, assigning and replacing an order are not active.
Procedure
Enter a valid account assignment if required"
Plz guide me
Rgds
Harish

Dear Harish
For generation QM order you need to assign to a cost center. I think you have not maintained any cost centre while executing Qk04.
please give cost centre and execute
Please let me know your feedback
Regards
gajesh

Similar Messages

  • Disallow changes in Sales Order through T-Code VA02

    Dear Gurus,
    We create the Sales Order and with reference to that the User wants to change few fields (Account Assignment Group, Pricing Date, Invoice Date, INCO terms, Payment Terms etc.) which are not supposed to be edited by him through T-Code VA02. Changes should also not to be made with regard to Material Line Item Material like Description & Quantity in Sales Order. We have tried to do the same through Transaction Variant (T-Code SHD0 & User Exit). Unfortunately it is not working. We are not able to assign the Transaction Varient for T-Code VA02 in sales document type through VOV8.
    System Audit has raised these points and needs to be done at the earliest.

    Hello Aaheli,
    I think your requirement of restricting the modification of Sales Order through VA02 can be meet using the following approach:
    Seek out the help of BASIS to restrict the Sales order modification role for that specific User ID.
    If you wanna restrict the modification of Sales order through VA02 for amny User ID then please use User exit.
    Do inform us about the latest updates on this issue.
    Regards,
    Sarthak

  • List of Sales Orders wrt SHIP TO PARTY through T Code VA05.

    Hi Experts,
    Please let me know how can we extract list of Sales Orders wrt SHIP TO PARTY through T Code VA05. We can select Ship to Party option through Partner function tab in selection screen, but while executing transaction, we get list for SOLD TO PARTY.
    Please advise.
    Thanks,
    Abhishek Agrawal

    Hi,
    In the VA05 report selection screen, you have the option of selecting the relevant partner function that needs to be considered. Click on the "Partner Function" button and change it to "SH"
    Then given the ship to party number you want to analyze and execute the report.
    In the report output screen, you will see the  Ship-to Party in the header.
    In the detail level, you see the sold to party numbers. Since the report can be executed for one ship to or sold to at once, there is no requirement to see the ship to party in the line level.
    If you double click on the line, you can go to the sales order and verify your sold to and ship to details.
    Best regards,
    Anupa

  • Import of Sales Order through DTW

    Dear All
    I am having problems in importing Sales Orders through DTW. I have used the template 'oOrders' and enter the required data in the 'Document' and 'Document-Lines' files.
    When, I run the DTW and uploaded the Sales Orders, it was imported successfully. But when I search in SBO, no Sales Order was created.
    I have also, unchecked the box 'Test Run', but still it doesnot posted any Sales Order.
    Kindly, help me in this regards
    Thanks and Best Regards
    Nabeel

    Dear Gordon
    Thanks for your prompt response.
    In the 'Documents' template, I filled the following columns:
    RecordKey   CardCode            DocDate       DocDueDate  
    1                  AAJ-KAC-6         20081203      20081203
    In the 'Documents-Lines' template, I filled following columns:
    RecordKey    ItemCode                 DocDate       DocDueDate     Price   Quantity   Tax Code
    1                  701-0020-0000         20081203      20081203         10        10            X0
    I, also tried to post the Sales Order manually by entering the above data and SO was posted. But it is not posting through DTW.
    Thanks and Best Regards
    Nabeel

  • Can we create purchase order through report programming?

    hi experts.....
    can we create purchase order through report programming?If yes plz give me the thread details?

    Hi,
    Use this code in a program by using a BAPI function module
    Anothe rway is using classical/ALV report using call transaction from a report for changing the PO
    loop at i_header.
        header-ref_1         = i_header-legacy.
        headerx-ref_1        = c_x.
        header-doc_type      = i_header-bsart.
        headerx-doc_type     = c_x.
        header-comp_code     = i_header-bukrs.
        headerx-comp_code    = c_x.
        header-purch_org     = i_header-ekorg.
        headerx-purch_org    = c_x.
        header-pur_group     = i_header-ekgrp.
        headerx-pur_group    = c_x.
        header-vendor        = i_header-lifnr.
        headerx-vendor       = c_x.
        concatenate i_header-bedat+4(4)
                    i_header-bedat+0(2)
                    i_header-bedat+2(2)
                    into header-doc_date.
        headerx-doc_date     = c_x.
        header-created_by    = i_header-ernam.
        headerx-created_by   = c_x.
        header-currency      = i_header-waers.
        headerx-currency     = c_x.
        concatenate i_header-kdatb+4(4)
                    i_header-kdatb+0(2)
                    i_header-kdatb+2(2)
                    into header-vper_start.
        headerx-vper_start   = c_x.
        loop at i_items where legacy = i_header-legacy.
          item-po_item            =  i_items-ebelp.
          itemx-po_item           =  i_items-ebelp.
          itemx-po_itemx          =  c_x.
          if i_header-bsart = 'NB'.
            item-material            =  i_items-ematn.
            itemx-material           =  c_x.
            schedule-quantity        =  i_items-menge * 1000.
            schedulex-quantity       =  c_x.
          else.
            item-short_text          = i_items-ematn.
            itemx-short_text         = c_x.
            item-matl_group          = '1000'.
            itemx-matl_group         = c_x.
            schedule-quantity        =  '1'.
            schedulex-quantity       =  c_x.
          endif.
          item-plant               =  i_items-werks.
          itemx-plant              =  c_x.
          schedule-po_item         = i_items-ebelp.
          schedule-sched_line      = '1'.
          schedulex-po_item        = i_items-ebelp.
          schedulex-sched_line     = '1'.
          schedulex-po_itemx       = c_x.
          schedulex-sched_linex    = c_x.
          concatenate  i_items-eildt+0(2)
                       i_items-eildt+2(2)
                       i_items-eildt+4(4)
                       into schedule-delivery_date.
          schedulex-delivery_date  =  c_x.
          item-price_unit          =  i_items-peinh * 100.
          itemx-price_unit         =  c_x.
          item-tax_code            =  i_items-mwskz.
          itemx-tax_code           =  c_x.
          item-shipping            =  i_items-evers.
          itemx-shipping           =  c_x.
          account-po_item          = i_items-ebelp.
          accountx-po_item         = i_items-ebelp.
          accountx-po_itemx        = c_x.
          if i_header-bsart = 'FO'.
            item-pckg_no  = sy-tabix.
            itemx-pckg_no = 'X'.
            limits-pckg_no        = sy-tabix.
            limits-limit          = i_items-overalllimit.
            limits-exp_value      = i_items-expectedoverall.
            posrvaccessvalues-pckg_no    = sy-tabix.
            posrvaccessvalues-line_no    = '0'.
            posrvaccessvalues-serno_line = '00'.
            posrvaccessvalues-percentage = '100.0'.
            posrvaccessvalues-serial_no  = '01'.
            account-serial_no     = '1'.
            accountx-serial_no    = '1'.
            accountx-serial_nox   = c_x.
            account-quantity  = '1'.
            accountx-quantity = c_x.
            call function 'CONVERSION_EXIT_ALPHA_INPUT'
              exporting
                input  = i_items-kostl
              importing
                output = account-costcenter.
            accountx-costcenter   = c_x.
            call function 'CONVERSION_EXIT_ALPHA_INPUT'
              exporting
                input  = i_items-sakto
              importing
                output = account-gl_account.
            accountx-gl_account   = c_x.
            item-acctasscat       = i_items-knttp.
            itemx-acctasscat      = c_x.
            item-item_cat         = i_items-epstp.
            itemx-item_cat        = c_x.
          endif.
          append:item,itemx,schedule,schedulex,account,accountx,limits,posrvaccessvalues.
          clear :item,itemx,schedule,schedulex,account,accountx,limits,posrvaccessvalues.
        endloop.
        call function 'BAPI_PO_CREATE1'
          exporting
            poheader                     = header
            poheaderx                    = headerx
    *   POADDRVENDOR                 =
    *   TESTRUN                      =
    *   MEMORY_UNCOMPLETE            =
    *   MEMORY_COMPLETE              =
    *   POEXPIMPHEADER               =
    *   POEXPIMPHEADERX              =
    *   VERSIONS                     =
    *   NO_MESSAGING                 =
    *   NO_MESSAGE_REQ               =
    *   NO_AUTHORITY                 =
    *   NO_PRICE_FROM_PO             =
            importing
            exppurchaseorder             = ponumber
    *   EXPHEADER                    =
    *   EXPPOEXPIMPHEADER            =
            tables
            return                       = return
            poitem                       = item
            poitemx                      = itemx
    *   POADDRDELIVERY               =
            poschedule                   = schedule
            poschedulex                  = schedulex
            poaccount                    = account
    *   POACCOUNTPROFITSEGMENT       =
            poaccountx                   = accountx
    *   POCONDHEADER                 =
    *   POCONDHEADERX                =
    *   POCOND                       =
    *   POCONDX                      =
            polimits                     = limits
    *   POCONTRACTLIMITS             =
    *   POSERVICES                   =
       posrvaccessvalues            = posrvaccessvalues.
    *   POSERVICESTEXT               =
    *   EXTENSIONIN                  =
    *   EXTENSIONOUT                 =
    *   POEXPIMPITEM                 =
    *   POEXPIMPITEMX                =
    *   POTEXTHEADER                 =
    *   POTEXTITEM                   =
    *   ALLVERSIONS                  =
    *   POPARTNER                    =
        if ponumber eq space.
          loop at return where type = 'E'.
            clear buffer.
            move-corresponding return to e_return.
            concatenate i_header-legacy e_return into buffer.
            transfer buffer to p2_file.
          endloop.
          move-corresponding i_header to i_eheader.
          transfer i_eheader to p3_file.
          loop at i_items where legacy = i_header-legacy.
            move-corresponding i_items to i_eitems.
            transfer i_eitems to p4_file.
          endloop.
        else.
          commit work and wait.
        endif.
        clear:ponumber,header,headerx,item,itemx,account,accountx,limits,return,schedule,schedulex,posrvaccessvalues.
        refresh:item,itemx,account,accountx,limits,return,schedule,schedulex,posrvaccessvalues.
      endloop.
      close dataset p2_file.
      close dataset p3_file.
      close dataset p4_file.
    Regards
    Krishna

  • Dates fields issue in the sales orders through IDOC

    Hi all,
    I'm trying to create a sales order through Inbound IDOC using IDOC_INPUT_ORDERS.
    I have 2 custom fields in the sales order which are date fields.
    I'm populating them from the IDOC segments(using E1EDKT1-tdid, E1EDKT2-tdline) in the user-exit just before the call trasacation statement. These dates are not coming for a few orders... but are getting populated normally for few of them.
    But the tricky part is that... if I process the same IDOC for the second time.. the order created is having the dates.
    My issue is that.. i need all the orders to be populated with the dates which IDOC have.
    Could anyone please help me with this issue.
    All the answers/replies are highly appreciated!!
    Thanks for you help!

    hi,
    the following may be of help
    There are 2 major exceptions to the batch input internal table. All text data from the segments E1EDKT1/2 and E1EDPT1/2 are not part of the batch input session. Text elements from these segments are posted directly to the data base AFTER the sales order has been created (please note: in order that item texts are posted correctly to the sales order the field POSEX from segment E1EDP01 MUST be transmitted). Also, configurable material information from the IDOC is exported to a global memory and therefore will not be part of the batch input session. Configurable material data is performed in Form CHECK_CONFIGURATION and the data is exported to global memory in the following code:
    Exportiert IDOC Daten ins globale Memory     
    export IDOC data to global memory            
      call function 'CUXC_IDOC_TO_MEMORY'          
           tables                                  
                cfg_instref = xe1curef             
                cfg_ref     = xe1cucfg             
                inst        = xe1cuins             
                part_of     = xe1cuprt             
                value       = xe1cuval             
           exceptions                              
                error       = 1                    
                others      = 2.                   
    One extra piece of useful infomartion if you wish to debug the process is to set your breakpoints at the following points
    for Function module IDOC_INPUT_ORDERS
    include LVEDAF0F..
      CALL TRANSACTION 'VA01' USING bdcdata
                                MODE  input_method
                                UPDATE 'S'
                                MESSAGES INTO xbdcmsgcoll.
    Now input_method is A foreground process and N for background processing but try changing it to P (pass through mode)
    If you have breakpoints in va01, e.g. MV45AF0B_BELEG_SICHERN,(the part where the sales document is saved)
    they will be hit, e.g
    perform userexit_save_document_prepare.
    perform userexit_save_document.
    Lastly, don't forget using program SDJEDI , see note 380603 for more information on this
    Hope this is useful
    Paul Quinn

  • Erro:No information was found while confirmation of the order through CO11N

    Dear all,
    Iam getting Below this Error (Product Costing) at the time of Order Confirmation Through transaction code CO11N
    Here specifying the system message
    No information was found
    Message no. GU444
    Diagnosis
    The system could not find the necessary information.
    Pls revert on this  ,What is the reason for this issue
    Regards
    Bhaskar
    Edited by: bhaskaarnn on Mar 23, 2011 1:27 PM

    Dear all,
    I also encounter this problem.Can anybody give me some soloutions for this ?
    Many thanks advance.
    Regards
    Sunny

  • Maintenance Order through Measuring Point

    Dear all,
    I want to know whether it is possible to create the maintenance order on the basis measuring point .
    I know how to create the order on the basis of measuring counter.
    Is there any procedure to create the maintenance Order through measuring point as done in case of counter?
    kindly provide the solution for Creation of Maintenance Order using Measuring Point..

    Really very thanks for the solution.
    I have one more query, we can create the measuring point using the t.code IK01.As you told we have to create the measuring point with upper and lower range.
    Is that we have to create 2 measuring point for upper as well as lower range or in one measuring point it is possible to accumulate both the upper and lower range.
    If it is possible to accumulate both the upper and lower range in one measuring point then kindly provide the procedure.
    Thanks in advance.

  • Payment order through F-28

    Hi Team,
    Do you know if it´s possible to pay payment order through transaction F-28?
    This transaction have 3 options
    o Document Number
    o Reference
    o Payment order
    I did a payment order  by TRM module, the customer needs to use F-28  instead F111 , I did test but doesn´t works.
    I attached file with dynpros
    Thank you for all the answers
    Best regards,
    Paula

    I understand withholding tax code in customer master data is changed between invoice posting and Payment posting.
    You may need to run RFWT0010 report. Please check OSS Note 480056

  • Internal Order through Investment measure

    Hi friends
    I need help in the following issue:
    I am creating Internal orders through Investment Measures.
    When ever i create an internal order in the background it creates an AuC.
    When I settle the IO the amount is posting to AuC.
    After that I tried to Capitalize the AuC to main asset through AIBU transaction code, system throwing an error "Line item settlement is not possible for asset XXX XXXX".
    Is this method of capitalizing right or any other method available to capitalize the AuC to Main Fixed Asset.
    Please Advice me.

    Capitalisation wouldn't be possible using AIBU in this case as your IO is an investement measure.
    Options you've got to capitalise such AUC's is
    1. Maintain the settlement rule on the IO with receiver as the final asset, set the status of the IO to TECO and then use T Code KO88  (Processing Type - Automatic) - Final Capitalisation
    2. Maintain the settlement rule on the IO with receiver as the final asset and then use T Code KO88  (Processing Type - Partial Capitalisation) - Partial Capitalisation
    Regards
    Sreenivas

  • Can't read Work Orders through DI Server

    Hi,
    I'm trying to read a work order through the DI server, but I keep getting error 2052 (No Records found). The Work Order #1 definitely exists in the database. Below an excerpt from the DI Server log. Any ideas?
    Thank you.
    11/11/2010  16:02:15  Request
    <?xml version="1.0" encoding="UTF-16"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header><SessionID>E05CB402-4C44-487F-A939-4F3A9B998AC2</SessionID></env:Header><env:Body><dis:GetByKey xmlns:dis="http://www.sap.com/SBO/DIS"><Object>oWorkOrders</Object><OrderNum>1</OrderNum></dis:GetByKey></env:Body></env:Envelope>
    11/11/2010  16:02:15  Response (Fault)
    <?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Faul
    t><env:Code><env:Value>env:Receiver</env:Value><env:Subcode><env:Value>-2052</env:Value></env:Subcode></e
    nv:Code><env:Reason><env:Text xml:lang="en">No Records found</env:Text></env:Reason><env:Detail><OrderNum
    >1</OrderNum><Object>68</Object><Command>GetByKey</Command><SessionID>E05CB402-4C44-487F-A939-4F3A9B998AC2</SessionID></env:Detail></env:Fault></env:Body></env:Envelope>

    Hi Avi,
    Welcome to the forums
    I'm not 100% sure but I think the issue here is that you are using the WorkOrder object which is the old object for accessing production orders. This was deprecated in SBO 2005 and you should be using the ProductionOrders object instead. I think the WorkOrder object is still included in the DI API (and the DI Server) for backwards compatibility reasons.
    Kind Regards,
    Owen

  • Option sends Purchase Order through mail

    Dear All,
    My client wants Option sends Purchase Order through mail.
    Please tell me what the process for above scenario is.
    Thanks in advance,
    Nagi Reddy

    Hi,
    For sending PO via mail, first check if output determintation in properly set in customization settings. Also  If you are using customized program for printing, check if code is maintained in program for sending ouput via mails.
    If all is maintained in customizing, in PO select output medium as "Mail" and take print.  This can also done by using condition records in MN04.  Then try sending the output via mail.
    Thanks
    Alex

  • How can I send purchase order through SAP mail ?

    How can I send purchase order through SAP mail ? Can any one explain whts the NACE settings?

    just  do it as  <b>Anji reddy</b> said to you   ...or else  ...  in the purchase  order trascation  ...print it  ... so that  it will generate the spool request  for that  purchase  order  ....
    so the   the belwo program is for sending <b>the Spool   Request  data   as  Email  to  any Email id  ...</b>
    The code below demonstrates how to retrieve a spool request and email it as a PDF document. Please note for the below program to process a spool request the program must be executed in background otherwise no spool request will be created. Once you have had a look at this there is an modified version of the program which works in both background and foreground. Also see transaction SCOT for SAPConnect administration.
    *& Report  ZSPOOLTOPDF                                                 *
    *& Converts spool request into PDF document and emails it to           *
    *& recipicant.                                                         *
    *& Execution                                                           *
    *& This program must be run as a background job in-order for the write *
    *& commands to create a Spool request rather than be displayed on      *
    *& screen                                                              *
    REPORT  zspooltopdf.
    PARAMETER: p_email1 LIKE somlreci1-receiver
                                        DEFAULT '[email protected]',
               p_sender LIKE somlreci1-receiver
                                        DEFAULT '[email protected]',
               p_delspl  AS CHECKBOX.
    *DATA DECLARATION
    DATA: gd_recsize TYPE i.
    * Spool IDs
    TYPES: BEGIN OF t_tbtcp.
            INCLUDE STRUCTURE tbtcp.
    TYPES: END OF t_tbtcp.
    DATA: it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,
          wa_tbtcp TYPE t_tbtcp.
    * Job Runtime Parameters
    DATA: gd_eventid LIKE tbtcm-eventid,
          gd_eventparm LIKE tbtcm-eventparm,
          gd_external_program_active LIKE tbtcm-xpgactive,
          gd_jobcount LIKE tbtcm-jobcount,
          gd_jobname LIKE tbtcm-jobname,
          gd_stepcount LIKE tbtcm-stepcount,
          gd_error    TYPE sy-subrc,
          gd_reciever TYPE sy-subrc.
    DATA:  w_recsize TYPE i.
    DATA: gd_subject   LIKE sodocchgi1-obj_descr,
          it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          gd_sender_type     LIKE soextreci1-adr_typ,
          gd_attachment_desc TYPE so_obj_nam,
          gd_attachment_name TYPE so_obj_des.
    * Spool to PDF conversions
    DATA: gd_spool_nr LIKE tsp01-rqident,
          gd_destination LIKE rlgrap-filename,
          gd_bytecount LIKE tst01-dsize,
          gd_buffer TYPE string.
    * Binary store for PDF
    DATA: BEGIN OF it_pdf_output OCCURS 0.
            INCLUDE STRUCTURE tline.
    DATA: END OF it_pdf_output.
    CONSTANTS: c_dev LIKE  sy-sysid VALUE 'DEV',
               c_no(1)     TYPE c   VALUE ' ',
               c_device(4) TYPE c   VALUE 'LOCL'.
    *START-OF-SELECTION.
    START-OF-SELECTION.
    * Write statement to represent report output. Spool request is created
    * if write statement is executed in background. This could also be an
    * ALV grid which would be converted to PDF without any extra effort
      WRITE 'Hello World'.
      new-page.
      commit work.
      new-page print off.
      IF sy-batch EQ 'X'.
        PERFORM get_job_details.
        PERFORM obtain_spool_id.
    *** Alternative way could be to submit another program and store spool
    *** id into memory, will be stored in sy-spono.
    *submit ZSPOOLTOPDF2
    *        to sap-spool
    *        spool parameters   %_print
    *        archive parameters %_print
    *        without spool dynpro
    *        and return.
    * Get spool id from program called above
    *  IMPORT w_spool_nr FROM MEMORY ID 'SPOOLTOPDF'.
        PERFORM convert_spool_to_pdf.
        PERFORM process_email.
        if p_delspl EQ 'X'.
          PERFORM delete_spool.
        endif.
        IF sy-sysid = c_dev.
          wait up to 5 seconds.
          SUBMIT rsconn01 WITH mode   = 'INT'
                          WITH output = 'X'
                          AND RETURN.
        ENDIF.
      ELSE.
        SKIP.
        WRITE:/ 'Program must be executed in background in-order for spool',
                'request to be created.'.
      ENDIF.
    *       FORM obtain_spool_id                                          *
    FORM obtain_spool_id.
      CHECK NOT ( gd_jobname IS INITIAL ).
      CHECK NOT ( gd_jobcount IS INITIAL ).
      SELECT * FROM  tbtcp
                     INTO TABLE it_tbtcp
                     WHERE      jobname     = gd_jobname
                     AND        jobcount    = gd_jobcount
                     AND        stepcount   = gd_stepcount
                     AND        listident   <> '0000000000'
                     ORDER BY   jobname
                                jobcount
                                stepcount.
      READ TABLE it_tbtcp INTO wa_tbtcp INDEX 1.
      IF sy-subrc = 0.
        message s004(zdd) with gd_spool_nr.
        gd_spool_nr = wa_tbtcp-listident.
        MESSAGE s004(zdd) WITH gd_spool_nr.
      ELSE.
        MESSAGE s005(zdd).
      ENDIF.
    ENDFORM.
    *       FORM get_job_details                                          *
    FORM get_job_details.
    * Get current job details
      CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
           IMPORTING
                eventid                 = gd_eventid
                eventparm               = gd_eventparm
                external_program_active = gd_external_program_active
                jobcount                = gd_jobcount
                jobname                 = gd_jobname
                stepcount               = gd_stepcount
           EXCEPTIONS
                no_runtime_info         = 1
                OTHERS                  = 2.
    ENDFORM.
    *       FORM convert_spool_to_pdf                                     *
    FORM convert_spool_to_pdf.
      CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
           EXPORTING
                src_spoolid              = gd_spool_nr
                no_dialog                = c_no
                dst_device               = c_device
           IMPORTING
                pdf_bytecount            = gd_bytecount
           TABLES
                pdf                      = it_pdf_output
           EXCEPTIONS
                err_no_abap_spooljob     = 1
                err_no_spooljob          = 2
                err_no_permission        = 3
                err_conv_not_possible    = 4
                err_bad_destdevice       = 5
                user_cancelled           = 6
                err_spoolerror           = 7
                err_temseerror           = 8
                err_btcjob_open_failed   = 9
                err_btcjob_submit_failed = 10
                err_btcjob_close_failed  = 11
                OTHERS                   = 12.
      CHECK sy-subrc = 0.
    * Transfer the 132-long strings to 255-long strings
      LOOP AT it_pdf_output.
        TRANSLATE it_pdf_output USING ' ~'.
        CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.
      ENDLOOP.
      TRANSLATE gd_buffer USING '~ '.
      DO.
        it_mess_att = gd_buffer.
        APPEND it_mess_att.
        SHIFT gd_buffer LEFT BY 255 PLACES.
        IF gd_buffer IS INITIAL.
          EXIT.
        ENDIF.
      ENDDO.
    ENDFORM.
    *       FORM process_email                                            *
    FORM process_email.
      DESCRIBE TABLE it_mess_att LINES gd_recsize.
      CHECK gd_recsize > 0.
      PERFORM send_email USING p_email1.
    *  perform send_email using p_email2.
    ENDFORM.
    *       FORM send_email                                               *
    *  -->  p_email                                                       *
    FORM send_email USING p_email.
      CHECK NOT ( p_email IS INITIAL ).
      REFRESH it_mess_bod.
    * Default subject matter
      gd_subject         = 'Subject'.
      gd_attachment_desc = 'Attachname'.
    *  CONCATENATE 'attach_name' ' ' INTO gd_attachment_name.
      it_mess_bod        = 'Message Body text, line 1'.
      APPEND it_mess_bod.
      it_mess_bod        = 'Message Body text, line 2...'.
      APPEND it_mess_bod.
    * If no sender specified - default blank
      IF p_sender EQ space.
        gd_sender_type  = space.
      ELSE.
        gd_sender_type  = 'INT'.
      ENDIF.
    * Send file by email as .xls speadsheet
      PERFORM send_file_as_email_attachment
                                   tables it_mess_bod
                                          it_mess_att
                                    using p_email
                                          'Example .xls documnet attachment'
                                          'PDF'
                                          gd_attachment_name
                                          gd_attachment_desc
                                          p_sender
                                          gd_sender_type
                                 changing gd_error
                                          gd_reciever.
    ENDFORM.
    *       FORM delete_spool                                             *
    FORM delete_spool.
      DATA: ld_spool_nr TYPE tsp01_sp0r-rqid_char.
      ld_spool_nr = gd_spool_nr.
      CHECK p_delspl <> c_no.
      CALL FUNCTION 'RSPO_R_RDELETE_SPOOLREQ'
           EXPORTING
                spoolid = ld_spool_nr.
    ENDFORM.
    *&      Form  SEND_FILE_AS_EMAIL_ATTACHMENT
    *       Send email
    FORM send_file_as_email_attachment tables it_message
                                              it_attach
                                        using p_email
                                              p_mtitle
                                              p_format
                                              p_filename
                                              p_attdescription
                                              p_sender_address
                                              p_sender_addres_type
                                     changing p_error
                                              p_reciever.
      DATA: ld_error    TYPE sy-subrc,
            ld_reciever TYPE sy-subrc,
            ld_mtitle LIKE sodocchgi1-obj_descr,
            ld_email LIKE  somlreci1-receiver,
            ld_format TYPE  so_obj_tp ,
            ld_attdescription TYPE  so_obj_nam ,
            ld_attfilename TYPE  so_obj_des ,
            ld_sender_address LIKE  soextreci1-receiver,
            ld_sender_address_type LIKE  soextreci1-adr_typ,
            ld_receiver LIKE  sy-subrc.
    data:   t_packing_list like sopcklsti1 occurs 0 with header line,
            t_contents like solisti1 occurs 0 with header line,
            t_receivers like somlreci1 occurs 0 with header line,
            t_attachment like solisti1 occurs 0 with header line,
            t_object_header like solisti1 occurs 0 with header line,
            w_cnt type i,
            w_sent_all(1) type c,
            w_doc_data like sodocchgi1.
      ld_email   = p_email.
      ld_mtitle = p_mtitle.
      ld_format              = p_format.
      ld_attdescription      = p_attdescription.
      ld_attfilename         = p_filename.
      ld_sender_address      = p_sender_address.
      ld_sender_address_type = p_sender_addres_type.
    * Fill the document data.
      w_doc_data-doc_size = 1.
    * Populate the subject/generic message attributes
      w_doc_data-obj_langu = sy-langu.
      w_doc_data-obj_name  = 'SAPRPT'.
      w_doc_data-obj_descr = ld_mtitle .
      w_doc_data-sensitivty = 'F'.
    * Fill the document data and get size of attachment
      CLEAR w_doc_data.
      READ TABLE it_attach INDEX w_cnt.
      w_doc_data-doc_size =
         ( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
      w_doc_data-obj_langu  = sy-langu.
      w_doc_data-obj_name   = 'SAPRPT'.
      w_doc_data-obj_descr  = ld_mtitle.
      w_doc_data-sensitivty = 'F'.
      CLEAR t_attachment.
      REFRESH t_attachment.
      t_attachment[] = it_attach[].
    * Describe the body of the message
      CLEAR t_packing_list.
      REFRESH t_packing_list.
      t_packing_list-transf_bin = space.
      t_packing_list-head_start = 1.
      t_packing_list-head_num = 0.
      t_packing_list-body_start = 1.
      DESCRIBE TABLE it_message LINES t_packing_list-body_num.
      t_packing_list-doc_type = 'RAW'.
      APPEND t_packing_list.
    * Create attachment notification
      t_packing_list-transf_bin = 'X'.
      t_packing_list-head_start = 1.
      t_packing_list-head_num   = 1.
      t_packing_list-body_start = 1.
      DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
      t_packing_list-doc_type   =  ld_format.
      t_packing_list-obj_descr  =  ld_attdescription.
      t_packing_list-obj_name   =  ld_attfilename.
      t_packing_list-doc_size   =  t_packing_list-body_num * 255.
      APPEND t_packing_list.
    * Add the recipients email address
      CLEAR t_receivers.
      REFRESH t_receivers.
      t_receivers-receiver = ld_email.
      t_receivers-rec_type = 'U'.
      t_receivers-com_type = 'INT'.
      t_receivers-notif_del = 'X'.
      t_receivers-notif_ndel = 'X'.
      APPEND t_receivers.
      CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
           EXPORTING
                document_data              = w_doc_data
                put_in_outbox              = 'X'
                sender_address             = ld_sender_address
                sender_address_type        = ld_sender_address_type
                commit_work                = 'X'
           IMPORTING
                sent_to_all                = w_sent_all
           TABLES
                packing_list               = t_packing_list
                contents_bin               = t_attachment
                contents_txt               = it_message
                receivers                  = t_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.
    * Populate zerror return code
      ld_error = sy-subrc.
    * Populate zreceiver return code
      LOOP AT t_receivers.
        ld_receiver = t_receivers-retrn_code.
      ENDLOOP.
    ENDFORM.
    Girish

  • Creating purchase order through coding

    I am trying to create purchase order through Code, for a table field i can insert as :
    odocs = GOD_Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseOrders)
    odocs.CardCode = "200173"
    But if the field is not a table field then , how can i insert it in PO?????

    Hi Ashish Patil 
    Not sure what you mean, not sure what table you are talking about. But here is some sample code on how to add a purchase order.
    Dim PO As SAPbobsCOM.Documents
            PO = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseOrders)
            PO.CardCode = "VUL001"
            PO.Lines.ItemCode = "02SILVTS"
            PO.Lines.Quantity = 1
            PO.Lines.Price = 120
            If PO.Add() <> 0 Then
                Dim str As String
                str = oCompany.GetLastErrorDescription()
                MsgBox(str)
            End If
    hope it helps

  • Adding Sales BOM to Sales Order through SDK

    Hello Experts,
    We're encountering an issue with adding Sales BOM items to the Sales Order through the SDK. When we add the parent, the object automatically adds the children as lines after all other lines. This causes issues with our batch delivery creation. When the Sales Order is created inside SBO Client, it always adds the child items right under the parent. We have a work around where we change the LineNum through SQL, but that seems like a sketchy method - what's the proper way of adding Sales BOM items to a Sales Order?
    Here is the code we're using to add the Sales Order lines
    olOrders.Lines.ItemCode = sItemCode
    olOrders.Lines.ItemDescription = aRecSet.Fields.Item("name").Value
    olOrders.Lines.UnitPrice = aRecSet.Fields.Item("cartprice").Value
    olOrders.Lines.Quantity = aRecSet.Fields.Item("qty").Value
    Thanks for the help!

    Hi Rob,
    I certainly wouldn't recommend you use a direct SQL command to update the LineNum on the sales order rows. This will invalidate your support agreement with SAP.
    One way you can deal with this would be to add your Sales BOM header item to a draft document (of type sales order) and add this first. You can then retrieve it in the DI API and add the other Items before adding the document as a proper sales order (and removing the draft). You can do this using the Draft and Documents objects either by coding each property or by exporting the Draft to XML and using XLST to convert it to a Sales Order and reimporting it. It does require a fair bit of coding but it will achieve what you need.
    Kind Regards,
    Owen

Maybe you are looking for

  • Lightroom 2.7 and Camera Raw 5.7 Release Candidates now Available

    http://blogs.adobe.com/lightroomjournal/2010/04/camera_raw_57_and_lightroom_27.html Regards, Tom Hogarty Adobe Systems

  • OAS is slow when accessing on same machine

    I have OAS 4.0.8.1 installed on an NT machine (4.0 sp6) on our network. When it serves pages to a browser on the same machine the response time is very slow (5-6 seconds). The pages that I'm accessing are fine. When using a browser on another machine

  • Fireworks CS4 Rounded Corner properties missing

    Until recently, I am pretty sure that I could change "roundness" of a Rounded Rectangle object in the standard properties panel. But for last few weeks that option is no longer available. See screen shot below. In the Fireworks user guide, it suggest

  • Can EPMA be installed in Windows Small Biz Server 2011

    Hi Can EPMA be installed in Windows Small Business Server 2011 ? Is it a supported platform ? Thanks TS

  • Record not getting created at backend

    Hi all, I have a U01 type syncbo for creating a record in the backend. After the submission of record from my application i checked the worklist in the middleware using merep_sbuilder.The worklist is showing one Waiting entry,and when I checked the d