Copy Command in ABAP report
HI Gurus,
I have a ABAP report - basic list, with lot of batch data on it. based on the report they will copy the batch numbers and paste in standard transactions.
Users complaining to do a Ctrl + Y and then Ctrl + C then Ctrl + V to paste the batch numbers.
Is there anything we can do programatically using hot sopt on batch numbers so we get the selected BATCH and execute copy command programatically when they click on BATCH number on basic list.
All they need to do is Ctrl + V on standard transactions.
Is there anyway to achieve this?
Thanks Giri
Giri - you would probably get more results if you mark this as a question. That way you can assign po1nts to helpful answers.
In any event why don't you just do a CALL TRANSACTION when the user double clicks on a line?
Rob
Similar Messages
-
Regarding SET TITLEBAR in normal ABAP report
Hi All,
I wnat to know the use of SET TITLEBAR command in ABAP report . i have searched the forum but i am not find any sutable answers.
for what purpose we use the SET TITLEBAR in normal ABAP report.
Regards
CBSET TITLEBAR - Liste
Syntax
SET TITLEBAR title [OF PROGRAM prog]
[WITH text1 ... text9].
Extras:
1. ... OF PROGRAM prog
2. ... WITH text1 ... text9
Effect
During list processing, this statement sets the GUI title, specified in title, for the display window of the current list level and all following list levels up to the next statement SET TITLEBAR. The statement has - for the most part - the same syntax and semantics as for screens.
In contrast to the screens of dynpros, each list level automatically remains linked to the title set for it. When you return from the display of a higher list level to the display of a lower list level, the latter is displayed with the title that was set for it.
Check the HELP file of SAP before posting your queries. -
How to copy/download all ABAP programs in a text with a single report ?
How to copy/download all ABAP programs in a text format with a single report/TC ?
How to copy/download ABAP source code with all include programs ?....
we need to search & copy all include programs everytime....Hi,
check this link
downloading programs
Regards -
RESERVE command alternative in ABAP report
We have a requirement to print article pricing data on a report (simple list, not ALV or SAP Script). If data for the next article does not fit on the remaining lines of the current page then a new page should be started. I know we can use the RESERVE command but this means working out how many lines the next article will use. Is there anything like the PROTECT/END PROTECT command used in SAP Script that we can use in the ABAP report? Or can anyone suggest another way?
RegardsI don't think there is anyway around this other than to count the number of lines for the article before starting to print and throw a new page if necessary. I was hoping to avoid doing this as counting the number of print lines for an article will be quite involved.
I think what I shall do is collect all required data for an article and then call a print routine. The print routine shall be called twice, the first time it shall not print the data but count each line that would be printed. On return from the first call to this routine I shall have available the total number of print lines for the article. Now I shall do a NEW-PAGE if needed and call the print routine a second time to actually print the data.
Each WRITE command in the print routine shall have to take the form:
IF print_on.
WRITE:/ ......
ELSE.
ADD 1 TO g_total_print_lines_for_article.
ENDIF.
The overhead to calling the print routine twice shall not be that great as all the data will already have been collected prior to the first call.
Messy but necessary I guess.
Cheers -
Error at step Run ABAP Reports during system copy in HPUX
Hi experts,
During system copy from Prodcution to Development i am facing the following errror at step
Run ABAP Reports
INFO 2009-03-18 03:57:36
Information for application function INST_EXECUTE_REPORT copied to local Repository.
INFO 2009-03-18 03:57:36
Function module INST_EXECUTE_REPORT set successfully.
INFO 2009-03-18 03:57:36
Executing function call INST_EXECUTE_REPORT.
ERROR 2009-03-18 03:57:38
FRF-00025 Unable to call function. Error message: Exception condition "WRITE_FAILED" raised. .
INFO 2009-03-18 03:57:38
RFC connection closed.
ERROR 2009-03-18 03:57:38
MUT-03025 Caught ERfcExcept in Modulecall: Exception condition "WRITE_FAILED" raised..
ERROR 2009-03-18 03:57:38
FCO-00011 The step runRADDBDIF with step key |NW_Doublestack_OneHost|ind|ind|ind|ind|0|0|NW_Onehost_System|ind|ind|ind|ind|1|0|NW_CI_Instance|ind|ind|ind|ind|11|0|NW_CI_Instance_ABAP_Reports|ind|ind|ind|ind|2|0|runRADDBDIF was executed with status ERROR .
Please let me know the solution
Thanks & Regards,
ArunThis seems to be related with permission to write in /usr/sap/trans
Read,
Re: Run ABAP Reports error during ECC 6.0 installation on Win2003 with Oracle
Exception condition "WRITE_FAILED" raised during installation 4.0
and
Install error at Phase 33
Regards
Juan -
Logical command in ABAP.....Urgent
Hi,
i am pretty new using ABAP program so i neeed help urgently. i am trying to move a file on the application server from one directory to the other and i was using the open dataset function to do that. but the file i am trying to move is pretty big and because i am using internal table to store, it is causing problems with the space.
i have consulted the basis guys and they have managed to create a logical file for copying from one directory to the other on the application server. to help you furthter. i am enclosing the mail sent to me.
I have created a logical command which should copy the file from one location to the other but you need to pass it the source dir and file name and the destination dir and file name.
The logical command is ZCOPY and uses cmd /c copy
Copies one or more files to another location.
COPY [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B]
[+ source [/A | /B] [+ ...]] [destination [/A | /B]]
source Specifies the file or files to be copied.
/A Indicates an ASCII text file.
/B Indicates a binary file.
destination Specifies the directory and/or filename for the new file(s).
/V Verifies that new files are written correctly.
/N Uses short filename, if available, when copying a file with a
non-8dot3 name.
/Y Suppresses prompting to confirm you want to overwrite an
existing destination file.
/-Y Causes prompting to confirm you want to overwrite an
existing destination file.
/Z Copies networked files in restartable mode.
The switch /Y may be preset in the COPYCMD environment variable.
This may be overridden with /-Y on the command line. Default is
to prompt on overwrites unless COPY command is being executed from
within a batch script.
the problem now is i have no idea about how to use the logical command. can any one help me.
Thank you,
Ravi.If memory is not an issue, then there should be no reason why this should not work.
report zrich_0001.
parameters: d1 type localfile default '/usr/sap/TST/SYS/Data1.txt',
d2 type localfile default '/usr/sap/TST/SYS/Data2.txt'.
data: itab type table of string with header line.
start-of-selection.
* Read old file
open dataset d1 for input in text mode.
if sy-subrc = 0.
do.
read dataset d1 into itab.
if sy-subrc <> 0.
exit.
endif.
append itab.
enddo.
endif.
close dataset d1.
* Write to new file
open dataset d2 for output in text mode.
loop at itab.
transfer itab to d2.
endloop.
close dataset d2.
* Delete the old file
delete dataset d1.
Regards,
Rich Heilman -
Home-grown ABAP report sometimes hangs & sometimes finishes successfully
Dear All,
I am re-posting the below thread, which was previously posted on the : SAP on DB2 UDB for i5/OS (DB4) forum, maybe I will get a reply :
We are implementing SAP ECC 6.0 (ABAP stack) on IBM System i (iSeries), i5/OS V5R4, Kernel patch level 173
We have a home-grown ABAP report that sometimes finishes successfully and sometimes just hangs; i.e. through the OS/400 job monitoring, no change happens in the database records I/O counts.
Below is the OS/400 job log, related to a case where the report did not complete successfully (actually the below is an excerpt from the beginning and the end of the OS/400 job log)
I would highly appreciate any advise about the cause of this problem :
5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 1
Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
CPC2196 Completion 00 05/11/08 11:44:32.099024 QLICUSRL QSYS 0113 QXDAEDRS QSYS *STMT
To module . . . . . . . . . : QXDAEDRS
To procedure . . . . . . . : QxdaProcessCommandEDRS
Statement . . . . . . . . . : 325
Message . . . . : Library QGY added to library list.
Cause . . . . . : If the ADDLIBLE command was used, QGY was added to the
user library list. If the CHGSYSLIBL command was used, QGY was added to the
system portion of the library list.
CPC2198 Completion 00 05/11/08 11:44:32.099232 QLICHLLE QSYS 01A3 QXDAEDRS QSYS *STMT
To module . . . . . . . . . : QXDAEDRS
To procedure . . . . . . . : QxdaProcessCommandEDRS
Statement . . . . . . . . . : 325
Message . . . . : Current library changed to R3PRODATA.
Cause . . . . . : The current library in the library list was changed to
R3PRODATA.
*NONE Information 05/11/08 11:44:32.214488 R3INLPGM R3PRO400 *STMT R3INLPGM R3PRO400 *STMT
From module . . . . . . . . : O4TMKLIBI
From procedure . . . . . . : prtjoblA
Statement . . . . . . . . . : 15
To module . . . . . . . . . : O4TMKLIBI
To procedure . . . . . . . : prtjoblA
Statement . . . . . . . . . : 15
Message . . . . : R3PRO400/R3INLPGM: File Version: 7000, 173, 0, 0
*NONE Information 05/11/08 11:44:32.214640 R3INLPGM R3PRO400 *STMT R3INLPGM R3PRO400 *STMT
From module . . . . . . . . : O4TMKLIBI
From procedure . . . . . . : prtjoblA
Statement . . . . . . . . . : 15
To module . . . . . . . . . : O4TMKLIBI
To procedure . . . . . . . : prtjoblA
Statement . . . . . . . . . : 15
Message . . . . : R3PRO400/R3INLPGM: Product Version: 700, patch 173,
changelist 0
*NONE Information 05/11/08 11:44:32.214808 R3INLPGM R3PRO400 *STMT R3INLPGM R3PRO400 *STMT
From module . . . . . . . . : O4TMKLIBI
From procedure . . . . . . : prtjoblA
Statement . . . . . . . . . : 15
To module . . . . . . . . . : O4TMKLIBI
To procedure . . . . . . . : prtjoblA
Statement . . . . . . . . . : 15
Message . . . . : R3PRO400/R3INLPGM: Platform: os400 for releases OS400 3 5,
OS400 4 5, OS400 1 6
*NONE Information 05/11/08 11:44:32.214904 R3INLPGM R3PRO400 *STMT R3INLPGM R3PRO400 *STMT
From module . . . . . . . . : O4TMKLIBI
From procedure . . . . . . : prtjoblA
Statement . . . . . . . . . : 15
To module . . . . . . . . . : O4TMKLIBI
To procedure . . . . . . . : prtjoblA
Statement . . . . . . . . . : 15
Message . . . . : R3PRO400/R3INLPGM: Special Build Description: OPT (Aug 11
2008, 08:14:03) (ASCII in PASE ASCII build)
*NONE Information 05/11/08 11:44:32.230728 R3INLPGM R3PRO400 *STMT R3INLPGM R3PRO400 *STMT
From module . . . . . . . . : O4TMKLIBI
5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 2
Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
From procedure . . . . . . : prtjoblA
Statement . . . . . . . . . : 15
To module . . . . . . . . . : O4TMKLIBI
To procedure . . . . . . . : prtjoblA
Statement . . . . . . . . . : 15
Message . . . . : R3INLPGM: Connect from Client Protocol: 610
*NONE Information 05/11/08 11:44:32.230840 R3INLPGM R3PRO400 *STMT R3INLPGM R3PRO400 *STMT
From module . . . . . . . . : O4TMKLIBI
From procedure . . . . . . : prtjoblA
Statement . . . . . . . . . : 15
To module . . . . . . . . . : O4TMKLIBI
To procedure . . . . . . . : prtjoblA
Statement . . . . . . . . . : 15
Message . . . . : R3INLPGM: Remote Link: /usr/sap/PRO/SYS/exe/run/DBSLDB4RMT
*NONE Information 05/11/08 11:44:32.268688 R3INLPGM R3PRO400 *STMT R3INLPGM R3PRO400 *STMT
From module . . . . . . . . : O4TMKLIBI
From procedure . . . . . . : prtjoblA
Statement . . . . . . . . . : 15
To module . . . . . . . . . : O4TMKLIBI
To procedure . . . . . . . : prtjoblA
Statement . . . . . . . . . : 15
Message . . . . : R3INLPGM: Kernel Library: SAPPROUCN
CPF9897 Completion 40 05/11/08 11:44:32.286120 QDBENCWT QSYS 0066 DBSLENCWT SAPPROUCN *STMT
To module . . . . . . . . . : DBSLENCWT
To procedure . . . . . . . : main
Statement . . . . . . . . . : 14
Message . . . . : CONCURRENT WRITE IS ENABLED.
Cause . . . . . : No additional online help information is available.
CPF9897 Completion 40 05/11/08 11:44:32.286136 QDBENCWT QSYS 0066 DBSLENCWT SAPPROUCN *STMT
To module . . . . . . . . . : DBSLENCWT
To procedure . . . . . . . : main
Statement . . . . . . . . . : 14
Message . . . . : CONCURRENT WRITE WILL BE ENABLED NEXT IPL.
Cause . . . . . : No additional online help information is available.
CPC2197 Completion 00 05/11/08 11:44:32.323144 QLICHLBL QSYS 013C QXDAEDRS QSYS *STMT
To module . . . . . . . . . : QXDAEDRS
To procedure . . . . . . . : QxdaProcessCommandEDRS
Statement . . . . . . . . . : 325
Message . . . . : Library SAPPROUCN removed from library list.
Cause . . . . . : If the RMVLIBLE command was used, SAPPROUCN was removed
from the user library list. If the CHGSYSLIBL command was used, SAPPROUCN
was removed from the system portion of the library list.
CPC2196 Completion 00 05/11/08 11:44:32.323368 QLICUSRL QSYS 0113 QXDAEDRS QSYS *STMT
To module . . . . . . . . . : QXDAEDRS
To procedure . . . . . . . : QxdaProcessCommandEDRS
Statement . . . . . . . . . : 325
Message . . . . : Library SAPPROUCN added to library list.
Cause . . . . . : If the ADDLIBLE command was used, SAPPROUCN was added to
the user library list. If the CHGSYSLIBL command was used, SAPPROUCN was
added to the system portion of the library list.
SAP4000 Information 00 05/11/08 11:44:32.336544 DBSLDB4RMT SAPPROUCN *STMT DBSLDB4RMT SAPPROUCN *STMT
From module . . . . . . . . : O4SAPUCI_E
5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 3
Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
From procedure . . . . . . : O4_QMHSNDPM__FPCcN21iN21T4PUcR11O4_ERRC0100
Statement . . . . . . . . . : 4
To module . . . . . . . . . : DBSLDB4RMT
To procedure . . . . . . . : CXXPEP__Fv
Statement . . . . . . . . . : *N
Message . . . . : Connect from workprocess w2 on MASAPPRO_PRO_00
CPC2196 Completion 00 05/11/08 11:44:32.975448 QLICHLBL QSYS 013C CHGR3SYSLE SAPPROUCN *STMT
To module . . . . . . . . . : CHGR3SYSLE
To procedure . . . . . . . : CHGR3SYSLE
Statement . . . . . . . . . : 13600
Message . . . . : Library R3SYS added to library list.
Cause . . . . . : If the ADDLIBLE command was used, R3SYS was added to the
user library list. If the CHGSYSLIBL command was used, R3SYS was added to
the system portion of the library list.
SQL7917 Information 00 05/11/08 11:47:23.199272 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
From module . . . . . . . . : QSQOPEN
From procedure . . . . . . : SNDINFOMSG
Statement . . . . . . . . . : 24269
To module . . . . . . . . . : QSQOPEN
To procedure . . . . . . . : OPQRYDBM
Statement . . . . . . . . . : 16590
Message . . . . : Access plan not updated.
Cause . . . . . : The query optimizer rebuilt the access plan for this
statement, but the program could not be updated. Another job may be running
the program. The program cannot be updated with the new access plan until a
job can obtain an exclusive lock on the program. The exclusive lock cannot
be obtained if another job is running the program, if the job does not have
proper authority to the program, or if the program is currently being saved.
The query will still run, but access plan rebuilds will continue to occur
until the program is updated. Recovery . . . : See previous messages from
the query optimizer to determine why the access plan has been rebuilt. To
ensure that the program gets updated with the new access plan, run the
program when no other active jobs are using it.
CPF9898 Information 40 05/11/08 11:54:11.399680 QXDAUTIL QSYS *STMT QXDAEDRS QSYS *STMT
From module . . . . . . . . : QXDATRACE
From procedure . . . . . . : QxdaWriteJoblog__FPciT1R16QxdaTraceControl
Statement . . . . . . . . . : 13
To module . . . . . . . . . : QXDAEDRS
To procedure . . . . . . . : QxdaConnectEDRSInternal__FPvPcT1PiT2T1R16clean
upMutexes_tP19XDAGlobalDataStruct
Statement . . . . . . . . . : 3266
Message . . . . : Connection #2, Server Job: 303463/QUSER/QXDARECVR.
Cause . . . . . : This message is used by application programs as a general
escape message.
CPF5009 Diagnostic 10 05/11/08 11:54:32.741480 QDBSIGEX QSYS 0D60 QSQRUN3 QSYS *STMT
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : CLEANUP
Statement . . . . . . . . . : 22987
Message . . . . : Duplicate record key in member RSEUINC.
Cause . . . . . : The output or update operation to member number 1 record
number 4942 format RSEUINC, for member RSEUINC file RSEUINC in library
R3PRODATA, failed. Member number 1 record number 4941 format RSEUINC has the
5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 4
Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
same record key as member number 1 record number 4942 format RSEUINC. If
the record number is zero, the duplicate record key occurred on an output
operation. Recovery . . . : Change either record key so that the keys are
unique. Then try your request again.
CPF5034 Sender copy 30 05/11/08 11:54:32.741536 QDBSIGEX QSYS 01EA QDBSIGEX QSYS 01EA
Message . . . . : Duplicate key on access path.
Cause . . . . . : An output or update operation on record number 4942 record
format FORMAT0001 member number 1 failed because of a duplicate key in a
unique keyed member that is based on member RSEUINC file RSEUINC in library
R3PRODATA, or in a based-on member of RSEUINC. The failure could also have
been caused by an output or update operation done to another file by a
trigger program associated with file RSEUINC in library R3PRODATA. Recovery
. . . : See previously listed message CPF5009 to identify the file and
record with the duplicate key and change the key value so that it is unique.
Note that the file could be a file operated on by a trigger program. Then
try your request again. Possible choices for replying to message . . . . . .
. . . . . . . . . : C -- The request is canceled. I -- The request is
ignored.
CPF5034 Notify 30 05/11/08 11:54:32.741552 QDBSIGEX QSYS 01EA QSQRUN3 QSYS *STMT
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : CLEANUP
Statement . . . . . . . . . : 22987
Message . . . . : Duplicate key on access path.
Cause . . . . . : An output or update operation on record number 4942 record
format FORMAT0001 member number 1 failed because of a duplicate key in a
unique keyed member that is based on member RSEUINC file RSEUINC in library
R3PRODATA, or in a based-on member of RSEUINC. The failure could also have
been caused by an output or update operation done to another file by a
trigger program associated with file RSEUINC in library R3PRODATA. Recovery
. . . : See previously listed message CPF5009 to identify the file and
record with the duplicate key and change the key value so that it is unique.
Note that the file could be a file operated on by a trigger program. Then
try your request again. Possible choices for replying to message . . . . . .
. . . . . . . . . : C -- The request is canceled. I -- The request is
ignored.
SQL0803 Diagnostic 30 05/11/08 11:54:32.748064 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
From module . . . . . . . . : QSQINS
From procedure . . . . . . : CLEANUP
Statement . . . . . . . . . : 24031
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : CLEANUP
Statement . . . . . . . . . : 24031
Message . . . . : Duplicate key value specified.
Cause . . . . . : An INSERT, UPDATE or ALTER TABLE statement was issued.
Unique index or unique constraint RSEUINC in R3PRODATA exists over one or
more columns of table RSEUINC in R3PRODATA. The operation cannot be
performed because one or more values would have produced a duplicate key in
the unique index or constraint. Recovery . . . : Change the statement so
that duplicate keys are not produced. For information on what rows contain
the duplicate key values, look at the previously listed messages in the job
log (DSPJOBLOG command) or press F10 (Display messages in job log) on this
display.
5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 5
Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
SQL7917 Information 00 05/11/08 12:33:54.649416 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
From module . . . . . . . . : QSQOPEN
From procedure . . . . . . : SNDINFOMSG
Statement . . . . . . . . . : 24269
To module . . . . . . . . . : QSQOPEN
To procedure . . . . . . . : STORE_ACCPLN
Statement . . . . . . . . . : 19339
Message . . . . : Access plan not updated.
Cause . . . . . : The query optimizer rebuilt the access plan for this
statement, but the program could not be updated. Another job may be running
the program. The program cannot be updated with the new access plan until a
job can obtain an exclusive lock on the program. The exclusive lock cannot
be obtained if another job is running the program, if the job does not have
proper authority to the program, or if the program is currently being saved.
The query will still run, but access plan rebuilds will continue to occur
until the program is updated. Recovery . . . : See previous messages from
the query optimizer to determine why the access plan has been rebuilt. To
ensure that the program gets updated with the new access plan, run the
program when no other active jobs are using it.
SQL7917 Information 00 05/11/08 12:33:54.709808 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
From module . . . . . . . . : QSQOPEN
From procedure . . . . . . : SNDINFOMSG
Statement . . . . . . . . . : 24269
To module . . . . . . . . . : QSQOPEN
To procedure . . . . . . . : STORE_ACCPLN
Statement . . . . . . . . . : 19339
Message . . . . : Access plan not updated.
Cause . . . . . : The query optimizer rebuilt the access plan for this
statement, but the program could not be updated. Another job may be running
the program. The program cannot be updated with the new access plan until a
job can obtain an exclusive lock on the program. The exclusive lock cannot
be obtained if another job is running the program, if the job does not have
proper authority to the program, or if the program is currently being saved.
The query will still run, but access plan rebuilds will continue to occur
until the program is updated. Recovery . . . : See previous messages from
the query optimizer to determine why the access plan has been rebuilt. To
ensure that the program gets updated with the new access plan, run the
program when no other active jobs are using it.
SQL7917 Information 00 05/11/08 12:33:54.745288 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
From module . . . . . . . . : QSQOPEN
From procedure . . . . . . : SNDINFOMSG
Statement . . . . . . . . . : 24269
To module . . . . . . . . . : QSQOPEN
To procedure . . . . . . . : STORE_ACCPLN
Statement . . . . . . . . . : 19339
Message . . . . : Access plan not updated.
Cause . . . . . : The query optimizer rebuilt the access plan for this
statement, but the program could not be updated. Another job may be running
the program. The program cannot be updated with the new access plan until a
job can obtain an exclusive lock on the program. The exclusive lock cannot
be obtained if another job is running the program, if the job does not have
proper authority to the program, or if the program is currently being saved.
5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 6
Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
The query will still run, but access plan rebuilds will continue to occur
until the program is updated. Recovery . . . : See previous messages from
the query optimizer to determine why the access plan has been rebuilt. To
ensure that the program gets updated with the new access plan, run the
program when no other active jobs are using it.
SQL7917 Information 00 05/11/08 12:34:28.245160 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
From module . . . . . . . . : QSQOPEN
From procedure . . . . . . : SNDINFOMSG
Statement . . . . . . . . . : 24269
To module . . . . . . . . . : QSQOPEN
To procedure . . . . . . . : OPQRYDBM
Statement . . . . . . . . . : 16643
Message . . . . : Access plan not updated.
Cause . . . . . : The query optimizer rebuilt the access plan for this
statement, but the program could not be updated. Another job may be running
the program. The program cannot be updated with the new access plan until a
job can obtain an exclusive lock on the program. The exclusive lock cannot
be obtained if another job is running the program, if the job does not have
proper authority to the program, or if the program is currently being saved.
The query will still run, but access plan rebuilds will continue to occur
until the program is updated. Recovery . . . : See previous messages from
the query optimizer to determine why the access plan has been rebuilt. To
ensure that the program gets updated with the new access plan, run the
program when no other active jobs are using it.
SQL7917 Information 00 05/11/08 12:49:06.875752 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
From module . . . . . . . . : QSQOPEN
From procedure . . . . . . : SNDINFOMSG
Statement . . . . . . . . . : 24269
To module . . . . . . . . . : QSQOPEN
To procedure . . . . . . . : STORE_ACCPLN
Statement . . . . . . . . . : 19339
Message . . . . : Access plan not updated.
Cause . . . . . : The query optimizer rebuilt the access plan for this
statement, but the program could not be updated. Another job may be running
the program. The program cannot be updated with the new access plan until a
job can obtain an exclusive lock on the program. The exclusive lock cannot
be obtained if another job is running the program, if the job does not have
proper authority to the program, or if the program is currently being saved.
The query will still run, but access plan rebuilds will continue to occur
until the program is updated. Recovery . . . : See previous messages from
the query optimizer to determine why the access plan has been rebuilt. To
ensure that the program gets updated with the new access plan, run the
program when no other active jobs are using it.
SQL7917 Information 00 05/11/08 12:49:06.935840 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
From module . . . . . . . . : QSQOPEN
From procedure . . . . . . : SNDINFOMSG
Statement . . . . . . . . . : 24269
To module . . . . . . . . . : QSQOPEN
To procedure . . . . . . . : STORE_ACCPLN
Statement . . . . . . . . . : 19339
Message . . . . : Access plan not updated.
Cause . . . . . : The query optimizer rebuilt the access plan for this
5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 7
Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
statement, but the program could not be updated. Another job may be running
the program. The program cannot be updated with the new access plan until a
job can obtain an exclusive lock on the program. The exclusive lock cannot
be obtained if another job is running the program, if the job does not have
proper authority to the program, or if the program is currently being saved.
The query will still run, but access plan rebuilds will continue to occur
until the program is updated. Recovery . . . : See previous messages from
the query optimizer to determine why the access plan has been rebuilt. To
ensure that the program gets updated with the new access plan, run the
program when no other active jobs are using it.
SQL7917 Information 00 05/11/08 12:49:06.965560 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
From module . . . . . . . . : QSQOPEN
From procedure . . . . . . : SNDINFOMSG
Statement . . . . . . . . . : 24269
To module . . . . . . . . . : QSQOPEN
To procedure . . . . . . . : STORE_ACCPLN
Statement . . . . . . . . . : 19339
Message . . . . : Access plan not updated.
Cause . . . . . : The query optimizer rebuilt the access plan for this
statement, but the program could not be updated. Another job may be running
the program. The program cannot be updated with the new access plan until a
job can obtain an exclusive lock on the program. The exclusive lock cannot
be obtained if another job is running the program, if the job does not have
proper authority to the program, or if the program is currently being saved.
The query will still run, but access plan rebuilds will continue to occur
until the program is updated. Recovery . . . : See previous messages from
the query optimizer to determine why the access plan has been rebuilt. To
ensure that the program gets updated with the new access plan, run the
program when no other active jobs are using it.
CPF9898 Information 40 05/11/08 12:50:51.470216 QXDAUTIL QSYS *STMT QXDAEDRS QSYS *STMT
From module . . . . . . . . : QXDATRACE
From procedure . . . . . . : QxdaWriteJoblog__FPciT1R16QxdaTraceControl
Statement . . . . . . . . . : 13
To module . . . . . . . . . : QXDAEDRS
To procedure . . . . . . . : QxdaConnectEDRSInternal__FPvPcT1PiT2T1R16clean
upMutexes_tP19XDAGlobalDataStruct
Statement . . . . . . . . . : 3266
Message . . . . : Connection #2, Server Job: 303480/QUSER/QXDARECVR.
Cause . . . . . : This message is used by application programs as a general
escape message.
SQL7917 Information 00 05/11/08 12:59:55.956784 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
From module . . . . . . . . : QSQOPEN
From procedure . . . . . . : SNDINFOMSG
Statement . . . . . . . . . : 24269
To module . . . . . . . . . : QSQOPEN
To procedure . . . . . . . : OPQRYDBM
Statement . . . . . . . . . : 16590
Message . . . . : Access plan not updated.
Cause . . . . . : The query optimizer rebuilt the access plan for this
statement, but the program could not be updated. Another job may be running
the program. The program cannot be updated with the new access plan until a
job can obtain an exclusive lock on the program. The exclusive lock cannot
5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 8
Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
be obtained if another job is running the program, if the job does not have
proper authority to the program, or if the program is currently being saved.
The query will still run, but access plan rebuilds will continue to occur
until the program is updated. Recovery . . . : See previous messages from
the query optimizer to determine why the access plan has been rebuilt. To
ensure that the program gets updated with the new access plan, run the
program when no other active jobs are using it.
CPC2206 Completion 00 05/11/08 13:06:49.865608 QSYCHONR QSYS 0665 QLIINSRT QSYS 0453
Message . . . . : Ownership of object SAPFGUTRBL in R3PRO02070 type *SQLPKG
changed.
Cause . . . . . : The ownership of object SAPFGUTRBL in library R3PRO02070
type *SQLPKG has changed.
CPC2206 Completion 00 05/11/08 13:06:50.312272 QSYCHONR QSYS 0665 QSQXPGM QSYS 0469
Message . . . . : Ownership of object SAPFGUTRBL in R3PRO02070 type *SQLPKG
changed.
Cause . . . . . : The ownership of object SAPFGUTRBL in library R3PRO02070
type *SQLPKG has changed.
SQL0204 Diagnostic 30 05/11/08 13:06:51.011064 QSQPRCED QSYS *STMT QSQPRCED QSYS *STMT
From module . . . . . . . . : QSQPRCED
From procedure . . . . . . : SENDDIAG
Statement . . . . . . . . . : 19346
To module . . . . . . . . . : QSQPRCED
To procedure . . . . . . . : QSQPRCED
Statement . . . . . . . . . : 18435
Message . . . . : T801WEI in R3PRO32060 type *SQLPKG not found.
Cause . . . . . : T801WEI in R3PRO32060 type *SQLPKG was not found. If the
member name is *ALL, the table is not partitioned. If this is an ALTER TABLE
statement and the type is *N, a constraint or partition was not found. If
this is not an ALTER TABLE statement and the type is *N, a function,
procedure, trigger or sequence object was not found. If a function was not
found, T801WEI is the service program that contains the function. The
function will not be found unless the external name and usage name match
exactly. Examine the job log for a message that gives more details on which
function name is being searched for and the name that did not match.
Recovery . . . : Change the name and try the request again. If the
object is a node group, ensure that the DB2 Multisystem product is installed
on your system and create a nodegroup with the CRTNODGRP CL command. If an
external function was not found, be sure that the case of the EXTERNAL NAME
on the CREATE FUNCTION statement exactly matches the case of the name
exported by the service program.
CPC2206 Completion 00 05/11/08 13:06:51.378408 QSYCHONR QSYS 0665 QLIINSRT QSYS 0453
Message . . . . : Ownership of object T801WEI in R3PRO32060 type *SQLPKG
changed.
Cause . . . . . : The ownership of object T801WEI in library R3PRO32060 type
*SQLPKG has changed.
CPC2206 Completion 00 05/11/08 13:06:51.439824 QSYCHONR QSYS 0665 QSQXPGM QSYS 0469
Message . . . . : Ownership of object T801WEI in R3PRO32060 type *SQLPKG
changed.
Cause . . . . . : The ownership of object T801WEI in library R3PRO32060 type
*SQLPKG has changed.
CPF5009 Diagnostic 10 05/11/08 13:06:51.708688 QDBSIGEX QSYS 0D60 QSQRUN3 QSYS *STMT
To module . . . . . . . . . : QSQINS
5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 9
Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
To procedure . . . . . . . : SQL_Insert
Statement . . . . . . . . . : 10309
Message . . . . : Duplicate record key in member T801W.
Cause . . . . . : The output or update operation to member number 1 record
number 0 format T801W, for member T801W file T801W in library R3PRODATA,
failed. Member number 1 record number 751 format T801W has the same record
key as member number 1 record number 0 format T801W. If the record number
is zero, the duplicate record key occurred on an output operation. Recovery
. . . : Change either record key so that the keys are unique. Then try
your request again.
CPF5034 Sender copy 30 05/11/08 13:06:51.708736 QDBSIGEX QSYS 01EA QDBSIGEX QSYS 01EA
Message . . . . : Duplicate key on access path.
Cause . . . . . : An output or update operation on record number 0 record
format FORMAT0001 member number 1 failed because of a duplicate key in a
unique keyed member that is based on member T801W file T801W in library
R3PRODATA, or in a based-on member of T801W. The failure could also have
been caused by an output or update operation done to another file by a
trigger program associated with file T801W in library R3PRODATA. Recovery .
. . : See previously listed message CPF5009 to identify the file and
record with the duplicate key and change the key value so that it is unique.
Note that the file could be a file operated on by a trigger program. Then
try your request again. Possible choices for replying to message . . . . . .
. . . . . . . . . : C -- The request is canceled. I -- The request is
ignored.
CPF5034 Notify 30 05/11/08 13:06:51.708776 QDBSIGEX QSYS 01EA QSQRUN3 QSYS *STMT
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : SQL_Insert
Statement . . . . . . . . . : 10309
Message . . . . : Duplicate key on access path.
Cause . . . . . : An output or update operation on record number 0 record
format FORMAT0001 member number 1 failed because of a duplicate key in a
unique keyed member that is based on member T801W file T801W in library
R3PRODATA, or in a based-on member of T801W. The failure could also have
been caused by an output or update operation done to another file by a
trigger program associated with file T801W in library R3PRODATA. Recovery .
. . : See previously listed message CPF5009 to identify the file and
record with the duplicate key and change the key value so that it is unique.
Note that the file could be a file operated on by a trigger program. Then
try your request again. Possible choices for replying to message . . . . . .
. . . . . . . . . : C -- The request is canceled. I -- The request is
ignored.
SQL0803 Diagnostic 30 05/11/08 13:06:51.710352 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
From module . . . . . . . . : QSQINS
From procedure . . . . . . : CLEANUP
Statement . . . . . . . . . : 24031
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : CLEANUP
Statement . . . . . . . . . : 24031
Message . . . . : Duplicate key value specified.
Cause . . . . . : An INSERT, UPDATE or ALTER TABLE statement was issued.
Unique index or unique constraint T801W in R3PRODATA exists over one or more
columns of table T801W in R3PRODATA. The operation cannot be performed
5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 10
Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
because one or more values would have produced a duplicate key in the unique
index or constraint. Recovery . . . : Change the statement so that
duplicate keys are not produced. For information on what rows contain the
duplicate key values, look at the previously listed messages in the job log
(DSPJOBLOG command) or press F10 (Display messages in job log) on this
display.
SQL0518 Diagnostic 30 05/11/08 13:06:51.732720 QSQROUTS QSYS *STMT QSQROUTS QSYS *STMT
From module . . . . . . . . : QSQCLNUP
From procedure . . . . . . : SQROUTE_CLEANUP
Statement . . . . . . . . . : 3814
To module . . . . . . . . . : QSQCLNUP
To procedure . . . . . . . : SQROUTE_CLEANUP
Statement . . . . . . . . . : 3814
Message . . . . : Prepared statement RD0IAAAABA not found.
Cause . . . . . : An EXECUTE statement referred to the statement RD0IAAAABA.
RD0IAAAABA is not a valid prepared statement. The statement has one of the
following conditions: -- The statement has never been prepared. -- The
statement identifies a prepared SELECT or DECLARE PROCEDURE statement. --
The statement was in error at prepare or bind time. -- The statement was
prepared in another program or another call of this program and the program
was created with CLOSQLCSR(*ENDPGM). -- The statement was prepared in
another module or another call of this module and the module was created
with CLOSQLCSR(*ENDMOD). -- The statement was prepared in another call of
this program and programs which have run SQL statements have ended and the
program was created with CLOSQLCSR(*ENDSQL). -- The statement was prepared
in another call of this module and the activation group ended between calls.
The module was created with CLOSQLCSR(*ENDACTGRP). -- The prepared statement
was destroyed by a COMMIT or ROLLBACK statement. This only occurs when
connected to a database other than DB2 UDB for iSeries. Recovery . . . :
Do one of the following: -- If RD0IAAAABA identifies a prepared SELECT or
DECLARE PROCEDURE statement, a different prepared statement must be named in
the EXECUTE statement. -- If the statement had errors, correct the errors
and either prepare the statement again or precompile the program again. --
Make certain that RD0IAAAABA has been prepared in the same program or module
call prior to using the EXECUTE statement or specify either
CLOSQLCSR(ENDSQL), CLOSQLCSR(ENDJOB), or CLOSQLCSR(*ENDACTGRP) when
precompiling the application. -- If the statement was deleted by a COMMIT or
ROLLBACK, either specify PREPARE WITH HOLD or bind the program with the
correct option to preserve prepared statements.
CPF5009 Diagnostic 10 05/11/08 13:06:56.094184 QDBSIGEX QSYS 0D60 QSQRUN3 QSYS *STMT
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : SQL_Insert
Statement . . . . . . . . . : 10309
Message . . . . : Duplicate record key in member ATAB.
Cause . . . . . : The output or update operation to member number 1 record
number 644685 format ATAB, for member ATAB file ATAB in library R3PRODATA,
failed. Member number 1 record number 635738 format ATAB has the same record
key as member number 1 record number 644685 format ATAB. If the record
5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 51
Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
number is zero, the duplicate record key occurred on an output operation.
Recovery . . . : Change either record key so that the keys are unique.
Then try your request again.
CPF5034 Sender copy 30 05/11/08 13:06:56.094240 QDBSIGEX QSYS 01EA QDBSIGEX QSYS 01EA
Message . . . . : Duplicate key on access path.
Cause . . . . . : An output or update operation on record number 644685
record format FORMAT0001 member number 1 failed because of a duplicate key
in a unique keyed member that is based on member ATAB file ATAB in library
R3PRODATA, or in a based-on member of ATAB. The failure could also have been
caused by an output or update operation done to another file by a trigger
program associated with file ATAB in library R3PRODATA. Recovery . . . :
See previously listed message CPF5009 to identify the file and record with
the duplicate key and change the key value so that it is unique. Note that
the file could be a file operated on by a trigger program. Then try your
request again. Possible choices for replying to message . . . . . . . . . .
. . . . . : C -- The request is canceled. I -- The request is ignored.
CPF5034 Notify 30 05/11/08 13:06:56.094256 QDBSIGEX QSYS 01EA QSQRUN3 QSYS *STMT
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : SQL_Insert
Statement . . . . . . . . . : 10309
Message . . . . : Duplicate key on access path.
Cause . . . . . : An output or update operation on record number 644685
record format FORMAT0001 member number 1 failed because of a duplicate key
in a unique keyed member that is based on member ATAB file ATAB in library
R3PRODATA, or in a based-on member of ATAB. The failure could also have been
caused by an output or update operation done to another file by a trigger
program associated with file ATAB in library R3PRODATA. Recovery . . . :
See previously listed message CPF5009 to identify the file and record with
the duplicate key and change the key value so that it is unique. Note that
the file could be a file operated on by a trigger program. Then try your
request again. Possible choices for replying to message . . . . . . . . . .
. . . . . : C -- The request is canceled. I -- The request is ignored.
SQL0803 Diagnostic 30 05/11/08 13:06:56.094376 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
From module . . . . . . . . : QSQINS
From procedure . . . . . . : CLEANUP
Statement . . . . . . . . . : 24031
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : CLEANUP
Statement . . . . . . . . . : 24031
Message . . . . : Duplicate key value specified.
Cause . . . . . : An INSERT, UPDATE or ALTER TABLE statement was issued.
Unique index or unique constraint ATAB in R3PRODATA exists over one or more
columns of table ATAB in R3PRODATA. The operation cannot be performed
because one or more values would have produced a duplicate key in the unique
index or constraint. Recovery . . . : Change the statement so that
duplicate keys are not produced. For information on what rows contain the
duplicate key values, look at the previously listed messages in the job log
(DSPJOBLOG command) or press F10 (Display messages in job log) on this
display.
CPF5009 Diagnostic 10 05/11/08 13:06:56.096008 QDBSIGEX QSYS 0D60 QSQRUN3 QSYS *STMT
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : SQL_Insert
5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 52
Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
Statement . . . . . . . . . : 10309
Message . . . . : Duplicate record key in member ATAB.
Cause . . . . . : The output or update operation to member number 1 record
number 644685 format ATAB, for member ATAB file ATAB in library R3PRODATA,
failed. Member number 1 record number 635779 format ATAB has the same record
key as member number 1 record number 644685 format ATAB. If the record
number is zero, the duplicate record key occurred on an output operation.
Recovery . . . : Change either record key so that the keys are unique.
Then try your request again.
CPF5034 Sender copy 30 05/11/08 13:06:56.096048 QDBSIGEX QSYS 01EA QDBSIGEX QSYS 01EA
Message . . . . : Duplicate key on access path.
Cause . . . . . : An output or update operation on record number 644685
record format FORMAT0001 member number 1 failed because of a duplicate key
in a unique keyed member that is based on member ATAB file ATAB in library
R3PRODATA, or in a based-on member of ATAB. The failure could also have been
caused by an output or update operation done to another file by a trigger
program associated with file ATAB in library R3PRODATA. Recovery . . . :
See previously listed message CPF5009 to identify the file and record with
the duplicate key and change the key value so that it is unique. Note that
the file could be a file operated on by a trigger program. Then try your
request again. Possible choices for replying to message . . . . . . . . . .
. . . . . : C -- The request is canceled. I -- The request is ignored.
CPF5034 Notify 30 05/11/08 13:06:56.096080 QDBSIGEX QSYS 01EA QSQRUN3 QSYS *STMT
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : SQL_Insert
Statement . . . . . . . . . : 10309
Message . . . . : Duplicate key on access path.
Cause . . . . . : An output or update operation on record number 644685
record format FORMAT0001 member number 1 failed because of a duplicate key
in a unique keyed member that is based on member ATAB file ATAB in library
R3PRODATA, or in a based-on member of ATAB. The failure could also have been
caused by an output or update operation done to another file by a trigger
program associated with file ATAB in library R3PRODATA. Recovery . . . :
See previously listed message CPF5009 to identify the file and record with
the duplicate key and change the key value so that it is unique. Note that
the file could be a file operated on by a trigger program. Then try your
request again. Possible choices for replying to message . . . . . . . . . .
. . . . . : C -- The request is canceled. I -- The request is ignored.
SQL0803 Diagnostic 30 05/11/08 13:06:56.096208 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
From module . . . . . . . . : QSQINS
From procedure . . . . . . : CLEANUP
Statement . . . . . . . . . : 24031
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : CLEANUP
Statement . . . . . . . . . : 24031
Message . . . . : Duplicate key value specified.
Cause . . . . . : An INSERT, UPDATE or ALTER TABLE statement was issued.
Unique index or unique constraint ATAB in R3PRODATA exists over one or more
columns of table ATAB in R3PRODATA. The operation cannot be performed
because one or more values would have produced a duplicate key in the unique
index or constraint. Recovery . . . : Change the statement so that
duplicate keys are not produced. For information on what rows contain the
5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 53
Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
duplicate key values, look at the previously listed messages in the job log
(DSPJOBLOG command) or press F10 (Display messages in job log) on this
display.
CPF5009 Diagnostic 10 05/11/08 13:06:56.098520 QDBSIGEX QSYS 0D60 QSQRUN3 QSYS *STMT
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : SQL_Insert
Statement . . . . . . . . . : 10309
Message . . . . : Duplicate record key in member ATAB.
Cause . . . . . : The output or update operation to member number 1 record
number 644685 format ATAB, for member ATAB file ATAB in library R3PRODATA,
failed. Member number 1 record number 635819 format ATAB has the same record
key as member number 1 record number 644685 format ATAB. If the record
number is zero, the duplicate record key occurred on an output operation.
Recovery . . . : Change either record key so that the keys are unique.
Then try your request again.
CPF5034 Sender copy 30 05/11/08 13:06:56.098552 QDBSIGEX QSYS 01EA QDBSIGEX QSYS 01EA
Message . . . . : Duplicate key on access path.
Cause . . . . . : An output or update operation on record number 644685
record format FORMAT0001 member number 1 failed because of a duplicate key
in a unique keyed member that is based on member ATAB file ATAB in library
R3PRODATA, or in a based-on member of ATAB. The failure could also have been
caused by an output or update operation done to another file by a trigger
program associated with file ATAB in library R3PRODATA. Recovery . . . :
See previously listed message CPF5009 to identify the file and record with
the duplicate key and change the key value so that it is unique. Note that
the file could be a file operated on by a trigger program. Then try your
request again. Possible choices for replying to message . . . . . . . . . .
. . . . . : C -- The request is canceled. I -- The request is ignored.
CPF5034 Notify 30 05/11/08 13:06:56.098568 QDBSIGEX QSYS 01EA QSQRUN3 QSYS *STMT
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : SQL_Insert
Statement . . . . . . . . . : 10309
Message . . . . : Duplicate key on access path.
Cause . . . . . : An output or update operation on record number 644685
record format FORMAT0001 member number 1 failed because of a duplicate key
in a unique keyed member that is based on member ATAB file ATAB in library
R3PRODATA, or in a based-on member of ATAB. The failure could also have been
caused by an output or update operation done to another file by a trigger
program associated with file ATAB in library R3PRODATA. Recovery . . . :
See previously listed message CPF5009 to identify the file and record with
the duplicate key and change the key value so that it is unique. Note that
the file could be a file operated on by a trigger program. Then try your
request again. Possible choices for replying to message . . . . . . . . . .
. . . . . : C -- The request is canceled. I -- The request is ignored.
SQL0803 Diagnostic 30 05/11/08 13:06:56.098720 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
From module . . . . . . . . : QSQINS
From procedure . . . . . . : CLEANUP
Statement . . . . . . . . . : 24031
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : CLEANUP
Statement . . . . . . . . . : 24031
Message . . . . : Duplicate key value specified.
5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 54
Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
Cause . . . . . : An INSERT, UPDATE or ALTER TABLE statement was issued.
Unique index or unique constraint ATAB in R3PRODATA exists over one or more
columns of table ATAB in R3PRODATA. The operation cannot be performed
because one or more values would have produced a duplicate key in the unique
index or constraint. Recovery . . . : Change the statement so that
duplicate keys are not produced. For information on what rows contain the
duplicate key values, look at the previously listed messages in the job log
(DSPJOBLOG command) or press F10 (Display messages in job log) on this
display.
CPF5009 Diagnostic 10 05/11/08 13:06:56.101560 QDBSIGEX QSYS 0D60 QSQRUN3 QSYS *STMT
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : SQL_Insert
Statement . . . . . . . . . : 10309
Message . . . . : Duplicate record key in member ATAB.
Cause . . . . . : The output or update operation to member number 1 record
number 644685 format ATAB, for member ATAB file ATAB in library R3PRODATA,
failed. Member number 1 record number 635865 format ATAB has the same record
key as member number 1 record number 644685 format ATAB. If the record
number is zero, the duplicate record key occurred on an output operation.
Recovery . . . : Change either record key so that the keys are unique.
Then try your request again.
CPF5034 Sender copy 30 05/11/08 13:06:56.101592 QDBSIGEX QSYS 01EA QDBSIGEX QSYS 01EA
Message . . . . : Duplicate key on access path.
Cause . . . . . : An output or update operation on record number 644685
record format FORMAT0001 member number 1 failed because of a duplicate key
in a unique keyed member that is based on member ATAB file ATAB in library
R3PRODATA, or in a based-on member of ATAB. The failure could also have been
caused by an output or update operation done to another file by a trigger
program associated with file ATAB in library R3PRODATA. Recovery . . . :
See previously listed message CPF5009 to identify the file and record with
the duplicate key and change the key value so that it is unique. Note that
the file could be a file operated on by a trigger program. Then try your
request again. Possible choices for replying to message . . . . . . . . . .
. . . . . : C -- The request is canceled. I -- The request is ignored.
CPF5034 Notify 30 05/11/08 13:06:56.101608 QDBSIGEX QSYS 01EA QSQRUN3 QSYS *STMT
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : SQL_Insert
Statement . . . . . . . . . : 10309
Message . . . . : Duplicate key on access path.
Cause . . . . . : An output or update operation on record number 644685
record format FORMAT0001 member number 1 failed because of a duplicate key
in a unique keyed member that is based on member ATAB file ATAB in library
R3PRODATA, or in a based-on member of ATAB. The failure could also have been
caused by an output or update operation done to another file by a trigger
program associated with file ATAB in library R3PRODATA. Recovery . . . :
See previously listed message CPF5009 to identify the file and record with
the duplicate key and change the key value so that it is unique. Note that
the file could be a file operated on by a trigger program. Then try your
request again. Possible choices for replying to message . . . . . . . . . .
. . . . . : C -- The request is canceled. I -- The request is ignored.
SQL0803 Diagnostic 30 05/11/08 13:06:56.101760 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
From module . . . . . . . . : QSQINS
5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 55
Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
From procedure . . . . . . : CLEANUP
Statement . . . . . . . . . : 24031
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : CLEANUP
Statement . . . . . . . . . : 24031
Message . . . . : Duplicate key value specified.
Cause . . . . . : An INSERT, UPDATE or ALTER TABLE statement was issued.
Unique index or unique constraint ATAB in R3PRODATA exists over one or more
columns of table ATAB in R3PRODATA. The operation cannot be performed
because one or more values would have produced a duplicate key in the unique
index or constraint. Recovery . . . : Change the statement so that
duplicate keys are not produced. For information on what rows contain the
duplicate key values, look at the previously listed messages in the job log
(DSPJOBLOG command) or press F10 (Display messages in job log) on this
display.
CPF5009 Diagnostic 10 05/11/08 13:06:56.105864 QDBSIGEX QSYS 0D60 QSQRUN3 QSYS *STMT
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : SQL_Insert
Statement . . . . . . . . . : 10309
Message . . . . : Duplicate record key in member ATAB.
Cause . . . . . : The output or update operation to member number 1 record
number 644685 format ATAB, for member ATAB file ATAB in library R3PRODATA,
failed. Member number 1 record number 635906 format ATAB has the same record
key as member number 1 record number 644685 format ATAB. If the record
number is zero, the duplicate record key occurred on an output operation.
Recovery . . . : Change either record key so that the keys are unique.
Then try your request again.
CPF5034 Sender copy 30 05/11/08 13:06:56.105904 QDBSIGEX QSYS 01EA QDBSIGEX QSYS 01EA
Message . . . . : Duplicate key on access path.
Cause . . . . . : An output or update operation on record number 644685
record format FORMAT0001 member number 1 failed because of a duplicate key
in a unique keyed member that is based on member ATAB file ATAB in library
R3PRODATA, or in a based-on member of ATAB. The failure could also have been
caused by an output or update operation done to another file by a trigger
program associated with file ATAB in library R3PRODATA. Recovery . . . :
See previously listed message CPF5009 to identify the file and record with
the duplicate key and change the key value so that it is unique. Note that
the file could be a file operated on by a trigger program. Then try your
request again. Possible choices for replying to message . . . . . . . . . .
. . . . . : C -- The request is canceled. I -- The request is ignored.
CPF5034 Notify 30 05/11/08 13:06:56.105920 QDBSIGEX QSYS 01EA QSQRUN3 QSYS *STMT
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : SQL_Insert
Statement . . . . . . . . . : 10309
Message . . . . : Duplicate key on access path.
Cause . . . . . : An output or update operation on record number 644685
record format FORMAT0001 member number 1 failed because of a duplicate key
in a unique keyed member that is based on member ATAB file ATAB in library
R3PRODATA, or in a based-on member of ATAB. The failure could also have been
caused by an output or update operation done to another file by a trigger
program associated with file ATAB in library R3PRODATA. Recovery . . . :
See previously listed message CPF5009 to identify the file and record with
5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 56
Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
the duplicate key and change the key value so that it is unique. Note that
the file could be a file operated on by a trigger program. Then try your
request again. Possible choices for replying to message . . . . . . . . . .
. . . . . : C -- The request is canceled. I -- The request is ignored.
SQL0803 Diagnostic 30 05/11/08 13:06:56.106056 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
From module . . . . . . . . : QSQINS
From procedure . . . . . . : CLEANUP
Statement . . . . . . . . . : 24031
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : CLEANUP
Statement . . . . . . . . . : 24031
Message . . . . : Duplicate key value specified.
Cause . . . . . : An INSERT, UPDATE or ALTER TABLE statement was issued.
Unique index or unique constraint ATAB in R3PRODATA exists over one or more
columns of table ATAB in R3PRODATA. The operation cannot be performed
because one or more values would have produced a duplicate key in the unique
index or constraint. Recovery . . . : Change the statement so that
duplicate keys are not produced. For information on what rows contain the
duplicate key values, look at the previously listed messages in the job log
(DSPJOBLOG command) or press F10 (Display messages in job log) on this
display.
CPF5009 Diagnostic 10 05/11/08 13:06:56.107696 QDBSIGEX QSYS 0D60 QSQRUN3 QSYS *STMT
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : SQL_Insert
Statement . . . . . . . . . : 10309
Message . . . . : Duplicate record key in member ATAB.
Cause . . . . . : The output or update operation to member number 1 record
number 644685 format ATAB, for member ATAB file ATAB in library R3PRODATA,
failed. Member number 1 record number 635948 format ATAB has the same record
key as member number 1 record number 644685 format ATAB. If the record
number is zero, the duplicate record key occurred on an output operation.
Recovery . . . : Change either record key so that the keys are unique.
Then try your request again.
CPF5034 Sender copy 30 05/11/08 13:06:56.107736 QDBSIGEX QSYS 01EA QDBSIGEX QSYS 01EA
Message . . . . : Duplicate key on access path.
Cause . . . . . : An output or update operation on record number 644685
record format FORMAT0001 member number 1 failed because of a duplicate key
in a unique keyed member that is based on member ATAB file ATAB in library
R3PRODATA, or in a based-on member of ATAB. The failure could also have been
caused by an output or update operation done to another file by a trigger
program associated with file ATAB in library R3PRODATA. Recovery . . . :
See previously listed message CPF5009 to identify the file and record with
the duplicate key and change the key value so that it is unique. Note that
the file could be a file operated on by a trigger program. Then try your
request again. Possible choices for replying to message . . . . . . . . . .
. . . . . : C -- The request is canceled. I -- The request is ignored.
CPF5034 Notify 30 05/11/08 13:06:56.107752 QDBSIGEX QSYS 01EA QSQRUN3 QSYS *STMT
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : SQL_Insert
Statement . . . . . . . . . : 10309
Message . . . . : Duplicate key on access path.
Cause . . . . . : An output or update operation on record number 644685
5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 57
Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
record format FORMAT0001 member number 1 failed because of a duplicate key
in a unique keyed member that is based on member ATAB file ATAB in library
R3PRODATA, or in a based-on member of ATAB. The failure could also have been
caused by an output or update operation done to another file by a trigger
program associated with file ATAB in library R3PRODATA. Recovery . . . :
See previously listed message CPF5009 to identify the file and record with
the duplicate key and change the key value so that it is unique. Note that
the file could be a file operated on by a trigger program. Then try your
request again. Possible choices for replying to message . . . . . . . . . .
. . . . . : C -- The request is canceled. I -- The request is ignored.
SQL0803 Diagnostic 30 05/11/08 13:06:56.107880 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
From module . . . . . . . . : QSQINS
From procedure . . . . . . : CLEANUP
Statement . . . . . . . . . : 24031
To module . . . . . . . . . : QSQINS
To procedure . . . . . . . : CLEANUP
Statement . . . . . . . . . : 24031
Message . . . . : Duplicate key value specified.
Cause . . . . . : An INSERT, UPDATE or ALTER TABLE statement was issued.
Unique index or unique constraint ATAB in R3PRODATA exists over one or more
columns of table ATAB in R3PRODATA. The operation cannot be performed
because one or more values would have produced a duplicate key in the unique
index or constraint. Recovery . . . : Change the statement so that
duplicate keys are not produced. For information on what rows contain the
duplicate key values, look at the previously listed messages in the job log
(DSPJOBLOG command) or press F10 (Display messages in job log) on this
display.
SQL0204 Diagnostic 30 05/11/08 13:06:56.159320 QSQPRCED QSYS *STMT QSQPRCED QSYS *STMT
From module . . . . . . . . : QSQPRCED
From procedure . . . . . . : SENDDIAG
Statement . . . . . . . . . : 19346
To module . . . . . . . . . : QSQPRCED
To procedure . . . . . . . : QSQPRCED
Statement . . . . . . . . . : 18435
Message . . . . : T801LEI in R3PRO32060 type *SQLPKG not found.
Cause . . . . . : T801LEI in R3PRO32060 type *SQLPKG was not found. If the
member name is *ALL, the table is not partitioned. If this is an ALTER TABLE
statement and tI don't have FIOS but I do use Safari to access the discussion forums without encountering the issue you've described (knock on wood). It's always hard to diagnose and troubleshoot connection issues without actually sitting in front of the computer (even more so when the problem is intermittent). Let me ask some questions:
Is your computer connecting wirelessly?
Have you tried resetting Safari and/or emptying the cache?
Have you tried Private Browsing to note any differences?
How about going to Safari's->Preferences->Security and checking/unchecking Web Contents and/or enabling/disabling cookies?
Have you tried creating another user account on your machine and log in with that user account to access the discussion board to see if there's a difference?
Good luck,
TK -
hi guys,
please advise how can i download/export ABAP(report,module pool...etc) source code to client PC?
thanks.hi
this report is to export to another server...
PROGRAM ZDOWNLOAD_SAP
LINE-SIZE 132
LINE-COUNT 62
NO STANDARD PAGE HEADING.
This program up / downloads from / to a local dataset
all the components of an ABAP - i.e TEXTS, the entire CUA
including statuses and menus, DYNPROS and source code.
Program documentation and variants are not handled.
INCLUDED programs are automatically handled both on upload
or download. INCLUDE selection can be excluded or generic
e.g only handle INCLUDES starting with ZIN*
INCLUDES within INCLUDES alos handled.
The only restriction is on UPLOAD the INCLUDED programs must come
from the same directory as the main program.
On Download of course the ABAP must exist in the library.
Note for LINUX and BATCH users
This program was originally designed as a one off tool for
getting ABAPS etc from a SAP R2 (IBM MVS mainframe system) into
an R3 test system minimising the need for a large amount of
mainframe sysprogs (anybody remember what they were !!) time
and support to say nothing of access problems from TSO /JES2 /
SAP R2. At that time network connections were patchy and the
transport systems largely incompatable and not very reliable.
This program was originally designed as a one off tool for
Must run on Windows front end ---- If you are running SAP with
LINUX on your work station you will have to change the WS_UPLOAD
and WS_DOWNLOAD functions to reflect the Linux file system. The
contents of the data sets themseleves do not need to be changed
Program can easily be modified to run in batch and store
the data on a UNIX host. Change the WS_UPLOAD and WS_DOWNLOAD
to read from and write to UNIX data sets (OPEN FILE etc).
You will also need to modify the parts of the program that get
the DOS directory and display the Windows file paths.
The actual abap data sets do not need to be changed.
Rel 4.0 names can now be up to 40 bytes long
Dynpros and CUA have changed from rel 3.1
Tabstrips now loaded and unloaded in dynpros
Please note restriction on 4.6 systems for users who
have ABAP names which include '/'s in their names.
Rel 4.6b, 4.6c Abap names can include the '/' in their names
e.g /CUST1/CUST2/ORDER
This causes problems when storing to a local file.
a solution is to change the name to %CUST1%CUST2%ORDER i.e / will
be changed to %. On upload the % should be changed back to /
again. This change still needs to be implemented.
If you don't use the / in the abap name then this is not a problem.
If file to be uploaded is in rel 3 format then names are only 8
bytes long.
program uses 3 datasets per abap
1) abapname.eee source, dynpr logic, texts, CUA stuff
2) abapname.hhh dynpr header
3) abapname.fff dynpro fields.
because of varying lengths and contents 3 data sets are used. The
complexity of combining all these to 1 data set would make the
program far too complex.
NOTE: This version of the program can only be used on
release 4.0 or higher. Once an ABAP has been converted
to rel 4.0 it cannot be converted back to rel 3.0
on a release 3/3.1 system. Release 4 CUA tables
are different. Use release 3 version of this program
for releases 3.0 and 3.1. Available on SAPFANS website.
Note that data to be uploaded must have been previously downloaded
by this program (any version since rel 2.0) - except for Initial
Load -- see end of these comments.
Dynpros and CUA statuses have changed since rel 3.1
This program will handle rel 3.1 format on upload but will
download in rel 4.0 format. To upload 3.1 format specify an 'X'
in the rel3 parameter.
If you have downloaded components in rel 4.0 format and you
want to re-load to a 3.1 system you will have to load
the source via standard upload and re-create dynpros and the CUA
manually.
As names can now be longer than 8 characters you can only
use this program if the SAP front end (SAPGUI) supports
long file names (WIN 95/98 or WIN NT). Windows 3.x will not
work as the underlying DOS system cannot handle long file names.
UPLOAD function and DOS directory.
When an ABAP is selected for UPLOAD then the DOS
directory is read into a table. A file called ABAP.BAT is created,
and down loaded to the 'C' drive and executed.
This file executes a DOS DIR command and pipes the output
into a dataset which is then uploaded into an internal
table on SAP.
Note on running DOS commands from ABAP
The first time this procedure is executed you will see a DOS window
which you will have to close manually. To get round this
use windows explorer to select the file ABAP.BAT and then
right mouse click on the file name. Select the
properties window. From this click the CLOSE on EXIT box. This
will then automatically close the DOS function after it has
executed. (Windows restriction).
The DOS function has not been tested using Windows 2000 so
it might not work. OK on W95,W98,WME and Windows NT (No Thanks)
If INCLUDE programs are wanted on UPLOAD only the specified
directory is searched.
Instead of entering path name manually you can click on
the path parameter. Because of Windows restriction you will
have to select ANY file in the relevant directory.
The path will then be copied on to the selection screen.
To do still : Merge 3 files to one and compress output to .ZIP file
fix 4.5 4.6 problem of abaps containing '/' in the name
possibility to automatically up / download referenced
function modules with selection criteria like INCLUDES
To load the ist time into a system.
Create program with ABAP editor and Upload the .EEE file.
Delete ist line (????SRCE) in the ABAP EDITOR --NOT THE DISK FILE
Delete all the source from the line that starts ????TEXT (towards
the end file) till the end so the last line in your source is ENDFORM.
DO NOT ALTER THE DISK FILE. DO THESE CHANGES IN THE ABAP EDITOR.
Save file and execute
Use following parameters (Note the ist time you won't get proper
text on the selection screen).
Function U
Path full dos path containing source e.g c:\abaps\
NOTE YOU MUST ENTER THE FINAL \ as above.
REPID the program name. e.g ZZJIMHXX
note that on the DISK you will see 3 files
ZZJIMHXX.EEE, ZZJIMHXX.FFF, ZZJIMHXX.HHH
just use the name before the dos qualifier - the
program will do the rest
ignore other parameters
The program will then load itself with all the texts etc.
It should now be ready for use.
Macros
DEFINE DEFINE_TABLE.
DATA: &1 LIKE &2 OCCURS &3 WITH HEADER LINE.
END-OF-DEFINITION.
DEFINE CLS.
REFRESH &1.
CLEAR &1.
END-OF-DEFINITION.
DEFINE INIT.
IF &1 NE SPACE.
SEARCH &1 FOR '. .'.
IF SY-SUBRC = 0.
WRITE '*' TO &1+SY-FDPOS(1).
ENDIF.
TRANSLATE &1 USING '*%'.
ELSE.
MOVE '%' TO &1.
ENDIF.
END-OF-DEFINITION.
end of macros
/ SAP standard tables */
TABLES: D020S, "Dynpro header
D020T, "Dynpro title
D021T, "Screen field keyword texts
TRDIR, "Attribute table
TADIR, "Dev. class etc.
EUDB, "CUA data
TSTC, "transaction data
TITLE, "CUA titles
RSMPTEXTS. "Function texts (rel 4.0)
/ Work tables to hold ABAP source etc, and dynpro */
/ contents. */
DATA: BEGIN OF H. "Header
INCLUDE STRUCTURE D020S.
DATA: END OF H.
DATA: BEGIN OF H1 OCCURS 10, "Header
NAME(40) TYPE C, "rel 4
NUMBER(4) TYPE N.
INCLUDE STRUCTURE D020S.
DATA: END OF H1.
DATA: BEGIN OF H2 OCCURS 0, "Rel 3 dynp. header
CNAME(8) TYPE C,
CNUM(4) TYPE C,
NNAME(8) TYPE C,
NNUM(4) TYPE C,
FILL(51) TYPE C,
CDAT(6) TYPE C,
CTIM(6) TYPE C,
END OF H2.
DATA: BEGIN OF F OCCURS 250. "Dynpro Fields
INCLUDE STRUCTURE D021S.
DATA: END OF F.
DATA: BEGIN OF F1 OCCURS 500, "Dynpro Fields
NAME(40) TYPE C, "rel 4
NUMBER(4) TYPE N.
INCLUDE STRUCTURE D021S.
DATA: END OF F1.
DATA: BEGIN OF OLD_F1 OCCURS 0, "Dynpro Fields (rel 3)
NAME(8) TYPE C,
NUMBER(4) TYPE C.
INCLUDE STRUCTURE D021SE_OLD.
DATA: END OF OLD_F1.
DATA: BEGIN OF F2 OCCURS 0, "Dynpro Fields (rel 3)
TFIL(284) TYPE C,
END OF F2.
DATA: BEGIN OF M OCCURS 3. "Match codes (if any)
INCLUDE STRUCTURE D023S.
DATA: END OF M.
DATA: BEGIN OF E OCCURS 0. "Dynpro Logic
INCLUDE STRUCTURE D022S.
DATA: END OF E.
DATA: BEGIN OF E1 OCCURS 0, "Dynpro Logic
NAME(40) TYPE C, "rel 4
NUMBER(4) TYPE N.
INCLUDE STRUCTURE D022S.
DATA: END OF E1.
DATA: BEGIN OF T OCCURS 0, "prog name and dynpro nrs
NAME(40) TYPE C, "rel 4
NUMBER(4) TYPE N,
END OF T.
DATA: BEGIN OF R OCCURS 56, "prog name and language
NAME(40) TYPE C, "rel 4
LANGUAGE(1) TYPE C,
END OF R.
DATA: BEGIN OF S OCCURS 3000,
TXT(180) TYPE C, "rel 4 was 132
END OF S.
DATA: BEGIN OF R1 OCCURS 50, "for include programs
NAME(40) TYPE C, "rel 4
INSTANCE(3) TYPE P,
END OF R1.
DATA: BEGIN OF S1 OCCURS 3000,
TXT(180) TYPE C, " rel 4 was 132
END OF S1.
DATA: BEGIN OF U OCCURS 100, "Text elements
TXT(180) TYPE C, " rel 4 was 132
END OF U.
DATA: BEGIN OF DIR. "ABAP Attributes
INCLUDE STRUCTURE TRDIR.
DATA: END OF DIR.
DATA: BEGIN OF DTXT. "Dynpro field keyword texts
INCLUDE STRUCTURE D021T.
DATA: END OF DTXT.
/ This data contains all the components of the */
/ CUA such as menus, statuses, Pfkeys */
/ As from rel 4.5 Tabstrips are automatically copied as well */
/ The rel3 parameter must be set however to load the */
/ correct version of the CUA tables if uploading rel 3 */
/ data to a rel 4 system. */
/ Rel 4.0B can convert 3.1 and earlier CUA's */
/ This could change later however. */
CUA Tables.
Key of CUA tables in EUDB data set. Name is len 40 in rel 4.0
DATA BEGIN OF EU_KEY.
INCLUDE STRUCTURE RSEU1_KEY.
DATA END OF EU_KEY.
Status
DATA BEGIN OF STA OCCURS 0.
INCLUDE STRUCTURE RSMPE_STAT. " rel 4
DATA END OF STA.
Functions
DATA BEGIN OF FUN OCCURS 0.
INCLUDE STRUCTURE RSMPE_FUNT. "rel 4
DATA END OF FUN.
Menus
DATA BEGIN OF MEN OCCURS 0.
INCLUDE STRUCTURE RSMPE_MEN. "rel 4.0
DATA END OF MEN.
Menus (texts)
DATA BEGIN OF MTX OCCURS 0.
INCLUDE STRUCTURE RSMPE_MNLT. "rel 4.0
DATA END OF MTX.
Action Bar
DATA BEGIN OF ACT OCCURS 0.
INCLUDE STRUCTURE RSMPE_ACT. "rel 4.0
DATA END OF ACT.
Push Buttons
DATA BEGIN OF BUT OCCURS 0.
INCLUDE STRUCTURE RSMPE_BUT. "rel 4.0
DATA END OF BUT.
PF-Keys
DATA BEGIN OF PFK OCCURS 0.
INCLUDE STRUCTURE RSMPE_PFK. "rel 4.0
DATA END OF PFK.
Function sets
DATA BEGIN OF SET OCCURS 0.
INCLUDE STRUCTURE RSMPE_STAF. "rel 4.0
DATA END OF SET.
Documentation
DATA BEGIN OF DOC OCCURS 0.
INCLUDE STRUCTURE RSMPE_ATRT. "rel 4.0
DATA END OF DOC.
Title codes with text
DATA: BEGIN OF TIT OCCURS 0.
INCLUDE STRUCTURE RSMPE_TITT. "rel 4.0
DATA: END OF TIT.
DATA BEGIN OF FTX OCCURS 0. "rel 4.0
INCLUDE STRUCTURE RSMPTEXTS.
DATA END OF FTX.
rel 3.1 CUA components.
Status
DATA BEGIN OF OLD_STA OCCURS 0.
INCLUDE STRUCTURE RSEU1_GEN. " rel 3.1
DATA END OF OLD_STA.
Functions
DATA BEGIN OF OLD_FUN OCCURS 0.
INCLUDE STRUCTURE RSEU1_FUN. "rel 3.1
DATA END OF OLD_FUN.
Menus
DATA BEGIN OF OLD_MEN OCCURS 0.
INCLUDE STRUCTURE RSEU1_MEN. "rel 3.1
DATA END OF OLD_MEN.
Menus (texts)
DATA BEGIN OF OLD_MTX OCCURS 0.
INCLUDE STRUCTURE RSEU1_TXM. "rel 3.1
DATA END OF OLD_MTX.
Action Bar
DATA BEGIN OF OLD_ACT OCCURS 0.
INCLUDE STRUCTURE RSEU1_ACT. "rel 3.1
DATA END OF OLD_ACT.
Push Buttons
DATA BEGIN OF OLD_BUT OCCURS 0.
INCLUDE STRUCTURE RSEU1_BUT. "rel 3.1
DATA END OF OLD_BUT.
PF-Keys
DATA BEGIN OF OLD_PFK OCCURS 0.
INCLUDE STRUCTURE RSEU1_PFK. "rel 3.1
DATA END OF OLD_PFK.
Function sets
DATA BEGIN OF OLD_SET OCCURS 0.
INCLUDE STRUCTURE RSEU1_SET. "rel 3.1
DATA END OF OLD_SET.
Documentation
DATA BEGIN OF OLD_DOC OCCURS 0.
INCLUDE STRUCTURE RSEU1_ETM. "rel 3.1
DATA END OF OLD_DOC.
Title codes with text
DATA: BEGIN OF OLD_TIT OCCURS 0.
INCLUDE STRUCTURE TITLE. "rel 3.1
DATA: END OF OLD_TIT.
dynamic function text
DATA BEGIN OF FDN OCCURS 1.
INCLUDE STRUCTURE RSEU1_FDYN. "not req for rel 4.
DATA END OF FDN.
Icons
DATA BEGIN OF FIN OCCURS 1.
INCLUDE STRUCTURE RSEU1_ICON. "not req for rel 4
DATA END OF FIN.
dynamic menu texts
DATA BEGIN OF MDN OCCURS 1.
INCLUDE STRUCTURE RSEU1_MDYN. "not req for rel 4.
DATA END OF MDN.
Symbol list
DATA BEGIN OF SYM OCCURS 0.
INCLUDE STRUCTURE RSEU1_SYMB.
DATA END OF SYM.
Status Short text
DATA BEGIN OF STX OCCURS 0.
INCLUDE STRUCTURE RSEU1_CTX.
DATA END OF STX.
Attributes for function key settings (menu bars) Rel 3.0
DATA BEGIN OF ATT OCCURS 0.
INCLUDE STRUCTURE RSEU1_HAT.
DATA END OF ATT.
Include-Menus
DATA BEGIN OF INC OCCURS 3.
INCLUDE STRUCTURE RSEU1_INC.
DATA END OF INC.
Last used numbers
DATA BEGIN OF LAST.
INCLUDE STRUCTURE RSEU1_LST.
DATA END OF LAST.
data for call transaction (SE41 to re-generate the CUA)
DATA: BEGIN OF T_BDC_TAB OCCURS 0.
INCLUDE STRUCTURE BDCDATA. "BDC data
DATA: END OF T_BDC_TAB.
DATA: BEGIN OF T_MESSTAB OCCURS 0.
INCLUDE STRUCTURE BDCDATA.
DATA: END OF T_MESSTAB.
/ Program data */
DATA: NUMBER(4) TYPE N,
OLDNUM(4) TYPE N,
FILESIZE TYPE I,
NR_OF_BYTES TYPE I,
I(3) TYPE P,
IX(3) TYPE P,
J(3) TYPE P,
L(3) TYPE P,
CUA-FLAG(1) TYPE C,
CUA_RETURN(10) TYPE C,
DYNPRO_MESSAGE(160) TYPE C,
DYNPRO_LINE TYPE P,
DYNPRO_WORD(30) TYPE C,
NUM(3) TYPE N,
DYNNAME(44) TYPE C,
FN1(128) TYPE C,
FN2(128) TYPE C,
FN3(128) TYPE C,
W_ITERATE(1) TYPE C,
MAIN(1) TYPE C,
FUNC(1) TYPE C,
OLDNAME(40) TYPE C,
OLD-FUNC(8) TYPE C,
NEW-FUNC(8) TYPE C,
FOUND(1) TYPE C,
LANGUAGE LIKE SY-LANGU,
FIRST-TIME(1) TYPE C VALUE 'Y',
OK-CODE(5) TYPE C,
NAME(40) TYPE C, "rel 4
TXLINE(70) TYPE C,
LINE(132) TYPE C.
DATA:
UL_FILE(128) TYPE C,
DL_FILE(128) TYPE C,
DOSLINE(72) TYPE C.
DATA: BEGIN OF DOSDIR OCCURS 0,
TEXT(72),
END OF DOSDIR.
DATA: BEGIN OF I_PROG OCCURS 0,
NAME(40),
END OF I_PROG.
DATA: BEGIN OF I_PROGT OCCURS 0,
NAME(40),
END OF I_PROGT.
DATA: BEGIN OF I_INCLUDE OCCURS 0,
NAME(40),
HANDLED(1) TYPE C,
END OF I_INCLUDE.
DATA: BEGIN OF I_INCL OCCURS 0,
NAME(40),
END OF I_INCL.
DATA: BUFFER(1024).
DATA: WINSYS(3).
DATA: GLOBAL_FILEMASK_MASK(20), GLOBAL_FILEMASK_TEXT(20).
DATA: GLOBAL_FILEMASK_ALL(80).
DATA: T_FILENAME(128),
TMP_FILENAME(128),
T_MODE(1),
FIELDLN TYPE I.
DEFINE_TABLE I_DYNPFIELDS DYNPREAD 0. "dynpro fields to be updated
DATA: I_FLDS LIKE HELP_VALUE OCCURS 0 WITH HEADER LINE.
FIELD-SYMBOLS: <F>.
/ Parameters */
SELECTION-SCREEN BEGIN OF BLOCK A1 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN SKIP 1.
SELECT-OPTIONS REPID FOR TRDIR-NAME OBLIGATORY .
PARAMETERS:
FUNCTION(1) TYPE C OBLIGATORY, "Function
DSNAME(40) TYPE C, "Data set name
INCLUDES(1) TYPE C DEFAULT 'N', "Resolve Includes
IMASK(40) TYPE C, "Include Mask
CLASS LIKE TRDIR-CLAS,
AUTHOR LIKE TRDIR-CNAM, "Author
APPL LIKE TRDIR-APPL,
PATH(88) TYPE C DEFAULT 'A:\',
REL3(1) TYPE C.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(70) TEXT-004.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(70) TEXT-005.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(70) TEXT-002.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(70) TEXT-003.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK A1.
/ Check users workstation is running WINDOWS, */
/ WINDOWS 95, or WINDOWS NT. OS/2 no good for */
/ this application. */
CALL FUNCTION 'WS_QUERY'
EXPORTING
QUERY = 'WS'
IMPORTING
RETURN = WINSYS.
IF WINSYS(2) NE 'WN'. "Win 3.X no good either
WRITE: / 'Windows NT or Windows 95/98 is required'.
EXIT.
ENDIF.
/ Get names of programs to be handled. */
/ Name can be a single value, many values or ranges */
/ as per standard SELECT-OPTIONS on selection screen */
/ On Download read TRDIR and store program names in a table */
/ as per selection options. */
/ On upload read the specified directory for all files of */
/ type .EEE from specified directory */
/ compare file names with selection criteria */
MOVE FUNCTION TO FUNC.
MOVE 'Y' TO MAIN.
CASE FUNC.
WHEN 'U'. "Upload required
PERFORM READ_DOS_DIRECTORY.
PERFORM GET_RANGE_UL. "Get list of progs to process
WHEN 'D'. "Download required
PERFORM GET_RANGE_DL. "Get list of progs to process
WHEN OTHERS.
WRITE: / 'Function not performed due to user request'.
EXIT.
ENDCASE.
SORT I_PROG.
DELETE ADJACENT DUPLICATES FROM I_PROG.
For download INCLUDE handling can be resolved via function
module call.
All Includes within Includes are also resolved by the function
module call.
Note that this method does not work if program itself is of type
I (it's an include)
In this case we can still search the source.
IF FUNC = 'D'.
IF INCLUDES = 'Y'.
PERFORM GET_INCLUDES_DL.
PERFORM PROCESS_INCLUDES_DL.
ENDIF.
ENDIF.
Program list from selection criteria i.e excluding INCLUDES found
LOOP AT I_PROG.
MOVE I_PROG-NAME TO R1-NAME.
APPEND R1.
DESCRIBE TABLE R1 LINES I.
WHILE I NE 0.
PERFORM EXECUTE-FUNCTION.
ENDWHILE.
REFRESH R1.
ENDLOOP.
We need to check now for INCLUDES on DOWNLOAD when the INCLUDE
program itself is of type I. In this case the function call
will not return the INCLUDES. For example we could be
downloading ZTESTTOP (an Include itself) which as an include
ZTEST01.
The process fortunately is the same as the UPLOAD function
except of course we need to read the library instead of the
DOS directory
process INCLUDE modules for Upload
On upload the procedure is more complex as Includes within
Includes can only be resolved by scanning the code and
searching if the program exists in the directory.
To get all INCLUDES within INCLUDES entries in table I_INCL
that do not exist in I_INCLUDE are copied to table I_INCLUDE
after each entire pass of table i_INCLUDE and table is then
re-looped through. Programs in table I_INCLUDE that have already
been processed have a "Y" indicator set in I_INCLUDE-AVAIL.
if func = 'U'.
IF INCLUDES = 'Y'.
DESCRIBE TABLE I_INCL LINES I.
IF I > 0.
W_ITERATE = 'Y'.
ELSE.
W_ITERATE = ' '.
ENDIF.
WHILE W_ITERATE = 'Y'.
PERFORM PROCESS_INCLUDES_UL.
PERFORM LOOP_THROUGH.
DESCRIBE TABLE I_INCL LINES I.
IF I > 0.
W_ITERATE = 'Y'.
ELSE.
W_ITERATE = ' '.
ENDIF.
ENDWHILE.
endif.
ENDIF.
DESCRIBE TABLE I_INCLUDE LINES I.
IF I > 0.
SKIP 1.
WRITE: / ' Included Programs found'.
SKIP 1.
LOOP AT I_INCLUDE.
WRITE I_INCLUDE-NAME TO LINE(40).
CONDENSE LINE.
WRITE: / LINE(80).
ENDLOOP.
ENDIF.
/ Table R contains ABAP names to up / download. */
/ Loop through table R and perform up / download */
/ for each program. */
/ Table R1 contains INCLUDE names found (if any) */
/ As each */
FORM EXECUTE-FUNCTION.
LOOP AT R1.
MOVE-CORRESPONDING R1 TO R.
APPEND R.
ENDLOOP.
REFRESH R1.
LOOP AT R.
REFRESH : T, E1, H1, F1, S, U.
PERFORM PROCESS.
MOVE 'N' TO MAIN.
ENDLOOP.
REFRESH R.
DESCRIBE TABLE R1 LINES I.
ENDFORM.
/ Build file names for UP/DOWNLOAD */
/ 3 files are generated per ABAP. */
/ 1) ABAP Path\PROGNAME.EEE (ABAP, Attr,Texts) */
/ Logic Path\PROGNAME.EEE (Dynpro Source Logic) */
/ CUA Path\PROGNAME.EEE (CUA components - keys etc) */
/ 2) Header Path\PROGNAME.HHH (Dynpro Header) */
/ 3) Fields Path\PROGNAME.FFF (Dynpro Field definitions )*/
/ ( If alternate file name specified -DSNAME- this will */
/ be used instead. This is only valid for the main program. */
/ INCLUDED programs will have file names as specified */
/ above). */
/ By using this scheme it saves the user from having to */
/ be prompted for 3 file names. */
/ If you want multiple copies / versions on disk either */
/ rename the old versions or specify a different directory in */
/ the path parameter. */
FORM PROCESS.
MOVE PATH TO FN1.
CASE MAIN.
WHEN 'Y'.
IF DSNAME NE SPACE.
WRITE DSNAME TO FN1+66. "rel 4
ELSE.
WRITE R-NAME TO FN1+66. "rel 4
ENDIF.
WHEN OTHERS.
WRITE R-NAME TO FN1+66. "rel 4
ENDCASE.
MOVE FN1 TO FN2.
MOVE FN1 TO FN3.
WRITE '.HHH' TO FN1+124(4). "rel 4
WRITE '.FFF' TO FN2+124(4). "rel 4
WRITE '.EEE' TO FN3+124(4). "rel 4
CONDENSE FN1 NO-GAPS.
CONDENSE FN2 NO-GAPS.
CONDENSE FN3 NO-GAPS.
NAME = R-NAME.
CASE FUNC.
WHEN 'D'.
PERFORM DOWNLOAD_OBJECTS.
CLEAR LINE.
WRITE : 'ABAP : ' TO LINE.
WRITE R-NAME TO LINE+8.
WRITE 'has been unloaded' TO LINE+55.
CONDENSE LINE.
WRITE: / LINE.
DESCRIBE TABLE T LINES I.
IF I = 0.
WRITE: / 'No Dynpros were found for unload function'.
ELSE.
WRITE: / 'The following Dynpros have been unloaded : '.
PERFORM LOOP_THROUGH_T.
ENDIF.
WHEN 'U'.
PERFORM UPLOAD_OBJECTS.
DESCRIBE TABLE T LINES I.
CASE I.
WHEN 0.
WRITE: / 'No Dynpros were found for restore function'.
WHEN OTHERS.
WRITE: / 'The following Dynpros have been restored : '.
PERFORM LOOP_THROUGH_T.
ENDCASE.
IF MAIN EQ 'Y'.
CASE OLDNAME.
WHEN SPACE.
CLEAR LINE.
WRITE : 'ABAP : ' TO LINE.
WRITE R-NAME TO LINE+8.
WRITE 'has been restored' TO LINE+55.
CONDENSE LINE.
WRITE: / LINE.
WHEN OTHERS.
CLEAR LINE.
WRITE : 'ABAP : ' TO LINE.
WRITE R-NAME TO LINE+8.
WRITE 'has been restored - original name :'
TO LINE+55.
WRITE OLDNAME TO LINE+92.
CONDENSE LINE.
WRITE: / LINE.
ENDCASE.
ELSE.
CLEAR LINE.
WRITE : 'ABAP : ' TO LINE.
WRITE R-NAME TO LINE+8.
WRITE 'has been restored' TO LINE+55.
CONDENSE LINE.
WRITE: / LINE.
ENDIF.
ENDCASE.
ENDFORM.
/ print progname + dynpro nrs that have been processed. */
FORM LOOP_THROUGH_T.
LOOP AT T.
CLEAR LINE.
WRITE R-NAME TO LINE.
WRITE T-NUMBER TO LINE+50.
CONDENSE LINE.
WRITE: / LINE.
ENDLOOP.
ENDFORM.
/ Download Objects */
FORM DOWNLOAD_OBJECTS.
PERFORM UNLOAD_ABAP. "ABAP source, texts, attr
SELECT SINGLE * FROM TRDIR
WHERE NAME EQ R-NAME.
IF TRDIR-SUBC = 'I'.
CASE INCLUDES. "Included file wanted
WHEN 'Y'.
PERFORM SCAN4-INCLUDES.
ENDCASE.
ENDIF.
PERFORM UNLOAD_CUA. "CUA stuff
PERFORM DOWNLOAD_DATA. "Download EEE file to PC
PERFORM BUILD_T. "Build table of all dynpros in ABAP
DESCRIBE TABLE T LINES I.
CASE I.
WHEN 0. "if no dynpros exist then cannot download any
PERFORM DOWNLOAD_DATA. "Download EEE file to PC
WHEN OTHERS.
PERFORM UNLOAD_DYNPROS. "Get Raw dynpros from SAP
PERFORM UNLOAD_DYNPRO_COMPONENTS."Convert to table
PERFORM DOWNLOAD_DATA. "Download ABAP etc. to PC
PERFORM DOWNLOAD_BIN_H1. "Download dynpro header
PERFORM DOWNLOAD_BIN_F1. "Download dynpro fields
ENDCASE.
ENDFORM.
/ Split ABAP up into its component parts */
/ A) Program source (72) */
/ B) Texts (132) */
/ C) Attributes (117) */
/ D) CUA stuff (Various) */
FORM UNLOAD_ABAP.
/ Get ABAP language. Only required on download. */
SELECT SINGLE * FROM TRDIR
WHERE NAME EQ R-NAME.
MOVE TRDIR-RLOAD TO R-LANGUAGE.
READ REPORT R-NAME INTO S. "Get source into table S
MOVE '????SRCE' TO S-TXT.
INSERT S INDEX 1.
/ Text elements, Numbered texts, headings, selection texts */
/ Read text elements with logon language. If they don't */
/ exist read with the value taken from TRDIR. */
READ TEXTPOOL R-NAME INTO U LANGUAGE SY-LANGU.
IF SY-SUBRC NE 0.
READ TEXTPOOL R-NAME INTO U LANGUAGE R-LANGUAGE.
ENDIF.
DESCRIBE TABLE U LINES I.
CASE I.
WHEN 0.
WHEN OTHERS.
MOVE '????TEXT' TO S-TXT.
APPEND S.
LOOP AT U.
MOVE U-TXT TO S-TXT.
APPEND S.
DELETE U.
ENDLOOP.
ENDCASE.
/ Retrieve Attributes from TRDIR and add to table S */
/ Change language to logged on language */
MOVE '????ATTR' TO S-TXT.
APPEND S.
SELECT SINGLE * FROM TRDIR
WHERE NAME EQ R-NAME.
MOVE SY-LANGU TO TRDIR-RLOAD.
MOVE-CORRESPONDING TRDIR TO DIR.
MOVE DIR TO S-TXT.
APPEND S.
ENDFORM.
/ retrieve CUA stuff and append to table S. */
FORM UNLOAD_CUA.
MOVE R-NAME TO EU_KEY-NAME. "Program name for CUA
MOVE 'D' TO EU_KEY-SPRSL. "CUA seems to want D as lang
MOVE R-LANGUAGE TO EU_KEY-SPRSL. "Language "rel 2.2
IMPORT STA FUN MEN MTX ACT BUT PFK SET LAST INC STX DOC "rel 2.2
IMPORT STA STX FUN MEN MTX ACT BUT PFK SET LAST INC DOC "rel 3.0
ATT FDN MDN SYM FIN "rel 3.0
FROM DATABASE EUDB(CU) ID EU_KEY.
IF SY-SUBRC NE 0. "No statuses
EXIT.
ENDIF.
read titles in logged on language. If not present use
language from TRDIR.
CASE REL3.
WHEN SPACE. "(rel 4)
SELECT * FROM RSMPTEXTS WHERE PROGNAME EQ R-NAME
AND SPRSL = SY-LANGU.
MOVE-CORRESPONDING RSMPTEXTS TO FTX.
APPEND FTX.
ENDSELECT.
IF SY-SUBRC NE 0.
SELECT * FROM RSMPTEXTS WHERE PROGNAME EQ R-NAME
AND SPRSL = R-LANGUAGE.
MOVE-CORRESPONDING RSMPTEXTS TO FTX.
APPEND FTX.
ENDSELECT.
ENDIF.
DESCRIBE TABLE FTX LINES I.
IF I > 0.
MOVE '????FTXT' TO S-TXT.
APPEND S.
LOOP AT FTX.
MOVE FTX TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
WHEN OTHERS.
SELECT * FROM TITLE WHERE PROGNAME EQ R-NAME
AND DDLANGUAGE EQ SY-LANGU.
MOVE-CORRESPONDING TITLE TO TIT.
APPEND TIT.
ENDSELECT.
IF SY-SUBRC NE 0.
SELECT * FROM TITLE WHERE PROGNAME EQ R-NAME
AND DDLANGUAGE EQ R-LANGUAGE.
MOVE-CORRESPONDING TITLE TO TIT.
APPEND TIT.
ENDSELECT.
ENDIF.
ENDCASE.
DESCRIBE TABLE STA LINES I.
IF I > 0.
MOVE '????STAT' TO S-TXT.
APPEND S.
LOOP AT STA.
MOVE STA TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE FUN LINES I.
IF I > 0.
MOVE '????FUNC' TO S-TXT.
APPEND S.
LOOP AT FUN.
MOVE FUN TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE MEN LINES I.
IF I > 0.
MOVE '????MEN1' TO S-TXT.
APPEND S.
LOOP AT MEN.
MOVE MEN TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE MTX LINES I.
IF I > 0.
MOVE '????MTX1' TO S-TXT.
APPEND S.
LOOP AT MTX.
MOVE MTX TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE ACT LINES I.
IF I > 0.
MOVE '????ACTN' TO S-TXT.
APPEND S.
LOOP AT ACT.
MOVE ACT TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE BUT LINES I.
IF I > 0.
MOVE '????BUTN' TO S-TXT.
APPEND S.
LOOP AT BUT.
MOVE BUT TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE PFK LINES I.
IF I > 0.
MOVE '????PFKY' TO S-TXT.
APPEND S.
LOOP AT PFK.
MOVE PFK TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE SET LINES I.
IF I > 0.
MOVE '????SETS' TO S-TXT.
APPEND S.
LOOP AT SET.
MOVE SET TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
IF LAST NE SPACE.
MOVE '????LIST' TO S-TXT.
APPEND S.
MOVE LAST TO S-TXT.
APPEND S.
ENDIF.
DESCRIBE TABLE INC LINES I.
IF I > 0.
MOVE '????INCL' TO S-TXT.
APPEND S.
LOOP AT INC.
MOVE INC TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE STX LINES I.
IF I > 0.
MOVE '????STXT' TO S-TXT.
APPEND S.
LOOP AT STX.
MOVE STX TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE DOC LINES I.
IF I > 0.
MOVE '????DOCN' TO S-TXT.
APPEND S.
LOOP AT DOC.
MOVE DOC TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE TIT LINES I.
IF I > 0.
MOVE '????TITL' TO S-TXT.
APPEND S.
LOOP AT TIT.
MOVE TIT TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
Next 5 tables are rel 3.0 specific (ATT, FDN, MDN, SYM, FIN)
DESCRIBE TABLE ATT LINES I.
IF I > 0.
MOVE '????VATT' TO S-TXT.
APPEND S.
LOOP AT ATT.
MOVE ATT TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE FDN LINES I.
IF I > 0.
MOVE '????VFDN' TO S-TXT.
APPEND S.
LOOP AT FDN.
MOVE FDN TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE MDN LINES I.
IF I > 0.
MOVE '????VMDN' TO S-TXT.
APPEND S.
LOOP AT MDN.
MOVE MDN TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE SYM LINES I.
IF I > 0.
MOVE '????VSYM' TO S-TXT.
APPEND S.
LOOP AT SYM.
MOVE SYM TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE FIN LINES I.
IF I > 0.
MOVE '????VFIN' TO S-TXT.
APPEND S.
LOOP AT FIN.
MOVE FIN TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
ENDFORM.
/ Upload Objects. */
FORM UPLOAD_OBJECTS.
PERFORM UPLOAD_EEE. "ABAP,texts,attr dynpro logic
DESCRIBE TABLE E1 LINES I.
IF I > 0. "Do dynpro components exist
PERFORM UPLOAD_HHH. "dynpro header
PERFORM UPLOAD_FFF. "dynpro fields.
PERFORM RECONSTRUCT_DYNPROS. "load + gen dynpros
ENDIF.
ENDFORM.
/ Build table containing dynpro names and numbers */
FORM BUILD_T.
SELECT * FROM D020S WHERE PROG EQ R-NAME.
T-NUMBER = D020S-DNUM.
T-NAME = D020S-PROG.
APPEND T.
ENDSELECT.
ENDFORM.
/ Split dynpros into constituent parts. */
FORM UNLOAD_DYNPROS.
MOVE 'Y' TO FIRST-TIME.
LOOP AT T.
REFRESH: F, E.
CLEAR: H, F, E.
PERFORM BUILD_HHH. "Dynpro Header
PERFORM BUILD_FFF. "Dynpro Fields
PERFORM BUILD_EEE_DYNP. "Dynpro Logic
ENDLOOP.
ENDFORM.
/ Header H length 284. */
FORM BUILD_HHH.
MOVE T-NAME TO DYNNAME(40). "rel 4.
MOVE T-NUMBER TO DYNNAME+40(4). "rel 4.
IMPORT DYNPRO H F E M ID DYNNAME.
MOVE T-NAME TO H1-NAME.
MOVE T-NUMBER TO H1-NUMBER.
MOVE-CORRESPONDING H TO H1.
APPEND H1.
ENDFORM.
/ Fields D021S Len 87. */
FORM BUILD_FFF.
MOVE T-NAME TO F1-NAME.
MOVE T-NUMBER TO F1-NUMBER.
LOOP AT F.
MOVE-CORRESPONDING F TO F1.
APPEND F1.
DELETE F.
ENDLOOP.
ENDFORM.
/ Dynpro Logic D022S E */
FORM BUILD_EEE_DYNP.
MOVE T-NAME TO E1-NAME.
MOVE T-NUMBER TO E1-NUMBER.
LOOP AT E.
MOVE-CORRESPONDING E TO E1.
APPEND E1.
DELETE E.
ENDLOOP.
ENDFORM.
/ Unload Constituent parts of dynpro. */
FORM UNLOAD_DYNPRO_COMPONENTS.
MOVE '????LOGC' TO S-TXT.
APPEND S.
LOOP AT E1.
MOVE E1 TO S-TXT.
APPEND S.
DELETE E1.
ENDLOOP.
FREE E1.
LOOP AT T.
MOVE 'N' TO FOUND.
SELECT SINGLE * FROM D020T "use logged on language
WHERE PROG EQ T-NAME
AND DYNR EQ T-NUMBER
AND LANG EQ SY-LANGU.
IF SY-SUBRC NE 0. "try original language.
SELECT SINGLE * FROM D020T
WHERE PROG EQ T-NAME
AND DYNR EQ T-NUMBER
AND LANG EQ R-LANGUAGE.
ENDIF.
IF SY-SUBRC EQ 0.
IF FOUND = 'N'.
MOVE '????DTIT' TO S-TXT.
APPEND S.
MOVE 'Y' TO FOUND.
ENDIF.
MOVE T-NAME TO S-TXT.
WRITE T-NUMBER TO S-TXT+8(4).
WRITE D020T-DTXT TO S-TXT+12(60).
APPEND S.
ENDIF.
MOVE 'N' TO FOUND.
SELECT * FROM D021T
WHERE PROG EQ T-NAME
AND DYNR EQ T-NUMBER
AND LANG EQ SY-LANGU. "logged on language
IF FOUND = 'N'.
MOVE '????DTXT' TO S-TXT.
APPEND S.
MOVE 'Y' TO FOUND.
ENDIF.
MOVE-CORRESPONDING D021T TO DTXT.
MOVE DTXT TO S-TXT.
APPEND S.
ENDSELECT.
CASE SY-SUBRC.
WHEN 0.
WHEN OTHERS. "try original language
SELECT * FROM D021T
WHERE PROG EQ T-NAME
AND DYNR EQ T-NUMBER
AND LANG EQ R-LANGUAGE.
IF FOUND = 'N'.
MOVE '????DTXT' TO S-TXT.
APPEND S.
MOVE 'Y' TO FOUND.
ENDIF.
MOVE-CORRESPONDING D021T TO DTXT.
MOVE DTXT TO S-TXT.
APPEND S.
ENDSELECT.
ENDCASE.
ENDLOOP.
ENDFORM.
/ Build the original dynpro component tables. */
/ Table H1 contains 1 entry for each dynpro. H1 contains */
/ the header for the dynpro prefixed by the program name */
/ and dynpro number. */
/ By looping round this table we can re-build the F */
/ (Fields) and E (Logic) components. By stripping off the */
/ program name and dynpro number the original tables are */
/ re-created. (Tables F1 and E1 also have a prefix of */
/ Program name and dynpro nr). */
/ After the original set of tables has been re-created we */
/ use R3 - SYSTEM-CALL (rel 2.2) to generate the screen */
/ and then get the next entry in table H1 to build the */
/ next screen. For releases 3.0 and higher use generate */
/ dynpro. */
FORM RECONSTRUCT_DYNPROS.
LOOP AT H1.
CASE MAIN.
WHEN 'Y'.
if h1-name ne repid.
IF H1-NAME NE R1-NAME.
MOVE H1-NAME TO OLDNAME.
ENDIF.
ENDCASE.
PERFORM RECONSTRUCT_F.
PERFORM RECONSTRUCT_E.
MOVE-CORRESPONDING H1 TO H.
IF MAIN = 'Y'.
move repid to h-prog.
MOVE R1-NAME TO H-PROG.
move repid to dynname.
MOVE R1-NAME TO DYNNAME.
ELSE.
MOVE H1-NAME TO H-PROG.
MOVE H1-NAME TO DYNNAME.
ENDIF.
MOVE H1-NUMBER TO H-DNUM.
WRITE H1-NUMBER TO DYNNAME+40(4).
EXPORT DYNPRO H F E M ID DYNNAME.
SYSTEM-CALL GENERATE-SCREEN DYNNAME. "Up to rel 2.2
GENERATE DYNPRO H F E M ID DYNNAME "R 3.0, 4.0, 4.5
MESSAGE DYNPRO_MESSAGE
LINE DYNPRO_LINE
WORD DYNPRO_WORD.
REFRESH: M, F, E.
CLEAR: M, H, F, E.
ENDLOOP.
ENDFORM.
/ Re-build Fields table */
FORM RECONSTRUCT_F.
LOOP AT F1 WHERE NAME EQ H1-NAME AND
NUMBER EQ H1-NUMBER.
MOVE-CORRESPONDING F1 TO F.
APPEND F.
ENDLOOP.
ENDFORM.
/ Re-build Logic table */
FORM RECONSTRUCT_E.
LOOP AT E1 WHERE NAME EQ H1-NAME AND
NUMBER EQ H1-NUMBER.
MOVE-CORRESPONDING E1 TO E.
APPEND E.
ENDLOOP.
ENDFORM.
/ scan for included files (Upload) */
FORM SCAN4-INCLUDES.
IF FUNC = 'D'. "Downloads - whole table needs to be scanned
LOOP AT S.
PERFORM SEARCH-FUNC.
ENDLOOP.
ENDIF.
IF FUNC = 'U'. "On upload scan line by line as we are re-building abap
PERFORM SEARCH-FUNC.
ENDIF.
ENDFORM.
/ scan for text INCLUDE xxxxxxxx */
/ reject INCLUDE STRUCTURE as structure not a valid */
/ program name */
FORM SEARCH-FUNC.
CONDENSE S-TXT.
SEARCH S-TXT FOR '.INCLUDE .'.
CASE SY-SUBRC.
WHEN 0.
IF S-TXT+8(9) EQ 'STRUCTURE'
OR S-TXT+8(9) EQ 'structure'
OR S-TXT+8(6) EQ '<ICON>' "rel 3.0c 3.0d
OR S-TXT+8(6) EQ '<icon>'
OR S-TXT+8(6) EQ '<type>'
OR S-TXT+8(6) EQ '<TYPE>'
OR S-TXT+8(9) EQ '<methods>'
OR S-TXT+8(9) EQ '<METHODS>'.
EXIT.
ENDIF.
IF SY-FDPOS EQ 0. "INCLUDE must be in pos 1 (by reason of condense)
PERFORM VALIDATE_INCLUDE.
ELSE.
EXIT.
ENDIF.
ENDCASE.
ENDFORM.
/ Validate INCLUDES . */
FORM VALIDATE_INCLUDE.
SEARCH S-TXT FOR '...' STARTING AT 9 ENDING AT 39.
CASE SY-SUBRC.
WHEN 0.
WHEN OTHERS.
SEARCH S-TXT FOR '. .' STARTING AT 9 ENDING AT 38.
IF SY-SUBRC NE 0.
EXIT.
ENDIF.
ENDCASE.
IX = SY-FDPOS.
ASSIGN S-TXT+8(IX) TO <F>.
Now check for Include Mask for example if include mask was set to
Z* then only include programs whose first letter starts with a Z.
1) get length of the INCLUDE program name. Must be less than or
equal 40.
2) Compare it with the Include mask.
3) If Ok add include program name to include table
clear i_include.
move <f> to i_include-name.
CLEAR I_INCL.
SEARCH IMASK FOR '.*.'.
IF SY-SUBRC = 0.
CONDENSE IMASK.
ENDIF.
IF ( <F> CP IMASK OR IMASK = ' ' ).
READ TABLE I_INCL WITH KEY = <F>.
IF SY-SUBRC NE 0.
MOVE <F> TO I_INCL-NAME.
move 1 to i_include-count.
collect i_include.
APPEND I_INCL.
ENDIF.
ENDIF.
ENDFORM.
/ Download table S. */
FORM DOWNLOAD_DATA.
CLEAR TXLINE.
WRITE 'Downloading ' TO TXLINE.
WRITE R1-NAME TO TXLINE+12.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 0
TEXT = TXLINE
EXCEPTIONS
OTHERS = 1.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = FN3
FILETYPE = 'ASC'
TABLES
DATA_TAB = S.
ENDFORM.
/ Download Binary files H1 */
FORM DOWNLOAD_BIN_H1.
DESCRIBE FIELD H1 LENGTH J.
DESCRIBE TABLE H1 LINES I.
NR_OF_BYTES = I * J.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = FN1
FILETYPE = 'BIN'
BIN_FILESIZE = NR_OF_BYTES
IMPORTING
FILELENGTH = FILESIZE
TABLES
DATA_TAB = H1.
ENDFORM.
/ Download Binary files F1 */
FORM DOWNLOAD_BIN_F1.
DESCRIBE FIELD F1 LENGTH J.
DESCRIBE TABLE F1 LINES I.
NR_OF_BYTES = I * J.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = FN2
FILETYPE = 'BIN'
BIN_FILESIZE = NR_OF_BYTES
IMPORTING
FILELENGTH = FILESIZE
TABLES
DATA_TAB = F1.
ENDFORM.
/ Upload data from file .EEE */
FORM UPLOAD_EEE.
CLEAR TXLINE.
WRITE 'Uploading ' TO TXLINE.
WRITE R1-NAME TO TXLINE+10.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 0
TEXT = TXLINE
EXCEPTIONS
OTHERS = 1.
MOVE 'Y' TO FIRST-TIME.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = FN3
FILETYPE = 'ASC'
IMPORTING
FILELENGTH = NR_OF_BYTES
TABLES
DATA_TAB = S1.
LOOP AT S1.
IF S1-TXT(4) = '????'.
MOVE S1-TXT(8) TO NEW-FUNC.
IF FIRST-TIME = 'Y'.
MOVE S1-TXT(8) TO OLD-FUNC.
MOVE 'N' TO FIRST-TIME.
ELSE.
PERFORM STORE_COMPONENT.
MOVE NEW-FUNC TO OLD-FUNC.
ENDIF.
ENDIF.
IF S1-TXT(4) NE '????'.
PERFORM REBUILD-COMPONENT.
ENDIF.
ENDLOOP.
PERFORM STORE_COMPONENT. "last component still to be processed
PERFORM REBUILD-CUA. "re-build CUA, statuses, pfk etc
ENDFORM.
/ Upload Dynpro headers (HHH) and fields (FFF) */
/ titles and dynpro logic is contained in file .EEE */
/ and has already been processed. */
FORM UPLOAD_HHH.
CASE REL3.
WHEN 'X'.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = FN1
FILETYPE = 'BIN'
IMPORTING
FILELENGTH = NR_OF_BYTES
TABLES
DATA_TAB = H2.
LOOP AT H2.
MOVE H2-CNAME TO H1-NAME.
MOVE H2-CNUM TO H1-NUMBER.
MOVE H2-NNAME TO H1-PROG.
MOVE H2-NNUM TO H1-DNUM.
MOVE H2-CTIM TO H1-TGEN.
WRITE '19' TO H1-DGEN(2).
WRITE H2-CDAT TO H1-DGEN+2(6).
WRITE H2-FILL TO H1+88(39).
APPEND H1.
ENDLOOP.
WHEN OTHERS.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = FN1
FILETYPE = 'BIN'
IMPORTING
FILELENGTH = NR_OF_BYTES
TABLES
DATA_TAB = H1.
ENDCASE.
LOOP AT H1.
MOVE H1-NAME TO T-NAME.
MOVE H1-NUMBER TO T-NUMBER.
APPEND T.
ENDLOOP.
ENDFORM.
/ Upload Binary file F1 - Dynpro fields */
FORM UPLOAD_FFF.
CASE REL3.
WHEN 'X'.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = FN2
FILETYPE = 'BIN'
IMPORTING
FILELENGTH = NR_OF_BYTES
TABLES
DATA_TAB = F2.
LOOP AT F2.
OLD_F1 = F2.
APPEND OLD_F1.
ENDLOOP.
LOOP AT OLD_F1.
MOVE-CORRESPONDING OLD_F1 TO F1.
APPEND F1.
ENDLOOP.
WHEN OTHERS.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = FN2
FILETYPE = 'BIN'
IMPORTING
FILELENGTH = NR_OF_BYTES
TABLES
DATA_TAB = F1.
ENDCASE.
ENDFORM.
/ Re-construct data from file .EEE */
FORM REBUILD-COMPONENT.
CASE OLD-FUNC.
WHEN '????LOGC'. "Dynpro LOGIC.
CASE REL3.
WHEN 'X'.
SHIFT S1-TXT+8 RIGHT BY 32 PLACES.
ENDCASE.
MOVE S1-TXT TO E1.
APPEND E1.
/ Load ABAP Source code, CUA, pfkeys etc to int tables */
WHEN '????SRCE'.
MOVE S1-TXT TO S-TXT.
APPEND S.
CASE INCLUDES. "Included file wanted
WHEN 'Y'.
PERFORM SCAN4-INCLUDES.
ENDCASE.
if restoring / uploading rel 3.1 or lower different cua tables
are used. At generate CUA time these will be converted by the
system to rel 4.0
WHEN '????STAT'.
CASE REL3.
WHEN 'X'.
MOVE S1-TXT TO OLD_STA.
APPEND OLD_STA.
WHEN SPACE.
MOVE S1-TXT TO STA.
APPEND STA.
ENDCASE.
MOVE 'Y' TO CUA-FLAG.
WHEN '????FUNC'.
CASE REL3.
WHEN 'X'.
MOVE S1-TXT TO OLD_FUN.
APPEND OLD_FUN.
WHEN SPACE.
MOVE S1-TXT TO FUN.
APPEND FUN.
ENDCASE.
MOVE 'Y' TO CUA-FLAG.
WHEN '????MEN1'.
CASE REL3.
WHEN 'X'.
MOVE S1-TXT TO OLD_MEN.
APPEND OLD_MEN.
WHEN SPACE.
MOVE S1-TXT TO MEN.
APPEND -
I want to execute UNIX COMMAND in ABAP
Hi All,
I want to execute a UNIX XOMMAND sh <scriptname> <filename> to replace divsion codes.in ABAP.
But, I came to know that we can't (2) or try the following program but unfortunately the command CALL SYSTEM is not supported by SAP. If you are on R/3 2.1 - 2.2x you can get some idea's from the program SAPMSOS0.
REPORT ZUNIXCOM .
DATA: U_COMMAND(200).
Table for system messages
DATA: BEGIN OF RT OCCURS 100 ,
LINE(100) ,
END OF RT .
START-OF-SELECTION .
MOVE 'unix command' to U_COMMAND .
REFRESH RT.
CALL 'SYSTEM' ID 'COMMAND' FIELD U_COMMAND
ID 'TAB' FIELD RT-SYS .
LOOP AT RT.
WRITE : / RT-LINE .
ENDLOOP.
So please can u help me how to call a unix command from ABAP. it is very urgent. I want complete details and all possible solutions
<removed_by_moderator>
Thanks,
gyanaraj
Edited by: Julius Bussche on Aug 26, 2008 11:29 AMSelvaraj Gyanaraj wrote:>
> So please can u help me how to call a unix command from ABAP.
I was about to help you.
>it is very urgent.
I changed my mind.
>I want complete details and all possible solutions
I'm glad I changed my mind.
>Points are surely rewarded.
Too late. -
SAP ERP 2005 SR 2 IDES installation error in step "Run ABAP Reports"
Hello,
I'm installing SAP ERP 2005 SR 2 IDES on Win2003 R2 SP2 and Oracle 10.2 to create a test-system for my diploma thesis.
During the step "Import ABAP" I got the following message:
object_checker.log
ERROR: 2008-05-21 20:50:38
1 objects have error/ignore/execute or unknown status in the task lines.
Invalid objects are saved in 'invalid_objects.txt' file.
invalid_objects.txt
package object type action status
SAPDFACT ?N pkey create
but the installation went on until "Run ABAP Reports".
Warnings and Errors in sapinst.log are:
WARNING 2008-05-27 15:09:36
Execution of the command "C:\usr\sap\IMP\SYS\exe\uc\NTI386\stopsap.exe name=IMP nr=00 SAPDIAHOST=imperia-sap" finished with return code -1. Output:
STOPSAP: execution of C:\usr\sap\IMP\SYS\exe\uc\NTI386\sapntwaitforhalt.exe name=IMP nr=00 SAPDIAHOST=imperia-sap 3600 failed
Details are written to C:\Programme\sapinst_instdir\ERP\SYSTEM\ORA\CENTRAL\AS\stopsap.log
WARNING 2008-05-27 15:09:36
Could not stop instance 'DVEBMGS00' of SAP system IMP.
WARNING 2008-05-27 15:09:38
Connect to message server (imperia-sap/3900) failed: NIECONN_REFUSED.
WARNING[E] 2008-05-27 15:12:05
FSL-06002 Error 1060 (Der angegebene Dienst ist kein installierter Dienst.) in execution of a 'OpenService' function, line (266), with parameter (sapccmsr.00).
WARNING[E] 2008-05-27 15:21:42
FRF-00007 Unable to open RFC connection.
ERROR 2008-05-27 16:30:15
FRF-00025 Unable to call function. Error message: connection closed without message (CM_NO_DATA_RECEIVED) .
INFO 2008-05-27 16:30:19
RFC connection closed.
ERROR 2008-05-27 16:30:45
MUT-03025 Caught ERfcExcept in Modulecall: connection closed without message (CM_NO_DATA_RECEIVED).
ERROR 2008-05-27 16:30:47
FCO-00011 The step runRADDBDIF with step key |NW_Onehost|ind|ind|ind|ind|0|0|NW_Onehost_System|ind|ind|ind|ind|1|0|NW_CI_Instance|ind|ind|ind|ind|11|0|NW_CI_Instance_ABAP_Reports|ind|ind|ind|ind|2|0|runRADDBDIF was executed with status ERROR .
Full log of today is available at [http://pastebin.com/f43531f97]
Has anyone an idea how I can finish this installation?
Thx
DanieleIt seems that the system did not come up and thus the RFC call fails.
What´s the output of
dev_w0
dev_disp
(in the ...work directory)?
Markus -
Solution Manager Installation Fails at step Run ABAP Reports
I'm trying to install Solution Manager 4.0 on Windows 2003 using SQL 2005. The installation fails at the Run ABAP Reports step: Executing ABAP report RADDBDIF
I have logged in manually and run the RADDBDIF job in SE38 but I receive the same error message. My SAPTRANHOST is properly defined and so are the shares. Can anyone help? Thank!
Here's the sapinst_dev.log:
Calling function module: INST_RFC_GET_INTERFACE
INFO 2008-10-21 14:00:34.842 [iaxxrfcimp.cpp:1065]
CAbRfcImpl::performFunctionCall
Function call was successful.
TRACE 2008-10-21 14:00:34.842 [iaxxrfcimp.cpp:1066]
CAbRfcImpl::performFunctionCall
Function module call succesful: INST_RFC_GET_INTERFACE
INFO 2008-10-21 14:00:34.842 [iaxxrfcimp.cpp:924]
CAbRfcImpl::getRfcInterfaceSAP
Function interface generated successfully.
INFO 2008-10-21 14:00:34.842 [iaxxrfcimp.cpp:926]
CAbRfcImpl::getRfcInterfaceSAP
Technical properties of function set successfully.
INFO 2008-10-21 14:00:34.842 [iaxxrfcfls.cpp:107]
CRfcFuncRep::insFuncIf
Information for application function INST_EXECUTE_REPORT copied to local repository.
TRACE 2008-10-21 14:00:34.842 [iaxxrfcfls.cpp:108]
CRfcFuncRep::insFuncIf
Function interface entered into repository for INST_EXECUTE_REPORT
INFO 2008-10-21 14:00:34.842 [iaxxrfcimp.cpp:622]
CAbRfcImpl::setFunction
Function module INST_EXECUTE_REPORT set successfully.
TRACE 2008-10-21 14:00:34.842
2008-10-21 14:00:34.842 JSCo.setFunction() done: true
TRACE 2008-10-21 14:00:34.842
2008-10-21 14:00:34.842 JSCo.setParameter(PARA, [])
TRACE 2008-10-21 14:00:34.842
2008-10-21 14:00:34.842 JSCo.setParameter() done: true
TRACE 2008-10-21 14:00:34.842
2008-10-21 14:00:34.842 JSCo.setParameter(PROGRAM, RADDBDIF)
TRACE 2008-10-21 14:00:34.842
2008-10-21 14:00:34.842 JSCo.setParameter() done: true
TRACE 2008-10-21 14:00:34.842
2008-10-21 14:00:34.842 JSCo.execute()
INFO 2008-10-21 14:00:34.842 [iaxxrfcimp.cpp:1032]
CAbRfcImpl::callFunction
Executing function call INST_EXECUTE_REPORT.
TRACE 2008-10-21 14:00:34.842 [iaxxrfcimp.cpp:1056]
CAbRfcImpl::performFunctionCall
Calling function module: INST_EXECUTE_REPORT
ERROR 2008-10-21 14:00:35.045 [iaxxrfcimp.cpp:1089]
CAbRfcImpl::performFunctionCall
FRF-00025 Unable to call function. Error message: Exception condition "WRITE_FAILED" raised. .
TRACE 2008-10-21 14:00:35.045 [iaxxrfcimp.cpp:1090]
CAbRfcImpl::performFunctionCall
RFC failure or system exception raised
TRACE 2008-10-21 14:00:35.045 [iaxxrfcimp.cpp:1091]
CAbRfcImpl::performFunctionCall
Exception condition "WRITE_FAILED" raised.
INFO 2008-10-21 14:00:35.045 [iaxxbjsco.cpp:561]
CIaJSCo::disconnect_nothrow(000:DDIC:EN:nath02:00::SOL:)
RFC connection closed.
TRACE 2008-10-21 14:00:35.45 [iaxxejsbas.hpp:408]
handleException<ERfcExcept>()
Converting exception into JS Exception ERfcException.
TRACE 2008-10-21 14:00:35.045
Function setMessageIdOfExceptionMessage: modlib.jslib.caughtException
ERROR 2008-10-21 14:00:35.045
CJSlibModule::writeError_impl()
MUT-03025 Caught ERfcExcept in Modulecall: Exception condition "WRITE_FAILED" raised..
TRACE 2008-10-21 14:00:35.45 [iaxxejsbas.hpp:483]
EJS_Base::dispatchFunctionCall()
JS Callback has thrown unknown exception. Rethrowing.
ERROR 2008-10-21 14:00:35.45 [sixxcstepexecute.cpp:951]
FCO-00011 The step runRADDBDIF with step key |NW_Onehost|ind|ind|ind|ind|0|0|NW_Onehost_System|ind|ind|ind|ind|2|0|NW_CI_Instance|ind|ind|ind|ind|11|0|NW_CI_Instance_ABAP_Reports|ind|ind|ind|ind|2|0|runRADDBDIF was executed with status ERROR ( Last error reported by the step :Caught ERfcExcept in Modulecall: Exception condition "WRITE_FAILED" raised..).
TRACE 2008-10-21 14:00:35.61 [iaxxgenimp.cpp:752]
CGuiEngineImp::showMessageBox
<html> <head> </head> <body> <p> An error occurred while processing service SAP Solution Manager 4.0 Support Release 4 > SAP Systems > MS SQL Server > Central System > Central System( Last error reported by the step :Caught ERfcExcept in Modulecall: Exception condition "WRITE_FAILED" raised..). You may now </p> <ul> <li> choose <i>Retry</i> to repeat the current step. </li> <li> choose <i>View Log</i> to get more information about the error. </li> <li> stop the task and continue with it later. </li> </ul> <p> Log files are written to C:\Program Files/sapinst_instdir/SOLMAN/SYSTEM/MSS/CENTRAL/AS. </p> </body></html>
TRACE 2008-10-21 14:00:35.61 [iaxxgenimp.cpp:1255]
CGuiEngineImp::acceptAnswerForBlockingRequest
Waiting for an answer from GUIHello Amélie,
Check the file systems if you're not ran out of disk space.
Second, check the database if you've enough storage space left.
Hope it helps.
Cheers,
Satish. -
Want to have own selection screen in HR-ABAP report using LDB
Hi experts,
I am working on HR-ABAP report using LDB pnp and infotypes..But, here we get the built in selection criterion..but I want my own selection screen to be displayed..whats the solution for this??? Is it possible to create my own selection screen instead of default one..and how???
Please help me..its very urgent..Hi,
chk this out:
Create Report Categories
In this step, you define the report categories and determine the layout
of the standard selection screen for these report categories. You can
create report categories for programs or queries that are based on the
PNP or PNPCE logical databases.
The definition of report categories is divided into two sections:
o In the Change Report Category view, you define general attributes
such as sort order, input fields for date, and so on.
o In the Change Selection Criteria view, you define which selection
fields of the logical database should be avaliable on the selection
screen.
Example
You want to set up your system so that your employees can only start
evaluation reports for Payroll if they use a payroll area. Within a
payroll area, you should be able to select according to personnel
number. Additional selection criteria should not be possible and you
should not be allowed to enter a sort sequence.
Standard settings
The standard system already contains report categories. You can find the
attributes of the report categories in the table.
Note the following five report categories in particular:
o Report category ' ' is the SAP default report category for
programs that are based on the PNP logical database.
o Report category PNPCE is the SAP default category for programs that
are based on the PNPCE logical database.
o Report category '00000000' is the customer-specific default category
for programs that are based on the PNP logical database.
o Report category '0PNPCE' is the customer-specific default category
for programs that are based on the PNPCE logical database.
o Report category __X2001 is the default category for Queries that
are based on an InfoSet of the PNP LDB.
o Report category QUEPNPCE is the default category for queries that
are based on an InfoSet of the PNPCE LDB.
The default report categories are used when a report is called if
the report has not been assigned a report category.
Parameters and Options for Report Categories of the LDB PNP and PNPCE
Parameters and Options in Screen Area General Data
If you activate this parameter, you can only enter data on the data
selection period if you use reports that have been assigned. The
same date entries are then used for the person selection as for the
date selection.
o Matchcode allowed
If you activate this parameter, you have use of a Matchcode
pushbutton (search help) if you use reports that have been assigned.
This pushbutton enables you to perform the person selection.
o Sort allowed
If you activate this parameter, you have use of a Sort pushbutton if
you use report that have been assigned. This pushbutton enables you
to define a sort order before you execute the report.
o Organizational structure allowed
If you activate this parameter, you have use of an Org.Structure
pushbutton if you use reports that have been assigned. This
pushbutton enables you to perform the person selection.
Note:
For more information about these options, see the online
documentation under this path:
SAP Library -> Human Resources -> Reporting in Human Resources
Management -> Standard HR Reports -> Report Selection Screen in
Human Resources Management.
Parameters and Options in Screen Areas Data Selection Period/Person
Selection Period/Payroll Area/Period/Year
o Options for data selection period and person selection period (key
date and so on)
Here you define which options for date and person selection are
available for reports that have been assigned.
o Options for payroll area/period/year
Here you define which options for selection using payroll
area/period/year are available for reports that have been assigned.
Parameters and Options in Screen Area Selection View
o Type/Name
This parameter enables you to use selection views to define report
categories. You use the selection view selected here to determine
which fields are available in the Dynamic Selectionsy.
Note:
You create selection views for the PNP and PNPCE logical databases
in the Object Navigator (SE80):
1. Start the Object Navigator (SE80)
2. Choose Workbench -> Edit Object.
3. Choose the More... tab page and the Selection view on this tab
page.
4. Choose Create.
5. In the Create Selection View dialog box, choose the For any
tables option.
6. In the Name of view field, enter a name for your selection view.
7. In the Tables dialog box, enter the name of the table from which
you want to use fields.
Note:
When you enter the table name, observe the naming convention in
Personnel Administration:
Infotype number: nnnn -> table name: PAnnnn
8. Choose Continue.
9. In the Functional groups area, define functional groups by
assigning a name and a number.
10. Assign fields from the selected tables to the functional groups
by entering the number of the desired functional group in front of
each field.
11. Save your entries.
For more information about adjusting the dynamic selections using
your own selection views, see the online documentation under the
following menu path:
SAP Library -> Human Resources -> Reporting in Human Resources
Management -> HR Standard Reports -> Report Selection Screen in
Human Resources Management -> Enhancing the Selection Screen -
Dynamic Selections.
If you do not want to offer dynamic selections, make the following
settings:
- LDB PNP: In the Selection view field, enter PNP_NO_FREE_SEL.
- LDB PNPCE: Leave the Selection view field empty.
Parameters and Options in Screen Area Data Selection Period/Person
Selection Period/Payroll Area/Period/Year
o Available input parameters, date or period entry (today, key date,
all, and so on), and standard value.
Using the Standard value option, you define which of the selected
options is shown.
Parameters and Options in Screen Area CE Selection Fields
o CE selection fields (external person ID, grouping reason, grouping
value)
Using the options in this area, you define whether the external
person Id, grouping reason, or grouping value are available on the
selection screen.
Note:
These parameters are only relevant for you if you implement
Concurrent Employment (see also note 517071).
Parameters and Options in Screen Area Selection view
o Dynamic selections as dialog box
If this switch is set, you can call the dynamic selections as a
dialog box.
o Dynamic selections active
If this switch is set, the dynamic selections of the logical
database are active at the start of the report.
Note that the following combinations are possible for the last two
options mentioned:
Dyn.Sel. as dialog box/Dyn.Sel. active: inactive/inactive
Dyn.Sel. as dialog box/Dyn.Sel. active: inactive/active
Dyn.Sel. as dialog box/Dyn.Sel. active: active/inactive
Activities
1. Choose Edit -> New entries.
2. Enter an abbreviation and a long text for the report category.
The customer name range for report categories is 0-9.
3. Select the For the PNPCE logical database checkbox, if you want to
create a report category for a program or for queries of the PNPCE
logical database.
4. In the General Data screen area, choose the desired options.
If you want to use selection IDs, you must have first created and
grouped selection Ids. The IMG path to do this is given in the
parameter description section.
5. In the Data selection period/person selection period or Selection
period screen area, choose the desired options.
6. In the Selection view screen area, choose the desired options.
7. In the CE selection fields screen area, choose the desired (only
possible for report categories of the LDB PNPCE).
8. Save your entries.
9. Choose the subactivity Permitted selection criteria.
10. Choose Edit -> New entries.
11. In the Select option field, use the input help to select each field
that should be available on the selection screen.
12. Select the checkbox in the 1.page column, if you want this selection
field to be available directly when you call the selection screen.
Further notes
13. If you want to copy entries, you still have to enter the selection
parameters again in the subsequent screen.
o If you create the report category '000000000', a selection screen is
generated according to report category '00000000'for all reports for
which a report category has not explicitly been assigned.
Assign Report Categories
In this step, you assign a report category to your reports.
Example
You have created your own report, for example ZPCTEST1, and would like
it to have the selection screen that corresponds to that of the
evaluation report for Payroll, which is assigned to report category
'__M00001'.
Assign report category '__M00001' to the report.
Requirements
You must have defined the Report Categories.
Standard settings
SAP Standard Reports:
In the standard system, reports are assigned a report category. If you
want to override these assignments, perform the activities described
here. If you want to assign report categories to standard reports using
SE38, this represents a modification.
Customer-Specific Reports:
For reports you have developed yourself, you can either assign report
categories by performing the activities described here or directly in SE38.
Recommendation
Only assign a report category if you have created your own reports or if
the selection screens in the standard system do not meet your
requirements.
Activities
1. Choose Edit -> New entries.
2. Perform the required assignment using the Program name and Report
category fields.
3. Save your entries.
reward if helpful
regards,
madhumitha -
How to Call general ABAP Report in WDA?
Hi All,
Is it possible to run our general ABAP report in our WDA.
If yes how can i move....
Thanks & regards,
RaviDavid Pietroniro wrote:
> Hello,
>
> You can call your report using the SUBMIT command to call it like a job. Follow an example on how to do this (from ABAP Help).
> But this is only usefull if this report only process data and don't show data on screen, because this data can´t be showed in the web dynpro via write commands like described in the threads before.
>
> Regards.
Actually with a few changes you are close to a solution here. There is way to get the output of the report and convert it to HTML. You will need to have a little wrapper application around your report. You will have to run this wrapper as a background job or via RFC (pointing to destination NONE). Here is a sample:
* SELECTION SCREEN LAYOUT *
selection-screen begin of block two with frame title text-002.
parameter: prog like sy-repid.
parameter: vari1 like raldb-variant.
selection-screen end of block two.
.....Other Processing....
submit (prog) and return
exporting list to memory
using selection-set vari1.
call function 'LIST_FROM_MEMORY'
tables
listobject = itab
exceptions
not_found = 1.
if sy-subrc ne 0.
leave program.
endif.
call function 'WWW_HTML_FROM_LISTOBJECT'
exporting
* REPORT_NAME =
template_name = 'WEBREPORTING_REPORT'
tables
html = html_tab
listobject = itab.
Once the data is converted into HTML it is more usable from WD. You can't really display it directly within WD, but you could push it out as a file attachment from WD using cl_wd_runtime_services=>attach_file_to_response.
This is a lot of work and I still think it might be easier to fire a linkToURL or Exit Plug and navigate to the ITS/WebGUI. -
I have to modify the report output in about 6 different reports thats written with ABAP. I am looking for some type of tool to help me to rewrite the screen output.
It's very tedious to write the code using the 'Write AT'
command because these reports have lots of columns on the screens. I would be very helpful if I could find something that would allow me to paint the screens the way I want them and then it create the ABAP code.
Thanks for your helpSuch a tool does not exist. I agree, writing reports using the WRITE AT statement are very tedious to write and even more tedious to modify. This is why I usually write reports presenting data in an ALV grid. This way adding a column is really easy. You will not find any such tool to help you layout a report using WRITE statements.
The closest thing available is the SQ01 transaction where you are creating queries, here you have the ability to move columns around and add new columns using a semi-graphic layout tool, but again, this only works for queries, not other "report" programs.
Welcome to SDN! Please make sure to mark you post as solved when answered completely. Thanks.
Regards,
Rich Heilman -
Pushbutton on the application bar on an abap report
Hello All,
I need to have a pushbutton (labelled Download) on the application bar on the abap report screen .
This button should enable me to download the report contents in a file format (like excel).
Please can you guys help me acheive this.How should the button with this functionality be placed in application bar?
Thanks in advance for the kind help
SwatiHi Swathi,
In such case, as said above, create a new GUi status and then assign to the report using the below statement:
AT PFnn.
Effect
This obsolete statement defines an event block whose event is triggered by the ABAP runtime environment during list display - provided the screen cursor is on a list line and a function is selected using the function code PFnn. Here nn stands for a number between 01 and 24. In the standard list status, these function codes are assigned to the function keys of the input device.
Then what processing needs to be done when the user presses the button, will be written in the below control statement..
AT USER-COMMAND
Effect
This statement defines an event block whose event is triggered by the ABAP runtime environment if, during the display of a screen list, a function with a self-defined function code was chosen.
Note
Self-defined function codes are all those that include character combinations, except for the following:
The function codes "PICK" and "PFnn" ("nn"stands for 01 to 24) do not cause the event AT USER-COMMAND, but the events AT LINE-SELECTION and AT PFnn.
All function codes that start with the character "%" are interpreted as system functions and do not cause the event AT USER-COMMAND. The system functions for lists are listed in the following table 1.
The function codes in the following table 2, likewise, do not cause the event AT USER-COMMAND, but are handled by the list processor.
Table 1
Function code Function
%CTX Call a context menu
%EX Exit
%PC Save to file
%PRI Print
%SC Search for ...
%SC+ Find next
%SL Search in office
%ST Save to report tree
Table 2
Function code Function
BACK Back
P- Scroll to previous page
P-- Scroll to first page
P+ Scroll to next page
P++ Scroll to last page
PFILE name Store list lines in a text file named "abap.lst" in standard character representation in the standard directory of the application server. If a name is entered using name, this is converted to lowercase letters and used as the file name.
PL- Scroll to first line of the page
PL-n Scroll n lines back
PL+ Scroll to last line of the page
PL+n Scroll n lines up
PNOP No effect
PP- Scroll back one page
PP-n Scroll n pages back
PP+ Scroll one page forward
PP+n Scroll n pages forwad
PPn Scroll to beginning of page n
PRI, PRINT Print
PS-- Scroll to first column
PS++ Scroll to last column
PS- Scroll one column to the left
PS-n Scroll n columns to the left
PS+ Scroll one column to the right
PS+n Scroll n columns to the right
PSn Scroll to column n
PZn Scroll to line n
RW Cancel
Example
This program works with a self-defined GUI status MYLIST. The function that is linked there with the function code MY_SELECTION causes the event AT USER-COMMAND during list display and also creates details lists.
REPORT demo_at_user_command.
START-OF-SELECTION.
SET PF-STATUS 'MYLIST'.
WRITE 'List line'.
AT USER-COMMAND.
IF sy-lsind = 20.
SET PF-STATUS 'MYLIST' EXCLUDING 'MY_SELECTION'.
ENDIF.
CASE sy-ucomm.
WHEN 'MY_SELECTION'.
WRITE: / 'You worked on list', sy-listi,
/ 'You are on list', sy-lsind.
ENDCASE.
Regards
Shiva
Maybe you are looking for
-
Lack of support from Apple re iTunes.
For 4 weeks now I have been trying to get help from Apple and I have been sent from pillar to post! Initially, after downloading the latest version of iTunes, I found that I could no longer purchase any music. I was receiving: "An unknown error occur
-
Hi my name is kayla, I have three questionsfor you. Ihave a second generation ipod touch, that will not turn on and when i connec it to my charger it tells me to connect it to itunes. Why is my ipod telling me to do this? This brings me to my second
-
Getting error while creating callable object
Hi, I've created and deployed a DC using webdynpro. Now I want to create a callable object from portal I'm choosing the following options Guided Procedurers-->DesignTime>Create callable object-->userinterface>webdynprocomponent(GP interface) On enter
-
Itunes from hard drive to new computer
Hi All I have the following issue, I have my itunes (all music, tv shows,films andf iphone 4 back up) on an external hard drive that has 232GB of space I have read that i need to consolidate the libary to move it, but i have 137GB of information and
-
Vista 98se file sharing - risks worth it?
Vista Home Premium on wireless laptop and 98se on desktop, connected to WRT54G V8. Internet is working, fine. Is it worth it to set up a local network between the laptop and the desktop? Any risks? Vista said something about files now being public bu