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.