Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save luisaaldana22/6d7b4cc7e59e9e5c2fe8dfed0a223478 to your computer and use it in GitHub Desktop.
Save luisaaldana22/6d7b4cc7e59e9e5c2fe8dfed0a223478 to your computer and use it in GitHub Desktop.
Gastos-Transportes
*&---------------------------------------------------------------------*
*& Report  ZSDP_GASTOS_TRANSPORTES
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT  ZSDP_GASTOS_TRANSPORTES.
TABLES VFKP.
DATA: BEGIN OF LT_INTERNA OCCURS 0,
       FKNUM TYPE VFKP-FKNUM,
       BUKRS TYPE VFKP-BUKRS,
       NETWR TYPE VFKP-NETWR,
       EBELN TYPE VFKP-EBELN,
       TDLNR TYPE VFKP-TDLNR,
       REBEL TYPE VFKP-REBEL,
       ERNAM TYPE VFKP-ERNAM.
DATA: END OF LT_INTERNA.
DATA: BEGIN OF GASTOS OCCURS 0,
       POSTX TYPE VFKP-POSTX.
DATA: END OF GASTOS.
"Estructura para archivo plano
DATA: BEGIN OF TITULOS OCCURS 0,
      TEXT(20) TYPE C.
DATA: END OF TITULOS.
DATA:   FILENAME LIKE RLGRAP-FILENAME,
        MODE LIKE RLGRAP-FILEMODE.
DATA  NAME_FILE.
SELECTION-SCREEN BEGIN OF BLOCK TEXT-000 WITH FRAME TITLE TEXT-001.
PARAMETERS: BUKRS TYPE VFKP-BUKRS DEFAULT '0100'.
SELECT-OPTIONS: BUDAT FOR SY-DATUM DEFAULT SY-DATUM TO SY-DATUM OBLIGATORY.
SELECTION-SCREEN END OF BLOCK TEXT-000.
*&---------------------------------------------------------------------*
*&      Form  DATOS
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM DATOS.
  SELECT SINGLE FKNUM ERNAM NETWR EBELN TDLNR  REBEL
    INTO LT_INTERNA
     FROM VFKP
     WHERE BUKRS EQ VFKP-BUKRS
     AND BUDAT IN BUDAT
     AND EBELN EQ VFKP-EBELN.
  LT_INTERNA-FKNUM = VFKP-FKNUM.
  LT_INTERNA-ERNAM = VFKP-ERNAM.
  LT_INTERNA-NETWR = VFKP-NETWR.
  LT_INTERNA-EBELN = VFKP-EBELN.
  LT_INTERNA-TDLNR = VFKP-TDLNR.
  LT_INTERNA-REBEL = VFKP-REBEL.
  APPEND LT_INTERNA.
  CLEAR LT_INTERNA.
  SELECT SINGLE POSTX
  INTO GASTOS
   FROM VFKP
    WHERE FKNUM EQ VFKP-FKNUM.
  GASTOS-POSTX = VFKP-POSTX.
  APPEND GASTOS.
  CLEAR GASTOS.
ENDFORM.                    "DATOS
*&---------------------------------------------------------------------*
*&      Form  GRABAR_ARCHIVO
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM GRABAR_ARCHIVO TABLES GASTOS.
  CLEAR NAME_FILE.
  CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
      DEF_FILENAME     = SPACE
      DEF_PATH         = NAME_FILE
      MASK             = ',*.xls'
      MODE             = 'S'
      TITLE            = 'DESCARGAR ARCHIVO'
    IMPORTING
      FILENAME         = NAME_FILE
    EXCEPTIONS
      INV_WINSYS       = 1
      NO_BATCH         = 2
      SELECTION_CANCEL = 3
      SELECTION_ERROR  = 4
      OTHERS           = 5.
  IF NAME_FILE NE SPACE.
    CONDENSE NAME_FILE.
    CALL FUNCTION 'WS_DOWNLOAD'
      EXPORTING
        FILENAME            = NAME_FILE
        FILETYPE            = 'DAT'
        MODE                = MODE
        WK1_N_FORMAT        = ' '
        WK1_N_SIZE          = ' '
        WK1_T_FORMAT        = ' '
        WK1_T_SIZE          = ' '
      TABLES
        DATA_TAB            = GASTOS
        FIELDNAMES          = TITULOS
      EXCEPTIONS
        FILE_OPEN_ERROR     = 1
        FILE_WRITE_ERROR    = 2
        INVALID_FILESIZE    = 3
        INVALID_TABLE_WIDTH = 4
        INVALID_TYPE        = 5
        NO_BATCH            = 6
        UNKNOWN_ERROR       = 7
        OTHERS              = 8.
  ENDIF.
  TITULOS-TEXT = ' N°DE PORTE'.
  APPEND TITULOS.
  TITULOS-TEXT = ' VALOR NETO '.
  APPEND TITULOS.
  TITULOS-TEXT = ' DOCUMENTO DE COMPRA '.
  APPEND TITULOS.
  TITULOS-TEXT = ' AGENTE DE SERVICIO '.
  APPEND TITULOS.
  TITULOS-TEXT = ' DOCUMENTO DE REFERENCIA'.
  APPEND TITULOS.
  CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
      FILE_NAME                 = FILENAME
    TABLES
      DATA_TAB                  = LT_INTERNA
      FIELDNAMES                = TITULOS
    EXCEPTIONS
      FILE_NOT_EXIST            = 1
      FILENAME_EXPECTED         = 2
      COMMUNICATION_ERROR       = 3
      OLE_OBJECT_METHOD_ERROR   = 4
      OLE_OBJECT_PROPERTY_ERROR = 5
      INVALID_PIVOT_FIELDS      = 6
      DOWNLOAD_PROBLEM          = 7
      OTHERS                    = 8.
ENDFORM.                    "GRABAR_ARCHIVO
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment