<?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: Extract data to an Interface in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/extract-data-to-an-interface/m-p/3729961#M897748</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi check this interface this will download to the pc and application server...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  REPORT&lt;/P&gt;&lt;P&gt;        NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;        line-size 120&lt;/P&gt;&lt;P&gt;        MESSAGE-ID zhris.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              T A B L E S&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:  pa0105,   &lt;/P&gt;&lt;P&gt;         pa0002.   &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              T Y P E            D E C L A R A T I O N S&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Types for the final table&lt;/P&gt;&lt;P&gt;types : begin of ty_final ,&lt;/P&gt;&lt;P&gt;         pernr like pa0000-pernr,           "Personnel number&lt;/P&gt;&lt;P&gt;         nachn like pa0002-nachn,           "Last Name&lt;/P&gt;&lt;P&gt;         vorna like pa0002-vorna,           "First Name&lt;/P&gt;&lt;P&gt;         usrid like pa0105-usrid,           "Communication ID/Number&lt;/P&gt;&lt;P&gt;         usrid_long like pa0105-usrid_long,"Communication: Long &lt;/P&gt;&lt;P&gt;       end of ty_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I N T E R N A L       T A B L E S&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----Internal table to hold the data of emp like userid, email&lt;/P&gt;&lt;P&gt;data: it_pa0105 like p0105 occurs 0 with header line ,&lt;/P&gt;&lt;P&gt;*-----Internal table  to check for active employee&lt;/P&gt;&lt;P&gt;      it_pa0000 like pa0000 occurs 0 with header line,&lt;/P&gt;&lt;P&gt;*-----Internal table to hold the data of emp like first, last name&lt;/P&gt;&lt;P&gt;      it_pa0002 like p0002 occurs 0 with header line,&lt;/P&gt;&lt;P&gt;*-----Internal table for final data&lt;/P&gt;&lt;P&gt;      it_final type standard table of ty_final with header line.&lt;/P&gt;&lt;P&gt;*-----Internal table for Error Records&lt;/P&gt;&lt;P&gt;DATA:  BEGIN OF T_ERROR OCCURS 0,&lt;/P&gt;&lt;P&gt;        PERNR LIKE PERNR-PERNR,&lt;/P&gt;&lt;P&gt;        MESSAGE(60) TYPE C,&lt;/P&gt;&lt;P&gt;       END OF T_ERROR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    VARIABLE DECLARATIONS                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : v_pernr like pa0000-pernr,&lt;/P&gt;&lt;P&gt;       v_lines type i.&lt;/P&gt;&lt;P&gt;DATA: W_MSG(150)  TYPE C.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            S E L E C T I O N  -    S C R E E N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK FILE WITH FRAME TITLE TEXT-FIL.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_PC  RADIOBUTTON GROUP RAD USER-COMMAND USR.         "PC&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 3(5) TEXT-SC1.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_UNIX  RADIOBUTTON GROUP RAD DEFAULT 'X'.         "UNIX&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 11(5) TEXT-SC2.&lt;/P&gt;&lt;P&gt;parameters:p_file like rlgrap-filename.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK FILE.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         INITIALIZATION                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;data: v_date like pa0002-begda.&lt;/P&gt;&lt;P&gt;write: sy-datum  to v_date .&lt;/P&gt;&lt;P&gt;concatenate '/VOLSAP/Corpedia_' v_date '.txt' into p_file.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                AT SELECTION-SCREEN                                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;F4 help for the flat file path&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM F4_FILEPATH.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               S T A R T - O F - S E L E C T I O N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*---Get the  active employyes&lt;/P&gt;&lt;P&gt;  select *   from pa0000&lt;/P&gt;&lt;P&gt;             into table it_pa0000 up to 100 rows&lt;/P&gt;&lt;P&gt;             where endda &amp;gt;= sy-datum&lt;/P&gt;&lt;P&gt;             and   begda &amp;lt;= sy-datum&lt;/P&gt;&lt;P&gt;             and   stat2 = '3'.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    sort it_pa0000 by pernr endda descending.&lt;/P&gt;&lt;P&gt;    delete adjacent duplicates from it_pa0000 comparing pernr.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  loop at it_pa0000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear : it_pa0002 ,it_pa0105,&lt;/P&gt;&lt;P&gt;            it_pa0002[] , it_pa0105[] ,&lt;/P&gt;&lt;P&gt;            v_pernr.&lt;/P&gt;&lt;P&gt;    v_pernr = it_pa0000-pernr.&lt;/P&gt;&lt;P&gt;*---Get first name, last name of the active employee&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'HR_READ_INFOTYPE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        PERNR     = v_pernr&lt;/P&gt;&lt;P&gt;        INFTY     = '0002'&lt;/P&gt;&lt;P&gt;        BEGDA     = sy-datum&lt;/P&gt;&lt;P&gt;        ENDDA     = sy-datum&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        INFTY_TAB = it_pa0002.&lt;/P&gt;&lt;P&gt;*---Get SAP ID , email of the active employee&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'HR_READ_INFOTYPE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        PERNR     = v_pernr&lt;/P&gt;&lt;P&gt;        INFTY     = '0105'&lt;/P&gt;&lt;P&gt;        BEGDA     = sy-datum&lt;/P&gt;&lt;P&gt;        ENDDA     = sy-datum&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        INFTY_TAB = it_pa0105.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    sort it_pa0002 by pernr begda descending.&lt;/P&gt;&lt;P&gt;    delete adjacent duplicates from it_pa0002 comparing pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    sort it_pa0105 by pernr begda descending.&lt;/P&gt;&lt;P&gt;    delete adjacent duplicates from it_pa0105 comparing pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if not it_pa0002[] is initial.&lt;/P&gt;&lt;P&gt;      read table it_pa0002 index 1.&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        it_final-pernr = it_pa0002-pernr.&lt;/P&gt;&lt;P&gt;        it_final-nachn = it_pa0002-nachn.&lt;/P&gt;&lt;P&gt;        it_final-vorna = it_pa0002-vorna.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        T_ERROR-PERNR   = it_pa0002-PERNR.&lt;/P&gt;&lt;P&gt;        CONCATENATE TEXT-EMI '0002'&lt;/P&gt;&lt;P&gt;        INTO T_ERROR-MESSAGE SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;        APPEND T_ERROR.&lt;/P&gt;&lt;P&gt;        CLEAR T_ERROR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if not it_pa0105[] is initial.&lt;/P&gt;&lt;P&gt;      read table it_pa0105 index 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        if it_pa0105-subty = '0001'.&lt;/P&gt;&lt;P&gt;          it_final-usrid = it_pa0105-usrid.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if it_pa0105-subty = '0010'.&lt;/P&gt;&lt;P&gt;          it_final-usrid_long = it_pa0105-usrid_long.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        T_ERROR-PERNR   = it_pa0105-PERNR.&lt;/P&gt;&lt;P&gt;        CONCATENATE TEXT-EMI '0105'&lt;/P&gt;&lt;P&gt;        INTO T_ERROR-MESSAGE SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;        APPEND T_ERROR.  CLEAR T_ERROR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   if not  it_final-pernr  is initial.&lt;/P&gt;&lt;P&gt;    append it_final.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear  it_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              END- O F - S E L E C T I O N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  describe table it_final lines  v_lines .&lt;/P&gt;&lt;P&gt;*---get data into Application Server.&lt;/P&gt;&lt;P&gt;PERFORM OUTPUT_CORPEDIA_VENDOR_FILE .&lt;/P&gt;&lt;P&gt;  SKIP 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:/ 'FILE NAME :' , P_FILE .&lt;/P&gt;&lt;P&gt;  WRITE:/ 'NO OF RECORDS DOWNLOADED : ', V_LINES .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform write_error_messages.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F4_FILEPATH&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      F4 HELP FOR FILE PATH&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F4_FILEPATH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF P_UNIX = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help for UNIX&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'F4_DXFILENAME_4_DYNP'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        DYNPFIELD_FILENAME = 'P_FILE'&lt;/P&gt;&lt;P&gt;        DYNAME             = SY-CPROG&lt;/P&gt;&lt;P&gt;        DYNUMB             = SY-DYNNR&lt;/P&gt;&lt;P&gt;        FILETYPE           = 'P'&lt;/P&gt;&lt;P&gt;        LOCATION           = 'A'&lt;/P&gt;&lt;P&gt;        SERVER             = ''.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE E000 WITH TEXT-E01 P_FILE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF P_PC = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help for PC&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'WS_FILENAME_GET'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        DEF_PATH         = P_FILE&lt;/P&gt;&lt;P&gt;        MASK             = ',&lt;STRONG&gt;.&lt;/STRONG&gt;.'&lt;/P&gt;&lt;P&gt;        MODE             = '0 '&lt;/P&gt;&lt;P&gt;        TITLE            = 'Choose File'&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        FILENAME         = P_FILE&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        INV_WINSYS       = 1&lt;/P&gt;&lt;P&gt;        NO_BATCH         = 2&lt;/P&gt;&lt;P&gt;        SELECTION_CANCEL = 3&lt;/P&gt;&lt;P&gt;        SELECTION_ERROR  = 4&lt;/P&gt;&lt;P&gt;        OTHERS           = 5.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F4_FILEPATH&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  WRITE_ERROR_MESSAGES&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Writes the error messages&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM WRITE_ERROR_MESSAGES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM WRITE_ERROR_HEADERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT T_ERROR.&lt;/P&gt;&lt;P&gt;    WRITE: / T_ERROR-PERNR,&lt;/P&gt;&lt;P&gt;          15 T_ERROR-MESSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-LINNO = 64.&lt;/P&gt;&lt;P&gt;      PERFORM WRITE_ERROR_HEADERS.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " WRITE_ERROR_MESSAGES&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  WRITE_ERROR_HEADERS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Error Headers&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM WRITE_ERROR_HEADERS.&lt;/P&gt;&lt;P&gt;  NEW-PAGE.&lt;/P&gt;&lt;P&gt;  ULINE.  SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  format color col_negative.&lt;/P&gt;&lt;P&gt;  WRITE: / 'Employee ID',&lt;/P&gt;&lt;P&gt;     15 'Error Message'.&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: / '***********',&lt;/P&gt;&lt;P&gt;        15 '*******************************'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " WRITE_ERROR_HEADERS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  OUTPUT_CITISTREET_DEMO_FILE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Output the Schwab Demographic file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM OUTPUT_CORPEDIA_VENDOR_FILE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF P_PC = 'X'.&lt;/P&gt;&lt;P&gt;  data: v_pcfile type string.&lt;/P&gt;&lt;P&gt;  v_pcfile = p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      FILENAME                      = v_pcfile&lt;/P&gt;&lt;P&gt;      FILETYPE                      = 'ASC'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      DATA_TAB                      = it_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: outrec(200) type c .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  OPEN DATASET P_FILE FOR OUTPUT IN TEXT MODE encoding DEFAULT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at it_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    outrec+0(8) = it_final-pernr.&lt;/P&gt;&lt;P&gt;    outrec+8(40) = it_final-nachn.&lt;/P&gt;&lt;P&gt;    outrec+48(40) = it_final-vorna.&lt;/P&gt;&lt;P&gt;    outrec+88(30) = it_final-usrid.&lt;/P&gt;&lt;P&gt;    outrec+118(40) = it_final-usrid_long.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    transfer outrec to p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear outrec.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLOSE DATASET OUTREC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      CLEAR W_MSG.&lt;/P&gt;&lt;P&gt;     CONCATENATE 'Corpedia Vendor Demographic File successfully written to:'&lt;/P&gt;&lt;P&gt;                 P_FILE&lt;/P&gt;&lt;P&gt;                 INTO W_MSG SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;      ULINE.  SKIP.&lt;/P&gt;&lt;P&gt;      WRITE : W_MSG.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " OUTPUT_CORPEDIA_VENDOR_FILE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;venkat.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 26 Apr 2008 11:49:34 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-04-26T11:49:34Z</dc:date>
    <item>
      <title>Extract data to an Interface</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/extract-data-to-an-interface/m-p/3729957#M897744</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Guys,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have to extract data from r3 to 5 files and these files must be placed into an interface folder?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please tell me the steps how to proceed with an example? as it is very urgent?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN __default_attr="red" __jive_macro_name="color"&gt;&lt;STRONG&gt;&amp;lt;REMOVED BY MODERATOR&amp;gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance&lt;/P&gt;&lt;P&gt;MS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Alvaro Tejada Galindo on Apr 25, 2008 5:37 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Apr 2008 12:11:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/extract-data-to-an-interface/m-p/3729957#M897744</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-25T12:11:33Z</dc:date>
    </item>
    <item>
      <title>Re: Extract data to an Interface</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/extract-data-to-an-interface/m-p/3729958#M897745</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I suggest you to read this [https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/5564] &lt;B&gt;[original link is broken]&lt;/B&gt; &lt;B&gt;[original link is broken]&lt;/B&gt; &lt;B&gt;[original link is broken]&lt;/B&gt;;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Apr 2008 12:21:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/extract-data-to-an-interface/m-p/3729958#M897745</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-25T12:21:57Z</dc:date>
    </item>
    <item>
      <title>Re: Extract data to an Interface</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/extract-data-to-an-interface/m-p/3729959#M897746</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Function module GUI_DOWNLOAD is used to download the data into presentation server and Dataset concepts to download the data into Application server. Sometimes we may require to download the data into other system (3rd Party System) from SAP. In such scenarios, the concept of FTP commands comes into picture through which data (internal table data) from SAP can be transffered to other system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This scenarios can be achieved through SAP using the FTP Commands which are available within SAP. The data gets transferred to other systems. The concept is that the internal table data will be placed as a file in other systems using the FTP concept.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The various FTP commands which are needed for this prupose are HTTP_SCRAMBLE, FTP_CONNECT, FTP_R3_TO_SERVER, FTP_DISCONNECT, RFC_CONNECTION_CLOSE function modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;HTTP_SCRAMBLE: This is used to scramble the password provided into a format which is been recognized by SAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_pwd = p_pwd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_slen = STRLEN( l_pwd ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'HTTP_SCRAMBLE'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;source = l_pwd&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sourcelen = l_slen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;key = c_key&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;destination = l_pwd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FTP_CONNECT : This is used to connect to other system from SAP with the help of Userid &amp;amp; amp; scrambled password &amp;amp; Host string &amp;amp; destination (default 'SAPFTP').&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To Connect to the Server using FTP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'FTP_CONNECT'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;user = p_user&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;password = l_pwd&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;host = p_host&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rfc_destination = c_dest&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;handle = w_hdl&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OTHERS = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FTP_R3_TO_SERVERThis is used to transfer the internal table data as a file to other system in the character mode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'FTP_R3_TO_SERVER'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;handle = w_hdl&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fname = &amp;lt;file path of destination system&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;character_mode = 'X'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text = &amp;lt;internal table data&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tcpip_error = 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;command_error = 2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data_error = 3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OTHERS = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RAISING invalid_output_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FTP_DISCONNECT: This is used to disconnect the connection between SAP and other system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To disconnect the FTP&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'FTP_DISCONNECT'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;handle = w_hdl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RFC_CONNECTION_CLOSE: This is used to disconnect the RFC connection between SAP and other system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'RFC_CONNECTION_CLOSE'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;destination = c_dest&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OTHERS = 1.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Apr 2008 12:27:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/extract-data-to-an-interface/m-p/3729959#M897746</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-25T12:27:17Z</dc:date>
    </item>
    <item>
      <title>Re: Extract data to an Interface</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/extract-data-to-an-interface/m-p/3729960#M897747</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Misbah,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  You need to use SAP Exchange Infrastructure for this ..I t can handle it easily...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Technnical Details&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; USe Proxy to File Scenario&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In which we need to configure 5 communication channels for 5 files to which we need to passt the data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Advanatage is we can monitor how the data is moving and we can automate the process effiicently and irrespective of the file format and size and also reusabily comes in picture ,if same logic has to use for another system&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN __default_attr="red" __jive_macro_name="color"&gt;&lt;STRONG&gt;&amp;lt;REMOVED BY MODERATOR&amp;gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Alvaro Tejada Galindo on Apr 25, 2008 5:37 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Apr 2008 12:29:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/extract-data-to-an-interface/m-p/3729960#M897747</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-25T12:29:16Z</dc:date>
    </item>
    <item>
      <title>Re: Extract data to an Interface</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/extract-data-to-an-interface/m-p/3729961#M897748</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi check this interface this will download to the pc and application server...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  REPORT&lt;/P&gt;&lt;P&gt;        NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;        line-size 120&lt;/P&gt;&lt;P&gt;        MESSAGE-ID zhris.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              T A B L E S&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:  pa0105,   &lt;/P&gt;&lt;P&gt;         pa0002.   &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              T Y P E            D E C L A R A T I O N S&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Types for the final table&lt;/P&gt;&lt;P&gt;types : begin of ty_final ,&lt;/P&gt;&lt;P&gt;         pernr like pa0000-pernr,           "Personnel number&lt;/P&gt;&lt;P&gt;         nachn like pa0002-nachn,           "Last Name&lt;/P&gt;&lt;P&gt;         vorna like pa0002-vorna,           "First Name&lt;/P&gt;&lt;P&gt;         usrid like pa0105-usrid,           "Communication ID/Number&lt;/P&gt;&lt;P&gt;         usrid_long like pa0105-usrid_long,"Communication: Long &lt;/P&gt;&lt;P&gt;       end of ty_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I N T E R N A L       T A B L E S&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----Internal table to hold the data of emp like userid, email&lt;/P&gt;&lt;P&gt;data: it_pa0105 like p0105 occurs 0 with header line ,&lt;/P&gt;&lt;P&gt;*-----Internal table  to check for active employee&lt;/P&gt;&lt;P&gt;      it_pa0000 like pa0000 occurs 0 with header line,&lt;/P&gt;&lt;P&gt;*-----Internal table to hold the data of emp like first, last name&lt;/P&gt;&lt;P&gt;      it_pa0002 like p0002 occurs 0 with header line,&lt;/P&gt;&lt;P&gt;*-----Internal table for final data&lt;/P&gt;&lt;P&gt;      it_final type standard table of ty_final with header line.&lt;/P&gt;&lt;P&gt;*-----Internal table for Error Records&lt;/P&gt;&lt;P&gt;DATA:  BEGIN OF T_ERROR OCCURS 0,&lt;/P&gt;&lt;P&gt;        PERNR LIKE PERNR-PERNR,&lt;/P&gt;&lt;P&gt;        MESSAGE(60) TYPE C,&lt;/P&gt;&lt;P&gt;       END OF T_ERROR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    VARIABLE DECLARATIONS                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : v_pernr like pa0000-pernr,&lt;/P&gt;&lt;P&gt;       v_lines type i.&lt;/P&gt;&lt;P&gt;DATA: W_MSG(150)  TYPE C.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            S E L E C T I O N  -    S C R E E N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK FILE WITH FRAME TITLE TEXT-FIL.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_PC  RADIOBUTTON GROUP RAD USER-COMMAND USR.         "PC&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 3(5) TEXT-SC1.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_UNIX  RADIOBUTTON GROUP RAD DEFAULT 'X'.         "UNIX&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 11(5) TEXT-SC2.&lt;/P&gt;&lt;P&gt;parameters:p_file like rlgrap-filename.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK FILE.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         INITIALIZATION                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;data: v_date like pa0002-begda.&lt;/P&gt;&lt;P&gt;write: sy-datum  to v_date .&lt;/P&gt;&lt;P&gt;concatenate '/VOLSAP/Corpedia_' v_date '.txt' into p_file.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                AT SELECTION-SCREEN                                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;F4 help for the flat file path&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM F4_FILEPATH.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               S T A R T - O F - S E L E C T I O N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*---Get the  active employyes&lt;/P&gt;&lt;P&gt;  select *   from pa0000&lt;/P&gt;&lt;P&gt;             into table it_pa0000 up to 100 rows&lt;/P&gt;&lt;P&gt;             where endda &amp;gt;= sy-datum&lt;/P&gt;&lt;P&gt;             and   begda &amp;lt;= sy-datum&lt;/P&gt;&lt;P&gt;             and   stat2 = '3'.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    sort it_pa0000 by pernr endda descending.&lt;/P&gt;&lt;P&gt;    delete adjacent duplicates from it_pa0000 comparing pernr.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  loop at it_pa0000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear : it_pa0002 ,it_pa0105,&lt;/P&gt;&lt;P&gt;            it_pa0002[] , it_pa0105[] ,&lt;/P&gt;&lt;P&gt;            v_pernr.&lt;/P&gt;&lt;P&gt;    v_pernr = it_pa0000-pernr.&lt;/P&gt;&lt;P&gt;*---Get first name, last name of the active employee&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'HR_READ_INFOTYPE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        PERNR     = v_pernr&lt;/P&gt;&lt;P&gt;        INFTY     = '0002'&lt;/P&gt;&lt;P&gt;        BEGDA     = sy-datum&lt;/P&gt;&lt;P&gt;        ENDDA     = sy-datum&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        INFTY_TAB = it_pa0002.&lt;/P&gt;&lt;P&gt;*---Get SAP ID , email of the active employee&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'HR_READ_INFOTYPE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        PERNR     = v_pernr&lt;/P&gt;&lt;P&gt;        INFTY     = '0105'&lt;/P&gt;&lt;P&gt;        BEGDA     = sy-datum&lt;/P&gt;&lt;P&gt;        ENDDA     = sy-datum&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        INFTY_TAB = it_pa0105.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    sort it_pa0002 by pernr begda descending.&lt;/P&gt;&lt;P&gt;    delete adjacent duplicates from it_pa0002 comparing pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    sort it_pa0105 by pernr begda descending.&lt;/P&gt;&lt;P&gt;    delete adjacent duplicates from it_pa0105 comparing pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if not it_pa0002[] is initial.&lt;/P&gt;&lt;P&gt;      read table it_pa0002 index 1.&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        it_final-pernr = it_pa0002-pernr.&lt;/P&gt;&lt;P&gt;        it_final-nachn = it_pa0002-nachn.&lt;/P&gt;&lt;P&gt;        it_final-vorna = it_pa0002-vorna.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        T_ERROR-PERNR   = it_pa0002-PERNR.&lt;/P&gt;&lt;P&gt;        CONCATENATE TEXT-EMI '0002'&lt;/P&gt;&lt;P&gt;        INTO T_ERROR-MESSAGE SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;        APPEND T_ERROR.&lt;/P&gt;&lt;P&gt;        CLEAR T_ERROR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if not it_pa0105[] is initial.&lt;/P&gt;&lt;P&gt;      read table it_pa0105 index 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        if it_pa0105-subty = '0001'.&lt;/P&gt;&lt;P&gt;          it_final-usrid = it_pa0105-usrid.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if it_pa0105-subty = '0010'.&lt;/P&gt;&lt;P&gt;          it_final-usrid_long = it_pa0105-usrid_long.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        T_ERROR-PERNR   = it_pa0105-PERNR.&lt;/P&gt;&lt;P&gt;        CONCATENATE TEXT-EMI '0105'&lt;/P&gt;&lt;P&gt;        INTO T_ERROR-MESSAGE SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;        APPEND T_ERROR.  CLEAR T_ERROR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   if not  it_final-pernr  is initial.&lt;/P&gt;&lt;P&gt;    append it_final.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear  it_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              END- O F - S E L E C T I O N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  describe table it_final lines  v_lines .&lt;/P&gt;&lt;P&gt;*---get data into Application Server.&lt;/P&gt;&lt;P&gt;PERFORM OUTPUT_CORPEDIA_VENDOR_FILE .&lt;/P&gt;&lt;P&gt;  SKIP 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:/ 'FILE NAME :' , P_FILE .&lt;/P&gt;&lt;P&gt;  WRITE:/ 'NO OF RECORDS DOWNLOADED : ', V_LINES .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform write_error_messages.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F4_FILEPATH&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      F4 HELP FOR FILE PATH&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F4_FILEPATH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF P_UNIX = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help for UNIX&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'F4_DXFILENAME_4_DYNP'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        DYNPFIELD_FILENAME = 'P_FILE'&lt;/P&gt;&lt;P&gt;        DYNAME             = SY-CPROG&lt;/P&gt;&lt;P&gt;        DYNUMB             = SY-DYNNR&lt;/P&gt;&lt;P&gt;        FILETYPE           = 'P'&lt;/P&gt;&lt;P&gt;        LOCATION           = 'A'&lt;/P&gt;&lt;P&gt;        SERVER             = ''.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE E000 WITH TEXT-E01 P_FILE.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF P_PC = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help for PC&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'WS_FILENAME_GET'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        DEF_PATH         = P_FILE&lt;/P&gt;&lt;P&gt;        MASK             = ',&lt;STRONG&gt;.&lt;/STRONG&gt;.'&lt;/P&gt;&lt;P&gt;        MODE             = '0 '&lt;/P&gt;&lt;P&gt;        TITLE            = 'Choose File'&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        FILENAME         = P_FILE&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        INV_WINSYS       = 1&lt;/P&gt;&lt;P&gt;        NO_BATCH         = 2&lt;/P&gt;&lt;P&gt;        SELECTION_CANCEL = 3&lt;/P&gt;&lt;P&gt;        SELECTION_ERROR  = 4&lt;/P&gt;&lt;P&gt;        OTHERS           = 5.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F4_FILEPATH&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  WRITE_ERROR_MESSAGES&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Writes the error messages&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM WRITE_ERROR_MESSAGES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM WRITE_ERROR_HEADERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT T_ERROR.&lt;/P&gt;&lt;P&gt;    WRITE: / T_ERROR-PERNR,&lt;/P&gt;&lt;P&gt;          15 T_ERROR-MESSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-LINNO = 64.&lt;/P&gt;&lt;P&gt;      PERFORM WRITE_ERROR_HEADERS.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " WRITE_ERROR_MESSAGES&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  WRITE_ERROR_HEADERS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Error Headers&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM WRITE_ERROR_HEADERS.&lt;/P&gt;&lt;P&gt;  NEW-PAGE.&lt;/P&gt;&lt;P&gt;  ULINE.  SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  format color col_negative.&lt;/P&gt;&lt;P&gt;  WRITE: / 'Employee ID',&lt;/P&gt;&lt;P&gt;     15 'Error Message'.&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: / '***********',&lt;/P&gt;&lt;P&gt;        15 '*******************************'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " WRITE_ERROR_HEADERS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  OUTPUT_CITISTREET_DEMO_FILE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Output the Schwab Demographic file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM OUTPUT_CORPEDIA_VENDOR_FILE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF P_PC = 'X'.&lt;/P&gt;&lt;P&gt;  data: v_pcfile type string.&lt;/P&gt;&lt;P&gt;  v_pcfile = p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      FILENAME                      = v_pcfile&lt;/P&gt;&lt;P&gt;      FILETYPE                      = 'ASC'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      DATA_TAB                      = it_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: outrec(200) type c .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  OPEN DATASET P_FILE FOR OUTPUT IN TEXT MODE encoding DEFAULT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at it_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    outrec+0(8) = it_final-pernr.&lt;/P&gt;&lt;P&gt;    outrec+8(40) = it_final-nachn.&lt;/P&gt;&lt;P&gt;    outrec+48(40) = it_final-vorna.&lt;/P&gt;&lt;P&gt;    outrec+88(30) = it_final-usrid.&lt;/P&gt;&lt;P&gt;    outrec+118(40) = it_final-usrid_long.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    transfer outrec to p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear outrec.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLOSE DATASET OUTREC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      CLEAR W_MSG.&lt;/P&gt;&lt;P&gt;     CONCATENATE 'Corpedia Vendor Demographic File successfully written to:'&lt;/P&gt;&lt;P&gt;                 P_FILE&lt;/P&gt;&lt;P&gt;                 INTO W_MSG SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;      ULINE.  SKIP.&lt;/P&gt;&lt;P&gt;      WRITE : W_MSG.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " OUTPUT_CORPEDIA_VENDOR_FILE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;venkat.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 26 Apr 2008 11:49:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/extract-data-to-an-interface/m-p/3729961#M897748</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-26T11:49:34Z</dc:date>
    </item>
  </channel>
</rss>

