<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: File server-Help! in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/file-server-help/m-p/1954574#M392829</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Any Solutions ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 13 Feb 2007 07:21:22 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-02-13T07:21:22Z</dc:date>
    <item>
      <title>File server-Help!</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/file-server-help/m-p/1954573#M392828</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Everyone,&lt;/P&gt;&lt;P&gt;My program not working when sceduled to run in background, but works fine when run in foreground. Think i need to change some funcution modules as the ones i used are, think, referencing for foreground processing. Can anyone point to some function modules which does the job for me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am picking up the files from file server.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT  zco11n
        NO STANDARD PAGE HEADING
        LINE-SIZE 255.

INCLUDE zdeclerations.          " Data Declarations part


*---------------Get actual filepath from logical filepath---------------------*

CALL FUNCTION 'FILE_GET_NAME'
  EXPORTING
*   CLIENT                        = SY-MANDT
    logical_filename              = 'ZBARCODE_APPLICATION'    "logical path
 IMPORTING
   file_name                     = pa_file                     "actual path
 EXCEPTIONS
   file_not_found                = 1
   OTHERS                        = 2
          .
IF sy-subrc &amp;lt;&amp;gt; 0.
  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.




*---------------Get all the required files from the directory-------------------*

CALL FUNCTION 'TMP_GUI_DIRECTORY_LIST_FILES'
  EXPORTING
    directory  = pa_file                         "Directory path
    filter     = '*.CSV'
  TABLES
    file_table = lt_file                        "Files in the direcory
    dir_table  = lt_dir
  EXCEPTIONS
    cntl_error = 1
    OTHERS     = 2.
IF sy-subrc &amp;lt;&amp;gt; 0.
  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.



*-------Get the directory and file name as single path &amp;amp; move to internal table----*
LOOP AT lt_file INTO lw_file.
  CONCATENATE pa_file  lw_file-pathname INTO lstring.
  MOVE lstring TO lw_filename-pathname.
  MOVE lw_file-pathname TO lw_filename-filename.
  APPEND  lw_filename TO lt_filename.
  CLEAR lw_filename.
  CLEAR lw_file.
ENDLOOP.



START-OF-SELECTION.
  LOOP AT lt_filename  INTO lw_filename.
    file_name = lw_filename-pathname.
*-------Read the contents of the file to an internal table--------------------------*
    CALL FUNCTION 'DX_FILE_READ'
      EXPORTING
        filename          = file_name
        pc                = 'X'
      TABLES
        data_tab          = lt_temp                            "File contents
      EXCEPTIONS
        no_file_on_server = 1
        no_data_on_server = 2
        gui_upload_failed = 3
        no_authority      = 4
        OTHERS            = 5.
    IF sy-subrc &amp;lt;&amp;gt; 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

    ELSE.
*-------------Split and move the contents as required for BDC---------------*
      LOOP AT lt_temp INTO lw_temp.
        SPLIT lw_temp AT ',' INTO lw_afrud-aufnr lw_afrud-lmnga lw_afrud-budat.
        APPEND lw_afrud TO lt_afrud.
      ENDLOOP.




************----------Start Of BDC-----------------------***************
      LOOP AT lt_afrud INTO lw_afrud.
        PERFORM bdc_dynpro      USING 'SAPLCORU_S' '0100'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'AFRUD-AUFNR'
                                       lw_afrud-aufnr.
        PERFORM bdc_field       USING 'AFRUD-LMNGA'
                                      '1'.
        PERFORM bdc_field       USING 'AFRUD-ISDZ'
                                      '00:00:00'.
        PERFORM bdc_field       USING 'AFRUD-IEDZ'
                                      '00:00:00'.
        PERFORM bdc_field       USING 'AFRUD-PEDZ'
                                      '00:00:00'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'AFRUD-BUDAT'.
        PERFORM bdc_field       USING 'AFRUD-BUDAT'
                                      lw_afrud-budat.
        PERFORM bdc_dynpro      USING 'SAPLCORU_S' '0100'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=BU'.

        CALL TRANSACTION 'CO11N' USING lt_bdcdata MODE 'N'
        UPDATE 'S' MESSAGES INTO lt_bdcmsgcoll.          "#EC CI_CALLTA
      ENDLOOP.
*******-----------End of BDC-------------------------------------*******
      CLEAR lw_afrud.
      REFRESH lt_afrud.

************************File Manipulations*********************
      lv_file_name = lw_filename-filename.                     "Assign the filename to a local variable
      CONCATENATE '\CAUVERYSAPBARCODESUCCESS'
                      lv_file_name INTO lstring_success.       "Place holder for BDC Success Files
      CONCATENATE '\CAUVERYSAPBARCODEERROR'
                      lv_file_name INTO lstring_error.         "Place holder for BDC Error Files
      file_name_source = file_name.                            "Source file path
      file_name_success_dest = lstring_success.                "Success file path
      file_name_error_dest = lstring_error.                    "Error file path


*For the files with no data in them, move them to desired(error) folder.
      if lt_bdcmsgcoll[] is initial.
        CALL METHOD cl_gui_frontend_services=&amp;gt;file_copy
          EXPORTING
            SOURCE               = file_name_source
            destination          = file_name_error_dest.

        endif.

**********************************************************************
      LOOP AT lt_bdcmsgcoll INTO lw_bdcmsgcoll.
        IF lw_bdcmsgcoll-msgtyp EQ 'S' AND
            lw_bdcmsgcoll-msgnr EQ '110'.
*----------Move the succes files to designated folder---------------*.
          CALL METHOD cl_gui_frontend_services=&amp;gt;file_copy
            EXPORTING
              SOURCE               = file_name_source
              DESTINATION          = file_name_success_dest
              overwrite            = 'X'
            EXCEPTIONS
              cntl_error           = 1
              error_no_gui         = 2
              wrong_parameter      = 3
              disk_full            = 4
              access_denied        = 5
              file_not_found       = 6
              destination_exists   = 7
              unknown_error        = 8
              path_not_found       = 9
              disk_write_protect   = 10
              drive_not_ready      = 11
              not_supported_by_gui = 12
              OTHERS               = 13.
          IF sy-subrc &amp;lt;&amp;gt; 0.

            MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                       WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
          ENDIF.
        ELSE.
*--------Move the error files to designated folder-----------------*.
          IF  lw_bdcmsgcoll-msgtyp EQ 'E' OR
              lt_bdcmsgcoll[] IS INITIAL.

            CALL METHOD cl_gui_frontend_services=&amp;gt;file_copy
              EXPORTING
                SOURCE               = file_name_source
                DESTINATION          = file_name_error_dest
                overwrite            = 'X'
              EXCEPTIONS
                cntl_error           = 1
                error_no_gui         = 2
                wrong_parameter      = 3
                disk_full            = 4
                access_denied        = 5
                file_not_found       = 6
                destination_exists   = 7
                unknown_error        = 8
                path_not_found       = 9
                disk_write_protect   = 10
                drive_not_ready      = 11
                not_supported_by_gui = 12
                OTHERS               = 13.
            IF sy-subrc &amp;lt;&amp;gt; 0.
              MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                         WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
            ENDIF.

          ENDIF.
        ENDIF.
      ENDLOOP.

*----------------Delete file from the directory---------------------------*
      CALL METHOD cl_gui_frontend_services=&amp;gt;file_delete
        EXPORTING
          filename             = file_name_source
        CHANGING
          rc                   = lv_rc
        EXCEPTIONS
          file_delete_failed   = 1
          cntl_error           = 2
          error_no_gui         = 3
          file_not_found       = 4
          access_denied        = 5
          unknown_error        = 6
          not_supported_by_gui = 7
          wrong_parameter      = 8
          OTHERS               = 9.
      IF sy-subrc &amp;lt;&amp;gt; 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                   WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.

    ENDIF.
    REFRESH lt_bdcmsgcoll.
    REFRESH lt_bdcdata.
  ENDLOOP.
**********************************************************************

**
*&amp;amp;--------------------------------------------------------------------*
*&amp;amp;      Form  bdc_dynpro
*&amp;amp;--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
*      --&amp;gt;PROGRAM    text
*      --&amp;gt;DYNPRO     text
*---------------------------------------------------------------------*
FORM bdc_dynpro USING program  dynpro.                      "#EC *
  CLEAR lw_bdcdata.
  lw_bdcdata-program  = program.
  lw_bdcdata-dynpro   = dynpro.
  lw_bdcdata-dynbegin = 'X'.
  APPEND lw_bdcdata TO lt_bdcdata.
ENDFORM.                    "BDC_DYNPRO

*&amp;amp;--------------------------------------------------------------------*
*&amp;amp;      Form  bdc_field
*&amp;amp;--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
*      --&amp;gt;FNAM       text
*      --&amp;gt;FVAL       text
*---------------------------------------------------------------------*
FORM bdc_field USING fnam fval.                             "#EC *
  IF fval &amp;lt;&amp;gt; space.
    CLEAR lw_bdcdata.
    lw_bdcdata-fnam = fnam.
    lw_bdcdata-fval = fval.
    APPEND lw_bdcdata TO lt_bdcdata.
  ENDIF.
ENDFORM.                    "bdc_field&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;  Include           ZDECLERATIONS
*&amp;amp;---------------------------------------------------------------------*

*-----------------------------Types decleration--------------------------*
TYPES: BEGIN OF tw_afrud,
        aufnr        TYPE  aufnr,
        lmnga(13)    TYPE  c,
        budat        TYPE buchdatum,
        END OF tw_afrud,
        tt_afrud     TYPE STANDARD TABLE OF tw_afrud.

TYPES: BEGIN OF tw_temp,
        rec(7000)    TYPE c,
        END OF tw_temp,
        tt_temp     TYPE STANDARD TABLE OF tw_temp.

TYPES: BEGIN OF tw_errorlog,
        aufnr        TYPE aufnr,
        message      TYPE string,
       END OF tw_errorlog,
       tt_errorlog   TYPE STANDARD TABLE OF tw_errorlog.

TYPES: BEGIN OF tw_file,
       pathname      TYPE sdok_filnm,
        END OF tw_file,
        tt_file      TYPE STANDARD TABLE OF tw_file.

TYPES: BEGIN OF tw_dir,
       pathname1     TYPE sdok_filnm,
        END OF tw_dir,
        tt_dir       TYPE STANDARD TABLE OF tw_dir.

TYPES: BEGIN OF tw_filename,
       filename      TYPE rlgrap-filename,
       pathname      TYPE localfile,
      END OF tw_filename,
      tt_filename    TYPE STANDARD TABLE OF tw_filename.

*-------------Variable decleration---------------------------------------*
DATA: pa_file                TYPE rlgrap-filename.
DATA: lstring                TYPE string,
      lstring_success        TYPE string,
      lstring_error          TYPE string,
      file_name              TYPE dxfile-filename,
      lv_rc                  TYPE i,
      file_name_source       TYPE string,
      file_name_error_dest   TYPE string,
      file_name_success_dest TYPE string,
      lv_file_name           TYPE rlgrap-filename.

*---------------Internal tables &amp;amp; Work area's ------------------------------*

DATA : lw_afrud      TYPE  tw_afrud,
       lt_afrud      TYPE  tt_afrud,
       lw_temp       TYPE  tw_temp,
       lt_temp       TYPE  tt_temp,
       lw_file       TYPE  tw_file,
       lt_file       TYPE  tt_file,
       lw_dir        TYPE  tw_dir,       "#EC *
       lt_dir        TYPE  tt_dir,
       lw_filename   TYPE tw_filename,
       lt_filename   TYPE tt_filename,
       lw_bdcdata    TYPE bdcdata,
       lt_bdcdata    TYPE STANDARD TABLE OF bdcdata,
       lw_bdcmsgcoll TYPE bdcmsgcoll,
       lt_bdcmsgcoll TYPE STANDARD TABLE OF bdcmsgcoll.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Feb 2007 06:49:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/file-server-help/m-p/1954573#M392828</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-02-13T06:49:43Z</dc:date>
    </item>
    <item>
      <title>Re: File server-Help!</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/file-server-help/m-p/1954574#M392829</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Any Solutions ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Feb 2007 07:21:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/file-server-help/m-p/1954574#M392829</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-02-13T07:21:22Z</dc:date>
    </item>
    <item>
      <title>Re: File server-Help!</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/file-server-help/m-p/1954575#M392830</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The methods of the class &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;cl_gui_frontend_services&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt; cannot be used in background since they refer to the presentation server. You have to upload the files to the application server to run the program in the background. You can use transaction CG3Z or the function module &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;ARCHIVFILE_CLIENT_TO_SERVER&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt; to upload the files.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Manoj&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Feb 2007 07:24:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/file-server-help/m-p/1954575#M392830</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-02-13T07:24:34Z</dc:date>
    </item>
  </channel>
</rss>

