File download Function Module

HI Experts
What is the Function Module for download a file into presentation server and Application Server.
where do i get brief info about BAPI and BADI
Thanks in advance

Hi
For presentation server download, u can use GUI_DOWNLOAD
For application server download, u can use Open Dataset and Close Dataset commands
what is BAPI?
BAPI stands for Business API(Application Program Interface).
A BAPI is remotely enabled function module ie it can be invoked from remote programs like standalone JAVA programs, web interface etc..
You can make your function module remotely enabled in attributes of Function module but
A BAPI are standard SAP function modules provided by SAP for remote access. Also they are part of Businees Objest Repository(BOR).
BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects. You create business objects and those are then registered in your BOR (Business Object Repository) which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA. in this case u only specify the business object and its method from external system in BAPI there is no direct system call. while RFC are direct system call Some BAPIs provide basic functions and can be used for most SAP business object types. These BAPIs should be implemented the same for all business object types. Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs. Whenever possible, a standardized BAPI must be used in preference to an individual BAPI.
The following standardized BAPIs are provided:
Reading instances of SAP business objects
GetList ( ) With the BAPI GetList you can select a range of object key values, for example, company codes and material numbers.
The BAPI GetList() is a class method.
GetDetail() With the BAPI GetDetail() the details of an instance of a business object type are retrieved and returned to the calling program. The instance is identified via its key. The BAPI GetDetail() is an instance method. BAPIs that can create, change or delete instances of a business object type
The following BAPIs of the same object type have to be programmed so that they can be called several times within one transaction. For example, if, after sales order 1 has been created, a second sales order 2 is created in the same transaction, the second BAPI call must not affect the consistency of the sales order 2. After completing the transaction with a COMMIT WORK, both the orders are saved consistently in the database.
Create( ) and CreateFromData! ( )
The BAPIs Create() and CreateFromData() create an instance of an SAP business object type, for example, a purchase order. These BAPIs are class methods.
Change( )
The BAPI Change() changes an existing instance of an SAP business object type, for example, a purchase order. The BAPI Change () is an instance method.
Delete( ) and Undelete( ) The BAPI Delete() deletes an instance of an SAP business object type from the database or sets a deletion flag.
The BAPI Undelete() removes a deletion flag. These BAPIs are instance methods.
Cancel ( ) Unlike the BAPI Delete(), the BAPI Cancel() cancels an instance of a business object type. The instance to be cancelled remains in the database and an additional instance is created and this is the one that is actually canceled. The Cancel() BAPI is an instance method.
Add<subobject> ( ) and Remove<subobject> ( ) The BAPI Add<subobject> adds a subobject to an existing object inst! ance and the BAPI and Remove<subobject> removes a subobject from an object instance. These BAPIs are instance methods.
BAPI-step by step
http://www.sapgenie.com/abap/bapi/example.htm
list of all bapis
http://www.planetsap.com/LIST_ALL_BAPIs.htm
for BAPI's
http://www.sappoint.com/abap/bapiintro.pdf
http://www.sappoint.com/abap/bapiprg.pdf
http://www.sappoint.com/abap/bapiactx.pdf
http://www.sappoint.com/abap/bapilst.pdf
http://www.sappoint.com/abap/bapiexer.pdf
http://service.sap.com/ale
http://service.sap.com/bapi
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE8/BCFESDE8.pdf
http://www.planetsap.com/Bapi_main_page.htm
http://www.topxml.com/sap/sap_idoc_xml.asp
http://www.sapdevelopment.co.uk/
http://www.sapdevelopment.co.uk/java/jco/bapi_jco.pdf
Also refer to the following links..
www.sappoint.com/abap/bapiintro.pdf
www.sap-img.com/bapi.htm
www.sap-img.com/abap/bapi-conventions.htm
www.planetsap.com/Bapi_main_page.htm
www.sapgenie.com/abap/bapi/index.htm
Checkout !!
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
http://techrepublic.com.com/5100-6329-1051160.html#
http://www.sap-img.com/bapi.htm
http://www.sap-img.com/abap/bapi-conventions.htm
http://www.sappoint.com/abap/bapiintro.pdf
u can check the below the material also
Example Code
U need to give the step_nr, item_nr, cond_count and cond_type so the correct conditon will be updated. If no condition exists for the given parameters, a new condition will be created.
U can find these parameters for a particular condition type in table KONV.
*& Form saveTransactionJOCR
text
--> p1 text
<-- p2 text
FORM saveTransactionJOCR .
data: salesdocument like BAPIVBELN-VBELN,
order_header_inx like bapisdh1x,
order_header_in like bapisdh1,
return type standard table of bapiret2 with header line,
conditions_in type standard table of bapicond with header line,
conditions_inx type standard table of bapicondx with header line,
logic_switch like BAPISDLS,
step_nr like conditions_in-cond_st_no,
item_nr like conditions_in-itm_number,
cond_count like conditions_in-cond_count,
cond_type like conditions_in-cond_type.
salesdocument = wa_order_information-VBELN.
LOGIC_SWITCH-COND_HANDL = 'X'.
order_header_inx-updateflag = 'U'.
conditions
clear conditions_in[].
clear conditions_inx[].
clear: step_nr,
item_nr,
cond_count,
cond_type.
step_nr = '710'.
item_nr = '000000'.
cond_count = '01'.
cond_type = 'ZCP2'.
CONDITIONS_IN-ITM_NUMBER = item_nr.
conditions_in-cond_st_no = step_nr.
CONDITIONS_IN-COND_COUNT = cond_count.
CONDITIONS_IN-COND_TYPE = cond_type.
CONDITIONS_IN-COND_VALUE = 666.
CONDITIONS_IN-CURRENCY = 'EUR'.
append conditions_in.
CONDITIONS_INX-ITM_NUMBER = item_nr.
conditions_inx-cond_st_no = step_nr.
CONDITIONS_INX-COND_COUNT = cond_count.
CONDITIONS_INX-COND_TYPE = cond_type.
CONDITIONS_INX-UPDATEFLAG = 'U'.
CONDITIONS_INX-COND_VALUE = 'X'.
CONDITIONS_INX-CURRENCY = 'X'.
append conditions_inx.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
SALESDOCUMENT = salesdocument
ORDER_HEADER_IN = order_header_in
ORDER_HEADER_INX = order_header_inx
LOGIC_SWITCH = logic_switch
TABLES
RETURN = return
CONDITIONS_IN = conditions_in
CONDITIONS_INX = conditions_inx
if return-type ne 'E'.
commit work and wait.
endif.
ENDFORM. " saveTransactionJOCR
Bdc to Bapi
The steps to be followed are :
1. Find out the relevant BAPI (BAPI_SALESORDER_CHANGE for VA02).
[for VA01 use BAPI_SALESORDER_CREATEFROMDAT2]
2. Create a Z program and call the BAPi (same as a Funtion module call).
2. Now, if you see this BAPi, it has
-> Importing structures.
eg: SALESDOCUMENT: this will take the Sales order header data as input.
-> Tables parameters:
eg: ORDER_ITEM_IN: this will take the line item data as input.
Note :
Only specify fields that should be changed
Select these fields by entering an X in the checkboxes
Enter a U in the UPDATEFLAG field
Always specify key fields when changing the data, including in the checkboxes
The configuration is an exception here. If this needs to be changed, you need to complete it again fully.
Maintain quantities and dates in the schedule line data
Possible UPDATEFLAGS:
U = change
D = delete
I = add
Example
1. Delete the whole order
2. Delete order items
3. Change the order
4. Change the configuration
Notes
1. Minimum entry:
You must enter the order number in the SALESDOCUMENT structure.
You must always enter key fields for changes.
You must always specify the update indicator in the ORDER_HEADER_INX.
2. Commit control:
The BAPI does not run a database Commit, which means that the application must trigger the Commit so that the changes are read to the database. To do this, use the BAPI_TRANSACTION_COMMIT BAPI.
For further details... refer to the Function Module documentation for the BAPi.
Bapi to VB(Visual Basic)
Long back I had used the following flow structure to acheive the same.
Report -> SM59 RFC destination -> COM4ABAP -> VB.exe
my report uses the rfc destination to create a COM session with com4abap. com4abap calls the vb.exe and manages the flow of data between sap and vb exe.
You need to have com4abap.exe
If com4abap is installed you will find it in sapgui installatin directory , C:\Program Files\SAPpc\sapgui\RFCSDK\com4abap.
else refer OSS note 419822 for installation of com4abap
after making the settings in com4abap to point to the vb program and setting up rfc destination in sm59 to point to com4abap session , you can use the following function modules to call the vb code.
for setting up com4abap and rfc destination please refer to the documentation for com4abap.
Invoke NEW DCOM session
call function 'BEGIN_COM_SESSION'
exporting
service_dest = service_dest "(this will be a RFC destination created in SM59)
importing
worker_dest = worker_dest
exceptions
connect_to_dcom_service_failed = 1
connect_to_dcom_worker_failed = 2
others = 3.
call function 'create_com_instance' destination worker_dest
exporting
clsid = g_c_clsid
typelib = g_c_typelib
importing
instid = g_f_oid
exceptions
communication_failure = 1 message g_f_msg
system_failure = 2 message g_f_msg
invalid_instance_id = 3
others = 4.
call function 'com_invoke' destination worker_dest
exporting
%instid = g_f_oid
%method = 'UpdatePDF'
sntemp = g_v_const_filent
snsysid = sy-sysid
snflag = 'N'
tables
rssaptable = g_t_pdfdetail1
%return = g_t_pdfdetail1 "t_test
exceptions
communication_failure = 1 message g_f_msg
system_failure = 2 message g_f_msg
invalid_instance_id = 3
others = 4.
then close the com session , using
FM delete_com_instance
FM END_COM_SESSION
http://help.sap.com/saphelp_nw2004s/helpdata/en/7e/5e114a4a1611d1894c0000e829fbbd/frameset.htm
http://www.sapgenie.com/abap/bapi/example.htm
http://help.sap.com/saphelp_46c/helpdata/en/9b/417f07ee2211d1ad14080009b0fb56/frameset.htm
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
http://techrepublic.com.com/5100-6329-1051160.html#
http://www.sap-img.com/bapi.htm
http://www.sap-img.com/abap/bapi-conventions.htm
http://www.sappoint.com/abap/bapiintro.pdf
http://www.sapgenie.com/abap/bapi/example.htm
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE8/BCFESDE8.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
http://techrepublic.com.com/5100-6329-1051160.html#
http://www.sap-img.com/bapi.htm
http://www.sap-img.com/abap/bapi-conventions.htm
http://www.sappoint.com/abap/bapiintro.pdf
BADI
DEFINING THE BADI
1) execute Tcode SE18.
2) Specify a definition Name : ZBADI_SPFLI
3) Press create
4) Choose the attribute tab. Specify short desc for badi.. and specify the type :
multiple use.
5) Choose the interface tab
6) Specify interface name: ZIF_EX_BADI_SPFLI and save.
7) Dbl clk on interface name to start class builder . specify a method name (name,
level, desc).
Method level desc
Linese;ection instance methos some desc
8) place the cursor on the method name desc its parameters to define the interface.
Parameter type refe field desc
I_carrid import spfli-carrid some
I_connid import spefi-connid some
9) save , check and activate…adapter class proposed by system is
ZCL_IM_IM_LINESEL is genereated.
IMPLEMENTATION OF BADI DEFINITION
1) EXECUTE tcode se18.choose menuitem create from the implementation menubar.
2) Specify aname for implementation ZIM_LINESEL
3) Specify short desc.
4) Choose interface tab. System proposes a name fo the implementation class.
ZCL_IM_IMLINESEL which is already generarted.
5) Specify short desc for method
6) Dbl clk on method to insert code..(check the code in “AAA”).
7) Save , check and activate the code.
Some useful URL
http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
www.sapgenie.com/publications/saptips/022006%20-%20Zaidi%20BADI.pdf
http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
Now write a sample program to use this badi method..
Look for “BBB” sample program.
“AAA”
data : wa_flights type sflight,
it_flights type table of sflight.
format color col_heading.
write:/ 'Flight info of:', i_carrid, i_connid.
format color col_normal.
select * from sflight
into corresponding fields of table it_flights
where carrid = i_carrid
and connid = i_connid.
loop at it_flights into wa_flights.
write:/ wa_flights-fldate,
wa_flights-planetype,
wa_flights-price currency wa_flights-currency,
wa_flights-seatsmax,
wa_flights-seatsocc.
endloop.
“BBB”
*& Report ZBADI_TEST *
REPORT ZBADI_TEST .
tables: spfli.
data: wa_spfli type spfli,
it_spfli type table of spfli with key carrid connid.
*Initialise the object of the interface.
data: exit_ref type ref to ZCL_IM_IM_LINESEL,
exit_ref1 type ref to ZIF_EX_BADISPFLI1.
selection-screen begin of block b1.
select-options: s_carr for spfli-carrid.
selection-screen end of block b1.
start-of-selection.
select * from spfli into corresponding fields of table it_spfli
where carrid in s_carr.
end-of-selection.
loop at it_spfli into wa_spfli.
write:/ wa_spfli-carrid,
wa_spfli-connid,
wa_spfli-cityfrom,
wa_spfli-deptime,
wa_spfli-arrtime.
hide: wa_spfli-carrid, wa_spfli-connid.
endloop.
at line-selection.
check not wa_spfli-carrid is initial.
create object exit_ref.
exit_ref1 = exit_ref.
call method exit_ref1->lineselection
EXPORTING
i_carrid = wa_spfli-carrid
i_connid = wa_spfli-connid.
clear wa_spfli.
http://help.sap.com/saphelp_nw04/helpdata/en/eb/3e7cf7940e11d295df0000e82de14a/frameset.htm
and
http://help.sap.com/saphelp_nw04/helpdata/en/eb/3e7cf7940e11d295df0000e82de14a/frameset.htm
Badihttp://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
http://support.sas.com/rnd/papers/sugi30/SAP.ppt
http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
http://members.aol.com/_ht_a/skarkada/sap/
http://www.ct-software.com/reportpool_frame.htm
http://www.saphelp.com/SAP_Technical.htm
http://www.kabai.com/abaps/q.htm
http://www.guidancetech.com/people/holland/sap/abap/
http://www.planetsap.com/download_abap_programs.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
/people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
/people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
http://esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
http://esnips.com/doc/365d4c4d-9fcb-4189-85fd-866b7bf25257/customer-exits--badi.zip
http://esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
http://help.sap.com//saphelp_470/helpdata/EN/eb/3e7cee940e11d295df0000e82de14a/frameset.htm
Thanks,.
Shakir

Similar Messages

  • How to replace obsolete download function module in ECC6.0?

    Hi Experts,
    How to replace obsolete download function module in ECC6.0?
    Thanks,
    Adi.

    Hi,
    DOWNLOAD is obsolete FM in ECC 6. To get the same functionality , we need to use
    CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG  method (It provides the File selection feature)
    and
    GUI_DOWNLOAD function module.(It downloads the internal table from program to presentation server)
    Please see the example below:
    Example:
    *CALL FUNCTION 'DOWNLOAD'
              EXPORTING
                   FILENAME            = p_filename
                   FILETYPE            = ‘DAT’
              TABLES
                   DATA_TAB            = T_DOWNL
              EXCEPTIONS
                   INVALID_FILESIZE    = 1
                   INVALID_TABLE_WIDTH = 2
                   INVALID_TYPE        = 3
                   NO_BATCH            = 4
                   UNKNOWN_ERROR       = 5
                   OTHERS              = 6.
    *End of deletion CH01-
    Replacement Method for above code:
    DATA: l_filename    TYPE string,
           l_filen       TYPE string,
           l_path        TYPE string,
           l_fullpath    TYPE string,
           l_usr_act     TYPE I.
    l_filename = P_filename.
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
      EXPORTING
        DEFAULT_FILE_NAME    = l_filename
      CHANGING
        FILENAME             = l_filen
        PATH                 = l_path
        FULLPATH             = l_fullpath
        USER_ACTION          = l_usr_act
      EXCEPTIONS
        CNTL_ERROR           = 1
        ERROR_NO_GUI         = 2
        NOT_SUPPORTED_BY_GUI = 3
        others               = 4.
    IF sy-subrc = 0
          AND l_usr_act <>
          CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL.
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        FILENAME                        = l_fullpath
       FILETYPE                        = 'DAT'
      TABLES
        DATA_TAB                        = T_DOWNL
    EXCEPTIONS
       FILE_WRITE_ERROR                = 1
       NO_BATCH                        = 2
       GUI_REFUSE_FILETRANSFER         = 3
       INVALID_TYPE                    = 4
       NO_AUTHORITY                    = 5
       UNKNOWN_ERROR                   = 6
       HEADER_NOT_ALLOWED              = 7
       SEPARATOR_NOT_ALLOWED           = 8
       FILESIZE_NOT_ALLOWED            = 9
       HEADER_TOO_LONG                 = 10
       DP_ERROR_CREATE                 = 11
       DP_ERROR_SEND                   = 12
       DP_ERROR_WRITE                  = 13
       UNKNOWN_DP_ERROR                = 14
       ACCESS_DENIED                   = 15
       DP_OUT_OF_MEMORY                = 16
       DISK_FULL                       = 17
       DP_TIMEOUT                      = 18
       FILE_NOT_FOUND                  = 19
       DATAPROVIDER_EXCEPTION          = 20
       CONTROL_FLUSH_ERROR             = 21
       OTHERS                          = 22.

  • Download function module

    Hi all,
    My requirement is to replace download function module with cl_gui_frontend_services=>file_save_dialog.
    When i give the window title it is not getting reflected in the save dialog box.how am i to get it ?
    thanks in advance.

    class cl_gui_frontend_services definition load.
    <b>data : l_title type string value 'FILE SAVE',</b>
           l_fname type string,
           l_path type string,
           l_fpath type string,
           l_enc type abap_bool value 'X',
           l_ini type string value 'C:\',
           l_usr type i ,
           l_dname type string . " value 'C:\abc.xls'.
    data :begin of idata_tab occurs 10,
          a1 type c value 'A',
          b1 type c value 'B',
          c1 type c value 'C',
          end of idata_tab.
    move p_fname to l_dname.
    call method cl_gui_frontend_services=>file_save_dialog
       exporting
         <b>window_title = l_title</b>
         default_file_name =  l_dname
         with_encoding   = l_enc
        INITIAL_DIRECTORY = L_INI
       changing
          filename = l_fname
          path     = l_path
          fullpath = l_fpath
          user_action = l_usr
       exceptions
          cntl_error = 1
          error_no_gui = 2
          not_supported_by_gui = 3 .

  • Download function module is obsolute

    How to handle importing parameters of Download Function module in unicode conversion.
    If i am converting my SAP from Non unicode to unicode environment how should i handle the importing parameters od download Function module in Cl_gui_frontend_services=> gui_download because there is only one importing paramter in that , where as in download function module i have 3 importing parameters

    Hi,
    Please see the below code .
    Function module u2018DOWNLOADu2019
          CALL FUNCTION 'DOWNLOAD'
            EXPORTING
              filename = p_file
              filetype = 'WK1'
            TABLES
              data_tab = i_table.
    would be replaced with:
    data: gd_file type string.
    DATA: ld_filename TYPE string,
          ld_path TYPE string,
          ld_fullpath TYPE string,
          ld_result TYPE i.
    types: t_uctable like line of i_table.
    data:  it_uctable type standard table of t_uctable.
      gd_file = p_file.
      shift gd_file RIGHT DELETING TRAILING '\'.
      shift gd_file RIGHT DELETING TRAILING '/'.
      shift gd_file left DELETING LEADING space.
      CALL METHOD cl_gui_frontend_services=>file_save_dialog
        EXPORTING
          DEFAULT_EXTENSION = 'WK1'
          default_file_name = gd_file
          INITIAL_DIRECTORY = gd_file
        CHANGING
          filename          = ld_filename
          path              = ld_path
          fullpath          = ld_fullpath
          user_action       = ld_result.
      check ld_result eq 0.
      gd_file = ld_fullpath.
      gd_file = p_file.
      it_uctable[] = i_table[].
      CALL METHOD cl_gui_frontend_services=>gui_download
      EXPORTING
        filename = gd_file
        filetype = 'ASC' " DAT,WK1
        Append   = ' '   "if mode = A then this would be X
      CHANGING
        data_tab = it_uctable
      EXCEPTIONS
        OTHERS   = 1.

  • DOWNLOAD function module not working in Portal

    Hello,
    We are in 4.6C. I have a piece of code that downloads an internal table to the presentation server using function module DOWNLOAD. This works fine in SAPGui. The function module DOWNLOAD does not work in the EP6 portal environment (the part where a popup is presented to the user to select the directory/file name to save the file in). Instead a screen is shown which says "This screen exists for technical reasons....".
    I have been looking for options and have tried the GUI_DOWNLOAD method which does not work in the portal either.
    Anyone face this issue? Please advice possible resolutions.
    Thanks!

    Correct, but the following thread got me started:
    Adobe Acrobat Reader and MIME-DOWNLOAD
    Rob

  • Application server File renaming function module creation - sample code

    I want to rename a file from application server using function module.
    Can somebody tell me is there is any such sap provided function module
    is there?If not please tell me what should be abap routine to create such
    a function module.
    Thanks in advance....

    You need to create a logical file name using FILE transaction. Then create a logical path and assign the physical path (actual path on app. server) to the logical path. While defining the physical filne name you have the option of selecting from the list of 'reserved word' available. For e.g. <DATE>, <TIME> etc.
    Steps are:
    1) Execute transaction 'FILE'.
    2) Create a logical file path.
    3) Assign Syntax Grp (Operating Systems) to above logical file path. You need to create the syntax group to identify the physical path in the application server. This step actually assigns the physical path to the logical path.
    4) Create a logical file.
    5) Assign the physical file name to the logical file. You have lots of system reserved word to choose from to suffix your file name with date and time etc.
    The physical file name is used by the function module FILE_GET_NAME at runtime to compose a complete platform-specific file name.
    For more information, see [renaming a file on the application server;.
    Regards.

  • Unicode Error in DOWNLOAD function module

    Hi ABAPpers,
    I am getting the unicode error in using
    CALL FUNCTION 'DOWNLOAD'
           EXPORTING
             bin_filesize = v_bytecount
             filename     = v_download_filename
             filetype     = 'WK1'
           IMPORTING
             act_filename = v_download_filename
           TABLES
             data_tab     = i_download.
    If i try to use GUI_DOWNLOAD, it doesn't have importing parameter act_filename.
    What alternate function module should i use to rectify this unicode error?
    Regards,
    Rahul

    Hi,
    The answer is similar to the one for your previous post. You need to use both CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG and GUI_DOWNLOAD
    DATA: PRC_WINDOW_TITLE      TYPE STRING,
          PRC_DEFAULT_FILE_NAME TYPE STRING,
          PRC_INITIAL_DIRECTORY TYPE STRING,
          PRC_FILE_NAME         TYPE STRING,
          PRC_PATH              TYPE STRING,
          PRC_FULL_PATH         TYPE STRING,
          PRC_USER_ACTION       TYPE I.
    PRC_INITIAL_DIRECTORY = FILENAME.
    PRC_DEFAULT_FILE_NAME = FILENAME.
    PRC_WINDOW_TITLE      = 'Debitoren-Saldenliste'.
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
      EXPORTING
        WINDOW_TITLE         = PRC_WINDOW_TITLE
        DEFAULT_FILE_NAME    = PRC_DEFAULT_FILE_NAME
        INITIAL_DIRECTORY    = PRC_INITIAL_DIRECTORY
      CHANGING
        FILENAME             = PRC_FILE_NAME
        PATH                 = PRC_PATH
        FULLPATH             = PRC_FULL_PATH
        USER_ACTION          = PRC_USER_ACTION
      EXCEPTIONS
        CNTL_ERROR           = 1
        ERROR_NO_GUI         = 2
        NOT_SUPPORTED_BY_GUI = 3
        OTHERS               = 4
    IF SY-SUBRC = 0 AND PRC_USER_ACTION NE
    CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
         FILENAME                        = PRC_FILE_NAME
         FILETYPE                        = 'ASC'
         WRITE_FIELD_SEPARATOR           = '#'
        TABLES
          DATA_TAB                        = TAB_EXCEL
       EXCEPTIONS
         FILE_WRITE_ERROR                = 1
         NO_BATCH                        = 2
         GUI_REFUSE_FILETRANSFER         = 3
         INVALID_TYPE                    = 4
         NO_AUTHORITY                    = 5
         UNKNOWN_ERROR                   = 6
         HEADER_NOT_ALLOWED              = 7
         SEPARATOR_NOT_ALLOWED           = 8
         FILESIZE_NOT_ALLOWED            = 9
         HEADER_TOO_LONG                 = 10
         DP_ERROR_CREATE                 = 11
         DP_ERROR_SEND                   = 12
         DP_ERROR_WRITE                  = 13
         UNKNOWN_DP_ERROR                = 14
         ACCESS_DENIED                   = 15
         DP_OUT_OF_MEMORY                = 16
         DISK_FULL                       = 17
         DP_TIMEOUT                      = 18
         FILE_NOT_FOUND                  = 19
         DATAPROVIDER_EXCEPTION          = 20
         CONTROL_FLUSH_ERROR             = 21
         OTHERS                          = 22
    ENDIF.

  • How to create Business partner from uploaded file by Function module?

    Hi Experts,
    I have uploaded Business partner data from a file to server now from individual records I have to create Business partner and have to update the records in the tables. Means from on record i have to create one business partner in sap system.
    I have uploaded the records in the system and stored in a internal table.Now my task is to create business partner and have to update tables.
    I need a function module which create BP by each records uploaded and update the respective tables of BP and exports business partner ID.
    Please respond soon Its a requirement form the client.
    Prem.

    HI,
       You can use the bapi 'BAPI_BUPA_CREATE_FROM_DATA' to create a business partner .
    call function 'BAPI_BUPA_CREATE_FROM_DATA'
              exporting
                businesspartnerextern              = g_bpartner-partn
                partnercategory                    = partnercategory
                partnergroup                       = partnegroup
                centraldata                        = centraldata
                centraldataperson                  = centraldataperson
                centraldataorganization            = centraldataorganization
    *       CENTRALDATAGROUP                   =
                addressdata                        = addressdata
    *       DUPLICATE_MESSAGE_TYPE             =
    *         IMPORTING
    *            BUSINESSPARTNER                    = G_BPARTNER-BUSINESSPARTNER
             tables
                telefondata                        = telefondata
                faxdata                            = faxdata
                e_maildata                         = e_maildata
                return                             = return
    *       ADDRESSDUPLICATES                  =
                addressnotes                       = addressnotes.

  • ESS / MSS - download function module doens't work

    Hi all,
    We are working with SAP 4.6c, and using function GUI_DOWNLOAD to download data to xls file. When we access the application through ESS / MSS, we don't know why, but it doesn't take into consideration parameter WRITE_FIELD_SEPARATOR = "X". The result is, it'll download the data into the file, but when we open it, the entire record is contained in just one cell. Running the same program using SAP GUI, it works perfectly.
    Any idea or suggestion?
    Thanks in advance.
    TAG: ESS, MSS, GUI_DOWNLOAD, WS_DOWNLOAD, EMPLOYEE SELF SERVICE, MANAGER SELF SERVICE.

    Hi Cassio,
    Is the data in internal table is tab separated or not?
    If not then make the data of internal tabel as tab separated before downloading.
    Do like this:
    DATA:  c_tab  TYPE c VALUE cl_abap_char_utilities=>horizontal_tab.
    Suppose you have a comma as field separator then to make it as tab seprated use thsi syntex.
    REPLACE ALL OCCURANCES OF SPACE IN ITAB WITH C_TAB.
    Or  Loop the internal table and append the data of 1st internal table into another int. table using c_tab as separaptor.
    Then use GUI_DOWNLOAD. this time it will download the records properly.
    Ashvender
    Message was edited by:
            Ashvender Kumar

  • How to read the name of a PDF file? - function module

    Hi,
    I have <b>some individual pdf documents in my desktop</b>.I need to <b>bulk-upload it to the content server and document related information to the SAP-DB</b>.
    Need your guidance.
    Regards,
    John.

    try this code it will convert file to PDF file
    REPORT  ZWARUN_CONVERSION_PDF                        .
    ***********Tables***************
    TABLES:VBRK.
    ***********Data Declaration***************
    DATA: LV_NUMBYTES TYPE I,
          LV_SPOOLNO TYPE TSP01-RQIDENT.
    DATA:C_LAYOUT  LIKE PRI_PARAMS-PAART VALUE 'X_65_132', "Layout
          C_X       TYPE C VALUE 'X'.
    DATA: NUMBYTES TYPE I,
           CANCEL.
    ***************Internal table of Pdf************
    DATA: IT_PDF LIKE TLINE OCCURS 10 WITH HEADER LINE.
    DATA:BEGIN OF IT_VBRK OCCURS 2,
         FKART LIKE VBRK-FKART,
         FKTYP LIKE VBRK-FKTYP,
         VBTYP LIKE VBRK-VBTYP,
         END OF IT_VBRK.
    SELECTION-SCREEN BEGIN OF BLOCK BLK WITH FRAME.
    SELECT-OPTIONS: S_BUKRS FOR VBRK-BUKRS,
                    S_GJAHR FOR VBRK-GJAHR.
    SELECTION-SCREEN END OF BLOCK BLK .
    PARAMETERS:
    spoolno like tsp01-rqident,
      DOWNLOAD AS CHECKBOX DEFAULT 'X',
      P_FILE LIKE RLGRAP-FILENAME DEFAULT 'C:\warun1.pdf'.
    START-OF-SELECTION.
    SELECT FKART
              FKTYP
              VBTYP
           INTO  TABLE IT_VBRK
           FROM VBRK
           WHERE  BUKRS IN S_BUKRS
              AND GJAHR IN S_GJAHR.
    END-OF-SELECTION.
      DATA: LK_PARAMS TYPE PRI_PARAMS,
            LV_VALID.
    if not p_mailid is initial.
    All the parameters passed are constants, so exceptions
    doesn't get raised
        CALL FUNCTION 'GET_PRINT_PARAMETERS'
          EXPORTING
            IMMEDIATELY    = ' '
            LAYOUT         = C_LAYOUT                           "'X_65_132'
            NO_DIALOG      = C_X
          IMPORTING
            OUT_PARAMETERS = LK_PARAMS
            VALID          = LV_VALID.
        IF LV_VALID <> SPACE .
          NEW-PAGE PRINT ON PARAMETERS LK_PARAMS NO DIALOG.
    *--To display the final report
          PERFORM PRINT_REPORT.
          NEW-PAGE PRINT OFF.
    *---To convert the download to PDF
          PERFORM CONV_TO_PDF_DOWNLOAD.
          PERFORM DOWNLOAD.
        ENDIF.
    endif.
    *--To display the final report
      PERFORM PRINT_REPORT.
    *&      Form  print_report
    FORM PRINT_REPORT .
    *write:/ 'I will do it' color 4.
    write:/ 'Yes' color 4.
    write:/ 'we will do it' color 4.
    write:/ 'lets talk abt changing life style' color 4.
    write:/'By warun'.
    LOOP AT IT_VBRK.
    WRITE:/ IT_VBRK-FKART,IT_VBRK-FKTYP,IT_VBRK-VBTYP.
    ENDLOOP.
    ENDFORM.                    " print_report
    *&      Form  conv_to_pdf_download
    FORM CONV_TO_PDF_DOWNLOAD .
    CLEAR IT_VBRK.
    WAIT UP TO 2 SECONDS.
    LV_SPOOLNO = SY-SPONO.
    CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
       EXPORTING
         SRC_SPOOLID                    =  LV_SPOOLNO
        NO_DIALOG                      = ''
       DST_DEVICE                     =
       PDF_DESTINATION                =
      IMPORTING
        PDF_BYTECOUNT                  = LV_NUMBYTES
       PDF_SPOOLID                    = pdfspoolid
       LIST_PAGECOUNT                 =
       BTC_JOBNAME                    = jobname
       BTC_JOBCOUNT                   = jobcount
      TABLES
        PDF                            = IT_PDF.
    ENDFORM.                    " conv_to_pdf_download
    *&      Form  download
    FORM DOWNLOAD .
    download PDF file ***********
    CHECK DOWNLOAD = 'X'.
    CALL FUNCTION 'DOWNLOAD'
         EXPORTING
              BIN_FILESIZE = LV_NUMBYTES
              FILENAME     = P_FILE
              FILETYPE     = 'BIN'
         IMPORTING
              ACT_FILENAME = P_FILE
              FILESIZE     = LV_NUMBYTES
              CANCEL       = CANCEL
         TABLES
              DATA_TAB     = IT_PDF.
    IF CANCEL = SPACE.
      WRITE: / LV_NUMBYTES, P_FILE.
    ENDIF.
    ENDFORM.                    " download

  • File download function when an action triggers

    Hi,
    I am having XSTRING.
    When user click on popup action button, user has to get file browse functionallity.
    after choosing the file path XSTRING has to convert into PDF format and store in the path.
    My problem is how to get file browse functionallity without using UI element.
    I tried F4_SEARCHFILE. But this is giving error like this is for GUI.
    Please let meknow if any way is there.
    Regards,
    sarath

    Hi,
    You can use the static class cl_wd_runtime_services=>attach_file_to_response to download the file in WDA. It will produce a download box just as you get when you download something from the browser.
    Refer to the below link to find out how to use the class method -
    http://www.divulgesap.com/blog.php?p=NTc=
    Cheers,
    Ravi

  • Function module upload and download

    Hello All,
    while using Upload and download function modules, how to avoid popup for providing file path, as am already passing it from reading from the selections screen. while running again i dont want to get the popup asking file path.
    thx in advance,
    sippy.

    Hi,
    You can try with
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD
        EXPORTING
          FILENAME        = I_DIR
          READ_BY_LINE    = 'X'     " FILETYPE = 'ASC'
        CHANGING
          DATA_TAB        = IT_TEXTO
        EXCEPTIONS
          FILE_OPEN_ERROR = 1
          FILE_READ_ERROR = 2
          BAD_DATA_FORMAT = 8
          OTHERS          = 19.
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
      EXPORTING
       BIN_FILESIZE              =
        FILENAME                  = I_DIR2
       FILETYPE                  = 'ASC'
       APPEND                    = SPACE
       WRITE_FIELD_SEPARATOR     = SPACE
       HEADER                    = '00'
       TRUNC_TRAILING_BLANKS     = SPACE
      CHANGING
        DATA_TAB                  = IT_TEXTO.
    Best Regards
    Ana

  • Java WebDynpro's and IE security settings for file download

    We have a EP 7.0 SP13 environment on which we have deployed a number of own developed java webdynpro's. In some of these webdynpro's we provide the file download functionality. The portal and webdynpro's are used by both internal personnel and external customers.
    On the other hand the default Internet security settings for Internet Explorer, disable "Automatic prompting for file downloads".
    When a user, with these default security settings active, tries to use our webdynpro's file download functionality, the screen seems to refreshes but no file download starts. When (s)he retries, the session runs for some minutes and gives following error message:
    "com.sap.tc.webdynpro.services.session.LockException: Thread SAPEngine_Application_Thread[impl:3]_20 failed to acquire exclusive lock on client session ClientSession".
    This behavior is explained in SAPNote 1234847. Webdynpro provides a single-thread module, meaning a user session is blocked for the during of the request. And because the previous file download isn't yet completed the new try can't start.
    Issue now, although the users IE settings allow file downloads and don't block pop up's, he can't download the file and even isn't made aware of the cause of the failure.
    How can we avoid this issue, without having to communicate the
    application requires specific browser settings?

    Welcome to the Apple Support Communities
    See > http://support.apple.com/kb/HT5290
    You can install the program using different ways:
    1. Right-click the application installer and choose Open.
    2. Go to System Preferences > Security and Privacy and select Anywhere in Allow applications downloaded from

  • How can i get currency values from flatfile to function module

    Dear All,
               I have to take  currency values from flat file and i have to assign those flat file value to function module .
    Eg: "Convert_to_local_currency".  I need technical code how to calculate those amount in work area and how to assign those amount value function module. 
              I need sample program for currency conversion from flat file to function module.  My requirement is based on flat file amount i have to calculate in work area and assign those work area to function module. 
    With Regards,
    Baskaran

    Hi Satish or Baskaran,
    First conform in which format the flat file is present, as abhi mentioned if it is there in notepad
    try to use F.M GUI_UPLOAD as shown below...
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
    FILENAME = 'C:\Desktop\rpf1.TXT'
    TABLES
    DATA_TAB =  ITAB.
    Now loop at ITAB Into Work_area and press the respect currency fields which you want and in the same way
    if the file is in EXCEL format use F.M ALSM_EXCEL_TO_INTERNAL_TABLE
    CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          filename = P_FNAME
          i_begin_col = 1
          i_begin_row = 1
        TABLES
          intern = ITAB
    LOOP AT ITAB INTO WA.
    CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
            EXPORTING
              foreign_currency = wa-waers
              local_currency   = wa-waers
               IMPORTING
              local_amount     = tvals-gross.
        ENDIF.
    endloop.
    And as mentioned loop the records into work area and process the currenct field which is present in the
    ITAB according to its field name. And make sure within the loop you call your function module.
    Regards
    VEnk@
    Edited by: Venkat Reddy on Dec 9, 2009 5:51 PM

  • Table Types in Function Module

    Hi,
    How to use a table to capture the data from a file, in function module instead of using TABLES parameter.
    This parameter should exist in IMPORT parameters of Function Module
    Many Thanks in Advance

    hi
    you can check out this thread
    Re: Entering data into a dynamically created table.
    hope it helps
    regards
    Aakash Banga

Maybe you are looking for

  • How can I delete my iTunes account on my macbook pro.  I want to give my computer to someone else

    Hi I have just bought a new mac book and have migrated everything accross.  I want to delete my itunes account so my husband can put his itunes on the computer.  I have deauthorised the computer but my music etc is still say there.  Any ideas? BW Sar

  • Send query results to a file using Toad

    Hello, I have a select statement that generates xml rows, and I need to send the results to a file. I am using TOAD VI. The rows generate ok but when I right click and choose the save as option all I end up with is an empty file. Is there a way I can

  • Mail Issue in Solaris 10

    Hi, I wanted to send mails from my solaris box. Below is the step i used # svcs | grep mail # svcadm enable smtp # svcs | grep mail online 14:24:58 svc:/network/smtp:sendmail # mail -s "HELLO" [email protected] Nothing happens after this... i tried w

  • New Portal Theme not showing up in list

    Hello fellow experts, I'm using EP 7 sp10...I've created a new portal theme, it shows up on the Portal Display page, under my Themes, however it does not show up in the drop down list (Content admin/Portal Content/portal users/standard portal users/e

  • What are some ways to do split screen?

    i am looking for some ways in fcp to divide up the screen to show two / four things going on at same time, but i want them all to be in the right proportion not all squashed or streched out, i currently do a picture in picture type thing by using sup