创建带有可编辑和着色单元格的动态alvWord格式.docx
- 文档编号:6920160
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:15
- 大小:67.60KB
创建带有可编辑和着色单元格的动态alvWord格式.docx
《创建带有可编辑和着色单元格的动态alvWord格式.docx》由会员分享,可在线阅读,更多相关《创建带有可编辑和着色单元格的动态alvWord格式.docx(15页珍藏版)》请在冰点文库上搜索。
20.
PERFORMCREATE_ITAB_DYNAMICALLY.
21.*fillingthedataintodynamicinternaltable..
22.
PERFORMGET_DATA.
23.END-OF-SELECTION.
24.*displaydynamicinteraldata.
25.
PERFORMDISPLAY_alv_REPORT.
26.
CALLSCREEN2000.
27.*&
---------------------------------------------------------------------*
28.*&
Form
get_table_structure
29.*&
30.*
GetstructureofanSAPtable
31.*----------------------------------------------------------------------*
32.FORMGET_TABLE_STRUCTURE.
33.
DATA:
REF_TABLE_DESCRTYPEREFTOCL_ABAP_STRUCTDESCR,
34.
IT_TABDESCRTYPEABAP_COMPDESCR_TAB,
35.
WA_TABDESCRTYPEABAP_COMPDESCR,
36.
LV_NO_DAYS
TYPEP,
37.
LV_DATE
TYPESY-DATUM,
38.
LV_DATUM
TYPESY-DATUM,
39.
LV_DAY
TYPETEXT40,
40.
LV_WEEK_DAYTYPETEXT10,
41.
LIN
TYPESY-TFILL,
42.
C_REM
TYPESTRINGVALUE'
Remarks'
.
43.*fillthedataintofieldcatlogofstaticfield
44.
PERFORMBUILD_FIELDCATALOGUSINGIT_FIELDCAT.
45.*Returnstructureofthetable.
46.
REF_TABLE_DESCR?
=CL_ABAP_TYPEDESCR=>
DESCRIBE_BY_DATA(LV_FLD_1).
47.
IT_TABDESCR[]=REF_TABLE_DESCR->
COMPONENTS[].
48.
49.*Getnoofdaysinamonth..
50.
CALLFUNCTION'
HR_E_NUM_OF_DAYS_OF_MONTH'
51.
EXPORTING
52.
P_FECHA
=SY-DATUM
53.
IMPORTING
54.
NUMBER_OF_DAYS=LV_NO_DAYS.
55.
56.*getnooflines..
57.
DESCRIBETABLEIT_FIELDCATLINESLIN.
58.
59.
LV_DATUM
=SY-DATUM.
60.
LV_DATUM+6
(2)
=1.
61.
WA_FIELDCAT-COL_POS=LIN.
62.*filldynamicfieldintofieldscate..
63.
DOLV_NO_DAYSTIMES.
64.
LV_DATE=LV_DATUM
+SY-INDEX-1.
65.
DATE_TO_DAY'
66.
EXPORTING
67.
DATE
=LV_DATE
68.
IMPORTING
69.
WEEKDAY=LV_WEEK_DAY.
70.
71.
CONCATENATELV_DATE+6
(2)'
'
LV_WEEK_DAYINTOLV_DAY.
72.
73.
LOOPATIT_TABDESCRINTOWA_TABDESCR.
74.
WA_FIELDCAT-COL_POS
=WA_FIELDCAT-COL_POS+1
.
75.
IFSY-TABIX=1.
76.
WA_FIELDCAT-FIELDNAME=LV_DATE.
77.
WA_FIELDCAT-COLTEXT
=LV_DAY.
78.
ELSE.
79.
CONCATENATELV_DATE
'
_R'
INTOWA_FIELDCAT-FIELDNAME.
80.
=C_REM."
81.
ENDIF.
82.
WA_FIELDCAT-INTTYPE
=WA_TABDESCR-TYPE_KIND.
83.
WA_FIELDCAT-INTLEN
=WA_TABDESCR-LENGTH/2.
84.
APPEND
WA_FIELDCATTO
IT_FIELDCAT.
85.
ENDLOOP.
86.
ENDDO.
87.ENDFORM.
"
88.
89.*&
90.*&
create_itab_dynamically
91.*&
92.*
Createinternaltabledynamically
93.*----------------------------------------------------------------------*
94.FORMCREATE_ITAB_DYNAMICALLY.
95.*CreatedynamicinternaltableandassigntoField-Symbol
96.
CLEARWA_FIELDCAT.
97.*movefieldsfromIT_FIELDCATintoIT_FIELDCAT_1.
98.
IT_FIELDCAT_1=IT_FIELDCAT.
99.*UsereftableCALENDAR_TYPEandreffield'
COLTAB'
100.
WA_FIELDCAT-FIELDNAME='
CELLCOLOR'
101.
WA_FIELDCAT-REF_TABLE='
CALENDAR_TYPE'
102.
WA_FIELDCAT-REF_FIELD='
103.
APPENDWA_FIELDCATTOIT_FIELDCAT.
104.
105.*createatabletype'
ZCELLSTYL'
withfield'
CELLSTYLE'
oftype
LVC_T_STYL
106.
107.
108.
109.
110.*CreateadynamictablewithIT_FIELDCAT.
111.*andUseIT_FIELDCAT_1todisplayALV.
112.
CALLMETHODCL_ALV_TABLE_CREATE=>
CREATE_DYNAMIC_TABLE
113.
114.
IT_FIELDCATALOG=IT_FIELDCAT
115.
116.
EP_TABLE
=DYN_TABLE.
117.
ASSIGNDYN_TABLE->
*TO<
118.*CreatedynamicworkareaandassigntoFieldSymbol
119.
CREATEDATADYN_LINELIKELINEOF<
120.
ASSIGNDYN_LINE->
121.ENDFORM.
122.*&
123.*&
get_data
124.*&
125.*
Populatedynamicitab
126.*----------------------------------------------------------------------*
127.FORMGET_DATA.
128.
FIELD-SYMBOLS:
FS_PERNR>
TYPEANY,
129.
<
FS_FIELD>
130.
FS_COLOR>
TYPELVC_T_SCOL,
131.
FS_STYLE>
TYPELVC_T_STYL,
132.
WA_FIELDCAT>
TYPELVC_S_FCAT.
133.
DATA:
IT_CELLCOLORTYPELVC_T_SCOL,
134.
IT_CELLSTYLETYPELVC_T_STYL,
135.
L_DAY_P
136.
LV_MOD_DATE
TYPEDATUM,
137.
C_HOL
TYPECHAR10VALUE'
Holiday'
138.
ASSIGNCOMPONENT'
PERNR'
OFSTRUCTURE<
TO<
139.
LOOP
ATIT_FIELDCATASSIGNING<
."
WHERE
140.*addecolortodynamcifields..
141.
142.
IF<
-INTTYPE
='
T'
143.
PERFORM
MODIFY_CELL_COLORUSING<
-FIELDNAME
144.
CHANGINGIT_CELLCOLOR.
145.
=IT_CELLCOLOR.
146.
ELSE.
147.
IF<
-FIELDNAME+8
(2)='
148.
LV_MOD_DATE=<
-FIELDNAME+0(8).
149.
L_DAY_P=LV_MOD_DATE
MOD7.
150.
IFL_DAY_P>
1.
151.
L_DAY_P=L_DAY_P-1.
152.
153.
L_DAY_P=L_DAY_P+6.
154.
ENDIF.
155.
IFL_DAY_P=6ORL_DAY_P=7.
156.
PERFORM
157.
CHANGINGIT_CELLCOLOR.
158.
159.
ASSIGNCOMPONENT<
-FIELDNAMEOFSTRUCTURE<
160.
=C_HOL."
161.
162.
163.
164.*Dynamiceditable
165.
-FIELDNAME+0(8)
=
SY-DATUM.
166.
ASSIGNCOMPONENT'
167.
PERFORMEDITABLE_CELLUSING<
168.
CHANGINGIT_CELLSTYLE.
169.
=IT_CELLSTYLE.
170.
171.
172.
APPEND<
173.ENDFORM.
174.
175.*&
176.*&
modify_cell_color
177.*&
178.*
-->
P_FIELDNAME
text
179.*
PT_CELLCOLOR
180.*----------------------------------------------------------------------*
181.FORMMODIFY_CELL_COLOR
USINGP_FIELDNAME
TYPELVC_FNAME
182.
CHANGINGPT_CELLCOLOR
TYPETABLE.
183.
DATAL_CELLCOLORTYPELVC_S_SCOL.
184.
LV_DATETYPEDATUM.
185.
DAY_PTYPEP.
186.
CLEARL_CELLCOLOR.
187.
IFP_FIELDNAME+8
(2)='
188.
LV_DATE=
P_FIELDNAME+8
(2).
189.
190.
P_FIELDNAME.
191.
192.
DAY_P=LV_DATE
193.
IFDAY_P>
194.
DAY_P=DAY_P-1.
195.
196.
DAY_P=DAY_P+6.
197.
198.
IFDAY_P=6ORDAY_P=7.
199.
200.
L_CELLCOLOR-COLOR-COL=7.
"
Red.
201.
L_CELLCOLOR-COLOR-INT=0.
202.
L_CELLCOLOR-COLOR-INV=0.
203.
204.
205.
L_CELLCOLOR-COLOR-INT=1.
206.
L_CELLCOLOR-COLOR-INV=1.
207.
208.
L_CELLCOLOR-FNAME=P_FIELDNAME.
209.
APPENDL_CELLCOLORTOPT_CELLCOLOR.
210.
211.
212.
213.
IFP_FIELDNAME+0(8)=SY-DATUM.
214.
215.
L_CELLCOLOR-COLOR-COL=3.
216.
L_CELLCOLOR-COLOR-INT=1.
217.
L_CELLCOLOR-COLOR-INV=1.
218.
219.
CONCATENATEP_FIELDNAME'
INTO
L_CELLCOLOR-FNAME.
220.
221.
222.
223.
224.
225.ENDFORM.
MODIFY_CELL_COLOR
226.
227.*&
228.*&
BUILD_FIELDCATALOG
229.*&
230.*
BuildFieldcatalogforALVReport,usingSAPtablestructure
231.*----------------------------------------------------------------------*
232.FORMBUILD_FIELDCATALOGUSINGP_IT_FIELDCAT
TYPELVC_T_FCAT."
SLIS_T_FIELDCAT_ALV.
233.**ALVFunctionmoduletobuildfieldcatalogfromSAPtablestructure
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 创建 带有 编辑 着色 单元格 动态 alv