• Home
  • About me
  • FALV
  • ALV Grid in the nutshell
    • Basic Information
    • Field catalog
  • Articles
    • Tricks
    • FALV (Fast ALV Grid)
    • ALV Grid in the nutshell
    • Tips
    • How to...
    • For beginners
    • Thoughts
  • By Topic
    • ALV
    • ALV OO
    • SALV
    • GOS
    • Selection screen
    • Purchase Requisitions
    • Purchase Orders
    • Attachments
    • Others
    • Characteristics
    • Sample Programs
    • ZIP
    • OLE
    • Mails
    • Routings
    • EWB
    • Excel
  • Keywords
  • RSS
  • Download
  • Home
  • Articles
  • Tricks

ESDUS, ESRUO - MM settings table - Part 2/3

Details
Łukasz Pęgiel
Tricks
09 April 2014
Hits: 16908
Tags: ES_READ_USER_OBJECTS , ES_APPEND_USER_OBJECTS , ES_READ_USER_SETTINGS , ES_APPEND_USER_SETTINGS , ES_DELETE_USER_OBJECTS , ES_SAVE_USER_OBJECTS , ES_SAVE_USER_SETTINGS , ES_DELETE_USER_SETTINGS , ESDUS , ESRUO
ESRUO table and FM which takes care about reading/adding/deleting entries there was described in previous part ( ESDUS, ESRUO - MM settings table - Part 1/3 ), so now is the turn for ESDUS table and SETTINGS FMs.
 

ESDUS table keeps parameters mostly for MM transactions, here is the list of t-codes for which I found some entries inside ESDUS:

- IA05
- MB24
- MB25
- MB51
- MB52
- MB59
- MB5TD
- ME21N
- ME22N
- ME23N
- ME25
- ME2K
- ME32K
- ME3K
- ME51N
- ME52N
- ME53N
- ME54N
- ME55
- ME56
- ME57
- ME58
- ME5A
- ME5F
- ME5K
- ME5W
- ME80AN
- ME80FN
- ME80RN
- MIGO
- MIRO
- ML81N
- SA38
- SE38

As you see the list contains some important transactions and knowing about ESDUS can help a bit in the life of abaper.
Add a comment
Read more ...

ESDUS, ESRUO - MM settings table - Part 1/3

Details
Łukasz Pęgiel
Tricks
01 April 2014
Hits: 31023
Tags: ES_READ_USER_OBJECTS , ES_APPEND_USER_OBJECTS , ES_READ_USER_SETTINGS , ES_APPEND_USER_SETTINGS , ES_DELETE_USER_OBJECTS , ES_SAVE_USER_OBJECTS , ES_SAVE_USER_SETTINGS , ES_DELETE_USER_SETTINGS , ESDUS , ESRUO

Let's discus following scenarios with MM standard transactions:

  1. When you open one of the MM t-codes like ME22N, ME51N or MIGO you see that always you got on the screen one of the latest open document there. Sometimes not last but one of the lasts and you want to make it always last.

  2. You create MM documents using BAPI and you want that next time you open MM t-code which is used to display/edit this document then your document appears on the screen (of course if in the meantime user haven't created anything new)

  3. You have created your own transaction to handle standard process, like creation of purchase orders or purchase requisitions. This transaction is used only in some special occasion like only in case of account assignment category is equal to 'A'. In such case for all documents which are created by your Z-transaction you've set up in user-exit that when standard transaction is called, then you leave it to your Z-transaction. In this case often MM transactions remembers last opened document, which was created by Z-transaction and at each run it will leave to it, so you want to clear the info about last called document from standard t-code.

  4. You want to clear some default settings for the user (or set them) for standard t-code. This could be default value for some fields or toggle status of the section (for example header always expanded, items always collapsed. 

In all of this cases you'll want to look at tables:
  • ESRUO (MM: Recently Used Objects)
  • ESDUS (MM: Dynamic User Settings) 
and to function group MLSO which provides you few nice FM to handle entries in this tables: 
  • ES_READ_USER_OBJECTS
  • ES_APPEND_USER_OBJECTS
  • ES_DELETE_USER_OBJECTS
  • ES_SAVE_USER_OBJECTS
  • ES_READ_USER_SETTINGS
  • ES_APPEND_USER_SETTINGS
  • ES_SAVE_USER_SETTINGS
  • ES_DELETE_USER_SETTINGS
Add a comment
Read more ...

Enhanced MB51 Part 6 - ZMB51 program

Details
Łukasz Pęgiel
Tricks
28 March 2014
Hits: 26233
Tags: MB51 ENHANCEMENT , RM07DOCS , REUSE_ALV_FIELDCATALOG_MERGE , REUSE_ALV_GRID_DISPLAY , REUSE_ALV_VARIANT_F4 , SAPGUI_PROGRESS_INDICATOR , K_KKB_SELECTIONS_READ , GET_GLOBALS_FROM_SLVC_FULLSCR
We have all needed methods and implicit enhancement is also created so we can create a program to call MB51. We have to create a structure for ALV and include in it type t_list from our class which I've called  zab_mb51_call so you should be able to replace it with your own name fast. In my example I will add only few fields beside the one found in MB51, but you can choose as many as it's needed. 

types: begin of t_alv.
        include type t_list.
types: dispo like marc-dispo,
       ekgrp like marc-ekgrp,
       verid like blpk-verid,
       spart like mara-spart,
       bklas like mbew-bklas,
       rows type epsssrows,
       vendor_name type mepo_vendor,
       grtxt like t157e-grtxt,
       xabln like mkpf-xabln,
       bldat type mkpf-bldat,
      end of t_alv.

Selection-options which are the same as in MB51 should be coded with the same names so we can pass them to RM07DOCS by method call_mb51_static.
I used REUSE_ALV here just to be able to do it faster, but ALV OO can be used as well as SALV. If you copy the code bellow and you'll have problems with excel export, then you'll have ot remove it or install to your SAP abap2xlsx classes which I used in this function.
 
Program runs in following sequence:
  1. If one of the additional select-options is used then it does preselection and manipulates select-options passed to MB51
  2. Call of MB51
  3. Import of results and additional selection done on a base of the result table
  4. Output display
In attachments you'll find NUGG files for class and program.
Add a comment
Read more ...

Enhanced MB51 Part 5 - Export from MB51

Details
Łukasz Pęgiel
Tricks
28 March 2014
Hits: 10540
Tags: RM07DOCS , MB51 ENHANCEMENT , MB51 , EXPORT TO MEMORY ID
I can already call MB51 from previously created method but still I need to add an implicit enhancement into RM07DOCS so I'll be able to export results from MB51 and leave the program without displaying them. Enhancement must be done at the end of form process_list. 
 
 
I'll create a method to do the export inside MB51 with only one changing parameter, which will check if we're calling MB51 from our class and if yes then it will copy results of MB51 to memory and leave the program.

it_list type any table

Add a comment
Read more ...

Enhanced MB51 Part 4 - Call MB51

Details
Łukasz Pęgiel
Tricks
27 March 2014
Hits: 15570
Tags: MB51_NOLIST , MB51_FLAG , MB51 , RM07DOCS
I've got method to get selection screen parameters to table so I can call MB51 by submitting program RM07DOCS. Of course if I do that without any changes of parameters then I would get not this list which I want (ALV kind) and MB51 would display its results on screen. That's why I need to export to memory some flags, first two must be set to be able to achieve form process_list in RM07DOCS and to get the output table for ALV, last one is my own flag which I will use in implicit enhancement to check if I should proceed with my own code and close MB51 after I'll get the results.
  • export no_list from m_flag to memory id 'MB51_NOLIST'. 

  • export flag from m_flag to memory id  'MB51_FLAG'.

  • export flag from m_flag to memory id 'ZMB51_FULLLIST_EXPORT'.

After submitting MB51 I'm importing results to table mt_list which is used then to move data into corresponding fields of ct_list.
  • import export to mt_list from memory id 'ZMB51_FULLLIST_EXPORT'.
Add a comment
Read more ...

Enhanced MB51 Part 3 - Get selection parameters

Details
Łukasz Pęgiel
Tricks
27 March 2014
Hits: 8774
Tags: RS_REFRESH_FROM_SELECTOPTIONS , MB51 , RM07DOCS
As I have needed types I can start to create methods which I need. Firstly fast method the read select-option data from any program which will call our class. I will use here FM RS_REFRESH_FROM_SELECTOPTIONS . If you're thinking about it's restrictions to keep only 40 characters from screen parameters then please check your system as for some of the new versions this FM contains a table parameter of structure RSPARAMSL_255 which allows to store up to 255 characters.
 
Importing:

i_progname type sy-repid

Changing:

it_seltab type rsparams_tt

Implementation:

method get_selection_screen_criteria.

    call function 'RS_REFRESH_FROM_SELECTOPTIONS'     
    exporting
      curr_report     = i_progname
    
tables
      selection_table = it_seltab
    
exceptions
      not_found       = 1
      no_report       = 2
      others          = 3.
    case sy-subrc.
    when 0.
    when 1.
      "raise not_found.
    when 2.
      "raise no_report.
    when others.
      "raise other_error.
    endcase.

endmethod.

Add a comment

Enhanced MB51 Part 2 - Structure for data

Details
Łukasz Pęgiel
Tricks
27 March 2014
Hits: 13966
Tags: MB51 , MB51 ENHANCEMENT , RM07DOCS
I've decided which way should I go, so now time to do it. I need to do following things to get what I desired:
  • Create a function group or class to be able to reuse the solution in other programs also
  • Create implicit enhancement in MB51 to be able to export it's results and stop MB51 if it's called from outside
  • Create a program with selection screen fields from MB51 + my own desired additional filters. This program should call standard MB51 and display some additional fields in ALV Grid.
I prefer to create a class in which I will store all needed methods to call MB51 with selection-options filled and to get back the results. 
 
I will need a type for the structure which will be used as a base type to all copy / move functions from MB51 to class and program. Bellow you'll find a type t_list which contains most of the fields which are available in MB51 (structure list in RM07DOCS). Just after t_list you'll find type tt_list which is just table type for t_list.
Add a comment
Read more ...

Enhanced MB51 Part 1 - Goal and prerequisites

Details
Łukasz Pęgiel
Tricks
24 March 2014
Hits: 29077
Tags: MMIM_REP_CUST , MB51 , MB51 ENHANCEMENT , RM07DOCS
It think that some of you involved in MM or PP had already a request or need to add some fields to MB51 or to call it directly with ALV grid instead of old style view. I also had such request and it contained both needs - additional fields and direct display of ALV grid. So I started to dig and debug to see what is possible to do and these possibilities I found:
  1. Copy program RM07DOCS (MB51) to Z-one and to the changes there - but I don't like such solutions so I didn't want to do that way
     
  2. Create own program which selects data from MKPF and MSEG and display it like MB51 do - but this would be to time consuming to prepare same logic like in MB51 and in case of any changes in oryginal transaction I would need to adjust program again
     
  3. Do implicit enhancement in RM07DOCS to add missing fields to the field catalog and then fill them during the call of MB51 - this would solve the first part of the request but users will have to do additional two clicks to go to ALV grid which as you may know already is sometimes to much :) Nevertheless if someone of you would like to go this way then you should do two implicit enhancements in RM07DOCS:
    Add a comment
Read more ...

More Articles ...

  1. Range to search in lower case fields
  2. Extend allowed runtime of a program
  3. Copy routing (create on a base of existing one)
  4. Create XLSX/MHTML file from internal table in background
  5. Subtotal lines of ALV GRID OO as content separator
  6. Refresh ALV GRID and keep position and current cell
  7. Save message with attachment in Outlook's Drafts
  8. Zipping in IZArc with ABAP directly on PC
  9. Link Attachments of Purchase Requisition to Purchase Order
  10. Free global data of a program at once
Page 3 of 5
  • Start
  • Prev
  • 1
  • 2
  • 3
  • 4
  • 5
  • Next
  • End


Łukasz Pęgiel
GUI CUSTOM CONTAINER Copying is not poss CALL TRANSFORMATION FIELDCATALOG LVC FCAT REFRESH DATA ALV Grid in the nutshell Field catalog - no out CREATE COM ALV GRID FRIEND ABAP IN ECLIPSE Field catalog - just GET SELECTED ROWS ALV GRID IN THE NUTSHELL ALV GRID INTLEN DATATYPE IXML STREAM FACTORY DELETE USER SETTINGS COC1 FEATURE CHECK MB51 Field catalog - round STARTING NEW TASK SCAN ABAP-SOURCE ABAP DEVELOPMENTS TOOLS PURCHASE REQUISITION Keywords Field catalog - cfieldname SALV LEX FALV SAP TechEd 2016 RM07DOCS SAVE FIORI GOS - Link Business Documents from PR to PO PERIOD AND DATE CONVERT OUTPUT BCS MESSAGE MS07 ZDEMO FALV13 - Mix demo own screen and container FRONTEND SERVICES GTENVIRONMENT VARIABLE HEADER HANDLE MM- GTGET GOS MANAGER Create fieldcatalog from internal table ABAP ELEMDESCR CURRENCY QM ATTACHMENTS ECLIPSE PLUGIN SE41 Field catalog - symbol EXECUTE TABLE Selection-Screen Function Key in Form Convert date to and from external date type FILL MDLB FROM EBAN ROUND BOM PROVIDE MBM SAPGUI PROGRESS INDICATOR VIRTUALBOX TYPEDESCR Field catalog - currency
  • Laserowe usuwanie blizn Tychy
  • Laserowe usuwanie zmarszczek Tychy
  • Salon Kosmetyczny Tychy
  • Trycholog Tychy
  • Wypadanie włosów Tychy
Tweets by abapblog

Eclipse Plugins for ABAP

ABAP Favorites

Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client

ABAP ADT Extensions

Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client

ABAP Quick Fixes

Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client

 

Latest Articles

  • ABAP in Eclipse - Install, Configure, Use, and Enhance Your ADT
  • ALV Grid in the nutshell: Field catalog - col_id - ALV control: Column ID
  • ALV Grid in the nutshell: Field catalog - dfieldname – Fieldname for column group
  • ALV Grid in the nutshell: Field catalog - Hotspot - ALV control: SingleClick-sensitive
  • ALV Grid in the nutshell: Field catalog - sp_group - Group key
  • ALV Grid in the nutshell: Field catalog - domname - Domain name
  • ALV Grid in the nutshell: Field catalog - reprep - ALV control: Value is selection criterion for rep./rep.intf.
  • ALV Grid in the nutshell: Field catalog - reptext – Heading
  • ALV Grid in the nutshell: Field catalog - lowercase - Lowercase letters allowed/not allowed
  • ALV Grid in the nutshell: Field catalog - intlen - Internal Length in Bytes
  • Downloading Exchange Rates from NBP (National Bank of Poland)
  • Downloading Exchange Rates from Central Bank of Turkey
  • ABAP Extensions - Automatic Logon
  • ALV Grid in the nutshell: Field catalog - inttype - ABAP data type (C,D,N,...)
  • ALV Grid in the nutshell: Field catalog - datatype

Most Read

  • Create XLSX/MHTML file from internal table in background
  • Refresh ALV GRID and keep position and current cell
  • Create XLSX file from internal table in background v2
  • FALV (Fast ALV Grid)
  • ATC Pseudo Comments list
  • Call standard F4 search help with customized parameters
  • Dynamic GUI STATUS & TITLE with ABAP code
  • Create fieldcatalog from internal table
  • Link Attachments of Purchase Requisition to Purchase Order
  • GOS - How to add business documents at creation of object
  • Endless loop in BADI ME_PROCESS_PO_CUST
  • Create a nice looking chart with CL_GUI_CHART_ENGINE - Part 3 - Chart Data and render
  • How to access private or protected data and methods of CL_GUI_ALV_GRID
  • Subtotal lines of ALV GRID OO as content separator
  • Popup with multi-select ALV
feed-image Feed Entries

Latest Comments

ABAP code and articles provided on http://abapblog.com, if it is not statet otherwise, were created by Łukasz Pęgiel. You can use the code in your SAP instance for commercial and non-commercial use without any warranty from side of the author. You cannot sell the code as a full program or a part of it.
Replicating of the articles and code is prohibited unless the agreement of the author is given to you. 

Bootstrap is a front-end framework of Twitter, Inc. Code licensed under MIT License. Font Awesome font licensed under SIL OFL 1.1.