Abap Program Documentation's Translation
Hello, everybodey.
Does anyone how can I translate a documentation of an abap program ? I can't remember ...
The meaning is for the little "i" icon that is created by choosing "go to" --> Documentation.
Thanks in advance,
Rebeka
<b>IN 4.7 VERSION</b>
Goto transsaction SE63
In menu, goto <i>Utilities -> Settings</i>
In languages tab, choose the source and target languages, then click ok.
Now, in menu, chose <i>Translation -> R3/Enterprise -> Long texts (documentation)</i>
In the next screen find and double click the "RE" object type.
In next screen, in the object name: fill your report name. Then click edit.
Make your translation and "Save Active".
<b>IN SAP 4.6C</b>
Goto transsaction SE63
In menu, goto <i>Utilities -> Settings</i>
In languages tab, choose the source and target languages, then click ok.
Now, in menu, chose <i>Translation -> Long texts -> Other documentation -> Program documentation.</i>
In next screen, in the object name: fill your report name. Then click edit.
Make your translation and "Save Active".
That's it.
Similar Messages
-
Link in ABAP program documentation
Hi !
Can anybody tell me how to insert link in ABAP program documentation.
e.g. i want to insert a link 'Information on the form layout' in documentation.
When some one click on this it opens the documentation for 'Form Layout' in same window
Regards,
-HarkamalHello Harkamal,
I doubt about getting the documentation of the form layout thourgh link. We can get link of tcode, abap syntex, etc.
eg.
Link to tcode:
<DS:TRAN.MM03>MM03</>.
To insert link,
GO to documenation ... Insert > Link ...
select the document class from the dropdown help, give the keyword and name in the document.
regards,
Naimesh -
ABAP Program documentation -- calling web document
I would like to be able to have my ABAP Program call documentation from the Web when the user presses Shift/F1 or clicks on the Little Blue Information Icon. This is just a basic ABAP - no screen programming. I know how to call my documentation from the Web (see code below). I just don't know how to trigger it to happen. I'm sure it is simple ... can anyone help?
call function 'CALL_BROWSER'
exporting
url = http://iww.myweb.com/myhelpdoc.htm'
exceptions
frontend_not_supported = 1
frontend_error = 2
prog_not_found = 3
no_batch = 4
unspecified_error = 5
others = 6.I found the answer to my question ...
- Create a New Gui Status called main with Icons for help any whatever else. Call Help one INST
- In the Initialization section of your program code - set pf-status 'MAIN.
- In at selection screen section
case sscrfields-ucomm.
when 'INST'. "User instructions
call function 'CALL_BROWSER'
exporting
url = http://iww.myweb.com/myhelpdoc.htm'
exceptions
frontend_not_supported = 1
frontend_error = 2
prog_not_found = 3
no_batch = 4
unspecified_error = 5
others = 6.
clear sscrfields-ucomm.
endcase. -
ABAP program(SE38) documentation
Dear all,
I've save/create the abap program documentation via SE38, radiobutton "Documentation".
Right now, i need to know where does the text being stored. I did try on the STXH (FM READ_TEXT) but not success.
Please comment.
Thanks in advance.Hi,
You can use the FM: 'RS_TOOL_ACCESS' to call the documentation in your program.
If you really want to know where the doc. is stored, you can use ST05 to find it out yourself!
Here is a helpful sample of this FM.
call function ''RS_TOOL_ACCESS'
exporting
OPERATION = 'DOCS'
OBJECT_NAME = 'ZHCHTEST'
OBJECT_TYPE = 'PROG'
Try it yourself!
Best regards!
David Hu -
Reg. Translation of Program Documentation from German to English
Dear Experts,
Kindly help me in translating the Program Documentation from German to English version. I have searched the Previous Posts in Forum but still i am not able to find the right post.
Regards,
Ramesh ManoharanHi Ramesh,
To change the original language of an ABAP you need to copy it from the original into one development class - perhaps local - and then change the development class. When you go into edit the ABAP, you have the option of changing the original language. However, I can't find anything similar for the program documentation! As a workaround, you can use SE63 to modify the translation of the documentation for your copy.
Reddy -
ABAP Programming Guidelines not showing in ABAP Keyword Documentation
We are currently in the process of upgrading to Netweaver 7.0 EhP2
I have seen mentioned that the ABAP Keyword Documentation and ABAP Examples are now all provided in an improved ABAPDOCU transaction. In addition, the ABAPDOCU transaction is meant to also have a section on ABAP Programming Guidelines.
I have seen a screen example of what the ABAPDOCU screen now looks like (as shown in the mockup below). Our ABAPDOCU screen looks very similar except that there is no node for ABAP Programming Guidelines.
That is an area that I would like to have a closer look at. Have we missed something. Is this available as part of the standard 7.0 EhP2 install or does it need to be installed separately (or perhaps is this only available in a higher EhP). I've tried finding further information on this option but have not been able to come across anything. Does anyone know what would be involved (or if it is possible) to make this available in EhP2
Greg Milici
ABAP Developer
...V...ABAP Keyword Documentation
.......>...ABAP Overview
.......>...ABAP - Reference
.......>...ABAP - Short Reference
.......>...ABAP - Release-Specific Changes
.......>...ABAP Programming Guidelines
............ABAP Glossary
............ABAP Index
............ABAP Subject Directory
etc.Hi Greg,
When [searching|http://help.sap.com/search/sap_trex.jsp] the [documentation for NW 7.0.2|http://help.sap.com/nw702/] for ABAP keyword there are several documents that mention how you can find more details about ABAP keywords. For example, [Data Consistency|http://help.sap.com/saphelp_nw70ehp2/helpdata/en/41/7af4b6a79e11d1950f0000e82de14a/frameset.htm] mentions a menu in the ABAP Editor, and [New Features in Web Dynpro ABAP for Enhancement Package 2 (EhP2)|http://help.sap.com/saphelp_nw70ehp2/helpdata/en/54/07ec96bd5a4764be4996fff231b4de/frameset.htm] mentions the ABAPHELP transaction.
I suppose you could try to find if the documentation you need is installed on your system. Perhaps the [how do I Install SAP Document CD and SAP Library|how do I Install SAP Document CD and SAP Library; thread might be of help.
Best regards,
Rossen -
How to translate the key words in ABAp program from lower case to upper cas
How to translate the key words in ABAp program from lower case to upper case?
Hi Kittu,
You need to set the Pretty Printer settings to achieve key words in ABAP program from lower case to upper case.
Utilities -> Settings -> Pretty Printer (tab) -> Select third radio button.
Thats all.
<b>Reward points if this helps.
Manish</b> -
Documentation in ABAP Programming for ECC 6.0
Can Anybody tell me how to do documentation in ABAP Programming in SAP ecc 6.0
What are the options there ?
Also please let me know if there is a concept called "C DOCS".
Thanks
NareshHI,
In se38 ..give ur program name.
In menu Goto --> Documentation --> Change.
and press save.
Thanx
bgan. -
Documentation of abap program s
Hi to aall , how do we document abap programs?
pls tellHi,
You will be preparing a Technical Specification for the given Business functionality.And your part is to Pseudo logic about the coding approah.
Please find more details in this link
How do you prepare technical speck?
Regards
Bala -
Downloading and Uploading ABAP programs
I need to move a new GUI program (including all screens, include, subroutines, etc.) that was developed on our SAP 4.5 system to our new, upgraded, ECC 6.0 system.
There is an old ABAP program that we use to use called ZSABAPUPDOWNLOAD, but it no longer seem to work between these two SAP versions.
Because of the version differences between these tow systems, our BASIS group does not want us to use a transport to move this code.
Other than completely recreating this program on the ECC60 system, does anyone know of a program (like the old ZSABAPUPDOWNLOAD) or utility that I could use to transfer this program to the new system?welcome to SDN.
is this the program do u have.
if not check it with this.
REPORT ZUPDOWNPROGRAMS 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 also 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. -
ABAP Program back ground scheduling issue.
Hi experts,
I am trying to execute a ABAP program in a process chain but the job log shows me the following message
"Object XXXXXXX of class RE and language PT not exist"
XXXXX is the ABAP program name.
Even i tryed to excute the ABAP program itself in backgroud , but i am getting the same problem.
What´s the reason and how to solve this issue.
Message no. SF616
Best Regards,
RameshHi all,
following the complete message i was getting.
Object ZSALES_BACKUP of class RE and language EN does not exist.
Message no. SF616
Diagnosis
The specified documentation element is not in the system.
Procedure
Check that your entry is written correctly.
Regards,
Ramesh. -
Hi All,
How far are LDB's relevant to HR-ABAP Programming, are <u><i><b>select</b></i></u> statements absoultely obselete in HR-ABAP Programming. Here in our project we are only using select statements to retrieve date from infotypes. Is it a wrong programming practice? Is it absoultely necessay that we should only use LDB'S in HR-ABAP programming.
Basically got this doubt because whatever the SAP Documentation related to HR-ABAP Programming i found uses only LDB'S to retrive data. Please clarify my doubt.Hi vijay,
1. are select statements absoultely obselete in HR-ABAP Programming
Absolutely No.
(I have never read such thing)
(Further, all sap programs,
whether ldb or normal programs,
internally do use Select statements,
to fetch data)
2. Is it a wrong programming practice?
Absolutely No.
(If we know the hr tables
and if we know the correct select statement,
then there is no harm in using them)
3.
Is it absoultely necessay that we should only use LDB'S in HR-ABAP programming.
Its optional to use (not necessary)
I personally never use ldbs,
bcos
a) their selection screen is insufficient
b) their selection screen has extra fields
which are not required, and some times
not relevant for the requirement)
c) before using GET, i need to know
many things for showing to the user,
so for this, i explicitly have to write
my own code (ie.select statment)
regards,
amit m. -
ABAP program "SAPLCNTL" in "CHECK_OO": MESSAGE_TYPE_X
Hi,
I have a problem with a program with ALV-list. Sometimes it terminates with a dump. I can not reproduce the dumps and I can not find the reason for it. I do not know, if it only terminates on some clients.
In the program the alv table is refreshed with CL_GUI_ALV_GRID=>REFRESH_TABLE_DISPLAY. After this there is also a statement CALL METHOD cl_gui_cfw=>flush.
Can anyone help?
Kindly regards
Frank
Runtime Error MESSAGE_TYPE_X
Date and Time 11.11.2008 11:24:28
ShrtText
The current application triggered a termination with a short dump.
What happened?
The current application program detected a situation which really
should not occur. Therefore, a termination with a short dump was
triggered on purpose by the key word MESSAGE (type X).
What can you do?
Print out the error message (using the "Print" function)
and make a note of the actions and input that caused the
error.
To resolve the problem, contact your SAP system administrator.
You can use transaction ST22 (ABAP Dump Analysis) to view and administer
termination messages, especially those beyond their normal deletion
date.
is especially useful if you want to keep a particular message.
Error analysis
Short text of error message:
Control Framework: Invalid Processing of ABAP Object Control
Technical information about the message:
Diagnosis
You want to edit a control created with ABAP objects techniques
(class-based Control Framework) using a function module (function
module-based Control Framework). The system does not support this.
The Class ID of the control is SAP.DataProvider.1.
System response
The transaction is terminated.
Procedure
Contact the person responsible for the SAP System.
Message classe...... "DC"
Number.............. 007
Variable 1.......... "SAP.DataProvider.1"
Variable 2.......... " "
Variable 3.......... " "
Variable 4.......... " "
Variable 3.......... " "
Variable 4.......... " "
How to correct the error
Probably the only way to eliminate the error is to correct the program.
You may able to find an interim solution to the problem
in the SAP note system. If you have access to the note system yourself,
use the following search criteria:
"MESSAGE_TYPE_X" C
"SAPLCNTL" or "LCNTLF01"
"CHECK_OO"
If you cannot solve the problem yourself and you wish to send
an error message to SAP, include the following documents:
1. A printout of the problem description (short dump)
To obtain this, select in the current display "System->List->
Save->Local File (unconverted)".
2. A suitable printout of the system log
To obtain this, call the system log through transaction SM21.
Limit the time interval to 10 minutes before and 5 minutes
after the short dump. In the display, then select the function
"System->List->Save->Local File (unconverted)".
3. If the programs are your own programs or modified SAP programs,
supply the source code.
To do this, select the Editor function "Further Utilities->
Upload/Download->Download".
4. Details regarding the conditions under which the error occurred
or which actions and input led to the error.
System environment
SAP Release.............. "640"
Application server....... "gl3ap4"
Network address.......... "194.69.46.206"
Operating system......... "AIX"
Release.................. "5.3"
Hardware type............ "00C2809E4C00"
Character length......... 16 Bits
Pointer length........... 64 Bits
Work process number...... 8
Short dump setting....... "full"
Database server.......... "glince215"
Database type............ "ORACLE"
Database name............ "GL3"
Database owner........... "SAPSR3"
Character set............ "C"
SAP kernel............... "640"
Created on............... "Feb 18 2008 23:36:16"
Created in............... "AIX 1 5 00538A4A4C00"
Database version......... "OCI_920 "
Patch level.............. "221"
Patch text............... " "
Supported environment....
Database................. "ORACLE 9.2.0.*.*, ORACLE 10.1.0.*.*, ORACLE
10.2.0.*.*"
SAP database version..... "640"
Operating system......... "AIX 1 5, AIX 2 5, AIX 3 5, AIX 1 6"
Memory usage.............
Roll..................... 16192
EM....................... 16759424
Heap..................... 0
Page..................... 139264
MM Used.................. 4672968
MM Free.................. 3703952
SAP Release.............. "640"
User and Transaction
Client.............. 001
User................ "PB754"
Language key........ "D"
Transaction......... "ZVLA "
Program............. "SAPLCNTL"
Screen.............. "ZTCOCKPT 2000"
Screen line......... 4
Information on where terminated
The termination occurred in the ABAP program "SAPLCNTL" in "CHECK_OO".
The main program was "ZTCOCKPT ".
The termination occurred in line 178 of the source code of the (Include)
program "LCNTLF01"
of the source code of program "LCNTLF01" (when calling the editor 1780).
Source Code Extract
Line SourceCde
148 *---------------------------------------------------------------------*
149 * FORM %_CONTROL_DISPATCH *
150 *---------------------------------------------------------------------*
151 *
152 *---------------------------------------------------------------------*
153 * --> OKCODE *
154 *---------------------------------------------------------------------*
155 FORM %_CONTROL_DISPATCH.
156 * CALL FUNCTION 'CONTROL_DISPATCH'
157 * EXPORTING
158 * FCODE = SY-UCOMM
159 * EXCEPTIONS
160 * CB_NOT_FOUND = 1
161 * OTHERS = 2.
162 ENDFORM.
163
164 FORM REGISTERGLOBALOCXEVENT
165 USING SHELLID TYPE I EVENT TYPE I.
166 CALL METHOD OF CL_GUI_OBJECT=>H_GUI 'RegisterGlobalOCXevent'
167 NO FLUSH
168 EXPORTING #1 = SHELLID
169 #2 = EVENT.
170 ENDFORM.
171
172 form check_OO using p_handle type cntl_handle.
173 * check sy-uname = 'KSCHMIDT'.
174 call method cl_gui_cfw=>get_subscriber_by_id
175 exporting shellid = p_handle-shellid
176 exceptions others = 1.
177 if sy-subrc = 0.
>>>>> message X007 with p_handle-clsid.
179 endif.
180
181 endform.
182
183 form check_oo_2 using p_shellid type i.
184 data l_handle type cntl_handle.
185 * check sy-uname = 'KSCHMIDT'.
186 call method cl_gui_cfw=>get_subscriber_by_id
187 exporting shellid = p_shellid
188 exceptions others = 1.
189 if sy-subrc = 0.
190 call function 'CNTH_HANDLE_BY_SHELLID'
191 exporting shellid = p_shellid
192 importing h_control = l_handle
193 exceptions others = 1.
194 message X007 with l_handle-clsid.
195 endif.
196 endform.
Contents of system fields
Name Val.
SY-SUBRC 0
SY-INDEX 0
SY-TABIX 12
SY-DBCNT 1
SY-FDPOS 1
SY-LSIND 0
SY-PAGNO 0
SY-LINNO 1
SY-COLNO 1
SY-PFKEY STAT2000
SY-UCOMM NSEL
SY-TITLE ZTCOCKPT Cockpit: Transporte Aufträge Lieferungen
SY-MSGTY X
SY-MSGID DC
SY-MSGNO 007
SY-MSGV1 SAP.DataProvider.1
SY-MSGV2
SY-MSGV3
SY-MSGV4
Active Calls/Events
No. Ty. Program Include Line
Name
11 FORM SAPLCNTL LCNTLF01 178
CHECK_OO
10 FUNCTION SAPLCNTL LCNTLU13 16
CONTROL_DESTROY
9 FUNCTION SAPLCNDP LCNDPU07 22
DP_DESTROY
8 FUNCTION SAPLCNDP LCNDPU10 103
DP_CONTROL_ASSIGN_TABLE
7 METHOD CL_GUI_ALV_GRID_BASE==========CP CL_GUI_ALV_GRID_BASE==========CM01U 37
CL_GUI_ALV_GRID_BASE=>SET_TOOLBAR_BUTTONS
6 METHOD CL_GUI_ALV_GRID===============CP CL_GUI_ALV_GRID===============CM01M 52
CL_GUI_ALV_GRID=>SET_TOOLBAR
5 METHOD CL_GUI_ALV_GRID===============CP CL_GUI_ALV_GRID===============CM01P 432
CL_GUI_ALV_GRID=>SOFT_REFRESH_TABLE_DISPLAY
4 METHOD CL_GUI_ALV_GRID===============CP CL_GUI_ALV_GRID===============CM00T 116
CL_GUI_ALV_GRID=>REFRESH_TABLE_DISPLAY
3 MODULE (PBO) ZTCOCKPT ZTCOCKPT 652
PBO_ALV_2000
2 FORM ZTCOCKPT ZTCOCKPT 167
ALVAUSGABE
1 EVENT ZTCOCKPT ZTCOCKPT_INC 213
START-OF-SELECTION
Chosen variables
Name
Val.
No. 11 Ty. FORM
Name CHECK_OO
SY-REPID
SAPLCNTL
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
5454445422222222222222222222222222222222
310C3E4C00000000000000000000000000000000
%_VIASELSCR
0
4
P_HANDLE-SHELLID
128
0008
0000
BS_CENTER
768
0000
0030
%_DUMMY$$
0000
0000
2222
0000
FONT_ITALIC
1
0000
0001
SY-SUBRC
0
0000
0000
SY-XFORM
XAB_READ
000000000000000000000000000000
000000000000000000000000000000
544554442222222222222222222222
812F25140000000000000000000000
SY-MSGID
DC
00000000000000000000
00000000000000000000
44222222222222222222
43000000000000000000
SS_SIMPLE
11
0000
000B
SS_BLACKRECT
4
0000
0004
SPACE
0
0
2
0
SY-MSGNO
007
000
000
333
007
SY-MSGV1
SAP.DataProvider.1
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
54524676576766672322222222222222222222222222222222
310E414102F69452E100000000000000000000000000000000
P_HANDLE-CLSID
SAP.DataProvider.1
0000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000
5452467657676667232222222222222222222222222222222222222222222222222222
310E414102F69452E10000000000000000000000000000000000000000000000000000
SY-MSGV2
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
22222222222222222222222222222222222222222222222222
00000000000000000000000000000000000000000000000000
SY-MSGV3
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
22222222222222222222222222222222222222222222222222
00000000000000000000000000000000000000000000000000
SY-MSGV4
00000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000
22222222222222222222222222222222222222222222222222
00000000000000000000000000000000000000000000000000
No. 10 Ty. FUNCTION
Name CONTROL_DESTROY
NO_FLUSH
X
0
0
5
8
H_CONTROL
OBJHOLE2## 7263 ####
00000000FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000
44444443FF222222222222222222222222222222222223333222222222222222222222222222222222222222080022
F2A8FC52FF000000000000000000000000000000000007263000000000000000000000000000000000000000000A00
BS_DEFPUSHBUTTON
1
0000
0001
BS_LEFT
256
0000
0010
THIS_DUMMY_VALUE
0
0000
0000
BS_PUSHBUTTON
0
0000
0000
H_CONTROL-OBJ+16(4)
-1
FFFF
FFFF
SYST-REPID
SAPLCNTL
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
5454445422222222222222222222222222222222
310C3E4C00000000000000000000000000000000
H_CONTROL-HANDLE_TYPE
NO_OC
0000000000
0000000000
4454422222
EFFF300000
CNTL_TYPE_OCX
OCX
0000000000
0000000000
4452222222
F380000000
CNTL_TRUE
1
0000
0001
IS_ITSAC_767A497173BF11D28BB
0
0
2
0
AC_EXPORTS_4E238C5273BF11D28BB
Table[initial]
AC_EXPO_WA_4E238C5273BF11D28BB
000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2222222222222222222222222222222233333333322222222222222222222222222222222222222222222222222222
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
No. 9 Ty. FUNCTION
Name DP_DESTROY
H_DP
OBJHOLE2## 7263 ####
00000000FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000
44444443FF222222222222222222222222222222222223333222222222222222222222222222222222222222080022
F2A8FC52FF000000000000000000000000000000000007263000000000000000000000000000000000000000000A00
G_STRETCH_UNICODE_COLS_VALID
X
0
0
5
8
%_DUMMY$$
0000
0000
2222
0000
SY-SUBRC
0
0000
0000
SYST-REPID
SAPLCNDP
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
5454444522222222222222222222222222222222
310C3E4000000000000000000000000000000000Hi Frank,
I doubt it is related to function 'LVC_FIELDCATALOG_MERGE' since the current SAP help documentation talks about using this function for the purpose that I'm sure you are using it. The short dump states that the problem is caused by the use of an "old" function-module-based control framework function combined with the class-based OO CFW.
Diagnosis
You want to edit a control created with ABAP objects techniques
(class-based Control Framework) using a function module (function
module-based Control Framework). The system does not support this.
If you look at the call sequence in the short dump, function module 'CONTROL_DESTROY' is being called (which then calls function 'CHECK_OO' from which the error is sent). Function module 'CONTROL_DESTROY' is in function group CNTL which is part of the "old" function-module-based CFW.
Since the 'CONTROL_DESTROY' function is ultimately called as a result of your Z-program legitimately calling the standard SAP method CL_GUI_ALV_GRID=>REFRESH_TABLE_DISPLAY, I'd say you might want to consider opening a customer message with SAP providing as much detail and background as possible. But before you bother to do that (or while you are waiting to hear back from SAP) you may want to double-check your Z-program to make sure you aren't calling some other function modules from function groups CNTL or CNT0 (the "old" CFW function modules).
I've included just the call sequence from your short dump here for easier reference. Notice the order of the calls from 1 to 11, ending with functions 'CONTROL_DESTROY' and 'CHECK_OO'. I think 'CONTROL_DESTROY' may be causing the problem (??):
Active Calls/Events
No. Ty. Program Include Line
Name
11 FORM SAPLCNTL LCNTLF01 178
CHECK_OO
10 FUNCTION SAPLCNTL LCNTLU13 16
CONTROL_DESTROY
9 FUNCTION SAPLCNDP LCNDPU07 22
DP_DESTROY
8 FUNCTION SAPLCNDP LCNDPU10 103
DP_CONTROL_ASSIGN_TABLE
7 METHOD CL_GUI_ALV_GRID_BASE==========CP CL_GUI_ALV_GRID_BASE==========CM01U 37
CL_GUI_ALV_GRID_BASE=>SET_TOOLBAR_BUTTONS
6 METHOD CL_GUI_ALV_GRID===============CP CL_GUI_ALV_GRID===============CM01M 52
CL_GUI_ALV_GRID=>SET_TOOLBAR
5 METHOD CL_GUI_ALV_GRID===============CP CL_GUI_ALV_GRID===============CM01P 432
CL_GUI_ALV_GRID=>SOFT_REFRESH_TABLE_DISPLAY
4 METHOD CL_GUI_ALV_GRID===============CP CL_GUI_ALV_GRID===============CM00T 116
CL_GUI_ALV_GRID=>REFRESH_TABLE_DISPLAY
3 MODULE (PBO) ZTCOCKPT ZTCOCKPT 652
PBO_ALV_2000
2 FORM ZTCOCKPT ZTCOCKPT 167
ALVAUSGABE
1 EVENT ZTCOCKPT ZTCOCKPT_INC 213
START-OF-SELECTION
Regards,
Jamie
P.S. Please report back here if you find a solution (or if SAP finds one as a result of your customer message). -
Place symbols in ABAP Program Documenatation
Hi All,
I am preparing the documentation for ABAP Program.
From Main menu GOTO-->Dcouemnataion.
I want to place the symbol 'Empty circle'.
I am creating using Insert-->SAp symbols.But for evry symbol it is showing Square box.
What would be the pblm.How can i place empty circle in the documenatation.
Thanks,i have solved my self the pblm.For you information that SYM_CIRCLE is not working it is taking the symbol as Square box.
Swapna. -
ABAP program to Cancel messages in Scheduled/Recorded status?
Hi,
Thanks for reading my post...
Can anyone tell me whether there is an ABAP program available (or a variant) that will Cancel messages that are in Scheduled (or Recorded) status?
Messages to be sent from ECC to PI were not sent and are left in Recorded status in ECC. I cannot find the documentation to explain what this status is, but I'm presuming that it's similar to the Scheduled status in PI (though there's not much documentation about that either - for example, what's the difference between the 'green flag' Scheduled and the 'green flag' Released for Processing (WS)? ). {Note to SAP: Could we have a state transition diagram please? Simple, concise and effective.}
Anyway, the 'tick-pencil' button in SXMB_MONI (aka. CTRL-F8) can be used to cancel the messages in Scheduled/Recorded status. But I'm looking for an ABAP program to do this. The documentation seems to 'suggest' that this button might do the same thing as the ABAP program RSXMB_CANCEL_MESSAGES. However, this ABAP program does not cancel messages in Scheduled status (only the messages in Error), whereas the SXMB_MONI CTRL-F8 'tick-pencil' will cancel messages in Scheduled status if they are selected.
Is there another ABAP program available to cancel messages in Scheduled status - or is it possible to create a variant of RSXMB_CANCEL_MESSAGES that will do this? (I'm not an ABAP programmer and I've never created a variant, but looking at the code, it seemed it might be possible to get the program to read messages in Scheduled status rather than Error status.)
Many thanks for any help.
MarkMessages are in scheduled status because they still in the queue in either 'READY' status or 'EXECUTING' status (see SMQ1/SMQ2). You don't want to automatically cancel messages that are in scheduled status because that means you are also going to cancel good messages. However, in some cases, you may want to cancel such messages especially when the message in the queue has been in 'Executing' status for long time (happens in case of long running mapping program or dropped connection etc). Such cases warrant manual intervention and hence the behavior as noted by you.
If you can tell me why exactly you want to cancel messages that are in scheduled status, I can help you more.
Thanks
KK
Maybe you are looking for
-
Live links in PDFs generated from Microsoft Word 2008?
A couple of years ago, I was informed that my live links (bookmarks, indexmarks, etc.) in documents generated by Microsoft Word 2004 for the Macintosh did not become PDF live links in Acrobat Standard 7 because the Mac version from Microsoft Word 200
-
Changing page title based on a value
Just curious if it is possible to change the page title based on whether or not an item is null. If it is how? For example page title: If PX_ID is not null, the page title is View/Edit PRODUCTS. and If PX_ID is null, the page title is Add PRODUCTS. I
-
SQL7008 after terminating ENDJRNPF process
Hi All, I'm a newbie in DB2. In an attempt to disable journaling to prepare for a client copy, I executed: ENDJRNPF FILE(R3<SID>DATA/<file name>) JRN(*FILE) However the process took a long time, so I kill the pid for ENDJRNPF. Now I'm getting SQL7008
-
Flattening gradients with transparency issues * CS4
Hi guys, I've invested far too much time trying to figure this out. I have three squares (two gradients and one white) on different soft light values intersecting each other. I need to flatten this transparency for production purposes and I'm getting
-
Hi how can i log out the session using XML API? anybody have sample code for log out session using XML API through either javascript or c#? Thanks Palani