Submit program for function pool

Dear Experts,
                   i am using submit program for a standard report
   submit SAPLRHPA_REPORTING
               with APPSELECT_HISTO eq  'X'
               and return.
it's going to dump how to use function pool programs in submit statements.
You attempted to start the ABAP/4 program "SAPLRHPA_REPORTING" with SUBMIT, but
attributes specify this program as type "F" instead of "1". You can
only start programs of type 1 with SUBMIT.
Thanks and Regards,
Thirukumaran. R

Hi
As per my knoweldge i think you cant submit the fuction pool using by submit.
Alternate way is call the function module which is within the function pool .
Or if you want to execute a particular routine within a function pool you can use as below
PERFORM Routine_name(saplrhpa_reporting)
                                       USING parameters.
Hope this answer helps you
Cheers.
J.

Similar Messages

  • How we can check unicode check for function-pool.

    hi experts,
    how we can check unicode check for function-pool.
    pls tell needy.
    regards,
    praveen

    You can check the Unicode in the function group or use transaction UCCHECK

  • Subscreen selection screen for function pool program

    Hi,
    I have a requirement wherein i need to make the parameter field flexible( meaning can exclude, include values etc). Same function as select-options. The parameter was created in a dialog progmming.
    The problem here is that i am using function pool. I have tried to use subscreen but it is only applicable on report program. Is anyone knows if this is possible. Or is there any way to make the field as select-option without using call subscreen?
    Please help!
    Thanks in advance!

    Hi,
    No need to create separate Fields ,only create as parameter.
    for your Reference check below code.
    DATA : lv_title             TYPE sy-title,
                ls_description TYPE rsfldesc,
                lt_selopt          TYPE STANDARD TABLE OF rsdsselopt.
    PARAMETER : p_field TYPE ausp-atwrt .
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_field.
      lv_title = 'TEST'.
      ls_description-type    = 'C'.
      ls_description-length  = '30'.
      ls_description-olength = '30'.
      CALL FUNCTION 'COMPLEX_SELECTIONS_DIALOG'
        EXPORTING
          title                    = lv_title
          description       = ls_description
          help_field         = 'AUSP-ATWRT'
        TABLES
          range               = lt_selopt
        EXCEPTIONS
          no_range_tab      = 1
          cancelled         = 2
          internal_error    = 3
          invalid_fieldname = 4
          OTHERS            = 5.
      IF sy-subrc NE 2.
        MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.

  • Handle submit program for background jobs in RFC FM to send email in ITS

    Hi all
    I am facing a problem in ITS, i.e. I have called a RFC Function Module on the page load event of one of the HTML template. In that FM I have used <b>submit program</b>. This RFC FM is working fine in background i.e. it is sending pdf as email to a particular email address
    but in the frontend it is not responding.
    I wanted to ask whether we can handle submit <program-name> in background job from ITS
    <b>If you are unable to understand the problem i can share with you my code as well.</b>
    Thanks
    Ekta Tuli

    Hi Tobias
    The Function Module <b>ZV_FUNC_CCK_EMAIL_PDF</b> is used to generate the email with pdf as attachement. it is generating email at backend but not in frontend.
    thanks
    ekta
    please find the code below for the FM
    FUNCTION zv_func_cck_email_pdf.
    *"*"Local interface:
    *"  IMPORTING
    *"     VALUE(CONTRACT) LIKE  VBAP-VBELN
    *"     VALUE(EMAIL) LIKE  ADR6-SMTP_ADDR
    *"  EXPORTING
    *"     VALUE(RETURN) TYPE  CHAR4
    data: i_vbak like vbak .
      DATA: v_cont(10) TYPE c.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          input  = contract
        IMPORTING
          output = v_cont.
    DATA: z_element(30)         TYPE c.
    DATA: gv_fb_addr_get_selection  LIKE addr1_sel.
    DATA:  BEGIN OF mtab_contract OCCURS 0, "sap field
        ordno(10),                                              "vbeln (10)
        terr(6),
        vkorg     LIKE vbak-vkorg,
        vkgrp     LIKE knvv-vkgrp,
        repname(35),
        repmailbox(10),
        gueen(10),                          "expires dated -same as valid to
        kunnr(10),
        name1(35),                                              "name1(35)
        stras(35),                                              "stras(35)
        pstlz(10),                                              "pstlz(10)
        ort01(35),                          "ort01(35) city
        regio(3),                                               "regio(3)
        kunnr2(10),
        name2(35),                                              "NUM?(35)
        stras2(35),                                             "stras(35)
        pstlz2(10),                                             "pstlz(10)
        ort012(35),                          "ort01(35) city
        regio2(3),                                              "regio(3)
        kit1     LIKE vbap-matnr,     " currently 41315
        kit1-qty(6),  " like vbap-zmeng,
        kit2     LIKE vbap-matnr,     " currently 41316
        kit2-qty(6),  "  like vbap-zmeng,
        kit3     LIKE vbap-matnr,     " currently 41317
        kit3-qty(6),  "  like vbap-zmeng,
        kit4     LIKE vbap-matnr,     " currently 91869US
        kit4-qty(6),  "  like vbap-zmeng,
        med1     LIKE vbap-matnr,     " currently 7408cp
        med1-qty(6),  "  like vbap-zmeng,
        med2     LIKE vbap-matnr,     " currently 0211CP
        med2-qty(6),  "  like vbap-zmeng,
        med3     LIKE vbap-matnr,     " currently 0578CP
        med3-qty(6),  "  like vbap-zmeng,
        med4     LIKE vbap-matnr,     " currently 0068CP
        med4-qty(6),  "  like vbap-zmeng,
        med5     LIKE vbap-matnr,     " currently 0069CP
        med5-qty(6),  "  like vbap-zmeng,
        med6     LIKE vbap-matnr,     " currently other
        dis6     LIKE makt-maktx,     " currently other
        med6-qty(6),  "  like vbap-zmeng,
        med7     LIKE vbap-matnr,     " currently other
        dis7     LIKE makt-maktx,     " currently other
        med7-qty(6),  "  like vbap-zmeng,
        med8     LIKE vbap-matnr,     " currently other
        dis8     LIKE makt-maktx,     " currently other
        med8-qty(6),  "  like vbap-zmeng,
        med9     LIKE vbap-matnr,     " currently other
        dis9     LIKE makt-maktx,     " currently other
        med9-qty(6),  "  like vbap-zmeng,
        med10    LIKE vbap-matnr,     " currently other
        dis10    LIKE makt-maktx,     " currently other
        med10-qty(6),  "  like vbap-zmeng,
      END OF mtab_contract.
    DATA:  BEGIN OF mtab_material OCCURS 0,
              ordno(10),
              matnr LIKE vbap-matnr,
              qty  LIKE vbap-zmeng,
           END OF mtab_material.
    DATA: w-mm(4) VALUE ' MM '.
    *SELECT-OPTIONS: s_vkorg FOR vbak-vkorg,
    *                s_vkgrp FOR knvv-vkgrp,    "Sales Group
    *                s_terr  FOR knvp-kunn2.    "Territory Code
    *PARAMETERS:     p_parvw LIKE vbpa-parvw MEMORY ID par OBLIGATORY,    "Partner ID
    **                   DEFAULT 'Z1'.
    *                p_vbeln LIKE vbak-vbeln MEMORY ID aun,
    *                p_email LIKE adr6-smtp_addr MEMORY ID email. "Sales Document #
    *SELECT-OPTIONS: "s_vbeln FOR vbak-vbeln MEMORY ID aun, "Sales Document #
    *                s_guebg FOR vbak-guebg,    "Valid-From Date
    *                s_gueen FOR vbak-gueen,    "Valid-To Date
    *                s_ship  FOR vbpa-kunnr,    "Ship-to customer
    *            s_bstzd FOR vbak-bstzd MEMORY ID bst ."DEFAULT 'CCK'.    "P.O. # Supplement
    DATA: i_otf TYPE STANDARD TABLE OF itcoo,
          i_content_txt TYPE table of solisti1, "Content
          i_content_bin TYPE solix_tab, "Content
          i_content_bin1 TYPE solix_tab, "Content
          i_objhead TYPE soli_tab,
          w_pdf TYPE solisti1, "For PDF
          w_res TYPE itcpp, "SAPscript output
          w_otf TYPE itcoo, "For OTF
          w_transfer_bin TYPE sx_boolean, "Content
          prog(60).
    data : t_obj_bin type standard table of solisti1.
    DATA: w_arc_params LIKE arc_params,
          w_pri_params LIKE pri_params.
    *DATA: lcl_cls TYPE REF TO cl_gui_frontend_services.
    CONSTANTS : c_x TYPE c VALUE 'X', "X
                c_locl(4) TYPE c VALUE 'LOCL', "Local Printer
                c_otf TYPE sx_format VALUE 'OTF', "OTF
                c_pdf TYPE sx_format VALUE 'PDF', "PDF
                c_printer TYPE sx_devtype VALUE 'PRINTER', "PRINTER
                c_bin TYPE char10 VALUE 'BIN'. "BIN
    DATA:       v_name TYPE string ."Downloading File Name
    DATA: v_len_in TYPE so_obj_len,
          v_tempdir(50) TYPE c,
          v_size TYPE i.
    DATA : x_pdf_bag_tline TYPE  rcl_bag_tline,
           v_pdf_fsize TYPE i,
           objpack LIKE sopcklsti1 OCCURS 2 WITH HEADER LINE,
           objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE,
           objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE,
           objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,
           reclist LIKE somlreci1 OCCURS 5 WITH HEADER LINE,
           doc_chng LIKE sodocchgi1,
           tab_lines LIKE sy-tabix.
    DATA : v_pnum LIKE usr21-persnumber,
           v_anum LIKE usr21-addrnumber,
           smtp_addr LIKE adr6-smtp_addr.
    DATA: v_path TYPE  string,
          v_code TYPE i.
    DATA : wa_obj_txt TYPE solisti1.
    DATA : t_obj_txt TYPE STANDARD TABLE OF solisti1.
    DATA : t_rec_list TYPE STANDARD TABLE OF  somlreci1.
    DATA : t_obj_pack TYPE STANDARD TABLE OF sopcklsti1.
    DATA : wa_document_data TYPE sodocchgi1. "Mail data
    DATA : wa_rec_list TYPE somlreci1.
    DATA: reciever TYPE sadrud.    "Email address of the receiver
    DATA : wa_obj_pack TYPE sopcklsti1.
    DATA: v_lines(10) TYPE n.
    DATA: binfilesize TYPE i.
    DATA : wa_obj_header TYPE solisti1.
    DATA : t_obj_header TYPE STANDARD TABLE OF solisti1.
    DATA : obj_id TYPE sofolenti1-object_id. "To send a file as attatchment
    data: pdftab type table of tline with header line.
    data : flag_sent_to_all type sonv-flag.
    *START-OF-SELECTION.
    *  IF lcl_cls IS INITIAL.
    *    CREATE OBJECT lcl_cls.
    *  ENDIF.
      CLEAR i_vbak.
      SELECT  * FROM vbak into i_vbak
                      WHERE
    *                    guebg IN s_guebg AND          "Valid-From Date
    *                    gueen IN s_gueen AND          "Valid-To Date
    *                    vkorg IN s_vkorg AND
                        vbeln = v_cont AND
    *                   AUART = 'LP  ' AND  "Converts to 'CO  ' Scheduling A
                        auart = 'KM  ' AND  "Converts to 'CQ  ' Qty contract
    *                   VBTYP = 'E' AND     "sales doc cat?              JM
                        vbtyp = 'G' ."AND     "sales doc cat              "JM
    *                    bstzd IN s_bstzd.
        mtab_contract-kunnr = i_vbak-kunnr.
        mtab_contract-ordno = i_vbak-vbeln.
        mtab_contract-vkorg = i_vbak-vkorg.
        WRITE i_vbak-gueen TO mtab_contract-gueen.                "CHG014419
        APPEND mtab_contract.
      ENDSELECT.
      LOOP AT mtab_contract.
    *    PERFORM get_contract.     "CO sales orders line items
    ******Get Contract*********
    * SELECT SINGLE kunnr            "partner
    *    INTO vbpa-kunnr
    *    FROM vbpa
    *   WHERE vbeln EQ  mtab_contract-ordno
    *     AND posnr EQ '000000'
    *     AND parvw EQ 'WE'               "Ship-To's
    *     AND kunnr IN s_ship.           "Ship-To ID added 04/01/99
    *  IF sy-subrc EQ 0 .
    *    MOVE vbpa-kunnr TO mtab_contract-kunnr2.
    *    MODIFY             mtab_contract.
    *  ELSE.
    *    EXIT.
    *  ENDIF.
      CLEAR knvp.
      SELECT SINGLE kunn2            "territory
             INTO   knvp-kunn2
             FROM   knvp
             WHERE  kunnr  EQ mtab_contract-kunnr2
             AND    vkorg  EQ mtab_contract-vkorg
             AND    parvw  EQ 'Z6'.
    *         AND    kunn2  IN s_terr .
      IF sy-subrc EQ 0 .
        MOVE knvp-kunn2 TO mtab_contract-terr.
        MODIFY             mtab_contract.
      ELSE.
        EXIT.
      ENDIF.
      CLEAR kna1.     "get rep name and mail box
      SELECT SINGLE name2 FROM kna1 INTO (kna1-name2)
        WHERE kunnr = knvp-kunn2.
      IF sy-subrc EQ 0 .
        SPLIT kna1-name2 AT w-mm INTO mtab_contract-repname
        mtab_contract-repmailbox.
        mtab_contract-repmailbox+3 = mtab_contract-repmailbox.
        mtab_contract-repmailbox(3) = 'MM'.
        MODIFY             mtab_contract.
      ENDIF.
      CLEAR knvv.
      SELECT SINGLE vkgrp
             INTO   knvv-vkgrp
             FROM   knvv
             WHERE  kunnr EQ knvp-kunn2
             AND    vkorg EQ mtab_contract-vkorg.
    *         AND    vkgrp IN s_vkgrp.
      IF sy-subrc EQ 0 .
        MOVE knvv-vkgrp TO mtab_contract-vkgrp.
        MODIFY             mtab_contract.
      ELSE.
        EXIT.
      ENDIF.
      mtab_contract-med1-qty = '_______'.
      mtab_contract-med2-qty = '_______'.
      mtab_contract-med3-qty = '_______'.
      mtab_contract-med4-qty = '_______'.
      mtab_contract-med5-qty = '_______'.
      mtab_contract-med6-qty = '_______'.
      mtab_contract-med7-qty = '_______'.
      mtab_contract-med8-qty = '_______'.
      mtab_contract-med9-qty = '_______'.
      mtab_contract-med10-qty = '_______'.                           "JM
      mtab_contract-kit1-qty = '____'.
      mtab_contract-kit2-qty = '____'.
      mtab_contract-kit3-qty = '____'.
      mtab_contract-kit4-qty = '____'.
      mtab_contract-dis6 = 'OTHER  _____________________'.              "JM
      mtab_contract-dis7 = 'OTHER  _____________________'.              "JM
      mtab_contract-dis8 = 'OTHER  _____________________'.              "JM
      mtab_contract-dis9 = 'OTHER  _____________________'.              "JM
      mtab_contract-dis10 = 'OTHER  _____________________'.             "JM
    *  SELECT  * FROM VBAP WHERE VBELN = MTAB_CONTRACT-ORDNO.
    *     IF VBAP-MATNR = '7408CP'.
    *       MTAB_CONTRACT-MED1 = VBAP-MATNR.
    *     ELSEIF VBAP-MATNR = '0211CP'.
    *       MTAB_CONTRACT-MED2 = VBAP-MATNR.
    *     ELSEIF VBAP-MATNR =  '91865US'.
    *       MTAB_CONTRACT-MED3 = VBAP-MATNR.
    *     ELSEIF VBAP-MATNR =  '0578CP'.
    *       MTAB_CONTRACT-MED4 = VBAP-MATNR.
    *     ELSEIF VBAP-MATNR =  '0068CP'.
    *       MTAB_CONTRACT-MED5 = VBAP-MATNR.
    *     ELSEIF VBAP-MATNR =  '0069CP'.
    *       MTAB_CONTRACT-MED6 = VBAP-MATNR.
    *     ELSEIF VBAP-MATNR =  '92055CP'.                          "JM
    *       MTAB_CONTRACT-MED7 = VBAP-MATNR.                       "JM
    *     ELSEIF VBAP-MATNR =  '90799CP'.                          "JM
    *       MTAB_CONTRACT-MED8 = VBAP-MATNR.                       "JM
    *     ELSEIF VBAP-MATNR = '41315'.
    *       MTAB_CONTRACT-KIT1 = VBAP-MATNR.
    *     ELSEIF VBAP-MATNR = '41316'.
    *       MTAB_CONTRACT-KIT2 = VBAP-MATNR.
    *     ELSEIF VBAP-MATNR = '41317'.
    *       MTAB_CONTRACT-KIT3 = VBAP-MATNR.
    *     ELSEIF VBAP-MATNR = '91869US'.
    *       MTAB_CONTRACT-KIT4 = VBAP-MATNR.
    *     ELSE.
    *       SELECT SINGLE MAKTX INTO MAKT-MAKTX
    *                           FROM MAKT WHERE MATNR = VBAP-MATNR.
    *     ENDIF.
    *     MODIFY MTAB_CONTRACT.
    *   ENDSELECT.
      MODIFY mtab_contract.
    *    IF.
    **        mtab_contract-terr IN s_terr AND
    **       mtab_contract-kunnr2 IN s_ship AND
    **       mtab_contract-vkgrp IN s_vkgrp.
    **      PERFORM get_address.
    *    ELSE.
    *      DELETE mtab_contract INDEX sy-tabix.
    *    ENDIF.
      ENDLOOP.
      SORT mtab_contract BY terr.
    *  PERFORM set_print_option.
    *  Print defaults should be immed and delete after print...
      itcpo-tdimmed  = ' '.
      itcpo-tddelete = 'X'.
      itcpo-tdnewid  = 'X'.
      itcpo-tdcopies = 1.
      itcpo-tdnoprev = 'X'.
      itcpo-tdgetotf = 'X'.
      itcpo-tddest  = 'LOCL'.
      CALL FUNCTION 'GET_PRINT_PARAMETERS'
        EXPORTING
          destination            = 'LOCL'
          no_dialog              = 'X'
        IMPORTING
          out_archive_parameters = w_arc_params
          out_parameters         = w_pri_params.
    *exit if cancel chosen*
      IF sy-subrc NE 0.
        EXIT.
      ENDIF.
      sadr-regio = 'CA'.
      sadr-pstlz = '92620'.
      LOOP AT mtab_contract.
    *    PERFORM check-for-values.
    IF mtab_contract-ordno = space.
        mtab_contract-ordno = '___________'.
      ENDIF.
      IF mtab_contract-terr = space.
        mtab_contract-terr = '______'.
      ENDIF.
      IF mtab_contract-repname = space.
        mtab_contract-repname = '___________________________________'.
      ENDIF.
      IF mtab_contract-repmailbox = space.
        mtab_contract-repmailbox = '__________'.
      ENDIF.
      IF mtab_contract-kunnr = space.
        mtab_contract-kunnr = '__________'.
      ENDIF.
      IF mtab_contract-name1 = space.
        mtab_contract-name1 = '___________________________________'.
      ENDIF.
      IF mtab_contract-stras = space.
        mtab_contract-stras = '___________________________________'.
      ENDIF.
      IF mtab_contract-pstlz = space.
        mtab_contract-pstlz = '__________'.
      ENDIF.
      IF mtab_contract-ort01 = space.
        mtab_contract-ort01 = '___________________________________'.
      ENDIF.
      IF mtab_contract-regio = space.
        mtab_contract-regio = '___'.
      ENDIF.
      IF mtab_contract-kunnr2 = space.
        mtab_contract-kunnr2 = '__________'.
      ENDIF.
      IF mtab_contract-name2 = space.
        mtab_contract-name2 = '___________________________________'.
      ENDIF.
      IF mtab_contract-stras2 = space.
        mtab_contract-stras2 = '___________________________________'.
      ENDIF.
      IF mtab_contract-pstlz2 = space.
        mtab_contract-pstlz2 = '__________'.
      ENDIF.
      IF mtab_contract-ort012 = space.
        mtab_contract-ort012 = '___________________________________'.
      ENDIF.
      IF mtab_contract-regio2 = space.
        mtab_contract-regio2 = '___'.
      ENDIF.
    *    PERFORM open_form.
      CALL FUNCTION 'OPEN_FORM'
        EXPORTING
          dialog   = ' '
          form     = 'ZREV_CCK_AGREMT'
          language = sy-langu
          OPTIONS  = itcpo
        EXCEPTIONS
          canceled = 1
          device   = 2
          form     = 3
          OPTIONS  = 4
          unclosed = 5
          OTHERS   = 6.
      IF sy-subrc <> 0.
        MESSAGE e000(zz) WITH 'Open Form Error. ' sy-subrc.
      ENDIF.
        z_element = 'MAIN'.
    *    PERFORM write_form.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element   = z_element
        EXCEPTIONS
          element   = 1
          function  = 2
          type      = 3
          unopened  = 4
          unstarted = 5
          window    = 6
          OTHERS    = 7.
    *    PERFORM close_form.
    CALL FUNCTION 'CLOSE_FORM'
        IMPORTING
          RESULT   = w_res
        TABLES
          otfdata  = i_otf
        EXCEPTIONS
          unopened = 1
          OTHERS   = 2.
      IF sy-subrc <> 0.
        MESSAGE e000(zz) WITH 'Close Form Error. ' sy-subrc.
      ENDIF.
    *&---Convert OTF data to PDF data.
      call function 'CONVERT_OTF'
       exporting
         format                      = 'PDF'
       importing
         bin_filesize                = binfilesize
        tables
          otf                         = i_otf
          lines                       = pdftab[].
    data : name LIKE  RLGRAP-FILENAME.
      CONCATENATE 'C:Temp' mtab_contract-ordno '.pdf' INTO v_name.
    *CALL FUNCTION 'DOWNLOAD'
    * EXPORTING
    *      bin_filesize = v_size
    *      filename     = name
    *      filetype     = 'BIN'
    *  TABLES
    *    data_tab                      = pdftab[].
        CALL FUNCTION 'GUI_DOWNLOAD'
          EXPORTING
    *       BIN_FILESIZE                    =
            filename                        = v_name
           FILETYPE                        = 'BIN'
          tables
            data_tab                        = pdftab[].
    * Downloading the PDF File
    *  CALL METHOD lcl_cls->gui_download
    *    EXPORTING
    *      bin_filesize = v_size
    *      filename     = v_name
    *      filetype     = c_bin
    *    CHANGING
    *      data_tab     = pdftab[].
      CALL METHOD cl_gui_cfw=>flush.
    **Send PDF as Email.
    *  wa_obj_txt-line = 'CCK Contract Agreement'.
      APPEND wa_obj_txt TO t_obj_txt.
      CLEAR wa_obj_txt.
      wa_obj_txt-line = 'Please find attatched PDF document for Contract'.
      APPEND wa_obj_txt TO t_obj_txt.
      CLEAR wa_obj_txt.
      DESCRIBE TABLE t_obj_txt LINES tab_lines.
    **Prepare document data
      wa_document_data-obj_name = 'CCK Contract Agreement'.
      wa_document_data-obj_descr = 'CCK Contract Agreement'.
      wa_document_data-obj_langu = sy-langu.
      wa_document_data-proc_type = 'R'.
      wa_document_data-proc_name = 'CCK'.
      wa_document_data-priority  = c_x.
      wa_document_data-obj_prio  = c_x.
    **Receiving list
      wa_rec_list-receiver = sy-uname.
      wa_rec_list-rec_type = 'B'.
      wa_rec_list-com_type = 'INT'.
      wa_rec_list-notif_del = c_x.
      APPEND wa_rec_list TO t_rec_list.
      CLEAR wa_rec_list.
      wa_rec_list-receiver = '[email protected]'."p_email.
      reciever = wa_rec_list-receiver.
      wa_rec_list-rec_type = 'U'.
      wa_rec_list-com_type = 'INT'.
      wa_rec_list-notif_del = c_x.
      APPEND wa_rec_list TO t_rec_list.
      CLEAR wa_rec_list.
    *Object packet
      CALL FUNCTION 'SX_TABLE_LINE_WIDTH_CHANGE'
        EXPORTING
          line_width_src                    = 134
          line_width_dst                    = 255
         TABLES
           content_in                        = pdftab[]
           content_out                       = t_obj_bin
        EXCEPTIONS
          err_line_width_src_too_long       = 1
          err_line_width_dst_too_long       = 2
          err_conv_failed                   = 3
          OTHERS                            = 4
      IF sy-subrc <> 0.
      ENDIF.
      DESCRIBE TABLE t_obj_bin LINES v_lines.
      CLEAR wa_obj_pack-transf_bin .
      wa_obj_pack-head_start = 1.
      wa_obj_pack-head_num = 0.
      wa_obj_pack-body_start = 1.
      wa_obj_pack-body_num = tab_lines.
      wa_obj_pack-doc_type = 'RAW'.
      wa_obj_pack-doc_size = tab_lines * 255.
      APPEND wa_obj_pack TO t_obj_pack.
      CLEAR wa_obj_pack.
      wa_obj_pack-transf_bin = 'X'.
      wa_obj_pack-head_start = 1.
      wa_obj_pack-head_num = 0.
      wa_obj_pack-body_start = 1.
      wa_obj_pack-body_num = v_lines.
      wa_obj_pack-doc_type = 'PDF'.
      wa_obj_pack-obj_name = 'ATTATCHMENT'.
      wa_obj_pack-obj_descr = mtab_contract-ordno.
      wa_obj_pack-doc_size = binfilesize.
      APPEND wa_obj_pack TO t_obj_pack .
      CLEAR wa_obj_pack.
    **Object header
      wa_obj_header-line = 'PDF'.
      APPEND wa_obj_header TO t_obj_header.
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          document_data              = wa_document_data
          put_in_outbox              = c_x
          commit_work                = c_x
        IMPORTING
          sent_to_all                = flag_sent_to_all
          new_object_id              = obj_id
        TABLES
          packing_list               = t_obj_pack
          object_header              = t_obj_header
          contents_bin               = t_obj_bin
          contents_txt               = t_obj_txt
          receivers                  = t_rec_list
        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.
      else.
      return = 'true'.
      ENDIF.
    ENDFUNCTION.
           <b> Flow Editor</b>
    <flow>
         <state name="Start">
              <module name="<b>ZV_FUNC_CCK_EMAIL_PDF</b>" type="RFC" stateful="1">
                   <inputmapping source="Contract" target="CONTRACT"/>
                   <inputmapping source="email" target="EMAIL"/>
              </module>
              <module name="ZV_FUNC_CCK_VALIDATE_SHIPTO" type="RFC" stateful="1">
                   <inputmapping source="SHIP_TO" target="KUNNR"/>
                   <inputmapping source="USERNAME" target="USER"/>
                   <outputmapping source="CITY" target="CITY"/>
                   <outputmapping source="NAME" target="NAME"/>
                   <outputmapping source="POSTAL" target="POSTAL"/>
                   <outputmapping source="REGION" target="REGION"/>
                   <outputmapping source="RETURN" target="RETURN"/>
                   <outputmapping source="SD_CITY" target="SD_CITY"/>
                   <outputmapping source="SD_NAME" target="SD_NAME"/>
                   <outputmapping source="SD_POSTAL" target="SD_POSTAL"/>
                   <outputmapping source="SD_REGION" target="SD_REGION"/>
                   <outputmapping source="SD_STREET" target="SD_STREET"/>
                   <outputmapping source="SOLDTO" target="SOLDTO"/>
                   <outputmapping source="STREET" target="STREET"/>
              </module>
         </state>
         <event name="onLoad" next_state="Start"/>
         <event name="Check2" next_template="ZV_CCO_CONFIRMED_ORDER"/>
    </flow>

  • Need an example program for function module

    Hi ,
    I am new to ABAP. Can you please give a simple example program to extract the data from a table using Function module.
    Thanks for your help in advace.
    Regards,
    Vishnu

    hi vishnu,
    See the following Sample Program;
    REPORT demo_mod_tech_fb_read_spfli.
    PARAMETERS carrier TYPE s_carr_id.
    DATA: jtab TYPE spfli_tab,
          wa   LIKE LINE OF jtab.
    CALL FUNCTION 'READ_SPFLI_INTO_TABLE'
         EXPORTING
              id        = carrier
         IMPORTING
              itab      = jtab
         EXCEPTIONS
              not_found = 1
              OTHERS    = 2.
    CASE sy-subrc.
      WHEN 1.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno.
      WHEN 2.
        MESSAGE e888(sabapdocu) with 'Error in  function module'.
    ENDCASE.
    LOOP AT jtab INTO wa.
      WRITE: /  wa-carrid, wa-connid, wa-cityfrom, wa-cityto.
    ENDLOOP.
    Also you can find example programs for all in tcode ABAPDOCU in your SAP system itself, explore ABAPDOCU to find more sample programs....
    Regards
    Karthik D

  • Suggest Program for Module Pool Programming

    Dear All,
    Please suggest me the best example i can do in Module Pool.
    i want to make best use of Module pool.
    thanks
    RP

    u can create a ztable.
    update that z-table with module pool program.
    Create a table control and enter the data in that, update it through screens.
    Regards,
    Sujatha.

  • Submit function pool program

    hi all,
    i am using submit statement in Z program and calling standard program of SM37, but problem is that it is going for dump and saying that we cant use submit for function-pool.
    can anyone please tell me that how can i submit? can i call this by using call transaction? actually i have to pass selection screen parameters also from my Z program and have to skip standard selection screen.
    plz help.
    regards.

    saurabh srivastava,
    There are few things regarding your query, which I need to clarify
    <li>Submit statements can be used to call Report programs (Type 1 means executable). So program for SM37 transaction is SAPLBTCH which means you can not use SUBMIT statement. SAPLBTCH is module pool program. You can not use Selection-screen statement for module pool program.
    <li>Call transaction can be used to call either report programs or module programs. Which means if transaction is assigned to them, we can use. As I said before program is module pool program. You can still use below statement.
    CALL TRANSACTION 'SM37' and SKIP FIRST SCREEN.
    <li>If you want to use AND SKIP FIRST SCREEN statement , need to follow the below conditions
    "1.For the initial dynpro, in the Screen Painter the own dynpro number must not be specified as the next screen number.
    "2.All mandatory input fields of the initial dynpro must be filled completely and with the correct values by the SPA/GPA parameters
    <li>Please press F1 help on * and SKIP FIRST SCREEN* statement to see how to use.
    Thanks
    Venkat.O

  • What is a function pool?

    What is a function pool? How is it related to function group?

    HI,
    The introductory statement FUNCTION-POOL declares a program in which you can define function modules. At runtime, it has the effect that u2013 during program loading u2013 a new program group with its own screens and its own shared data areas is created in the internal session of the calling program. For this reason, function groups must always begin with a FUNCTION-POOL statement. The statement FUNCTION-POOL is usually generated by the Function Builder. Other programs (executable programs, module pools, and subroutine pools) should not begin with a FUNCTION-POOLstatement, since they would then not share common data areas with the caller when loaded by an external subroutine call. However, in exceptional cases, you can force processing of your own screens for externally called subroutines if you introduce executable programs or module pools with FUNCTION-POOL. As in the REPORT and PROGRAMstatements, you can specify the message class for the program and the standard list formatting options of the program using FUNCTION-POOL.
    In simple Term,,,,
    The FUNCTION-POOL statement is equivalent to the REPORT statement and introduces a function group.
    A function group contains function modules introduced by the FUNCTION statement and called
    with the CALL FUNCTION statement.
    Hope this is useful for u...

  • Issue in submit program

    Hi all,
    The following is the issue in submit program:
    I am calling two programs /PBS/RIQMEL20  ( /pbs/iw59 ) and  /PBS/RIAUFK20 ( /pbs/iw39 ) using submit programs in my z program.
    I have created a layout /ZDEL56  for both programs. If I run submit program for /PBS/RIAUFK20 ( /pbs/iw39 ) I am getting the o/p in desired format ( As specified in the layout ).
    How ever for program /PBS/RIQMEL20  ( /pbs/iw59 ) submit program is giving an error saying that layout is not found.
    There is no difference b/w these two programs except that submitting program name is different.
    The txn /pbs/iw59 when executed in background is giving the desired result. But when I try using submit program it is failing.
    Can you please tell what mite be the problem?
    Following is the sample piece of code.
    submit /PBS/RIQMEL20
    with pbs_apar EQ '1'
    WITH VARIANT EQ '/ZDEL56'
    Pointers will be highly appreciated.
    Thanks,
    Shiva.

    Hi,
    In this case you need to use another internal table which is of type S_VBELN . Ex : it_vbeln.
    In that you have to append the record
    wa_vbeln-sign = 'I'
    wa_vbeln-option = 'EQ'
    wa_vbeln-low = w_inv.
    append wa_vbeln to it_vbeln.
    now use this
    submit B VIA SELECTION-SCREEN
    with P_DAYS = '4'
    with P_KALSM = 'ZATCIN'
    with S_VBELN = it_vbeln.
    Now the new record will be appended with the values which are passing,. SO u wil have two rows in the S_VBELN.
    Regards,
    Venkatesh.

  • Transport of ALE Interfaces for Function Module

    hi,
    i have a Z function module, Z business object type and z message type identifying ALE interface.
    i need to move all the objects from Dev R3 to QA R3. What are the steps involved?
    Thanks,
    Tirumal

    Hi
    While creating a Z function module it will ask you for a change request number. attach it to change request and migrate it to Production.
    In case your function group to which you assigned this function module is open then the CTS number will by default come in CTS number field if any exists for the function group. You can now migrate your CTS to production.
    Now after assinging function module to a CTS you can be sure that your program for function module and FM both will be migrated. For confirmation you can now check attribuutes section in your function module. it will list the SAP program associated with Func mod , function group to which function module is assigned , package and include programs which needs to be migrated. So you only need to attach a CTS and migrate your CTS.
    You can create a Change erquest (CTS) in SE01 or SE10 transactions.
    Regards,
    Amit.
    Please reward any help
    Message was edited by: amit bhadauria
    Message was edited by: amit bhadauria

  • Submit Function Pool

    Hi,
    I have a requirement, to call the standard transaction skiping the initial screen ( passing the selection screen values to initial screen ) thru program ( SE38 ).
    So if i applied for Call Transaction, there is no parameter ID for the input of strandard Tcode.
    So, how can i call the standard transaction skipping the initial screen with passing the values. If i use the SUBMIT statement it is giving the error "Function Pool cannot use in SUBMIT statement".
    Remember that, once i click back button on the second screen, it should come to selection screen of Z program only.
    Thanks & Regards,
    Balu

    Call transaction 'MD04' with bdc_data mode 'E'.

  • 'Save As Variant' for Module Pool Program - FM to be called?

    I have a dialog program, i want to activate the 'Save As variant' when i click on save on the selection screen of the transaction i created for the dialog program. What funtionality should be called or written for the PF-STATUS to implement the functionality.

    hi Dagny,
      You can't have variants for module pool. It is possible only for selection screen.
    You have following alternatives :-
    1. Create a report with same selection screen as you have now in module pool.
    And then make a call screen to your intial module pool.
    In this way you can all the advantage of variants as well as module pool.
    OR
    2. Create a transaction variant using transaction SHDO.
    Hope it is helpful.
    and do search the form , it is already answered before.
    regards
    venkat

  • New Function Pool Program Question?

    I am new to these processes.......If I copy a Function Pool Include to a new one, and create a new Function Group to link it to, thus I assume a new Function Pool SAPLZXXX program will will be automatically created, I am trying to determine how, or where config?, is done to link it (the new Function Pool/SAPLZXXX) to its process? 
                    Any input will help.....Thank-You.

    Hi,
    When you create a Function group under a Function pool, then inside of that Function group main program there will be some includes
    ·        LfgrpTOP. This contains the FUNCTION-POOL statement (equivalent for a function group of the REPORT or PROGRAMstatement) and global data declarations for the entire function group.
    ·        LfgrpUXX. This contains further INCLUDEstatements for the include programs LfgrpU01, LfgrpU02,... These includes contain the actual function modules.
    ·        The include programs LfgrpF01, LfgrpF02,... can contain the coding of subroutines that can be called with internal subroutine calls from all function modules of the group.
    Regards
    Sudheer

  • Online Documentation for Module Pool Programs

    Hi All,
    Is it possible to display online documentation for module pool programs?
    When the report program is excuted,we have an icon to display online documentation.Can we have the same for module pool ?
    Helpful answers wouuld be rewarded.
    Regards
    Prathima

    Hi Friend,
    Continuing with previous post here...
    Create a Push Button in application toolbar, check the function code in USER-COMMAND event.
    There u write code to call function module DSYS_SHOW_FOR_F1HELP..
    Pass DOKCLASS = RE
            DOKLANGU = sy-langu
            DOKNAME = 'Module pool name'
            SHORT_TEXT = 'X'.
    It will populate the documentation window.
    Regards
    Krishnendu

  • Program-function pool

    i have program rsrfcrfc it calls function pool SAPLCRFC
    where are they linked
    i want that cos i have created zrsrfcrfc
    and sapzcrfc
    but could find where i could link these both z objects

    Function-Pool is nothing but a abap program where you can define Function Modules...
    When you call a function module from a function group that has not already been loaded in an internal session, an additional program group is created and into which the function group to which the function module belongs is loaded. The additional program group, along with its data, exists for the rest of the time of the internal session.
    For this reason function groups must begin with a function pool statement.
    You can execute it normally as a report program.
    Regards,
    Pavan

Maybe you are looking for

  • Need help on sap query tool...

    hi, i created a user group using sq03. then using sq02, assigned the infoset miro_po (related to PO of MM module) to this user group. also assigned my user id to this group. then using sq01 i was able to create a query in which i cud select the desir

  • Windows computer says 'Format disk in drive E' when I plug in iPod. Will this erase everything?

    When I plug my iPod nano into my Windows laptop, it says 'Format disk in drive E'. Will this lose everything if I do this?

  • PDF Created in LifeCycle 7.0 does not save as a PDF. Can this happen?

    Hello, I've recently created a PDF document in Adobe LifeCycle Designer 7.0 to keep my office organized.  I chose to make a fillable document because doing this in Word would be quite a hassle. When the PDF is opened in Adobe Reader it only allows me

  • IPad VGA and Power

    Is there any kind of adapter that will let me power the iPad while using the VGA cable? Thought he battery is pretty decent in the iPad, my memory is not and I have on a few occasions walked into a presentation without it charged and could either use

  • How to get sequence overall result in LabView ?

    Hello, Would anyone can help with this tiny problem ? We have a batch (.bat) that launches a given list of TestStand sequences, which works as expected. However, we would like to monitor the result of each sequence and display it to the operator. Our