Appendix: Implementation Program for Object Type Z_BUS2032
001
***** Implementation of object type Z_BUS2032 **** 002
INCLUDE <OBJECT>.
003 BEGIN_DATA OBJECT. " Do not change.. DATA is generated 004 * only private members may be inserted into structure private 005 DATA: 006 " begin of private, 007 " to declare private attributes remove comments and 008 " insert private attributes here... 009 " end of private, 010 BEGIN OF KEY, 011 SALESDOCUMENT LIKE VBAK-VBELN, 012 END OF KEY, 013 SALESGROUP TYPE SWC_OBJECT, 014 ..ITEMS TYPE SWC_OBJECT OCCURS 0, 015 TEXTWITHDOCUMENTNO LIKE SYST-TITLE, 016 _VBAK LIKE VBAK. 017 END_DATA OBJECT. " Do not change.. DATA is generated 018 019 TABLES VBAK. 020 * 021 GET_TABLE_PROPERTY VBAK. 022 DATA SUBRC LIKE SY-SUBRC. 023 * Fill TABLES VBAK to enable Object Manager Access to Table Properties 024 PERFORM SELECT_TABLE_VBAK USING SUBRC. 025 IF SUBRC NE 0. 026 EXIT_OBJECT_NOT_FOUND. 027 ENDIF. 028 END_PROPERTY. 029 * 030 * Use Form also for other(virtual) Properties to fill TABLES VBAK 031 FORM SELECT_TABLE_VBAK USING SUBRC LIKE SY-SUBRC. 032 * Select single * from VBAK, if OBJECT-_VBAK is initial 033 IF OBJECT-_VBAK-MANDT IS INITIAL 034 AND OBJECT-_VBAK-VBELN IS INITIAL. 035 SELECT SINGLE * FROM VBAK CLIENT SPECIFIED 036 WHERE MANDT = SY-MANDT 037 AND VBELN = OBJECT-KEY-SALESDOCUMENT. 038 SUBRC = SY-SUBRC. 039 IF SUBRC NE 0. EXIT. ENDIF. 040 OBJECT-_VBAK = VBAK. 041 ELSE. 042 SUBRC = 0. 043 VBAK = OBJECT-_VBAK. 044 ENDIF. 045 ENDFORM. 046 047 GET_PROPERTY TEXTWITHDOCUMENTNO CHANGING CONTAINER. 048 DATA: 049 SALESDOCUMENT LIKE VBAK-VBELN, 050 DOCUMENTDATE LIKE VBAK-AUDAT. 051 SWC_GET_PROPERTY SELF 'SalesDocument' SALESDOCUMENT. 052 SWC_GET_PROPERTY SELF 'DocumentDate' DOCUMENTDATE. 053 CONCATENATE 'Kundenauftrag' SALESDOCUMENT 'vom' DOCUMENTDATE 054 INTO OBJECT-TEXTWITHDOCUMENTNO SEPARATED BY SPACE. 055 SWC_SET_ELEMENT CONTAINER 'TextWithDocumentNo' 056 OBJECT-TEXTWITHDOCUMENTNO. 057 END_PROPERTY. 058 059 GET_PROPERTY SALESGROUP CHANGING CONTAINER. 060 SELECT SINGLE * FROM VBAK WHERE VBELN = OBJECT-KEY-SALESDOCUMENT. 061 SWC_CREATE_OBJECT OBJECT-SALESGROUP 'TVKGR' VBAK-VKGRP. 062 SWC_SET_ELEMENT CONTAINER 'SalesGroup' OBJECT-SALESGROUP. 063 END_PROPERTY. 064 065 GET_PROPERTY ITEMS CHANGING CONTAINER. 066 067 * Declare data 068 TABLES VBAP. 069 REFRESH OBJECT-ITEMS. 070 DATA ITEM TYPE SWC_OBJECT. 071 DATA: 072 BEGIN OF VBAP_KEY, 073 VBELN LIKE VBAP-VBELN, 074 POSNR LIKE VBAP-POSNR, 075 END OF VBAP_KEY. 076 DATA BEGIN OF VBAP_TAB OCCURS 0. 077 INCLUDE STRUCTURE VBAP. 078 DATA END OF VBAP_TAB. 079 080 * Select data 081 SELECT * FROM VBAP INTO TABLE VBAP_TAB 082 WHERE VBELN = OBJECT-KEY-SALESDOCUMENT. 083 084 VBAP_KEY-VBELN = OBJECT-KEY-SALESDOCUMENT. 085 086 * Create object reference 087 LOOP AT VBAP_TAB. 088 VBAP_KEY-POSNR = VBAP_TAB-POSNR. 089 SWC_CREATE_OBJECT ITEM 'VBAP' VBAP_KEY. 090 APPEND ITEM TO OBJECT-ITEMS. 091 ENDLOOP. 092 093 * Assign object reference to container element 094 SWC_SET_TABLE CONTAINER 'Items' OBJECT-ITEMS. 095 096 END_PROPERTY. 097 098 BEGIN_METHOD EDIT CHANGING CONTAINER. 099 SET PARAMETER ID 'AUN' FIELD OBJECT-KEY-SALESDOCUMENT. 100 CALL TRANSACTION 'VA02' AND SKIP FIRST SCREEN. 101 SWC_REFRESH_OBJECT SELF. 102 END_METHOD. 103 104 BEGIN_METHOD EXISTENCECHECK CHANGING CONTAINER. 105 SELECT SINGLE * FROM VBAK 106 WHERE VBELN = OBJECT-KEY-SALESDOCUMENT. 107 108 IF SY-SUBRC NE 0. 109 EXIT_RETURN 0001 SPACE SPACE SPACE SPACE. 110 ENDIF. 111 END_METHOD. 112 113 BEGIN_METHOD DISPLAY CHANGING CONTAINER. 114 SET PARAMETER ID 'AUN' FIELD OBJECT-KEY-SALESDOCUMENT. 115 CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN. 116 END_METHOD. 117 118 BEGIN_METHOD CREATE CHANGING CONTAINER. 119 DATA: 120 SALESDOCUMENTTYPE LIKE VBAK-AUART. 121 SWC_GET_ELEMENT CONTAINER 'SalesDocumentType' SALESDOCUMENTTYPE. 122 SET PARAMETER ID 'AAT' FIELD SALESDOCUMENTTYPE. 123 CALL TRANSACTION 'VA01' AND SKIP FIRST SCREEN. 124 GET PARAMETER ID 'AUN' FIELD OBJECT-KEY-SALESDOCUMENT. 125 END_METHOD.