Для ТСД: USF CIBD Ciber toGo Mobile

Ciber toGo Mobile это немецкое решение для ТСД (терминалов сбора данных).

Экран ТСД (EWM):

Dynpro:

process before output.
  module init_0100.
  module status_0100.
  module udapte_screen_0100.
 
process after input.
  module exit_command_0100 at exit-command.
  module user_command_0100.

Логика:

data: go_ledruck type ref to zcl_mde_helper,
      g_fcode    type sy-ucomm.
 
 
module status_0100 output.
  create object go_cont
    exporting
      container_name = 'ALV_TA'.
 
  call method cl_salv_table=>factory
    exporting
      r_container  = go_cont
    importing
      r_salv_table = go_alv_ta
    changing
      t_table      = gt_talist.
 
  go_display = go_alv_ta->get_display_settings( ).
 
* ALV-баганаларын алабыз
  call method go_alv_ta->get_columns
    receiving
      value = go_columns.
 
* ALV-баганаларның киңлеген төзәтү
  go_columns->set_optimize( ).
 
* юлларны буйлы итеп буярга кирәк:
  call method go_display->set_striped_pattern
    exporting
      value = 'X'.
 
  go_selections = go_alv_ta->get_selections(  ).
  go_selections->set_selection_mode( go_selections->single ).
 
  go_alv_ta->display( ).
endmodule.
 
module user_command_0100 input.
  go_klassif->g_dynnr = sy-dynnr.
  case g_fcode.
    when 'F4' or 'ENTER'.
      if go_klassif->are_fields_filled_out( sy-dynnr && sy-repid ).
        call screen 0200.
      endif.
   endcase.
endmodule.
 
module init_0100 output.
  go_klassif = zcl_mde_helper=>instance( ).
endmodule.
 
module status_0100 output.
  set pf-status 'PF_STATUS_ZL_LEIH'.
endmodule.
 
module exit_command_0100 input. " F3 (E)
  leave to screen 0.
endmodule.
 
module udapte_screen_0100 output.
  perform set_cursor_0100.
endmodule.
 
form set_cursor_0100 .
  data(l_focus_field) = go_klassif->get_next_field_to_fill_out( sy-dynnr && sy-repid ).
  if l_focus_field is not initial.
    set cursor field l_focus_field.
  endif.
endform.
method GET_NEXT_FIELD_TO_FILL_OUT.
 
  case i_dynnrrepid.
    when '0100ZL_LEIH'.
      r_ret = 'GO_KLASSIF->' && cond #(
             when g_from_plant is initial then 'G_FROM_PLANT'
             when g_from_stloc is initial then 'G_FROM_STLOC' ).
    when '0200ZL_LEIH'.
      r_ret = 'GO_KLASSIF->' && cond #(
               when g_to_stloc is initial then 'G_TO_STLOC' " иң озыны - иң берсе!!
               when g_ean is initial then 'G_EAN'
               when g_sernr is initial then 'G_SERNR' ).
    when '0300ZL_LEIH'.
      r_ret = 'GO_KLASSIF->' && cond #(
         when g_to_sttyp is initial then 'G_TO_STTYP'
         when g_to_stbin is initial then 'G_TO_STBIN' ).
 endcase.
endmethod.
 
 
method ARE_FIELDS_FILLED_OUT.
 
  r_ret = _false.
 
  case i_dynnrrepid.
    when '0100ZL_PRINT'.
      if g_lenum is not initial.
        r_ret = _true.
        return.
      endif.
    when '0100ZL_LEIH'.
      if g_from_plant is not initial and g_from_stloc is not initial.
        r_ret = _true.
        return.
      endif.
    when '0200ZL_LEIH'.
      if g_ean is not initial and g_sernr is not initial and g_to_stloc is not initial.
        r_ret = _true.
        return.
      endif.
    when '0300ZL_LEIH'.
      if g_to_sttyp is not initial and g_to_stbin is not initial.
        r_ret = _true.
        return.
      endif.
  endcase.
 
endmethod.

Җавап калдыру



All fields are required. Your email address will not be published.

Insert math as
Block
Inline
Additional settings
Formula color
Text color
#333333
Type math using LaTeX
Preview
\({}\)
Nothing to preview
Insert