domenica 17 maggio 2015

Toil n

/tɔɪl/

Traducendo Cauldron ho imparato questo vocabolo.

EnglishItaliano
toil n(work, labour)lavoro duro nm, fatica nf
It's nice to relax, once the day's toil is done.
Rilassarsi è bello, dopo aver fatto il lavoro duro.
toil vi(work, labour)lavorare duramente, faticare vi
The workers have been toiling in the fields all day.
I lavoratori avevano faticato nei campi per tutto il giorno.

Now it comes time to bubble up toil and trouble.
Ora è tempo di far gorgogliare fatica e doglia.

È particolarmente interessante, perché è un riferimento alla tragedia Macbeth, Atto 4, Scena 1:
Double, double toil and trouble;
Fire burn, and cauldron bubble.
Su, raddoppiatevi, fatica e doglia,
ardi tu, fuoco, calderon gorgoglia.

giovedì 14 maggio 2015

Dividere un Custom Container in tre parti

*----------------------------------------------------------------------*
* DECLARATIONS                                                         *
*----------------------------------------------------------------------*
CLASS lcl_event_receiver DEFINITION DEFERRED.

DATA: go_custom_c       TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
      go_split1         TYPE REF TO CL_GUI_EASY_SPLITTER_CONTAINER,
      go_split2         TYPE REF TO CL_GUI_EASY_SPLITTER_CONTAINER,
      go_grid1          TYPE REF TO CL_GUI_ALV_GRID,
      go_grid2          TYPE REF TO CL_GUI_ALV_GRID,
      go_event_receiver TYPE REF TO LCL_EVENT_RECEIVER.

*----------------------------------------------------------------------*
* MODULE STATUS_0100 OUTPUT                                            *
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.

  DATA: ls_layout    TYPE LVC_S_LAYO,
        lt_fieldcat1 TYPE LVC_T_FCAT,
        lt_fieldcat2 TYPE LVC_T_FCAT.

  SET PF-STATUS 'ZPF01'.
  SET TITLEBAR 'ZTITLE01'.

  IF go_custom_c IS INITIAL.

*   Creo il container
    CREATE OBJECT go_custom_c
      EXPORTING
        CONTAINER_NAME = 'CONTAINER'.
*   Lo divido in tre
    CREATE OBJECT go_split1
      EXPORTING
        PARENT        = go_custom_c
        ORIENTATION   = CL_GUI_EASY_SPLITTER_CONTAINER=>ORIENTATION_VERTICAL
        SASH_POSITION = 12.
    CREATE OBJECT go_split2
      EXPORTING
        PARENT        = go_split1->bottom_right_container
        ORIENTATION   = CL_GUI_EASY_SPLITTER_CONTAINER=>ORIENTATION_HORIZONTAL
        SASH_POSITION = 55.

    PERFORM top_of_page USING 0 0 0.
    PERFORM exclude_tb_func.
    PERFORM build_fielcat CHANGING lt_fieldcat1
                                   lt_fieldcat2.

*   ALV Grid di sinistra - note di credito
    CREATE OBJECT go_grid1
      EXPORTING
        I_PARENT = go_split2->top_left_container.
    ls_layout-stylefname = 'STYLE'.
    ls_layout-grid_title = 'Note di credito'.
    CALL METHOD go_grid1->set_table_for_first_display
      EXPORTING
        IS_LAYOUT            = ls_layout
        IT_TOOLBAR_EXCLUDING = gt_excl_func
      CHANGING
        IT_FIELDCATALOG      = lt_fieldcat1
        IT_OUTTAB            = gt_noteb.

*   ALV Grid di destra - partite
    CREATE OBJECT go_grid2
      EXPORTING
        I_PARENT = go_split2->bottom_right_container.
    ls_layout-grid_title = 'Partite aperte'.
    CALL METHOD go_grid2->set_table_for_first_display
      EXPORTING
        IS_LAYOUT            = ls_layout
        IT_TOOLBAR_EXCLUDING = gt_excl_func
      CHANGING
        IT_FIELDCATALOG      = lt_fieldcat2
        IT_OUTTAB            = gt_fattb.

    CREATE OBJECT go_event_receiver.
    SET HANDLER go_event_receiver->handle_button_click
                go_event_receiver->handle_data_changed_finished
                go_event_receiver->handle_double_click
                go_event_receiver->handle_hotspot_click
                go_event_receiver->handle_toolbar
                go_event_receiver->handle_user_command
      FOR go_grid1.
    SET HANDLER go_event_receiver->handle_button_click
                go_event_receiver->handle_data_changed_finished
                go_event_receiver->handle_double_click
                go_event_receiver->handle_hotspot_click
                go_event_receiver->handle_toolbar
                go_event_receiver->handle_user_command
      FOR go_grid2.

*   Imposto la toolbar personalizzata
    CALL METHOD go_grid1->set_toolbar_interactive.
    CALL METHOD go_grid2->set_toolbar_interactive.

*   Registro l'evento Enter che mi serve per gli importi manuali
    CALL METHOD go_grid1->register_edit_event
      EXPORTING
        I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_ENTER.
    CALL METHOD go_grid2->register_edit_event
      EXPORTING
        I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_ENTER.

  ENDIF.

ENDMODULE.                    "status_0100 OUTPUT

martedì 12 maggio 2015

Karnivore Koala

lunedì 11 maggio 2015

Samara

mercoledì 29 aprile 2015

Cauldron

lunedì 27 aprile 2015

Inserimento e lancio di una sessione Batch-Input

*----------------------------------------------------------------------*
* DECLARATIONS                                                         *
*----------------------------------------------------------------------*
DATA: BEGIN OF gt_in OCCURS 0,
        matnr    LIKE MARA-MATNR,
        [...]
      END OF gt_in.

DATA: gt_bdcdata LIKE BDCDATA OCCURS 0 WITH HEADER LINE.

DATA: gv_qid LIKE APQI-QID.

*----------------------------------------------------------------------*
* LAYOUT                                                               *
*----------------------------------------------------------------------*
PARAMETERS: pa_sess(12) NO-DISPLAY.

*---------------------------------------------------------------------*
* FORM CREA_SESSIONE                                                  *
*---------------------------------------------------------------------*
FORM crea_sessione.

  CLEAR: gt_bdcdata, gt_bdcdata[].

  PERFORM bdc_open_group USING pa_sess.
  LOOP AT gt_in.
    PERFORM bdc_dynpro_field USING:
      'X' 'ZMMA_MATIMB2'        '0100',
      ' ' 'BDC_OKCODE'          '=ENTR',
      ' ' 'L_DYN_0100-MATNR'    gt_in-matnr.
      [...]
    PERFORM bdc_transaction USING 'ZMMA_MATIMB'.
    CLEAR: gt_bdcdata, gt_bdcdata[].
  ENDLOOP.
  PERFORM bdc_close_group.
  PERFORM bdc_start_group USING pa_sess.

ENDFORM.                    "crea_sessione

*----------------------------------------------------------------------*
* FORM BDC_OPEN_GROUP                                                  *
*----------------------------------------------------------------------*
FORM bdc_open_group USING p_session.

  CALL FUNCTION 'BDC_OPEN_GROUP'
    EXPORTING
      CLIENT = SY-MANDT
      GROUP  = p_session
      KEEP   = 'X'
      USER   = SY-UNAME
    IMPORTING
      QID    = gv_qid.
  IF SY-SUBRC <> 0.
    MESSAGE E000(YA1) WITH 'ERRORE BDC_OPEN_GROUP PER '
                           'SESSIONE BATCH-INPUT '
                           p_session.
  ENDIF.

ENDFORM.                    "bdc_open_group

*----------------------------------------------------------------------*
* FORM BDC_CLOSE_GROUP                                                 *
*----------------------------------------------------------------------*
FORM bdc_close_group.

  CALL FUNCTION 'BDC_CLOSE_GROUP'
    EXCEPTIONS
      NOT_OPEN    = 1
      QUEUE_ERROR = 2
      OTHERS      = 3.
  IF SY-SUBRC <> 0.
*    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

ENDFORM.                    "bdc_close_group

*----------------------------------------------------------------------*
* FORM BDC_DYNPRO_FIELD                                                *
*----------------------------------------------------------------------*
FORM bdc_dynpro_field USING p_dynbegin p_fnam p_fval.

  CLEAR gt_bdcdata.
  IF p_dynbegin = 'X'.
    gt_bdcdata-program  = p_fnam.
    gt_bdcdata-dynpro   = p_fval.
    gt_bdcdata-dynbegin = 'X'.
  ELSE.
    gt_bdcdata-fnam = p_fnam.
    gt_bdcdata-fval = p_fval.
  ENDIF.
  APPEND gt_bdcdata.

ENDFORM.                    "bdc_dynpro_field

*----------------------------------------------------------------------*
* FORM BDC_TRANSACTION                                                 *
*----------------------------------------------------------------------*
FORM bdc_transaction USING p_tcode.

  CALL FUNCTION 'BDC_INSERT'
    EXPORTING
      TCODE     = p_tcode
    TABLES
      DYNPROTAB = gt_bdcdata.

ENDFORM.                    "bdc_transaction

*----------------------------------------------------------------------*
* FORM BDC_START_GROUP                                                 *
*----------------------------------------------------------------------*
FORM bdc_start_group USING p_session.

  DATA: lv_bdc(4) VALUE 'BDC ',            "Datatyp = Batch-Input
        lv_amodus(1) VALUE 'E',            "Visualizzare errore
        lv_lmodus(1),                      "Registro ampliato
        lv_expert(1),                      "Sess. esperto
        lv_defsize(1),                     "Dim. standard dynpro
        lv_errfend(1),                     "Interr. in caso di err. log
        lv_simubatch(1).                   "Simulare sess. background

  CALL 'BDC_START_GROUP' ID 'GROUP'         FIELD p_session
                         ID 'QUID'          FIELD gv_qid
                         ID 'DISPLAY'       FIELD lv_amodus
                         ID 'LOG'           FIELD lv_lmodus
                         ID 'EXPERT'        FIELD lv_expert
                         ID 'DYSIZE'        FIELD lv_defsize
                         ID 'ERRORFORCEEND' FIELD lv_errfend
                         ID 'SIMUBATCH'     FIELD lv_simubatch.

ENDFORM.                    "bdc_start_group

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

lunedì 20 aprile 2015

Quer pasticciaccio brutto de via Merulana, Carlo Emilio Gadda

Quer pasticciaccio brutto de via Merulana
Di Carlo Emilio Gadda
Editore: Gruppo Editoriale l'Espresso


Lingua: Italiano | Numero di pagine: 256 | Isbn-13: 9788481305425 | Data di pubblicazione: 01/01/2002 | Genere: Criminalità - Narrativa & Letteratura - Mistero & Gialli