mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-04 17:56:10 +08:00
Compare commits
471 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
08c794f3ca | ||
![]() |
d83ad53f46 | ||
![]() |
9fde3924bb | ||
![]() |
ca6fda29ed | ||
![]() |
a1af09f064 | ||
![]() |
8428eb04d2 | ||
![]() |
13da36b7a2 | ||
![]() |
4eb3df1611 | ||
![]() |
bae673121b | ||
![]() |
776ff5aa26 | ||
![]() |
f6eeb339e4 | ||
![]() |
e1cccfabda | ||
![]() |
467b96f73b | ||
![]() |
d146e5b893 | ||
![]() |
b3201166fc | ||
![]() |
b5f5d11e1c | ||
![]() |
3d2926c5a6 | ||
![]() |
4e1931af15 | ||
![]() |
0f19081a04 | ||
![]() |
5ee365d831 | ||
![]() |
48db7f0b1b | ||
![]() |
d25eb31d78 | ||
![]() |
e389d2dff5 | ||
![]() |
564d60e0f5 | ||
![]() |
fd2dc14ac2 | ||
![]() |
c2096d1f9b | ||
![]() |
aee3b3efa4 | ||
![]() |
a9e1068e44 | ||
![]() |
3cb8f883f1 | ||
![]() |
5cb47b143c | ||
![]() |
191bf9cf61 | ||
![]() |
f9685c981d | ||
![]() |
0f473095e1 | ||
![]() |
a69258e829 | ||
![]() |
35425c3220 | ||
![]() |
39f92725a0 | ||
![]() |
242a3d4e43 | ||
![]() |
e4f0ca2333 | ||
![]() |
b77b48fd15 | ||
![]() |
cc8fb819ad | ||
![]() |
1148838a0f | ||
![]() |
b4a79ebe6c | ||
![]() |
5f784c8ed6 | ||
![]() |
6bb02920df | ||
![]() |
92809a41e3 | ||
![]() |
76a39a7819 | ||
![]() |
1c2607f655 | ||
![]() |
a6176d7f17 | ||
![]() |
bcec07b41a | ||
![]() |
c1a20e870b | ||
![]() |
ccda3a0aa8 | ||
![]() |
cf8bb2c501 | ||
![]() |
d30855345c | ||
![]() |
2f970b82a1 | ||
![]() |
4d33c4e20e | ||
![]() |
ec32e7ade4 | ||
![]() |
c28162d1d1 | ||
![]() |
425b6a2b7d | ||
![]() |
ac78cd87d2 | ||
![]() |
1fe298d5be | ||
![]() |
2b01655cab | ||
![]() |
829529cf6a | ||
![]() |
869dc52e40 | ||
![]() |
04b143ca2e | ||
![]() |
530d9e207a | ||
![]() |
e0c4fade08 | ||
![]() |
8b729bb01a | ||
![]() |
bd8105f800 | ||
![]() |
34a8ed4865 | ||
![]() |
684c8f71e0 | ||
![]() |
df9db3d55c | ||
![]() |
d9f557ea75 | ||
![]() |
90981b21c5 | ||
![]() |
eb7d8da540 | ||
![]() |
4f3d113a43 | ||
![]() |
9d318a1bc2 | ||
![]() |
ef47a724e7 | ||
![]() |
bca6db91c3 | ||
![]() |
c6e5ad6ee6 | ||
![]() |
4ab5bbe961 | ||
![]() |
11b47ec222 | ||
![]() |
000b7cf797 | ||
![]() |
09c1eb027b | ||
![]() |
a0f28d9f54 | ||
![]() |
d161a757a7 | ||
![]() |
b04f6d3c17 | ||
![]() |
781edaf1d6 | ||
![]() |
e4141e977b | ||
![]() |
ffbc9153bb | ||
![]() |
b669bdf893 | ||
![]() |
a1053e84e1 | ||
![]() |
387d8b103c | ||
![]() |
d2a1301329 | ||
![]() |
177f30326c | ||
![]() |
7b7984373c | ||
![]() |
46e234cd94 | ||
![]() |
f9b3a5b555 | ||
![]() |
efbac83915 | ||
![]() |
ac8f4a701e | ||
![]() |
bea794926b | ||
![]() |
e97169a0c3 | ||
![]() |
211cf550e6 | ||
![]() |
f2dd72e76e | ||
![]() |
2973d66594 | ||
![]() |
c80da26920 | ||
![]() |
07340621a2 | ||
![]() |
77afa4480d | ||
![]() |
5bb343a3e4 | ||
![]() |
bffb01c7b9 | ||
![]() |
66ed127cb8 | ||
![]() |
76f14105db | ||
![]() |
c3204b5c7b | ||
![]() |
79d0df4dc3 | ||
![]() |
c3481d5d90 | ||
![]() |
cc291983d7 | ||
![]() |
6a32480e5d | ||
![]() |
a09229a130 | ||
![]() |
206e9199c8 | ||
![]() |
165a580b34 | ||
![]() |
4662dc85f4 | ||
![]() |
7fa137bc94 | ||
![]() |
8f630081ed | ||
![]() |
5e1ca6255f | ||
![]() |
c5eb18acdc | ||
![]() |
6fcbc5c8a8 | ||
![]() |
87b8291ea2 | ||
![]() |
8d63df6ba6 | ||
![]() |
38160bc781 | ||
![]() |
3ef605e74a | ||
![]() |
9d0c970682 | ||
![]() |
8d072439da | ||
![]() |
496b51e531 | ||
![]() |
3a4270c11e | ||
![]() |
a5e4bb9c77 | ||
![]() |
9ee01464fc | ||
![]() |
98d67652a9 | ||
![]() |
f16a3cc9b2 | ||
![]() |
2818544c9a | ||
![]() |
9e90a307c1 | ||
![]() |
26a42d8bdb | ||
![]() |
c55cf528fd | ||
![]() |
dea6cfd9f0 | ||
![]() |
a35c91face | ||
![]() |
49938b0c60 | ||
![]() |
3df52da4c2 | ||
![]() |
df709ace6a | ||
![]() |
6efa4c6904 | ||
![]() |
a479c0b337 | ||
![]() |
74a3559b28 | ||
![]() |
0f51d6d884 | ||
![]() |
7898a21548 | ||
![]() |
cb315c5572 | ||
![]() |
6532e0e0b5 | ||
![]() |
41196fd58a | ||
![]() |
6ffcba1aa1 | ||
![]() |
3eaf645fe2 | ||
![]() |
adde441cd2 | ||
![]() |
730ab2f174 | ||
![]() |
a5a1d65c3a | ||
![]() |
3167c6a8f2 | ||
![]() |
d7011f715c | ||
![]() |
dbd260da2c | ||
![]() |
68707e1469 | ||
![]() |
8f65718db4 | ||
![]() |
fd83cbc112 | ||
![]() |
ea40b6860e | ||
![]() |
d80521c747 | ||
![]() |
74345edd32 | ||
![]() |
d60571434d | ||
![]() |
a83d322a87 | ||
![]() |
a82056b285 | ||
![]() |
ecfce5831b | ||
![]() |
32781d2463 | ||
![]() |
689d9c7b5b | ||
![]() |
fc211853d2 | ||
![]() |
052cd39a4f | ||
![]() |
9b6bf15277 | ||
![]() |
d26a1f32fa | ||
![]() |
d7930494b5 | ||
![]() |
3b2423ea29 | ||
![]() |
dc3962a402 | ||
![]() |
6d12c57f27 | ||
![]() |
5da41aaab2 | ||
![]() |
b31f1730d2 | ||
![]() |
fb4c62d598 | ||
![]() |
b1d569ac1d | ||
![]() |
3237359c85 | ||
![]() |
ac0ae6eca0 | ||
![]() |
ec3f73c0e2 | ||
![]() |
111bb57804 | ||
![]() |
904a014609 | ||
![]() |
de39aa842a | ||
![]() |
c24196bcd0 | ||
![]() |
98a251a859 | ||
![]() |
66a45b840a | ||
![]() |
a959c0c69a | ||
![]() |
b8be9c5de1 | ||
![]() |
372fe61c75 | ||
![]() |
2cda265b4c | ||
![]() |
d19ac690c6 | ||
![]() |
679950b498 | ||
![]() |
9bbc35a3ac | ||
![]() |
d722718970 | ||
![]() |
c4a97b44b9 | ||
![]() |
f7151f3d39 | ||
![]() |
16430d17dd | ||
![]() |
ca69b38a79 | ||
![]() |
e9386fd022 | ||
![]() |
e0052bbb9e | ||
![]() |
1076b86547 | ||
![]() |
b9a248dcb4 | ||
![]() |
90992efb50 | ||
![]() |
e7d34b65c1 | ||
![]() |
af1448dbbf | ||
![]() |
ac5c95ace7 | ||
![]() |
d66e0d5cc7 | ||
![]() |
03faa9500f | ||
![]() |
868c90ffdc | ||
![]() |
88d75bfe8a | ||
![]() |
9cc7da37cb | ||
![]() |
24ae5ecef2 | ||
![]() |
10b8df9b2f | ||
![]() |
e72e4ea6a9 | ||
![]() |
ae76133265 | ||
![]() |
5fa4f838b6 | ||
![]() |
8abf2adf9f | ||
![]() |
41d5553181 | ||
![]() |
69d4883773 | ||
![]() |
3b80566fa8 | ||
![]() |
1cb2e42328 | ||
![]() |
530d4661f2 | ||
![]() |
0064ae0a40 | ||
![]() |
2710dd9717 | ||
![]() |
6edf73b01d | ||
![]() |
e03fd5596d | ||
![]() |
bd8f75537f | ||
![]() |
2120bc00ee | ||
![]() |
beaac0a28a | ||
![]() |
e029864bbb | ||
![]() |
0a3beaf7f8 | ||
![]() |
5110f924b4 | ||
![]() |
8c92b12d6f | ||
![]() |
f4312ebf5d | ||
![]() |
18ff2dfc3c | ||
![]() |
32306262b2 | ||
![]() |
7b48cd0d90 | ||
![]() |
6eac42678c | ||
![]() |
85dd442551 | ||
![]() |
7fd9e3cbe0 | ||
![]() |
53b19eda8d | ||
![]() |
adf2c63ec8 | ||
![]() |
a9be231d99 | ||
![]() |
6b7d38cd8b | ||
![]() |
a0e234958b | ||
![]() |
0a907d27de | ||
![]() |
bd8975ec66 | ||
![]() |
976c3c1d3c | ||
![]() |
ccd0fb8740 | ||
![]() |
f11a2762cf | ||
![]() |
6c92a7f1ee | ||
![]() |
41823b64c9 | ||
![]() |
719fe85ef8 | ||
![]() |
482d04b1b3 | ||
![]() |
240f8cc126 | ||
![]() |
7dd3e882fd | ||
![]() |
1c276c6027 | ||
![]() |
74c1a543cd | ||
![]() |
5bc24b234c | ||
![]() |
17461f911b | ||
![]() |
7297f97349 | ||
![]() |
5a9408b685 | ||
![]() |
c36800ee49 | ||
![]() |
5eae938b01 | ||
![]() |
100e534c4a | ||
![]() |
09f4cb0550 | ||
![]() |
b48e0bf3cf | ||
![]() |
88ac30f84c | ||
![]() |
3e780bb65e | ||
![]() |
701e8a197e | ||
![]() |
37ad2fd68a | ||
![]() |
5a33253f0e | ||
![]() |
3b7f7f7b04 | ||
![]() |
1c7e527a3b | ||
![]() |
0de59b65c7 | ||
![]() |
49d78bfe35 | ||
![]() |
718b15091e | ||
![]() |
c48484d6dc | ||
![]() |
1d76e44a83 | ||
![]() |
efdcf131b0 | ||
![]() |
8ea5ab07ea | ||
![]() |
df80e6fd74 | ||
![]() |
b9a787afd6 | ||
![]() |
3d0338aa8a | ||
![]() |
0446c85866 | ||
![]() |
36ea883d33 | ||
![]() |
5053bf93a2 | ||
![]() |
2f7b9482d9 | ||
![]() |
2399f4aadd | ||
![]() |
7712316e9d | ||
![]() |
d104e020f3 | ||
![]() |
8938dba50f | ||
![]() |
3bee79156d | ||
![]() |
e02733290f | ||
![]() |
84aa650b8e | ||
![]() |
1da0be9fb9 | ||
![]() |
f5a6453e3a | ||
![]() |
0134bd1177 | ||
![]() |
370cb11c4a | ||
![]() |
789d41ff79 | ||
![]() |
e3784a2abd | ||
![]() |
8006c97ceb | ||
![]() |
edb50701b1 | ||
![]() |
8e87d303a5 | ||
![]() |
ad1021f8c2 | ||
![]() |
cf01f333ee | ||
![]() |
66b581391c | ||
![]() |
9dc478cb5b | ||
![]() |
4f7a64656e | ||
![]() |
e1f8d5b268 | ||
![]() |
eb6b58118c | ||
![]() |
225fa0b29a | ||
![]() |
d3fd799e5b | ||
![]() |
09b6b5f162 | ||
![]() |
d1c74a18e4 | ||
![]() |
0a17f7f14a | ||
![]() |
f6b2a0218d | ||
![]() |
06d10d1f11 | ||
![]() |
fe4a166782 | ||
![]() |
3481ca8b76 | ||
![]() |
d907d03e28 | ||
![]() |
2cb048d5bb | ||
![]() |
66e82266c3 | ||
![]() |
bca0b78d41 | ||
![]() |
a5b80e4700 | ||
![]() |
a5194c647b | ||
![]() |
ac3f47c704 | ||
![]() |
83d4cc5dd5 | ||
![]() |
f3d46100a4 | ||
![]() |
ec08afe506 | ||
![]() |
42a85aaa18 | ||
![]() |
76f08196b3 | ||
![]() |
2a5929502b | ||
![]() |
ffb840e113 | ||
![]() |
e45d2c9274 | ||
![]() |
695bd3d8b9 | ||
![]() |
6bf5141b00 | ||
![]() |
a6fd716ae9 | ||
![]() |
e29c54d3d1 | ||
![]() |
8a7918eb11 | ||
![]() |
f975eb78b5 | ||
![]() |
7e9dca56c3 | ||
![]() |
7ea26da291 | ||
![]() |
fd21ed8757 | ||
![]() |
5c6f0ae384 | ||
![]() |
f7792bf272 | ||
![]() |
2a8b65e11f | ||
![]() |
57862b92a4 | ||
![]() |
3ff18207f7 | ||
![]() |
93ca0e5a8c | ||
![]() |
8699a5ce48 | ||
![]() |
aaad50440d | ||
![]() |
f06d074592 | ||
![]() |
6b84761443 | ||
![]() |
095f3d135b | ||
![]() |
4ca4991167 | ||
![]() |
39c1ad1b08 | ||
![]() |
b57484b1fd | ||
![]() |
71f4cee997 | ||
![]() |
0cee2ab2f2 | ||
![]() |
a50a26c764 | ||
![]() |
59f270b682 | ||
![]() |
49f7113883 | ||
![]() |
ea61a073b6 | ||
![]() |
faa434ec3e | ||
![]() |
996dcc39d6 | ||
![]() |
3c578c447e | ||
![]() |
a150c56e0d | ||
![]() |
1c5db94374 | ||
![]() |
d150160aea | ||
![]() |
1c143fad77 | ||
![]() |
39c906c88d | ||
![]() |
6781323356 | ||
![]() |
8653c21b89 | ||
![]() |
3e51f77be3 | ||
![]() |
a1867fd71e | ||
![]() |
284d7db7c1 | ||
![]() |
03247f23c7 | ||
![]() |
2f5c41832c | ||
![]() |
bf3766a170 | ||
![]() |
558578fa5e | ||
![]() |
4354a8accf | ||
![]() |
0945411b94 | ||
![]() |
323d91929f | ||
![]() |
70d8c148ae | ||
![]() |
539d21bbe2 | ||
![]() |
1b7cd1a2c1 | ||
![]() |
76c0e4ac05 | ||
![]() |
f767b80bfa | ||
![]() |
bbbf511dd6 | ||
![]() |
c3d9431b49 | ||
![]() |
d0af940090 | ||
![]() |
a5985ea2ea | ||
![]() |
d1532a347b | ||
![]() |
9f94ee3af3 | ||
![]() |
74ba49c7e3 | ||
![]() |
56f6fafe77 | ||
![]() |
7481a0bde3 | ||
![]() |
2217873519 | ||
![]() |
dd5018ee44 | ||
![]() |
433c441420 | ||
![]() |
bdd2bfeb8d | ||
![]() |
1f896dd025 | ||
![]() |
27e30f7c7c | ||
![]() |
ac6ffe90f1 | ||
![]() |
4ecb09f839 | ||
![]() |
7bb0ae6e69 | ||
![]() |
399c614e25 | ||
![]() |
f7787a90b5 | ||
![]() |
cb102a7cea | ||
![]() |
bc44a6c7c9 | ||
![]() |
4917b88a77 | ||
![]() |
2f8b93f2a5 | ||
![]() |
cb1364b65f | ||
![]() |
66e4ef4793 | ||
![]() |
33e215d075 | ||
![]() |
9b6f80ec83 | ||
![]() |
4d2aaf049c | ||
![]() |
0744e0c6c9 | ||
![]() |
0f0d582c6a | ||
![]() |
1efb7b87f1 | ||
![]() |
4a7291ca49 | ||
![]() |
3ce3335f12 | ||
![]() |
a5515b432b | ||
![]() |
333d505a1f | ||
![]() |
90523b9853 | ||
![]() |
58d98d362b | ||
![]() |
e71644d487 | ||
![]() |
207bf54a54 | ||
![]() |
eaea931778 | ||
![]() |
1475bda3d6 | ||
![]() |
5e6bb3ba10 | ||
![]() |
4f66d3445b | ||
![]() |
c38b1d79f7 | ||
![]() |
de5dd96564 | ||
![]() |
59aeaab0a8 | ||
![]() |
7a10a253be | ||
![]() |
5a712f9435 | ||
![]() |
3855e5b97f | ||
![]() |
1c127e1a6b | ||
![]() |
7303fb3c98 | ||
![]() |
b74bc20d10 | ||
![]() |
943c124cff | ||
![]() |
f2390f6375 | ||
![]() |
c8b9132337 | ||
![]() |
cf7d5da6ca | ||
![]() |
969da4a9dc | ||
![]() |
d4464072c1 | ||
![]() |
6c124bf61d | ||
![]() |
18cfa99a18 | ||
![]() |
68b2c66edd | ||
![]() |
6356cad9f3 | ||
![]() |
77bedd78c4 | ||
![]() |
4f0393541d | ||
![]() |
a3509f1d48 | ||
![]() |
ee10976c8a | ||
![]() |
240c61dbd7 | ||
![]() |
f44f7baae4 | ||
![]() |
2812fce7ce | ||
![]() |
5d80ca2a41 | ||
![]() |
1b121ea592 | ||
![]() |
b6d536d34e |
|
@ -11,6 +11,8 @@
|
|||
<item>/README.md</item>
|
||||
<item>/package.json</item>
|
||||
<item>/.travis.yml</item>
|
||||
<item>/_config.yml</item>
|
||||
<item>/abaplint.json</item>
|
||||
</IGNORE>
|
||||
</DATA>
|
||||
</asx:values>
|
||||
|
|
17
.github/workflows/unit.yml
vendored
Normal file
17
.github/workflows/unit.yml
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
name: unit
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
unit:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
- run: npm install
|
||||
- run: npm test
|
6
.gitignore
vendored
Normal file
6
.gitignore
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
node_modules/
|
||||
package-lock.json
|
||||
output
|
||||
foo.zip
|
||||
foo.xlsx
|
||||
foo
|
41
CONTRIBUTING.md
Normal file
41
CONTRIBUTING.md
Normal file
|
@ -0,0 +1,41 @@
|
|||
# Contributing to abap2xlsx
|
||||
|
||||
Welcome and thanks for taking the time to contribute, it's great to have you here!
|
||||
|
||||
This is a set of guidelines for contributing to abap2xlsx. Mostly guidelines, not hard and fast rules: try to apply your best judgment and, when necessary, feel free to propose changes to this document via pull requests.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
1. [Important Resources](#important-resources)
|
||||
1. [Discussion Board](#discussion-board)
|
||||
1. [GitHub](#github)
|
||||
1. [Slack](#slack)
|
||||
1. [How to submit changes](#how-to-submit-changes)
|
||||
1. [Review process](#review-process)
|
||||
1. [Keeping PR up to date](#keeping-pr-up-to-date)
|
||||
|
||||
## Important Resources
|
||||
|
||||
### Discussion Board
|
||||
|
||||
We use the [SAP Community Network](https://community.sap.com/) as our discussion board for general questions concerning the usage of the library. You can [search for all content containing abap2xlsx](https://community.sap.com/search/?ct=all&q=abap2xlxs) before you post a new question. You also can limit the search [using the tag: abap2xlsx](https://answers.sap.com/topics/abap2xlsx.html). Please use this link when you want to [post a new question](https://answers.sap.com/questions/ask.html?primaryTagId=833755570260738661924709785639136&topics=abap2xlsx&question=%5Babap2xlsx%5D%20) the tag *abap2xlsx* will be prefilled).
|
||||
|
||||
### GitHub
|
||||
|
||||
While the discussion board is meant for general how-to questions, if you have found a bug or simply wish to inquire about a new feature please file an issue on GitHub and provide as much relevant information as possible: a well-written bug report is truly helpful.
|
||||
|
||||
### Slack
|
||||
|
||||
We have the channel [#abap2xlsx](https://sapmentors.slack.com/archives/CGG0UHDMG) in the SAP Mentors & Friends Slack. You can get [yourself an invite here](https://sapmentors-slack-invite.cfapps.eu10.hana.ondemand.com/).
|
||||
|
||||
## How to submit changes
|
||||
|
||||
Changes are handled via the usual pull request mechanism; clear, short PRs for bugfixes are best because they're easy to review but sometimes, especially with new features, the changes are more substantial: in this case please provide an overview and pointers to the most relevant changes to be checked. If possible, a PR should not exist in a vacuum, rather it should address or even close an issue already filed. This way, the relevant context can be provided without cluttering the PR itself. Last but not least, there is a separate document dedicated to the [coding guidelines](./docs/contributing/coding-guidelines.md).
|
||||
|
||||
### Review process
|
||||
|
||||
With the possible exception of the original authors it is recommended that contributors go through the PR process, even when they have push access. A different contributor will then review the PR, provide feedback on possible reworks or even merge it directly if all is in order. It is also possible to review changes and have someone else merge them, of course.
|
||||
|
||||
### Keeping PR up to date
|
||||
|
||||
When the review process takes a long time, regardless of the reason, the changes proposed by the PR might fall behind the master branch. If the author of the PR has allowed it (default setting in GitHub), another contributor might come along and merge the master branch into the PR branch, thereby freshening it. When conflicts happen, however, the PR author should resolve them. By all means, if necessary ask for help in the conversation section of the PR. If a PR lies dormant for too long, an effort will be made to get in touch with the author, to ensure the request is still relevant.
|
4
LICENSE
4
LICENSE
|
@ -1,4 +1,4 @@
|
|||
Apache License
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
|
@ -186,7 +186,7 @@ Apache License
|
|||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright {yyyy} {name of copyright owner}
|
||||
Copyright 2010 abap2xlsx Contributors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
|
12
README.md
12
README.md
|
@ -1,9 +1,9 @@
|
|||
abap2xlsx
|
||||
=========
|
||||
# abap2xlsx - Read and generate Excel Spreadsheets with ABAP
|
||||
|
||||
Generate your professional Excel spreadsheet from ABAP
|
||||
For general information please refer to the blog series [abap2xlsx - Generate your professional Excel spreadsheet from ABAP](http://scn.sap.com/community/abap/blog/2010/07/12/abap2xlsx--generate-your-professional-excel-spreadsheet-from-abap) and the [documentation](https://abap2xlsx.github.io/abap2xlsx/).
|
||||
Please refer to the official wiki for the [abapGit installation guide](https://abap2xlsx.github.io/abap2xlsx/abapGit-installation).
|
||||
Note that the **Demo programs** are provided in a [separate repository](https://github.com/abap2xlsx/demos), and can be installed after abap2xlsx.
|
||||
|
||||
For general information please refer to the blog series [abap2xlsx - Generate your professional Excel spreadsheet from ABAP](http://scn.sap.com/community/abap/blog/2010/07/12/abap2xlsx--generate-your-professional-excel-spreadsheet-from-abap) and the [Wiki section](https://github.com/ivanfemia/abap2xlsx/wiki).
|
||||
Please refer to the official wiki for the [installation guide & F.A.Q.](https://github.com/ivanfemia/abap2xlsx/wiki).
|
||||
For questions, bug reports and more information on contributing to the project, please refer to the [contributing guidelines](./CONTRIBUTING.md).
|
||||
|
||||
**Discussion Board is on [SAP Community Network - Open Source space](http://scn.sap.com/community/open-source), please add the prefix [abap2xlsx] in the title and tag the discussion with abap2xlsx.**
|
||||
Version support: minimum tested version is SAP_ABA 731, it might work on older versions still but we need volunteers to test it.
|
||||
|
|
3
SECURITY.md
Normal file
3
SECURITY.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
# Reporting Security Issues
|
||||
|
||||
To report a security issue, please use the GitHub Security Advisory ["Report a Vulnerability"](https://github.com/abap2xlsx/abap2xlsx/security/advisories/new) tab.
|
1
_config.yml
Normal file
1
_config.yml
Normal file
|
@ -0,0 +1 @@
|
|||
theme: jekyll-theme-cayman
|
61
abap_transpile.json
Normal file
61
abap_transpile.json
Normal file
|
@ -0,0 +1,61 @@
|
|||
{
|
||||
"input_folder": "{src,test}",
|
||||
"input_filter": [
|
||||
"src/zcl_excel_a",
|
||||
"src/zcl_excel_c",
|
||||
"src/zcl_excel_d",
|
||||
"src/zcl_excel_fill_template",
|
||||
"src/zcl_excel_font TODO, missing TDFONTSIZE",
|
||||
"src/zcl_excel_g",
|
||||
"src/zcl_excel_h",
|
||||
"src/zcl_excel_l",
|
||||
"src/zcl_excel_o",
|
||||
"src/zcl_excel_r",
|
||||
"src/zcl_excel_s",
|
||||
"src/zcl_excel_t",
|
||||
"src/zcl_excel_w",
|
||||
"src/zcl_excel.clas",
|
||||
"src/zcx_",
|
||||
"src/zexcel_.*doma",
|
||||
"src/zexcel_.*dtel",
|
||||
"src/not_cloud/zexcel_.*dtel",
|
||||
"src/not_cloud/zexcel_.*doma",
|
||||
"src/zexcel_c",
|
||||
"src/zexcel_p",
|
||||
"src/zexcel_s",
|
||||
"src/zexcel_t",
|
||||
"src/zif_",
|
||||
"test/"
|
||||
],
|
||||
"output_folder": "output",
|
||||
"lib": "https://github.com/open-abap/open-abap",
|
||||
"write_unit_tests": true,
|
||||
"write_source_map": true,
|
||||
"options": {
|
||||
"ignoreSyntaxCheck": false,
|
||||
"addFilenames": true,
|
||||
"addCommonJS": true,
|
||||
"unknownTypes": "runtimeError",
|
||||
"skip": [
|
||||
{"object": "ZCL_EXCEL_READER_HUGE_FILE", "class": "lcl_test", "method": "test_number", "note": "SXML in open-abap currently only handles json, todo"},
|
||||
{"object": "ZCL_EXCEL_READER_HUGE_FILE", "class": "lcl_test", "method": "test_shared_string", "note": "SXML in open-abap currently only handles json, todo"},
|
||||
{"object": "ZCL_EXCEL_READER_HUGE_FILE", "class": "lcl_test", "method": "test_shared_string_missing", "note": "??"},
|
||||
{"object": "ZCL_EXCEL_READER_HUGE_FILE", "class": "lcl_test", "method": "test_inline_string", "note": "??"},
|
||||
{"object": "ZCL_EXCEL_READER_HUGE_FILE", "class": "lcl_test", "method": "test_empty_cells", "note": "??"},
|
||||
{"object": "ZCL_EXCEL_READER_HUGE_FILE", "class": "lcl_test", "method": "test_boolean", "note": "SXML in open-abap currently only handles json, todo"},
|
||||
{"object": "ZCL_EXCEL_READER_HUGE_FILE", "class": "lcl_test", "method": "test_style", "note": "??"},
|
||||
{"object": "ZCL_EXCEL_READER_HUGE_FILE", "class": "lcl_test", "method": "test_style_missing", "note": "??"},
|
||||
{"object": "ZCL_EXCEL_READER_HUGE_FILE", "class": "lcl_test", "method": "test_formula", "note": "??"},
|
||||
{"object": "ZCL_EXCEL_READER_HUGE_FILE", "class": "lcl_test", "method": "test_read_shared_strings", "note": "??"},
|
||||
{"object": "ZCL_EXCEL_READER_HUGE_FILE", "class": "lcl_test", "method": "test_shared_string_some_empty", "note": "??"},
|
||||
{"object": "ZCL_EXCEL_READER_HUGE_FILE", "class": "lcl_test", "method": "test_shared_string_multi_style", "note": "??"},
|
||||
{"object": "ZCL_EXCEL_READER_HUGE_FILE", "class": "lcl_test", "method": "test_skip_to_inexistent", "note": "??"},
|
||||
|
||||
{"object": "ZCL_EXCEL_WRITER_2007", "class": "ltc_column_formula", "method": "one_column_formula", "note": "?? CALL TRANSFORMATION xml_header = 'no'"},
|
||||
{"object": "ZCL_EXCEL_WRITER_2007", "class": "ltc_column_formula", "method": "two_column_formulas", "note": "??"},
|
||||
|
||||
{"object": "ZCL_EXCEL_COMMON", "class": "ltc_utclong_to_excel_string", "method": "simple", "note": "?? missing method CL_ABAP_TSTMP=>UTCLONG2TSTMP_SHORT, I'm too lazy to add it today"},
|
||||
{"object": "ZCL_EXCEL_COMMON", "class": "lcl_excel_common_test", "method": "convert_column2int_oob_empty", "note": "?? sy value defaults"}
|
||||
]
|
||||
}
|
||||
}
|
11
abaplint-app.json
Normal file
11
abaplint-app.json
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"configurations": {
|
||||
"default": {
|
||||
"filename": "./abaplint.json"
|
||||
},
|
||||
"steampunk": {
|
||||
"filename": "./abaplint-steampunk.json",
|
||||
"annotations": false
|
||||
}
|
||||
}
|
||||
}
|
54
abaplint-steampunk.json
Normal file
54
abaplint-steampunk.json
Normal file
|
@ -0,0 +1,54 @@
|
|||
{
|
||||
"global": {
|
||||
"files": "/src/**/*.*",
|
||||
"noIssues": ["/demos/", "/not_cloud/"]
|
||||
},
|
||||
"dependencies": [
|
||||
{
|
||||
"url": "https://github.com/abapedia/steampunk-2205-api",
|
||||
"files": "/src/**/*.*"
|
||||
}
|
||||
],
|
||||
"syntax": {
|
||||
"version": "Cloud",
|
||||
"errorNamespace": "."
|
||||
},
|
||||
"rules": {
|
||||
"begin_end_names": {
|
||||
"severity": "Warning"
|
||||
},
|
||||
"check_ddic": {
|
||||
"severity": "Warning"
|
||||
},
|
||||
"check_include": {
|
||||
"severity": "Warning"
|
||||
},
|
||||
"check_syntax": {
|
||||
"severity": "Warning"
|
||||
},
|
||||
"global_class": {
|
||||
"severity": "Warning"
|
||||
},
|
||||
"implement_methods": {
|
||||
"severity": "Warning"
|
||||
},
|
||||
"method_implemented_twice": {
|
||||
"severity": "Warning"
|
||||
},
|
||||
"parser_error": {
|
||||
"severity": "Warning"
|
||||
},
|
||||
"parser_missing_space": {
|
||||
"severity": "Warning"
|
||||
},
|
||||
"superclass_final": {
|
||||
"severity": "Warning"
|
||||
},
|
||||
"unknown_types": {
|
||||
"severity": "Warning"
|
||||
},
|
||||
"xml_consistency": {
|
||||
"severity": "Warning"
|
||||
}
|
||||
}
|
||||
}
|
201
abaplint.json
Normal file
201
abaplint.json
Normal file
|
@ -0,0 +1,201 @@
|
|||
{
|
||||
"global": {
|
||||
"files": "/src/**/*.*",
|
||||
"skipGeneratedGatewayClasses": true,
|
||||
"skipGeneratedFunctionGroups": true,
|
||||
"skipGeneratedPersistentClasses": true
|
||||
},
|
||||
"dependencies": [
|
||||
{
|
||||
"url": "https://github.com/abaplint/deps",
|
||||
"folder": "/deps",
|
||||
"files": "/src/**/*.*"
|
||||
}
|
||||
],
|
||||
"syntax": {
|
||||
"version": "v702",
|
||||
"errorNamespace": "^(Z|Y)",
|
||||
"globalConstants": [],
|
||||
"globalMacros": []
|
||||
},
|
||||
"rules": {
|
||||
"align_parameters": false,
|
||||
"cds_legacy_view": true,
|
||||
"cds_parser_error": true,
|
||||
"classic_exceptions_overlap": true,
|
||||
"local_testclass_consistency": true,
|
||||
"no_aliases": false,
|
||||
"no_chained_assignment": false,
|
||||
"unnecessary_pragma": false,
|
||||
"unnecessary_chaining": false,
|
||||
"superfluous_value": true,
|
||||
"static_call_via_instance": false,
|
||||
"slow_parameter_passing": false,
|
||||
"prefer_corresponding": true,
|
||||
"pragma_style": true,
|
||||
"omit_preceding_zeros": true,
|
||||
"no_inline_in_optional_branches": false,
|
||||
"nrob_consistency": true,
|
||||
"no_external_form_calls": true,
|
||||
"constant_classes": true,
|
||||
"cyclic_oo": false,
|
||||
"many_parentheses": true,
|
||||
"unused_ddic": true,
|
||||
"dangerous_statement": true,
|
||||
"db_operation_in_loop": false,
|
||||
"identical_descriptions": false,
|
||||
"intf_referencing_clas": false,
|
||||
"max_one_method_parameter_per_line": false,
|
||||
"method_implemented_twice": true,
|
||||
"modify_only_own_db_tables": false,
|
||||
"no_yoda_conditions": false,
|
||||
"parser_702_chaining": true,
|
||||
"prefer_raise_exception_new": true,
|
||||
"select_add_order_by": false,
|
||||
"select_performance": false,
|
||||
"uncaught_exception": true,
|
||||
"unsecure_fae": false,
|
||||
"use_class_based_exceptions": false,
|
||||
"call_transaction_authority_check": true,
|
||||
"function_module_recommendations": false,
|
||||
"identical_contents": false,
|
||||
"method_overwrites_builtin": true,
|
||||
"omit_parameter_name": false,
|
||||
"omit_receiving": true,
|
||||
"prefer_is_not": false,
|
||||
"prefer_xsdbool": true,
|
||||
"sy_modification": true,
|
||||
"unused_methods": false,
|
||||
"use_bool_expression": false,
|
||||
"begin_single_include": true,
|
||||
"check_subrc": false,
|
||||
"cyclomatic_complexity": false,
|
||||
"forbidden_pseudo_and_pragma": false,
|
||||
"identical_conditions": false,
|
||||
"line_break_style": false,
|
||||
"names_no_dash": true,
|
||||
"parser_missing_space": true,
|
||||
"unused_types": false,
|
||||
"use_line_exists": false,
|
||||
"downport": false,
|
||||
"forbidden_void_type": false,
|
||||
"line_break_multiple_parameters": false,
|
||||
"prefer_inline": false,
|
||||
"reduce_string_templates": true,
|
||||
"forbidden_identifier": false,
|
||||
"try_without_catch": true,
|
||||
"unknown_types": true,
|
||||
"prefix_is_current_class": false,
|
||||
"unused_variables": false,
|
||||
"abapdoc": false,
|
||||
"allowed_object_naming": true,
|
||||
"allowed_object_types": false,
|
||||
"ambiguous_statement": false,
|
||||
"avoid_use": {
|
||||
"define": true,
|
||||
"describeLines": false,
|
||||
"testSeams": true,
|
||||
"statics": false,
|
||||
"defaultKey": false,
|
||||
"break": true
|
||||
},
|
||||
"begin_end_names": true,
|
||||
"chain_mainly_declarations": false,
|
||||
"check_abstract": true,
|
||||
"check_comments": false,
|
||||
"check_ddic": true,
|
||||
"check_include": true,
|
||||
"check_syntax": true,
|
||||
"check_text_elements": false,
|
||||
"check_transformation_exists": true,
|
||||
"commented_code": false,
|
||||
"constructor_visibility_public": true,
|
||||
"description_empty": true,
|
||||
"double_space": false,
|
||||
"empty_line_in_statement": false,
|
||||
"empty_structure": false,
|
||||
"form_tables_obsolete": true,
|
||||
"fully_type_constants": false,
|
||||
"global_class": true,
|
||||
"identical_form_names": true,
|
||||
"if_in_if": false,
|
||||
"implement_methods": true,
|
||||
"in_statement_indentation": false,
|
||||
"indentation": false,
|
||||
"keep_single_parameter_on_one_line": false,
|
||||
"keyword_case": {
|
||||
"style": "upper",
|
||||
"ignoreExceptions": true,
|
||||
"ignoreLowerClassImplmentationStatement": true,
|
||||
"ignoreGlobalClassDefinition": false,
|
||||
"ignoreGlobalInterface": false,
|
||||
"ignoreKeywords": [],
|
||||
"ignoreGlobalClassBoundaries": false,
|
||||
"ignoreFunctionModuleName": false
|
||||
},
|
||||
"local_class_naming": false,
|
||||
"main_file_contents": true,
|
||||
"message_exists": false,
|
||||
"msag_consistency": {
|
||||
"numericParamters": false
|
||||
},
|
||||
"newline_between_methods": false,
|
||||
"no_public_attributes": false,
|
||||
"object_naming": {
|
||||
"clas": "^ZC(L|X)\\_EXCEL",
|
||||
"intf": "^ZIF\\_EXCEL",
|
||||
"tabl": "^ZEXCEL",
|
||||
"ttyp": "^ZEXCEL",
|
||||
"dtel": "^ZEXCEL"
|
||||
},
|
||||
"prefer_returning_to_exporting": false,
|
||||
"preferred_compare_operator": false,
|
||||
"release_idoc": false,
|
||||
"remove_descriptions": false,
|
||||
"rfc_error_handling": true,
|
||||
"selection_screen_naming": false,
|
||||
"short_case": false,
|
||||
"sicf_consistency": true,
|
||||
"space_before_dot": false,
|
||||
"sql_escape_host_variables": false,
|
||||
"superclass_final": false,
|
||||
"tabl_enhancement_category": true,
|
||||
"type_form_parameters": true,
|
||||
"types_naming": false,
|
||||
"unreachable_code": true,
|
||||
"use_new": false,
|
||||
"when_others_last": true,
|
||||
"xml_consistency": true,
|
||||
"7bit_ascii": false,
|
||||
"contains_tab": true,
|
||||
"functional_writing": false,
|
||||
"line_length": false,
|
||||
"max_one_statement": false,
|
||||
"parser_error": true,
|
||||
"space_before_colon": false,
|
||||
"colon_missing_space": false,
|
||||
"exit_or_check": {
|
||||
"allowCheck": true,
|
||||
"allowExit": false
|
||||
},
|
||||
"line_only_punc": false,
|
||||
"obsolete_statement": {
|
||||
"refresh": true,
|
||||
"move": true
|
||||
},
|
||||
"start_at_tab": false,
|
||||
"whitespace_end": true,
|
||||
"exporting": false,
|
||||
"empty_statement": false,
|
||||
"sequential_blank": true,
|
||||
"definitions_top": false,
|
||||
"nesting": false,
|
||||
"cloud_types": true,
|
||||
"method_length": false,
|
||||
"mix_returning": true,
|
||||
"method_parameter_names": false,
|
||||
"inline_data_old_versions": true,
|
||||
"local_variable_names": false,
|
||||
"class_attribute_names": false
|
||||
}
|
||||
}
|
|
@ -1,2 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DEVC DEVCLASS="ZABAP2XLSX" CTEXT="abap2xlsx" LANGUAGE="E" MASTERLANG="E" KORRFLAG="X" PDEVCLASS="ZHVE" DLVUNIT="HOME" NAMESPACE="/0CUST/" PARENTCL="ZT3G_NW_DEV" CREATED_BY="FEMIA" CREATED_ON="20140905" CHANGED_BY="FEMIA" CHANGED_ON="20141226" PROJECT_GUID="00000000000000000000000000000000"/>
|
|
@ -1,139 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-16"?>
|
||||
<PROG NAME="ZAKE_SVN_A2X" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100713" UNAM="DEVELOPER" UDAT="20120310" VERN="000020" RSTAT="T" RMAND="000" RLOAD="E" FIXPT="X" SDATE="20120310" STIME="172535" IDATE="20120310" ITIME="172535" UCCHECK="X">
|
||||
<textPool>
|
||||
<language SPRAS="E">
|
||||
<textElement ID="R" ENTRY="Program Z_ZAKE_SVN" LENGTH="18 "/>
|
||||
</language>
|
||||
</textPool>
|
||||
<source>*&---------------------------------------------------------------------*
|
||||
*& Report Z_ZAKE_SVN
|
||||
*&
|
||||
*&---------------------------------------------------------------------*
|
||||
*& Checkout / Checkin the ZAKE_SVN Project
|
||||
*&
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
REPORT zake_svn_a2x.
|
||||
|
||||
CONSTANTS cl_svn TYPE seoclsname VALUE 'ZCL_ZAKE_SVN'.
|
||||
CONSTANTS cl_tortoise_svn TYPE seoclsname VALUE 'ZCL_ZAKE_TORTOISE_SVN'.
|
||||
|
||||
DATA package TYPE devclass.
|
||||
DATA zake TYPE REF TO zake.
|
||||
|
||||
DATA objects TYPE scts_tadir.
|
||||
DATA object LIKE LINE OF objects.
|
||||
|
||||
DATA files TYPE string_table.
|
||||
DATA file LIKE LINE OF files.
|
||||
|
||||
DATA zake_build TYPE string.
|
||||
DATA zake_nuggetname TYPE string.
|
||||
|
||||
DATA comment_str TYPE string.
|
||||
DATA loclpath_str TYPE string.
|
||||
DATA svnpath_str TYPE string.
|
||||
DATA username_str TYPE string.
|
||||
DATA password_str TYPE string.
|
||||
DATA class TYPE seoclsname.
|
||||
|
||||
DATA: ex TYPE REF TO zcx_saplink,
|
||||
message TYPE string.
|
||||
|
||||
SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE a.
|
||||
PARAMETERS:
|
||||
checkout TYPE flag RADIOBUTTON GROUP act,
|
||||
update TYPE flag RADIOBUTTON GROUP act DEFAULT 'X',
|
||||
install TYPE flag RADIOBUTTON GROUP act,
|
||||
export TYPE flag RADIOBUTTON GROUP act,
|
||||
build TYPE flag RADIOBUTTON GROUP act,
|
||||
checkin TYPE flag RADIOBUTTON GROUP act.
|
||||
SELECTION-SCREEN END OF BLOCK a.
|
||||
|
||||
SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE b.
|
||||
PARAMETERS:
|
||||
svn TYPE flag RADIOBUTTON GROUP cl,
|
||||
tortoise TYPE flag RADIOBUTTON GROUP cl.
|
||||
SELECTION-SCREEN END OF BLOCK b.
|
||||
|
||||
SELECTION-SCREEN BEGIN OF BLOCK c WITH FRAME TITLE c.
|
||||
PARAMETERS:
|
||||
loclpath TYPE char512 DEFAULT 'C:\Projects\abap2xlsx\trunk' LOWER CASE OBLIGATORY,
|
||||
zakenugg TYPE char512 DEFAULT 'C:\Projects\abap2xlsx\nuggs\abap2xlsx_Daily.nugg' LOWER CASE OBLIGATORY,
|
||||
svnpath TYPE char512 DEFAULT 'https://code.sdn.sap.com/svn/abap2xlsx/trunk' LOWER CASE OBLIGATORY,
|
||||
comment TYPE char512 DEFAULT '' LOWER CASE,
|
||||
username TYPE char512 LOWER CASE,
|
||||
password TYPE char512 LOWER CASE,
|
||||
testrun TYPE flag DEFAULT 'X'.
|
||||
SELECTION-SCREEN END OF BLOCK c.
|
||||
|
||||
INITIALIZATION.
|
||||
a = 'Action'.
|
||||
b = 'Version Controll Program'.
|
||||
c = 'Parameters'.
|
||||
|
||||
START-OF-SELECTION.
|
||||
|
||||
svnpath_str = svnpath.
|
||||
loclpath_str = loclpath.
|
||||
zake_nuggetname = zakenugg.
|
||||
comment_str = comment.
|
||||
|
||||
" SELECT * INTO TABLE objects FROM tadir WHERE devclass = 'ZABAP2XLSX'.
|
||||
" DELETE zake_objects WHERE object = 'DEVC'.
|
||||
|
||||
TRY.
|
||||
IF svn = 'X'.
|
||||
class = cl_svn.
|
||||
ELSE.
|
||||
class = cl_tortoise_svn.
|
||||
ENDIF.
|
||||
|
||||
CREATE OBJECT zake
|
||||
TYPE
|
||||
(class)
|
||||
EXPORTING
|
||||
i_svnpath = svnpath_str
|
||||
i_localpath = loclpath_str.
|
||||
zake->set_testrun( testrun ).
|
||||
zake->set_package( 'ZA2X' ).
|
||||
|
||||
IF checkout = 'X'.
|
||||
zake->checkout( ).
|
||||
ELSEIF update = 'X'.
|
||||
zake->update( ).
|
||||
ELSEIF install = 'X'.
|
||||
zake->install_slinkees_from_lm( testrun ).
|
||||
" zake->install_objects( zake_objects ).
|
||||
ELSEIF export = 'X'.
|
||||
" Build Object list for Export
|
||||
" Programs
|
||||
object-object = 'PROG'.
|
||||
object-obj_name = 'ZAKE_SVN_A2X'.
|
||||
APPEND object TO objects.
|
||||
zake->set_checkin_objects( objects ).
|
||||
zake->download_slinkees_to_lm = abap_true.
|
||||
zake->download_nugget_to_lm = space.
|
||||
zake->download_zip_to_lm_flag = space.
|
||||
zake->create_slinkees( zake_nuggetname ).
|
||||
ELSEIF build = 'X'.
|
||||
" Build a complete package for download
|
||||
zake->set_checkin_objects( objects ).
|
||||
" We don't want that for the complete Package Slinkees are created
|
||||
" in the ZAKE folder
|
||||
zake->download_slinkees_to_lm = space.
|
||||
zake->download_nugget_to_lm = space.
|
||||
zake->create_slinkees( zake_nuggetname ).
|
||||
ELSEIF checkin = 'X'.
|
||||
zake->set_package( 'ZA2X' ).
|
||||
zake->set_checkin_objects( objects ).
|
||||
zake->create_slinkees( zake_nuggetname ).
|
||||
IF testrun IS INITIAL.
|
||||
zake->checkin( comment_str ).
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
CATCH zcx_saplink INTO ex.
|
||||
message = ex->msg.
|
||||
WRITE: / 'An Error occured: ', message.
|
||||
ENDTRY.</source>
|
||||
</PROG>
|
|
@ -1,71 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-16"?>
|
||||
<PROG NAME="ZDEMO_EXCEL_GAPPS" VARCL="X" SUBC="1" CNAM="IANNACCI" CDAT="20110823" UNAM="FEMIA" UDAT="20110907" VERN="000012" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20110907" STIME="221339" IDATE="20110907" ITIME="221339" UCCHECK="X">
|
||||
<textPool>
|
||||
<language SPRAS="E">
|
||||
<textElement ID="R" ENTRY="From abap2xlsx to abap2gapps Demo: Hello World" LENGTH="46 "/>
|
||||
<textElement ID="S" KEY="P_PATH" ENTRY="D ." LENGTH="9 "/>
|
||||
</language>
|
||||
</textPool>
|
||||
<source>*&---------------------------------------------------------------------*
|
||||
*& Report ZDEMO_EXCEL1
|
||||
*&
|
||||
*&---------------------------------------------------------------------*
|
||||
*&
|
||||
*&
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
REPORT zdemo_excel_gapps.
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
|
||||
column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
|
||||
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i.
|
||||
|
||||
|
||||
PARAMETERS: consumer TYPE zoauth2_consumer_name,
|
||||
username TYPE zoauth2_user_name,
|
||||
proxyhst TYPE string,
|
||||
proxysrv TYPE string,
|
||||
ssl_id TYPE ssfapplssl DEFAULT 'ANONYM'.
|
||||
|
||||
START-OF-SELECTION.
|
||||
|
||||
|
||||
" Creates active sheet
|
||||
CREATE OBJECT lo_excel.
|
||||
|
||||
" Get active sheet
|
||||
lo_worksheet = lo_excel->get_active_worksheet( ).
|
||||
lo_worksheet->set_title( ip_title = 'Sheet1' ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 2 ip_value = 'Hello world' ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 3 ip_value = sy-datum ).
|
||||
lo_worksheet->set_cell( ip_column = 'C' ip_row = 3 ip_value = sy-uzeit ).
|
||||
lo_hyperlink = zcl_excel_hyperlink=>create_external_link( iv_url = 'https://cw.sdn.sap.com/cw/groups/abap2xlsx' ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 4 ip_value = 'Click here to visit abap2xlsx homepage' ip_hyperlink = lo_hyperlink ).
|
||||
|
||||
column_dimension = lo_worksheet->get_column_dimension( ip_column = 'B' ).
|
||||
column_dimension->set_width( ip_width = 11 ).
|
||||
|
||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||
|
||||
" Save the file ONLINE
|
||||
DATA: lo_spreadsheet TYPE REF TO zcl_docs_spreadsheet.
|
||||
|
||||
CREATE OBJECT lo_spreadsheet
|
||||
EXPORTING
|
||||
i_consumer_name = consumer
|
||||
i_user_name = username
|
||||
i_proxy_host = proxyhst
|
||||
i_proxy_service = proxysrv
|
||||
i_ssl_id = ssl_id.
|
||||
|
||||
lv_bytecount = XSTRLEN( lv_file ).
|
||||
|
||||
lo_spreadsheet->zif_docs~upload( i_document = lv_file
|
||||
i_title = 'demo1froma2xlsx' i_size = lv_bytecount ).</source>
|
||||
</PROG>
|
|
@ -1,4 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-16"?>
|
||||
<WDYA APPLICATION_NAME="ZDEMO_EXCEL_WDA01" COMPONENT="ZDEMO_EXCEL_WDA01" STARTUP_VIEW="W_MAIN" STARTUP_PLUG="DEFAULT" DISPLAY_NAME="ZDEMO_EXCEL_WDA01" MSG_DISP_MODE="00" help_desc_txt="">
|
||||
<wdy_applicationt APPLICATION_NAME="ZDEMO_EXCEL_WDA01" LANGU="E" DESCRIPTION="abap2xlsx Web Dynpro Demo 1"/>
|
||||
</WDYA>
|
|
@ -1,177 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-16"?>
|
||||
<WDYN COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VERSION="I" TYPE="0" CMP_CONTROLLER="COMPONENTCONTROLLER" CMP_INTERFACE="COMPONENTINTERFACE" DISPLAY_NAME="ZDEMO_EXCEL_WDA01" GENDATE="00000000" GENTIME="000000" CONFIG_EXPL_PROP="0" CONFIG_IMPL_PROP="0" P13N_EXPL_PROP="0" P13N_IMPL_PROP="0">
|
||||
<wdy_componentt COMPONENT_NAME="ZDEMO_EXCEL_WDA01" LANGU="E" DESCRIPTION="abap2xlsx Web Dynpro Demo 1"/>
|
||||
<view_definition COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" VERSION="I" TYPE="CL_WDY_MD_VIEW" VIEW_TYPE="00" LIFESPAN="0" VIEW_CONTROLLER="V_MAIN" ROOT_UI_CONT="ROOTUIELEMENTCONTAINER" DISPLAY_NAME="V_MAIN" VISIBILITY="00">
|
||||
<wdy_ui_element COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD" VERSION="I" ELEMENT_POSITION="1 " UI_ELEMENT_TYPE="CL_WDY_MD_BUTTON" DISPLAY_NAME="BTN_DOWNLOAD" UI_ELEM_DEF_LIB="STANDARD" UI_ELEMENT_DEF="BUTTON" PARENT_NAME="ROOTUIELEMENTCONTAINER" AGGREGATION_NAME="CHILDREN"/>
|
||||
<wdy_ui_element COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD_LD" VERSION="I" ELEMENT_POSITION="1 " UI_ELEMENT_TYPE="CL_WDY_MD_FLOW_DATA" DISPLAY_NAME="BTN_DOWNLOAD_LD" UI_ELEM_DEF_LIB="STANDARD" UI_ELEMENT_DEF="FLOW_DATA" PARENT_NAME="BTN_DOWNLOAD" AGGREGATION_NAME="LAYOUT_DATA"/>
|
||||
<wdy_ui_element COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="ROOTUIELEMENTCONTAINER" VERSION="I" ELEMENT_POSITION="0 " UI_ELEMENT_TYPE="CL_WDY_MD_TRANSP_CONTAINER" DISPLAY_NAME="ROOTUIELEMENTCONTAINER" UI_ELEM_DEF_LIB="STANDARD" UI_ELEMENT_DEF="TRANSPARENT_CONTAINER"/>
|
||||
<wdy_ui_element COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="ROOTUIELEMENTCONTAINER_LAYOUT" VERSION="I" ELEMENT_POSITION="1 " UI_ELEMENT_TYPE="CL_WDY_MD_FLOW_LAYOUT" DISPLAY_NAME="ROOTUIELEMENTCONTAINER_LAYOUT" UI_ELEM_DEF_LIB="STANDARD" UI_ELEMENT_DEF="FLOW_LAYOUT" PARENT_NAME="ROOTUIELEMENTCONTAINER" AGGREGATION_NAME="LAYOUT"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD" VERSION="I" PROPERTY_NAME="CONTEXT_MENU_BEHAVIOUR" PROPERTY_VALUE="00"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD" VERSION="I" PROPERTY_NAME="DESIGN" PROPERTY_VALUE="00"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD" VERSION="I" PROPERTY_NAME="ENABLED" PROPERTY_VALUE="X"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD" VERSION="I" PROPERTY_NAME="HOTKEY" PROPERTY_VALUE="00"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD" VERSION="I" PROPERTY_NAME="IMAGE_FIRST" PROPERTY_VALUE="X"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD" VERSION="I" PROPERTY_NAME="TEXT" PROPERTY_VALUE="0202322174CD1ED1B3F0A0BDD61CD704" PropText="Download"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD" VERSION="I" PROPERTY_NAME="TEXT_DIRECTION" PROPERTY_VALUE="02"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD" VERSION="I" PROPERTY_NAME="VISIBLE" PROPERTY_VALUE="02"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD_LD" VERSION="I" PROPERTY_NAME="CELL_DESIGN" PROPERTY_VALUE="04"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD_LD" VERSION="I" PROPERTY_NAME="V_GUTTER" PROPERTY_VALUE="00"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="ROOTUIELEMENTCONTAINER" VERSION="I" PROPERTY_NAME="CONTEXT_MENU_BEHAVIOUR" PROPERTY_VALUE="00"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="ROOTUIELEMENTCONTAINER" VERSION="I" PROPERTY_NAME="ENABLED" PROPERTY_VALUE="X"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="ROOTUIELEMENTCONTAINER" VERSION="I" PROPERTY_NAME="IS_LAYOUT_CONTAINER" PROPERTY_VALUE="X"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="ROOTUIELEMENTCONTAINER" VERSION="I" PROPERTY_NAME="SCROLLING_MODE" PROPERTY_VALUE="02"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="ROOTUIELEMENTCONTAINER" VERSION="I" PROPERTY_NAME="VISIBLE" PROPERTY_VALUE="02"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="ROOTUIELEMENTCONTAINER_LAYOUT" VERSION="I" PROPERTY_NAME="WRAPPING" PROPERTY_VALUE="X"/>
|
||||
<wdy_ui_evt_bind COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD" BINDING_NAME="ON_ACTION" VERSION="I" UI_ELEM_EVENT="ON_ACTION" BOUND_ACTION="BTN_DOWNLOAD"/>
|
||||
<controller_definition COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" VERSION="I" CONTROLLER_TYPE="01" CONTEXT="CONTEXT" DISPLAY_NAME="V_MAIN">
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="BTN_DOWNLOAD" VERSION="I" CMPTYPE="CL_WDY_MD_ACTION" CMP_POSITION="0 " VISIBILITY="0" DISPLAY_NAME="BTN_DOWNLOAD" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="ONACTIONBTN_DOWNLOAD" VERSION="I" CMPTYPE="CL_WDY_MD_CTLR_EVENT_HANDLER" CMP_POSITION="0 " VISIBILITY="2" REF_CTLR_NAME="V_MAIN" REF_CMPNAME="BTN_DOWNLOAD" DISPLAY_NAME="ONACTIONBTN_DOWNLOAD" CODE_BODY="METHOD onactionbtn_download .
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zcl_excel_writer_2007,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
DATA: lv_content TYPE xstring.
|
||||
|
||||
CREATE OBJECT lo_excel.
|
||||
lo_worksheet = lo_excel->get_active_worksheet( ).
|
||||
|
||||
lo_worksheet->set_cell( ip_column = 'B'
|
||||
ip_row = '2'
|
||||
ip_value = 'Welcome to Web Dynpro and abap2xlsx.' ).
|
||||
|
||||
CREATE OBJECT lo_excel_writer.
|
||||
lv_content = lo_excel_writer->zif_excel_writer~write_file( lo_excel ).
|
||||
|
||||
DATA: lv_filename TYPE string.
|
||||
lv_filename = 'wda01.xlsx'.
|
||||
|
||||
CALL METHOD cl_wd_runtime_services=>attach_file_to_response
|
||||
EXPORTING
|
||||
i_filename = lv_filename
|
||||
i_content = lv_content
|
||||
i_mime_type = 'EXCEL'
|
||||
i_in_new_window = abap_false
|
||||
i_inplace = abap_false.
|
||||
|
||||
ENDMETHOD.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOAFTERACTION" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="0 " VISIBILITY="2" DISPLAY_NAME="WDDOAFTERACTION" CODE_BODY="method WDDOAFTERACTION .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOBEFOREACTION" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="0 " VISIBILITY="2" DISPLAY_NAME="WDDOBEFOREACTION" CODE_BODY="method WDDOBEFOREACTION .
|
||||
* data lo_api_controller type ref to if_wd_view_controller.
|
||||
* data lo_action type ref to if_wd_action.
|
||||
|
||||
* lo_api_controller = wd_this->wd_get_api( ).
|
||||
* lo_action = lo_api_controller->get_current_action( ).
|
||||
|
||||
* if lo_action is bound.
|
||||
* case lo_action->name.
|
||||
* when '...'.
|
||||
|
||||
* endcase.
|
||||
* endif.
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOEXIT" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="0 " VISIBILITY="2" DISPLAY_NAME="WDDOEXIT" CODE_BODY="method WDDOEXIT .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOINIT" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="0 " VISIBILITY="2" DISPLAY_NAME="WDDOINIT" CODE_BODY="method WDDOINIT .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOMODIFYVIEW" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="0 " VISIBILITY="2" DISPLAY_NAME="WDDOMODIFYVIEW" CODE_BODY="method WDDOMODIFYVIEW .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOONCONTEXTMENU" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="0 " VISIBILITY="2" DISPLAY_NAME="WDDOONCONTEXTMENU" CODE_BODY="method WDDOONCONTEXTMENU .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="BTN_DOWNLOAD" LANGU="E" DESCRIPTION="Download Excel file"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="ONACTIONBTN_DOWNLOAD" LANGU="E" DESCRIPTION="Download Excel file"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOAFTERACTION" LANGU="E" DESCRIPTION="Method for non-action specific operations before navigation"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOBEFOREACTION" LANGU="E" DESCRIPTION="Method for Validation of User Input"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOEXIT" LANGU="E" DESCRIPTION="Controller Clean-Up Method"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOINIT" LANGU="E" DESCRIPTION="Controller Initialization Method"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOMODIFYVIEW" LANGU="E" DESCRIPTION="Method for Modifying the View Before Rendering"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOONCONTEXTMENU" LANGU="E" DESCRIPTION="Method for Modifying the Context Menu"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOMODIFYVIEW" PARAMETER_NAME="FIRST_TIME" VERSION="I" PARAM_POSITION="1 " DECLARATION_TYPE="0" ABAP_TYPING="0" ABAP_TYPE="WDY_BOOLEAN" DISPLAY_NAME="FIRST_TIME"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOMODIFYVIEW" PARAMETER_NAME="VIEW" VERSION="I" PARAM_POSITION="2 " DECLARATION_TYPE="0" ABAP_TYPING="1" ABAP_TYPE="IF_WD_VIEW" DISPLAY_NAME="VIEW"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOONCONTEXTMENU" PARAMETER_NAME="CONTEXT_MENU_EVENT" VERSION="I" PARAM_POSITION="1 " DECLARATION_TYPE="0" ABAP_TYPING="1" ABAP_TYPE="IF_WD_CONTEXT_MENU_EVENT" DISPLAY_NAME="CONTEXT_MENU_EVENT"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOONCONTEXTMENU" PARAMETER_NAME="CONTEXT_MENU_MANAGER" VERSION="I" PARAM_POSITION="2 " DECLARATION_TYPE="0" ABAP_TYPING="1" ABAP_TYPE="IF_WD_CONTEXT_MENU_MANAGER" DISPLAY_NAME="CONTEXT_MENU_MANAGER"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOONCONTEXTMENU" PARAMETER_NAME="MENU" VERSION="I" PARAM_POSITION="3 " DECLARATION_TYPE="3" ABAP_TYPING="1" ABAP_TYPE="CL_WD_MENU" DISPLAY_NAME="MENU"/>
|
||||
<wdy_ctlr_usage COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CTLR_USAGE_NAME="00O2TRN3HOPNY2XMW9ZPOIO72" VERSION="I" USED_CONTROLLER="COMPONENTCONTROLLER"/>
|
||||
<wdy_ctx_node COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" NODE_NAME="CONTEXT" VERSION="I" NODE_TYPE="CL_WDY_MD_CONTEXT_VALUE_NODE" NODE_POSITION="0 " COLLECTION_TYPE="03" CARDINALITY="01" SELECTION="01" SINGLETON="X" DISPLAY_NAME="CONTEXT" ABAP_TYPING="0" INIT_LEAD_SELECT="X"/>
|
||||
</controller_definition>
|
||||
</view_definition>
|
||||
<view_definition COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="W_MAIN" VERSION="I" TYPE="CL_WDY_MD_WINDOW" VIEW_TYPE="00" LIFESPAN="0" VIEW_CONTROLLER="W_MAIN" DISPLAY_NAME="W_MAIN" DEF_ROOT_NODE="V_MAIN_USAGE_0" VISIBILITY="00">
|
||||
<view_window title=""/>
|
||||
<wdy_iobound_plug COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="W_MAIN" PLUG_NAME="DEFAULT" VERSION="I" PLUG_TYPE="CL_WDY_MD_INBOUND_PLUG" IN_PLUG_TYPE="1" OUT_PLUG_TYPE="0" DISPLAY_NAME="DEFAULT" IS_INTF_ITEM="X"/>
|
||||
<wdy_vsh_node COMPONENT_NAME="ZDEMO_EXCEL_WDA01" WINDOW_NAME="W_MAIN" VSH_NODE_NAME="V_MAIN_USAGE_0" VERSION="I" VSH_NODE_TYPE="CL_WDY_MD_VIEW_USAGE" USED_VIEW="V_MAIN" DISPLAY_NAME="V_MAIN_USAGE_0"/>
|
||||
<controller_definition COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" VERSION="I" CONTROLLER_TYPE="06" CONTEXT="CONTEXT" DISPLAY_NAME="W_MAIN">
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="HANDLEDEFAULT" VERSION="I" CMPTYPE="CL_WDY_MD_CTLR_EVENT_HANDLER" CMP_POSITION="1 " VISIBILITY="2" REF_VIEW_NAME="W_MAIN" REF_PLUG_NAME="DEFAULT" DISPLAY_NAME="HANDLEDEFAULT" CODE_BODY="method HANDLEDEFAULT .
|
||||
endmethod." ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOEXIT" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOEXIT" CODE_BODY="method WDDOEXIT .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOINIT" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOINIT" CODE_BODY="method WDDOINIT .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOONCLOSE" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOONCLOSE" CODE_BODY="method WDDOONCLOSE .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOONOPEN" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOONOPEN" CODE_BODY="method WDDOONOPEN .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOEXIT" LANGU="E" DESCRIPTION="Controller Clean-Up Method"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOINIT" LANGU="E" DESCRIPTION="Controller Initialization Method"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOONCLOSE" LANGU="E" DESCRIPTION="Handling For Closing of Window"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOONOPEN" LANGU="E" DESCRIPTION="Handling For Opening of Window"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOONOPEN" PARAMETER_NAME="WINDOW_DESCR" VERSION="I" PARAM_POSITION="1 " DECLARATION_TYPE="0" ABAP_TYPING="1" ABAP_TYPE="IF_WD_WINDOW_DESCRIPTION" DISPLAY_NAME="WINDOW_DESCR"/>
|
||||
<wdy_ctlr_usage COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CTLR_USAGE_NAME="00O2TRN3HOPNY2XMW9ZPOIHVI" VERSION="I" USED_CONTROLLER="COMPONENTCONTROLLER"/>
|
||||
<wdy_ctx_node COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" NODE_NAME="CONTEXT" VERSION="I" NODE_TYPE="CL_WDY_MD_CONTEXT_VALUE_NODE" NODE_POSITION="0 " COLLECTION_TYPE="03" CARDINALITY="01" SELECTION="01" SINGLETON="X" DISPLAY_NAME="CONTEXT" ABAP_TYPING="0" INIT_LEAD_SELECT="X"/>
|
||||
</controller_definition>
|
||||
</view_definition>
|
||||
<controller_definition COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" VERSION="I" CONTROLLER_TYPE="02" CONTEXT="CONTEXT" DISPLAY_NAME="COMPONENTCONTROLLER" RUNTIME_OBJECT="ZIWCI_DEMO_EXCEL_WDA01">
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOAPPLICATIONSTATECHANGE" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOAPPLICATIONSTATECHANGE" CODE_BODY="method WDDOAPPLICATIONSTATECHANGE .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOBEFORENAVIGATION" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOBEFORENAVIGATION" CODE_BODY="method WDDOBEFORENAVIGATION .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOEXIT" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOEXIT" CODE_BODY="method WDDOEXIT .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOINIT" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOINIT" CODE_BODY="method WDDOINIT .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOPOSTPROCESSING" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOPOSTPROCESSING" CODE_BODY="method WDDOPOSTPROCESSING .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOAPPLICATIONSTATECHANGE" LANGU="E" DESCRIPTION="Handling for Suspending and Resuming an Application"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOBEFORENAVIGATION" LANGU="E" DESCRIPTION="Error Handling Before Navigation Through Application"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOEXIT" LANGU="E" DESCRIPTION="Controller Clean-Up Method"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOINIT" LANGU="E" DESCRIPTION="Controller Initialization Method"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOPOSTPROCESSING" LANGU="E" DESCRIPTION="Prepare Output"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOAPPLICATIONSTATECHANGE" PARAMETER_NAME="STATE_CHANGE" VERSION="I" PARAM_POSITION="1 " DECLARATION_TYPE="0" ABAP_TYPING="1" ABAP_TYPE="IF_WD_APPLICATION_STATE_CHANGE" DISPLAY_NAME="STATE_CHANGE"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOBEFORENAVIGATION" PARAMETER_NAME="IS_CURRENT_ROOT" VERSION="I" PARAM_POSITION="1 " DECLARATION_TYPE="0" ABAP_TYPING="0" ABAP_TYPE="WDY_BOOLEAN" DISPLAY_NAME="IS_CURRENT_ROOT"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOEXIT" PARAMETER_NAME="REASON" VERSION="I" PARAM_POSITION="1 " DECLARATION_TYPE="0" ABAP_TYPING="0" ABAP_TYPE="WDR_APPL_EXIT_REASON" DISPLAY_NAME="REASON"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOPOSTPROCESSING" PARAMETER_NAME="IS_CURRENT_ROOT" VERSION="I" PARAM_POSITION="1 " DECLARATION_TYPE="0" ABAP_TYPING="0" ABAP_TYPE="WDY_BOOLEAN" DISPLAY_NAME="IS_CURRENT_ROOT"/>
|
||||
<wdy_ctx_node COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" NODE_NAME="CONTEXT" VERSION="I" NODE_TYPE="CL_WDY_MD_CONTEXT_VALUE_NODE" NODE_POSITION="0 " COLLECTION_TYPE="03" CARDINALITY="01" SELECTION="01" SINGLETON="X" DISPLAY_NAME="CONTEXT" ABAP_TYPING="0" INIT_LEAD_SELECT="X" IS_INTF_ITEM="X"/>
|
||||
</controller_definition>
|
||||
<controller_definition COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="EMPTYVIEW" VERSION="A" CONTROLLER_TYPE="01" DISPLAY_NAME="EMPTYVIEW"/>
|
||||
<controller_definition COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" VERSION="A" CONTROLLER_TYPE="01" DISPLAY_NAME="V_MAIN">
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="BTN_DOWNLOAD" LANGU="E" DESCRIPTION="Download Excel file"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="ONACTIONBTN_DOWNLOAD" LANGU="E" DESCRIPTION="Download Excel file"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOAFTERACTION" LANGU="E" DESCRIPTION="Method for non-action specific operations before navigation"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOBEFOREACTION" LANGU="E" DESCRIPTION="Method for Validation of User Input"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOEXIT" LANGU="E" DESCRIPTION="Controller Clean-Up Method"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOINIT" LANGU="E" DESCRIPTION="Controller Initialization Method"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOMODIFYVIEW" LANGU="E" DESCRIPTION="Method for Modifying the View Before Rendering"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOONCONTEXTMENU" LANGU="E" DESCRIPTION="Method for Modifying the Context Menu"/>
|
||||
</controller_definition>
|
||||
<controller_definition COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" VERSION="A" CONTROLLER_TYPE="06" DISPLAY_NAME="W_MAIN">
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOEXIT" LANGU="E" DESCRIPTION="Controller Clean-Up Method"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOINIT" LANGU="E" DESCRIPTION="Controller Initialization Method"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOONCLOSE" LANGU="E" DESCRIPTION="Handling For Closing of Window"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOONOPEN" LANGU="E" DESCRIPTION="Handling For Opening of Window"/>
|
||||
</controller_definition>
|
||||
</WDYN>
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
|
@ -1,7 +0,0 @@
|
|||
FEMIA K WIR 1 191 312 0 0 2 0 0 0 330 731 . 0 0 0 0 0 800
|
||||
#A
|
||||
#/1/ A G D - R C T - Z RELE EX. _ _ _ _ _ CLI
|
||||
TIR f 0000 20170516214711 yukon tiradm
|
||||
TIR e 0000 20170516214720 yukon tiradm
|
||||
WIR < 0000 20170516214748 yukon tiradm
|
||||
TIR E 0000 20170516214748 yukon tiradm
|
|
@ -1,202 +0,0 @@
|
|||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,272 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<nugget name="ABAP2XLSX - EXTRA">
|
||||
<INTF CLSNAME="ZIWCI_DEMO_EXCEL_WDA01" VERSION="1" LANGU="E" DESCRIPT="WebDynpro Interface COMPONENTCONTROLLER" CATEGORY="80" EXPOSURE="2" STATE="1" RELEASE="0" UNICODE="X">
|
||||
<method CLSNAME="ZIWCI_DEMO_EXCEL_WDA01" CMPNAME="WD_GET_API" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZIWCI_DEMO_EXCEL_WDA01" CMPNAME="WD_GET_API" SCONAME="RESULT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="IF_WD_CONTROLLER"/>
|
||||
</method>
|
||||
</INTF>
|
||||
<WDYA APPLICATION_NAME="ZDEMO_EXCEL_WDA01" COMPONENT="ZDEMO_EXCEL_WDA01" STARTUP_VIEW="W_MAIN" STARTUP_PLUG="DEFAULT" DISPLAY_NAME="ZDEMO_EXCEL_WDA01" MSG_DISP_MODE="00" AUTHORITY_CHECK="00" SESSION_KIND="00" help_desc_txt="">
|
||||
<wdy_applicationt APPLICATION_NAME="ZDEMO_EXCEL_WDA01" LANGU="E" DESCRIPTION="abap2xlsx Web Dynpro Demo 1"/>
|
||||
</WDYA>
|
||||
<WDYN COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VERSION="A" TYPE="0" CMP_CONTROLLER="COMPONENTCONTROLLER" CMP_INTERFACE="COMPONENTINTERFACE" DISPLAY_NAME="ZDEMO_EXCEL_WDA01" CONFIG_EXPL_PROP="0" CONFIG_IMPL_PROP="0" P13N_EXPL_PROP="0" P13N_IMPL_PROP="0">
|
||||
<wdy_componentt COMPONENT_NAME="ZDEMO_EXCEL_WDA01" LANGU="E" DESCRIPTION="abap2xlsx Web Dynpro Demo 1"/>
|
||||
<view_definition COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" VERSION="A" TYPE="CL_WDY_MD_VIEW" VIEW_TYPE="00" LIFESPAN="0" VIEW_CONTROLLER="V_MAIN" ROOT_UI_CONT="ROOTUIELEMENTCONTAINER" DISPLAY_NAME="V_MAIN" VISIBILITY="00">
|
||||
<wdy_ui_element COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD" VERSION="I" ELEMENT_POSITION="1 " UI_ELEMENT_TYPE="CL_WDY_MD_BUTTON" DISPLAY_NAME="BTN_DOWNLOAD" UI_ELEM_DEF_LIB="STANDARD" UI_ELEMENT_DEF="BUTTON" PARENT_NAME="ROOTUIELEMENTCONTAINER" AGGREGATION_NAME="CHILDREN"/>
|
||||
<wdy_ui_element COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD_LD" VERSION="I" ELEMENT_POSITION="1 " UI_ELEMENT_TYPE="CL_WDY_MD_FLOW_DATA" DISPLAY_NAME="BTN_DOWNLOAD_LD" UI_ELEM_DEF_LIB="STANDARD" UI_ELEMENT_DEF="FLOW_DATA" PARENT_NAME="BTN_DOWNLOAD" AGGREGATION_NAME="LAYOUT_DATA"/>
|
||||
<wdy_ui_element COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="ROOTUIELEMENTCONTAINER" VERSION="I" ELEMENT_POSITION="0 " UI_ELEMENT_TYPE="CL_WDY_MD_TRANSP_CONTAINER" DISPLAY_NAME="ROOTUIELEMENTCONTAINER" UI_ELEM_DEF_LIB="STANDARD" UI_ELEMENT_DEF="TRANSPARENT_CONTAINER"/>
|
||||
<wdy_ui_element COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="ROOTUIELEMENTCONTAINER_LAYOUT" VERSION="I" ELEMENT_POSITION="1 " UI_ELEMENT_TYPE="CL_WDY_MD_FLOW_LAYOUT" DISPLAY_NAME="ROOTUIELEMENTCONTAINER_LAYOUT" UI_ELEM_DEF_LIB="STANDARD" UI_ELEMENT_DEF="FLOW_LAYOUT" PARENT_NAME="ROOTUIELEMENTCONTAINER" AGGREGATION_NAME="LAYOUT"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD" VERSION="I" PROPERTY_NAME="CONTEXT_MENU_BEHAVIOUR" PROPERTY_VALUE="00"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD" VERSION="I" PROPERTY_NAME="DESIGN" PROPERTY_VALUE="00"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD" VERSION="I" PROPERTY_NAME="ENABLED" PROPERTY_VALUE="X"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD" VERSION="I" PROPERTY_NAME="HOTKEY" PROPERTY_VALUE="00"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD" VERSION="I" PROPERTY_NAME="IMAGE_FIRST" PROPERTY_VALUE="X"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD" VERSION="I" PROPERTY_NAME="TEXT" PROPERTY_VALUE="0202322174CD1ED1B3F0A0BDD61CD704" PropText="Download"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD" VERSION="I" PROPERTY_NAME="TEXT_DIRECTION" PROPERTY_VALUE="02"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD" VERSION="I" PROPERTY_NAME="VISIBLE" PROPERTY_VALUE="02"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD_LD" VERSION="I" PROPERTY_NAME="CELL_DESIGN" PROPERTY_VALUE="04"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD_LD" VERSION="I" PROPERTY_NAME="V_GUTTER" PROPERTY_VALUE="00"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="ROOTUIELEMENTCONTAINER" VERSION="I" PROPERTY_NAME="CONTEXT_MENU_BEHAVIOUR" PROPERTY_VALUE="00"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="ROOTUIELEMENTCONTAINER" VERSION="I" PROPERTY_NAME="ENABLED" PROPERTY_VALUE="X"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="ROOTUIELEMENTCONTAINER" VERSION="I" PROPERTY_NAME="IS_LAYOUT_CONTAINER" PROPERTY_VALUE="X"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="ROOTUIELEMENTCONTAINER" VERSION="I" PROPERTY_NAME="SCROLLING_MODE" PROPERTY_VALUE="02"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="ROOTUIELEMENTCONTAINER" VERSION="I" PROPERTY_NAME="VISIBLE" PROPERTY_VALUE="02"/>
|
||||
<wdy_ui_property COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="ROOTUIELEMENTCONTAINER_LAYOUT" VERSION="I" PROPERTY_NAME="WRAPPING" PROPERTY_VALUE="X"/>
|
||||
<wdy_ui_evt_bind COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="V_MAIN" ELEMENT_NAME="BTN_DOWNLOAD" BINDING_NAME="ON_ACTION" VERSION="I" UI_ELEM_EVENT="ON_ACTION" BOUND_ACTION="BTN_DOWNLOAD"/>
|
||||
<controller_definition COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" VERSION="A" CONTROLLER_TYPE="01" CONTEXT="CONTEXT" DISPLAY_NAME="V_MAIN">
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="BTN_DOWNLOAD" VERSION="I" CMPTYPE="CL_WDY_MD_ACTION" CMP_POSITION="0 " VISIBILITY="0" DISPLAY_NAME="BTN_DOWNLOAD" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="ONACTIONBTN_DOWNLOAD" VERSION="I" CMPTYPE="CL_WDY_MD_CTLR_EVENT_HANDLER" CMP_POSITION="0 " VISIBILITY="2" REF_CTLR_NAME="V_MAIN" REF_CMPNAME="BTN_DOWNLOAD" DISPLAY_NAME="ONACTIONBTN_DOWNLOAD" CODE_BODY="METHOD onactionbtn_download .
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zcl_excel_writer_2007,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
DATA: lv_content TYPE xstring.
|
||||
|
||||
CREATE OBJECT lo_excel.
|
||||
lo_worksheet = lo_excel->get_active_worksheet( ).
|
||||
|
||||
lo_worksheet->set_cell( ip_column = 'B'
|
||||
ip_row = '2'
|
||||
ip_value = 'Welcome to Web Dynpro and abap2xlsx.' ).
|
||||
|
||||
CREATE OBJECT lo_excel_writer.
|
||||
lv_content = lo_excel_writer->zif_excel_writer~write_file( lo_excel ).
|
||||
|
||||
DATA: lv_filename TYPE string.
|
||||
lv_filename = 'wda01.xlsx'.
|
||||
|
||||
CALL METHOD cl_wd_runtime_services=>attach_file_to_response
|
||||
EXPORTING
|
||||
i_filename = lv_filename
|
||||
i_content = lv_content
|
||||
i_mime_type = 'EXCEL'
|
||||
i_in_new_window = abap_false
|
||||
i_inplace = abap_false.
|
||||
|
||||
ENDMETHOD.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOAFTERACTION" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="0 " VISIBILITY="2" DISPLAY_NAME="WDDOAFTERACTION" CODE_BODY="method WDDOAFTERACTION .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOBEFOREACTION" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="0 " VISIBILITY="2" DISPLAY_NAME="WDDOBEFOREACTION" CODE_BODY="method WDDOBEFOREACTION .
|
||||
* data lo_api_controller type ref to if_wd_view_controller.
|
||||
* data lo_action type ref to if_wd_action.
|
||||
|
||||
* lo_api_controller = wd_this->wd_get_api( ).
|
||||
* lo_action = lo_api_controller->get_current_action( ).
|
||||
|
||||
* if lo_action is bound.
|
||||
* case lo_action->name.
|
||||
* when '...'.
|
||||
|
||||
* endcase.
|
||||
* endif.
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOEXIT" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="0 " VISIBILITY="2" DISPLAY_NAME="WDDOEXIT" CODE_BODY="method WDDOEXIT .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOINIT" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="0 " VISIBILITY="2" DISPLAY_NAME="WDDOINIT" CODE_BODY="method WDDOINIT .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOMODIFYVIEW" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="0 " VISIBILITY="2" DISPLAY_NAME="WDDOMODIFYVIEW" CODE_BODY="method WDDOMODIFYVIEW .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOONCONTEXTMENU" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="0 " VISIBILITY="2" DISPLAY_NAME="WDDOONCONTEXTMENU" CODE_BODY="method WDDOONCONTEXTMENU .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="BTN_DOWNLOAD" LANGU="E" DESCRIPTION="Download Excel file"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="ONACTIONBTN_DOWNLOAD" LANGU="E" DESCRIPTION="Download Excel file"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOAFTERACTION" LANGU="E" DESCRIPTION="Method for non-action specific operations before navigation"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOBEFOREACTION" LANGU="E" DESCRIPTION="Method for Validation of User Input"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOEXIT" LANGU="E" DESCRIPTION="Controller Clean-Up Method"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOINIT" LANGU="E" DESCRIPTION="Controller Initialization Method"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOMODIFYVIEW" LANGU="E" DESCRIPTION="Method for Modifying the View Before Rendering"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOONCONTEXTMENU" LANGU="E" DESCRIPTION="Method for Modifying the Context Menu"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOMODIFYVIEW" PARAMETER_NAME="FIRST_TIME" VERSION="I" PARAM_POSITION="1 " DECLARATION_TYPE="0" ABAP_TYPING="0" ABAP_TYPE="WDY_BOOLEAN" DISPLAY_NAME="FIRST_TIME"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOMODIFYVIEW" PARAMETER_NAME="VIEW" VERSION="I" PARAM_POSITION="2 " DECLARATION_TYPE="0" ABAP_TYPING="1" ABAP_TYPE="IF_WD_VIEW" DISPLAY_NAME="VIEW"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOONCONTEXTMENU" PARAMETER_NAME="CONTEXT_MENU_EVENT" VERSION="I" PARAM_POSITION="1 " DECLARATION_TYPE="0" ABAP_TYPING="1" ABAP_TYPE="IF_WD_CONTEXT_MENU_EVENT" DISPLAY_NAME="CONTEXT_MENU_EVENT"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOONCONTEXTMENU" PARAMETER_NAME="CONTEXT_MENU_MANAGER" VERSION="I" PARAM_POSITION="2 " DECLARATION_TYPE="0" ABAP_TYPING="1" ABAP_TYPE="IF_WD_CONTEXT_MENU_MANAGER" DISPLAY_NAME="CONTEXT_MENU_MANAGER"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOONCONTEXTMENU" PARAMETER_NAME="MENU" VERSION="I" PARAM_POSITION="3 " DECLARATION_TYPE="3" ABAP_TYPING="1" ABAP_TYPE="CL_WD_MENU" DISPLAY_NAME="MENU"/>
|
||||
<wdy_ctlr_usage COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CTLR_USAGE_NAME="00O2TRN3HOPNY2XMW9ZPOIO72" VERSION="I" USED_CONTROLLER="COMPONENTCONTROLLER"/>
|
||||
<wdy_ctx_node COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" NODE_NAME="CONTEXT" VERSION="I" NODE_TYPE="CL_WDY_MD_CONTEXT_VALUE_NODE" NODE_POSITION="0 " COLLECTION_TYPE="03" CARDINALITY="01" SELECTION="01" SINGLETON="X" DISPLAY_NAME="CONTEXT" ABAP_TYPING="0" INIT_LEAD_SELECT="X"/>
|
||||
</controller_definition>
|
||||
</view_definition>
|
||||
<view_definition COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="W_MAIN" VERSION="A" TYPE="CL_WDY_MD_WINDOW" VIEW_TYPE="00" LIFESPAN="0" VIEW_CONTROLLER="W_MAIN" DISPLAY_NAME="W_MAIN" DEF_ROOT_NODE="V_MAIN_USAGE_0" VISIBILITY="00">
|
||||
<view_window title=""/>
|
||||
<wdy_iobound_plug COMPONENT_NAME="ZDEMO_EXCEL_WDA01" VIEW_NAME="W_MAIN" PLUG_NAME="DEFAULT" VERSION="I" PLUG_TYPE="CL_WDY_MD_INBOUND_PLUG" IN_PLUG_TYPE="1" OUT_PLUG_TYPE="0" DISPLAY_NAME="DEFAULT" IS_INTF_ITEM="X"/>
|
||||
<wdy_vsh_node COMPONENT_NAME="ZDEMO_EXCEL_WDA01" WINDOW_NAME="W_MAIN" VSH_NODE_NAME="V_MAIN_USAGE_0" VERSION="I" VSH_NODE_TYPE="CL_WDY_MD_VIEW_USAGE" USED_VIEW="V_MAIN" DISPLAY_NAME="V_MAIN_USAGE_0"/>
|
||||
<controller_definition COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" VERSION="A" CONTROLLER_TYPE="06" CONTEXT="CONTEXT" DISPLAY_NAME="W_MAIN">
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="HANDLEDEFAULT" VERSION="I" CMPTYPE="CL_WDY_MD_CTLR_EVENT_HANDLER" CMP_POSITION="1 " VISIBILITY="2" REF_VIEW_NAME="W_MAIN" REF_PLUG_NAME="DEFAULT" DISPLAY_NAME="HANDLEDEFAULT" CODE_BODY="method HANDLEDEFAULT .
|
||||
endmethod." ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOEXIT" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOEXIT" CODE_BODY="method WDDOEXIT .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOINIT" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOINIT" CODE_BODY="method WDDOINIT .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOONCLOSE" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOONCLOSE" CODE_BODY="method WDDOONCLOSE .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOONOPEN" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOONOPEN" CODE_BODY="method WDDOONOPEN .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOEXIT" LANGU="E" DESCRIPTION="Controller Clean-Up Method"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOINIT" LANGU="E" DESCRIPTION="Controller Initialization Method"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOONCLOSE" LANGU="E" DESCRIPTION="Handling For Closing of Window"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOONOPEN" LANGU="E" DESCRIPTION="Handling For Opening of Window"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOONOPEN" PARAMETER_NAME="WINDOW_DESCR" VERSION="I" PARAM_POSITION="1 " DECLARATION_TYPE="0" ABAP_TYPING="1" ABAP_TYPE="IF_WD_WINDOW_DESCRIPTION" DISPLAY_NAME="WINDOW_DESCR"/>
|
||||
<wdy_ctlr_usage COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CTLR_USAGE_NAME="00O2TRN3HOPNY2XMW9ZPOIHVI" VERSION="I" USED_CONTROLLER="COMPONENTCONTROLLER"/>
|
||||
<wdy_ctx_node COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" NODE_NAME="CONTEXT" VERSION="I" NODE_TYPE="CL_WDY_MD_CONTEXT_VALUE_NODE" NODE_POSITION="0 " COLLECTION_TYPE="03" CARDINALITY="01" SELECTION="01" SINGLETON="X" DISPLAY_NAME="CONTEXT" ABAP_TYPING="0" INIT_LEAD_SELECT="X"/>
|
||||
</controller_definition>
|
||||
</view_definition>
|
||||
<controller_definition COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" VERSION="A" CONTROLLER_TYPE="02" CONTEXT="CONTEXT" DISPLAY_NAME="COMPONENTCONTROLLER" RUNTIME_OBJECT="ZIWCI_DEMO_EXCEL_WDA01">
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOAPPLICATIONSTATECHANGE" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOAPPLICATIONSTATECHANGE" CODE_BODY="method WDDOAPPLICATIONSTATECHANGE .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOBEFORENAVIGATION" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOBEFORENAVIGATION" CODE_BODY="method WDDOBEFORENAVIGATION .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOEXIT" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOEXIT" CODE_BODY="method WDDOEXIT .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOINIT" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOINIT" CODE_BODY="method WDDOINIT .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOPOSTPROCESSING" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOPOSTPROCESSING" CODE_BODY="method WDDOPOSTPROCESSING .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOAPPLICATIONSTATECHANGE" LANGU="E" DESCRIPTION="Handling for Suspending and Resuming an Application"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOBEFORENAVIGATION" LANGU="E" DESCRIPTION="Error Handling Before Navigation Through Application"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOEXIT" LANGU="E" DESCRIPTION="Controller Clean-Up Method"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOINIT" LANGU="E" DESCRIPTION="Controller Initialization Method"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOPOSTPROCESSING" LANGU="E" DESCRIPTION="Prepare Output"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOAPPLICATIONSTATECHANGE" PARAMETER_NAME="STATE_CHANGE" VERSION="I" PARAM_POSITION="1 " DECLARATION_TYPE="0" ABAP_TYPING="1" ABAP_TYPE="IF_WD_APPLICATION_STATE_CHANGE" DISPLAY_NAME="STATE_CHANGE"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOBEFORENAVIGATION" PARAMETER_NAME="IS_CURRENT_ROOT" VERSION="I" PARAM_POSITION="1 " DECLARATION_TYPE="0" ABAP_TYPING="0" ABAP_TYPE="WDY_BOOLEAN" DISPLAY_NAME="IS_CURRENT_ROOT"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOEXIT" PARAMETER_NAME="REASON" VERSION="I" PARAM_POSITION="1 " DECLARATION_TYPE="0" ABAP_TYPING="0" ABAP_TYPE="WDR_APPL_EXIT_REASON" DISPLAY_NAME="REASON"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" CMPNAME="WDDOPOSTPROCESSING" PARAMETER_NAME="IS_CURRENT_ROOT" VERSION="I" PARAM_POSITION="1 " DECLARATION_TYPE="0" ABAP_TYPING="0" ABAP_TYPE="WDY_BOOLEAN" DISPLAY_NAME="IS_CURRENT_ROOT"/>
|
||||
<wdy_ctx_node COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="COMPONENTCONTROLLER" NODE_NAME="CONTEXT" VERSION="I" NODE_TYPE="CL_WDY_MD_CONTEXT_VALUE_NODE" NODE_POSITION="0 " COLLECTION_TYPE="03" CARDINALITY="01" SELECTION="01" SINGLETON="X" DISPLAY_NAME="CONTEXT" ABAP_TYPING="0" INIT_LEAD_SELECT="X" IS_INTF_ITEM="X"/>
|
||||
</controller_definition>
|
||||
<controller_definition COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="EMPTYVIEW" VERSION="A" CONTROLLER_TYPE="01" DISPLAY_NAME="EMPTYVIEW"/>
|
||||
<controller_definition COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" VERSION="A" CONTROLLER_TYPE="01" CONTEXT="CONTEXT" DISPLAY_NAME="V_MAIN">
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="BTN_DOWNLOAD" VERSION="I" CMPTYPE="CL_WDY_MD_ACTION" CMP_POSITION="0 " VISIBILITY="0" DISPLAY_NAME="BTN_DOWNLOAD" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="ONACTIONBTN_DOWNLOAD" VERSION="I" CMPTYPE="CL_WDY_MD_CTLR_EVENT_HANDLER" CMP_POSITION="0 " VISIBILITY="2" REF_CTLR_NAME="V_MAIN" REF_CMPNAME="BTN_DOWNLOAD" DISPLAY_NAME="ONACTIONBTN_DOWNLOAD" CODE_BODY="METHOD onactionbtn_download .
|
||||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zcl_excel_writer_2007,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
DATA: lv_content TYPE xstring.
|
||||
|
||||
CREATE OBJECT lo_excel.
|
||||
lo_worksheet = lo_excel->get_active_worksheet( ).
|
||||
|
||||
lo_worksheet->set_cell( ip_column = 'B'
|
||||
ip_row = '2'
|
||||
ip_value = 'Welcome to Web Dynpro and abap2xlsx.' ).
|
||||
|
||||
CREATE OBJECT lo_excel_writer.
|
||||
lv_content = lo_excel_writer->zif_excel_writer~write_file( lo_excel ).
|
||||
|
||||
DATA: lv_filename TYPE string.
|
||||
lv_filename = 'wda01.xlsx'.
|
||||
|
||||
CALL METHOD cl_wd_runtime_services=>attach_file_to_response
|
||||
EXPORTING
|
||||
i_filename = lv_filename
|
||||
i_content = lv_content
|
||||
i_mime_type = 'EXCEL'
|
||||
i_in_new_window = abap_false
|
||||
i_inplace = abap_false.
|
||||
|
||||
ENDMETHOD.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOAFTERACTION" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="0 " VISIBILITY="2" DISPLAY_NAME="WDDOAFTERACTION" CODE_BODY="method WDDOAFTERACTION .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOBEFOREACTION" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="0 " VISIBILITY="2" DISPLAY_NAME="WDDOBEFOREACTION" CODE_BODY="method WDDOBEFOREACTION .
|
||||
* data lo_api_controller type ref to if_wd_view_controller.
|
||||
* data lo_action type ref to if_wd_action.
|
||||
|
||||
* lo_api_controller = wd_this->wd_get_api( ).
|
||||
* lo_action = lo_api_controller->get_current_action( ).
|
||||
|
||||
* if lo_action is bound.
|
||||
* case lo_action->name.
|
||||
* when '...'.
|
||||
|
||||
* endcase.
|
||||
* endif.
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOEXIT" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="0 " VISIBILITY="2" DISPLAY_NAME="WDDOEXIT" CODE_BODY="method WDDOEXIT .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOINIT" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="0 " VISIBILITY="2" DISPLAY_NAME="WDDOINIT" CODE_BODY="method WDDOINIT .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOMODIFYVIEW" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="0 " VISIBILITY="2" DISPLAY_NAME="WDDOMODIFYVIEW" CODE_BODY="method WDDOMODIFYVIEW .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOONCONTEXTMENU" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="0 " VISIBILITY="2" DISPLAY_NAME="WDDOONCONTEXTMENU" CODE_BODY="method WDDOONCONTEXTMENU .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="BTN_DOWNLOAD" LANGU="E" DESCRIPTION="Download Excel file"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="ONACTIONBTN_DOWNLOAD" LANGU="E" DESCRIPTION="Download Excel file"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOAFTERACTION" LANGU="E" DESCRIPTION="Method for non-action specific operations before navigation"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOBEFOREACTION" LANGU="E" DESCRIPTION="Method for Validation of User Input"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOEXIT" LANGU="E" DESCRIPTION="Controller Clean-Up Method"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOINIT" LANGU="E" DESCRIPTION="Controller Initialization Method"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOMODIFYVIEW" LANGU="E" DESCRIPTION="Method for Modifying the View Before Rendering"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOONCONTEXTMENU" LANGU="E" DESCRIPTION="Method for Modifying the Context Menu"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOMODIFYVIEW" PARAMETER_NAME="FIRST_TIME" VERSION="I" PARAM_POSITION="1 " DECLARATION_TYPE="0" ABAP_TYPING="0" ABAP_TYPE="WDY_BOOLEAN" DISPLAY_NAME="FIRST_TIME"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOMODIFYVIEW" PARAMETER_NAME="VIEW" VERSION="I" PARAM_POSITION="2 " DECLARATION_TYPE="0" ABAP_TYPING="1" ABAP_TYPE="IF_WD_VIEW" DISPLAY_NAME="VIEW"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOONCONTEXTMENU" PARAMETER_NAME="CONTEXT_MENU_EVENT" VERSION="I" PARAM_POSITION="1 " DECLARATION_TYPE="0" ABAP_TYPING="1" ABAP_TYPE="IF_WD_CONTEXT_MENU_EVENT" DISPLAY_NAME="CONTEXT_MENU_EVENT"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOONCONTEXTMENU" PARAMETER_NAME="CONTEXT_MENU_MANAGER" VERSION="I" PARAM_POSITION="2 " DECLARATION_TYPE="0" ABAP_TYPING="1" ABAP_TYPE="IF_WD_CONTEXT_MENU_MANAGER" DISPLAY_NAME="CONTEXT_MENU_MANAGER"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CMPNAME="WDDOONCONTEXTMENU" PARAMETER_NAME="MENU" VERSION="I" PARAM_POSITION="3 " DECLARATION_TYPE="3" ABAP_TYPING="1" ABAP_TYPE="CL_WD_MENU" DISPLAY_NAME="MENU"/>
|
||||
<wdy_ctlr_usage COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" CTLR_USAGE_NAME="00O2TRN3HOPNY2XMW9ZPOIO72" VERSION="I" USED_CONTROLLER="COMPONENTCONTROLLER"/>
|
||||
<wdy_ctx_node COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="V_MAIN" NODE_NAME="CONTEXT" VERSION="I" NODE_TYPE="CL_WDY_MD_CONTEXT_VALUE_NODE" NODE_POSITION="0 " COLLECTION_TYPE="03" CARDINALITY="01" SELECTION="01" SINGLETON="X" DISPLAY_NAME="CONTEXT" ABAP_TYPING="0" INIT_LEAD_SELECT="X"/>
|
||||
</controller_definition>
|
||||
<controller_definition COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" VERSION="A" CONTROLLER_TYPE="06" CONTEXT="CONTEXT" DISPLAY_NAME="W_MAIN">
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="HANDLEDEFAULT" VERSION="I" CMPTYPE="CL_WDY_MD_CTLR_EVENT_HANDLER" CMP_POSITION="1 " VISIBILITY="2" REF_VIEW_NAME="W_MAIN" REF_PLUG_NAME="DEFAULT" DISPLAY_NAME="HANDLEDEFAULT" CODE_BODY="method HANDLEDEFAULT .
|
||||
endmethod." ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOEXIT" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOEXIT" CODE_BODY="method WDDOEXIT .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOINIT" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOINIT" CODE_BODY="method WDDOINIT .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOONCLOSE" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOONCLOSE" CODE_BODY="method WDDOONCLOSE .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compo COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOONOPEN" VERSION="I" CMPTYPE="CL_WDY_MD_CONTROLLER_METHOD" CMP_POSITION="1 " VISIBILITY="2" DISPLAY_NAME="WDDOONOPEN" CODE_BODY="method WDDOONOPEN .
|
||||
endmethod.
|
||||
" ACTION_TYPE="0" ABAP_TYPING="0"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOEXIT" LANGU="E" DESCRIPTION="Controller Clean-Up Method"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOINIT" LANGU="E" DESCRIPTION="Controller Initialization Method"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOONCLOSE" LANGU="E" DESCRIPTION="Handling For Closing of Window"/>
|
||||
<wdy_ctlr_compot COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOONOPEN" LANGU="E" DESCRIPTION="Handling For Opening of Window"/>
|
||||
<wdy_ctlr_param COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CMPNAME="WDDOONOPEN" PARAMETER_NAME="WINDOW_DESCR" VERSION="I" PARAM_POSITION="1 " DECLARATION_TYPE="0" ABAP_TYPING="1" ABAP_TYPE="IF_WD_WINDOW_DESCRIPTION" DISPLAY_NAME="WINDOW_DESCR"/>
|
||||
<wdy_ctlr_usage COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" CTLR_USAGE_NAME="00O2TRN3HOPNY2XMW9ZPOIHVI" VERSION="I" USED_CONTROLLER="COMPONENTCONTROLLER"/>
|
||||
<wdy_ctx_node COMPONENT_NAME="ZDEMO_EXCEL_WDA01" CONTROLLER_NAME="W_MAIN" NODE_NAME="CONTEXT" VERSION="I" NODE_TYPE="CL_WDY_MD_CONTEXT_VALUE_NODE" NODE_POSITION="0 " COLLECTION_TYPE="03" CARDINALITY="01" SELECTION="01" SINGLETON="X" DISPLAY_NAME="CONTEXT" ABAP_TYPING="0" INIT_LEAD_SELECT="X"/>
|
||||
</controller_definition>
|
||||
</WDYN>
|
||||
</nugget>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
32
docs/FAQ.md
Normal file
32
docs/FAQ.md
Normal file
|
@ -0,0 +1,32 @@
|
|||
* Verify the version that you have installed
|
||||
|
||||
Starting from version 7.0.1 we introduced the version tracking.
|
||||
To verify the version that you have installed in your system just generate a demo report and verify the properties of the generated XLSX file. In field description you should find the current version.
|
||||
You can also check the attribute VERSION in the class ZCL_EXCEL.
|
||||
|
||||
* After import error "Interface method are not implemented" is thrown
|
||||
|
||||
This is by a well know problem with SAPLink, Import nugget twice.
|
||||
|
||||
* Demo reports do not compile, class CL_BCS_CONVERT is not available.
|
||||
|
||||
Implement SAP OSS Notes:
|
||||
|
||||
[Note 1151257 - Converting document content](https://service.sap.com/sap/support/notes/1151257)
|
||||
|
||||
[Note 1151258 - Error when sending Excel attachments](https://service.sap.com/sap/support/notes/1151258)
|
||||
|
||||
* You want to start a report with SUBMIT. The report you called has a parameter of type string. If a variable of type string is transferred to the parameter with SUBMIT, the system issues termination message DB036
|
||||
|
||||
Implement SAP OSS Notes:
|
||||
|
||||
[Note 1385713 - SUBMIT: Allowing parameter of type STRING](https://service.sap.com/sap/support/notes/1385713)
|
||||
|
||||
* Download XLSX files in Background
|
||||
|
||||
Run report ZDEMO_EXCEL25.
|
||||
|
||||
* Use Calibri font in Excel and auto width calculation
|
||||
|
||||
You can upload Excel's default font Calibri from the regular .TTF font files using transaction SM73. Make sure to upload all four files (standard, bold, italic, bold and italic) and to use the description "Calibri", i.e. exactly the name Excel displays for the font.
|
||||
|
154
docs/Getting-ABAP2XLSX-to-work-on-a-620-System.md
Normal file
154
docs/Getting-ABAP2XLSX-to-work-on-a-620-System.md
Normal file
|
@ -0,0 +1,154 @@
|
|||
Note these instructions will get ABAP2XLSX working on an older 620 system. In this case I am doing it on a 4.70 Enterprise ext 2 system.
|
||||
|
||||
The guide draws from the existing installation guides and includes additional steps specific to 620.
|
||||
|
||||
This is based on the Daily build of ABAP2XLSX version 4, revision 103, dated 19th of January 2011.
|
||||
|
||||
1. Download abap2xlsx_Daily.nugg.zip and extract the .nugg file from it.
|
||||
2. Download abap2xlsx6.20patch.nugg.zip and extract the .nugg file from it.
|
||||
3. Use ZSAPLINK to install NUGG_ABAB2XLS_UTILS620.nugg. Ensure overwrite Originals is ticked. You should get green lights against the 3 classes and 2 interfaces that it imports.
|
||||
4. Open abap2xlsx_Daily.nugg in text editor and do search and replace according to following table:
|
||||
|
||||
|
||||
Search Replace with # of occurrences
|
||||
CL_OBJECT_COLLECTION ZCL_OBJECT_COLLECTION 61
|
||||
IF_OBJECT_COLLECTION ZIF_OBJECT_COLLECTION 68
|
||||
CL_ABAP_ZIP ZCL_ABAP_ZIP 3
|
||||
|
||||
|
||||
5. Save that new copy of abap2xlsx_Daily.nugg
|
||||
6. Use SAPLINK to install your modified abap2xlsx_Daily.nugg. Again you should get a green light on everything it imports.
|
||||
7. Use transaction SE80 (Object Navigator) to activate the newly imported entries.
|
||||
|
||||
Select the Inactive Objects from the dropdown. Activate in the following order :
|
||||
|
||||
Activate all domains
|
||||
Activate all data elements
|
||||
Activate all Database Tables / Structures except
|
||||
ZEXCEL_S_FIELDCATALOG
|
||||
ZEXCEL_S_WORKSHEET_COLUMNDIME
|
||||
ZEXCEL_S_WORKSHEET_ROWDIMENSIO
|
||||
Note you may get a warning on activation. Continue on.
|
||||
Activate all Table Types except
|
||||
ZEXCEL_T_FIELDCATALOG Table binding field catalog
|
||||
ZEXCEL_T_WORKSHEET_COLUMNDIME Collection of column dimensions
|
||||
ZEXCEL_T_WORKSHEET_ROWDIMENSIO Collection of row dimensions
|
||||
Activate all interfaces
|
||||
Activate all classes (see step 8 below for the errors you will encounter)
|
||||
Activate remaining Database Tables / Structures (if any error occurs open the structure and double click on the class object, SAP needs to refresh its buffer)
|
||||
ZEXCEL_S_FIELDCATALOG
|
||||
ZEXCEL_S_WORKSHEET_COLUMNDIME
|
||||
ZEXCEL_S_WORKSHEET_ROWDIMENSIO
|
||||
Activate remaining Table Types (if any error occurs open the structure and double click on the class object, SAP needs to refresh its buffer)
|
||||
ZEXCEL_T_FIELDCATALOG
|
||||
ZEXCEL_T_WORKSHEET_COLUMNDIME
|
||||
ZEXCEL_T_WORKSHEET_ROWDIMENSIO
|
||||
|
||||
8. You will find during activation on a 620 system that ZCL_EXCEL_HYPERLINKS class is a particular problem. It is easiest to just deactivate and exclude this (remove any reference to it from any other class with the abap2xlsx group). Note that with these changes made, any hyperlink functionality in your programs will not actually make use of the hyperlink functionality.
|
||||
|
||||
Hyperlinks Cleanup :
|
||||
|
||||
The main issue is hyperlinks->get_iterator is unknown. Quick fix is to ignore any hyperlink functionality.
|
||||
|
||||
Class : ZCL_EXCEL_WORKSHEET
|
||||
|
||||
Method : GET_HYPERLINKS_ITERATOR
|
||||
|
||||
Comment out : **eo_iterator = hyperlinks->get_iterator( ).**
|
||||
|
||||
|
||||
Class : ZCL_EXCEL_WORKSHEET
|
||||
|
||||
Method : GET_HYPERLINKS_SIZE
|
||||
|
||||
Comment out : **ep_size = hyperlinks->size( ).**
|
||||
|
||||
|
||||
Class : ZCL_EXCEL_WRITER_2007
|
||||
|
||||
Method : CREATE_XL_SHEET_RELS
|
||||
|
||||
Comment out :
|
||||
**lo_iterator = io_worksheet->get_hyperlinks_iterator( ).**
|
||||
**WHILE lo_iterator->ZIF_OBJECT_COLLECTION_iterator~has_next( ) EQ abap_true.**
|
||||
**lo_link ?= lo_iterator->ZIF_OBJECT_COLLECTION_iterator~get_next( ).**
|
||||
**ADD 1 TO lv_relation_id.**
|
||||
|
||||
**lv_value = lv_relation_id.**
|
||||
**CONDENSE lv_value.**
|
||||
**CONCATENATE 'rId' lv_value INTO lv_value.**
|
||||
|
||||
**lo_element = lo_document->create_simple_element( name = lc_xml_node_relationship**
|
||||
**parent = lo_document ).**
|
||||
**lo_element->set_attribute_ns( name = lc_xml_attr_id**
|
||||
**value = lv_value ).**
|
||||
**lo_element->set_attribute_ns( name = lc_xml_attr_type**
|
||||
**value = lc_xml_node_rid_link_tp ).**
|
||||
|
||||
**lv_value = lo_link->get_url( ).**
|
||||
**lo_element->set_attribute_ns( name = lc_xml_attr_target**
|
||||
**value = lv_value ).**
|
||||
**lo_element->set_attribute_ns( name = lc_xml_attr_target_mode**
|
||||
**value = lc_xml_val_external ).**
|
||||
**lo_element_root->append_child( new_child = lo_element ).**
|
||||
**ENDWHILE.**
|
||||
|
||||
And to help with any transport issues later on :
|
||||
|
||||
Class : ZCL_EXCEL_HYPERLINKS
|
||||
|
||||
Method : ADD
|
||||
|
||||
Comment out : **data_validations->add( ip_data_validation ).**
|
||||
|
||||
8a (Alternative to allow Hyperlinks - Tested with ABAP2XLSX version 6) - This is unconfirmed but it seems to be working for us.
|
||||
|
||||
Class : ZCL_EXCEL_WORKSHEET
|
||||
|
||||
Method : GET_HYPERLINKS_ITERATOR
|
||||
|
||||
Change to : **eo_iterator = hyperlinks->zif_object_collection~get_iterator( ).**
|
||||
|
||||
|
||||
Class : ZCL_EXCEL_WORKSHEET
|
||||
|
||||
Method : GET_HYPERLINKS_SIZE
|
||||
|
||||
Change to: **ep_size = hyperlinks->zif_object_collection~size( ).**
|
||||
|
||||
The Class ZCL_EXCEL_WRITER_2007 Method CREATE_XL_SHEET_RELS code can remain uncommented.
|
||||
|
||||
|
||||
9. 620 is picky about parameter names being omitted if there is more than one possible parameter. Minor changes to the code are required in the following area :
|
||||
|
||||
Class : ZCL_EXCEL_WORKSHEET
|
||||
|
||||
Method : CALCULATE_COLUMN_WIDTHS
|
||||
|
||||
Find : **column_dimension->set_width( <auto_size>-width ).**
|
||||
|
||||
Replace with : **call method column_dimension->set_width exporting ip_width = <auto_size>-width.**
|
||||
|
||||
10. 620 doesn't support CONCATENATE...RESPECTING BLANKS or REPLACE...REGEX... so this needs to be changed to a more traditional CONCATENATE.
|
||||
|
||||
Class : ZCL_EXCEL_WRITER_2007
|
||||
|
||||
Method : CREATE_DOCPROPS_CORE
|
||||
|
||||
Find :
|
||||
**CONCATENATE lv_date lv_time INTO lv_value RESPECTING BLANKS.**
|
||||
**REPLACE ALL OCCURRENCES OF REGEX '([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})' IN lv_value WITH '--T::Z'.**
|
||||
|
||||
Replace with :
|
||||
**CONCATENATE lv_date+0(4) '-' lv_date+4(2) '-' lv_date+6(2) 'T' lv_time+0(2) ':' lv_time+2(2) ':' lv_time+4(2) 'Z' INTO lv_value.**
|
||||
|
||||
There are two occurances to replace.
|
||||
|
||||
|
||||
|
||||
11. You should now have no problems activating everything except for one of the Demo reports. Three of the four can be fixed as follows :
|
||||
|
||||
ZDEMO_EXCEL20
|
||||
Fix not attempted on this one.
|
||||
|
||||
Thanks to Regan MacDonald
|
33
docs/SAPLink-installation.md
Normal file
33
docs/SAPLink-installation.md
Normal file
|
@ -0,0 +1,33 @@
|
|||
## DISCLAIMER
|
||||
As far as abap2xlsx is concerned, SAPlink is obsolete and should only be used on systems lower than 702.
|
||||
|
||||
## Prerequisites
|
||||
* [SAPlink](http://www.saplink.org) installed in your system.
|
||||
* [SAPlink Plugins](http://www.saplink.org) installed in your system: DDic, Interface (I would suggest to install the complete nugg package in build/SAPlink-plugins_Daily.nugg)SAP
|
||||
|
||||
## Procedure
|
||||
Download the nugg file from [build folder](https://github.com/sapmentors/abap2xlsx/tree/master/build) and save it locally on your system. Logon on your SAP system and execute report ZSAPLINK Select "Import Nugget" and locate your nugg file, check overwrite originals only if you have a previous installation of abap2xlsx and you want to update.
|
||||
|
||||
Execute the report.
|
||||
If you have checked overwrite originals a popup could appears in order to confirm the overwrite; press Yes to all.
|
||||
You should get this result (all green light)
|
||||
|
||||
SAPLinks puts the objects into $tmp space and all the objects are inactive. So we need to activate now.
|
||||
From SE80, select inactive objects
|
||||
|
||||
Activate objects in the following order:
|
||||
I tried a new nugg import on a new system here the detailed steps I performed:
|
||||
|
||||
1. Activate all domains
|
||||
1. Activate all data elements
|
||||
1. Activate all Database Tables / Structures except: ZEXCEL_S_FIELDCATALOG, ZEXCEL_S_STYLEMAPPING, ZEXCEL_S_WORKSHEET_COLUMNDIME, ZEXCEL_S_WORKSHEET_ROWDIMENSIO
|
||||
1. Activate all Table Types except: ZEXCEL_T_FIELDCATALOG, ZEXCEL_T_STYLEMAPPING, ZEXCEL_T_WORKSHEET_COLUMNDIME, ZEXCEL_T_WORKSHEET_ROWDIMENSIO
|
||||
1. Activate all interface/classes (activate anyway)
|
||||
1. Activate remaining Database Tables / Structures (if any error occurs open the structure and double click on the class object, SAP needs to refresh its buffer): ZEXCEL_S_FIELDCATALOG, ZEXCEL_S_WORKSHEET_COLUMNDIME, ZEXCEL_S_WORKSHEET_ROWDIMENSIO
|
||||
1. Activate remaining Table Types (if any error occurs open the structure and double click on the class object, SAP needs to refresh its buffer): ZEXCEL_T_FIELDCATALOG, ZEXCEL_T_WORKSHEET_COLUMNDIME, ZEXCEL_T_WORKSHEET_ROWDIMENSIO
|
||||
1. Activate all demo reports
|
||||
1. ~~Due to a issue with interfaces in SAPlink you need to import the abap2xlsx nugget twice and activate again all the objects.~~ Fixed with latest SAPlink release
|
||||
|
||||
Report ZAKE_SVN_A2X is used to retrieve and commit object into subversion server, Delete it if you are not a contributor.
|
||||
|
||||
[Getting ABAP2XLSX to work on a 620 System](Getting-ABAP2XLSX-to-work-on-a-620-System)
|
4
docs/abap2xlsx-Calender-Gallery.md
Normal file
4
docs/abap2xlsx-Calender-Gallery.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
The Demo Program ZDEMO_CALENDAR gives you the possibility to create a calendar just be specifying the image locations and descriptions. If you're using this report please share your results here:
|
||||
|
||||
* [Calendar created since 2012 with abap2xlsx by Gregor Wolf](https://computerservice-wolf.com/privat/)
|
||||
* [New York Calendar 2012 by Hendrik Neumann](http://dl.dropbox.com/u/3894797/Calendar%20-%20New%20York%20City%20-%202012.pdf)
|
15
docs/abapGit-installation.md
Normal file
15
docs/abapGit-installation.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
## Prerequisites
|
||||
|
||||
[Install abapGit](https://docs.abapgit.org/guide-install.html), if you have two factor authentication activated import https certificates from https://api.github.com ([Pull request #536](https://github.com/larshp/abapGit/pull/536))
|
||||
|
||||
## Procedure
|
||||
|
||||
Execute abapGit using the report **ZABAPGIT_STANDALONE**, click on *New Online*, fill the field *Git repository URL* with *https://github.com/abap2xlsx/abap2xlsx.git*, package with *$abap2xlsx* if you just want to test. If you want to transport abap2xlsx to production then use a non local package, for example ZABAP2XLSX. Click *Create package* if the package doesn't exist yet. Then click *Clone online repo*.
|
||||
|
||||

|
||||
|
||||
To install abap2xlsx click *pull*.
|
||||
|
||||
After installing, if you want to install the **demo programs**, repeat the actions above, starting from *New Online* to *pull*, and fill *Git repository URL* with *https://github.com/abap2xlsx/demos*. We recommend that you pick a local package name for the demos, for example $abap2xlsxdemos, since you most likely won't need them in a production system.
|
||||
|
||||
Be careful with the package name for demos: it should NOT be the basename of your abap2xlsx installation followed by "_demos"! If you have ZABAP2XLSX as base package, you may use ZABAP2XLSXDEMOS but not ZABAP2XLSX_DEMOS, for example. Quick background for the curious folks: before demos were spun off as a separate repository, they were placed in the "demos" subpackage of abap2xlsx and, yes, abapGit encodes the package / subpackage relationship with an underscore.
|
73
docs/contributing/coding-guidelines.md
Normal file
73
docs/contributing/coding-guidelines.md
Normal file
|
@ -0,0 +1,73 @@
|
|||
# Naming convention of variables, etc.
|
||||
|
||||
In abap2xlsx, over time, alas, the ABAP code came to mix different [naming standards](https://github.com/abap2xlsx/abap2xlsx/issues/773). Naming standards may vary from one class to another, but one naming standards is usually correctly applied in each class.
|
||||
|
||||
It's not possible to impose one naming standards by fixing the existing names, because clients may have developed custom programs which may already refer to them.
|
||||
When it's about adding a new variable, parameter or type in an existing object or method, it's embarrassing to impose one naming standards because that could be inconsistent with the variables, parameters or types which already exist at this place.
|
||||
|
||||
Here is the chosen compromise so that to keep the ABAP code the most consistent possible everywhere:
|
||||
- If you fix a method, reuse its naming standards so that its code looks consistent. If this method has several naming standards, choose the most used one.
|
||||
- If you create an ABAP object or a method implementation, choose the names according to the below rules.
|
||||
- If you create an attribute, a method definition or a type in a class or interface, choose the naming standards used in its section.
|
||||
NB: that means, if you need to create and maintain several objects to fix one issue or to make one pull request, you may end with using different naming standards.
|
||||
|
||||
Rules for creating an ABAP object or a method implementation (mix of Hungarian notation (prefixes) and [Clean Code](https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#avoid-encodings-esp-hungarian-notation-and-prefixes)):
|
||||
- Method names
|
||||
- clean code
|
||||
- Local class names
|
||||
- LCL_
|
||||
- LCX_ for the only exception class
|
||||
- Types
|
||||
- elementary: TV_
|
||||
- structure: TS_
|
||||
- table: TT_
|
||||
- Instance and class Attributes (not constants)
|
||||
- clean code
|
||||
- constant and global attributes
|
||||
- C_
|
||||
- Local variables
|
||||
- elementary: LV_
|
||||
- object: LO_
|
||||
- structure: LS_
|
||||
- table: LT_
|
||||
- data reference: LR_
|
||||
- Local constants
|
||||
- LC_
|
||||
- Field symbols
|
||||
- elementary: <LV_
|
||||
- structure: <LS_
|
||||
- table: <LT_
|
||||
- IMPORTING parameters
|
||||
- elementary: IV_
|
||||
- object: IO_
|
||||
- structure: IS_
|
||||
- table: IT_
|
||||
- EXPORTING parameters
|
||||
- elementary: EV_
|
||||
- object: EO_
|
||||
- structure: ES_
|
||||
- table: ET_
|
||||
- RETURNING parameters
|
||||
- elementary: RV_
|
||||
- object: RO_
|
||||
- structure: RS_
|
||||
- table: RT_
|
||||
- data reference: RR_
|
||||
- NB: don't use the general suffix "RESULT", instead use RO_WORKSHEET if method name is GET_ACTIVE_WORKSHEET
|
||||
- CHANGING parameters
|
||||
- elementary: CV_
|
||||
- structure: CS_
|
||||
- table: CT_
|
||||
- object: CO_
|
||||
|
||||
Here is a list of other naming standards, that you should use if they occur in existing method implementations or in the definition part of existing classes and interfaces, and if they are majority:
|
||||
- Types
|
||||
- Miscellaneous namings like T_, TY_, LTY, MTY_ were often used
|
||||
- Field symbols
|
||||
- <FS_ and <F_ were often used
|
||||
- elementary parameters
|
||||
- P was often used instead of V, for instance IP_ or EP_
|
||||
- RETURNING parameters
|
||||
- E was often used instead of R
|
||||
- CHANGING parameters
|
||||
- X was often used instead of C
|
38
docs/contributing/publishing-a-new-release.md
Normal file
38
docs/contributing/publishing-a-new-release.md
Normal file
|
@ -0,0 +1,38 @@
|
|||
# Publishing a new release
|
||||
|
||||
Let's create a release from time to time, every 1 or 2 months for instance, to contain enough changes, but not too much.
|
||||
Before beginning, you should ensure that ZDEMO_EXCEL_CHECKER (in the demos repo) shows all green checkmarks.
|
||||
|
||||
Below are the notes taken while publishing the release `7.16.0`.
|
||||
|
||||
Version numbering is based on [Semantic Versioning 2.0.0](https://semver.org/):
|
||||
- `7`: a major release. NB: it will probably not change as we don't want to "make incompatible API changes".
|
||||
- `16`: a minor release
|
||||
- `0`: patch level (bug fixes)
|
||||
|
||||
Working directly on the upstream repository:
|
||||
- create a branch for this new release; suggested naming for the branch: your own prefix - slash - release - number. For example: abo/release7.16.0 OR sandraros/release7.16.0
|
||||
- change `version` in `zcl_excel` to indicate the new version number
|
||||
- push the changes to this new release branch
|
||||
|
||||
With GitHub Desktop (or any Git console or Git user interface), [add the (lightweight) tag](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/managing-tags) `v7.16.0` to this branch; suggested naming for version-related tags is v + version number.
|
||||
|
||||
Do a pull request.
|
||||
|
||||
Wait for approval/commit(s) merged into the master branch.
|
||||
|
||||
Now [create the release in GitHub](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository#creating-a-release):
|
||||
- Click "Releases"
|
||||
- Click "Draft a new release"
|
||||
- Click "Choose a tag"
|
||||
- Type the title, select the previous tag, click "Auto-generate release notes" and click "Preview" to verify; you should have a list with the changes from the previous release, edit as required and remember to include the list below as explanation:
|
||||
- `+`: new feature
|
||||
- `*`: bug fix
|
||||
- `!`: feature modification
|
||||
- `-`: feature removed
|
||||
- Click "Publish release"
|
||||
- It's done, zip and tar.gz files are automatically assigned to the release
|
||||
- The new release appears in the Code home page, with the changelog in the release page itself.
|
||||
|
||||
Now create a release for the [demos](https://github.com/abap2xlsx/demos) repository as well: use the same process and tag the latest commit available at the time the main library is released, to ensure users will always have a matching set of demo programs.
|
||||
|
10
docs/index.md
Normal file
10
docs/index.md
Normal file
|
@ -0,0 +1,10 @@
|
|||
This community project allows you to generate Professional Excel spreadsheets directly from ABAP.
|
||||
|
||||
**Resources**
|
||||
|
||||
* Installation guide
|
||||
* [abapGit](abapGit-installation) (Preferred)
|
||||
* [SAPLink](SAPLink-installation) (obsolete)
|
||||
* [F.A.Q.](FAQ)
|
||||
* [abap2xlsx Calender Gallery](abap2xlsx-Calender-Gallery)
|
||||
* [Demos](https://github.com/abap2xlsx/demos)
|
BIN
docs/new-online-abap2xlsx.png
Normal file
BIN
docs/new-online-abap2xlsx.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 40 KiB |
16
package.json
Normal file
16
package.json
Normal file
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"license": "MIT",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"test": "rm -rf output && abap_transpile abap_transpile.json && echo RUNNING && node output/index.mjs"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/abap2xlsx/abap2xlsx.git"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@abaplint/cli": "^2.112.10",
|
||||
"@abaplint/transpiler-cli": "^2.10.9",
|
||||
"@abaplint/runtime": "^2.10.9"
|
||||
}
|
||||
}
|
Binary file not shown.
10
src/not_cloud/package.devc.xml
Normal file
10
src/not_cloud/package.devc.xml
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DEVC" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<DEVC>
|
||||
<CTEXT>Objects which cannot work in SAP Cloud</CTEXT>
|
||||
</DEVC>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
1815
src/not_cloud/zcl_excel_converter.clas.abap
Normal file
1815
src/not_cloud/zcl_excel_converter.clas.abap
Normal file
File diff suppressed because it is too large
Load Diff
51
src/not_cloud/zcl_excel_converter.clas.locals_def.abap
Normal file
51
src/not_cloud/zcl_excel_converter.clas.locals_def.abap
Normal file
|
@ -0,0 +1,51 @@
|
|||
*"* use this source file for any type declarations (class
|
||||
*"* definitions, interfaces or data types) you need for method
|
||||
*"* implementation or private method's signature
|
||||
|
||||
TYPES ty_style_type TYPE c LENGTH 1.
|
||||
|
||||
TYPES: BEGIN OF ts_alv_types,
|
||||
seoclass TYPE seoclsname,
|
||||
clsname TYPE seoclsname,
|
||||
END OF ts_alv_types,
|
||||
tt_alv_types TYPE HASHED TABLE OF ts_alv_types WITH UNIQUE KEY seoclass.
|
||||
|
||||
TYPES: BEGIN OF ts_sort_values,
|
||||
fieldname TYPE fieldname,
|
||||
row_int TYPE zexcel_cell_row,
|
||||
value TYPE REF TO data,
|
||||
new TYPE flag,
|
||||
sort_level TYPE int4,
|
||||
is_collapsed TYPE flag,
|
||||
END OF ts_sort_values,
|
||||
|
||||
tt_sort_values TYPE HASHED TABLE OF ts_sort_values WITH UNIQUE KEY primary_key COMPONENTS fieldname
|
||||
WITH NON-UNIQUE SORTED KEY collapsed COMPONENTS is_collapsed fieldname
|
||||
##TABKEY[PRIMARY_KEY][COLLAPSED].
|
||||
TYPES: BEGIN OF ts_subtotal_rows,
|
||||
row_int TYPE zexcel_cell_row,
|
||||
row_int_start TYPE zexcel_cell_row,
|
||||
columnname TYPE fieldname,
|
||||
END OF ts_subtotal_rows,
|
||||
|
||||
tt_subtotal_rows TYPE HASHED TABLE OF ts_subtotal_rows WITH UNIQUE KEY row_int.
|
||||
|
||||
TYPES: BEGIN OF ts_styles,
|
||||
type TYPE ty_style_type,
|
||||
alignment TYPE zexcel_alignment,
|
||||
inttype TYPE abap_typekind,
|
||||
decimals TYPE int1,
|
||||
style TYPE REF TO zcl_excel_style,
|
||||
guid TYPE zexcel_cell_style,
|
||||
END OF ts_styles,
|
||||
tt_styles TYPE HASHED TABLE OF ts_styles WITH UNIQUE KEY primary_key COMPONENTS type alignment inttype decimals
|
||||
WITH NON-UNIQUE SORTED KEY guid COMPONENTS guid .
|
||||
|
||||
TYPES: BEGIN OF ts_color_styles,
|
||||
guid_old TYPE zexcel_cell_style,
|
||||
fontcolor TYPE zexcel_style_color_argb,
|
||||
fillcolor TYPE zexcel_style_color_argb,
|
||||
style_new TYPE REF TO zcl_excel_style,
|
||||
END OF ts_color_styles,
|
||||
|
||||
tt_color_styles TYPE HASHED TABLE OF ts_color_styles WITH UNIQUE KEY guid_old fontcolor fillcolor.
|
333
src/not_cloud/zcl_excel_converter.clas.xml
Normal file
333
src/not_cloud/zcl_excel_converter.clas.xml
Normal file
|
@ -0,0 +1,333 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>ZCL_EXCEL_CONVERTER</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Salv converter</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
<TPOOL>
|
||||
<item>
|
||||
<ID>I</ID>
|
||||
<KEY>001</KEY>
|
||||
<ENTRY>Sheet1</ENTRY>
|
||||
<LENGTH>15</LENGTH>
|
||||
</item>
|
||||
<item>
|
||||
<ID>I</ID>
|
||||
<KEY>002</KEY>
|
||||
<ENTRY>Grand</ENTRY>
|
||||
<LENGTH>10</LENGTH>
|
||||
</item>
|
||||
<item>
|
||||
<ID>I</ID>
|
||||
<KEY>003</KEY>
|
||||
<ENTRY>Total</ENTRY>
|
||||
<LENGTH>10</LENGTH>
|
||||
</item>
|
||||
<item>
|
||||
<ID>I</ID>
|
||||
<KEY>004</KEY>
|
||||
<ENTRY>Minimum</ENTRY>
|
||||
<LENGTH>10</LENGTH>
|
||||
</item>
|
||||
<item>
|
||||
<ID>I</ID>
|
||||
<KEY>005</KEY>
|
||||
<ENTRY>Maximum</ENTRY>
|
||||
<LENGTH>10</LENGTH>
|
||||
</item>
|
||||
<item>
|
||||
<ID>I</ID>
|
||||
<KEY>006</KEY>
|
||||
<ENTRY>Average</ENTRY>
|
||||
<LENGTH>10</LENGTH>
|
||||
</item>
|
||||
<item>
|
||||
<ID>I</ID>
|
||||
<KEY>007</KEY>
|
||||
<ENTRY>Count</ENTRY>
|
||||
<LENGTH>10</LENGTH>
|
||||
</item>
|
||||
<item>
|
||||
<ID>I</ID>
|
||||
<KEY>008</KEY>
|
||||
<ENTRY>Excel creation options</ENTRY>
|
||||
<LENGTH>30</LENGTH>
|
||||
</item>
|
||||
</TPOOL>
|
||||
<DESCRIPTIONS>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>ASK_OPTION</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Ask for user option data</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>BIND_CELLS</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create table with set cell method</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>BIND_TABLE</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create table with bind table method</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>CLASS_CONSTRUCTOR</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>CLASS_CONSTRUCTOR</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>CLEAN_FIELDCATALOG</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Sort and check on fieldcatalog</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>CONVERT</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Convert</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>CREATE_COLOR_STYLE</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create new color style based on cell style</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>CREATE_FORMULAR_SUBTOTAL</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create formular for subtotal</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>CREATE_FORMULAR_TOTAL</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create formular for column total</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>CREATE_PATH</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create file path for download</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>CREATE_STYLE_HDR</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create header style</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>CREATE_STYLE_NORMAL</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create line style for stripped</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>CREATE_STYLE_STRIPPED</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create line style for stripped</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>CREATE_STYLE_SUBTOTAL</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create subtotals style</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>CREATE_STYLE_TOTAL</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create totals style</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>CREATE_TABLE</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create table based on fieldcatalog</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>CREATE_TEXT_SUBTOTAL</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create subtoal text for column</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>CREATE_WORKSHEET</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create table in worksheet</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>C_TYPE_HDR</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Single-Character Indicator</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>C_TYPE_NOR</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Single-Character Indicator</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>C_TYPE_STR</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Single-Character Indicator</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>C_TYPE_SUB</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Single-Character Indicator</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>C_TYPE_TOT</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Single-Character Indicator</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>EXECUTE_CONVERTER</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Execute the converter based on object provided</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>GET_COLOR_STYLE</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Look up color style and create if needed</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>GET_FILE</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create excel file</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>GET_FUNCTION_NUMBER</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Convert function name into internal number</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>GET_OPTION</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Get user option data</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>GET_STYLE</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Get style for cell</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>INIT_OPTION</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Init option structure</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>LOOP_NORMAL</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Bind cells with normal loop</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>LOOP_SUBTOTAL</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Bind cells with subtotal loop</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>OPEN_FILE</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Open excel file</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>SET_AUTOFILTER_AREA</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create autofilter</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>SET_CELL_FORMAT</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>SET CELL FORMAT</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>SET_FIELDCATALOG</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Set fieldcatalog from table</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>SET_OPTION</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Set user option data</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>WO_AUTOFILTER</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Autofilter</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>WO_DATA</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Excel data without unwanted columns</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>WO_EXCEL</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Excel creator</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>WO_TABLE</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Table sorted but not reduced</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>WO_WORKSHEET</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Worksheet</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>WRITE_FILE</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Write excel file</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>WS_INDX</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>System Table INDX</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>WS_LAYOUT</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Converter settings for table</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>WS_OPTION</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Converter options for grid configuration</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>WT_COLORS</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Table type for color information of cells for converter</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>WT_FIELDCATALOG</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Conter table for tabel fields</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>WT_FILTER</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Table type for filter information of cells for converter</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>WT_OBJECTS</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>ALV object list</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>W_COL_INT</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Cell Column</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>W_FCOUNT</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Three digit number</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>W_ROW_INT</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Cell Row</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
</DESCRIPTIONS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
600
src/not_cloud/zcl_excel_converter_alv.clas.abap
Normal file
600
src/not_cloud/zcl_excel_converter_alv.clas.abap
Normal file
|
@ -0,0 +1,600 @@
|
|||
CLASS zcl_excel_converter_alv DEFINITION
|
||||
PUBLIC
|
||||
ABSTRACT
|
||||
CREATE PUBLIC .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_CONVERTER_ALV
|
||||
*"* do not include other source files here!!!
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES zif_excel_converter
|
||||
ALL METHODS ABSTRACT .
|
||||
|
||||
CLASS-METHODS class_constructor .
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_ALV
|
||||
*"* do not include other source files here!!!
|
||||
PROTECTED SECTION.
|
||||
|
||||
DATA wt_sort TYPE lvc_t_sort .
|
||||
DATA wt_filt TYPE lvc_t_filt .
|
||||
DATA wt_fcat TYPE lvc_t_fcat .
|
||||
DATA ws_layo TYPE lvc_s_layo .
|
||||
DATA ws_option TYPE zexcel_s_converter_option .
|
||||
|
||||
METHODS update_catalog
|
||||
CHANGING
|
||||
!cs_layout TYPE zexcel_s_converter_layo
|
||||
!ct_fieldcatalog TYPE zexcel_t_converter_fcat .
|
||||
METHODS apply_sort
|
||||
IMPORTING
|
||||
!it_table TYPE STANDARD TABLE
|
||||
EXPORTING
|
||||
!eo_table TYPE REF TO data .
|
||||
METHODS get_color
|
||||
IMPORTING
|
||||
!io_table TYPE REF TO data
|
||||
EXPORTING
|
||||
!et_colors TYPE zexcel_t_converter_col .
|
||||
METHODS get_filter
|
||||
EXPORTING
|
||||
!et_filter TYPE zexcel_t_converter_fil
|
||||
CHANGING
|
||||
!xo_table TYPE REF TO data .
|
||||
*"* private components of class ZCL_EXCEL_CONVERTER_ALV
|
||||
*"* do not include other source files here!!!
|
||||
PRIVATE SECTION.
|
||||
|
||||
CLASS-DATA wt_colors TYPE tt_col_converter .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS zcl_excel_converter_alv IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD apply_sort.
|
||||
DATA: lt_otab TYPE abap_sortorder_tab,
|
||||
ls_otab TYPE abap_sortorder.
|
||||
|
||||
FIELD-SYMBOLS: <fs_table> TYPE STANDARD TABLE,
|
||||
<fs_sort> TYPE lvc_s_sort.
|
||||
|
||||
CREATE DATA eo_table LIKE it_table.
|
||||
ASSIGN eo_table->* TO <fs_table>.
|
||||
|
||||
<fs_table> = it_table.
|
||||
|
||||
SORT wt_sort BY spos.
|
||||
LOOP AT wt_sort ASSIGNING <fs_sort>.
|
||||
IF <fs_sort>-up = abap_true.
|
||||
ls_otab-name = <fs_sort>-fieldname.
|
||||
ls_otab-descending = abap_false.
|
||||
* ls_otab-astext = abap_true. " not only text fields
|
||||
INSERT ls_otab INTO TABLE lt_otab.
|
||||
ENDIF.
|
||||
IF <fs_sort>-down = abap_true.
|
||||
ls_otab-name = <fs_sort>-fieldname.
|
||||
ls_otab-descending = abap_true.
|
||||
* ls_otab-astext = abap_true. " not only text fields
|
||||
INSERT ls_otab INTO TABLE lt_otab.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
IF lt_otab IS NOT INITIAL.
|
||||
SORT <fs_table> BY (lt_otab).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD class_constructor.
|
||||
* let's fill the color conversion routines.
|
||||
DATA: ls_color TYPE ts_col_converter.
|
||||
* 0 all combination the same
|
||||
ls_color-col = 0.
|
||||
ls_color-int = 0.
|
||||
ls_color-inv = 0.
|
||||
ls_color-fontcolor = 'FF000000'. " 000 000 000 Black
|
||||
ls_color-fillcolor = 'FFFFFFFF'. " 255 255 255 White
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ls_color-col = 0.
|
||||
ls_color-int = 0.
|
||||
ls_color-inv = 1.
|
||||
ls_color-fontcolor = 'FF000000'. " 000 000 000 Black
|
||||
ls_color-fillcolor = 'FFFFFFFF'. " 255 255 255 White
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ls_color-col = 0.
|
||||
ls_color-int = 1.
|
||||
ls_color-inv = 0.
|
||||
ls_color-fontcolor = 'FF000000'. " 000 000 000 Black
|
||||
ls_color-fillcolor = 'FFFFFFFF'. " 255 255 255 White
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ls_color-col = 0.
|
||||
ls_color-int = 1.
|
||||
ls_color-inv = 1.
|
||||
ls_color-fontcolor = 'FF000000'. " 000 000 000 Black
|
||||
ls_color-fillcolor = 'FFFFFFFF'. " 255 255 255 White
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
* Blue
|
||||
ls_color-col = 1.
|
||||
ls_color-int = 0.
|
||||
ls_color-inv = 0.
|
||||
ls_color-fontcolor = 'FF000000'. " 000 000 000 Black
|
||||
ls_color-fillcolor = 'FFB0E4FC'. " 176 228 252 blue
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ls_color-col = 1.
|
||||
ls_color-int = 0.
|
||||
ls_color-inv = 1.
|
||||
ls_color-fontcolor = 'FFB0E4FC'. " 176 228 252 blue
|
||||
ls_color-fillcolor = 'FFFFFFFF'. " 255 255 255 White
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ls_color-col = 1.
|
||||
ls_color-int = 1.
|
||||
ls_color-inv = 0.
|
||||
ls_color-fontcolor = 'FF000000'. " 000 000 000 Black
|
||||
ls_color-fillcolor = 'FF5FCBFE'. " 095 203 254 Int blue
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ls_color-col = 1.
|
||||
ls_color-int = 1.
|
||||
ls_color-inv = 1.
|
||||
ls_color-fontcolor = 'FF5FCBFE'. " 095 203 254
|
||||
ls_color-fillcolor = 'FFFFFFFF'. " 255 255 255
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
* Gray
|
||||
ls_color-col = 2.
|
||||
ls_color-int = 0.
|
||||
ls_color-inv = 0.
|
||||
ls_color-fontcolor = 'FF000000'.
|
||||
ls_color-fillcolor = 'FFE5EAF0'. " 229 234 240 gray
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ls_color-col = 2.
|
||||
ls_color-int = 0.
|
||||
ls_color-inv = 1.
|
||||
ls_color-fontcolor = 'FFE5EAF0'. " 229 234 240 gray
|
||||
ls_color-fillcolor = 'FFFFFFFF'. " 255 255 255 White
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ls_color-col = 2.
|
||||
ls_color-int = 1.
|
||||
ls_color-inv = 0.
|
||||
ls_color-fontcolor = 'FF000000'. " 000 000 000 Black
|
||||
ls_color-fillcolor = 'FFD8E8F4'. " 216 234 244 int gray
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ls_color-col = 2.
|
||||
ls_color-int = 1.
|
||||
ls_color-inv = 1.
|
||||
ls_color-fontcolor = 'FFD8E8F4'. " 216 234 244 int gray
|
||||
ls_color-fillcolor = 'FFFFFFFF'. " 255 255 255 White
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
*Yellow
|
||||
ls_color-col = 3.
|
||||
ls_color-int = 0.
|
||||
ls_color-inv = 0.
|
||||
ls_color-fontcolor = 'FF000000'. " 000 000 000 Black
|
||||
ls_color-fillcolor = 'FFFEFEB8'. " 254 254 184 yellow
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ls_color-col = 3.
|
||||
ls_color-int = 0.
|
||||
ls_color-inv = 1.
|
||||
ls_color-fontcolor = 'FFFEFEB8'. " 254 254 184 yellow
|
||||
ls_color-fillcolor = 'FFFFFFFF'. " 255 255 255 White
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ls_color-col = 3.
|
||||
ls_color-int = 1.
|
||||
ls_color-inv = 0.
|
||||
ls_color-fontcolor = 'FF000000'. " 000 000 000 Black
|
||||
ls_color-fillcolor = 'FFF9ED5D'. " 249 237 093 int yellow
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ls_color-col = 3.
|
||||
ls_color-int = 1.
|
||||
ls_color-inv = 1.
|
||||
ls_color-fontcolor = 'FFF9ED5D'. " 249 237 093 int yellow
|
||||
ls_color-fillcolor = 'FFFFFFFF'. " 255 255 255 White
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
* light blue
|
||||
ls_color-col = 4.
|
||||
ls_color-int = 0.
|
||||
ls_color-inv = 0.
|
||||
ls_color-fontcolor = 'FF000000'. " 000 000 000 Black
|
||||
ls_color-fillcolor = 'FFCEE7FB'. " 206 231 251 light blue
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ls_color-col = 4.
|
||||
ls_color-int = 0.
|
||||
ls_color-inv = 1.
|
||||
ls_color-fontcolor = 'FFCEE7FB'. " 206 231 251 light blue
|
||||
ls_color-fillcolor = 'FFFFFFFF'. " 255 255 255 White
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ls_color-col = 4.
|
||||
ls_color-int = 1.
|
||||
ls_color-inv = 0.
|
||||
ls_color-fontcolor = 'FF000000'. " 000 000 000 Black
|
||||
ls_color-fillcolor = 'FF9ACCEF'. " 154 204 239 int light blue
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ls_color-col = 4.
|
||||
ls_color-int = 1.
|
||||
ls_color-inv = 1.
|
||||
ls_color-fontcolor = 'FF9ACCEF'. " 154 204 239 int light blue
|
||||
ls_color-fillcolor = 'FFFFFFFF'. " 255 255 255 White
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
* Green
|
||||
ls_color-col = 5.
|
||||
ls_color-int = 0.
|
||||
ls_color-inv = 0.
|
||||
ls_color-fontcolor = 'FF000000'. " 000 000 000 Black
|
||||
ls_color-fillcolor = 'FFCEF8AE'. " 206 248 174 Green
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ls_color-col = 5.
|
||||
ls_color-int = 0.
|
||||
ls_color-inv = 1.
|
||||
ls_color-fontcolor = 'FFCEF8AE'. " 206 248 174 Green
|
||||
ls_color-fillcolor = 'FFFFFFFF'. " 255 255 255 White
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ls_color-col = 5.
|
||||
ls_color-int = 1.
|
||||
ls_color-inv = 0.
|
||||
ls_color-fontcolor = 'FF000000'. " 000 000 000 Black
|
||||
ls_color-fillcolor = 'FF7AC769'. " 122 199 105 int Green
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ls_color-col = 5.
|
||||
ls_color-int = 1.
|
||||
ls_color-inv = 1.
|
||||
ls_color-fontcolor = 'FF7AC769'. " 122 199 105 int Green
|
||||
ls_color-fillcolor = 'FFFFFFFF'. " 255 255 255 White
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
* Red
|
||||
ls_color-col = 6.
|
||||
ls_color-int = 0.
|
||||
ls_color-inv = 0.
|
||||
ls_color-fontcolor = 'FF000000'. " 000 000 000 Black
|
||||
ls_color-fillcolor = 'FFFDBBBC'. " 253 187 188 Red
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ls_color-col = 6.
|
||||
ls_color-int = 0.
|
||||
ls_color-inv = 1.
|
||||
ls_color-fontcolor = 'FFFDBBBC'. " 253 187 188 Red
|
||||
ls_color-fillcolor = 'FFFFFFFF'. " 255 255 255 White
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ls_color-col = 6.
|
||||
ls_color-int = 1.
|
||||
ls_color-inv = 0.
|
||||
ls_color-fontcolor = 'FF000000'. " 000 000 000 Black
|
||||
ls_color-fillcolor = 'FFFB6B6B'. " 251 107 107 int Red
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ls_color-col = 6.
|
||||
ls_color-int = 1.
|
||||
ls_color-inv = 1.
|
||||
ls_color-fontcolor = 'FFFB6B6B'. " 251 107 107 int Red
|
||||
ls_color-fillcolor = 'FFFFFFFF'. " 255 255 255 White
|
||||
INSERT ls_color INTO TABLE wt_colors.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_color.
|
||||
DATA: ls_con_col TYPE zexcel_s_converter_col,
|
||||
ls_color TYPE ts_col_converter,
|
||||
l_line TYPE i,
|
||||
l_color(4) TYPE c.
|
||||
FIELD-SYMBOLS: <fs_tab> TYPE STANDARD TABLE,
|
||||
<fs_stab> TYPE any,
|
||||
<fs> TYPE any,
|
||||
<ft_slis> TYPE STANDARD TABLE,
|
||||
<fs_slis> TYPE any.
|
||||
|
||||
* Loop trough the table to set the color properties of each line. The color properties field is
|
||||
* Char 4 and the characters is set as follows:
|
||||
* Char 1 = C = This is a color property
|
||||
* Char 2 = 6 = Color code (1 - 7)
|
||||
* Char 3 = Intensified on/of = 1 = on
|
||||
* Char 4 = Inverse display = 0 = of
|
||||
|
||||
ASSIGN io_table->* TO <fs_tab>.
|
||||
|
||||
IF ws_layo-info_fname IS NOT INITIAL OR
|
||||
ws_layo-ctab_fname IS NOT INITIAL.
|
||||
LOOP AT <fs_tab> ASSIGNING <fs_stab>.
|
||||
l_line = sy-tabix.
|
||||
IF ws_layo-info_fname IS NOT INITIAL.
|
||||
ASSIGN COMPONENT ws_layo-info_fname OF STRUCTURE <fs_stab> TO <fs>.
|
||||
IF sy-subrc = 0 AND <fs> IS NOT INITIAL.
|
||||
l_color = <fs>.
|
||||
IF l_color(1) = 'C'.
|
||||
READ TABLE wt_colors INTO ls_color WITH TABLE KEY col = l_color+1(1)
|
||||
int = l_color+2(1)
|
||||
inv = l_color+3(1).
|
||||
IF sy-subrc = 0.
|
||||
ls_con_col-rownumber = l_line.
|
||||
ls_con_col-columnname = space.
|
||||
ls_con_col-fontcolor = ls_color-fontcolor.
|
||||
ls_con_col-fillcolor = ls_color-fillcolor.
|
||||
INSERT ls_con_col INTO TABLE et_colors.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
IF ws_layo-ctab_fname IS NOT INITIAL.
|
||||
|
||||
ASSIGN COMPONENT ws_layo-ctab_fname OF STRUCTURE <fs_stab> TO <ft_slis>.
|
||||
IF sy-subrc = 0.
|
||||
LOOP AT <ft_slis> ASSIGNING <fs_slis>.
|
||||
ASSIGN COMPONENT 'COLOR' OF STRUCTURE <fs_slis> TO <fs>.
|
||||
IF sy-subrc = 0.
|
||||
IF <fs> IS NOT INITIAL.
|
||||
FIELD-SYMBOLS: <col> TYPE any,
|
||||
<int> TYPE any,
|
||||
<inv> TYPE any,
|
||||
<fname> TYPE any,
|
||||
<nokeycol> TYPE any.
|
||||
ASSIGN COMPONENT 'COL' OF STRUCTURE <fs> TO <col>.
|
||||
ASSIGN COMPONENT 'INT' OF STRUCTURE <fs> TO <int>.
|
||||
ASSIGN COMPONENT 'INV' OF STRUCTURE <fs> TO <inv>.
|
||||
READ TABLE wt_colors INTO ls_color WITH TABLE KEY col = <col>
|
||||
int = <int>
|
||||
inv = <inv>.
|
||||
IF sy-subrc = 0.
|
||||
ls_con_col-rownumber = l_line.
|
||||
ASSIGN COMPONENT 'FNAME' OF STRUCTURE <fs_slis> TO <fname>.
|
||||
IF sy-subrc NE 0.
|
||||
ASSIGN COMPONENT 'FIELDNAME' OF STRUCTURE <fs_slis> TO <fname>.
|
||||
IF sy-subrc EQ 0.
|
||||
ls_con_col-columnname = <fname>.
|
||||
ENDIF.
|
||||
ELSE.
|
||||
ls_con_col-columnname = <fname>.
|
||||
ENDIF.
|
||||
|
||||
ls_con_col-fontcolor = ls_color-fontcolor.
|
||||
ls_con_col-fillcolor = ls_color-fillcolor.
|
||||
ASSIGN COMPONENT 'NOKEYCOL' OF STRUCTURE <fs_slis> TO <nokeycol>.
|
||||
IF sy-subrc EQ 0.
|
||||
ls_con_col-nokeycol = <nokeycol>.
|
||||
ENDIF.
|
||||
INSERT ls_con_col INTO TABLE et_colors.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_filter.
|
||||
DATA: ls_filt TYPE lvc_s_filt,
|
||||
l_line TYPE i,
|
||||
ls_filter TYPE zexcel_s_converter_fil.
|
||||
DATA: lo_addit TYPE REF TO cl_abap_elemdescr,
|
||||
lt_components_tab TYPE cl_abap_structdescr=>component_table,
|
||||
ls_components TYPE abap_componentdescr,
|
||||
lo_table TYPE REF TO cl_abap_tabledescr,
|
||||
lo_struc TYPE REF TO cl_abap_structdescr,
|
||||
lo_trange TYPE REF TO data,
|
||||
lo_srange TYPE REF TO data,
|
||||
lo_ltabdata TYPE REF TO data.
|
||||
|
||||
FIELD-SYMBOLS: <fs_tab> TYPE STANDARD TABLE,
|
||||
<fs_ltab> TYPE STANDARD TABLE,
|
||||
<fs_stab> TYPE any,
|
||||
<fs> TYPE any,
|
||||
<fs1> TYPE any,
|
||||
<fs_srange> TYPE any,
|
||||
<fs_trange> TYPE STANDARD TABLE.
|
||||
|
||||
IF ws_option-filter = abap_false.
|
||||
CLEAR et_filter.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
ASSIGN xo_table->* TO <fs_tab>.
|
||||
|
||||
CREATE DATA lo_ltabdata LIKE <fs_tab>.
|
||||
ASSIGN lo_ltabdata->* TO <fs_ltab>.
|
||||
|
||||
LOOP AT wt_filt INTO ls_filt.
|
||||
LOOP AT <fs_tab> ASSIGNING <fs_stab>.
|
||||
l_line = sy-tabix.
|
||||
ASSIGN COMPONENT ls_filt-fieldname OF STRUCTURE <fs_stab> TO <fs>.
|
||||
IF sy-subrc = 0.
|
||||
IF l_line = 1.
|
||||
CLEAR lt_components_tab.
|
||||
ls_components-name = 'SIGN'.
|
||||
lo_addit ?= cl_abap_typedescr=>describe_by_data( ls_filt-sign ).
|
||||
ls_components-type = lo_addit .
|
||||
INSERT ls_components INTO TABLE lt_components_tab.
|
||||
ls_components-name = 'OPTION'.
|
||||
lo_addit ?= cl_abap_typedescr=>describe_by_data( ls_filt-option ).
|
||||
ls_components-type = lo_addit .
|
||||
INSERT ls_components INTO TABLE lt_components_tab.
|
||||
ls_components-name = 'LOW'.
|
||||
lo_addit ?= cl_abap_typedescr=>describe_by_data( <fs> ).
|
||||
ls_components-type = lo_addit .
|
||||
INSERT ls_components INTO TABLE lt_components_tab.
|
||||
ls_components-name = 'HIGH'.
|
||||
lo_addit ?= cl_abap_typedescr=>describe_by_data( <fs> ).
|
||||
ls_components-type = lo_addit .
|
||||
INSERT ls_components INTO TABLE lt_components_tab.
|
||||
"create new line type
|
||||
TRY.
|
||||
lo_struc = cl_abap_structdescr=>create( p_components = lt_components_tab
|
||||
p_strict = abap_false ).
|
||||
CATCH cx_sy_struct_creation.
|
||||
CONTINUE.
|
||||
ENDTRY.
|
||||
lo_table = cl_abap_tabledescr=>create( lo_struc ).
|
||||
|
||||
CREATE DATA lo_trange TYPE HANDLE lo_table.
|
||||
CREATE DATA lo_srange TYPE HANDLE lo_struc.
|
||||
|
||||
ASSIGN lo_trange->* TO <fs_trange>.
|
||||
ASSIGN lo_srange->* TO <fs_srange>.
|
||||
ENDIF.
|
||||
CLEAR <fs_trange>.
|
||||
ASSIGN COMPONENT 'SIGN' OF STRUCTURE <fs_srange> TO <fs1>.
|
||||
<fs1> = ls_filt-sign.
|
||||
ASSIGN COMPONENT 'OPTION' OF STRUCTURE <fs_srange> TO <fs1>.
|
||||
<fs1> = ls_filt-option.
|
||||
ASSIGN COMPONENT 'LOW' OF STRUCTURE <fs_srange> TO <fs1>.
|
||||
<fs1> = ls_filt-low.
|
||||
ASSIGN COMPONENT 'HIGH' OF STRUCTURE <fs_srange> TO <fs1>.
|
||||
<fs1> = ls_filt-high.
|
||||
INSERT <fs_srange> INTO TABLE <fs_trange>.
|
||||
IF <fs> IN <fs_trange>.
|
||||
IF ws_option-filter = abap_true.
|
||||
ls_filter-rownumber = l_line.
|
||||
ls_filter-columnname = ls_filt-fieldname.
|
||||
INSERT ls_filter INTO TABLE et_filter.
|
||||
ELSE.
|
||||
INSERT <fs_stab> INTO TABLE <fs_ltab>.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
IF ws_option-filter = abap_undefined.
|
||||
<fs_tab> = <fs_ltab>.
|
||||
CLEAR <fs_ltab>.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD update_catalog.
|
||||
DATA: ls_fieldcatalog TYPE zexcel_s_converter_fcat,
|
||||
ls_fcat TYPE lvc_s_fcat,
|
||||
ls_sort TYPE lvc_s_sort,
|
||||
l_decimals TYPE lvc_decmls.
|
||||
|
||||
FIELD-SYMBOLS: <fs_scat> TYPE zexcel_s_converter_fcat.
|
||||
|
||||
IF ws_layo-zebra IS NOT INITIAL.
|
||||
cs_layout-is_stripped = abap_true.
|
||||
ENDIF.
|
||||
IF ws_layo-no_keyfix IS INITIAL OR
|
||||
ws_layo-no_keyfix = '0'.
|
||||
cs_layout-is_fixed = abap_true.
|
||||
ENDIF.
|
||||
|
||||
LOOP AT wt_fcat INTO ls_fcat.
|
||||
CLEAR: ls_fieldcatalog,
|
||||
l_decimals.
|
||||
CASE ws_option-hidenc.
|
||||
WHEN abap_false. " We make hiden columns visible
|
||||
CLEAR ls_fcat-no_out.
|
||||
WHEN abap_true.
|
||||
* We convert column and hide it.
|
||||
WHEN abap_undefined. "We don't convert hiden columns
|
||||
IF ls_fcat-no_out = abap_true.
|
||||
ls_fcat-tech = abap_true.
|
||||
ENDIF.
|
||||
ENDCASE.
|
||||
IF ls_fcat-tech = abap_false.
|
||||
ls_fieldcatalog-tabname = ls_fcat-tabname.
|
||||
ls_fieldcatalog-fieldname = ls_fcat-fieldname .
|
||||
ls_fieldcatalog-columnname = ls_fcat-fieldname .
|
||||
ls_fieldcatalog-position = ls_fcat-col_pos.
|
||||
ls_fieldcatalog-col_id = ls_fcat-col_id.
|
||||
ls_fieldcatalog-convexit = ls_fcat-convexit.
|
||||
ls_fieldcatalog-inttype = ls_fcat-inttype.
|
||||
ls_fieldcatalog-scrtext_s = ls_fcat-scrtext_s .
|
||||
ls_fieldcatalog-scrtext_m = ls_fcat-scrtext_m .
|
||||
ls_fieldcatalog-scrtext_l = ls_fcat-scrtext_l.
|
||||
l_decimals = ls_fcat-decimals_o.
|
||||
IF l_decimals IS NOT INITIAL.
|
||||
ls_fieldcatalog-decimals = l_decimals.
|
||||
ELSE.
|
||||
ls_fieldcatalog-decimals = ls_fcat-decimals .
|
||||
ENDIF.
|
||||
CASE ws_option-subtot.
|
||||
WHEN abap_false. " We ignore subtotals
|
||||
CLEAR ls_fcat-do_sum.
|
||||
WHEN abap_true. " We convert subtotals and detail
|
||||
|
||||
WHEN abap_undefined. " We should only take subtotals and displayed detail
|
||||
* for now abap_true
|
||||
ENDCASE.
|
||||
CASE ls_fcat-do_sum.
|
||||
WHEN abap_true.
|
||||
ls_fieldcatalog-totals_function = zcl_excel_table=>totals_function_sum.
|
||||
WHEN 'A'.
|
||||
ls_fieldcatalog-totals_function = zcl_excel_table=>totals_function_min.
|
||||
WHEN 'B' .
|
||||
ls_fieldcatalog-totals_function = zcl_excel_table=>totals_function_max.
|
||||
WHEN 'C' .
|
||||
ls_fieldcatalog-totals_function = zcl_excel_table=>totals_function_average.
|
||||
WHEN OTHERS.
|
||||
CLEAR ls_fieldcatalog-totals_function .
|
||||
ENDCASE.
|
||||
ls_fieldcatalog-fix_column = ls_fcat-fix_column.
|
||||
IF ws_layo-cwidth_opt IS INITIAL.
|
||||
IF ls_fcat-col_opt IS NOT INITIAL.
|
||||
ls_fieldcatalog-is_optimized = abap_true.
|
||||
ENDIF.
|
||||
ELSE.
|
||||
ls_fieldcatalog-is_optimized = abap_true.
|
||||
ENDIF.
|
||||
IF ls_fcat-no_out IS NOT INITIAL.
|
||||
ls_fieldcatalog-is_hidden = abap_true.
|
||||
ls_fieldcatalog-position = ls_fieldcatalog-col_id. " We hide based on orginal data structure
|
||||
ENDIF.
|
||||
* Alignment in each cell
|
||||
CASE ls_fcat-just.
|
||||
WHEN 'R'.
|
||||
ls_fieldcatalog-alignment = zcl_excel_style_alignment=>c_horizontal_right.
|
||||
WHEN 'L'.
|
||||
ls_fieldcatalog-alignment = zcl_excel_style_alignment=>c_horizontal_left.
|
||||
WHEN 'C'.
|
||||
ls_fieldcatalog-alignment = zcl_excel_style_alignment=>c_horizontal_center.
|
||||
WHEN OTHERS.
|
||||
CLEAR ls_fieldcatalog-alignment.
|
||||
ENDCASE.
|
||||
* Check for subtotals.
|
||||
READ TABLE wt_sort INTO ls_sort WITH KEY fieldname = ls_fcat-fieldname.
|
||||
IF sy-subrc = 0 AND ws_option-subtot <> abap_false.
|
||||
ls_fieldcatalog-sort_level = 0 .
|
||||
ls_fieldcatalog-is_subtotalled = ls_sort-subtot.
|
||||
ls_fieldcatalog-is_collapsed = ls_sort-expa.
|
||||
IF ls_fieldcatalog-is_subtotalled = abap_true.
|
||||
ls_fieldcatalog-sort_level = ls_sort-spos.
|
||||
ls_fieldcatalog-totals_function = zcl_excel_table=>totals_function_sum. " we need function for text
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
APPEND ls_fieldcatalog TO ct_fieldcatalog.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
SORT ct_fieldcatalog BY sort_level ASCENDING.
|
||||
cs_layout-max_subtotal_level = 0.
|
||||
LOOP AT ct_fieldcatalog ASSIGNING <fs_scat> WHERE sort_level > 0.
|
||||
cs_layout-max_subtotal_level = cs_layout-max_subtotal_level + 1.
|
||||
<fs_scat>-sort_level = cs_layout-max_subtotal_level.
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
68
src/not_cloud/zcl_excel_converter_alv.clas.xml
Normal file
68
src/not_cloud/zcl_excel_converter_alv.clas.xml
Normal file
|
@ -0,0 +1,68 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>ZCL_EXCEL_CONVERTER_ALV</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>ALV grid interface implementation</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
<DESCRIPTIONS>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>APPLY_SORT</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Apply sort criteria to data table</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>CLASS_CONSTRUCTOR</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>CLASS_CONSTRUCTOR</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>GET_COLOR</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create color table for formating</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>GET_FILTER</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create filter values</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>UPDATE_CATALOG</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create fieldcatalog and layout</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>WS_LAYO</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>ALV control: Layout structure</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>WS_OPTION</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Converter options for grid configuration</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>WT_FCAT</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Field Catalog for List Viewer Control</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>WT_FILT</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>ALV control: Table of filter conditions</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>WT_SORT</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>ALV Control: Table of Sort Criteria</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
</DESCRIPTIONS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
77
src/not_cloud/zcl_excel_converter_alv_grid.clas.abap
Normal file
77
src/not_cloud/zcl_excel_converter_alv_grid.clas.abap
Normal file
|
@ -0,0 +1,77 @@
|
|||
CLASS zcl_excel_converter_alv_grid DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM zcl_excel_converter_alv
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
METHODS zif_excel_converter~can_convert_object
|
||||
REDEFINITION .
|
||||
*"* public components of class ZCL_EXCEL_CONVERTER_ALV_GRID
|
||||
*"* do not include other source files here!!!
|
||||
METHODS zif_excel_converter~create_fieldcatalog
|
||||
REDEFINITION .
|
||||
METHODS zif_excel_converter~get_supported_class
|
||||
REDEFINITION .
|
||||
PROTECTED SECTION.
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_ALV_GRID
|
||||
*"* do not include other source files here!!!
|
||||
*"* private components of class ZCL_EXCEL_CONVERTER_ALV_GRID
|
||||
*"* do not include other source files here!!!
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS zcl_excel_converter_alv_grid IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD zif_excel_converter~get_supported_class.
|
||||
rv_supported_class = 'CL_GUI_ALV_GRID'.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_excel_converter~can_convert_object.
|
||||
DATA: lo_alv TYPE REF TO cl_gui_alv_grid.
|
||||
|
||||
TRY.
|
||||
lo_alv ?= io_object.
|
||||
CATCH cx_sy_move_cast_error .
|
||||
RAISE EXCEPTION TYPE zcx_excel.
|
||||
ENDTRY.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_excel_converter~create_fieldcatalog.
|
||||
DATA: lo_alv TYPE REF TO cl_gui_alv_grid.
|
||||
|
||||
zif_excel_converter~can_convert_object( io_object = io_object ).
|
||||
|
||||
ws_option = is_option.
|
||||
|
||||
lo_alv ?= io_object.
|
||||
|
||||
CLEAR: es_layout,
|
||||
et_fieldcatalog.
|
||||
|
||||
IF lo_alv IS BOUND.
|
||||
lo_alv->get_frontend_fieldcatalog( IMPORTING et_fieldcatalog = wt_fcat ).
|
||||
lo_alv->get_frontend_layout( IMPORTING es_layout = ws_layo ).
|
||||
lo_alv->get_sort_criteria( IMPORTING et_sort = wt_sort ) .
|
||||
lo_alv->get_filter_criteria( IMPORTING et_filter = wt_filt ) .
|
||||
|
||||
apply_sort( EXPORTING it_table = it_table
|
||||
IMPORTING eo_table = eo_table ) .
|
||||
|
||||
get_color( EXPORTING io_table = eo_table
|
||||
IMPORTING et_colors = et_colors ) .
|
||||
|
||||
get_filter( IMPORTING et_filter = et_filter
|
||||
CHANGING xo_table = eo_table ) .
|
||||
|
||||
update_catalog( CHANGING cs_layout = es_layout
|
||||
ct_fieldcatalog = et_fieldcatalog ).
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -4,17 +4,13 @@
|
|||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>ZCL_EXCEL_CONVERTER_ALV_GRID</CLSNAME>
|
||||
<VERSION>1</VERSION>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>SALV converter</DESCRIPT>
|
||||
<EXPOSURE>2</EXPOSURE>
|
||||
<STATE>1</STATE>
|
||||
<CLSFINAL>X</CLSFINAL>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
<TPOOL/>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
55
src/not_cloud/zcl_excel_converter_result.clas.abap
Normal file
55
src/not_cloud/zcl_excel_converter_result.clas.abap
Normal file
|
@ -0,0 +1,55 @@
|
|||
CLASS zcl_excel_converter_result DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM zcl_excel_converter_alv
|
||||
ABSTRACT
|
||||
CREATE PUBLIC .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_CONVERTER_RESULT
|
||||
*"* do not include other source files here!!!
|
||||
PUBLIC SECTION.
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_RESULT
|
||||
*"* do not include other source files here!!!
|
||||
PROTECTED SECTION.
|
||||
|
||||
METHODS get_table
|
||||
IMPORTING
|
||||
!io_object TYPE REF TO object
|
||||
RETURNING
|
||||
VALUE(ro_data) TYPE REF TO data .
|
||||
*"* private components of class ZCL_EXCEL_CONVERTER_RESULT
|
||||
*"* do not include other source files here!!!
|
||||
*"* private components of class ZCL_EXCEL_CONVERTER_RESULT
|
||||
*"* do not include other source files here!!!
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS zcl_excel_converter_result IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD get_table.
|
||||
DATA: lo_object TYPE REF TO object,
|
||||
ls_seoclass TYPE seoclass,
|
||||
l_method TYPE string.
|
||||
|
||||
SELECT SINGLE * INTO ls_seoclass
|
||||
FROM seoclass
|
||||
WHERE clsname = 'IF_SALV_BS_DATA_SOURCE'.
|
||||
|
||||
IF sy-subrc = 0.
|
||||
l_method = 'GET_TABLE_REF'.
|
||||
lo_object ?= io_object.
|
||||
CALL METHOD lo_object->(l_method)
|
||||
RECEIVING
|
||||
value = ro_data.
|
||||
ELSE.
|
||||
l_method = 'GET_REF_TO_TABLE'.
|
||||
lo_object ?= io_object.
|
||||
CALL METHOD lo_object->(l_method)
|
||||
RECEIVING
|
||||
value = ro_data.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -4,30 +4,19 @@
|
|||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>ZCL_EXCEL_CONVERTER_RESULT</CLSNAME>
|
||||
<VERSION>1</VERSION>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Result object for table reference</DESCRIPT>
|
||||
<EXPOSURE>2</EXPOSURE>
|
||||
<STATE>1</STATE>
|
||||
<CLSABSTRCT>X</CLSABSTRCT>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
<TPOOL/>
|
||||
<DESCRIPTIONS>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_CONVERTER_RESULT</CLSNAME>
|
||||
<CMPNAME>GET_TABLE</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Get table</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_CONVERTER_RESULT</CLSNAME>
|
||||
<CMPNAME>GET_TABLE</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Get table</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
</DESCRIPTIONS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
97
src/not_cloud/zcl_excel_converter_result_ex.clas.abap
Normal file
97
src/not_cloud/zcl_excel_converter_result_ex.clas.abap
Normal file
|
@ -0,0 +1,97 @@
|
|||
CLASS zcl_excel_converter_result_ex DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM zcl_excel_converter_result
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_CONVERTER_RESULT_EX
|
||||
*"* do not include other source files here!!!
|
||||
PUBLIC SECTION.
|
||||
|
||||
METHODS zif_excel_converter~can_convert_object
|
||||
REDEFINITION .
|
||||
METHODS zif_excel_converter~create_fieldcatalog
|
||||
REDEFINITION .
|
||||
METHODS zif_excel_converter~get_supported_class
|
||||
REDEFINITION .
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_RESULT_EX
|
||||
*"* do not include other source files here!!!
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_RESULT_EX
|
||||
*"* do not include other source files here!!!
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_RESULT_EX
|
||||
*"* do not include other source files here!!!
|
||||
PROTECTED SECTION.
|
||||
*"* private components of class ZCL_EXCEL_CONVERTER_EX_RESULT
|
||||
*"* do not include other source files here!!!
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS zcl_excel_converter_result_ex IMPLEMENTATION.
|
||||
|
||||
METHOD zif_excel_converter~get_supported_class.
|
||||
rv_supported_class = 'CL_SALV_EX_RESULT_DATA_TABLE'.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_excel_converter~can_convert_object.
|
||||
|
||||
DATA: lo_result TYPE REF TO cl_salv_ex_result_data_table.
|
||||
|
||||
TRY.
|
||||
lo_result ?= io_object.
|
||||
CATCH cx_sy_move_cast_error .
|
||||
RAISE EXCEPTION TYPE zcx_excel.
|
||||
ENDTRY.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_excel_converter~create_fieldcatalog.
|
||||
DATA: lo_result TYPE REF TO cl_salv_ex_result_data_table,
|
||||
lo_ex_cm TYPE REF TO cl_salv_ex_cm,
|
||||
lo_data TYPE REF TO data.
|
||||
|
||||
FIELD-SYMBOLS: <fs_table> TYPE STANDARD TABLE.
|
||||
|
||||
zif_excel_converter~can_convert_object( io_object = io_object ).
|
||||
|
||||
ws_option = is_option.
|
||||
|
||||
lo_result ?= io_object.
|
||||
|
||||
CLEAR: es_layout,
|
||||
et_fieldcatalog.
|
||||
|
||||
IF lo_result IS BOUND.
|
||||
lo_data = get_table( io_object = lo_result->r_model->r_data ).
|
||||
IF lo_data IS BOUND.
|
||||
ASSIGN lo_data->* TO <fs_table> .
|
||||
|
||||
lo_ex_cm ?= lo_result->r_model->r_model.
|
||||
ws_layo = lo_ex_cm->s_layo.
|
||||
* T_DRDN Instance Attribute Public Type LVC_T_DROP
|
||||
wt_fcat = lo_ex_cm->t_fcat.
|
||||
wt_filt = lo_ex_cm->t_filt.
|
||||
* T_HYPE Instance Attribute Public Type LVC_T_HYPE
|
||||
* T_SELECTED_CELLS Instance Attribute Public Type LVC_T_CELL
|
||||
* T_SELECTED_COLUMNS Instance Attribute Public Type LVC_T_COL
|
||||
wt_sort = lo_ex_cm->t_sort.
|
||||
|
||||
apply_sort( EXPORTING it_table = <fs_table>
|
||||
IMPORTING eo_table = eo_table ) .
|
||||
|
||||
get_color( EXPORTING io_table = eo_table
|
||||
IMPORTING et_colors = et_colors ) .
|
||||
|
||||
get_filter( IMPORTING et_filter = et_filter
|
||||
CHANGING xo_table = eo_table ) .
|
||||
|
||||
update_catalog( CHANGING cs_layout = es_layout
|
||||
ct_fieldcatalog = et_fieldcatalog ).
|
||||
ELSE.
|
||||
* We have a problem and should stop here.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -4,17 +4,13 @@
|
|||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>ZCL_EXCEL_CONVERTER_RESULT_EX</CLSNAME>
|
||||
<VERSION>1</VERSION>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>SALV - ALV converter for export</DESCRIPT>
|
||||
<EXPOSURE>2</EXPOSURE>
|
||||
<STATE>1</STATE>
|
||||
<CLSFINAL>X</CLSFINAL>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
<TPOOL/>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
250
src/not_cloud/zcl_excel_converter_result_wd.clas.abap
Normal file
250
src/not_cloud/zcl_excel_converter_result_wd.clas.abap
Normal file
|
@ -0,0 +1,250 @@
|
|||
CLASS zcl_excel_converter_result_wd DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM zcl_excel_converter_result
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_CONVERTER_RESULT_WD
|
||||
*"* do not include other source files here!!!
|
||||
PUBLIC SECTION.
|
||||
|
||||
METHODS zif_excel_converter~can_convert_object
|
||||
REDEFINITION .
|
||||
METHODS zif_excel_converter~create_fieldcatalog
|
||||
REDEFINITION .
|
||||
METHODS zif_excel_converter~get_supported_class
|
||||
REDEFINITION .
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_RESULT_WD
|
||||
*"* do not include other source files here!!!
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_RESULT_WD
|
||||
*"* do not include other source files here!!!
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_RESULT_WD
|
||||
*"* do not include other source files here!!!
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
|
||||
DATA wo_config TYPE REF TO cl_salv_wd_config_table .
|
||||
DATA wt_fields TYPE salv_wd_t_field_ref .
|
||||
DATA wt_columns TYPE salv_wd_t_column_ref .
|
||||
|
||||
METHODS get_columns_info
|
||||
CHANGING
|
||||
!xs_fcat TYPE lvc_s_fcat .
|
||||
METHODS get_fields_info
|
||||
CHANGING
|
||||
!xs_fcat TYPE lvc_s_fcat .
|
||||
METHODS create_wt_sort .
|
||||
METHODS create_wt_filt .
|
||||
METHODS create_wt_fcat
|
||||
IMPORTING
|
||||
!io_table TYPE REF TO data .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS zcl_excel_converter_result_wd IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD create_wt_fcat.
|
||||
DATA: lr_data TYPE REF TO data,
|
||||
lo_structdescr TYPE REF TO cl_abap_structdescr,
|
||||
lt_dfies TYPE ddfields,
|
||||
ls_dfies TYPE dfies.
|
||||
|
||||
DATA: ls_fcat TYPE lvc_s_fcat.
|
||||
|
||||
FIELD-SYMBOLS: <fs_tab> TYPE ANY TABLE.
|
||||
|
||||
ASSIGN io_table->* TO <fs_tab> .
|
||||
CREATE DATA lr_data LIKE LINE OF <fs_tab>.
|
||||
|
||||
lo_structdescr ?= cl_abap_structdescr=>describe_by_data_ref( lr_data ).
|
||||
|
||||
lt_dfies = zcl_excel_common=>describe_structure( io_struct = lo_structdescr ).
|
||||
|
||||
LOOP AT lt_dfies INTO ls_dfies.
|
||||
MOVE-CORRESPONDING ls_dfies TO ls_fcat.
|
||||
ls_fcat-col_pos = ls_dfies-position.
|
||||
ls_fcat-key = ls_dfies-keyflag.
|
||||
get_fields_info( CHANGING xs_fcat = ls_fcat ) .
|
||||
|
||||
ls_fcat-col_opt = abap_true.
|
||||
|
||||
get_columns_info( CHANGING xs_fcat = ls_fcat ) .
|
||||
|
||||
INSERT ls_fcat INTO TABLE wt_fcat.
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD create_wt_filt.
|
||||
* No neeed for superclass.
|
||||
* Only for WD
|
||||
DATA: lt_filters TYPE salv_wd_t_filter_rule_ref,
|
||||
ls_filt TYPE lvc_s_filt.
|
||||
|
||||
FIELD-SYMBOLS: <fs_fields> TYPE salv_wd_s_field_ref,
|
||||
<fs_filter> TYPE salv_wd_s_filter_rule_ref.
|
||||
|
||||
LOOP AT wt_fields ASSIGNING <fs_fields>.
|
||||
CLEAR lt_filters.
|
||||
lt_filters = <fs_fields>-r_field->if_salv_wd_filter~get_filter_rules( ) .
|
||||
LOOP AT lt_filters ASSIGNING <fs_filter>.
|
||||
ls_filt-fieldname = <fs_fields>-fieldname.
|
||||
IF <fs_filter>-r_filter_rule->get_included( ) = abap_true.
|
||||
ls_filt-sign = 'I'.
|
||||
ELSE.
|
||||
ls_filt-sign = 'E'.
|
||||
ENDIF.
|
||||
ls_filt-option = <fs_filter>-r_filter_rule->get_operator( ).
|
||||
ls_filt-high = <fs_filter>-r_filter_rule->get_high_value( ) .
|
||||
ls_filt-low = <fs_filter>-r_filter_rule->get_low_value( ) .
|
||||
INSERT ls_filt INTO TABLE wt_filt.
|
||||
ENDLOOP.
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD create_wt_sort.
|
||||
DATA: lo_sort TYPE REF TO cl_salv_wd_sort_rule,
|
||||
l_sort_order TYPE salv_wd_constant,
|
||||
ls_sort TYPE lvc_s_sort.
|
||||
|
||||
FIELD-SYMBOLS: <fs_fields> TYPE salv_wd_s_field_ref.
|
||||
|
||||
LOOP AT wt_fields ASSIGNING <fs_fields>.
|
||||
lo_sort = <fs_fields>-r_field->if_salv_wd_sort~get_sort_rule( ) .
|
||||
IF lo_sort IS BOUND.
|
||||
l_sort_order = lo_sort->get_sort_order( ).
|
||||
IF l_sort_order <> if_salv_wd_c_sort=>sort_order.
|
||||
CLEAR ls_sort.
|
||||
ls_sort-spos = lo_sort->get_sort_position( ).
|
||||
ls_sort-fieldname = <fs_fields>-fieldname.
|
||||
ls_sort-subtot = lo_sort->get_group_aggregation( ).
|
||||
IF l_sort_order = if_salv_wd_c_sort=>sort_order_ascending.
|
||||
ls_sort-up = abap_true.
|
||||
ELSE.
|
||||
ls_sort-down = abap_true.
|
||||
ENDIF.
|
||||
INSERT ls_sort INTO TABLE wt_sort.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_columns_info.
|
||||
DATA: l_numc2 TYPE salv_wd_constant.
|
||||
|
||||
|
||||
FIELD-SYMBOLS: <fs_column> TYPE salv_wd_s_column_ref.
|
||||
|
||||
READ TABLE wt_columns ASSIGNING <fs_column> WITH KEY id = xs_fcat-fieldname .
|
||||
IF sy-subrc = 0.
|
||||
xs_fcat-col_pos = <fs_column>-r_column->get_position( ) .
|
||||
l_numc2 = <fs_column>-r_column->get_fixed_position( ).
|
||||
IF l_numc2 = '02'.
|
||||
xs_fcat-fix_column = abap_true .
|
||||
ENDIF.
|
||||
l_numc2 = <fs_column>-r_column->get_visible( ).
|
||||
IF l_numc2 = '01'.
|
||||
xs_fcat-no_out = abap_true .
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_fields_info.
|
||||
DATA: lo_aggr TYPE REF TO cl_salv_wd_aggr_rule,
|
||||
l_aggrtype TYPE salv_wd_constant.
|
||||
|
||||
FIELD-SYMBOLS: <fs_fields> TYPE salv_wd_s_field_ref.
|
||||
|
||||
READ TABLE wt_fields ASSIGNING <fs_fields> WITH KEY fieldname = xs_fcat-fieldname.
|
||||
IF sy-subrc = 0.
|
||||
lo_aggr = <fs_fields>-r_field->if_salv_wd_aggr~get_aggr_rule( ) .
|
||||
IF lo_aggr IS BOUND.
|
||||
l_aggrtype = lo_aggr->get_aggregation_type( ) .
|
||||
CASE l_aggrtype.
|
||||
WHEN if_salv_wd_c_aggregation=>aggrtype_total.
|
||||
xs_fcat-do_sum = abap_true.
|
||||
WHEN if_salv_wd_c_aggregation=>aggrtype_minimum.
|
||||
xs_fcat-do_sum = 'A'.
|
||||
WHEN if_salv_wd_c_aggregation=>aggrtype_maximum .
|
||||
xs_fcat-do_sum = 'B'.
|
||||
WHEN if_salv_wd_c_aggregation=>aggrtype_average .
|
||||
xs_fcat-do_sum = 'C'.
|
||||
WHEN OTHERS.
|
||||
CLEAR xs_fcat-do_sum .
|
||||
ENDCASE.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_excel_converter~get_supported_class.
|
||||
rv_supported_class = 'CL_SALV_WD_RESULT_DATA_TABLE'.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_excel_converter~can_convert_object.
|
||||
|
||||
DATA: lo_result TYPE REF TO cl_salv_wd_result_data_table.
|
||||
|
||||
TRY.
|
||||
lo_result ?= io_object.
|
||||
CATCH cx_sy_move_cast_error .
|
||||
RAISE EXCEPTION TYPE zcx_excel.
|
||||
ENDTRY.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_excel_converter~create_fieldcatalog.
|
||||
DATA: lo_result TYPE REF TO cl_salv_wd_result_data_table,
|
||||
lo_data TYPE REF TO data.
|
||||
|
||||
FIELD-SYMBOLS: <fs_table> TYPE STANDARD TABLE.
|
||||
|
||||
zif_excel_converter~can_convert_object( io_object = io_object ).
|
||||
|
||||
ws_option = is_option.
|
||||
|
||||
lo_result ?= io_object.
|
||||
|
||||
CLEAR: es_layout,
|
||||
et_fieldcatalog.
|
||||
|
||||
IF lo_result IS BOUND.
|
||||
lo_data = get_table( io_object = lo_result->r_model->r_data ).
|
||||
IF lo_data IS BOUND.
|
||||
ASSIGN lo_data->* TO <fs_table> .
|
||||
|
||||
wo_config ?= lo_result->r_model->r_model.
|
||||
|
||||
IF wo_config IS BOUND.
|
||||
wt_fields = wo_config->if_salv_wd_field_settings~get_fields( ) .
|
||||
wt_columns = wo_config->if_salv_wd_column_settings~get_columns( ) .
|
||||
ENDIF.
|
||||
|
||||
create_wt_fcat( io_table = lo_data ).
|
||||
create_wt_sort( ).
|
||||
create_wt_filt( ).
|
||||
|
||||
apply_sort( EXPORTING it_table = <fs_table>
|
||||
IMPORTING eo_table = eo_table ) .
|
||||
|
||||
get_filter( IMPORTING et_filter = et_filter
|
||||
CHANGING xo_table = eo_table ) .
|
||||
|
||||
update_catalog( CHANGING cs_layout = es_layout
|
||||
ct_fieldcatalog = et_fieldcatalog ).
|
||||
ELSE.
|
||||
* We have a problem and should stop here
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
58
src/not_cloud/zcl_excel_converter_result_wd.clas.xml
Normal file
58
src/not_cloud/zcl_excel_converter_result_wd.clas.xml
Normal file
|
@ -0,0 +1,58 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>ZCL_EXCEL_CONVERTER_RESULT_WD</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>SALV converter for web dynpro</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
<DESCRIPTIONS>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>CREATE_WT_FCAT</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create wt_fcat for WD interface</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>CREATE_WT_FILT</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create wt_filt for WD interface</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>CREATE_WT_SORT</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create wt_sort for WD interface</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>GET_COLUMNS_INFO</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Read data from WD columns object</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>GET_FIELDS_INFO</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Get aggregation from field table</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>WO_CONFIG</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Configuration of the ALV Output</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>WT_COLUMNS</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>SALV_WD_T_COLUMN_REF</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CMPNAME>WT_FIELDS</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>SALV_WD_T_FIELD_REF</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
</DESCRIPTIONS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
39
src/not_cloud/zcl_excel_converter_salv_model.clas.abap
Normal file
39
src/not_cloud/zcl_excel_converter_salv_model.clas.abap
Normal file
|
@ -0,0 +1,39 @@
|
|||
CLASS zcl_excel_converter_salv_model DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM cl_salv_model
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS is_get_metadata_callable
|
||||
IMPORTING
|
||||
io_salv TYPE REF TO cl_salv_table
|
||||
RETURNING
|
||||
VALUE(result) TYPE abap_bool.
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS zcl_excel_converter_salv_model IMPLEMENTATION.
|
||||
|
||||
METHOD is_get_metadata_callable.
|
||||
DATA: lo_object TYPE REF TO object,
|
||||
lo_model TYPE REF TO cl_salv_model.
|
||||
|
||||
" In 7.52 and older versions, we have a short dump with CL_SALV_TABLE->GET_METADATA if the ALV is not displayed
|
||||
" (due to io_salv->r_controller->r_adapter not instantiated yet). That's later fixed by SAP (no short dump in 7.57).
|
||||
" NB: r_controller is always instantiated.
|
||||
lo_object = io_salv.
|
||||
TRY.
|
||||
lo_model ?= lo_object.
|
||||
CATCH cx_sy_move_cast_error.
|
||||
" In 7.57, CL_SALV_TABLE is no more a subclass of CL_SALV_MODEL, but CL_SALV_TABLE->GET_METADATA can be called.
|
||||
result = abap_true.
|
||||
RETURN.
|
||||
ENDTRY.
|
||||
result = boolc( lo_model->r_controller->r_adapter IS BOUND ).
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -3,18 +3,14 @@
|
|||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>ZCL_EXCEL_CUSTOMUI</CLSNAME>
|
||||
<VERSION>1</VERSION>
|
||||
<CLSNAME>ZCL_EXCEL_CONVERTER_SALV_MODEL</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Excel customUI</DESCRIPT>
|
||||
<EXPOSURE>2</EXPOSURE>
|
||||
<DESCRIPT>SALV model utility methods</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSFINAL>X</CLSFINAL>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
<TPOOL/>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
273
src/not_cloud/zcl_excel_converter_salv_table.clas.abap
Normal file
273
src/not_cloud/zcl_excel_converter_salv_table.clas.abap
Normal file
|
@ -0,0 +1,273 @@
|
|||
CLASS zcl_excel_converter_salv_table DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM zcl_excel_converter_alv
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_CONVERTER_SALV_TABLE
|
||||
*"* do not include other source files here!!!
|
||||
PUBLIC SECTION.
|
||||
|
||||
METHODS zif_excel_converter~can_convert_object
|
||||
REDEFINITION .
|
||||
METHODS zif_excel_converter~create_fieldcatalog
|
||||
REDEFINITION .
|
||||
METHODS zif_excel_converter~get_supported_class
|
||||
REDEFINITION .
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_SALV_TABLE
|
||||
*"* do not include other source files here!!!
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_SALV_TABLE
|
||||
*"* do not include other source files here!!!
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_SALV_TABLE
|
||||
*"* do not include other source files here!!!
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
|
||||
METHODS load_data
|
||||
IMPORTING
|
||||
!io_salv TYPE REF TO cl_salv_table
|
||||
!it_table TYPE STANDARD TABLE .
|
||||
METHODS is_intercept_data_active
|
||||
RETURNING
|
||||
VALUE(rv_result) TYPE abap_bool.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS zcl_excel_converter_salv_table IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD load_data.
|
||||
DATA: lo_columns TYPE REF TO cl_salv_columns_table,
|
||||
lo_aggregations TYPE REF TO cl_salv_aggregations,
|
||||
lo_sorts TYPE REF TO cl_salv_sorts,
|
||||
lo_filters TYPE REF TO cl_salv_filters,
|
||||
lo_functional TYPE REF TO cl_salv_functional_settings,
|
||||
lo_display TYPE REF TO cl_salv_display_settings.
|
||||
|
||||
DATA: ls_vari TYPE disvariant,
|
||||
lo_layout TYPE REF TO cl_salv_layout.
|
||||
|
||||
DATA lt_kkblo_fieldcat TYPE kkblo_t_fieldcat.
|
||||
DATA ls_kkblo_layout TYPE kkblo_layout.
|
||||
DATA lt_kkblo_filter TYPE kkblo_t_filter.
|
||||
DATA lt_kkblo_sort TYPE kkblo_t_sortinfo.
|
||||
DATA: lv_intercept_data_active TYPE abap_bool,
|
||||
ls_layout_key TYPE salv_s_layout_key.
|
||||
|
||||
lo_layout = io_salv->get_layout( ) .
|
||||
lo_columns = io_salv->get_columns( ).
|
||||
lo_aggregations = io_salv->get_aggregations( ) .
|
||||
lo_sorts = io_salv->get_sorts( ) .
|
||||
lo_filters = io_salv->get_filters( ) .
|
||||
lo_display = io_salv->get_display_settings( ) .
|
||||
lo_functional = io_salv->get_functional_settings( ) .
|
||||
|
||||
CLEAR: wt_fcat, wt_sort, wt_filt.
|
||||
|
||||
lv_intercept_data_active = is_intercept_data_active( ).
|
||||
|
||||
* First update metadata if we can.
|
||||
IF io_salv->is_offline( ) = abap_false.
|
||||
IF lv_intercept_data_active = abap_true.
|
||||
ls_layout_key = lo_layout->get_key( ).
|
||||
ls_vari-report = ls_layout_key-report.
|
||||
ls_vari-handle = ls_layout_key-handle.
|
||||
ls_vari-log_group = ls_layout_key-logical_group.
|
||||
ls_vari-variant = lo_layout->get_initial_layout( ).
|
||||
ELSE.
|
||||
IF zcl_excel_converter_salv_model=>is_get_metadata_callable( io_salv ) = abap_true.
|
||||
io_salv->get_metadata( ) .
|
||||
ELSE.
|
||||
" (do same as offline below)
|
||||
cl_salv_controller_metadata=>get_variant(
|
||||
EXPORTING
|
||||
r_layout = lo_layout
|
||||
CHANGING
|
||||
s_variant = ls_vari ).
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ELSE.
|
||||
* If we are offline we need to build this.
|
||||
cl_salv_controller_metadata=>get_variant(
|
||||
EXPORTING
|
||||
r_layout = lo_layout
|
||||
CHANGING
|
||||
s_variant = ls_vari ).
|
||||
ENDIF.
|
||||
|
||||
*... get the column information
|
||||
wt_fcat = cl_salv_controller_metadata=>get_lvc_fieldcatalog(
|
||||
r_columns = lo_columns
|
||||
r_aggregations = lo_aggregations ).
|
||||
|
||||
*... get the layout information
|
||||
cl_salv_controller_metadata=>get_lvc_layout(
|
||||
EXPORTING
|
||||
r_functional_settings = lo_functional
|
||||
r_display_settings = lo_display
|
||||
r_columns = lo_columns
|
||||
r_aggregations = lo_aggregations
|
||||
CHANGING
|
||||
s_layout = ws_layo ).
|
||||
|
||||
* the fieldcatalog is not complete yet!
|
||||
CALL FUNCTION 'LVC_FIELDCAT_COMPLETE'
|
||||
EXPORTING
|
||||
i_complete = 'X'
|
||||
i_refresh_buffer = space
|
||||
i_buffer_active = space
|
||||
is_layout = ws_layo
|
||||
i_test = '1'
|
||||
i_fcat_complete = 'X'
|
||||
IMPORTING
|
||||
es_layout = ws_layo
|
||||
CHANGING
|
||||
ct_fieldcat = wt_fcat.
|
||||
|
||||
IF ls_vari IS NOT INITIAL AND
|
||||
( io_salv->is_offline( ) = abap_true
|
||||
OR lv_intercept_data_active = abap_true ).
|
||||
CALL FUNCTION 'LVC_TRANSFER_TO_KKBLO'
|
||||
EXPORTING
|
||||
it_fieldcat_lvc = wt_fcat
|
||||
is_layout_lvc = ws_layo
|
||||
IMPORTING
|
||||
et_fieldcat_kkblo = lt_kkblo_fieldcat
|
||||
es_layout_kkblo = ls_kkblo_layout
|
||||
TABLES
|
||||
it_data = it_table
|
||||
EXCEPTIONS
|
||||
it_data_missing = 1
|
||||
it_fieldcat_lvc_missing = 2
|
||||
OTHERS = 3.
|
||||
IF sy-subrc <> 0.
|
||||
ENDIF.
|
||||
|
||||
CALL FUNCTION 'LT_VARIANT_LOAD'
|
||||
EXPORTING
|
||||
i_tabname = '1'
|
||||
i_dialog = ' '
|
||||
i_user_specific = 'X'
|
||||
i_fcat_complete = 'X'
|
||||
IMPORTING
|
||||
et_fieldcat = lt_kkblo_fieldcat
|
||||
et_sort = lt_kkblo_sort
|
||||
et_filter = lt_kkblo_filter
|
||||
CHANGING
|
||||
cs_layout = ls_kkblo_layout
|
||||
ct_default_fieldcat = lt_kkblo_fieldcat
|
||||
cs_variant = ls_vari
|
||||
EXCEPTIONS
|
||||
wrong_input = 1
|
||||
fc_not_complete = 2
|
||||
not_found = 3
|
||||
OTHERS = 4.
|
||||
IF sy-subrc <> 0.
|
||||
ENDIF.
|
||||
|
||||
CALL FUNCTION 'LVC_TRANSFER_FROM_KKBLO'
|
||||
EXPORTING
|
||||
it_fieldcat_kkblo = lt_kkblo_fieldcat
|
||||
it_sort_kkblo = lt_kkblo_sort
|
||||
it_filter_kkblo = lt_kkblo_filter
|
||||
is_layout_kkblo = ls_kkblo_layout
|
||||
IMPORTING
|
||||
et_fieldcat_lvc = wt_fcat
|
||||
et_sort_lvc = wt_sort
|
||||
et_filter_lvc = wt_filt
|
||||
es_layout_lvc = ws_layo
|
||||
TABLES
|
||||
it_data = it_table
|
||||
EXCEPTIONS
|
||||
it_data_missing = 1
|
||||
OTHERS = 2.
|
||||
IF sy-subrc <> 0.
|
||||
ENDIF.
|
||||
|
||||
ELSE.
|
||||
* ... get the sort information
|
||||
wt_sort = cl_salv_controller_metadata=>get_lvc_sort( lo_sorts ).
|
||||
|
||||
* ... get the filter information
|
||||
wt_filt = cl_salv_controller_metadata=>get_lvc_filter( lo_filters ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_excel_converter~get_supported_class.
|
||||
rv_supported_class = 'CL_SALV_TABLE'.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_excel_converter~can_convert_object.
|
||||
|
||||
DATA: lo_salv TYPE REF TO cl_salv_table.
|
||||
|
||||
TRY.
|
||||
lo_salv ?= io_object.
|
||||
CATCH cx_sy_move_cast_error .
|
||||
RAISE EXCEPTION TYPE zcx_excel.
|
||||
ENDTRY.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_excel_converter~create_fieldcatalog.
|
||||
DATA: lo_salv TYPE REF TO cl_salv_table.
|
||||
|
||||
zif_excel_converter~can_convert_object( io_object = io_object ).
|
||||
|
||||
ws_option = is_option.
|
||||
|
||||
lo_salv ?= io_object.
|
||||
|
||||
CLEAR: es_layout,
|
||||
et_fieldcatalog,
|
||||
et_colors .
|
||||
|
||||
IF lo_salv IS BOUND.
|
||||
load_data( EXPORTING io_salv = lo_salv
|
||||
it_table = it_table ).
|
||||
apply_sort( EXPORTING it_table = it_table
|
||||
IMPORTING eo_table = eo_table ) .
|
||||
|
||||
get_color( EXPORTING io_table = eo_table
|
||||
IMPORTING et_colors = et_colors ) .
|
||||
|
||||
get_filter( IMPORTING et_filter = et_filter
|
||||
CHANGING xo_table = eo_table ) .
|
||||
|
||||
update_catalog( CHANGING cs_layout = es_layout
|
||||
ct_fieldcatalog = et_fieldcatalog ).
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD is_intercept_data_active.
|
||||
|
||||
DATA: lr_s_type_runtime_info TYPE REF TO data.
|
||||
FIELD-SYMBOLS: <ls_type_runtime_info> TYPE any,
|
||||
<lv_display> TYPE any,
|
||||
<lv_data> TYPE any.
|
||||
|
||||
rv_result = abap_false.
|
||||
TRY.
|
||||
CREATE DATA lr_s_type_runtime_info TYPE ('CL_SALV_BS_RUNTIME_INFO=>S_TYPE_RUNTIME_INFO').
|
||||
ASSIGN lr_s_type_runtime_info->* TO <ls_type_runtime_info>.
|
||||
CALL METHOD ('CL_SALV_BS_RUNTIME_INFO')=>('GET')
|
||||
RECEIVING
|
||||
value = <ls_type_runtime_info>.
|
||||
ASSIGN ('<LS_TYPE_RUNTIME_INFO>-DISPLAY') TO <lv_display>.
|
||||
CHECK sy-subrc = 0.
|
||||
ASSIGN ('<LS_TYPE_RUNTIME_INFO>-DATA') TO <lv_data>.
|
||||
CHECK sy-subrc = 0.
|
||||
IF <lv_display> = abap_false AND <lv_data> = abap_true.
|
||||
rv_result = abap_true.
|
||||
ENDIF.
|
||||
CATCH cx_sy_create_data_error cx_sy_dyn_call_error cx_salv_bs_sc_runtime_info.
|
||||
rv_result = abap_false.
|
||||
ENDTRY.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -4,30 +4,19 @@
|
|||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>ZCL_EXCEL_CONVERTER_SALV_TABLE</CLSNAME>
|
||||
<VERSION>1</VERSION>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>SALV converter</DESCRIPT>
|
||||
<EXPOSURE>2</EXPOSURE>
|
||||
<STATE>1</STATE>
|
||||
<CLSFINAL>X</CLSFINAL>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
<TPOOL/>
|
||||
<DESCRIPTIONS>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_CONVERTER_SALV_TABLE</CLSNAME>
|
||||
<CMPNAME>LOAD_DATA</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Fill internal layout tables</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_CONVERTER_SALV_TABLE</CLSNAME>
|
||||
<CMPNAME>LOAD_DATA</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Fill internal layout tables</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
</DESCRIPTIONS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
2091
src/not_cloud/zcl_excel_ole.clas.abap
Normal file
2091
src/not_cloud/zcl_excel_ole.clas.abap
Normal file
File diff suppressed because it is too large
Load Diff
|
@ -1,8 +1,7 @@
|
|||
*"* use this source file for any type declarations (class
|
||||
*"* definitions, interfaces or data types) you need for method
|
||||
*"* implementation or private method's signature
|
||||
TYPE-POOLS: sydes.
|
||||
TYPE-POOLS: slis.
|
||||
*"* use this source file for any type of declarations (class
|
||||
*"* definitions, interfaces or type declarations) you need for
|
||||
*"* components in the private section
|
||||
|
||||
*--------------------------------------------------------------------*
|
||||
* CLASS c_oi_proxy_error
|
||||
*--------------------------------------------------------------------*
|
|
@ -1,6 +1,6 @@
|
|||
*"* local class implementation for public class
|
||||
*"* use this source file for the implementation part of
|
||||
*"* local helper classes
|
||||
*"* use this source file for the definition and implementation of
|
||||
*"* local helper classes, interface definitions and type
|
||||
*"* declarations
|
||||
|
||||
*&---------------------------------------------------------------------*
|
||||
*& Class (Implementation) C_OI_PROXY_ERROR
|
|
@ -3,18 +3,14 @@
|
|||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>ZCL_EXCEL_CUSTOMUI_BUTTON</CLSNAME>
|
||||
<VERSION>1</VERSION>
|
||||
<CLSNAME>ZCL_EXCEL_OLE</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Excel customUI Button</DESCRIPT>
|
||||
<EXPOSURE>2</EXPOSURE>
|
||||
<DESCRIPT>OLE processing (including DOI)</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSFINAL>X</CLSFINAL>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
<TPOOL/>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -3,22 +3,22 @@
|
|||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<DD04V>
|
||||
<ROLLNAME>ZEXCEL_PROTECTION</ROLLNAME>
|
||||
<ROLLNAME>ZEXCEL_COLUMN_ID</ROLLNAME>
|
||||
<DDLANGUAGE>E</DDLANGUAGE>
|
||||
<DOMNAME>CHAR20</DOMNAME>
|
||||
<HEADLEN>20</HEADLEN>
|
||||
<HEADLEN>30</HEADLEN>
|
||||
<SCRLEN1>10</SCRLEN1>
|
||||
<SCRLEN2>15</SCRLEN2>
|
||||
<SCRLEN3>20</SCRLEN3>
|
||||
<DDTEXT>Protection</DDTEXT>
|
||||
<REPTEXT>Protection</REPTEXT>
|
||||
<SCRTEXT_S>Protection</SCRTEXT_S>
|
||||
<SCRTEXT_M>Protection</SCRTEXT_M>
|
||||
<SCRTEXT_L>Protection</SCRTEXT_L>
|
||||
<DTELMASTER>E</DTELMASTER>
|
||||
<REFKIND>D</REFKIND>
|
||||
<DDTEXT>ALV control: Column ID</DDTEXT>
|
||||
<REPTEXT>Column ID</REPTEXT>
|
||||
<SCRTEXT_S>Column ID</SCRTEXT_S>
|
||||
<SCRTEXT_M>Column ID</SCRTEXT_M>
|
||||
<SCRTEXT_L>Column ID</SCRTEXT_L>
|
||||
<DTELMASTER>D</DTELMASTER>
|
||||
<DATATYPE>INT4</DATATYPE>
|
||||
<LENG>000010</LENG>
|
||||
<OUTPUTLEN>000011</OUTPUTLEN>
|
||||
</DD04V>
|
||||
<TPARA/>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
26
src/not_cloud/zexcel_component_position.dtel.xml
Normal file
26
src/not_cloud/zexcel_component_position.dtel.xml
Normal file
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DTEL" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<DD04V>
|
||||
<ROLLNAME>ZEXCEL_COMPONENT_POSITION</ROLLNAME>
|
||||
<DDLANGUAGE>E</DDLANGUAGE>
|
||||
<HEADLEN>06</HEADLEN>
|
||||
<SCRLEN1>10</SCRLEN1>
|
||||
<SCRLEN2>15</SCRLEN2>
|
||||
<SCRLEN3>20</SCRLEN3>
|
||||
<DDTEXT>Position of the field in the table</DDTEXT>
|
||||
<REPTEXT>TabPos</REPTEXT>
|
||||
<SCRTEXT_S>Table pos.</SCRTEXT_S>
|
||||
<SCRTEXT_M>Table position</SCRTEXT_M>
|
||||
<SCRTEXT_L>Table position</SCRTEXT_L>
|
||||
<APPLCLASS>SDIC</APPLCLASS>
|
||||
<AUTHCLASS>01</AUTHCLASS>
|
||||
<DTELMASTER>D</DTELMASTER>
|
||||
<DATATYPE>NUMC</DATATYPE>
|
||||
<LENG>000004</LENG>
|
||||
<OUTPUTLEN>000004</OUTPUTLEN>
|
||||
</DD04V>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
17
src/not_cloud/zexcel_convexit.doma.xml
Normal file
17
src/not_cloud/zexcel_convexit.doma.xml
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DOMA" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<DD01V>
|
||||
<DOMNAME>ZEXCEL_CONVEXIT</DOMNAME>
|
||||
<DDLANGUAGE>E</DDLANGUAGE>
|
||||
<DATATYPE>CHAR</DATATYPE>
|
||||
<LENG>000005</LENG>
|
||||
<OUTPUTLEN>000005</OUTPUTLEN>
|
||||
<DDTEXT>Conversion routine</DDTEXT>
|
||||
<APPLCLASS>SDIC</APPLCLASS>
|
||||
<AUTHCLASS>01</AUTHCLASS>
|
||||
</DD01V>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
25
src/not_cloud/zexcel_convexit.dtel.xml
Normal file
25
src/not_cloud/zexcel_convexit.dtel.xml
Normal file
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DTEL" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<DD04V>
|
||||
<ROLLNAME>ZEXCEL_CONVEXIT</ROLLNAME>
|
||||
<DDLANGUAGE>E</DDLANGUAGE>
|
||||
<DOMNAME>ZEXCEL_CONVEXIT</DOMNAME>
|
||||
<HEADLEN>30</HEADLEN>
|
||||
<SCRLEN1>10</SCRLEN1>
|
||||
<SCRLEN2>15</SCRLEN2>
|
||||
<SCRLEN3>20</SCRLEN3>
|
||||
<DDTEXT>Conversion Routine</DDTEXT>
|
||||
<REPTEXT>Conversion Routine</REPTEXT>
|
||||
<SCRTEXT_S>Conv.Rout.</SCRTEXT_S>
|
||||
<SCRTEXT_M>Convers. Rout.</SCRTEXT_M>
|
||||
<SCRTEXT_L>Conversion Routine</SCRTEXT_L>
|
||||
<APPLCLASS>SDIC</APPLCLASS>
|
||||
<AUTHCLASS>01</AUTHCLASS>
|
||||
<DTELMASTER>D</DTELMASTER>
|
||||
<REFKIND>D</REFKIND>
|
||||
</DD04V>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -3,28 +3,27 @@
|
|||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<DD01V>
|
||||
<DOMNAME>ZEXCEL_BOOLE01</DOMNAME>
|
||||
<DOMNAME>ZEXCEL_DDIC_FLAG</DOMNAME>
|
||||
<DDLANGUAGE>E</DDLANGUAGE>
|
||||
<DATATYPE>CHAR</DATATYPE>
|
||||
<LENG>000001</LENG>
|
||||
<OUTPUTLEN>000001</OUTPUTLEN>
|
||||
<VALEXI>X</VALEXI>
|
||||
<DDTEXT>XML Schema bool data type</DDTEXT>
|
||||
<DDTEXT>Flag (X or blank)</DDTEXT>
|
||||
<APPLCLASS>SDIC</APPLCLASS>
|
||||
<AUTHCLASS>01</AUTHCLASS>
|
||||
</DD01V>
|
||||
<DD07V_TAB>
|
||||
<DD07V>
|
||||
<DOMNAME>ZEXCEL_BOOLE01</DOMNAME>
|
||||
<VALPOS>0001</VALPOS>
|
||||
<DDLANGUAGE>E</DDLANGUAGE>
|
||||
<DOMVALUE_L>1</DOMVALUE_L>
|
||||
<DDTEXT>True</DDTEXT>
|
||||
<DDTEXT>Do not set flag</DDTEXT>
|
||||
</DD07V>
|
||||
<DD07V>
|
||||
<DOMNAME>ZEXCEL_BOOLE01</DOMNAME>
|
||||
<VALPOS>0002</VALPOS>
|
||||
<DDLANGUAGE>E</DDLANGUAGE>
|
||||
<DOMVALUE_L>0</DOMVALUE_L>
|
||||
<DDTEXT>False</DDTEXT>
|
||||
<DOMVALUE_L>X</DOMVALUE_L>
|
||||
<DDTEXT>Set flag</DDTEXT>
|
||||
</DD07V>
|
||||
</DD07V_TAB>
|
||||
</asx:values>
|
18
src/not_cloud/zexcel_disp_text_long.doma.xml
Normal file
18
src/not_cloud/zexcel_disp_text_long.doma.xml
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DOMA" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<DD01V>
|
||||
<DOMNAME>ZEXCEL_DISP_TEXT_LONG</DOMNAME>
|
||||
<DDLANGUAGE>E</DDLANGUAGE>
|
||||
<DATATYPE>CHAR</DATATYPE>
|
||||
<LENG>000040</LENG>
|
||||
<OUTPUTLEN>000040</OUTPUTLEN>
|
||||
<LOWERCASE>X</LOWERCASE>
|
||||
<DDTEXT>Long keyword</DDTEXT>
|
||||
<APPLCLASS>SDIC</APPLCLASS>
|
||||
<AUTHCLASS>01</AUTHCLASS>
|
||||
</DD01V>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
26
src/not_cloud/zexcel_disp_text_long.dtel.xml
Normal file
26
src/not_cloud/zexcel_disp_text_long.dtel.xml
Normal file
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DTEL" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<DD04V>
|
||||
<ROLLNAME>ZEXCEL_DISP_TEXT_LONG</ROLLNAME>
|
||||
<DDLANGUAGE>E</DDLANGUAGE>
|
||||
<DOMNAME>ZEXCEL_DISP_TEXT_LONG</DOMNAME>
|
||||
<HEADLEN>30</HEADLEN>
|
||||
<SCRLEN1>10</SCRLEN1>
|
||||
<SCRLEN2>15</SCRLEN2>
|
||||
<SCRLEN3>20</SCRLEN3>
|
||||
<DDTEXT>Long Field Label</DDTEXT>
|
||||
<REPTEXT>Long Field Label</REPTEXT>
|
||||
<SCRTEXT_S>Long</SCRTEXT_S>
|
||||
<SCRTEXT_M>Long Fld Label</SCRTEXT_M>
|
||||
<SCRTEXT_L>Long field label</SCRTEXT_L>
|
||||
<APPLCLASS>SDIC</APPLCLASS>
|
||||
<AUTHCLASS>01</AUTHCLASS>
|
||||
<DTELMASTER>D</DTELMASTER>
|
||||
<DEFFDNAME>SCRTEXT_L</DEFFDNAME>
|
||||
<REFKIND>D</REFKIND>
|
||||
</DD04V>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
18
src/not_cloud/zexcel_disp_text_medium.doma.xml
Normal file
18
src/not_cloud/zexcel_disp_text_medium.doma.xml
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DOMA" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<DD01V>
|
||||
<DOMNAME>ZEXCEL_DISP_TEXT_MEDIUM</DOMNAME>
|
||||
<DDLANGUAGE>E</DDLANGUAGE>
|
||||
<DATATYPE>CHAR</DATATYPE>
|
||||
<LENG>000020</LENG>
|
||||
<OUTPUTLEN>000020</OUTPUTLEN>
|
||||
<LOWERCASE>X</LOWERCASE>
|
||||
<DDTEXT>Medium keyword</DDTEXT>
|
||||
<APPLCLASS>SDIC</APPLCLASS>
|
||||
<AUTHCLASS>01</AUTHCLASS>
|
||||
</DD01V>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
26
src/not_cloud/zexcel_disp_text_medium.dtel.xml
Normal file
26
src/not_cloud/zexcel_disp_text_medium.dtel.xml
Normal file
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DTEL" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<DD04V>
|
||||
<ROLLNAME>ZEXCEL_DISP_TEXT_MEDIUM</ROLLNAME>
|
||||
<DDLANGUAGE>E</DDLANGUAGE>
|
||||
<DOMNAME>ZEXCEL_DISP_TEXT_MEDIUM</DOMNAME>
|
||||
<HEADLEN>30</HEADLEN>
|
||||
<SCRLEN1>10</SCRLEN1>
|
||||
<SCRLEN2>15</SCRLEN2>
|
||||
<SCRLEN3>20</SCRLEN3>
|
||||
<DDTEXT>Medium Field Label</DDTEXT>
|
||||
<REPTEXT>Medium Field Label</REPTEXT>
|
||||
<SCRTEXT_S>Medium</SCRTEXT_S>
|
||||
<SCRTEXT_M>Medium Label</SCRTEXT_M>
|
||||
<SCRTEXT_L>Medium Field Label</SCRTEXT_L>
|
||||
<APPLCLASS>SDIC</APPLCLASS>
|
||||
<AUTHCLASS>01</AUTHCLASS>
|
||||
<DTELMASTER>D</DTELMASTER>
|
||||
<DEFFDNAME>SCRTEXT_M</DEFFDNAME>
|
||||
<REFKIND>D</REFKIND>
|
||||
</DD04V>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
18
src/not_cloud/zexcel_disp_text_short.doma.xml
Normal file
18
src/not_cloud/zexcel_disp_text_short.doma.xml
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DOMA" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<DD01V>
|
||||
<DOMNAME>ZEXCEL_DISP_TEXT_SHORT</DOMNAME>
|
||||
<DDLANGUAGE>E</DDLANGUAGE>
|
||||
<DATATYPE>CHAR</DATATYPE>
|
||||
<LENG>000010</LENG>
|
||||
<OUTPUTLEN>000010</OUTPUTLEN>
|
||||
<LOWERCASE>X</LOWERCASE>
|
||||
<DDTEXT>Short keyword</DDTEXT>
|
||||
<APPLCLASS>SDIC</APPLCLASS>
|
||||
<AUTHCLASS>01</AUTHCLASS>
|
||||
</DD01V>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
26
src/not_cloud/zexcel_disp_text_short.dtel.xml
Normal file
26
src/not_cloud/zexcel_disp_text_short.dtel.xml
Normal file
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DTEL" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<DD04V>
|
||||
<ROLLNAME>ZEXCEL_DISP_TEXT_SHORT</ROLLNAME>
|
||||
<DDLANGUAGE>E</DDLANGUAGE>
|
||||
<DOMNAME>ZEXCEL_DISP_TEXT_SHORT</DOMNAME>
|
||||
<HEADLEN>30</HEADLEN>
|
||||
<SCRLEN1>10</SCRLEN1>
|
||||
<SCRLEN2>15</SCRLEN2>
|
||||
<SCRLEN3>20</SCRLEN3>
|
||||
<DDTEXT>Short Field Label</DDTEXT>
|
||||
<REPTEXT>Short field label</REPTEXT>
|
||||
<SCRTEXT_S>Short</SCRTEXT_S>
|
||||
<SCRTEXT_M>ShortFieldLabel</SCRTEXT_M>
|
||||
<SCRTEXT_L>Short field label</SCRTEXT_L>
|
||||
<APPLCLASS>SDIC</APPLCLASS>
|
||||
<AUTHCLASS>01</AUTHCLASS>
|
||||
<DTELMASTER>D</DTELMASTER>
|
||||
<DEFFDNAME>SCRTEXT_S</DEFFDNAME>
|
||||
<REFKIND>D</REFKIND>
|
||||
</DD04V>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
15
src/not_cloud/zexcel_key_color_override.dtel.xml
Normal file
15
src/not_cloud/zexcel_key_color_override.dtel.xml
Normal file
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DTEL" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<DD04V>
|
||||
<ROLLNAME>ZEXCEL_KEY_COLOR_OVERRIDE</ROLLNAME>
|
||||
<DDLANGUAGE>E</DDLANGUAGE>
|
||||
<DOMNAME>CHAR1</DOMNAME>
|
||||
<DDTEXT>ALV control: Override key color</DDTEXT>
|
||||
<DTELMASTER>D</DTELMASTER>
|
||||
<REFKIND>D</REFKIND>
|
||||
</DD04V>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -7,56 +7,41 @@
|
|||
<DDLANGUAGE>E</DDLANGUAGE>
|
||||
<TABCLASS>INTTAB</TABCLASS>
|
||||
<DDTEXT>Color information for cells</DDTEXT>
|
||||
<MASTERLANG>E</MASTERLANG>
|
||||
<EXCLASS>3</EXCLASS>
|
||||
</DD02V>
|
||||
<DD03P_TABLE>
|
||||
<DD03P>
|
||||
<TABNAME>ZEXCEL_S_CONVERTER_COL</TABNAME>
|
||||
<FIELDNAME>ROWNUMBER</FIELDNAME>
|
||||
<POSITION>0001</POSITION>
|
||||
<ROLLNAME>ZEXCEL_CELL_ROW</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<TABNAME>ZEXCEL_S_CONVERTER_COL</TABNAME>
|
||||
<FIELDNAME>COLUMNNAME</FIELDNAME>
|
||||
<POSITION>0002</POSITION>
|
||||
<ROLLNAME>FIELDNAME</ROLLNAME>
|
||||
<ROLLNAME>ZEXCEL_FIELDNAME</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<TABNAME>ZEXCEL_S_CONVERTER_COL</TABNAME>
|
||||
<FIELDNAME>FONTCOLOR</FIELDNAME>
|
||||
<POSITION>0003</POSITION>
|
||||
<ROLLNAME>ZEXCEL_STYLE_COLOR_ARGB</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<TABNAME>ZEXCEL_S_CONVERTER_COL</TABNAME>
|
||||
<FIELDNAME>FILLCOLOR</FIELDNAME>
|
||||
<POSITION>0004</POSITION>
|
||||
<ROLLNAME>ZEXCEL_STYLE_COLOR_ARGB</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<TABNAME>ZEXCEL_S_CONVERTER_COL</TABNAME>
|
||||
<FIELDNAME>NOKEYCOL</FIELDNAME>
|
||||
<POSITION>0005</POSITION>
|
||||
<ROLLNAME>LVC_NOKEYC</ROLLNAME>
|
||||
<ROLLNAME>ZEXCEL_KEY_COLOR_OVERRIDE</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
</DD03P_TABLE>
|
||||
<DD05M_TABLE/>
|
||||
<DD08V_TABLE/>
|
||||
<DD12V/>
|
||||
<DD17V/>
|
||||
<DD35V_TALE/>
|
||||
<DD36M/>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
175
src/not_cloud/zexcel_s_converter_fcat.tabl.xml
Normal file
175
src/not_cloud/zexcel_s_converter_fcat.tabl.xml
Normal file
|
@ -0,0 +1,175 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_TABL" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<DD02V>
|
||||
<TABNAME>ZEXCEL_S_CONVERTER_FCAT</TABNAME>
|
||||
<DDLANGUAGE>E</DDLANGUAGE>
|
||||
<TABCLASS>INTTAB</TABCLASS>
|
||||
<DDTEXT>Field catalog for converter</DDTEXT>
|
||||
<MASTERLANG>E</MASTERLANG>
|
||||
<EXCLASS>4</EXCLASS>
|
||||
</DD02V>
|
||||
<DD03P_TABLE>
|
||||
<DD03P>
|
||||
<FIELDNAME>TABNAME</FIELDNAME>
|
||||
<ROLLNAME>TABNAME</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>FIELDNAME</FIELDNAME>
|
||||
<ROLLNAME>ZEXCEL_FIELDNAME</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>COLUMNNAME</FIELDNAME>
|
||||
<ROLLNAME>ZEXCEL_FIELDNAME</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>POSITION</FIELDNAME>
|
||||
<ROLLNAME>ZEXCEL_COMPONENT_POSITION</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>INTTYPE</FIELDNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<INTTYPE>C</INTTYPE>
|
||||
<INTLEN>000002</INTLEN>
|
||||
<DATATYPE>CHAR</DATATYPE>
|
||||
<LENG>000001</LENG>
|
||||
<MASK> CHAR</MASK>
|
||||
<DDTEXT>ABAP data type (C,D,N,...)</DDTEXT>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>DECIMALS</FIELDNAME>
|
||||
<ROLLNAME>INT1</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>SCRTEXT_S</FIELDNAME>
|
||||
<ROLLNAME>ZEXCEL_DISP_TEXT_SHORT</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>SCRTEXT_M</FIELDNAME>
|
||||
<ROLLNAME>ZEXCEL_DISP_TEXT_MEDIUM</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>SCRTEXT_L</FIELDNAME>
|
||||
<ROLLNAME>ZEXCEL_DISP_TEXT_LONG</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>TOTALS_FUNCTION</FIELDNAME>
|
||||
<ROLLNAME>ZEXCEL_TABLE_TOTALS_FUNCTION</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>FIX_COLUMN</FIELDNAME>
|
||||
<ROLLNAME>FLAG</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<VALEXI>X</VALEXI>
|
||||
<SHLPORIGIN>F</SHLPORIGIN>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>ALIGNMENT</FIELDNAME>
|
||||
<ROLLNAME>ZEXCEL_ALIGNMENT</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>IS_OPTIMIZED</FIELDNAME>
|
||||
<ROLLNAME>FLAG</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<VALEXI>X</VALEXI>
|
||||
<SHLPORIGIN>F</SHLPORIGIN>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>IS_HIDDEN</FIELDNAME>
|
||||
<ROLLNAME>FLAG</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<VALEXI>X</VALEXI>
|
||||
<SHLPORIGIN>F</SHLPORIGIN>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>IS_COLLAPSED</FIELDNAME>
|
||||
<ROLLNAME>FLAG</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<VALEXI>X</VALEXI>
|
||||
<SHLPORIGIN>F</SHLPORIGIN>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>IS_SUBTOTALLED</FIELDNAME>
|
||||
<ROLLNAME>FLAG</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<VALEXI>X</VALEXI>
|
||||
<SHLPORIGIN>F</SHLPORIGIN>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>SORT_LEVEL</FIELDNAME>
|
||||
<ROLLNAME>INT4</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>STYLE_HDR</FIELDNAME>
|
||||
<ROLLNAME>ZEXCEL_CELL_STYLE</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>STYLE_NORMAL</FIELDNAME>
|
||||
<ROLLNAME>ZEXCEL_CELL_STYLE</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>STYLE_STRIPPED</FIELDNAME>
|
||||
<ROLLNAME>ZEXCEL_CELL_STYLE</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>STYLE_TOTAL</FIELDNAME>
|
||||
<ROLLNAME>ZEXCEL_CELL_STYLE</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>STYLE_SUBTOTAL</FIELDNAME>
|
||||
<ROLLNAME>ZEXCEL_CELL_STYLE</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>COL_ID</FIELDNAME>
|
||||
<ROLLNAME>ZEXCEL_COLUMN_ID</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<FIELDNAME>CONVEXIT</FIELDNAME>
|
||||
<ROLLNAME>ZEXCEL_CONVEXIT</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
</DD03P_TABLE>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -3,22 +3,22 @@
|
|||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<DD04V>
|
||||
<ROLLNAME>ZEXCEL_FORMAT</ROLLNAME>
|
||||
<ROLLNAME>ZEXCEL_SCREEN_DISPLAY</ROLLNAME>
|
||||
<DDLANGUAGE>E</DDLANGUAGE>
|
||||
<DOMNAME>ZEXCEL_FORMAT</DOMNAME>
|
||||
<HEADLEN>11</HEADLEN>
|
||||
<DOMNAME>ZEXCEL_DDIC_FLAG</DOMNAME>
|
||||
<HEADLEN>02</HEADLEN>
|
||||
<SCRLEN1>10</SCRLEN1>
|
||||
<SCRLEN2>15</SCRLEN2>
|
||||
<SCRLEN3>20</SCRLEN3>
|
||||
<DDTEXT>File format</DDTEXT>
|
||||
<REPTEXT>File format</REPTEXT>
|
||||
<SCRTEXT_S>File type</SCRTEXT_S>
|
||||
<SCRTEXT_M>File format</SCRTEXT_M>
|
||||
<SCRTEXT_L>File format</SCRTEXT_L>
|
||||
<DTELMASTER>E</DTELMASTER>
|
||||
<DDTEXT>Flag: Field is displayed on dynpro</DDTEXT>
|
||||
<REPTEXT>SF</REPTEXT>
|
||||
<SCRTEXT_S>Dynpro</SCRTEXT_S>
|
||||
<SCRTEXT_M>Screen field</SCRTEXT_M>
|
||||
<SCRTEXT_L>Screen field</SCRTEXT_L>
|
||||
<APPLCLASS>SDIC</APPLCLASS>
|
||||
<DTELMASTER>D</DTELMASTER>
|
||||
<REFKIND>D</REFKIND>
|
||||
</DD04V>
|
||||
<TPARA/>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user