Anfang des InhaltsbereichsSyntaxdokumentation Anhang: Implementierungsprogramm zum Objekttyp Z_BUS2032 Dokument im Navigationsbaum lokalisieren

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.

Ende des Inhaltsbereichs