mercoledì 30 novembre 2016

Eligible for [sth] adj + prep

/ˈɛlɪdʒəbəl/

Traducendo Dwar7s Fall ho imparato questo vocabolo.

EnglishItaliano
eligible adj(entitled)idoneo, qualificato agg
The foreigner's application for state benefits was rejected, as he wasn't eligible.
La richiesta di benefici del cittadino straniero è stata respinta perché non era idoneo.
eligible for [sth] adj + prep(entitled to claim)avere diritto a [qlcs], avere i requisiti per [qlcs] vtr
We are eligible for a tax credit because of the energy-efficient furnace we installed.
Abbiamo diritto a una detrazione fiscale grazie alla caldaia ad alta efficienza che abbiamo installato.

Kingdom: To be eligible for these points, you need to have your castle tile in play and not blocked by a frost giant.
Regno: Per aver diritto a questi punti, dovete avere la vostra tessera castello in gioco e non bloccata da un gigante del gelo.

martedì 29 novembre 2016

Scrittura dei documenti di modifica per KNA1 e KNVV

*----------------------------------------------------------------------*
* FORM DOCUM_MODIF_DEBI                                                *
*----------------------------------------------------------------------*
FORM docum_modif_debi.

  DATA: lv_objectid    LIKE CDHDR-OBJECTID,
        ls_n_kna1      LIKE KNA1,
        ls_o_kna1      LIKE KNA1,
        dummy_knb1     LIKE KNB1,
*        ls_n_knvv      LIKE knvv,
*        ls_o_knvv      LIKE knvv,
        lt_dummy_knas  TYPE FKNAS  OCCURS 0,
        lt_dummy_knat  TYPE FKNAT  OCCURS 0,
        lt_dummy_knb5  TYPE FKNB5  OCCURS 0,
        lt_dummy_knbk  TYPE FKNBK  OCCURS 0,
        lt_dummy_knbw  TYPE FKNBW  OCCURS 0,
        lt_dummy_knex  TYPE FKNEX  OCCURS 0,
        lt_dummy_knva  TYPE FKNVA  OCCURS 0,
        lt_dummy_knvd  TYPE FKNVD  OCCURS 0,
        lt_dummy_knvi  TYPE FKNVI  OCCURS 0,
        lt_dummy_knvk  TYPE FKNVK  OCCURS 0,
        lt_dummy_knvl  TYPE FKNVL  OCCURS 0,
        lt_dummy_knvp  TYPE FKNVP  OCCURS 0,
        lt_dummy_knvs  TYPE FKNVS  OCCURS 0,
        lt_dummy_knza  TYPE FKNZA  OCCURS 0,
        lt_dummy_lfas  TYPE FLFAS  OCCURS 0,
        lt_dummy_lfat  TYPE FLFAT  OCCURS 0,
        lt_dummy_lfb5  TYPE FLFB5  OCCURS 0,
        lt_dummy_lfbk  TYPE FLFBK  OCCURS 0,
        lt_dummy_lfbw  TYPE FLFBW  OCCURS 0,
        lt_dummy_lfei  TYPE FLFEI  OCCURS 0,
        lt_dummy_lflr  TYPE FLFLR  OCCURS 0,
        lt_dummy_lfm2  TYPE FLFM2  OCCURS 0,
        lt_dummy_lfza  TYPE FLFZA  OCCURS 0,
        lt_dummy_wyt1  TYPE FWYT1  OCCURS 0,
        lt_dummy_wyt1t TYPE FWYT1T OCCURS 0,
        lt_dummy_wyt3  TYPE FWYT3  OCCURS 0.

  DATA: t_cp_data LIKE BDI_CHPTR OCCURS 0 WITH HEADER LINE.

  DATA: BEGIN OF t_tbd62 OCCURS 10.
          INCLUDE STRUCTURE TBD62.
  DATA: END OF t_tbd62.

  IF ls_o_kna1 = ls_n_kna1 AND
     gs_o_knvv = gs_n_knvv.
*Modifica fittizia per forzare la creazione del change document
    gs_o_knvv-vsort = '*'.
  ENDIF.

  lv_objectid = gt_out-kunnr.

  CALL FUNCTION 'DEBI_WRITE_DOCUMENT'
    EXPORTING
      OBJECTID                = lv_objectid
      TCODE                   = SY-TCODE
      UTIME                   = SY-UZEIT
      UDATE                   = SY-DATLO
      USERNAME                = SY-UNAME
      OBJECT_CHANGE_INDICATOR = 'U'
      N_KNA1                  = ls_n_kna1
      O_YKNA1                 = ls_o_kna1
      UPD_KNA1                = ''
      N_KNB1                  = dummy_knb1
      O_YKNB1                 = dummy_knb1
      N_KNVV                  = gs_n_knvv
      O_YKNVV                 = gs_o_knvv
      UPD_KNVV                = 'U'
    TABLES
      XKNAS                   = lt_dummy_knas
      YKNAS                   = lt_dummy_knas
      XKNAT                   = lt_dummy_knat
      YKNAT                   = lt_dummy_knat
      XKNB5                   = lt_dummy_knb5
      YKNB5                   = lt_dummy_knb5
      XKNBK                   = lt_dummy_knbk
      YKNBK                   = lt_dummy_knbk
      XKNBW                   = lt_dummy_knbw
      YKNBW                   = lt_dummy_knbw
      XKNEX                   = lt_dummy_knex
      YKNEX                   = lt_dummy_knex
      XKNVA                   = lt_dummy_knva
      YKNVA                   = lt_dummy_knva
      XKNVD                   = lt_dummy_knvd
      YKNVD                   = lt_dummy_knvd
      XKNVI                   = lt_dummy_knvi
      YKNVI                   = lt_dummy_knvi
      XKNVK                   = lt_dummy_knvk
      YKNVK                   = lt_dummy_knvk
      XKNVL                   = lt_dummy_knvl
      YKNVL                   = lt_dummy_knvl
      XKNVP                   = lt_dummy_knvp
      YKNVP                   = lt_dummy_knvp
      XKNVS                   = lt_dummy_knvs
      YKNVS                   = lt_dummy_knvs
      XKNZA                   = lt_dummy_knza
      YKNZA                   = lt_dummy_knza.

* scrittura indicatori di modifica
* Ricerca modifiche campo campo

*  IF gs_pai-kna1 NE gs_pbo-kna1.
*    CONCATENATE sy-mandt gs_pai-key-kunnr INTO t_cp_data-tabkey.
*    PERFORM t_cp_data_fill TABLES t_cp_data
*                           USING 'KNA1' gs_pbo-kna1 gs_pai-kna1
*                                 'DEBI'.
*  ENDIF.
*
*  IF gs_pai-knvv NE gs_pbo-knvv.
*    CONCATENATE sy-mandt gs_pai-key-kunnr gs_pai-key-vkorg
*                gs_pai-key-vtweg gs_pai-key-spart
*                INTO t_cp_data-tabkey.
*    PERFORM t_cp_data_fill TABLES t_cp_data
*                           USING 'KNVV' gs_pbo-knvv gs_pai-knvv
*                                 'DEBI'.
*  ENDIF.
*
*  IF gs_pai-blc_st NE gs_pbo-blc_st.
*    CONCATENATE sy-mandt gs_pai-key-kunnr gs_pai-key-j_3asean
*                INTO t_cp_data-tabkey.
*    PERFORM t_cp_data_fill TABLES t_cp_data
*                        USING 'ZSBP_BLC_ST' gs_pbo-blc_st gs_pai-blc_st
*                               'Z_SBPBLCCL'.
*  ENDIF.
*
*  IF gs_pai-chs_st NE gs_pbo-chs_st.
*    CONCATENATE sy-mandt gs_pai-key-kunnr gs_pai-key-j_3asean
*                   INTO t_cp_data-tabkey.
*    PERFORM t_cp_data_fill TABLES t_cp_data
*                       USING 'ZSBP_BLC_ST' gs_pbo-chs_st gs_pai-chs_st
*                             'Z_SBPBLCCL'.
*  ENDIF.
*
*  IF gs_pai-blc_av_st NE gs_pbo-blc_av_st.
*    CONCATENATE sy-mandt gs_pai-key-kunnr gs_pai-key-vkorg
*                gs_pai-key-vtweg gs_pai-key-spart gs_pai-key-j_3asean
*              INTO t_cp_data-tabkey.
*    PERFORM t_cp_data_fill TABLES t_cp_data
*               USING 'ZSBP_BLC_AV_ST' gs_pbo-blc_av_st gs_pai-blc_av_st
*                     'Z_SBPBLCCL'.
*  ENDIF.
*
*  SELECT * FROM tbd62 APPENDING TABLE t_tbd62
*           WHERE mestyp = 'DEBMAS'.
*
*  SORT t_tbd62 BY cdobjcl tabname fldname.
*
*  LOOP AT t_cp_data.
*    READ TABLE t_tbd62 WITH KEY cdobjcl = t_cp_data-cdobjcl
*                                tabname = t_cp_data-tabname
*                                fldname = t_cp_data-fldname
*                    BINARY SEARCH.
*    IF sy-subrc NE 0.
*      DELETE t_cp_data.
*    ENDIF.
*  ENDLOOP.
*
**<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
*
*  IF NOT t_cp_data[] IS INITIAL.
*
** scrive indicatore di modifica di tipo listing
** (facilità di gestione per gli indicatori di modifica)
*
*    REFRESH t_cp_data.
*
*    t_cp_data-tabname  = 'KNA1'.
*    CONCATENATE sy-mandt lv_objectid INTO t_cp_data-tabkey.
*    t_cp_data-fldname  = 'NAME1'.
*    t_cp_data-cdobjcl  = 'DEBITOR'.
*    t_cp_data-cdobjid  = 'P'.
*    t_cp_data-cdchgid  = 'U'.
*    APPEND t_cp_data.
*
*    CALL FUNCTION 'CHANGE_POINTERS_CREATE_DIRECT'
*      EXPORTING
*        message_type = 'DEBMAS'
*      TABLES
*        t_cp_data    = t_cp_data.
*  ENDIF.

ENDFORM.                    " docum_modif_debi

*----------------------------------------------------------------------*
* FORM T_CP_DATA_FILL                                                  *
*----------------------------------------------------------------------*
FORM t_cp_data_fill TABLES t_cp_data STRUCTURE BDI_CHPTR
                    USING  VALUE(tabname)
                           gs_pbo_tab
                           gs_pai_tab
                           VALUE(cdobjcl).

  DATA: ls_ref TYPE REF TO CL_ABAP_STRUCTDESCR.

  FIELD-SYMBOLS: <old>, <new>,
                 <comp> TYPE ABAP_COMPDESCR.

  ls_ref ?= CL_ABAP_TYPEDESCR=>DESCRIBE_BY_DATA( gs_pbo_tab ).

  DO.
    ASSIGN COMPONENT SY-INDEX OF STRUCTURE gs_pai_tab TO <new>.
    IF SY-SUBRC NE 0. EXIT. ENDIF.
    ASSIGN COMPONENT SY-INDEX OF STRUCTURE gs_pbo_tab TO <old>.
    IF <new> <> <old>.
      LOOP AT ls_ref->components ASSIGNING <comp>
          FROM SY-INDEX TO SY-INDEX.
        t_cp_data-tabname  = tabname.
        t_cp_data-fldname  = <comp>-name.
        t_cp_data-cdobjcl  = cdobjcl.
        t_cp_data-cdobjid  = <new>.
        t_cp_data-cdchgid  = 'U'.
        APPEND t_cp_data.
      ENDLOOP.
    ENDIF.
  ENDDO.

ENDFORM.                    " t_cp_data_fill

*----------------------------------------------------------------------*

lunedì 28 novembre 2016

Weft n

/wɛft/

Traducendo Agamemnon ho imparato questo vocabolo.

EnglishItaliano
weft n(threads in weaving)trama nf
The weaver draws the weft through the warp to create the cloth.
Il tessitore intreccia la trama attraverso l'ordito per creare la stoffa.

When a player plays a Weft Tile on a space, it splits all connected Strings at that point.
Quando un giocatore gioca un Gettone Trama su uno spazio, taglia in quel punto tutti i Fili collegati.

sabato 26 novembre 2016

Lure vtr

/lʊə/

Traducendo Forged in Steel ho imparato questo vocabolo.

EnglishItaliano
lure [sb] vtrfigurative (a person)indurre, attirare qlcn con le lusinghe, attirare qlcn con l'inganno, adescare vtr
The policeman lured the criminal into a trap.
Il poliziotto ha attirato il criminale nella trappola con l'inganno.
lure n(fishing)esca nf
The siren's song acts as a lure to passing sailors.
Il canto delle sirene faceva da esca per i marinai di passaggio.

In Figure 11, the top row represents the number of jobs available, luring new immigrants to Pueblo, CO.
Nella Figura 11, la riga superiore presenta il numero di posti di lavoro disponibili, che attirano nuovi immigrati a Pueblo, CO.

mercoledì 23 novembre 2016

Cambiare i permessi di un file sull'Application Server

SM69

*----------------------------------------------------------------------*
* LAYOUT                                                               *
*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
PARAMETERS pa_file TYPE string.
SELECTION-SCREEN END OF BLOCK b1.

*----------------------------------------------------------------------*
* FORM OUTPUT                                                          *
*----------------------------------------------------------------------*
FORM output.

  DATA: lt_exec_protocol TYPE TABLE OF btcxpm,
        lv_file          TYPE btcxpgpar.

  lv_file = pa_file.
  CALL FUNCTION 'SXPG_CALL_SYSTEM'
    EXPORTING
      commandname           = 'ZCHMOD777'
      additional_parameters = lv_file
    TABLES
      exec_protocol         = lt_exec_protocol.

ENDFORM.

*----------------------------------------------------------------------*

giovedì 17 novembre 2016

Se questo è un uomo, Primo Levi

Se questo è un uomo
Di Primo Levi
Editore: Einaudi (Super ET)


Lingua: Italiano | Numero di pagine: 219 | Isbn-13: 9788806219352 | Data di pubblicazione: 2014-xx-xx | Postfazione: Cesare Segre | Genere: Biografia - Narrativa & Letteratura - Storia

martedì 15 novembre 2016

Corsair, Clive Cussler e Jack du Brul

Corsair
Di Clive Cussler, Jack du Brul
Editore: Longanesi (La Gaja scienza)


Lingua: Italiano | Numero di pagine: 478 | Formato: Copertina rigida | Isbn-13: 9788830432468 | Data di pubblicazione: 01/09/2011 | Genere: Narrativa & Letteratura

venerdì 11 novembre 2016

Lettura via RFC di una tabella tramite FM standard

*----------------------------------------------------------------------*
* DECLARATIONS                                                         *
*----------------------------------------------------------------------*
TABLES: bkpf.

TYPES: BEGIN OF ty_bkpf,
         bukrs TYPE bukrs,
         belnr TYPE belnr_d,
         gjahr TYPE gjahr,
         blart TYPE blart,
         bldat TYPE bldat,
         budat TYPE budat,
         bktxt TYPE bktxt,
       END OF ty_bkpf.

DATA BEGIN OF gt_zvim OCCURS 0.
INCLUDE STRUCTURE zvim_wf_det_blkv.
DATA END OF gt_zvim.

DATA: gt_bkpf TYPE STANDARD TABLE OF ty_bkpf,
      gs_bkpf LIKE LINE OF gt_bkpf,
      gt_options TYPE TABLE OF rfc_db_opt,
      gt_fields TYPE TABLE OF rfc_db_fld,
      gt_data TYPE TABLE OF tab512,
      gs_options TYPE rfc_db_opt,
      gs_fields TYPE rfc_db_fld,
      gs_data TYPE tab512.

FIELD-SYMBOLS <gf_field> TYPE any.

*----------------------------------------------------------------------*
* LAYOUT                                                               *
*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: so_bukrs FOR bkpf-bukrs,
                so_belnr FOR bkpf-belnr,
                so_blart FOR bkpf-blart,
                so_bldat FOR bkpf-bldat,
                so_budat FOR bkpf-budat.
SELECTION-SCREEN END OF BLOCK b1.

*----------------------------------------------------------------------*
* PROGRAM BODY                                                         *
*----------------------------------------------------------------------*
START-OF-SELECTION.

  SELECT bukrs belnr gjahr blart bldat budat bktxt
    FROM bkpf
    INTO CORRESPONDING FIELDS OF TABLE gt_bkpf
   WHERE bukrs IN so_bukrs
     AND belnr IN so_belnr
     AND blart IN so_blart
     AND bldat IN so_bldat
     AND budat IN so_budat.

  LOOP AT gt_bkpf INTO gs_bkpf.

    CLEAR gt_options[].
    CONCATENATE 'BUKRS = ''' gs_bkpf-bukrs '''' INTO gs_options-text.
    APPEND gs_options TO gt_options.
    CONCATENATE 'AND BELNR = ''' gs_bkpf-bktxt(10) '''' INTO gs_options-text.
    APPEND gs_options TO gt_options.
    CONCATENATE 'AND GJAHR = ''' gs_bkpf-gjahr '''' INTO gs_options-text.
    APPEND gs_options TO gt_options.
    CALL FUNCTION 'RFC_READ_TABLE'
      DESTINATION 'FIP400'
      EXPORTING
        query_table          = 'ZVIM_WF_DET_BLKV'
      TABLES
        options              = gt_options
        fields               = gt_fields
        data                 = gt_data
      EXCEPTIONS
        table_not_available  = 1
        table_without_data   = 2
        option_not_valid     = 3
        field_not_valid      = 4
        not_authorized       = 5
        data_buffer_exceeded = 6
        OTHERS               = 7.
    IF sy-subrc <> 0.
*      Implement suitable error handling here
    ENDIF.
    LOOP AT gt_data INTO gs_data.
      LOOP AT gt_fields INTO gs_fields.
        IF gs_fields-fieldname = 'BELNR'.
          gt_zvim-belnr = gs_bkpf-belnr.
        ELSE.
          ASSIGN COMPONENT gs_fields-fieldname OF STRUCTURE gt_zvim TO <gf_field>.
          <gf_field> = gs_data+gs_fields-offset(gs_fields-length).
        ENDIF.
      ENDLOOP.
      APPEND gt_zvim.
    ENDLOOP.
    INSERT zvim_wf_det_blkv FROM TABLE gt_zvim.
    CLEAR: gt_data[], gt_zvim[].
 
  ENDLOOP.

END-OF-SELECTION.
  EXIT.

*----------------------------------------------------------------------*

Dwar7s Fall

giovedì 10 novembre 2016

Leggere un file CSV sull'Application Server

*----------------------------------------------------------------------*
* DECLARATIONS                                                         *
*----------------------------------------------------------------------*
TABLES: p9058.

*Strutture
DATA: BEGIN OF gs_dati,
        pernr LIKE p9058-pernr,
        subty LIKE p9058-subty,
        endda LIKE p9058-endda,
        begda LIKE p9058-begda,
        preas LIKE p9058-preas,
        importo(20),
        waers LIKE p9058-waers,
        trfar LIKE p9058-trfar,
        trfgb LIKE p9058-trfgb,
        trfgr LIKE p9058-trfgr,
        trfst LIKE p9058-trfst,
      END OF gs_dati.

*Tabelle
DATA: BEGIN OF gt_bin OCCURS 0,
        dati TYPE string,
      END OF gt_bin.
DATA gt_split TYPE TABLE OF string WITH HEADER LINE.
DATA gt_dati LIKE STANDARD TABLE OF gs_dati WITH HEADER LINE.

*Variabili
DATA gv_type.

*Field-symbols
FIELD-SYMBOLS <gf_campo> TYPE ANY.

*----------------------------------------------------------------------*
* LAYOUT                                                               *
*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_fsrv TYPE string LOWER CASE.
SELECTION-SCREEN END OF BLOCK b1.

*----------------------------------------------------------------------*
* PROGRAM BODY                                                         *
*----------------------------------------------------------------------*
START-OF-SELECTION.

  OPEN DATASET p_fsrv FOR INPUT IN TEXT MODE ENCODING DEFAULT.
  IF sy-subrc IS INITIAL.
    DO.
      CLEAR gt_bin.
      READ DATASET p_fsrv INTO gt_bin-dati.
      IF sy-subrc IS INITIAL.
        APPEND gt_bin.
      ELSE.
        EXIT.
      ENDIF.
    ENDDO.
    CLOSE DATASET p_fsrv.
  ELSE.
    MESSAGE e001. "Errore di apertura file
  ENDIF.

  LOOP AT gt_bin.
    CLEAR: gs_dati, gt_split[].
    SPLIT gt_bin-dati AT ';' INTO TABLE gt_split.
    LOOP AT gt_split.
      ASSIGN COMPONENT sy-tabix OF STRUCTURE gs_dati TO <gf_campo>.
      IF sy-subrc IS INITIAL.
        DESCRIBE FIELD <gf_campo> TYPE gv_type.
        IF gv_type = 'P'.
          TRANSLATE gt_split USING ',.'.
        ENDIF.
        <gf_campo> = gt_split.
      ENDIF.
    ENDLOOP.
    APPEND gs_dati TO gt_dati.
  ENDLOOP.

*----------------------------------------------------------------------*

mercoledì 9 novembre 2016

Caricamento di un infotype

*----------------------------------------------------------------------*
* DECLARATIONS                                                         *
*----------------------------------------------------------------------*
DATA: gv_msg   TYPE STRING,
      gv_count TYPE I,
      gv_total TYPE I.

DATA: BEGIN OF gs_dati,
        pernr       TYPE PERNR_D,
        begda       TYPE BEGDA,
        endda       TYPE ENDDA,
        tipo        TYPE ZTIPO_CMP,
        soglia_imp  TYPE ZSOGLIA_IMP,
        soglia_perc TYPE ZSOGLIA_PERC,
        target_imp  TYPE ZTARGET_IMP,
        target_perc TYPE ZTARGET_PERC,
        cap_imp     TYPE ZCAP_IMP,
        cap_perc    TYPE ZCAP_PERC,
        note        TYPE CHAR50,
        subty       TYPE SUBTY,
        aedtm       TYPE AEDAT,
        uname       TYPE AENAM,
      END OF gs_dati.

DATA: gs_9008   TYPE p9008,
      gs_return TYPE BAPIRETURN1,
      gs_key    TYPE BAPIPAKEY.

DATA gt_dati LIKE STANDARD TABLE OF gs_dati WITH HEADER LINE.

*----------------------------------------------------------------------*
* LAYOUT                                                               *
*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: pa_flcl TYPE STRING LOWER CASE,
            pa_test AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK b1.

*----------------------------------------------------------------------*
* PROGRAM BODY                                                         *
*----------------------------------------------------------------------*
START-OF-SELECTION.
  IF pa_flcl IS INITIAL.
    MESSAGE e002. "Indicare il file locale
  ENDIF.
  PERFORM read_xls.

  IF gt_dati[] IS NOT INITIAL.
    DESCRIBE TABLE gt_dati LINES gv_total.
    LOOP AT gt_dati.
      CLEAR gs_9008.
      MOVE-CORRESPONDING gt_dati TO gs_9008.
      gs_9008-infty = '9008'.
      CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
        EXPORTING
          number = gt_dati-pernr
        IMPORTING
          return = gs_return.
      IF gs_return-type <> 'E'.
        CLEAR: gs_return, gs_key.
        CALL FUNCTION 'HR_INFOTYPE_OPERATION'
          EXPORTING
            INFTY     = '9008'
            NUMBER    = gs_9008-pernr
            RECORD    = gs_9008
            OPERATION = 'INS'
            NOCOMMIT  = pa_test
          IMPORTING
            RETURN    = gs_return
            KEY       = gs_key.
        IF gs_return-type = 'E'.
          CLEAR gv_msg.
          MESSAGE ID gs_return-id
                  TYPE gs_return-type
                  NUMBER gs_return-number
                  WITH gs_return-message_v1
                       gs_return-message_v2
                       gs_return-message_v3
                       gs_return-message_v4
                  INTO gv_msg.
          WRITE: / gt_dati-pernr,
                   gt_dati-begda,
                   gt_dati-endda,
                   gt_dati-subty,
                   '-',
                   gv_msg.
        ELSE.
          ADD 1 TO gv_count.
        ENDIF.
        CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'
          EXPORTING
            number = gt_dati-pernr.
      ELSE.
        CLEAR gv_msg.
        MESSAGE ID gs_return-id
                TYPE gs_return-type
                NUMBER gs_return-number
                WITH gs_return-message_v1
                     gs_return-message_v2
                     gs_return-message_v3
                     gs_return-message_v4
                INTO gv_msg.
        WRITE: / gt_dati-pernr,
                 gt_dati-begda,
                 gt_dati-endda,
                 gt_dati-subty,
                 '-',
                 gv_msg.
      ENDIF.
    ENDLOOP.
  ENDIF.

  WRITE: / 'Righe processate correttamente:',
           gv_count,
           'su',
           gv_total.

END-OF-SELECTION.
  EXIT.

*----------------------------------------------------------------------*

martedì 8 novembre 2016

L'imbarazzo di Dio, Marco Pozza

L'imbarazzo di Dio
Di Marco Pozza
Editore: San Paolo


Lingua: Italiano | Numero di pagine: 170 | Isbn-13: 9788821593017 | Data di pubblicazione: 2014-xx-xx | Genere: Religione & Spiritualità

lunedì 7 novembre 2016

Passare una select-option a una function

*----------------------------------------------------------------------*
* DECLARATIONS                                                         *
*----------------------------------------------------------------------*
TABLES: KNA1.

DATA: gs_range   TYPE fbs_generic_range,
      gv_kunnr_r TYPE fb_t_generic_range.

*----------------------------------------------------------------------*
* LAYOUT                                                               *
*----------------------------------------------------------------------*
SELECT-OPTIONS so_kunnr FOR KNA1-KUNNR.

*----------------------------------------------------------------------*
* PROGRAM BODY                                                         *
*----------------------------------------------------------------------*
START-OF-SELECTION.

  LOOP AT so_kunnr.
    MOVE-CORRESPONDING so_kunnr TO gs_range.
    APPEND gs_range TO gv_kunnr_r.
  ENDLOOP.

  CALL FUNCTION 'ZFUNCTION'
    EXPORTING
      i_kunnr_r = gv_kunnr_r
    EXCEPTIONS
      EMPTY     = 1
      OTHERS    = 2.



FUNCTION ZFUNCTION.
*"----------------------------------------------------------------------
*"*"Interfaccia locale:
*"  IMPORTING
*"     VALUE(I_KUNNR_R) TYPE  FB_T_GENERIC_RANGE
*"  EXCEPTIONS
*"      EMPTY
*"----------------------------------------------------------------------

  DATA ls_range TYPE FBS_GENERIC_RANGE.
  
  RANGES lr_kunnr FOR kna1-kunnr.

  LOOP AT I_KUNNR_R INTO ls_range.
    lr_kunnr-sign = ls_range-sign.
    lr_kunnr-option = ls_range-option.
    lr_kunnr-low = ls_range-low.
    lr_kunnr-high = ls_range-high.
    APPEND lr_kunnr.
  ENDLOOP.

venerdì 4 novembre 2016

Selezionare una cartella partendo dal desktop e salvare un file localmente

*----------------------------------------------------------------------*
* DECLARATIONS                                                         *
*----------------------------------------------------------------------*
TYPES: BEGIN OF ty_appr_c,
         line(70) TYPE c,
       END OF ty_appr_c.
DATA: gt_appr_c TYPE STANDARD TABLE OF ty_appr_c,
      gs_appr_c LIKE LINE OF gt_appr_c.

*----------------------------------------------------------------------*
* LAYOUT                                                               *
*----------------------------------------------------------------------*
PARAMETERS: pa_fname TYPE string,
            pa_floc  TYPE string.

*----------------------------------------------------------------------*
* EVENTS                                                               *
*----------------------------------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR pa_floc.
  DATA: lv_path TYPE string,
        lv_fs   TYPE c.
  cl_gui_frontend_services=>get_desktop_directory(
    CHANGING
      desktop_directory = lv_path ).
  cl_gui_cfw=>update_view( ).
  cl_gui_frontend_services=>directory_browse(
    EXPORTING
      window_title    = 'Seleziona cartella'
      initial_folder  = lv_path
    CHANGING
      selected_folder = lv_path ).
  cl_gui_frontend_services=>get_file_separator(
    CHANGING
      file_separator = lv_fs ).
  CONCATENATE lv_path lv_fs
         INTO pa_floc.

*----------------------------------------------------------------------*
* FORM SAVE_LOCAL                                                      *
*----------------------------------------------------------------------*
FORM save_local.

  CONCATENATE pa_floc
              pa_fname
         INTO pa_floc.
  cl_gui_frontend_services=>gui_download(
    EXPORTING
      filename = pa_floc
    CHANGING
      data_tab = gt_appr_c ).

ENDFORM.                    "save_local

*----------------------------------------------------------------------*

giovedì 3 novembre 2016

Rook n

/rʊk/

Traducendo lo Shogi ho imparato un nuovo significato di questo vocabolo.

EnglishItaliano
rook n(chess piece: castle)torre nf
rook [sb] vtr(swindle)raggirare, imbrogliare, fregare vtr

Each rook and bishop scores 5 points and all other pieces except kings score 1 point each.
Ogni torre o alfiere vale 5 punti e tutti gli altri pezzi (tranne il re) valgono 1 punto ciascuno.

mercoledì 2 novembre 2016

Contropiede, Marco Pozza

Contropiede
Di Marco Pozza
Editore: San Paolo


Lingua: Italiano | Numero di pagine: 144 | Formato: Paperback | Isbn-13: 9788821574221 | Data di pubblicazione: 01/03/2012 | Genere: Narrativa & Letteratura - Religione & Spiritualità - Adolescenti