日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ALV 容器备忘录

發布時間:2025/3/20 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ALV 容器备忘录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


DATA?:
*ALV?字段
*??IT_SORT???????TYPE?LVC_T_SORT,
??I_FCAT1???????TYPE?LVC_T_FCAT,
??I_FCAT2???????TYPE?LVC_T_FCAT,
*?容器名稱
??GV_CNAME1?????TYPE?SCRFNAME?VALUE?'CONTAINER1',
??GV_CNAME2?????TYPE?SCRFNAME?VALUE?'CONTAINER2',
*?容器對象
??GV_CONTAINER1?TYPE?REF?TO?CL_GUI_CUSTOM_CONTAINER,
??GV_CONTAINER2?TYPE?REF?TO?CL_GUI_CUSTOM_CONTAINER,
*?ALV對象
??GV_ALV1???????TYPE?REF?TO?CL_GUI_ALV_GRID,
??GV_ALV2???????TYPE?REF?TO?CL_GUI_ALV_GRID,
*?ALV布局
??GV_LAYOUT1????TYPE?LVC_S_LAYO,
??GV_LAYOUT2????TYPE?LVC_S_LAYO.


*&---------------------------------------------------------------------*
*&??????Module??INITIAL_CONTAINER??OUTPUT
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------*
MODULE?INITIAL_CONTAINER?OUTPUT.
??IF?GV_ALV1?IS?INITIAL.
????IF?NOT?GV_CONTAINER1?IS?INITIAL.
??????CALL?METHOD?GV_CONTAINER1->FREE
????????EXCEPTIONS
??????????CNTL_SYSTEM_ERROR?=?1
??????????CNTL_ERROR????????=?2.
*????IF?SY-SUBRC?<>?0.
*????ENDIF.
????ENDIF.
????CLEAR?GV_CONTAINER1.
????CLEAR?GV_ALV1.
????CREATE?OBJECT?GV_CONTAINER1
??????EXPORTING
????????CONTAINER_NAME??????????????=?GV_CNAME1
??????EXCEPTIONS
????????CNTL_ERROR??????????????????=?1
????????CNTL_SYSTEM_ERROR???????????=?2
????????CREATE_ERROR????????????????=?3
????????LIFETIME_ERROR??????????????=?4
????????LIFETIME_DYNPRO_DYNPRO_LINK?=?5.
*創建ALV容器
????CREATE?OBJECT?GV_ALV1
??????EXPORTING
????????I_PARENT??????????=?GV_CONTAINER1
??????EXCEPTIONS
????????ERROR_CNTL_CREATE?=?1
????????ERROR_CNTL_INIT???=?2
????????ERROR_CNTL_LINK???=?3
????????ERROR_DP_CREATE???=?4.
*ALV的設置
????PERFORM?FRM_ALV_LIST1.
*AVL的顯示
????CALL?METHOD?GV_ALV1->SET_TABLE_FOR_FIRST_DISPLAY
??????EXPORTING
????????IS_LAYOUT?????????????????????=?GV_LAYOUT1
????????I_SAVE????????????????????????=?'A'
??????CHANGING
????????IT_OUTTAB?????????????????????=?GT_TCITEM[]
????????IT_FIELDCATALOG???????????????=?I_FCAT1
*???????IT_SORT???????????????????????=?IT_SORT
??????EXCEPTIONS
????????INVALID_PARAMETER_COMBINATION?=?1
????????PROGRAM_ERROR?????????????????=?2
????????TOO_MANY_LINES????????????????=?3
????????OTHERS????????????????????????=?4.

??ELSE.
*刷新
????CALL?METHOD?GV_ALV1->REFRESH_TABLE_DISPLAY.
??ENDIF.

??IF?GV_ALV2?IS?INITIAL.
????IF?NOT?GV_CONTAINER2?IS?INITIAL.
??????CALL?METHOD?GV_CONTAINER2->FREE
????????EXCEPTIONS
??????????CNTL_SYSTEM_ERROR?=?1
??????????CNTL_ERROR????????=?2.
*????IF?SY-SUBRC?<>?0.
*????ENDIF.
????ENDIF.
????CLEAR?GV_CONTAINER2.
????CLEAR?GV_ALV2.
????CREATE?OBJECT?GV_CONTAINER2
??????EXPORTING
????????CONTAINER_NAME??????????????=?GV_CNAME2
??????EXCEPTIONS
????????CNTL_ERROR??????????????????=?1
????????CNTL_SYSTEM_ERROR???????????=?2
????????CREATE_ERROR????????????????=?3
????????LIFETIME_ERROR??????????????=?4
????????LIFETIME_DYNPRO_DYNPRO_LINK?=?5.
*創建ALV容器
????CREATE?OBJECT?GV_ALV2
??????EXPORTING
????????I_PARENT??????????=?GV_CONTAINER2
??????EXCEPTIONS
????????ERROR_CNTL_CREATE?=?1
????????ERROR_CNTL_INIT???=?2
????????ERROR_CNTL_LINK???=?3
????????ERROR_DP_CREATE???=?4.
*ALV的設置
????PERFORM?FRM_ALV_LIST2.
*AVL的顯示
????CALL?METHOD?GV_ALV2->SET_TABLE_FOR_FIRST_DISPLAY
??????EXPORTING
????????IS_LAYOUT?????????????????????=?GV_LAYOUT2
????????I_SAVE????????????????????????=?'A'
??????CHANGING
????????IT_OUTTAB?????????????????????=?GT_FJDJ[]
????????IT_FIELDCATALOG???????????????=?I_FCAT2
??????EXCEPTIONS
????????INVALID_PARAMETER_COMBINATION?=?1
????????PROGRAM_ERROR?????????????????=?2
????????TOO_MANY_LINES????????????????=?3
????????OTHERS????????????????????????=?4.
*????--Creating?an?instance?for?the?event?handler
*????CREATE?OBJECT?GR_EVENT_HANDLER?.
*????--Registering?handler?methods?to?handle?ALV?Grid?events
*????SET?HANDLER?GR_EVENT_HANDLER->HANDLE_DOUBLE_CLICK?FOR?GV_ALV2.
??ELSE.
*刷新
????CALL?METHOD?GV_ALV2->REFRESH_TABLE_DISPLAY.
??ENDIF.

ENDMODULE.

*&---------------------------------------------------------------------*
*&??????Form??FRM_FREE_CONTAINER
*&---------------------------------------------------------------------*
*???????text
*----------------------------------------------------------------------*
*??-->??p1????????text
*??<--??p2????????text
*----------------------------------------------------------------------*
FORM?FRM_FREE_CONTAINER?.
*?Free?the?object?of?container
??IF??NOT?GV_CONTAINER1?IS?INITIAL
???OR?NOT?GV_CONTAINER2?IS?INITIAL.
????CALL?METHOD?GV_CONTAINER1->FREE
??????EXCEPTIONS
????????CNTL_SYSTEM_ERROR?=?1
????????CNTL_ERROR????????=?2.

????CALL?METHOD?GV_CONTAINER2->FREE
??????EXCEPTIONS
????????CNTL_SYSTEM_ERROR?=?1
????????CNTL_ERROR????????=?2.
????CLEAR:
??????????GV_CONTAINER1,
??????????GV_CONTAINER2,
??????????GV_ALV1,
??????????GV_ALV2.
??ENDIF.
ENDFORM.????????????????????"?FRM_FREE_CONTAINER

總結

以上是生活随笔為你收集整理的ALV 容器备忘录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。