VF01 字段增强

 

 

 

*

*----------------------------------------------------------------------*
***INCLUDE LZFGFICO_MV60A1O01.
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module STATUS_6002 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE status_6002 OUTPUT.
* SET PF-STATUS 'xxxxxxxx'.
* SET TITLEBAR 'xxx'.
  IF sy-tcode EQ 'VF03'.
    LOOP AT SCREEN.
      screen-input = '0'.
      MODIFY SCREEN .
    ENDLOOP.
  ENDIF.
ENDMODULE.


FORM cust_item_active USING fvbrp TYPE vbrp
                            fvbrk TYPE vbrk
                            fvbuk TYPE vbuk
                      CHANGING
                            fcaption TYPE char40
                            fprogram TYPE syrepid
                            fdynpro  TYPE sydynnr
                            ftab     TYPE char40 .

  PERFORM check_badi_activate.
  CHECK badi_activate EQ abap_false .
  fcaption = '发票行项目附加数据'.
  fprogram = 'SAPLZFGFICO_MV60A1'.
  fdynpro  = '6002'.
  ftab = fcaption.
  LOOP AT SCREEN.
    IF screen-name EQ  'TABSTRIP_TAB08' ."'TABSTRIP_TAB06'.
      screen-active = 1.
      screen-invisible = 0 .
    ENDIF.
  ENDLOOP.

ENDFORM .

FORM cust_head_active USING fvbrp TYPE vbrp
                            fvbrk TYPE vbrk
                            fvbuk TYPE vbuk
                      CHANGING
                            fcaption TYPE char40
                            fprogram TYPE syrepid
                            fdynpro  TYPE sydynnr
                            ftab     TYPE char40 .

  PERFORM check_badi_activate.
  CHECK badi_activate EQ abap_false .
  fcaption = '发票抬头附加数据'.
  fprogram = 'SAPLZFGFICO_MV60A1'.
  fdynpro  = '6001'.
  ftab = fcaption.
  LOOP AT SCREEN.
    IF screen-name EQ  'TABSTRIP_TAB08' ."'TABSTRIP_TAB06'.
      screen-active = 1.
      screen-invisible = 0 .
    ENDIF.
  ENDLOOP.

ENDFORM .

FORM check_badi_activate .

  INCLUDE wb2_param_control_global.
  DATA:lr_badi TYPE REF TO if_ex_badi_sd_cust_item .
  CALL FUNCTION 'GET_HANDLE_SD_CUST_ITEM'
    IMPORTING
      handle = lr_badi
      active = badi_activate.
  IF badi_activate EQ 'X'.
    IF cl_wb2_check_add_on_active=>a_gtm_active EQ ' '.
      badi_activate = 'X' .
    ENDIF.
    IF cl_wb2_check_add_on_active=>a_enhance NE addon_all_active.
      badi_activate = ' ' .
    ENDIF.
  ENDIF.
ENDFORM.

* 发票数据到子屏幕
FORM cust_item_set_data USING f_vbrk TYPE vbrk
                              f_vbrp TYPE vbrp
                              f_tabix TYPE sytabix
                              ft180 TYPE t180
                        CHANGING
                              frv60a TYPE rv60a
                              fxyvbadr TYPE shp_sadrvb_t
                              fxvbadr TYPE shp_sadrvb_t
                              fxvbpa TYPE va_vbpavb_t
                              fxyvbrk TYPE vbrkvb_t
                              fxvbrk TYPE vbrkvb_t
                              fxyvbpa TYPE va_vbpavb_t
                              fxvbrp TYPE vbrpvb_t
                              fxyvbrp TYPE vbrpvb_t
                              fvbrk TYPE vbrk.
  BREAK itl_zhangy.
  PERFORM check_badi_activate.
  CHECK badi_activate EQ abap_false .

  vbrk =  a_vbrk = f_vbrk.
  a_vbrkvb = f_vbrk.
  vbrp = a_vbrp = f_vbrp.

ENDFORM.

FORM cust_item_pass_code USING ffcode_same_page TYPE fcode
                               ffcode TYPE fcode .

  PERFORM check_badi_activate.
  CHECK badi_activate EQ abap_false .

  CALL FUNCTION 'WB2_TRADE_PASS_FCODE_ITEM'
    EXPORTING
      i_fcode = ffcode.
ENDFORM.


* 子屏幕到发票数据
FORM cust_item_get_data USING
                              ft180 TYPE t180
                        CHANGING
                              fvbrk  TYPE vbrk
                              fvbrp  TYPE vbrp
                              frv60a TYPE rv60a
                              fxvbpa TYPE va_vbpavb_t
                              fxyvbrk TYPE vbrkvb_t
                              fxvbrk  TYPE vbrkvb_t
                              fxyvbadr TYPE shp_sadrvb_t
                              fxvbadr  TYPE shp_sadrvb_t
                              fxyvbpa  TYPE va_vbpavb_t
                              fxvbrp  TYPE vbrpvb_t
                              fxyvbrp TYPE vbrpvb_t
                              ffcode  TYPE fcode.
  BREAK itl_zhangy.
  PERFORM check_badi_activate.
  CHECK badi_activate EQ abap_false .

  fvbrk = a_vbrk = vbrk.
  fvbrp = a_vbrp = vbrp.

ENDFORM.
*&---------------------------------------------------------------------*
*& Module STATUS_6001 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE status_6001 OUTPUT.
* SET PF-STATUS 'xxxxxxxx'.
* SET TITLEBAR 'xxx'.
  IF sy-tcode EQ 'VF03'.
    LOOP AT SCREEN.
      screen-input = '0'.
      MODIFY SCREEN .
    ENDLOOP.
  ENDIF.
ENDMODULE.
*&---------------------------------------------------------------------*
*&      Module  GET_ZFPLX  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE get_zfplx INPUT.

  SELECT  zfplx, zfplxms  INTO TABLE @DATA(lt_ztsd003) FROM ztsd003.


  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield        = 'ZFPLX'
      dynpprog        = sy-repid
      dynpnr          = sy-dynnr
      dynprofield     = 'ZTSD003-ZFPLX'
      value_org       = 'S'
*     callback_program = sy-repid
*     callback_form   = 'VAL_REQ_BANFN'
    TABLES
      value_tab       = lt_ztsd003
    EXCEPTIONS
      parameter_error = 1
      no_values_found = 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.


ENDMODULE.
*&---------------------------------------------------------------------*
*&      Module  GET_ZJSZT  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE get_zjszt INPUT.
  SELECT  zjszt, zztms  INTO TABLE @DATA(lt_ztsd004) FROM ztsd004.


  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield        = 'ZJSZT'
      dynpprog        = sy-repid
      dynpnr          = sy-dynnr
      dynprofield     = 'ZTSD004-ZJSZT'
      value_org       = 'S'
*     callback_program = sy-repid
*     callback_form   = 'VAL_REQ_BANFN'
    TABLES
      value_tab       = lt_ztsd004
    EXCEPTIONS
      parameter_error = 1
      no_values_found = 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.
ENDMODULE.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2024-01-05 11:29  ABAP-武汉  阅读(193)  评论(0)    收藏  举报