ABAP Tips and Tricks

  • 5
  • 521 views
  • A+
所属分类:Notes

ABAP Tips and Tricks

Retrieving the deleted program

I recently deleted a custom program (which is already transported to production) accidentally and was wondering if there is any method of retrieving the program back. After some research, I found a way of getting back the program. Following are the steps in getting back the program:
1) Create a program with the same name as earlier (which is deleted)
2) Click on "Utilities" --> "Versions" --> "Version Management"
3) Select the version of your earlier program and click on display.
4) Your earlier program is displayed here

Find out in what all Tables a specified field is available.

You can find out through transaction code SE15.
1) Give SE15 on command prompt.
2) Select ABAP Dictionary
3) Select "fields" folder
4) Click on table fields
5) Then you can enter the desired field name (In your case EKGRP)
6) Run OR press F8.
The system will list out all the tables which contain your desired field name.
or
1) using transactin Code SE11( ABAP Dictionary)
2) enter the Data table name where-in the respective field (EKGRP) is used eg; EKKO
3) Click the where -used list button
4) Check out the box(DB tables) Only .
There you can see entire list of tables containing the desired field.
Here the difficulty is that one should know at least the name of the one of the data tables which contain the desired field.

Find the Table Name For a Field.

I know couple of ways to find the table name for a field.
like.
1. Part the cursor at the field and press F1 & F9.
2. se84 or se15
3. st05 (sql trace).
4. Setting Break point in ABAP.
If you will tell other methods it will be apreciate.

* How to print Apostrophe using the write statement

* For e.g. You'll be there.
*
report zapostrophe message-id z1.
DATA: LINE(20).
CONCATENATE 'You''' 'll be there.' INTO LINE.
WRITE:/ LINE.

Given a transaction code, how can I find the menu path?

In 4.6c, you can used tcode search_sap_menu to find the SAP MENU tcode.
Please note that there are no tcode available to find the path of the IMG transaction.

How to un-encrypt SAP user password?

It is not possible to un-encrypt the SAP password, because a one-way encoding (with strong 1024 bit key) is used for this. The result is stored and each time one has entered the password the encoding result is checked.

**********
When you delete an entry from an internal table in ABAP, the system has to re-generate the index for all entries after your delete, slowing the report if you have many records to eliminate.
It is much quicker to do an insert of the correct records into a second table than to delete entries from the first. The reason for this is because the index is only generated for the newest element.
**********
If you want to protect a program against debugging, you just have to set the STATUS = S in the attributes view of the main program.
**********

BDC.

When You use a call transaction ,and populate the BDCDATA table.
Make sure you pass the "DATE FIELDS" of any transaction by formatting it as "XX/XX/YYYY" cos if you pick this data from database it will be of the format 20030505 or something like that. Make sure You pass this value as character field.
Same is true for the "Rate Fields". Make sure you pass them as "Character Fields" by formatting them.
**********
If you need to find out the Okcodes for BDC sessions, look for program RSBDCCUA and run it for any platform say 'WN' for windows or MC for Mac and it will generate list of function codes
**********

To save the contents of an internal table as a Microsoft Excel Worksheet when debugging code in SAP R/3 Enterprise:

1. Click on the "Table" button
2. Type in the name of your internal table in the "Internal table" field and hit Enter.
3. Hit CTRL + F11 or click on the "Save as Excel Worksheet" button.
4. Type in the record numbers that you want to save. (Ex. From Line: 1 To Line: 10) Hit Enter.
5. Save your file.

Starts with a Z is homegrown program

You cannot be sure that anything which starts with a Z is a homegrown program.
SAP provide a number of correction programs, especially within the archiving area, which start with a Z.
For e.g. ZZSTOCKL from note 202345.

Can line-size of abap report large than 255?

You can have line-size upto 1023.
Along with Report statement pass the line-size as 1023. Ex. Report xyz line-size 1023.

How to find out the number of days between a given date, excluding Saturdays and Sundays and public holidays?

Try functions,
=> DATE_CONVERT_TO_FACTORYDATE
=> HR_HK_DIFF_BT_2_DATES

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:5   其中:访客  5   博主  0

    • ag

      1 FOR ALL ENTRIES in itab 不能为空,否则where条件不起作用。
      2 在使用FOR ALL ENTRIES之前应该排序,然后删除重复的项,否则重复读取数据库。

      • ag

        more info:https://wiki.scn.sap.com/wiki/display/ABAP/100+abap+questions

        • ag

          Some Useful Tables and Functional Modules

          To find all the tables used in a transaction use table : D010TAB (Get the main program of the transaction from SE93)
          To find all the tables which contains a specific field use table : DD03L ( For text DD03T)
          To find all the segments that contains a specific fields use table : EDSAPPL
          To find all the Idoc basic type that contains a specific segment use table: IDOCSYN
          To find all the Idoc extensions that contains a specific segment use table: CIMSYN
          To find all the parameter Id Use table : TPARA
          To get the main program of a include use FM : RS_GET_MAINPROGRAMS
          To get Function Modules and Includes Belonging to a Function Group : FUNCTION_INCLUDE_INFO, FUNCTION_INCLUDE_SPLIT
          To get all the inactive object by username Use table : DWINACTIV
          To get all the includes for any main program: table D010INC
          To get relations between classes/interfaces: table SEOMETAREL
          To find call relations between programs – function module – external subroutine calls etc: Table CROSS
          To find EDI Custom Extension Types use table : EDCIM
          To find the IDoc types use table : EDIDO ( Value table for IDoc types )
          To find IDoc Assignment of Function Module to logical message and IDoc type use table : EDIFCT
          To find IDoc Function Modules for creating file names use table : EDIFM
          To find EDI Message Types and Assignment to IDoc Types use table : EDIMSG
          To find all EDI segments of current release use table : EDSEA
          To find Views of customer model use table : TBD00 ( ALE Models )
          To find Communication relation between systems in ALE use table : TBD03
          To find Process code for outbound processing ( EDI ) use table : TEDE1
          To find Process code for inbound processing ( EDI ) use table : TEDE2
          To find Function modules for inbound ALE-EDI use table : TBD52
          To find all Status of IDoc use table : TEDS1

          • ag

            使用bdc导入数据时,数字字段请务必设置为文本格式(Excel),否则导入后的数字、尤其是小数会出问题。

            • ag

              查询bdc的fucntion code:执行程序RSBDCCUA