Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="utf-8"?>
- <nugget name="ZCIEC07">
- <PROG NAME="ZFIR001_07" VARCL="X" SUBC="1" APPL="*" RSTAT="K" RMAND="800" RLOAD="E" FIXPT="X" UCCHECK="X">
- <textPool>
- <language SPRAS="E">
- <textElement ID="R" ENTRY="Report ZFIR001_07" LENGTH="17 "/>
- <textElement ID="S" KEY="VALOR1" ENTRY=" Empresa" LENGTH="15 "/>
- <textElement ID="S" KEY="VALOR2" ENTRY=" Ano" LENGTH="13 "/>
- <textElement ID="S" KEY="VALOR3" ENTRY=" Id" LENGTH="13 "/>
- </language>
- </textPool>
- <dynpros>
- <dynpro PROG="ZFIR001_07" DNUM="0100" FNUM="0100" BZMX="23 " BZBR="119 " MILI="192 " MICO="37 " MALI="0 " MACO="0 " NOLI="27 " NOCO="120 " VALP="0 " CUAN="G" SPRA="E" DTEXT="Selecione o Documento">
- <dynprofield FNAM="CONTAINER" DIDX="000D" FLG1="00" FLG2="00" FLG3="00" FILL="U" FMB1="30" FMB2="00" LENG="77" LINE="01" COLN="02" LANF="00" LBLK="00" LREP="00" AUTH="101" AGLT="01" ADEZ="01"/>
- <dynprofield FNAM="CONTAINER_1" DIDX="0009" FLG1="00" FLG2="00" FLG3="00" FILL="U" FMB1="30" FMB2="00" LENG="77" LINE="0F" COLN="02" LANF="00" LBLK="00" LREP="00" AUTH="102" AGLT="01" ADEZ="01"/>
- <dynprofield FNAM="OK_CODE" DIDX="0000" FLG1="80" FLG2="10" FLG3="00" FMB1="00" FMB2="00" LENG="14" LINE="FF" COLN="01" LTYP="O" LANF="00" LBLK="00" LREP="00" TYPE="CHAR" AGLT="00" ADEZ="00" STXT="____________________"/>
- <dynproflowsource>PROCESS BEFORE OUTPUT.
- MODULE CRIA_MENUS.
- MODULE CRIA_GRID.
- PROCESS AFTER INPUT.
- MODULE LER_BOTAO_CLICADO.</dynproflowsource>
- </dynpro>
- </dynpros>
- <pfstatus>
- <pfstatus_sta CODE="DYNPROSTATUS" MODAL="D" ACTCODE="000001" PFKCODE="000001" BUTCODE="0001" INT_NOTE="Menu"/>
- <pfstatus_fun CODE="BACK" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Back"/>
- <pfstatus_fun CODE="EXIT" TEXTNO="001" TEXT_TYPE="S" FUN_TEXT="Exit"/>
- <pfstatus_pfk CODE="000001" PFNO="03" FUNCODE="BACK" FUNNO="001"/>
- <pfstatus_pfk CODE="000001" PFNO="15" FUNCODE="EXIT" FUNNO="001"/>
- <pfstatus_set STATUS="DYNPROSTATUS" FUNCTION="BACK"/>
- <pfstatus_set STATUS="DYNPROSTATUS" FUNCTION="EXIT"/>
- <pfstatus_doc OBJ_TYPE="A" OBJ_CODE="000001" MODAL="D" INT_NOTE="Menu"/>
- <pfstatus_doc OBJ_TYPE="P" OBJ_CODE="000001" MODAL="D" INT_NOTE="Menu"/>
- <pfstatus_doc OBJ_TYPE="B" OBJ_CODE="000001" SUB_CODE="0001" MODAL="D" INT_NOTE="Menu"/>
- <pfstatus_tit CODE="TITLE1" TEXT="Relatório de Documentos Contábeis"/>
- </pfstatus>
- <source>*&---------------------------------------------------------------------*
- *& Report ZFIR001_07
- *&
- *&---------------------------------------------------------------------*
- *&
- *&
- *&---------------------------------------------------------------------*
- REPORT ZFIR001_07.
- TYPES: BKPF_TAB TYPE STANDARD TABLE OF BKPF
- WITH NON-UNIQUE KEY BUKRS BELNR GJAHR.
- DATA BKPF_DATA TYPE BKPF_TAB.
- INCLUDE ZFIR001_07_CLASSES.
- DATA: OK_CODE TYPE SY-UCOMM.
- DATA: GO_HANDLER TYPE REF TO LCL_EVENT_HANDLER,
- GO_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
- GO_ALV_GRID TYPE REF TO CL_GUI_ALV_GRID.
- DATA: SELECAO TYPE BKPF.
- INCLUDE ZFIR001_07_TOP.
- *opções pro cara escolher
- SELECT-OPTIONS:
- VALOR1 FOR SELECAO-BUKRS OBLIGATORY,
- VALOR2 FOR SELECAO-GJAHR OBLIGATORY,
- VALOR3 FOR SELECAO-BELNR.
- START-OF-SELECTION.
- SELECT * FROM BKPF INTO TABLE BKPF_DATA
- WHERE BUKRS IN VALOR1
- AND GJAHR IN VALOR2
- AND BELNR IN VALOR3.
- CALL SCREEN '0100'.</source>
- </PROG>
- <PROG NAME="ZFIR001_07_TOP" VARCL="X" SUBC="I" APPL="*" RSTAT="K" RMAND="800" RLOAD="E" UCCHECK="X">
- <textPool>
- <language SPRAS="E">
- <textElement ID="R" ENTRY="Include ZFIR001_07_TOP" LENGTH="22 "/>
- </language>
- </textPool>
- <source>MODULE CRIA_GRID OUTPUT.
- IF GO_CONTAINER IS NOT BOUND.
- CREATE OBJECT GO_CONTAINER
- EXPORTING
- CONTAINER_NAME = 'CONTAINER'
- EXCEPTIONS
- OTHERS = 6.
- IF SY-SUBRC <> 0.
- MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
- WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
- ENDIF.
- CREATE OBJECT GO_ALV_GRID
- EXPORTING
- I_PARENT = GO_CONTAINER
- EXCEPTIONS
- OTHERS = 5.
- IF SY-SUBRC <> 0.
- MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
- WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
- ENDIF.
- CREATE OBJECT GO_HANDLER.
- IF SY-SUBRC <> 0.
- MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
- WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
- ENDIF.
- ENDIF.
- CREATE OBJECT GO_HANDLER.
- SET HANDLER GO_HANDLER->ON_DOUBLE_CLICK FOR GO_ALV_GRID.
- CALL METHOD GO_ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY
- EXPORTING
- I_STRUCTURE_NAME = 'BKPF'
- CHANGING
- IT_OUTTAB = BKPF_DATA
- EXCEPTIONS
- OTHERS = 4.
- IF SY-SUBRC <> 0.
- MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
- WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
- ENDIF.
- ENDMODULE.
- *&---------------------------------------------------------------------*
- *& Module cria_menus OUTPUT
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- MODULE CRIA_MENUS OUTPUT.
- SET PF-STATUS 'DYNPROSTATUS'.
- SET TITLEBAR 'TITLE1'.
- ENDMODULE.
- *&---------------------------------------------------------------------*
- *& Module LER_BOTAO_CLICADO INPUT
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- MODULE LER_BOTAO_CLICADO INPUT.
- CASE OK_CODE.
- WHEN 'BACK'.
- SET SCREEN 0.
- WHEN 'EXIT'.
- LEAVE PROGRAM.
- ENDCASE.
- ENDMODULE.</source>
- </PROG>
- <PROG NAME="ZFIR001_07_CLASSES" VARCL="X" SUBC="I" APPL="*" RSTAT="K" RMAND="800" RLOAD="E" UCCHECK="X">
- <textPool>
- <language SPRAS="E">
- <textElement ID="R" ENTRY="Include ZFIR001_07_CLASSES" LENGTH="26 "/>
- </language>
- </textPool>
- <source>*----------------------------------------------------------------------*
- ***INCLUDE ZFIR001_07_CLASSES.
- *----------------------------------------------------------------------*
- *---------------------------------------------------------------------*
- * CLASS lcl_event_handler DEFINITION
- *---------------------------------------------------------------------*
- *
- *---------------------------------------------------------------------*
- CLASS LCL_EVENT_HANDLER DEFINITION.
- PUBLIC SECTION.
- METHODS ON_DOUBLE_CLICK FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID IMPORTING ES_ROW_NO E_COLUMN.
- TYPES: BSEG_TAB TYPE STANDARD TABLE OF BSEG.
- DATA: GO_HANDLER_1 TYPE REF TO LCL_EVENT_HANDLER,
- GO_CONTAINER_1 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
- GO_ALV_GRID_1 TYPE REF TO CL_GUI_ALV_GRID.
- DATA: GT_SPFLI_1 TYPE BSEG_TAB.
- PRIVATE SECTION.
- ENDCLASS. "lcl_event_handler DEFINITION
- *---------------------------------------------------------------------*
- * CLASS lcl_event_handler IMPLEMENTATION
- *---------------------------------------------------------------------*
- *
- *---------------------------------------------------------------------*
- CLASS LCL_EVENT_HANDLER IMPLEMENTATION.
- METHOD ON_DOUBLE_CLICK.
- DATA SELECAO TYPE BKPF.
- READ TABLE BKPF_DATA INTO SELECAO
- INDEX ES_ROW_NO-ROW_ID.
- SELECT * FROM BSEG INTO TABLE GT_SPFLI_1
- WHERE BUKRS = SELECAO-BUKRS
- AND BELNR = SELECAO-BELNR
- AND GJAHR = SELECAO-GJAHR.
- IF GO_CONTAINER_1 IS NOT BOUND.
- CREATE OBJECT GO_CONTAINER_1
- EXPORTING
- CONTAINER_NAME = 'CONTAINER_1'
- EXCEPTIONS
- OTHERS = 6.
- IF SY-SUBRC <> 0.
- MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
- WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
- ENDIF.
- CREATE OBJECT GO_ALV_GRID_1
- EXPORTING
- I_PARENT = GO_CONTAINER_1
- EXCEPTIONS
- OTHERS = 5.
- IF SY-SUBRC <> 0.
- MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
- WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
- ENDIF.
- CALL METHOD GO_ALV_GRID_1->SET_TABLE_FOR_FIRST_DISPLAY
- EXPORTING
- I_STRUCTURE_NAME = 'BSEG'
- CHANGING
- IT_OUTTAB = GT_SPFLI_1
- EXCEPTIONS
- OTHERS = 4.
- IF SY-SUBRC <> 0.
- MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
- WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
- ENDIF.
- ELSE.
- CALL METHOD GO_ALV_GRID_1->SET_TABLE_FOR_FIRST_DISPLAY
- EXPORTING
- I_STRUCTURE_NAME = 'BSEG'
- CHANGING
- IT_OUTTAB = GT_SPFLI_1
- EXCEPTIONS
- OTHERS = 4.
- CALL METHOD GO_ALV_GRID_1->REFRESH_TABLE_DISPLAY.
- IF SY-SUBRC <> 0.
- MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
- WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
- ENDIF.
- ENDIF.
- ENDMETHOD.
- ENDCLASS.</source>
- </PROG>
- <PROG NAME="ZFII001_07" VARCL="X" SUBC="1" APPL="*" RSTAT="K" RMAND="800" RLOAD="E" FIXPT="X" UCCHECK="X">
- <textPool>
- <language SPRAS="E">
- <textElement ID="R" ENTRY="Program ZFII001_07" LENGTH="18 "/>
- <textElement ID="S" KEY="P_FILE" ENTRY=" Destino" LENGTH="15 "/>
- <textElement ID="S" KEY="VALOR1" ENTRY=" Empresa" LENGTH="15 "/>
- <textElement ID="S" KEY="VALOR2" ENTRY=" Ano" LENGTH="11 "/>
- <textElement ID="S" KEY="VALOR3" ENTRY=" ID" LENGTH="10 "/>
- </language>
- </textPool>
- <pfstatus>
- <pfstatus_tit CODE="TITLE" TEXT="Dados de lançamento contábil para legado"/>
- </pfstatus>
- <source>*&---------------------------------------------------------------------*
- *& Report ZFII001_07
- *&---------------------------------------------------------------------*
- *&
- *&---------------------------------------------------------------------*
- REPORT ZFII001_07.
- TYPES: BKPF_TAB TYPE STANDARD TABLE OF BKPF
- WITH NON-UNIQUE KEY BUKRS BELNR GJAHR.
- TYPES: BEGIN OF COLUNAS_BKPF,
- BUKRS TYPE BKPF-BUKRS,
- BELNR TYPE BKPF-BELNR,
- NDOC TYPE BKPF-BELNR,
- BUDAT TYPE BKPF-BUDAT,
- WAERS TYPE BKPF-WAERS,
- GJAHR TYPE BKPF-GJAHR,
- BLDAT TYPE BKPF-BLDAT,
- END OF COLUNAS_BKPF.
- TYPES:
- BEGIN OF COLUNAS_BSEG,
- BUZEI TYPE BSEG-BUZEI,
- SAKNR TYPE BSEG-SAKNR,
- BSCHL TYPE BSEG-BSCHL,
- SHKZG TYPE BSEG-SHKZG,
- DMBTR TYPE BSEG-DMBTR,
- WRBTR TYPE BSEG-WRBTR,
- AUGBL TYPE BSEG-AUGBL,
- UMSKZ TYPE BSEG-UMSKZ,
- END OF COLUNAS_BSEG.
- DATA: SELECAO TYPE BKPF,
- ARQUIVO TYPE STRING,
- LD_PATH TYPE STRING,
- ENDERECO TYPE STRING VALUE '\\wdflbmt5078\CommonTraining_Fence\train-07\My Documents\SAP\relatorio.txt',
- LD_RESULT TYPE I,
- GD_FILE TYPE C,
- BKPF_DATA TYPE BKPF_TAB,
- LINHA_BKPF TYPE COLUNAS_BKPF,
- LD_VAR TYPE STRING,
- LD_DC TYPE STRING,
- LINHA_BSEG TYPE COLUNAS_BSEG,
- DADOS_SAIDA TYPE TABLE_OF_STRINGS,
- IT_BKPF TYPE STANDARD TABLE OF COLUNAS_BKPF,
- IT_BSEG TYPE STANDARD TABLE OF COLUNAS_BSEG,
- TOT_ITENS TYPE I VALUE 0,
- VALOR TYPE DMBTR.
- SET TITLEBAR 'TITLE' .
- SELECT-OPTIONS:
- VALOR1 FOR SELECAO-BUKRS OBLIGATORY,
- VALOR2 FOR SELECAO-GJAHR OBLIGATORY,
- VALOR3 FOR SELECAO-BELNR.
- SELECTION-SCREEN BEGIN OF BLOCK M WITH FRAME.
- PARAMETERS: P_FILE TYPE RLGRAP-FILENAME.
- SELECTION-SCREEN END OF BLOCK M.
- AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
- CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
- EXPORTING
- DEFAULT_EXTENSION = 'TXT'
- DEFAULT_FILE_NAME = 'relatorio'
- INITIAL_DIRECTORY = '\\wdflbmt5078\CommonTraining_Fence\train-07\My Documents\SAP\'
- CHANGING
- FILENAME = ARQUIVO
- PATH = LD_PATH
- FULLPATH = ENDERECO
- USER_ACTION = LD_RESULT.
- P_FILE = ENDERECO.
- START-OF-SELECTION.
- SELECT * FROM BKPF INTO TABLE BKPF_DATA
- WHERE BUKRS IN VALOR1
- AND GJAHR IN VALOR2
- AND BELNR IN VALOR3.
- IF SY-SUBRC <> 0.
- MESSAGE 'Nenhuma informação encontrada.'(003) TYPE 'E'.
- ELSE.
- LOOP AT BKPF_DATA INTO LINHA_BKPF.
- APPEND 'Header' TO DADOS_SAIDA.
- CONCATENATE LINHA_BKPF-BUKRS
- LINHA_BKPF-GJAHR
- LINHA_BKPF-BELNR
- LINHA_BKPF-BLDAT
- LINHA_BKPF-WAERS
- INTO LD_VAR SEPARATED BY ';'.
- APPEND LD_VAR TO DADOS_SAIDA.
- APPEND 'Item' TO DADOS_SAIDA.
- SELECT BUZEI
- UMSKZ
- BSCHL
- SHKZG
- DMBTR
- FROM BSEG
- INTO CORRESPONDING FIELDS OF TABLE IT_BSEG
- WHERE
- BUKRS EQ LINHA_BKPF-BUKRS AND
- GJAHR EQ LINHA_BKPF-GJAHR AND
- BELNR EQ LINHA_BKPF-BELNR.
- "começa a criar as linhas
- LOOP AT IT_BSEG INTO LINHA_BSEG.
- TOT_ITENS = TOT_ITENS + 1.
- IF LINHA_BSEG-SHKZG = 'H'.
- VALOR = VALOR + LINHA_BSEG-DMBTR.
- ENDIF.
- LD_DC = LINHA_BSEG-DMBTR.
- CONCATENATE LINHA_BSEG-BUZEI
- LINHA_BSEG-AUGBL
- LINHA_BSEG-BSCHL
- LINHA_BSEG-SHKZG
- LD_DC
- INTO LD_VAR SEPARATED BY ';'.
- APPEND LD_VAR TO DADOS_SAIDA.
- ENDLOOP.
- ENDLOOP.
- APPEND 'Trailer' TO DADOS_SAIDA.
- DATA:
- QUANTIDADE_STR TYPE STRING,
- TOTAL TYPE STRING.
- QUANTIDADE_STR = TOT_ITENS.
- TOTAL = VALOR.
- CONCATENATE QUANTIDADE_STR
- TOTAL
- INTO LD_VAR SEPARATED BY ';'.
- APPEND LD_VAR TO DADOS_SAIDA.
- CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
- EXPORTING
- FILENAME = ENDERECO
- CHANGING
- DATA_TAB = DADOS_SAIDA
- EXCEPTIONS
- OTHERS = 1.
- IF SY-SUBRC = 1.
- MESSAGE 'Erro na gracação do arquivo.'(004) TYPE 'E'.
- ELSE.
- MESSAGE 'Arquivo gerado com sucesso.'(005) TYPE 'I'.
- ENDIF.
- ENDIF.</source>
- </PROG>
- <TRAN TCODE="ZFII001_07" PGMNA="ZFII001_07" DYPNO="1000" CINFO="00">
- <tstct SPRSL="E" TCODE="ZFII001_07" TTEXT="Dados de lançamento contábil para"/>
- <tstcc TCODE="ZFII001_07" S_WIN32="X"/>
- <tstcp/>
- <rsstcd ST_PROG="X" DEVCLASS="$TMP"/>
- </TRAN>
- </nugget>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement