*----------------------------------------------------------------------*
* DECLARATIONS *
*----------------------------------------------------------------------*
DATA: gt_fcat TYPE lvc_t_fcat,
gs_fcat TYPE lvc_s_fcat.
FIELD-SYMBOLS: <gf_table> TYPE STANDARD TABLE,
<gf_line> TYPE any,
<gf_campo> TYPE any.
*----------------------------------------------------------------------*
* LAYOUT *
*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
PARAMETERS: pa_begda TYPE begda OBLIGATORY,
pa_endda TYPE endda OBLIGATORY,
pa_kurst TYPE kurst OBLIGATORY,
pa_fname TYPE string LOWER CASE,
pa_fout TYPE localfile.
SELECTION-SCREEN END OF BLOCK b1.
*----------------------------------------------------------------------*
* EVENTS *
*----------------------------------------------------------------------*
AT SELECTION-SCREEN OUTPUT.
pa_fname = 'Exchange_Rates.csv'.
CONCATENATE '/IFR/' sy-sysid '/EXPORT/'
INTO pa_fout.
*----------------------------------------------------------------------*
* PROGRAM BODY *
*----------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM get_data.
END-OF-SELECTION.
PERFORM save_remote.
*----------------------------------------------------------------------*
* FORM GET_DATA *
*----------------------------------------------------------------------*
FORM get_data.
DATA: lv_col_pos TYPE i,
lt_newtable TYPE REF TO data,
lt_newline TYPE REF TO data,
lr_waers TYPE RANGE OF waers,
lv_datum TYPE datum,
lv_gdatu TYPE gdatu_inv,
lv_dest(6) TYPE c.
DATA: BEGIN OF lt_tcurr OCCURS 0.
INCLUDE STRUCTURE tcurr.
DATA: END OF lt_tcurr.
SELECT sign opti low high
FROM tvarvc
INTO TABLE lr_waers
WHERE name = 'ZCUKY'
AND type = 'S'.
ADD 1 TO lv_col_pos.
gs_fcat-col_pos = lv_col_pos.
gs_fcat-fieldname = 'KTEXT'.
gs_fcat-tabname = 'ITAB'.
gs_fcat-key = 'X'.
gs_fcat-emphasize = 'K41'.
gs_fcat-datatype = 'CHAR'.
gs_fcat-inttype = 'C'.
gs_fcat-intlen = '15'.
gs_fcat-lowercase = 'X'.
gs_fcat-reptext = 'valuta target'.
gs_fcat-domname = 'TEXT15'.
gs_fcat-dd_outlen = '15'.
gs_fcat-scrtext_l = 'Target currency'.
gs_fcat-scrtext_m = 'Target currency'.
gs_fcat-scrtext_s = 'Target currency'.
APPEND gs_fcat TO gt_fcat.
LOOP AT lr_waers INTO DATA(ls_waers).
ADD 1 TO lv_col_pos.
gs_fcat-col_pos = lv_col_pos.
gs_fcat-fieldname = ls_waers-low.
gs_fcat-datatype = 'DEC'.
gs_fcat-inttype = 'P'.
gs_fcat-intlen = '9'.
gs_fcat-lowercase = ''.
gs_fcat-reptext = ls_waers-low.
gs_fcat-domname = 'UKURS'.
gs_fcat-dd_outlen = '12'.
gs_fcat-decimals = '5'.
gs_fcat-scrtext_l = ls_waers-low.
gs_fcat-scrtext_m = ls_waers-low.
gs_fcat-scrtext_s = ls_waers-low.
APPEND gs_fcat TO gt_fcat.
ENDLOOP.
ADD 1 TO lv_col_pos.
gs_fcat-col_pos = lv_col_pos.
gs_fcat-fieldname = 'DATUM'.
gs_fcat-datatype = 'DATS'.
gs_fcat-inttype = 'D'.
gs_fcat-intlen = '8'.
gs_fcat-reptext = 'Date'.
gs_fcat-domname = 'DATUM'.
gs_fcat-dd_outlen = '10'.
gs_fcat-decimals = '0'.
gs_fcat-scrtext_l = 'Date'.
gs_fcat-scrtext_m = 'Date'.
gs_fcat-scrtext_s = 'Date'.
APPEND gs_fcat TO gt_fcat.
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = gt_fcat
IMPORTING
ep_table = lt_newtable
EXCEPTIONS
generate_subpool_dir_full = 1
OTHERS = 2.
IF sy-subrc IS INITIAL.
ASSIGN lt_newtable->* TO <gf_table>.
ENDIF.
APPEND INITIAL LINE TO <gf_table>.
CREATE DATA lt_newline LIKE LINE OF <gf_table>.
ASSIGN lt_newline->* TO <gf_line>.
CASE sy-sysid.
WHEN 'PRD'.
lv_dest = 'PRD001'.
WHEN 'DEV'.
lv_dest = 'DEV001'.
WHEN OTHERS.
lv_dest = 'QAS001'.
ENDCASE.
CALL FUNCTION 'ZFM_READ_TCURR'
DESTINATION lv_dest
EXPORTING
i_kurst = pa_kurst
i_tcurr = 'EUR'
i_begda = pa_begda
i_endda = pa_endda
TABLES
t_tcurr = lt_tcurr.
DELETE lt_tcurr WHERE fcurr NOT IN lr_waers.
lv_datum = pa_begda.
WHILE lv_datum <= pa_endda.
CONVERT DATE lv_datum INTO INVERTED-DATE lv_gdatu.
LOOP AT lt_tcurr INTO DATA(ls_tcurr) WHERE gdatu = lv_gdatu.
ASSIGN COMPONENT ls_tcurr-fcurr OF STRUCTURE <gf_line> TO <gf_campo>.
IF ls_tcurr-ukurs < 0.
<gf_campo> = ls_tcurr-ukurs * -1.
ENDIF.
IF ls_tcurr-ffact > 1.
<gf_campo> = ls_tcurr-ukurs * ls_tcurr-ffact.
ENDIF.
IF ls_tcurr-tfact > 1.
<gf_campo> = ls_tcurr-ukurs * ls_tcurr-tfact.
ENDIF.
ENDLOOP.
IF <gf_campo> IS ASSIGNED.
ASSIGN COMPONENT 'KTEXT' OF STRUCTURE <gf_line> TO <gf_campo>.
<gf_campo> = 'Euro'.
ASSIGN COMPONENT 'DATUM' OF STRUCTURE <gf_line> TO <gf_campo>.
<gf_campo> = lv_datum.
APPEND <gf_line> TO <gf_table>.
ENDIF.
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
date = lv_datum
days = 1
months = 0
signum = '+'
years = 0
IMPORTING
calc_date = lv_datum.
UNASSIGN <gf_campo>.
ENDWHILE.
DELETE <gf_table> INDEX 1.
ENDFORM.
*----------------------------------------------------------------------*
* FORM SAVE_REMOTE *
*----------------------------------------------------------------------*
FORM save_remote.
DATA: lt_exec_protocol TYPE TABLE OF btcxpm,
lv_file TYPE btcxpgpar,
lv_localfile TYPE localfile,
lv_line TYPE string,
lv_char(10),
lv_index TYPE i,
lv_type TYPE c.
CONCATENATE pa_fout
pa_fname
INTO lv_localfile.
OPEN DATASET lv_localfile FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
LOOP AT gt_fcat INTO gs_fcat.
CONCATENATE lv_line '"' gs_fcat-scrtext_l '"' ';'
INTO lv_line.
ENDLOOP.
TRANSFER lv_line TO lv_localfile.
CLEAR lv_line.
LOOP AT <gf_table> ASSIGNING <gf_line>.
DO.
ADD 1 TO lv_index.
ASSIGN COMPONENT lv_index OF STRUCTURE <gf_line> TO <gf_campo>.
IF sy-subrc = 0.
CLEAR lv_type.
DESCRIBE FIELD <gf_campo> TYPE lv_type.
CASE lv_type.
WHEN 'P'.
lv_char = <gf_campo>.
TRANSLATE lv_char USING '.,'.
CONDENSE lv_char.
CONCATENATE lv_line '"' lv_char '"' ';'
INTO lv_line.
WHEN 'D'.
CONCATENATE lv_line '"' <gf_campo>+6(2) '/' <gf_campo>+4(2) '/' <gf_campo>+0(4) '"' ';'
INTO lv_line.
WHEN OTHERS.
CONCATENATE lv_line '"' <gf_campo> '"' ';'
INTO lv_line.
ENDCASE.
ELSE.
CLEAR lv_index.
EXIT.
ENDIF.
ENDDO.
TRANSFER lv_line TO lv_localfile.
CLEAR lv_line.
ENDLOOP.
CLOSE DATASET lv_localfile.
lv_file = lv_localfile.
CALL FUNCTION 'SXPG_CALL_SYSTEM'
EXPORTING
commandname = 'ZCHMOD777'
additional_parameters = lv_file
TABLES
exec_protocol = lt_exec_protocol.
WRITE 'File correctly exported'.
ENDFORM.
*----------------------------------------------------------------------*
Pagine
▼
lunedì 26 ottobre 2020
Creazione dinamica di tabelle interne
domenica 18 ottobre 2020
giovedì 15 ottobre 2020
Le volpi del deserto, Paul Carell
Le volpi del deserto
di Paul Carell
Editore: BUR Biblioteca Univ. Rizzoli
Lingua: Italiano | Numero di pagine: 608 | ISBN-13: 9788817258340 | Data di pubblicazione: 01/01/1999 | Traduttore: M. Calaresu | Genere: Storia
domenica 11 ottobre 2020
Guile n
| English | Italiano | |
| guile n | (cleverness, cunning) | scaltrezza nf |
| Her guile enabled them to get through customs quickly. | ||
| La sua scaltrezza li fece passare velocemente la dogana. | ||
| guile n | (deceit, trickery) | furbizia, astuzia nf |
| Don't resort to guile to get the job; it's not worth it. | ||
| Non ricorrere alla furbizia per ottenere il lavoro, non ne vale la pena. | ||
the defeat of an evil king through guile and magic by Lord Vishnu, in the form of a Man-Lion
la sconfitta di un re malvagio attraverso l’astuzia e la magia da parte del dio Vishnu, sotto forma di un Uomo-Leone
