Calling smartform in a background program

Hi Experts,
I want to call one smartform in a background program, i am very new to smartform .Can anybody help me to do this?
I want to suppress the dialog box appearing while directly executing the smartform?
Also please tell me how i can give the smartform data to spool?
Regards,
Ratheesh

Hi Ratheesh,
First you create Form . in print program you have to read the data from data bace table table "nast". and Based on the  NAST-OBJKY retrive your data.
DATA : RETURN_CODE TYPE SY-SUBRC,
       US_SCREEN TYPE C,
       P_ORDER LIKE NAST-OBJKY.
DATA: RETCODE   LIKE SY-SUBRC.         "Returncode
DATA: XSCREEN(1)  TYPE C.              "Output on printer or screen
DATA: REPEAT(1) TYPE C.
DATA : LT_TEXT LIKE TLINE-TDLINE.
  CLEAR RETCODE.
  XSCREEN = US_SCREEN.
  SELECT SINGLE *
                 FROM NAST INTO NAST WHERE OBJKY = NAST-OBJKY.  "P_VBELN.
  PERFORM GET_DATA.
  CASE RETCODE.
    WHEN 0.
      RETURN_CODE = 0.
    WHEN 3.
      RETURN_CODE = 3.
    WHEN OTHERS.
      RETURN_CODE = 1.
  ENDCASE.
FORM GET_DATA .
  P_ORDER = NAST-OBJKY.
  SELECT VBELN
         AUDAT
         WAERK
         KUNNR
         VDATU
         FROM VBAK
         INTO TABLE TB_VBAK
         WHERE VBELN = P_ORDER.
  IF NOT TB_VBAK[] IS INITIAL.
    SELECT VBELN
           POSNR
           MATNR
           KWMENG
           NETPR
           NETWR
           BRGEW
           GEWEI
           VOLUM
           VOLEH
           CHARG
           WERKS
           POSEX
           KDMAT
           FROM VBAP
           INTO TABLE TB_VBAP
           FOR ALL ENTRIES IN TB_VBAK
           WHERE VBELN = TB_VBAK-VBELN.
  ENDIF.
endform.
After complete this go through NACE transaction in that select required out put type and give you form name and Program name.
then go through the transaction in display mode and select the print preview. you will get your lay oput.
here You must give output type in proper.

Similar Messages

  • How do we call smartforms in abap program or web services

    how do we call smartforms in abap program or web services
    How many types of smartforms are there?
    points will be rewarded

    Hi
    See this sample program
    Using the fun module smartform is called from the program
    Calling SMARTFORMS from your ABAP program
    REPORT ZSMARTFORM.
    Calling SMARTFORMS from your ABAP program.
    Collecting all the table data in your program, and pass once to SMARTFORMS
    SMARTFORMS
    Declare your table type in :-
    Global Settings -> Form Interface
    Global Definintions -> Global Data
    Main Window -> Table -> DATA
    http://sapr3.tripod.com
    TABLES: MKPF.
    DATA: FM_NAME TYPE RS38L_FNAM.
    DATA: BEGIN OF INT_MKPF OCCURS 0.
    INCLUDE STRUCTURE MKPF.
    DATA: END OF INT_MKPF.
    SELECT-OPTIONS S_MBLNR FOR MKPF-MBLNR MEMORY ID 001.
    SELECT * FROM MKPF WHERE MBLNR IN S_MBLNR.
    MOVE-CORRESPONDING MKPF TO INT_MKPF.
    APPEND INT_MKPF.
    ENDSELECT.
    At the end of your program.
    Passing data to SMARTFORMS
    <b>call function 'SSF_FUNCTION_MODULE_NAME'
    exporting
    formname = 'ZSMARTFORM'</b>
    VARIANT = ' '
    DIRECT_CALL = ' '
    IMPORTING
    FM_NAME = FM_NAME
    EXCEPTIONS
    NO_FORM = 1
    NO_FUNCTION_MODULE = 2
    OTHERS = 3.
    if sy-subrc <> 0.
    WRITE: / 'ERROR 1'.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    call function <b>FM_NAME</b>
    EXPORTING
    ARCHIVE_INDEX =
    ARCHIVE_INDEX_TAB =
    ARCHIVE_PARAMETERS =
    CONTROL_PARAMETERS =
    MAIL_APPL_OBJ =
    MAIL_RECIPIENT =
    MAIL_SENDER =
    OUTPUT_OPTIONS =
    USER_SETTINGS = 'X'
    IMPORTING
    DOCUMENT_OUTPUT_INFO =
    JOB_OUTPUT_INFO =
    JOB_OUTPUT_OPTIONS =
    TABLES
    GS_MKPF = INT_MKPF
    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.
    <b>Reward points for useful Answers</b>
    Regards
    Anji

  • How to avoid Priner prompt while calling smartform

    Hi All,
    I am calling smartform FM from my program. I am passing following settings in Output-Options and Control-Parameters:
    wa_outputoptions-tddest = 'LP01'. "Printer name
    wa_outputoptions-tdnewid = 'X'. "New request
    wa_controlpara-device = 'PRINTER'. "Device
    wa_controlpara-no_dialog = 'X'. "No dialog
    Even after these settings I am getting prompt which asks printer name and other details.
    Please tell me how I can avoid the prompt which asks printer name and other settings such as new spool request and print immediately.
    Thanks in Advance.
    Regards,
    Vijay

    hi,
    try this....
    DATA :  control TYPE ssfctrlop.
    control-no_dialog = ''.
    control-preview   = ''.
    control-no_open   = 'X'.
    control-no_close  = 'X'.
    CALL FUNCTION 'SSF_OPEN'
    EXPORTING
      ARCHIVE_PARAMETERS       =
      USER_SETTINGS            = 'X'
      MAIL_SENDER              =
      MAIL_RECIPIENT           =
      MAIL_APPL_OBJ            =
      OUTPUT_OPTIONS           =
    control_parameters       =<b> control</b>
    IMPORTING
      JOB_OUTPUT_OPTIONS       =
    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.

  • How to avoid printer name prompt while calling Smartform

    Hi All,
    I am calling smartform FM from my program. I am passing following settings in Output-Options and Control-Parameters:
    wa_outputoptions-tddest = 'LP01'.  "Printer name
    wa_outputoptions-tdnewid = 'X'.     "New request
    wa_controlpara-device = 'PRINTER'.   "Device
    wa_controlpara-no_dialog = 'X'.          "No dialog
    Even after these settings I am getting prompt which asks printer name and other details.
    Please tell me how I can avoid the prompt which asks printer name and other settings such as new spool request and print immediately.
    Thanks in Advance.
    Regards,
    Vijay

    Hi Vijay,
    Try like this.
    CALL FUNCTION fm_name
    EXPORTING
      ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB          =
      ARCHIVE_PARAMETERS         =
    <b>   control_parameters         = wa_controlpara</b>
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT             =
      MAIL_SENDER                =
       <b>output_options             = wa_outputoptions
       user_settings              = space</b>
    IMPORTING
      DOCUMENT_OUTPUT_INFO       =
       job_output_info            = tab_otf_data
      JOB_OUTPUT_OPTIONS         =
      TABLES
        it_tab                     = itab[]
    EXCEPTIONS
       formatting_error           = 1
       internal_error             = 2
       send_error                 = 3
       user_canceled              = 4
       OTHERS                     = 5
    Regards,
    SP.

  • Calling two smartforms in one Abap program

    Hi ABAPers,
    Can anybody know how to call 2 smartforms in 1 abap program?actually i used the FM SSF_FUNCTION_MODULE_NAME...and two smart forms are called...but my main problem is...the first smartforms is called and the print dialog box appeared...once i click the button back ...the second smartforms is called and print dialog box appeared again..
    I want to correct this...i want this  to be happen once i click the print button...the two smart forms will be combined in a one printing...meaning the first page is the first smartforms and the next page will be the second smart forms...no matter how many pages will be the first smartforms...the second smartforms will concatenate or will append to the last page of the first smartforms..how can i do this?
    Please help...this is my sample code..kindly correct the error.
    Will reward points...
    suppressing the dialog box****************************
        outop-tddest = 'LP01'.
        cparam-no_dialog = 'X'.
        cparam-preview = space.
        cparam-getotf = 'X'.
    Call the First Smartforms *******************
       CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
          EXPORTING
            formname           = 'ZSF_CHEQUE'
          IMPORTING
            fm_name            = ly_formname
          EXCEPTIONS
            no_form            = 1
            no_function_module = 2
            OTHERS             = 3.
        CALL FUNCTION ly_formname
          EXPORTING
            prepared_by      = p_prepb
            approved_by      = p_apprb
          TABLES
            it_cheque        = it_final
          EXCEPTIONS
            formatting_error = 1
            internal_error   = 2
            send_error       = 3
            user_canceled    = 4
            OTHERS           = 5.
    Call the Second Smartforms *******************
          CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
          EXPORTING
            formname           = 'ZSF_TSHEET'
          IMPORTING
            fm_name            = ly_formname
          EXCEPTIONS
            no_form            = 1
            no_function_module = 2
            OTHERS             = 3.
        CALL FUNCTION ly_formname
          EXPORTING
            prepared_by      = p_prepb
            approved_by      = p_apprb
          TABLES
            it_cheque        = it_final
          EXCEPTIONS
            formatting_error = 1
            internal_error   = 2
            send_error       = 3
            user_canceled    = 4
            OTHERS           = 5.
    Thanks in advance
    aVaDuDz

    hi,
    i never used these function but i've found this link.
    [http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/62ae7fcd-0b01-0010-3e9d-a54f26944450]
    [http://help.sap.com/saphelp_nw2004s/helpdata/en/64/bf2f12ed1711d4b655006094192fe3/content.htm]
    [http://help.sap.com/saphelp_nw04/helpdata/en/64/bf2f12ed1711d4b655006094192fe3/frameset.htm]
    [SMartform printing;
    hope that is useful.
    bye
    Marco
    Edited by: nicolai marco on Jan 14, 2008 12:36 AM

  • Calling a Smartform through a driver program.

    Hi ALL,
    I had created a smart-form and executed it without any errors.
    Since its create a FM, which can be called by driver Program,when i called the smart-form FM from the driver program I get a Pop-up asking for the OUTPUT DEVICE. When we enter a device name its executed  properly and can see the print preview of the form.
    My concern is to avoid that pop up, by giving the device value in the program itself. To do so it provided a options though which i can send the device type.
    these are the values which i have passed.
    outop-TDTITLE = 'testing for title'.
    outop-xdfoutdev = 'LP01'. "output device type
       cparam-getotf = 'X'.
        cparam-no_dialog = 'X'.
       cparam-preview = ' '.
      CALL FUNCTION fm_name    "FM for smart-form.
        EXPORTING
      control_parameters = cparam
          output_options     = outop
    *      user_settings      = 'X'
    ***    IMPORTING
    **      job_output_info    = tab_otf_data
    *     EXCEPTIONS
    *       formatting_error   = 1
    *       internal_error     = 2
    *       send_error         = 3
    *       user_canceled      = 4
    *       OTHERS             = 5.
    Can you tell where am I going wrong, so that can avoid that window.
    Thanks,
    Lalitkumar.

    Hi  shivendran,
    I tried the mentioned code by mentioned by you. but still the issue exists that is the popup for output device.
    DATA:fm_name TYPE  rs38l_fnam.
    DATA: ls_control_pars TYPE  ssfctrlop,
               ls_output_opt   TYPE  ssfcompop.
      CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          formname           = 'z_smartform_test'
        IMPORTING
          fm_name            = fm_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.
        EXIT.
      ENDIF.
    ls_output_opt-tddest = 'LP01'.
    ls_output_opt-tdimmed = 'X'.
    ls_control_pars-no_dialog  = 'X' .
      CALL FUNCTION fm_name
        EXPORTING
         control_parameters = ls_control_pars
          output_options     = ls_output_opt
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        EXIT.
      ENDIF.
    this is code which i tried to call my amartform from driver program.
    I tried assigning the default output device by
    open a session:
    Clickon the system menu->user profile -> own data
    then goto the defaults tab. in the spool control section maintain output device (your printer name where you want to print)
    but still the problem exists.
    Please  help to resolve this issue.
    Thanks,
    Lalitkumar.

  • Background program is not working properly,when i am using job_open ,submit

    hai ,
    i am using job_open ,submit and job_close for scheduling one program background and use submit to another program ,all are working properly but it is working as a forground program not as abackground program. i want to work it as a background program.
    plz give a solution.

    Hi,
    Please find a sample program format for executing a submit program in background.
    DATA: number           TYPE tbtcjob-jobcount,
          name             TYPE tbtcjob-jobname VALUE 'JOB_TEST',
          print_parameters TYPE pri_params.
    CALL FUNCTION 'JOB_OPEN'
      EXPORTING
        jobname          = name
      IMPORTING
        jobcount         = number
      EXCEPTIONS
        cant_create_job  = 1
        invalid_job_data = 2
        jobname_missing  = 3
        OTHERS           = 4.
    IF sy-subrc = 0.
      SUBMIT submitable TO SAP-SPOOL
                        SPOOL PARAMETERS print_parameters
                        WITHOUT SPOOL DYNPRO
                        VIA JOB name NUMBER number
                        AND RETURN.
      IF sy-subrc = 0.
        CALL FUNCTION 'JOB_CLOSE'
          EXPORTING
            jobcount             = number
            jobname              = name
            strtimmed            = 'X'
          EXCEPTIONS
            cant_start_immediate = 1
            invalid_startdate    = 2
            jobname_missing      = 3
            job_close_failed     = 4
            job_nosteps          = 5
            job_notex            = 6
            lock_failed          = 7
            OTHERS               = 8.
        IF sy-subrc <> 0.
        ENDIF.
      ENDIF.
    ENDIF.
    Thanks & Regards,
    Harish

  • What is the use of CALL FUNCTION MODULE - AT BACKGROUND TASK?

    Hi experts,
    I found Call functional module in background task will make the FM run at the next commit work as some people said. So I have some questions:
    1 if we use COMMIT WORK commend, the pending FM will be called? If there are several FMs called at background task, what is the sequence of them? How many conditions will trigger the running of these FMs?
    2 Where can I find the log of this pending FMs? In SAP library, it says there are 2 tables. But I checked these tables and can only find the FM name and user of it. And I can not understand content of these tables. It seems one is for the main information of FM, and the other is for the data of the FM, maybe the parameters.
    3 If I call a FM in this way, Can I canncel it before the next commit work in some way?
    Finally, thanks for reading and help.

    HI,
    When the COMMIT WORK statement is executed, the function modules registered for the current SAP-LUW are started in the order in which they were registered. ROLLBACK WORK deletes all previous registrations for the current SAP-LUW.
    If the specified destination is not available when COMMIT WORK is executed, an executable program called RSARFCSE is started in background processing. By default, this tries to start the function modules registered for a SAP-LUW in their destination every 15 minutes and up to 30 times. These parameters can be changed in the transaction SM59. If the destination does not become available within the defined time, it is recorded in the database table ARFCSDATA as the entry "CPICERR". The entry in the database table ARFCSSTATE is deleted after a standard period of eight days

  • How to call smartform FM after using SSF_FUNCTION_MODULE_NAME?

    Hi Experts,
    How to call smartform FM after using SSF_FUNCTION_MODULE_NAME?
    I mean, in driver program i called SSF_FUNCTION_MODULE_NAME to get the related FM  for my smart form. after that How do I call it(smartform fm) . I tried to call by pressing PATTERN button in Report. but it is showing FM is not exist error.
    Call function SSF_FUNCTION_MODULE_NAME
    Export
    formname = 'zsmartform'
    import
    fm_name = function_name.
    function_name is stored the corresponding smartform fm. then How do i call it to process my smartform?
    thanks in advance.

    hi,
    Chk this sample.
    DATA: p_output_options TYPE ssfcompop, "occurs 0 with header line
    p_control_parameters TYPE ssfctrlop. "occurs 0 with header line
    p_output_options-TDCOPIES = 3. "number of copies.
    p_output_options-tddest = 'LP01'. "def
    p_control_parameters-no_dialog = 'X'. "no dilog box
    p_control_parameters-preview = 'X'. "no preview
    DATA : v_form_name TYPE rs38l_fnam.
    *---- Function to get the function module name of the    ----
    *---- specified Smart form.                              ----
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
    formname = 'GIVE YOUR SMART FORM NAME'   
    * VARIANT = ' '
    * DIRECT_CALL = ' '
    IMPORTING
    fm_name = v_form_name
    EXCEPTIONS
    no_form = 1
    no_function_module = 2
    OTHERS = 3 .
    *---- Function Module to call the Smart Form          ----
    *step 1 - go to ur smart form
    *step2 - take environment
    *step3-take function module name
    *copy that unique number.
    *step4 -come back to ur driver program.
    *step5 - place ur cursur here. take patter,.give that unique number.
    *at that time u will get the below code.
    *step6 - rename that unique number with 'v_form_name' in the code generated by pattern.
    CALL FUNCTION v_form_name
    EXPORTING
    * ARCHIVE_INDEX =
    * ARCHIVE_PARAMETERS =
    control_parameters = p_control_parameters
    * MAIL_APPL_OBJ =
    * MAIL_RECIPIENT =
    * MAIL_SENDER =
    output_options = p_output_options
    user_settings = ' '
    * ARCHIVE_INDEX_TAB =
    * IMPORTING
    * DOCUMENT_OUTPUT_INFO =
    * JOB_OUTPUT_INFO =
    * JOB_OUTPUT_OPTIONS =
    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.
    for any clarifiaction pls revert.
    regards,
    Reshma

  • How to call smartform in me54n

    Hai All,
              Iam developing a smartform for PR print with  ztcode,the user asked me that,he dont want seperate tcode,in me54n tcode itself he want
    print.I have tried in the enhancement spot but it is not firing.
    Regards,
    Siva jyothi.

    Hi ,
    The print button creates a spool number through which you can get ALV output of the ITEM details but cannot call smartform from that.
    PR is just an internal document.There is no other way to do it(As far as i know).
    You now have only two options to go for:
    1) Create a subscreen with a pushbutton , and then call the driver program to print the smartform.
    2) A Z transaction to print the PR , which you have already done.
    Let me know if you find any other way to do it.
    Br.
    Giri

  • How to call a transaction in background ?

    hi all,
    i want to call a transaction in background in a user exit which will run a BDC program.
    i am testing CALL FUNCTION 'ZNSTEST' IN BACKGROUND TASK.
    i tried to write to a database table it didn't work .
    can anyone help me on this.
    i want this BDC to executed once the standard transaction is completed so i have added a WAIT UP TO 10 Seconds code in the functional module
    Regards Nafran.

    Hi,
    Write a BDC program for updation of tables for u r user-exit.
    After that Schedule u r program in back gound job scheduling.
    Using  SM36 - Define Background job.
    Give the job name and Press job wizard button.
    It's asking about job name and job class -prioritty.
    press continue and give program name .
    Select radiobutton based on u r requirement.
    Then specify periodic job or only in holidays.
    Then u select hours and all.
    In SM37 give u r job name and and press execute.
    Reward if useful.
    Regards,
    Narasimha

  • Execute CALL TRANSACTION in the background....

    Hi,
    I want to use CALL TRANSACTION in a report program and execute this report in the background.
    There is not GUI_UPLOAD / GUI_DOWNLOAD used anywhere.
    Can someone suggest me what precaution I need to take in my code for CALL TRANSACTION?
    Is there any additional code for background processing?
    Thanks.

    hi,
    this is the sample code:
    Precations need to take :
    1. see that u r transfer tha data in correct field, on correct screen, and of correct format.
    2. capture the error logs in bdcmsgcoll - error logs have to be handle.
    3. ensure correct recording.
    in selection screen you can mention in which mode u want :
    A     Display all screens
    E     Display errors
    N     Background processing
    P     Background processing; debugging possible
    This is the sample code:
    & Report  ZKO01_BDC                                                       &
    & Object Id       :                                                       &
    & Object Name     : ZKO01_BDC                                             &
    & Program Name    : ZKO01_BDC                                             &
    & Transaction Code: ZKO01_BDC                                             &
    & Module Name     : FI / CO                                               &
    & Program Type    : BDC Program      Create Date     : 23.06.2008         &
    & SAP Release     : 6.0              Transport No    :                    &
    & Description     : BDC to upload internal order with indernal assignment &
    & Version         : 1.0.                                                  &
    & Changed on      :                                                       &
    report zko01_bdc
           no standard page heading line-size 255.
    types: begin of record,
            auart_001(004),
            ktext_002(040),
            bukrs_003(004),
            werks_004(004),      " ADDED NEW - RAHUL SHINDE
            scope_005(010),
            prctr_006(004),      " ADDED NEW - RAHUL SHINDE
            waers_007(005),
            astkz_008(001),
            plint_009(001),
          end of record.
    types: begin of ty_stats,
           mess(72) type c,
           auart_001(004),
           text(18) type c,
           end of ty_stats.
    data : it_record type table of record,
            wa_record like line of it_record.
    data: bdcdata type table of bdcdata,
          mestab type table of bdcmsgcoll.
    data : stats type table of ty_stats.
    data: opt type ctu_params.
    data: m(72) type c.
    data : fl_name type string.
    data :  wa_bdcdata like line of bdcdata,
            wa_mestab like line of mestab.
    data :  wa_stats like line of stats.
    data:   ctumode like ctu_params-dismode.
    data:   cupdate like ctu_params-updmode.
    data: file type  rlgrap-filename.
    data: xcel type table of alsmex_tabline with header line.
    data: mod1(1) type c.
    initialization.
    opt-dismode = 'A'.
    opt-updmode = 'S'.
    opt-nobinpt = 'X'.   "No batch input mode
                        Selection Screen
    selection-screen begin of block bk1 with frame.
    selection-screen skip 1.
    parameters p_file type localfile. " default 'D:\Common\PWC\Asset BDC\Book2.xls'.
    parameters p_mode like ctu_params-dismode obligatory.
    selection-screen skip 1.
    selection-screen end of block bk1.
    file = p_file.
    mod1 = p_mode.
    at selection-screen on value-request for p_file.
      call function 'KD_GET_FILENAME_ON_F4'
           exporting
                static    = 'X'
           changing
                file_name = p_file.
                        Selection Screen
    start-of-selection.
    file = p_file.
    ctumode = mod1.
    cupdate = 'L'.
      call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'
           exporting
                filename                = file
                i_begin_col             = '1'
                i_begin_row             = '1'
                i_end_col               = '100'
                i_end_row               = '5000'
           tables
                intern                  = xcel
           exceptions
                inconsistent_parameters = 1
                upload_ole              = 2
                others                  = 3.
    loop at xcel.
      case xcel-col.
        when '0001'.
            wa_record-auart_001 = xcel-value.      "ok
        when '0002'.
            wa_record-ktext_002 = xcel-value.      "ok
        when '0003'.
            wa_record-bukrs_003 = xcel-value.      "ok
        when '0004'.
            wa_record-werks_004 = xcel-value.      "ok
        when '0005'.
            wa_record-scope_005 = xcel-value.      "ok
       when '0005'.
           wa_record-KTEXT_005 = xcel-value.    "ok
        when '0006'.
            wa_record-prctr_006 = xcel-value.      "ok
        when '0007'.
            wa_record-waers_007 = xcel-value.      "ok
        when '0008'.
            wa_record-astkz_008 = xcel-value.      "ok
        when '0009'.
            wa_record-plint_009 = xcel-value.      "ok
      endcase.
      at end of row.
        append wa_record to it_record.
        clear wa_record.
      endat.
    endloop.
    loop at it_record into wa_record.
    perform bdc_dynpro      using 'SAPMKAUF' '0100'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'COAS-AUART'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'COAS-AUART'
                                  wa_record-auart_001.
    perform bdc_dynpro      using 'SAPMKAUF' '0600'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=BUT2'.
    perform bdc_field       using 'COAS-KTEXT'
                                  wa_record-ktext_002.
    perform bdc_field       using 'BDC_CURSOR'
                                  'COAS-SCOPE'.
    perform bdc_field       using 'COAS-BUKRS'
                                  wa_record-bukrs_003.
    perform bdc_field       using 'COAS-WERKS'
                                  wa_record-werks_004.
    perform bdc_field       using 'COAS-SCOPE'
                                  wa_record-scope_005.
    perform bdc_field       using 'COAS-PRCTR'
                                  wa_record-prctr_006.
    perform bdc_dynpro      using 'SAPMKAUF' '0600'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=SICH'.
    *perform bdc_field       using 'COAS-KTEXT'
                                 wa_record-KTEXT_005.
    perform bdc_field       using 'BDC_CURSOR'
                                  'COAS-PLINT'.
    perform bdc_field       using 'COAS-WAERS'
                                  wa_record-waers_007.
    perform bdc_field       using 'COAS-ASTKZ'
                                  wa_record-astkz_008.
    perform bdc_field       using 'COAS-PLINT'
                                  wa_record-plint_009.
    call transaction 'KO01' using bdcdata
                            options from opt
                            messages into mestab.
    *PERFORM loggs.
    clear wa_record.
    refresh bdcdata.
    endloop.
    end-of-selection.
    clear : wa_stats.
    if stats is initial.
        write :/ text-001.
    else.
      loop at stats into wa_stats.                         "displays runtime messages
        write:/ 'MESSAGE  :',wa_stats-auart_001.
        if wa_stats-auart_001 is not initial.
        write:/ wa_stats-auart_001,  wa_stats-text.
        endif.
        skip 1.
      endloop.
    endif.
    *&  FORMS BDC_DYNPRO
    form bdc_dynpro using program dynpro.
      clear wa_bdcdata.
      wa_bdcdata-program  = program.
      wa_bdcdata-dynpro   = dynpro.
      wa_bdcdata-dynbegin = 'X'.
      append wa_bdcdata to bdcdata..
    endform.
      FORM BDC_FIELD                                                 *
    form bdc_field using fnam fval.
        clear wa_bdcdata.
        wa_bdcdata-fnam = fnam.
        wa_bdcdata-fval = fval.
        append wa_bdcdata to bdcdata..
    endform.
    *&      Form  loggs
          text
    -->  p1        text
    <--  p2        text
    form loggs .
    loop at mestab into wa_mestab.
        if wa_mestab-msgtyp = 'E'.
          call function 'FORMAT_MESSAGE'
            exporting
              id        = wa_mestab-msgid
              lang      = 'E'
              no        = wa_mestab-msgnr
              v1        = wa_mestab-msgv1
              v2        = wa_mestab-msgv2
              v3        = wa_mestab-msgv3
              v4        = wa_mestab-msgv4
            importing
              msg       = m
            exceptions
              not_found = 1
              others    = 2.
          wa_stats-mess = m.
          wa_stats-text = text-001.            "'Not Created'.
          wa_stats-auart_001 = wa_record-auart_001.
          "wa_stats-sernr = wa_flat-sernr.
          append wa_stats to stats.
        elseif wa_mestab-msgtyp = 'S'.
          call function 'FORMAT_MESSAGE'
            exporting
              id        = wa_mestab-msgid
              lang      = 'E'
              no        = wa_mestab-msgnr
              v1        = wa_mestab-msgv1
              v2        = wa_mestab-msgv2
              v3        = wa_mestab-msgv3
              v4        = wa_mestab-msgv4
            importing
              msg       = m
            exceptions
              not_found = 1
              others    = 2.
          if wa_mestab-dyname = 'SAPMIEQ0'
                                    and wa_mestab-dynumb = '0101'
                                    and wa_mestab-msgspra = 'E'
                                    and wa_mestab-msgid = 'IS'
                                    and wa_mestab-msgnr = '144'.
            loop at stats into wa_stats where auart_001 = wa_record-auart_001.
                                          "and sernr = wa_flat-sernr.
                 delete stats.
            endloop.
                clear : wa_stats.
                wa_stats-mess = m.
                append wa_stats to stats.
          endif.
        endif.
        clear : wa_stats.
      endloop.
    endform.                    " loggs
    Edited by: Naseeruddin on Nov 26, 2008 8:57 AM

  • Error in Calling Smartforms-During FAX output

    Hi experts
    I am getting the following error while processing the FAX output type.....
    Can you please advice how to proceed on this..
    Error message
    Error in Calling Smartforms
    Processing log of the Output type
    Object 0130001210
    Output type: Delivery Note
    Processing log for program RVADDN01 routine ENTRY
    Error during reading T001G (Return code
    Cannot process message, no route from userID to fax number
    Advance thanks for your support
    regards
    Raja

    Hi experts
    I am getting the following error while processing the FAX output type.....
    Can you please advice how to proceed on this..
    Error message
    Error in Calling Smartforms
    Processing log of the Output type
    Object 0130001210
    Output type: Delivery Note
    Processing log for program RVADDN01 routine ENTRY
    Error during reading T001G (Return code
    Cannot process message, no route from userID to fax number
    Advance thanks for your support
    regards
    Raja

  • How to Call Smartform from Custom Transaction.

    Hi All,
    I have developed Module pool Program , in module pool program i have save button and Execute button when i press save button whatever the data is there in transaction, it will store in the tables and when i click Execute button, it will generate a smartform.
    so here my question is how to link with the smartform with Module Pool Program.
    plese help me on this
    Thanks in Advance.
    Prasad.

    in your Module pool program
    in PBO event you can do like this...
    either use
    CALL FUNCTION '/1BCDWB/SF00003434'.
    here /1BCDWB/SF00003434 is name of function module generated from smartform
    ==========================
    or if you want to get the function module name dynamically then use below function module to get the FM name for your Smart form name.
    SSF_FUNCTION_MODULE_NAME
    and then use that from export parameter..
    Hope it will solve your problem.
    Thanks & Regards
    ilesh 24x7

  • Background program

    Hi,
    I need to execute a Function module in background, can anyone suggest some ways with syntax for the same. One way is 'SUBMIT', need to find some other way as this way its giving me dump.
    Regards,
    Gautam

    Hi Goutam
    CALL FUNCTION (FM name ) IN BACKGROUND TASK.
    This will process the FM as a separate task in the background and the control will come back to the program.
    SUBMIT is for Reports only. You can SUBMIT a program inside the FM but you cannot SUBMIt the FM.
    I think that is why you get the dump.
    e.g
    CALL FUNCTION 'TRAIN415_RFC_CALLTRANSACTION'
         IN BACKGROUND TASK
         DESTINATION DEST
         EXPORTING
              TAMODE    = MODE
         TABLES
              CUSTTAB   = CUSTITAB.
    The following are the additions that are possbible and is got from SAP Help
    1. ... AS SEPARATE UNIT
    2. ... DESTINATION dest
    3. ... EXPORTING  p1 = f1    ... pn = fn
    4. ... TABLES     p1 = itab1 ... pn = itabn
    Hope this helps.

Maybe you are looking for