Автор Тема: Выгрузка файлов запроса  (Прочитано 8513 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн crxcrvs

  • Newbie
  • *
  • Сообщений: 10
  • Репутация: +0/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Выгрузка файлов запроса
« : Июнь 26, 2008, 04:30:12 pm »
 Добрый день Базису.
Не подскажите какой транзакцией можно выгрузить файлы запроса?
З.Ы. Версия 4.0

Оффлайн №1

  • Administrator
  • Jr. Member
  • *****
  • Сообщений: 636
  • Репутация: +23/-0
  • Пол: Мужской
  • Судьбы я вызов принимаю прямым пожатием руки
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Выгрузка файлов запроса
« Ответ #1 : Июнь 26, 2008, 05:07:40 pm »
По 4.0 не помню... а с 4.6.есть CG3Y
Мой You are not allowed to view links. Register or Login

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 758
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Выгрузка файлов запроса
« Ответ #2 : Июнь 26, 2008, 05:26:28 pm »
You are not allowed to view links. Register or Login
З.Ы. Версия 4.0
Offtop: Да 4.0 уже найти сложно   ::) у меня под рукой ни одной не осталось... Но если там пройдет совет №1, отпишись на всякий случай.

Оффлайн crxcrvs

  • Newbie
  • *
  • Сообщений: 10
  • Репутация: +0/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Выгрузка файлов запроса
« Ответ #3 : Июнь 26, 2008, 05:44:14 pm »
 Увы нема CG3Y :-(
Пришлось переделать маршрут

Оффлайн №1

  • Administrator
  • Jr. Member
  • *****
  • Сообщений: 636
  • Репутация: +23/-0
  • Пол: Мужской
  • Судьбы я вызов принимаю прямым пожатием руки
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Выгрузка файлов запроса
« Ответ #4 : Июнь 26, 2008, 07:42:06 pm »
Порылся в закромах.... Есть для 4.0 прога
Код: You are not allowed to view links. Register or Login
REPORT Y_EXPORT_TRANS.

SELECTION-SCREEN BEGIN OF BLOCK MAIN WITH FRAME TITLE TEXT-003.
PARAMETERS: NUMREQ TYPE E070-TRKORR LOWER CASE OBLIGATORY,
       LPATH(255)  OBLIGATORY.
SELECTION-SCREEN END OF BLOCK MAIN.
SELECTION-SCREEN BEGIN OF BLOCK 0 WITH FRAME TITLE TEXT-004.
PARAMETER: EXFLAG AS CHECKBOX .             "экспорт/импорт
SELECTION-SCREEN END OF BLOCK 0.

DATA: SFILE TYPE DRAW-FILEP, LEN TYPE I.
DATA: V_PATH TYPE STRING.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR LPATH.

  CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_BROWSE
      EXPORTING WINDOW_TITLE = 'Windows Title'
                      INITIAL_FOLDER = 'C:'
      CHANGING SELECTED_FOLDER = V_PATH.

  CALL METHOD CL_GUI_CFW=>FLUSH.

  CONCATENATE V_PATH '\' INTO LPATH.

START-OF-SELECTION.
  TRANSLATE NUMREQ TO UPPER CASE.
  CONDENSE NUMREQ.
  CONCATENATE NUMREQ+3 '.' NUMREQ(3) INTO SFILE.
  CONDENSE LPATH.
  LEN = STRLEN( LPATH ) - 1.
  IF LPATH+LEN <> '\'.
    CONCATENATE LPATH '\' INTO LPATH.
  ENDIF.

  IF EXFLAG IS INITIAL.   "
* экспорт
* cofile
    PERFORM EXP_FILE USING SFILE 'K'.
* data
    PERFORM EXP_FILE USING SFILE 'R'.
    PERFORM exp_file USING sfile 'D'.
  ELSE.
* импорт на сервер приложений
* cofile
    PERFORM IMP_FILE USING SFILE 'K'.
* data
    PERFORM IMP_FILE USING SFILE 'R'.
    PERFORM IMP_FILE USING SFILE 'D'.                              "001
  ENDIF.

*&---------------------------------------------------------------------*
*&      Form  exp_file
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_SFILE  text
*      -->P_0035   text
*----------------------------------------------------------------------*
FORM EXP_FILE USING    P_SFILE
                       P_TYPE.
  DATA: SPATH(255), FILENAME(255).
  DATA: RC LIKE SY-SUBRC.

  IF P_TYPE = 'K'.
    SPATH = '/usr/sap/trans/cofiles/'.
*  ELSE.
  ELSEIF P_TYPE EQ 'R'.
    SPATH = '/usr/sap/trans/data/'.
    CONCATENATE P_TYPE P_SFILE+1 INTO P_SFILE.
  ELSEIF P_TYPE EQ 'D'.
    SPATH = '/usr/sap/trans/data/'.
    CONCATENATE P_TYPE P_SFILE+1 INTO P_SFILE.
  ENDIF.
  CALL FUNCTION 'DOCFILE_SERVER_TO_CLIENT'
    EXPORTING
      SOURCEPATH         = SPATH
      SOURCEFILE         = P_SFILE
      TARGETPATH         = LPATH
     TARGETFILE         =  P_SFILE
 EXCEPTIONS
   ERROR              = 1
   OTHERS             = 2.

  IF SY-SUBRC <> 0.
    WRITE: / TEXT-001, (11) P_SFILE.
  ELSE.
    WRITE: /(11) P_SFILE, TEXT-002.
  ENDIF.

ENDFORM.                    " exp_file
*&---------------------------------------------------------------------*
*&      Form  imp_file
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_SFILE  text
*      -->P_0084   text
*----------------------------------------------------------------------*
FORM IMP_FILE USING    P_SFILE
                       P_TYPE.
  DATA: SPATH(255).

  IF P_TYPE = 'K'.
    SPATH = '/usr/sap/trans/cofiles/'.
  ELSEIF P_TYPE = 'R'.
    SPATH = '/usr/sap/trans/data/'.
    CONCATENATE 'R' P_SFILE+1 INTO P_SFILE.
  ELSE.
    SPATH = '/usr/sap/trans/data/'.                               "001
    CONCATENATE 'D' P_SFILE+1 INTO P_SFILE.                       "001
  ENDIF.
  CALL FUNCTION 'DOCFILE_CLIENT_TO_SERVER'
    EXPORTING
      SOURCEPATH         = LPATH
      SOURCEFILE         = P_SFILE
      TARGETPATH         = SPATH
     TARGETFILE         =  P_SFILE
  .

  IF SY-SUBRC <> 0.
    WRITE: / TEXT-005, (11) P_SFILE.
  ELSE.
    WRITE: /(11) P_SFILE, TEXT-006.
  ENDIF.


ENDFORM.                    " imp_file
« Последнее редактирование: Июнь 27, 2008, 09:18:13 am от Uukrul »
Мой You are not allowed to view links. Register or Login

Оффлайн crxcrvs

  • Newbie
  • *
  • Сообщений: 10
  • Репутация: +0/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Выгрузка файлов запроса
« Ответ #5 : Июнь 26, 2008, 09:11:05 pm »
Супер спасибо - тока смущает  CL_GUI_FRONTEND_SERVICES
боюсь его там тоже нема - но ниче перепишем.

Оффлайн №1

  • Administrator
  • Jr. Member
  • *****
  • Сообщений: 636
  • Репутация: +23/-0
  • Пол: Мужской
  • Судьбы я вызов принимаю прямым пожатием руки
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Выгрузка файлов запроса
« Ответ #6 : Июнь 27, 2008, 06:13:23 am »
Вот еще вариант, но его не юзал....
Код: You are not allowed to view links. Register or Login
REPORT ZSWSUPTR LINE-SIZE 132 MESSAGE-ID 38.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(20) CTXT-P01.
    SELECTION-SCREEN POSITION 24.
    PARAMETER P_TRNBR(10).
    SELECTION-SCREEN COMMENT 36(24) CTXT-T01.
  SELECTION-SCREEN END OF LINE.
  SELECTION-SCREEN SKIP.
  SELECTION-SCREEN BEGIN OF LINE.
    PARAMETER P_XMIT AS CHECKBOX.
    SELECTION-SCREEN COMMENT 4(17) CTXT-P02.
    SELECTION-SCREEN POSITION 24.
    PARAMETER P_PATH(72) LOWER CASE.
  SELECTION-SCREEN END OF LINE.
  SELECTION-SCREEN SKIP.
  SELECTION-SCREEN BEGIN OF LINE.
    PARAMETER P_ADDBUF AS CHECKBOX.
    SELECTION-SCREEN COMMENT 4(17) CTXT-P03.
  SELECTION-SCREEN END OF LINE.
  SELECTION-SCREEN SKIP.
  SELECTION-SCREEN BEGIN OF LINE.
    PARAMETER P_IMPORT AS CHECKBOX.
    SELECTION-SCREEN COMMENT 4(26) CTXT-P04.
    PARAMETER P_CLIENT(3) TYPE N DEFAULT SY-MANDT.
    SELECTION-SCREEN COMMENT 36(24) CTXT-U01.
    PARAMETER P_UCODE(8) DEFAULT '124'.
  SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B1.
INITIALIZATION.
  CTXT-P01 = 'Transport request'.
  CTXT-P02 = 'Upload files from'.
  CTXT-P03 = 'Add to buffer'.
  CTXT-P04 = 'Import transport to client'.
  CTXT-T01 = '(format: <SID>K9<nnnnn>)'.
  CTXT-U01 = 'with unconditional modes'.

DATA: D_FNAME LIKE RLGRAP-FILENAME,
      D_FILE(12),
      D_FSIZE(10) TYPE N,
      D_DSN(70),
      D_POS LIKE SY-FDPOS,
      H_CMD(200).

DATA: BEGIN OF T_XTAB OCCURS 100,
        X(500),
      END OF T_XTAB.

DATA: BEGIN OF RES OCCURS 0,
        LINE(200),
      END OF RES.

INITIALIZATION.
*==============

  CALL FUNCTION 'WS_QUERY'
       EXPORTING
            QUERY          = 'CD'
       IMPORTING
            RETURN         = P_PATH
       EXCEPTIONS
            INV_QUERY      = 1
            NO_BATCH       = 2
            FRONTEND_ERROR = 3.

AT SELECTION-SCREEN ON P_PATH.
  SY-INDEX = STRLEN( P_PATH ) - 1.
  SY-INPUT = P_PATH+SY-INDEX(1).
  IF SY-INPUT <> '\'.
    SY-INDEX = SY-INDEX + 1.
    P_PATH+SY-INDEX = '\'.
  ENDIF.

START-OF-SELECTION.
*==================

  IF P_XMIT EQ 'X'.
    PERFORM TRANSMIT.
  ENDIF.

  IF P_ADDBUF EQ 'X'.
    PERFORM ADDTOBUFFER.
  ENDIF.

  IF P_IMPORT EQ 'X'.
    PERFORM IMPORT.
  ENDIF.

END-OF-SELECTION.
*================

FORM TRANSMIT.

  FORMAT RESET INTENSIFIED ON.
  ULINE. WRITE: 'Upload:' INTENSIFIED OFF. ULINE.
  D_FILE = P_TRNBR.
  SHIFT D_FILE CIRCULAR BY 3 PLACES.
  SHIFT D_FILE+7.
  D_FILE+7(1) = '.'.
  D_FILE(1) = 'E'.
  D_FNAME = P_PATH.
  D_POS = STRLEN( P_PATH ).
  WRITE D_FILE TO D_FNAME+D_POS.
  PERFORM UPLOAD USING D_FNAME D_FSIZE 'E'.
  IF SY-SUBRC <> 0.
    PERFORM SET-TRANSDIR-FILE USING 'log'    'E' CHANGING D_DSN.
    PERFORM PUT-FILE USING D_DSN.
  ENDIF.
  D_FILE(1) = 'K'.
  WRITE D_FILE TO D_FNAME+D_POS.
  PERFORM UPLOAD USING D_FNAME D_FSIZE 'K'.
  PERFORM SET-TRANSDIR-FILE USING 'cofiles' 'K' CHANGING D_DSN.
  PERFORM PUT-FILE USING D_DSN.
  D_FILE(1) = 'R'.
  WRITE D_FILE TO D_FNAME+D_POS.
  PERFORM UPLOAD USING D_FNAME D_FSIZE 'R'.
  PERFORM SET-TRANSDIR-FILE USING 'data'    'R' CHANGING D_DSN.
  PERFORM PUT-FILE USING D_DSN.

ENDFORM.

*---------------------------------------------------------------------*
*       FORM UPLOAD                                                   *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  -->  F_FNAME                                                       *
*  -->  F_FSIZE                                                       *
*---------------------------------------------------------------------*
FORM UPLOAD USING F_FNAME F_FSIZE F_TYPE.

  REFRESH T_XTAB.
  CALL FUNCTION 'WS_UPLOAD'
       EXPORTING
            FILENAME        = F_FNAME
            FILETYPE        = 'BIN'
       IMPORTING
            FILELENGTH      = F_FSIZE
       TABLES
            DATA_TAB        = T_XTAB
       EXCEPTIONS
            FILE_OPEN_ERROR = 1
            FILE_READ_ERROR = 2.
  IF SY-SUBRC <> 0 AND F_TYPE <> 'E'.
    MESSAGE E000 WITH 'Data file' F_FNAME 'could not be found ...'.
  ENDIF.

ENDFORM.

*---------------------------------------------------------------------*
*       FORM PUT-FILE                                                 *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  -->  F_DSN                                                         *
*---------------------------------------------------------------------*
FORM PUT-FILE USING F_DSN.

  DATA: DF_RSIZE(3)  TYPE N,
        DF_FSIZE(10) TYPE N.

  DESCRIBE FIELD T_XTAB LENGTH DF_RSIZE.
  DF_FSIZE = D_FSIZE.

  WRITE: / F_DSN, D_FSIZE NO-ZERO.
  OPEN DATASET F_DSN FOR OUTPUT IN BINARY MODE.
  IF SY-SUBRC <> 0.
    MESSAGE E000 WITH 'Dataset' F_DSN
                      'could not be opened ...'.
  ENDIF.

  LOOP AT T_XTAB.
    IF DF_FSIZE < DF_RSIZE.
      DF_RSIZE = DF_FSIZE.
    ELSE.
      DF_FSIZE = DF_FSIZE - DF_RSIZE.
    ENDIF.
    TRANSFER T_XTAB TO F_DSN LENGTH DF_RSIZE.
  ENDLOOP.

  CLOSE DATASET F_DSN.

ENDFORM.

*---------------------------------------------------------------------*
*       FORM ADDTOBUFFER                                              *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
FORM ADDTOBUFFER.

  PERFORM SET-TP_EXE CHANGING H_CMD.
  REPLACE: '&V0' WITH 'addtobuffer' INTO H_CMD,
           '&V1' WITH P_TRNBR       INTO H_CMD,
           '&V2' WITH SY-SYSID(3)   INTO H_CMD,
           '&V3' WITH SPACE         INTO H_CMD,
           '&V4' WITH SPACE         INTO H_CMD,
           '&V5' WITH SPACE         INTO H_CMD,
           '&V6' WITH SPACE         INTO H_CMD,
           '&V7' WITH SPACE         INTO H_CMD,
           '&V8' WITH SPACE         INTO H_CMD,
           '&V9' WITH SPACE         INTO H_CMD.
  CONDENSE H_CMD.
  FORMAT RESET INTENSIFIED ON.
  ULINE. WRITE: 'Command:' INTENSIFIED OFF, H_CMD. ULINE.
  REFRESH RES.
  CALL 'SYSTEM' ID 'COMMAND' FIELD H_CMD
                ID 'TAB'     FIELD RES[].
  FORMAT INTENSIFIED OFF.
  LOOP AT RES.
    WRITE:/ RES-LINE.
  ENDLOOP.

ENDFORM.

*---------------------------------------------------------------------*
*       FORM IMPORT                                                   *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
FORM IMPORT.

  DATA: W_CLIENT(9) VALUE 'client&',
        W_UNCOND(9) VALUE 'u&'.

  PERFORM SET-TP_EXE CHANGING H_CMD.
  REPLACE: '&'   WITH P_CLIENT(3) INTO W_CLIENT,
           '&'   WITH P_UCODE     INTO W_UNCOND.
  REPLACE: '&V0' WITH 'import'    INTO H_CMD,
           '&V1' WITH P_TRNBR     INTO H_CMD,
           '&V2' WITH SY-SYSID(3) INTO H_CMD,
           '&V3' WITH W_CLIENT    INTO H_CMD,
           '&V4' WITH W_UNCOND    INTO H_CMD,
           '&V5' WITH SPACE       INTO H_CMD,
           '&V6' WITH SPACE       INTO H_CMD,
           '&V7' WITH SPACE       INTO H_CMD,
           '&V8' WITH SPACE       INTO H_CMD,
           '&V9' WITH SPACE       INTO H_CMD.
  CONDENSE H_CMD.
  FORMAT RESET INTENSIFIED ON.
  ULINE. WRITE: 'Command:' INTENSIFIED OFF, H_CMD. ULINE.
  REFRESH RES.
  CALL 'SYSTEM' ID 'COMMAND' FIELD H_CMD
                ID 'TAB'     FIELD RES[].
  FORMAT INTENSIFIED OFF.
  LOOP AT RES.
    WRITE:/ RES-LINE.
  ENDLOOP.

ENDFORM.

*---------------------------------------------------------------------*
*       FORM SET-TRANSDIR-FILE                                        *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  -->  F_SUBDIR                                                      *
*  -->  F_ID                                                          *
*  -->  F_DSN                                                         *
*---------------------------------------------------------------------*
FORM SET-TRANSDIR-FILE USING F_SUBDIR F_ID CHANGING F_DSN.

  DATA: DF_DIR(10) VALUE 'trans/file',
        DF_FILE(14).

  DF_FILE = P_TRNBR.
  SHIFT DF_FILE CIRCULAR BY 3 PLACES.
  SHIFT DF_FILE+7 BY 3 PLACES.
  DF_FILE+7(1) = '.'.
  DF_FILE(1) = F_ID.

  IF F_SUBDIR = 'log'.
    SHIFT DF_FILE BY 3 PLACES RIGHT.
    DF_FILE(3) = P_TRNBR(3).
  ENDIF.

  CALL 'C_SAPGPARAM' ID 'NAME'  FIELD DF_DIR
                     ID 'VALUE' FIELD F_DSN.
  REPLACE '--------' WITH F_SUBDIR INTO F_DSN.
  REPLACE '++++++++' WITH DF_FILE  INTO F_DSN.

ENDFORM.

*---------------------------------------------------------------------*
*       FORM SET-TP_EXE                                               *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  -->  F_PATH                                                        *
*---------------------------------------------------------------------*
FORM SET-TP_EXE CHANGING F_PATH.

  DATA: DF_DIR(16) VALUE 'transport/exe_tp'.

  CALL 'C_SAPGPARAM' ID 'NAME'  FIELD DF_DIR
                     ID 'VALUE' FIELD F_PATH.

ENDFORM.
« Последнее редактирование: Июнь 27, 2008, 09:18:37 am от Uukrul »
Мой You are not allowed to view links. Register or Login

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 758
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Выгрузка файлов запроса
« Ответ #7 : Июнь 27, 2008, 09:20:57 am »
Для  текстов программ используем: [сode] [/сode]  ;)