Internal Packing list output

Hi All,
I have created an outbound delivery. Then i go to transaction code VL02N. There i save the data. When i click on Save ,
Internal packing list gets printed. I have added breakpoint in the program which associated with the form for internal packing list.
But breakpoint is not getting triggered. I had debugged , but not able to find .
Can anyone help me for that? So that i can find out how the output is getting printed.
Thanks and Regards,
Rakesh

Print program is called in Update mode so you need to activate update debugging to let execution stop at your breakpoint.
Follow these steps.
Put break-point in print program.
Before you press save, activate debugging mode by entring /h in command bar.
Now press save, program will stop in debug.
Go to menu Setting->Update Debugging
Now press F8 and it should stop at your break-point.
Regards,
Pawan.

Similar Messages

  • E-mailing packing list to the customer

    Hi,
    Our business process needs emailing of packing list to the customer.
    The packing list output form has been developed using SMARTFORM to print bar codes on it.
    We would like to utilize contact person functionality, which is available in the customer master, to store the email id of the packing list recipient.
    Can you provide the details of how to send the packing list output to the customer contact using SAP email functionality? Should I need to create a separate output condition type for it?
    Thanks in advance.
    Regards,
    Shiva

    Hi,
    You can use the following code to send the smartform output to email.
    *********Variable Declarations *****************************
    DATA: gv_form_name TYPE rs38l_fnam,   " Used to store the function module generated by Smartform
          gv_bin_filesize TYPE i,         " Store the file size
          gv_pos TYPE i,
          gv_len TYPE i,
          gv_tab_lines TYPE i.
    ********Constants *******************************************
    Data : gc_text(11) type c value 'Form Output',
           gc_tst(3) type c value 'TST',
           gc_testing(7) type c value 'Testing'.
    *********Work Area Declarations *****************************
    DATA: gs_docdata TYPE sodocchgi1,     " Data of an object which can be changed
          gs_ctrlop TYPE ssfctrlop,       " Smart Forms: Control structure
          gs_outopt TYPE ssfcompop,       " SAP Smart Forms: Smart Composer (transfer) options
          gs_otfdata TYPE ssfcrescl,      " Smart Forms: Return value at end of form printing
          gs_reclist TYPE somlreci1,      " SAPoffice: Structure of the API Recipient List
          gs_pdf_tab TYPE tline,          " Workarea for SAP Script Text Lines
          gs_objbin TYPE solisti1,        " SAPoffice: Single List with Column Length 255
          gs_objpack TYPE sopcklsti1.     " SAPoffice: Description of Imported Object Components
    *********Internal tables Declarations *****************************
    DATA: gt_reclist TYPE TABLE OF somlreci1,      " SAPoffice: Structure of the API Recipient List
          gt_pdf_tab TYPE TABLE OF tline,          " SAPscript: Text Lines
          gt_otf TYPE TABLE OF itcoo,              " OTF Structure
          gt_objbin TYPE TABLE OF solisti1,        " SAPoffice: Single List with Column Length 255
          gt_objpack TYPE TABLE OF sopcklsti1.     " SAPoffice: Description of Imported Object Components
    CLEAR : gv_form_name,
            gs_ctrlop,
            gs_outopt,
            gs_otfdata,
            gv_bin_filesize,
            gv_pos,
            gv_len,
            gv_tab_lines.
    START-OF-SELECTION.
    Generate Function Module name
      CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          formname           = 'ZPDF_G'
        IMPORTING
          fm_name            = gv_form_name
        EXCEPTIONS
          no_form            = 1
          no_function_module = 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.
    Assigning values to Form Control Structure and Form Composer
      gs_ctrlop-getotf = 'X'.
      gs_ctrlop-no_dialog = 'X'.
      gs_outopt-tdnoprev = 'X'.
    Getting the OTFDATA
      CALL FUNCTION gv_form_name
        EXPORTING
          control_parameters = gs_ctrlop
          output_options     = gs_outopt
          user_settings      = 'X'
        IMPORTING
          job_output_info    = gs_otfdata
        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.
    Assigning the OTFDATA to OTF Structure table
      CLEAR gt_otf.
      gt_otf[] = gs_otfdata-otfdata[].
    Convert the OTF DATA to SAP Script Text lines
      CLEAR gt_pdf_tab.
      CALL FUNCTION 'CONVERT_OTF'
        EXPORTING
          format                = 'PDF'
          max_linewidth         = 132
        IMPORTING
          bin_filesize          = gv_bin_filesize
        TABLES
          otf                   = gt_otf
          lines                 = gt_pdf_tab
        EXCEPTIONS
          err_max_linewidth     = 1
          err_format            = 2
          err_conv_not_possible = 3
          OTHERS                = 4.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    Assigning the Description of the object sent in the mail
      CLEAR gs_docdata.
      gs_docdata-obj_name = gc_tst.
      gs_docdata-obj_descr = gc_testing.
    Assigning the email id to Structure of the API Recipient List table
      CLEAR : gt_reclist, gs_reclist.
      gs_reclist-receiver = '[email protected]'.
      gs_reclist-rec_type = 'U'.
      APPEND gs_reclist TO gt_reclist.
    Passing the SAP Script text lines to SAPoffice: Single List with Column Length 255 table
      CLEAR : gs_objbin, gs_pdf_tab.
      LOOP AT gt_pdf_tab INTO gs_pdf_tab.
        gv_pos = 255 - gv_len.
        IF gv_pos > 134. "length of pdf_table
          gv_pos = 134.
        ENDIF.
        gs_objbin+gv_len = gs_pdf_tab(gv_pos).
        gv_len = gv_len + gv_pos.
        IF gv_len = 255. "length of out (contents_bin)
          APPEND gs_objbin TO gt_objbin.
          CLEAR: gs_objbin, gv_len.
          IF gv_pos < 134.
            gs_objbin = gs_pdf_tab+gv_pos.
            gv_len = 134 - gv_pos.
          ENDIF.
        ENDIF.
      ENDLOOP.
      IF gv_len > 0.
        APPEND gs_objbin TO gt_objbin.
      ENDIF.
    Filling the details in SAPoffice: Description of Imported Object Components table
      DESCRIBE TABLE gt_objbin LINES gv_tab_lines.
      CLEAR gs_objbin.
      READ TABLE gt_objbin INTO gs_objbin INDEX gv_tab_lines.
      IF sy-subrc = 0.
        gs_objpack-doc_size = ( gv_tab_lines - 1 ) * 255 + STRLEN( gs_objbin ).
        gs_objpack-transf_bin = 'X'.
        gs_objpack-head_start = 1.
        gs_objpack-head_num = 0.
        gs_objpack-body_start = 1.
        gs_objpack-body_num = gv_tab_lines.
        gs_objpack-doc_type = 'PDF'.
        gs_objpack-obj_name = 'ATTACHMENT'.
        gs_objpack-obj_descr = 'test'.
        APPEND gs_objpack TO gt_objpack.
      ENDIF.
    Sending the Form Output in the PDF format to email
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          document_data                    = gs_docdata
         put_in_outbox                    = 'X'
         commit_work                      = 'X'
        TABLES
          packing_list                     = gt_objpack
          contents_bin                     = gt_objbin
          receivers                        = gt_reclist
       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
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ELSE.
        WRITE 'Sent Successfully'.
      ENDIF.
      SUBMIT rsconn01
      WITH mode EQ 'INT'
      AND RETURN.
    END-OF-SELECTION.
    Reward if useful.........

  • Print Packing List from Delivery at Goods Issue

    We are facing an issue with our packing list for a division we are going live with in three weeks.  Our current business process for our plants already on SAP is to create the Packing List when the Delivery is created, with timing code "3" in the Packing List output condition, but to not print it until the "Check-in" button is clicked with the Shipment in VT02N based on an activity profile.
    However, for the service shipments in this division going live August 1, we do not need to create a Shipment nor generate a Bill of Lading from VT02N.  We will post goods issue from the Delivery itself, and we want the Packing List to print at the time of Post Goods Issue from the Delivery.  We have an access sequence for these service Deliveries with Shipping Point/Distribution Channel/Delivery Type, so only Distribution Channel 02 Deliveries will have Goods Issue from the Delivery, but we are not sure how to get the Packing List to not print until Goods Issue.  Any advice would be appreciated.
    Regards,
    Jeff Stewart

    Go to IMG>Logistics Execution>Shipping> Basic Shipping Functions>Output Determination> Maintain Output Determination for Outbound Deliveries.
         Select the Procedure you are using and check the control data to find the Cond. Type you are executing at the moment of the Outbound Delivery.
         Check the fifth column and see you have plenty of options, check them out helped by an ABAP team member; if there is nothing already there, just ask him/her to create a new routine with the validation you need and set it there.
    This is the same that Joao is suggesting I just went a little bit more in details.
    Good luck Jeff!

  • How to Create Packing List

    Dear Sir,
    We have ETO scenario and are in the business of manufacturing "Industrial Machinery" . We are using Project System (PS) also .  After the final assembly the FERT Equipment gets ready and then it is put on trial for testing . After the successful trial the equipment is again disassembled into the desptachable parts  and then delivery are created from the project .
    Along with the Equipment , we also send the free spares .
    Kindly guide us as what steps need to be followed so that we can have Packing List generated from the SAP system for the items being shipped to the customer .
    With Thanks and Rgds
    Sania Agarwal

    Dear Kanna,
    Packing list is one of the output type in the shipping output process.
    Standard output type for Packing list is PL00
    To get the Packing list output you need to do the output determination settings for the outbound deliveries.
    In the output determination procedure you keep the Packing list output type.
    For output determination in shiiping go through this link
    http://help.sap.com/saphelp_47x200/helpdata/en/93/745127546011d1a7020000e829fd11/frameset.htm
    Price list
    Net Price Lists
    Use
    The net price list allows you to provide your customers with pricing information on materials.
    Features
    In the menu, choose: Sales and distribution ® Master data ® Pricing reports ® Net price lists.
    Enter the sales area, the sold-to party and the plant.
    Enter the data that influences pricing (such as order type and pricing date).
    After starting program SDNETPRO a billing document is simulated and the system issues the result.
    Note
    The net price list works with the ABAP List Viewer.
    You can define your own display variants using the ABAP List Viewer. All fields of table VBRP are also available. Subtotal fields KZW11 to KZW16 can be used to create customer-specific information.
    You can find more information on the ABAP List Viewer in: Cross Application Components ® General Application Functions.
    I hope this will help you,
    Regards,
    Murali.

  • Emailing packing list to the customer contact

    Hi,
    Our business process needs emailing of packing list to the customer.
    The packing list output form has been developed using SMARTFORM to print bar codes on it.
    We would like to utilize contact person functionality, which is available in the customer master, to store the email id of the packing list recipient.
    Can you provide the details of how to send the packing list output to the customer contact using SAP email functionality? Should I need to create a separate output condition type for it?
    Thanks in advance.
    Regards,
    Shiva

    Hi Shiva,
                 Is this through the SMARTFORM print program.
    If so...
    After calling a SMARTFORM function module. get the spool number from sy-spono.
    SMARTFORM output would be in OTF format. then convert this OTF Spool to pdf format using call  fm CONVERT_OTFSPOOLJOB_2_PDF or
    CONVERT_OTF_2_PDF (Check the fm, I am not sure which one is best).
    Output from this fm would be PDF table type tline
    Send this pdf file to  customer email id using fm 'SO_NEW_DOCUMENT_ATT_SEND_API1'.
    Let me know if u need further help.
    Reward points.
    Thanks
    Sampath.

  • Delivery Note/Pack List

    Can somebody post, or send me, the print program for the SmartForm Delivery note/Pack List (output type LD00)?
    Regards,
    Davis

    Ferry, the code that you sent me doesn't seem to be complete; it is missing three includes.  Does anybody have the following includes that they can post or send me?  The report is RDE_DELNOTE.
    REPORT RLE_DELNOTE.
    declaration of data
    INCLUDE RLE_DELNOTE_DATA_DECLARE.
    definition of forms
    INCLUDE RLE_DELNOTE_FORMS.
    INCLUDE RLE_PRINT_FORMS.
    Regards,
    Davis

  • Packing List

    HI Friends
    I would like to know Packing List Number which table it will store. Where we can maintain Truck Number and L/R Number. Please explain me about Batch Characteristic (Batch Characteristics related Table name and Fields Name) what are the packing materials and Table name and Field Names.
    Regards,
    Udhay

    Hi Udhaykumar,
    The paking list will takes place through output determination.
    Standard output type is PL00.
    LR number and Truck number you can maintain in the delivery text tab from there you can get in to the Packing list output through output program.
    I hope it will help you,
    Regards,
    Murali.

  • Packing List and Price list

    Hi ,
    Can anyone please let me know how to create packing list?and what is Pricelist , and how can we maintain pricelist ?
    Please explain with some simple scenarios.
    Thanks,
    Kanna.

    Dear Kanna,
    Packing list is one of the output type in the shipping output process.
    Standard output type for Packing list is PL00
    To get the Packing list output you need to do the output determination settings for the outbound deliveries.
    In the output determination procedure you keep the Packing list output type.
    For output determination in shiiping go through this link
    http://help.sap.com/saphelp_47x200/helpdata/en/93/745127546011d1a7020000e829fd11/frameset.htm
    Price list
    Net Price Lists
    Use
    The net price list allows you to provide your customers with pricing information on materials.
    Features
    In the menu, choose: Sales and distribution ® Master data ® Pricing reports ® Net price lists.
    Enter the sales area, the sold-to party and the plant.
    Enter the data that influences pricing (such as order type and pricing date).
    After starting program SDNETPRO a billing document is simulated and the system issues the result.
    Note
    The net price list works with the ABAP List Viewer.
    You can define your own display variants using the ABAP List Viewer. All fields of table VBRP are also available. Subtotal fields KZW11 to KZW16 can be used to create customer-specific information.
    You can find more information on the ABAP List Viewer in: Cross Application Components ® General Application Functions.
    I hope this will help you,
    Regards,
    Murali.

  • Pick List and Pack List

    Can anyone please provide some light on how the system should generate a pick list and pack list. what config needs to be done and settings. or help me with some tutorials even.
    Thanks,
    Kanna Palle.

    Dear Kanna,
    Picking & Packing lists are the output types in the shipping output process.
    Packing list
    Standard output type for Packing list is PL00
    To get the Packing list output you need to do the output determination settings for the outbound deliveries.
    In the output determination procedure you keep the Packing list output type.
    Picking list
    1. First assign your Output type EK00 to the shipping point(Enterprise Structure - Definition of Shipping point), also maintain the time and medium.
    2. Use TCode V/38, to maintain the condition type EK00, maintain the time,print parameters and transmission medium.
    Also assign the processing routines Prog: RVADEK1,Form Routine: ENTRY, Form:SD_PICK_SINGLE
    3. Mainatain the print parameters for shipping pt using TCOde VL01SHP.
    For output determination in shiiping go through this IMG path
    IMG>Logistics execution>Shipping>Basic Shipping functions>Output control>Output determination>Maintain Output Determination for Outbound Deliveries
    -->Maintain Condition Tables
    -->Maintain Output Types
    -->Maintain Access Sequences
    -->Maintain Output Determination Procedure
    -->Assign Output Determination Procedures
    Maintain condition records through VV21 transaction.
    I hope this will help you,
    Regards,
    Murali.

  • Packing directory output to a list

    I am new to this, I have tons of directories that I am working on. I want to output the files in each directory to a comma delimited list with each list named after  the directory containing the files.  So far I have been able to write a code that groups each files underneath each directory but i'm stuck as to the list part, I need help as to packing the output into a list thanks for your assistance.
    I have gotten as far as this
    <cfset dir = ("D:\dox\")>
    <cfdirectory name="Getdir" action="list" directory="#dir#" type="All" recurse="yes">
    <cfquery dbtype="query" name="Getfiles">
    SELECT * FROM Getdir ORDER BY directory, name </cfquery>
    <CFOUTPUT QUERY="GetBoth" GROUP="directory">
    <br><B>#GetBoth.directory#</B></FONT><br>
    <CFOUTPUT>#GetBoth.name#<BR></CFOUTPUT>
    </CFOUTPUT> 

    OK, well you can use valueList() to extract an entire query column as a list.  So that is easy enough.  However that requires the correct data to be in a single column.  So you might want to look at what columns you're fetching with your QoQ, and adjust that to better suit your requirement.
    Adam

  • Regarding Downloading of Report[List] output into Excel Sheet

    Hi All,
    Hi i have written one Classical report. I got the output Correctly.
    Now i want to download that data into Excel Sheet in excatly the way it displayed in List[Report] output.
    I had followed the path <b>System->List->Save->LocalFile->Spread Sheet</b> and tried to download the same.
    Though it is downloaded it has not come in exact format.
    Now what i want is to add a button above that report & write a program in that to download that data into Excel Sheet.
    Can anybody tell me how can solve this issue. If i follow above procedure will the data[List Output] be downloaded into exact format into excel.
    If anybody knows other way please sujjest.
    Thanks in advance.
    Thanks & Regards,
    Prasad.

    Hi Prasad,
    I have done a program which downloads the output in the excel sheet in the correct format.
    Just check the program. The code given in bold is what you have to use.
    REPORT zexp MESSAGE-ID f4  LINE-SIZE 195.
        Tables Used    ***********************************
    TABLES : bseg, bkpf, bsak, lfa1, payr .
    Declaring Internal Tables  **************************
    DATA :
    Internal table to hold header data  *************
    BEGIN OF header OCCURS 0,
          ext_date(10) TYPE c,
          delimit(1)   TYPE c,
          ext_time(8)  TYPE c,
    END OF header,
    Internal table to hold detail info  **************
    BEGIN OF i_data OCCURS 0,
        belnr LIKE bsak-belnr,
        gjahr LIKE bsak-gjahr,
        bukrs LIKE bsak-bukrs,
        bldat LIKE bsak-bldat,
        xblnr LIKE bsak-xblnr,
        blart LIKE bsak-blart,
        augdt LIKE bsak-augdt,
        augbl LIKE bsak-augbl,
        wrbtr LIKE bsak-wrbtr,
        shkzg LIKE bsak-shkzg,
        lifnr LIKE bsak-lifnr,
        name1 LIKE lfa1-name1,
        chect LIKE payr-chect,
        status(1) TYPE c,
    END OF i_data,
    Internal table to to collect  *****************
    BEGIN OF i_data1 OCCURS 0,
         belnr LIKE bsak-belnr,
         gjahr LIKE bsak-gjahr,
         bukrs LIKE bsak-bukrs,
         bldat LIKE bsak-bldat,
         xblnr LIKE bsak-xblnr,
         blart LIKE bsak-blart,
         augdt LIKE bsak-augdt,
         augbl LIKE bsak-augbl,
         wrbtr LIKE bsak-wrbtr,
       shkzg LIKE bsak-shkzg,
         lifnr LIKE bsak-lifnr,
         name1 LIKE lfa1-name1,
         sortl LIKE lfa1-sortl,
         chect LIKE payr-chect,
         status(1) TYPE c,
    END OF i_data1,
    String variables for formatting file data *************
        fidoc_year   TYPE string,
        comp_code    TYPE string,
        check_numbr  TYPE string,
        vendor       TYPE string,
        inv_date     TYPE string,
        inv_nbr      TYPE string,
        paid_dat     TYPE string,
        inv_amt      TYPE string,
        status       TYPE string,
        ref_doc      TYPE string,
    ************Internal table to store the file contents **************
    BEGIN OF i_final_file OCCURS 0,
        record(300) TYPE c,
    END OF i_final_file,
    Internal table to store the list of allowed document types ****
      BEGIN OF i_doctype OCCURS 0,
             blart LIKE bsak-blart,
      END OF i_doctype,
    Internal table to hold vendor information ************
      BEGIN OF i_lfa1 OCCURS 0,
         lifnr LIKE lfa1-lifnr,
         name1 LIKE lfa1-name1,
         sortl LIKE lfa1-sortl,
      END OF i_lfa1,
    Internal table to hold check information *************
      BEGIN OF i_payr OCCURS 0,
         chect LIKE payr-chect,
         vblnr LIKE payr-vblnr,
         gjahr LIKE payr-gjahr,
         zbukr LIKE payr-zbukr,
      END OF i_payr.
      Data declarations  **************************
    DATA : ws_stblg     TYPE bkpf-stblg,
           todate       TYPE bsak-augdt,
           fromdate     TYPE bsak-augdt,
           w_day        LIKE dtresr-weekday,
           day          LIKE scal-indicator,
           d            TYPE n,
           e_date       LIKE sy-datum,
           e_time       LIKE sy-uzeit,
           dd(2)        TYPE c,
           mm(2)        TYPE c,
           yy(4)        TYPE c,
           hh(2)        TYPE c,
           min(2)       TYPE c,
           sec(2)       TYPE c.
    DATA : wa_filepath(50)    TYPE c,
           wa_filename(50)    TYPE c,
           wa_c_filename(100) TYPE c,
           arch_path(50)      TYPE c.
    <b>* Data for downloading to list
    DATA : list LIKE TABLE OF abaplist WITH HEADER LINE.
    DATA : BEGIN OF list_asc OCCURS 0,
    msg(300) TYPE c,
    END OF list_asc.
    DATA: BEGIN OF i_invoiceheader OCCURS 0,
    name(30) TYPE c,
    END OF i_invoiceheader.
    RANGES dates FOR bkpf-budat.</b>
      Selection Screen  ************************
    SELECTION-SCREEN SKIP 2.
    SELECT-OPTIONS:
             s_bukrs     FOR  bkpf-bukrs ,
             s_blart     FOR  bkpf-blart ,
             s_augdt     FOR  bsak-augdt. " memory id todat TO fromdat.
    PARAMETERS :submit  AS CHECKBOX DEFAULT ' '  .
    <b>* Download list to file.
    AT USER-COMMAND.
      CASE sy-ucomm.
        WHEN 'LIST'.
          PERFORM download.
        WHEN 'BACK'.
          EXIT.
      ENDCASE.</b>
    <b>----
          FORM download                                                 *
    FORM download.
    if s_augdt is initial.
    dates-sign = 'I'.
    dates-option = 'BT'.
    dates-low = '20050901'.
    dates-high = '20050920'.
    APPEND dates.
    else.
      dates = s_augdt.
      append dates.
    endif.
    /* Submit the same program .
      SUBMIT zexp WITH s_augdt IN dates
       EXPORTING LIST TO MEMORY
       AND RETURN.
      CALL FUNCTION 'LIST_FROM_MEMORY'
           TABLES
                listobject = list
           EXCEPTIONS
                not_found  = 1.
      CALL FUNCTION 'LIST_TO_ASCI'
    EXPORTING
    LIST_INDEX = -1 "LIST_INDEX SY-LSIND.
      TABLES
      listasci = list_asc
      listobject = list.
      PERFORM download_file.
    ENDFORM.
          FORM download_file                                            *
    FORM download_file.
      DATA fname TYPE rlgrap-filename VALUE 'c:\audit_report.xls'.
      DATA ftype TYPE rlgrap-filetype VALUE 'DAT'.
      DATA numeric_data(10) TYPE c VALUE '0123456789'.
    *Table structure should match with list output.
      DATA : BEGIN OF i_data1 OCCURS 0,
           belnr(12) TYPE c,
           gjahr(6) TYPE c,
           bukrs(8) TYPE c,
           chect(13) TYPE c,
           lifnr(12) TYPE c,
           name1(37) TYPE c,
           bldat(14) TYPE c,
           xblnr(18) TYPE c,
           augdt(14) TYPE c,
           wrbtr(17) TYPE c,
           status(4) TYPE c,
           augbl(18) TYPE c,
           sortl(17) TYPE c,
       END OF i_data1.
    Header record of the excel sheet.
      PERFORM fill_header.
      LOOP AT list_asc.
    Reads lines starting from the first record in the report. All informatory statements in the report are not read.
        IF list_asc+1(10) CO numeric_data.
          i_data1 = list_asc .
          APPEND i_data1.
        ENDIF.
      ENDLOOP.
    Call the download function.
    CALL FUNCTION 'DOWNLOAD'
           EXPORTING
                filename = fname
                filetype = ftype
           TABLES
                data_tab = i_data1
                FIELDNAMES = i_invoiceheader.
    ENDFORM.
          FORM fill_header                                              *
    FORM fill_header.
      i_invoiceheader-name = 'Doc Number'.
      APPEND i_invoiceheader.
      i_invoiceheader-name = 'Fsc Year'.
      APPEND i_invoiceheader.
      i_invoiceheader-name = 'Cmp Code'.
      APPEND i_invoiceheader.
      i_invoiceheader-name = 'Check No'.
      APPEND i_invoiceheader.
      i_invoiceheader-name = 'Vendor No'.
      APPEND i_invoiceheader.
      i_invoiceheader-name = 'Entered by'.
      APPEND i_invoiceheader.
      i_invoiceheader-name = 'Doc Date'.
      APPEND i_invoiceheader.
      i_invoiceheader-name = 'Ref Doc No'.
      APPEND i_invoiceheader.
      i_invoiceheader-name = 'Clearing Date'.
      APPEND i_invoiceheader.
      i_invoiceheader-name = 'Amount'.
      APPEND i_invoiceheader.
      i_invoiceheader-name = 'Status'.
      APPEND i_invoiceheader.
      i_invoiceheader-name = 'Clearing Doc No'.
      APPEND i_invoiceheader.
      i_invoiceheader-name = 'Sort field'.
      APPEND i_invoiceheader.
    ENDFORM.                    " fill_header</b>
       Initialization   *************************
    INITIALIZATION.
    To initialize the date parameter on the selection screen.
    The date by default ranges from previous Monday to Sunday.
      todate = sy-datum.
      CALL FUNCTION 'DATE_COMPUTE_DAY'
           EXPORTING
                date = todate
           IMPORTING
                day  = day.
      d = day.
      if d < 4.
        todate = sy-datum - d - 4 .
      else.
        todate = sy-datum - d + 3 .
      endif.
      fromdate = todate - 6.
      MOVE: 'BT'       TO s_augdt-option,
            fromdate   TO s_augdt-low,
            todate     TO s_augdt-high.
      APPEND s_augdt.
    Start of Selection  **************************
    START-OF-SELECTION.
    Checking the validity of the inputted dates ****************
      IF s_augdt-low > sy-datum OR s_augdt-high > sy-datum.
        MESSAGE i999 WITH 'You cannot input future date'.
        EXIT.
      ENDIF.
      IF NOT s_bukrs IS INITIAL.
    MESSAGE i999 WITH 'Program will run with input parameters in screen!!'.
      ENDIF.
    Initialize the header data ***********************
      e_time = sy-uzeit.
      MOVE e_time+0(2) TO hh.
      MOVE e_time+2(2) TO min.
      MOVE e_time+4(2) TO sec.
      CONCATENATE hh min sec INTO header-ext_time SEPARATED BY ':'.
      e_date = sy-datum.
      MOVE e_date+0(4) TO yy.
      MOVE e_date+4(2) TO mm.
      MOVE e_date+6(2) TO dd.
      CONCATENATE mm dd yy INTO header-ext_date SEPARATED BY '/'.
      header-delimit = '~'.
      APPEND header.
    List allowed document types **********************
      PERFORM fill_doc_types.
    **To select the documents within the range of week or as inputted **
      IF s_augdt IS INITIAL.
        MOVE: 'I' TO s_augdt-sign,
              'BT'       TO s_augdt-option,
              fromdate   TO s_augdt-low,
              todate     TO s_augdt-high.
        APPEND s_augdt.
      ENDIF.
    Selecting the records from the database ****************
      IF s_bukrs IS INITIAL AND s_blart IS INITIAL.
      Select all documents of company code 1000, *********
      4200 and 8000, and allowed document types  *********
        SELECT belnr gjahr augdt augbl bukrs
            blart bldat xblnr lifnr wrbtr shkzg
            FROM bsak INTO CORRESPONDING FIELDS OF TABLE i_data
            FOR ALL ENTRIES IN i_doctype
            WHERE blart EQ i_doctype-blart
            AND augdt IN s_augdt
            AND ( bukrs = '1000' OR bukrs ='4200'  OR
                ( bukrs = '8000' AND blart NE 'ZP' ) ).
       loop at i_data.
    Exclude reversed documents
          select single stblg into ws_stblg
                 from   bkpf
                 where  bukrs = i_data-bukrs
                   and  gjahr = i_data-gjahr
                   and  belnr = i_data-belnr.
          if not ws_stblg is initial.
             delete i_data.
          endif.
       endloop.
      ELSEIF s_blart IS INITIAL.
      Select all documents of allowed document types ******
           and inputted company code           ************
        SELECT belnr gjahr augdt augbl bukrs
           blart bldat xblnr lifnr wrbtr shkzg
           FROM bsak INTO CORRESPONDING FIELDS OF TABLE i_data
           FOR ALL ENTRIES IN i_doctype
           WHERE blart EQ i_doctype-blart
             AND augdt IN s_augdt
             AND bukrs IN s_bukrs .
        LOOP AT i_data.
    Exclude documents of type ZP
    for company code 8000.
          IF i_data-bukrs = '8000' AND i_data-blart = 'ZP'.
            DELETE i_data.
            continue.
          ENDIF.
      Exclude reversed documents
          select single stblg into ws_stblg
                 from   bkpf
                 where  bukrs = i_data-bukrs
                   and  gjahr = i_data-gjahr
                   and  belnr = i_data-belnr.
          if not ws_stblg is initial.
             delete i_data.
             continue.
          endif.
        ENDLOOP.
        READ TABLE i_data INDEX 1.
        IF sy-subrc NE 0.
          MESSAGE i999 WITH 'No records have been selected'.
          EXIT.
        ENDIF.
      ELSE.
      Select the documents matching the company codes  *****
    and document types inputted in the selection screen ****
        SELECT belnr gjahr augdt augbl bukrs bldat xblnr
           blart lifnr  wrbtr shkzg
           FROM bsak INTO CORRESPONDING FIELDS OF TABLE i_data
           WHERE bukrs IN s_bukrs AND blart IN s_blart
             AND augdt IN s_augdt.
        SORT i_data BY blart.
        LOOP AT i_data.
      Filtering the records selected
      based on the document type
          READ TABLE i_doctype WITH KEY blart = i_data-blart.
          IF sy-subrc NE 0.
            DELETE i_data.
            continue.
          ENDIF.
      Exclude documents of type ZP
      for company code 8000.
          IF i_data-bukrs = '8000' AND i_data-blart = 'ZP'.
            DELETE i_data.
            continue.
          ENDIF.
      Exclude reversed documents.
          select single stblg into ws_stblg
                 from   bkpf
                 where  bukrs = i_data-bukrs
                   and  gjahr = i_data-gjahr
                   and  belnr = i_data-belnr.
          if not ws_stblg is initial.
             delete i_data.
             continue.
          endif.
        ENDLOOP.
        READ TABLE i_data INDEX 1.
        IF sy-subrc NE 0.
          MESSAGE i999 WITH 'No records have been selected'.
          EXIT.
        ENDIF.
      ENDIF.
      IF sy-subrc NE 0.
        MESSAGE i999 WITH 'No records have been selected'.
        EXIT.
      ENDIF.
    credit/debit identification ***********************
      LOOP AT i_data.
        IF i_data-shkzg EQ 'H'.
          i_data-wrbtr = i_data-wrbtr * 1.
        ELSEIF i_data-shkzg EQ 'S'.
          i_data-wrbtr = i_data-wrbtr * -1.
        ENDIF.
        MODIFY i_data.
      ENDLOOP.
    for summarizing ******************************
      LOOP AT i_data.
        MOVE-CORRESPONDING  i_data TO i_data1.
        COLLECT i_data1.
      ENDLOOP.
    Vendor informations and Check Informations *****************
      SELECT lifnr name1 sortl
             FROM lfa1
             APPENDING CORRESPONDING FIELDS OF TABLE i_lfa1
             FOR ALL ENTRIES IN i_data1
             WHERE lifnr = i_data1-lifnr.
      SELECT chect vblnr gjahr zbukr FROM payr APPENDING CORRESPONDING
                                FIELDS OF TABLE i_payr FOR ALL ENTRIES
                                IN  i_data1   WHERE vblnr = i_data1-augbl
                                AND gjahr = i_data1-augdt(4)
                                AND zbukr = i_data1-bukrs.
      SORT i_data1 BY augbl gjahr bukrs lifnr.
      SORT i_payr  BY vblnr gjahr zbukr.
      SORT i_lfa1  BY lifnr.
      LOOP AT i_data1.
        READ TABLE i_payr WITH KEY vblnr = i_data1-augbl
                                   gjahr = i_data1-gjahr
                                   zbukr = i_data1-bukrs.
        IF sy-subrc EQ 0.
          i_data1-chect = i_payr-chect.
        ENDIF.
        READ TABLE i_lfa1 WITH KEY lifnr = i_data1-lifnr.
        IF sy-subrc EQ 0.
          i_data1-name1 = i_lfa1-name1.
          i_data1-sortl = i_lfa1-sortl.
        ENDIF.
        i_data1-status = 'X'.
        MODIFY i_data1.
      ENDLOOP.
    **The records are sorted by clearing date, check number and doc type**
      SORT i_data1 BY augdt chect blart.
    **********The header record is outputted on the screen****************
      PERFORM write_header.
    ********Data is moved to internal table in the file format *************
      PERFORM move_data.
    Line items are outputted on the screen *********************
      PERFORM write_output.
    *&                   Form  write_header                             &*
    *&        This outputs the header information to screen             &*
    FORM write_header.
      SKIP.
       SET PF-STATUS 'LIST'.
    Outputting the header information *********************
      WRITE : / 'Extraction Date : ' , header-ext_date.
      WRITE : / 'Extraction Time : ' , header-ext_time.
      FORMAT COLOR 1." INTENSIFIED.
      SKIP.
      ULINE AT 0(190) NO-GAP.
    Outputting line level information **********************
      WRITE:/  sy-vline NO-GAP,
            (10) 'DOC NUMBER',
              sy-vline NO-GAP,
             (4) 'F-YR',
               sy-vline NO-GAP,
             (6) 'C-CODE',
              sy-vline NO-GAP,
             (10) 'CHECK NUM',
              sy-vline NO-GAP,
             (10) 'VENDOR NUM',
              sy-vline NO-GAP,
             (35) 'VENDOR NAME',
               sy-vline NO-GAP,
             (12) 'INVOICE DATE',
              sy-vline NO-GAP,
             (16) 'INVOICE NUMBER',
              sy-vline NO-GAP,
             (12) 'PAID DATE',
               sy-vline NO-GAP,
             (15) 'INVOICE AMOUNT',
              sy-vline NO-GAP,
             (2) 'SC',
              sy-vline NO-GAP,
             (16) 'REFERENCE FI DOC',
               sy-vline NO-GAP,
             (15) 'SORT FIELD',
               sy-vline NO-GAP.
      ULINE AT 0(190) NO-GAP.
    ENDFORM.                    " write_header
    *&                      FORM  MOVE_DATA                             &*
    *&    Formats data in internal table as is required in the file     &*
    FORM move_data.
      LOOP AT i_data1.
    Document number and fiscal year should be separted by '|' *****
        CONCATENATE i_data1-belnr i_data1-gjahr INTO fidoc_year
                    SEPARATED BY '|'.
        MOVE i_data1-bukrs TO comp_code.
        MOVE i_data1-chect TO check_numbr.
    Vendor number and vendor name should be separted by '|' *****
        CONCATENATE i_data1-lifnr i_data1-name1 INTO vendor
          SEPARATED BY '|'.
        SHIFT vendor LEFT DELETING LEADING '0'.
        SHIFT vendor RIGHT DELETING TRAILING space.
    Date fields converted to MM/DD/YYYY format ****************
        MOVE i_data1-bldat+0(4) TO yy.
        MOVE i_data1-bldat+4(2) TO mm.
        MOVE i_data1-bldat+6(2) TO dd.
        CONCATENATE mm dd yy INTO inv_date SEPARATED BY '/'.
        MOVE i_data1-xblnr TO inv_nbr.
        SHIFT inv_nbr RIGHT DELETING TRAILING space.
        MOVE i_data1-augdt+0(4) TO yy.
        MOVE i_data1-augdt+4(2) TO mm.
        MOVE i_data1-augdt+6(2) TO dd.
        CONCATENATE mm dd yy INTO paid_dat SEPARATED BY '/'.
        MOVE i_data1-wrbtr TO inv_amt.
        CONDENSE inv_amt.
       SHIFT inv_amt RIGHT DELETING TRAILING space.
        MOVE i_data1-status TO status.
        MOVE i_data1-augbl TO ref_doc.
        CONCATENATE fidoc_year
                    comp_code
                    check_numbr
                    vendor
                    inv_date
                    inv_nbr
                    paid_dat
                    inv_amt
                    status
                    ref_doc
           INTO i_final_file-record SEPARATED BY '~'.
        APPEND i_final_file.
      ENDLOOP.
    ENDFORM.                    " MOVE_DATA
    *&                      Form  write_output                          &*
    *&                  Outputs all data to screen                      &*
    FORM write_output.
      LOOP AT i_data1.
        FORMAT COLOR 2 INTENSIFIED.
    Outputting line level information *******************
        WRITE :  /  sy-vline NO-GAP,
                 (10) i_data1-belnr,
                   sy-vline NO-GAP,
                (4) i_data1-gjahr,
                   sy-vline NO-GAP,
                 (6) i_data1-bukrs,
                   sy-vline NO-GAP,
                (10) i_data1-chect,
                  sy-vline NO-GAP,
                  (10) i_data1-lifnr,
                 sy-vline NO-GAP,
                 (35) i_data1-name1,
                   sy-vline NO-GAP,
                 (12) i_data1-bldat MM/DD/YYYY,
                   sy-vline NO-GAP,
                 (16)  i_data1-xblnr,
                   sy-vline NO-GAP,
                 (12) i_data1-augdt MM/DD/YYYY,
                   sy-vline NO-GAP,
                 (15) i_data1-wrbtr,
                   sy-vline NO-GAP,
                 (2) i_data1-status,
                   sy-vline NO-GAP,
                 (16) i_data1-augbl,
                   sy-vline NO-GAP,
                 (15) i_data1-sortl,
                 sy-vline NO-GAP.
      ENDLOOP.
      ULINE AT 0(190) NO-GAP.
    ENDFORM.                    " write_output
    In the program, I am downloading only the list.. The description of report outputted in the beginning of the report is not downloaded to excel.
    What has to be taken into consideration is that, the structure of the table i_data1 which contains the data to be downloaded to the table.
    I hope that this will help you.
    Regards,
    Susmitha

  • Export Simple list output to Excel sheet.

    Hi gurus,
    I have a list output as follows.
    A main header
    Sub header 1
    table entries.
    sub header 2.
    table entries ,......etc.
    now i want to export the same format to an excel sheet which need to sent as a mail attachment.
    Is there any FM for this ? i dont want the format to be disturbed.
    can headers and other entries defferentiated with colors ?
    kindly help on this.
    Edited by: deepan adhi on Oct 4, 2009 9:52 AM

    write the list to memory,
    and the read this memory into an internal table.  this will be exactly the same way as its printed on your screen. download it.
    or
    create an internal table of type string, add pass data from your final internal table in the exact way you are putting it in the output.
    and download this string internal table.

  • Print preview of the packing list

    <i>hai friends ,</i>
    i have a doubt plz clear my doubt....
    how to assing the output type in the print preview screen.??????
    Explanation of my doubt :
    <b>step 1.</b>
    In VL02N , after entering the Outbound Delivery number,
    <b>step2.</b>
    by selecting the items.
    <b>step3.</b>
    in the menu extras -> delivery output-> item->
    <b>step4.</b>
    i have assinged the output type PLOO.(packing list)
    My doubt is how to bring this message type in the front screen
    of VLO2N for print preview...

    hi,
    this won't be visible in VL02N first screen, issue output to... You can check it the way you have mentioned, like selecting the items, going to extras output > packing list > and then see it. You can get it printed anyway.
    You can view the same by going to T.code VL70.
    Pl reward if it helps.
    Thanks,
    Sadhu Kishore

  • LIST output and event handling in OO ALV

    Hi Guys,
    I am creating an ALV Report using cl_gui_alv_grid.
    after the list is displayed i can change the display t output list from the ALV toolbar.
    1. how can i shot list output by default.
    2. why does hotspot event not work when the display is switched to list output.
    3. how can i display the subtotal on all pages of the list.
    Regards,
    Tarun Bahal

    Hi,
    for your questions
    1. To shortlist thefields in output
        In the fieldcatalog merge,select the fields which are to be populated in the outputlist.There standard list you can display.
    On that you can select the fields in ALV toolbar.
    2.To which field you need to HOTSPOT click, for that field in fieldcatalogue merge
       select the hotspot = 'X'.
    for example
    If gs_fieldcat-fieldname = 'MATNR'.
    gs_fieldcat-table_name = 'MARA'.
    gs_fieldcat-ref_field = 'MATNR'.
    Gs_fieldcat-hotspot = 'X'.
    append gs_fieldcat to gt_fieldcat.
    endif.
    this will hotspot on the field material number.
    After declaring this you need to maintain the hotspot click event.
    ~~~~~~~~~
    CLASS lcl_event_receiver DEFINITION.
      PUBLIC SECTION.
        METHODS:
        handle_hotspot_click
            FOR EVENT HOTSPOT_CLICK OF cl_gui_alv_grid
                IMPORTING e_row e_column.
      PRIVATE SECTION.
    ENDCLASS.
    CLASS lcl_event_receiver IMPLEMENTATION.
      METHOD hotspot_click.
        DATA: ls_sflight LIKE LINE OF gt_sflight.
    read selected row from internal table gt_sflight
        READ TABLE gt_sflight INDEX e_row-index INTO ls_sflight.
    select corresponding lines of table sbook
        PERFORM select_table_sbook USING ls_sflight
                                   CHANGING gt_sbook.
    call dialog screen and display new alv control
        CALL SCREEN 101 STARTING AT 10 5.
      ENDMETHOD.                           "handle_double_click
    ENDCLASS.
    This is very important after defining the events,you need to set the event before calling grid display.
      CREATE OBJECT event_receiver.
        SET HANDLER event_receiver->handle_double_click FOR grid1.
    for your reference you check the standard program BCALV_GRID_03**
    There they have declared Double click, in your case you maintain with
    HOTSPOT CLICK **.
    3. If you want subtotal on  the field, sort that filed for sort structure.
        and for which field do you need total, for that field do-sum = 'X'
        in the fieldcatalogue merge.
      gs_sort-fieldname ='MATNR'
      gs_sort-up = 'X'.
      gs_sort-subtot = 'X'.
      append gs_sort to gt_sort.
    for calculating the total to the field
    gs_fieldcat-table_name = 'MARA'.
    gs_fieldcat-ref_field = 'NTGEW'.(Gross weight)
    Gs_fieldcat-dosum = 'X'.
    append gs_fieldcat to gt_fieldcat.
    endif.
    For every new material
    it calculates the subtotal on Gross weight.(because for NTGEW is gross weight).
    and also it will show the grand total too.
    Hope this will solve your problem
    Dont forget to Reward pointsHi,
    for your questions
    1. To shortlist thefields in output
        In the fieldcatalog merge,select the fields which are to be populated in the outputlist.There standard list you can display.
    On that you can select the fields in ALV toolbar.
    2.To which field you need to HOTSPOT click, for that field in fieldcatalogue merge
       select the hotspot = 'X'.
    for example
    If gs_fieldcat-fieldname = 'MATNR'.
    gs_fieldcat-table_name = 'MARA'.
    gs_fieldcat-ref_field = 'MATNR'.
    Gs_fieldcat-hotspot = 'X'.
    append gs_fieldcat to gt_fieldcat.
    endif.
    this will hotspot on thefield material number.
    3. If you want subtotal on  the field, sort that filed for sort structure.
        and for which field do you need total, for that field do-sum = 'X'
        in the fieldcatalogue merge.
      gs_sort-fieldname ='MATNR'
      gs_sort-up = 'X'.
      gs_sort-subtot = 'X'.
      append gs_sort to gt_sort.
    for calculating the total to the field
    gs_fieldcat-table_name = 'MARA'.
    gs_fieldcat-ref_field = 'NTGEW'.(Gross weight)
    Gs_fieldcat-dosum = 'X'.
    append gs_fieldcat to gt_fieldcat.
    endif.
    For every new material
    it calculates the subtotal on Gross weight.(because for NTGEW is gross weight).
    and also it will show the grand total too.
    Hope this will solve your problem
    Dont forget to Reward points
    Edited by: varisetty madhavi on Mar 7, 2008 6:48 AM

  • In the packing list, batch number and expiry date is not appearing for a ma

    Dear Friends,
    I have an issue in the packinglist.
    In the packing list, batch number and expiry date is not appearing for a material.
    But in the delivery the batch number and expiry date is appearing.
    Why this has triggered and how to solve this?
    With regards

    Hi Vamsi,
              Please go through the output type Smart form or script programe of the packing list and check with the abaper If is there any Bug.
    Regard's
    Murali.

Maybe you are looking for

  • Deactivate Goods receipt indicator on PO Delivery Tab

    Dear Experts My client would like that system would not require goods receipt (non-GR based PO) for PO line items of respective material group (services) - goods receipts should even not be possible so GR indicator on the delivery tab should be ticke

  • Lenovo 3000 N100 0768 - 30 pin LVDS pinout of graphic card

    Hello! I have a N100 0768 model with GeForce Go 7300 (1680x1050). I've noticed that the LCD is connected through a 30 pin LVDS interface. Since I'm using an external TFT with 1920x1200 resolution I would prefer to use digital video output instead of

  • Import Metadata shows no schemas

    In the virtual machine , I have installed OBIEE 11.1.1.6, and in my local machine I have only installed client Administrator Tools to connect the remote vritual machine. When I use the Import Metadata operation (either from the File menu, or context

  • Simple action creating problem

    Hi. I'm having a problem with this simple script. All I want to is "onClipEvent" go to the next frame in the current movie. I have it set to _root - but want to use the next frame in the movie symbol only. Anyone have advice?

  • PDF Export - converting files

    I don't want to convert an entire document, just one or two pages.  Can this be done?