首页 > 其他分享 >ABAP-ALV1111

ABAP-ALV1111

时间:2023-06-08 23:11:20浏览次数:41  
标签:CUSTOMER GS &---------------------------------------------------------------

*&---------------------------------------------------------------------*
*& Report  ZALV1
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT ZALV1 MESSAGE-ID ZLSH.


INCLUDE ZHQ_01_14TOP.
INCLUDE ZHQ_01_14FORM.



START-OF-SELECTION.
  SELECT *
    INTO CORRESPONDING FIELDS OF TABLE GT_CUSTOMER
    FROM ZCUSTOMER.

DATA I TYPE I VALUE 1.

    LOOP AT GT_CUSTOMER INTO GS_CUSTOMER.
        IF GS_CUSTOMER-ZSEX = 'M'.
            GS_CUSTOMER-ICON = ICON_GREEN_LIGHT.
        ELSE.
            GS_CUSTOMER-ICON = ICON_RED_LIGHT.
        ENDIF.

        GS_CUSTOMER-PRICE = I.

        MODIFY GT_CUSTOMER FROM GS_CUSTOMER.

        I = I + 1.

    ENDLOOP.



END-OF-SELECTION.

  IF GT_CUSTOMER IS NOT INITIAL.
      PERFORM BUILD_ALV.
  ELSE.
    MESSAGE S000 WITH '数据表为空' DISPLAY LIKE 'E'.
  ENDIF.
*&---------------------------------------------------------------------*
*&  包含                ZHQ_01_14TOP
*&---------------------------------------------------------------------*
TABLES ZCUSTOMER.


TYPES:BEGIN OF CUSTOMER,
    ZCUSTOMERID   TYPE ZCUSTOMERID,
    ZCOMPANYNAME  TYPE ZCOMPANYNAME,
    ZCREATEDATE   TYPE ZCREATEDATE,
    ZSCOPE        TYPE ZSCOPE,
    ZUSERID       TYPE ZUSERID,
    ZSEX          TYPE ZSEX,
END OF CUSTOMER.

TYPES:BEGIN OF GTY_CUSTOMER.
  INCLUDE TYPE CUSTOMER.
  TYPES:ICON  TYPE C LENGTH 4,
        CHECK TYPE C LENGTH 1,
        PRICE TYPE I,
        BOX TYPE C LENGTH 1,
END OF GTY_CUSTOMER.




DATA GT_CUSTOMER TYPE TABLE OF GTY_CUSTOMER.
DATA GS_CUSTOMER TYPE GTY_CUSTOMER.

DATA GS_LAYOUT TYPE SLIS_LAYOUT_ALV.

GS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
GS_LAYOUT-ZEBRA = 'X'.
GS_LAYOUT-KEY_HOTSPOT = 'X'.
GS_LAYOUT-BOX_FIELDNAME = 'BOX'.
GS_LAYOUT-WINDOW_TITLEBAR = '客户应收账款报表'.
GS_LAYOUT-CONFIRMATION_PROMPT = 'X'.

DEFINE %%APPEND_FIELDCAT.

  CLEAR GS_FIELDCAT.
  GS_FIELDCAT-COL_POS   = &1.
  GS_FIELDCAT-FIELDNAME = &2.
  GS_FIELDCAT-OUTPUTLEN = &3.
  GS_FIELDCAT-SELTEXT_M = &4.


  CASE &2.
    WHEN 'ZCUSTOMERID'.
      GS_FIELDCAT-KEY = 'X'.

    WHEN 'CHECK'.
        GS_FIELDCAT-CHECKBOX = 'X'.
    WHEN 'PRICE'.
        GS_FIELDCAT-JUST = 'L'.
        GS_FIELDCAT-DO_SUM = 'X'.
        GS_FIELDCAT-HOTSPOT = 'X'.
    WHEN OTHERS.
  ENDCASE.



  APPEND GS_FIELDCAT TO GT_FIELDCAT.

END-OF-DEFINITION.
*&---------------------------------------------------------------------*
*&  包含                ZHQ_01_14FORM
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Form  BUILD_ALV
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM BUILD_ALV .


  DATA GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
  DATA GS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

  %%APPEND_FIELDCAT:  '1' 'ZCUSTOMERID'   '10' '客户编号' ,
                      '2' 'ZCOMPANYNAME'  '30' '客户名称' ,
                      '3' 'ZCREATEDATE'   '10' '建档日期' ,
                      '4' 'ICON'          '10' '当前状态' ,
                      '5' 'CHECK'         '10' '选择' ,
                      '6' 'PRICE'         '10' '单价' .

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
*     I_INTERFACE_CHECK                 = ' '
*     I_BYPASSING_BUFFER                = ' '
*     I_BUFFER_ACTIVE                   = ' '
*     I_CALLBACK_PROGRAM                = ' '
*     I_CALLBACK_PF_STATUS_SET          = ' '
*     I_CALLBACK_USER_COMMAND           = ' '
*     I_CALLBACK_TOP_OF_PAGE            = ' '
*     I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*     I_CALLBACK_HTML_END_OF_LIST       = ' '
*     I_STRUCTURE_NAME                  =
*     I_BACKGROUND_ID                   = ' '
*     I_GRID_TITLE                      = ''
*     I_GRID_SETTINGS                   =
      IS_LAYOUT                         = GS_LAYOUT
      IT_FIELDCAT                       = GT_FIELDCAT
*     IT_EXCLUDING                      =
*     IT_SPECIAL_GROUPS                 =
*     IT_SORT                           =
*     IT_FILTER                         =
*     IS_SEL_HIDE                       =
*     I_DEFAULT                         = 'X'
*     I_SAVE                            = ' '
*     IS_VARIANT                        =
*     IT_EVENTS                         =
*     IT_EVENT_EXIT                     =
*     IS_PRINT                          =
*     IS_REPREP_ID                      =
*     I_SCREEN_START_COLUMN             = 0
*     I_SCREEN_START_LINE               = 0
*     I_SCREEN_END_COLUMN               = 0
*     I_SCREEN_END_LINE                 = 0
*     I_HTML_HEIGHT_TOP                 = 0
*     I_HTML_HEIGHT_END                 = 0
*     IT_ALV_GRAPHICS                   =
*     IT_HYPERLINK                      =
*     IT_ADD_FIELDCAT                   =
*     IT_EXCEPT_QINFO                   =
*     IR_SALV_FULLSCREEN_ADAPTER        =
*   IMPORTING
*     E_EXIT_CAUSED_BY_CALLER           =
*     ES_EXIT_CAUSED_BY_USER            =
    TABLES
      T_OUTTAB                          = GT_CUSTOMER
   EXCEPTIONS
     PROGRAM_ERROR                     = 1
     OTHERS                            = 2
            .
  IF SY-SUBRC <> 0.
* Implement suitable error handling here
  ENDIF.


ENDFORM.                    " BUILD_ALV

 

标签:CUSTOMER,GS,&---------------------------------------------------------------
From: https://www.cnblogs.com/hua900822/p/17467938.html

相关文章

  • 【ABAP】opensql 语法错误
    在使用case对金额字段进行操作时报错ThemaximumpossiblenumberofplacesintheexpressionstartingwithDMBTRis34placeswith2decimalplaces.Therecanbe,however,nomorethan31placesand14decimalplaces.selectCASEbsad~shkzgWHEN'H'THENbsad~......
  • 利用APIFOX对ABAP函数进行调用
    1.安装APIFOX,当然也可以使用在线版,无需下载官网地址:https://apifox.com/ 2.新建项目 3.为项目起一个名称,为相关开发测试人员授权 4.在根目录新增子目录 5.编辑开发/测试/生产环境的地址信息以及默认全局变量 6.将SAP提供的ABAPAPI地址配置进APIFOX,有关ABAP提......
  • ABAP 多线程
    Codelistingfor:ZTEST9010Description:12345*&---------------------------------------------------------------------**&ReportZTEST_ASYNC_RFC*&---------------------------------------------------------------------**&*&-----------......
  • ABAP 增强查找工具
    *&---------------------------------------------------------------------**&ReportZ_BARRY_FIND_EXIT_BADI*&---------------------------------------------------------------------**&*&---------------------------------------------------......
  • ABAP 用户批量导入
    REPORTZ_USER_IMPORT.TABLES:E070.DATA:BDCDATALIKEBDCDATAOCCURS0WITHHEADERLINE.DATA:MESSTABLIKEBDCMSGCOLLOCCURS0WITHHEADERLINE.DATA:P_SNTYPEI.****DATA:W_DOCIDTYPEDSVASDOCID,W_EXTENSIONTYPEDSVASDOCID,W......
  • ABAP 用户权限查询报表
    *&---------------------------------------------------------------------**&REPORTZUSER*&---------------------------------------------------------------------**&*&--------------------------------------------------------------------......
  • ABAP 用户角色导入
    *&---------------------------------------------------------------------**&ReportZ_USER_ROLES_IMPORT*&---------------------------------------------------------------------**&*&------------------------------------------------------......
  • ABAP 通用自建表批到
    *&---------------------------------------------------------------------**&ReportZUPLOAD_TABLE*&---------------------------------------------------------------------**&*&------------------------------------------------------------......
  • ABAP-屏幕设计-上门拜访动态切换
    *&---------------------------------------------------------------------**&ReportZHQ_01_04*&*&---------------------------------------------------------------------**&*&*&-------------------------------------------------......
  • ABAP:CO11N,CO13保存前增强
    SE18:WORKORDER_CONFIRMMETHODif_ex_workorder_confirm~at_save.DATA:s_vornrTYPERANGEOFresb-vornr.DATA:lv_vornrLIKELINEOFs_vornr.DATA:lv_gmngaTYPEafru-gmnga,lv_mengeTYPEmseg-menge,lv_menge_s......