Table prmter E_T_DATA for extract missing & TYPE-POOL "RSAZT" is unknown
Hi
I have created generic extraction, the name of the FM is ZRSAX_BIW_GET_DATA_CRASS.
I have set parameter table E_T_DATA like this in Tables tab
E_T_DATA LIKE ZRPS_CRASS
Then I set transaction data extraction using tcode RSO2 using FM ZRSAX_BIW_GET_DATA_CRASS and structure ZRPS_CRASS, name the datasource : Z_COPA_CRASS
I have run rsa3 and get 563 data using this datasource (Z_COPA_CRASS) at the development system
But why when I transport this into QA and Production, I get these following error on transport log:
1 Table parameter E_T_DATA for extractor missing
2 TYPE-POOL 'RSAZT' is unknown (check using tcode se38, program name : SAPLZRSAX, include : LZRSAXTOP)
For no 1:
Why this error happen?I have set E_T_DATA to extraction structure correctly...I think...
For no 2:
When i check my development system, this type pool exist but when i check in production system, the type pool doesn't exist.
Anyone can solve my problem?Thank you.
Regards,
Satria
Hi Satria,
Go to SE37 -> give the FM name (dont click on display/change) -> on the menu bar -> Click on Go To -> Function groups -> Change Groups -> Get the Function group name. -> Just edit the Function Group description so that the Function group get collected in the TR. Also in the same window go to MAin program -> just reactivate and collect them in the TR.
The whole function group will be collected. Apart from these, also collect the Structure, Datasource and import it again.
This problem arised many times for me, i have re transported the function group and things used to work properly once the Trasnporting the Function group is successful
Regards
Sunil
Similar Messages
-
Function Module for RSAP001 requires Type Pool
Hi
I am not an ABAP Freak:
I want to set up a Function Module for RSAP0001.
Setting Import and / or Tables Parameters give an Activation error:
Type pool SBIWA has not been declared
Message no. FL031
Diagnosis:
You used a type from type pool & in the interface of a function module.
Procedure:
For the program to be syntactically correct, you must
declare the type pool in the global data declaration of the
function group using the 'TYPE-POOLS: &.' statement.
Where do I find the global data declaration of the
function group ?
Thank You
Best Wishes
MartinHi Martin,
When you click on the function group you will find many includes declared in it.
Some of them will be Include L<fgrp>UXX and there will be one include,
INCLUDE L<fgrp>TOP, this is the include in which you will have to make declarations, and here you will have to declare type pool.
Simply goto transaction SE38 and the the program name as L<functionfroupname>TOP and you can directly change this include.
Regards,
Durgesh. -
THE TYPE-POOL "FIBS" IS UNKNOWN
whenever declare and execute the this type-pool in alv program , i got this syntax error [ THE TYPE-POOL "FIBS" IS UNKNOWN ] and also i am using *abap trial version software7.0*
in abap trial there is no standard content (nothing like MM, HR etc.). Maybe this module pool is not avaiable in trial as well, because it is a part of some business content. Otto
-
Need interface tables in payables for invoices of type prepayment
hi all i am doing conversion in payables for invoices of type prepayments
the table which i am using are
AP_INVOICES_INTERFACE
AP_INVOICE_LINES_INTERFACE
can any one help me by giving correct interface tablesHi,
As far as I know, you can't import prepayments through AP Open Interface: it only supports importing invoice types 'STANDARD' and 'CREDIT'. One alternative would be importing them as standard invoices and, after loading them into AP, change invoice_type_lookup_code to PREPAYMENT.
Hope it helps,
Ketter Ohnes -
Issue with table ROOSPRMSF entries for data source 0FI_AP_4
Hi Experts,
I am facing with an issue where we found incosistencies with table ROOSPRMSF in R/3 system.
In BW , we have done initializations based on fiscal period selections (none of the selections overlap) for data source 0FI_AP_4.
We have done in total 7 initializations. So in BW system in table RSSDLINITSEL we have 7 initialization requests.
But in R/3 system we have 49 records for data source 0FI_AP_4 in ROOSPRMSF table out of which 42 are invalid records.
I suspect that these 42 invalid records are created due to the execution of program RSSM_OLTP_INIT_DELTA_UPDATE when the tables ROOSPRMSF are actually holding the 7 initialization request entries. Due to this each and every initialization request is linked to rest of the other intialization requests and ended with 49 records in table ROOSPRMSF table.
Now our data loads are running fine but daily a short dump is raised . In the daily loads, BW init records in RSSDLINITSEL are compared with ROOSPRMSF entries and all the other 42 records which are invalid are written into system log and a short dump is raised.
In order to fix these inconsistencies i checked for OSS note 852443. (Point 3 in OSS note)
But it is specified to delete the delta queue for data source 0FI_AP_4 in RSA7 and instructed to execute the program RSSM_OLTP_INIT_DELTA_UPDATE so that the ROOSPRMSF table will be reconstructed with valid records available in RSSDLINITSEL.
From OSS note 852443 point 3
"3. If the RSSDLINIT table in the BW system already contains entries, check the requests listed there in the RNR column in the monitor (transaction RSRQ). Compare these entries with the entries in the ROOSPRMSF and ROOSPRMSC tables with the INITRNR field. If, in the ROOSPRMSF and ROOSPRMSC tables for your DataSource source system combination, there are more entries with different INITRNR numbers, use transaction RSA7 in an OLTP source system to delete all entries and then use the RSSM_OLTP_INIT_DELTA_UPDATE report mentioned in the next section. For a DataMart source system, delete the entries that you cannot find in the RSSDLINIT table using the procedure described above."
My question is if we delete the delta queue in RSA7 then all the tables in R/3 (ROOSPRMSF, ROOSPRMSC, Time stamp table) and BW (RSSDLINITSEL, initialization requests will be deleted) will be cleared. Then how will the program RSSM_OLTP_INIT_DELTA_UPDATE copy entries into ROOSPRMSF table in R/3 ?
Could any one please clarify this ?
Thanks
Regards,
JeswanthHi Amarnath,
Did you unhide the new field in RSA6 and regenerated the DataSource?
Often SAP will populate newly added fields (belonging to the same (set) of table(s) used for extraction) automatically (e.g. SAP uses 'move-corresponding' in it's extractor-code, or, in this case, reading all fields from the DD, FM BWFIU_TRANSFORM_FIELDLIST).
If the DataSource looks fine to you and the field is still not populated in RSA3 you can't go without a user-exit.
Grtx,
Marco -
what is the type pool used for placing a drop down list box on the module pool screen
<b>TYPE-POOL</b>
The introductory statement TYPE-POOL can only be used for type groups (type T programs). A program introduced with the TYPE-POOL statement can only contain global type definitions and constants declarations. The CLASS-POOL statement is generated automatically where required by the ABAP Dictionary - you should not insert it into programs manually.
<b>example for ALV</b>
type-pools: slis.
data:
i_alv_fieldcat type slis_t_fieldcat_alv,
i_alv_sortcat type slis_t_sortinfo_alv,
i_alv_filtercat type slis_t_filter_alv,
i_alv_eventcat type slis_t_event,
i_alv_eventexitcat type slis_t_event_exit,
i_alv_spgroupcat type slis_t_sp_group_alv,
i_alv_excludingcat type slis_t_extab,
w_alv_selhide type slis_sel_hide_alv,
w_alv_isprint type slis_print_alv,
w_alv_keyinfo type slis_keyinfo_alv,
w_alv_layout type slis_layout_alv,
w_alv_variant type slis_layout_alv,
i_alv_list_top_of_page type slis_t_listheader,
w_alv_save(1) type c value 'A',
w_alv_default(1) type c value 'X',
w_alv_interface_check type c,
w_alv_sort_pos type i,
w_alv_screen_start_column type i,
w_alv_screen_start_line type i,
w_alv_screen_end_column type i,
w_alv_screen_end_line type i,
w_percentage_old type i value 1.
data: gt_events type slis_t_event,
ls_event type slis_alv_event,
g_repid type sy-repid,
w_callback_subroutine type slis_formname,
w_callback_program type sy-repid,
w_no_zero(1) value 'X',
w_alv_sortcat type slis_sortinfo_alv.
data: t_header type slis_t_listheader,
wa_header type slis_listheader,
t_line like wa_header-info.
reward points if it is usefull ...
Girish -
Split R3 table's records into detailed set of records for extracting to BI
Hello, everybody,
In R3 table i have records:
<i>Document_numberA-Material_numberA-Date1-Date2-Date3-Amount1-Amount2---Amount3</i>
I have extract data to BI ODS in format:
<i>Document_numberA-Material_numberA-Date1---Amount1
Document_numberA-Material_numberA-Date2---Amount2
Document_numberA-Material_numberA-Date3---Amount3</i>
<i>Document_numberB-Material_numberB-Date1---Amount1</i>
How i have define extractor and loading mechanism?
Could you give me a suggestion?
Thanks in advance.
Best Regards,
Arunas StonysHello, everybody,
I have created a START ROUTINE, but it doesn't replaces <b>YEARS</b> and <b>AMOUNTS</b>.
<b>Code:</b>
PROGRAM trans_routine.
CLASS routine DEFINITION
CLASS lcl_transform DEFINITION.
PUBLIC SECTION.
Attributs
DATA:
p_check_master_data_exist
TYPE RSODSOCHECKONLY READ-ONLY,
*- Instance for getting request runtime attributs;
Available information: Refer to methods of
interface 'if_rsbk_request_admintab_view'
p_r_request
TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.
PRIVATE SECTION.
TYPE-POOLS: rsd, rstr.
Rule specific types
TYPES:
BEGIN OF tys_SC_1,
Field: BANFN Paraikos nume..
BANFN TYPE C LENGTH 10,
Field: BANFPO Paraikos pozc..
BANFPO TYPE N LENGTH 5,
Field: TXZ01 Pavadinimas.
TXZ01 TYPE C LENGTH 40,
Field: FISTL Lėų centras.
FISTL TYPE C LENGTH 16,
Field: FKBER Programa.
FKBER TYPE C LENGTH 16,
Field: FIPOS Biud.straips..
FIPOS TYPE C LENGTH 14,
Field: GEBER Finan. altinis.
GEBER TYPE C LENGTH 10,
Field: FIPEX Straipsnis.
FIPEX TYPE C LENGTH 24,
Field: ZZYEAR1 Metai 1.
ZZYEAR1 TYPE N LENGTH 4,
Field: ZZYEAR2 Metai 2.
ZZYEAR2 TYPE N LENGTH 4,
Field: ZZYEAR3 Metai 3.
ZZYEAR3 TYPE N LENGTH 4,
Field: ZZSUM1 Suma 1.
ZZSUM1 TYPE P LENGTH 7 DECIMALS 2,
Field: ZZSUM2 Suma 2.
ZZSUM2 TYPE P LENGTH 7 DECIMALS 2,
Field: ZZSUM3 Suma 3.
ZZSUM3 TYPE P LENGTH 7 DECIMALS 2,
Field: WAERS Valiuta.
WAERS TYPE C LENGTH 5,
Field: BSART Paraikos tipas.
BSART TYPE C LENGTH 4,
Field: ERDAT Pakeista.
ERDAT TYPE D,
Field: RECORD Record Number.
RECORD TYPE RSARECORD,
END OF tys_SC_1.
TYPES:
tyt_SC_1 TYPE STANDARD TABLE OF tys_SC_1
WITH NON-UNIQUE DEFAULT KEY.
$$ begin of global - insert your declaration only below this line -
... "insert your code here
$$ end of global - insert your declaration only before this line -
METHODS
start_routine
IMPORTING
request type rsrequest
datapackid type rsdatapid
EXPORTING
monitor type rstr_ty_t_monitors
CHANGING
SOURCE_PACKAGE type tyt_SC_1
RAISING
cx_rsrout_abort.
METHODS
inverse_start_routine
IMPORTING
i_th_fields_outbound TYPE rstran_t_field_inv
i_r_selset_outbound TYPE REF TO cl_rsmds_set
i_is_main_selection TYPE rs_bool
i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
i_r_universe_inbound TYPE REF TO cl_rsmds_universe
CHANGING
c_th_fields_inbound TYPE rstran_t_field_inv
c_r_selset_inbound TYPE REF TO cl_rsmds_set
c_exact TYPE rs_bool.
ENDCLASS. "routine DEFINITION
$$ begin of 2nd part global - insert your code only below this line *
... "insert your code here
$$ end of 2nd part global - insert your code only before this line *
CLASS routine IMPLEMENTATION
CLASS lcl_transform IMPLEMENTATION.
Method start_routine
Calculation of source package via start routine
<-> source package
METHOD start_routine.
*=== Segments ===
FIELD-SYMBOLS:
<SOURCE_FIELDS> TYPE tys_SC_1.
DATA:
MONITOR_REC TYPE rstmonitor.
*$*$ begin of routine - insert your code only below this line *-*
... "insert your code here
DATA:
ls_SOURCE_PACKAGE type tys_SC_1,
lt_SOURCE_PACKAGE like table of ls_SOURCE_PACKAGE,
l_tabix like sy-tabix.
loop at SOURCE_PACKAGE into ls_SOURCE_PACKAGE.
l_tabix = sy-tabix.
ls_SOURCE_PACKAGE-BANFN = ls_SOURCE_PACKAGE-BANFN.
ls_SOURCE_PACKAGE-BANFPO = ls_SOURCE_PACKAGE-BANFPO.
ls_SOURCE_PACKAGE-TXZ01 = ls_SOURCE_PACKAGE-TXZ01.
ls_SOURCE_PACKAGE-FISTL = ls_SOURCE_PACKAGE-FISTL.
ls_SOURCE_PACKAGE-FKBER = ls_SOURCE_PACKAGE-FKBER.
ls_SOURCE_PACKAGE-FIPOS = ls_SOURCE_PACKAGE-FIPOS.
ls_SOURCE_PACKAGE-GEBER = ls_SOURCE_PACKAGE-GEBER.
ls_SOURCE_PACKAGE-FIPEX = ls_SOURCE_PACKAGE-FIPEX.
ls_SOURCE_PACKAGE-WAERS = ls_SOURCE_PACKAGE-WAERS.
ls_SOURCE_PACKAGE-BSART = ls_SOURCE_PACKAGE-BSART.
ls_SOURCE_PACKAGE-ERDAT = ls_SOURCE_PACKAGE-ERDAT.
ls_SOURCE_PACKAGE-RECORD = ls_SOURCE_PACKAGE-RECORD.
ls_SOURCE_PACKAGE-ZZYEAR1 = ls_SOURCE_PACKAGE-ZZYEAR1.
ls_SOURCE_PACKAGE-ZZSUM1 = ls_SOURCE_PACKAGE-ZZSUM1.
append ls_SOURCE_PACKAGE to lt_SOURCE_PACKAGE.
ls_SOURCE_PACKAGE-ZZYEAR1 = ls_SOURCE_PACKAGE-ZZYEAR2.
ls_SOURCE_PACKAGE-ZZSUM1 = ls_SOURCE_PACKAGE-ZZSUM2.
append ls_SOURCE_PACKAGE to lt_SOURCE_PACKAGE.
ls_SOURCE_PACKAGE-ZZYEAR1 = ls_SOURCE_PACKAGE-ZZYEAR3.
ls_SOURCE_PACKAGE-ZZSUM1 = ls_SOURCE_PACKAGE-ZZSUM3.
append ls_SOURCE_PACKAGE to lt_SOURCE_PACKAGE.
delete SOURCE_PACKAGE index l_tabix.
endloop.
move lt_SOURCE_PACKAGE[] to SOURCE_PACKAGE[].
*-- fill table "MONITOR" with values of structure "MONITOR_REC"
*- to make monitor entries
... "to cancel the update process
raise exception type CX_RSROUT_ABORT.
$$ end of routine - insert your code only before this line -
ENDMETHOD. "start_routine
Method inverse_start_routine
This subroutine needs to be implemented only for direct access
(for better performance) and for the Report/Report Interface
(drill through).
The inverse routine should transform a projection and
a selection for the target to a projection and a selection
for the source, respectively.
If the implementation remains empty all fields are filled and
all values are selected.
METHOD inverse_start_routine.
$$ begin of inverse routine - insert your code only below this line-
... "insert your code here
$$ end of inverse routine - insert your code only before this line -
ENDMETHOD. "inverse_start_routine
ENDCLASS. "routine IMPLEMENTATION
<b>Could you look at code and tell what is wrong?</b>
Thanks in advance!
Best Regards,
Arunas Stonys
Arunas Stonys -
How to extract error message for each output type.
Hi All,
Need your advice on the problem that I have.
Expected Solution:
1. Create an extra column for displaying header output error message from VF02 into a report program.
Steps that i have did:
1. Go to transaction VF02.
2. Enter a billing document number.
3. Hit enter. Click "Goto" > Header> Output
4. Click on the status that is red colour. Click on "processing log".
5. Press "F1" on the red colour message type. (Found out that it is a structure).
Need your advice on the question that I have:
1) How do we know that which "not successfully" process output type belong to which error message class?Hi Brad Bohn,
Thanks for your advice. I am so sorry about that. Thanks so much for your advice. And i have follow your advices and steps given by you. Appreciate it very much.
But for this issue about how to extract message for each output type. I have follow your steps by using SE30 to trace VF03 and I managed to found out that they are using this function module "WFMC_PROTOCOL_SHOW". Need your advice on this, how do we know each different output type with different error message is pulled from?
From my further research and in depth debugging into this function module, i manage to find this global internal table "PROTO_TAB" which stores all the text messages for each output. How does this internal table is populated?
Thanks in advance.
Regards
Shawn -
Dynamic Table UI Element with different data type for each cell
Hi Experts,
I have a problem with a dynamic Table UI Element in Web Dynpro ABAP. I have the following coding:
METHOD set_col_row .
TYPE-POOLS: icon.
DATA:
lv_node TYPE REF TO if_wd_context_node,
lv_node_info TYPE REF TO if_wd_context_node_info,
lv_element TYPE REF TO if_wd_context_element,
lt_attributes TYPE wdr_context_attr_info_map,
lv_table TYPE REF TO cl_wd_table,
lv_table_column TYPE REF TO cl_wd_table_column,
lv_text_view TYPE REF TO cl_wd_text_view,
lv_image TYPE REF TO cl_wd_image,
lv_text_edit TYPE REF TO cl_wd_text_edit,
lv_header TYPE REF TO cl_wd_caption,
attribute LIKE LINE OF lt_attributes,
lv_index TYPE string,
lv_cur_row TYPE i,
path TYPE string,
lv_value TYPE string,
attr_name TYPE string,
l_trc_point_id TYPE string,
l_num_cols TYPE string,
l_num_rows TYPE string,
lv_text TYPE string,
lv_index2 TYPE i,
lr_ress_selections TYPE REF TO /its/di_2_cpr_ress_selections,
lt_comp_tab TYPE cl_abap_structdescr=>component_table,
ls_comp_tab LIKE LINE OF lt_comp_tab,
lv_count TYPE i,
lv_col_count TYPE i,
lv_col_count_read TYPE i,
lv_index_read TYPE i,
lv_num_cols_minus_1 TYPE i,
lv_bind_lv_value TYPE string,
wd_standard_cell TYPE REF TO cl_wd_table_standard_cell,
lv_data_count TYPE i,
lv_data_count_str TYPE string,
wd_table_column TYPE REF TO cl_wd_table_column,
lv_column_id TYPE string.
FIELD-SYMBOLS:
TYPE ANY.
Instanz der Klasse /ITS/DI_2_CPR_RESS_SELECTIONS
lr_ress_selections = /its/di_2_cpr_ress_selections=>factory( ).
ASSIGN lr_ress_selections->gr_table->* TO gt_comp_tab.
ls_comp_tab-name = 'SUMME'.
APPEND ls_comp_tab TO lt_comp_tab.
ls_comp_tab-name = 'CELL_VARIANT'.
APPEND ls_comp_tab TO lt_comp_tab.
CLEAR ls_comp_tab.
l_num_rows = num_rows + 1.
CONDENSE l_num_rows.
l_num_cols = num_columns + 1.
CONDENSE l_num_cols.
UI-Element 'TABLE'
lv_table ?= wd_this->m_view->get_element( 'TBL_TABLE' ).
lv_table->remove_all_columns( ).
Kontext-Knoten 'TABLE'
lv_node = wd_context->get_child_node( 'TABLE' ).
lv_node_info = lv_node->get_node_info( ).
lv_node_info->remove_dynamic_attributes( ).
attribute-type_name = 'STRING'.
lv_num_cols_minus_1 = num_columns - 1.
Für jede Spalte einmal tun
DO lv_num_cols_minus_1 TIMES.
lv_index = sy-index + 1.
CONDENSE lv_index.
lv_table_column = cl_wd_table_column=>new_table_column( ).
lv_column_id = lv_table_column->id.
Spaltenüberschriften setzen
IF lv_index EQ 1. "Beim ersten Durchlauf --> erste Spalte = "Ressourcen"
lv_text = text-010.
sy-index = 0.
ELSE. "Danach für jede weitere Spalte eine Zeile aus der gt_comp_tab nehmen
lv_index_read = lv_index - 1.
READ TABLE lt_comp_tab INDEX lv_index_read INTO ls_comp_tab.
lv_text = ls_comp_tab-name.
lv_header = cl_wd_caption=>new_caption( text = lv_text ).
lv_table_column->set_header( lv_header ).
ENDIF.
CONCATENATE 'TABLE.A' lv_index INTO path.
lv_text_view = cl_wd_text_view=>new_text_view( bind_text = path ).
lv_table_column->set_table_cell_editor( lv_text_view ).
lv_table_column->bind_selected_cell_variant( 'TABLE.CELL_VARIANT' ).
lv_table->add_column( lv_table_column ).
wd_table_column ?= wd_this->m_view->get_element( lv_column_id ).
*****************Test Cell Variant*************************************************
IF lv_index GT 1.
LOOP AT .
IF sy-tabix EQ lv_cur_row.
Name zuweisen
ASSIGN COMPONENT 'NAME' OF STRUCTURE .
Zuweisen ob Blatt oder nicht
lv_element->set_attribute( name = 'NAME' value = lv_value ).
ASSIGN COMPONENT 'IS_LEAF' OF STRUCTURE set_attribute( name = attr_name value = lv_value ).
ENDIF.
ENDLOOP.
Now my problem is, that I need for every ROW of my table UI Element a different cell editor. I know how to change it for the column. But is not my issue. I want to have images (traffic lights red and green) in some rows. The other rows should have numbers. The coding works, so that I have all the data at the right place in my table, only the images are shown as a string, because the cells of these rows have the cell editor Text_View. I tried something with cell variants (with cl_wd_table_standard_cell), but it was not possible for me to get a cell variant "image" in these cells/rows were I need it.
I hope you understand my problem and now what to do here.
Thanks a lot in advance.
Best Regards,
IngmarHi Experts, I have a problem with a dynamic Table UI Element in Web Dynpro ABAP. I have the following coding: METHOD set_col_row . TYPE-POOLS: icon. DATA: lv_node TYPE REF TO if_wd_context_node, lv_node_info TYPE REF TO if_wd_context_node_info, lv_element TYPE REF TO if_wd_context_element, lt_attributes TYPE wdr_context_attr_info_map, lv_table TYPE REF TO cl_wd_table, lv_table_column TYPE REF TO cl_wd_table_column, lv_text_view TYPE REF TO cl_wd_text_view, lv_image TYPE REF TO cl_wd_image, lv_text_edit TYPE REF TO cl_wd_text_edit, lv_header TYPE REF TO cl_wd_caption, attribute LIKE LINE OF lt_attributes, lv_index TYPE string, lv_cur_row TYPE i, path TYPE string, lv_value TYPE string, attr_name TYPE string, l_trc_point_id TYPE string, l_num_cols TYPE string, l_num_rows TYPE string, lv_text TYPE string, lv_index2 TYPE i, lr_ress_selections TYPE REF TO /its/di_2_cpr_ress_selections, lt_comp_tab TYPE cl_abap_structdescr=>component_table, ls_comp_tab LIKE LINE OF lt_comp_tab, lv_count TYPE i, lv_col_count TYPE i, lv_col_count_read TYPE i, lv_index_read TYPE i, lv_num_cols_minus_1 TYPE i, lv_bind_lv_value TYPE string, wd_standard_cell TYPE REF TO cl_wd_table_standard_cell, lv_data_count TYPE i, lv_data_count_str TYPE string, wd_table_column TYPE REF TO cl_wd_table_column, lv_column_id TYPE string. FIELD-SYMBOLS: LIKE LINE OF lt_attributes, TYPE ANY TABLE, TYPE ANY, TYPE ANY, TYPE ANY. * Instanz der Klasse /ITS/DI_2_CPR_RESS_SELECTIONS lr_ress_selections = /its/di_2_cpr_ress_selections=>factory( ). ASSIGN lr_ress_selections->gr_table->* TO . lt_comp_tab = lr_ress_selections->gt_comp_tab. ls_comp_tab-name = 'SUMME'. * APPEND ls_comp_tab TO lt_comp_tab. * ls_comp_tab-name = 'CELL_VARIANT'. APPEND ls_comp_tab TO lt_comp_tab. CLEAR ls_comp_tab. l_num_rows = num_rows + 1. CONDENSE l_num_rows. l_num_cols = num_columns + 1. CONDENSE l_num_cols. * UI-Element 'TABLE' lv_table ?= wd_this->m_view->get_element( 'TBL_TABLE' ). lv_table->remove_all_columns( ). * Kontext-Knoten 'TABLE' lv_node = wd_context->get_child_node( 'TABLE' ). lv_node_info = lv_node->get_node_info( ). lv_node_info->remove_dynamic_attributes( ). attribute-type_name = 'STRING'. lv_num_cols_minus_1 = num_columns - 1. * Für jede Spalte einmal tun DO lv_num_cols_minus_1 TIMES. lv_index = sy-index + 1. CONDENSE lv_index. lv_table_column = cl_wd_table_column=>new_table_column( ). lv_column_id = lv_table_column->id. * Spaltenüberschriften setzen IF lv_index EQ 1. "Beim ersten Durchlauf --> erste Spalte = "Ressourcen" lv_text = text-010. sy-index = 0. ELSE. "Danach für jede weitere Spalte eine Zeile aus der gt_comp_tab nehmen lv_index_read = lv_index - 1. READ TABLE lt_comp_tab INDEX lv_index_read INTO ls_comp_tab. lv_text = ls_comp_tab-name. lv_header = cl_wd_caption=>new_caption( text = lv_text ). lv_table_column->set_header( lv_header ). ENDIF. CONCATENATE 'TABLE.A' lv_index INTO path. lv_text_view = cl_wd_text_view=>new_text_view( bind_text = path ). lv_table_column->set_table_cell_editor( lv_text_view ). lv_table_column->bind_selected_cell_variant( 'TABLE.CELL_VARIANT' ). lv_table->add_column( lv_table_column ). wd_table_column ?= wd_this->m_view->get_element( lv_column_id ). ******************Test Cell Variant************************************************** IF lv_index GT 1. LOOP AT ASSIGNING . ASSIGN COMPONENT 'TYPE' OF STRUCTURE TO . ADD 1 TO lv_data_count. lv_data_count_str = lv_data_count. CONCATENATE 'A' lv_index lv_data_count_str INTO path. wd_standard_cell = cl_wd_table_standard_cell=>new_table_standard_cell( view = wd_this->m_view variant_key = 'FLDATE' ). IF = '01' OR = '04'. lv_image = cl_wd_image=>new_image( bind_source = path view = wd_this->m_view ). wd_standard_cell->set_editor( lv_image ). wd_standard_cell->set_cell_design( '01' ). ELSE. lv_text_view = cl_wd_text_view=>new_text_view( bind_text = path view = wd_this->m_view ). wd_standard_cell->set_editor( lv_text_view ). wd_standard_cell->set_cell_design( '02' ). ENDIF. wd_table_column->add_cell_variant( wd_standard_cell ). ENDLOOP. ENDIF. ************************************************************************************* CONCATENATE 'A' lv_index INTO attribute-name. lv_node_info->add_attribute( attribute ). ENDDO. DO num_rows TIMES." Für jede Zeile einmal tun lv_cur_row = sy-index. lv_element = lv_node->create_element( ). lv_node->bind_element( new_item = lv_element set_initial_elements = abap_false ). DO l_num_cols TIMES. ADD 1 TO lv_col_count. IF lv_count LT 1. LOOP AT ASSIGNING . IF sy-tabix EQ lv_cur_row. * Name zuweisen ASSIGN COMPONENT 'NAME' OF STRUCTURE TO . "NAME lv_value = . * Zuweisen ob Blatt oder nicht lv_element->set_attribute( name = 'NAME' value = lv_value ). ASSIGN COMPONENT 'IS_LEAF' OF STRUCTURE TO . "NAME lv_value = . lv_element->set_attribute( name = 'IS_LEAF' value = lv_value ). ENDIF. ENDLOOP. ENDIF. IF lv_count GT 0. lv_col_count_read = lv_col_count - 1. lv_index = sy-index. LOOP AT ASSIGNING . IF sy-tabix EQ lv_cur_row. CLEAR ls_comp_tab. READ TABLE lt_comp_tab INDEX lv_col_count_read INTO ls_comp_tab. ASSIGN COMPONENT ls_comp_tab-name OF STRUCTURE TO . lv_value = . CONDENSE lv_index. CONCATENATE 'A' lv_index INTO attr_name. lv_element->set_attribute( name = attr_name value = lv_value ). ENDIF. ENDLOOP. ENDIF. lv_count = lv_count + 1. ENDDO. CLEAR lv_col_count. CLEAR lv_count. ENDDO. ENDMETHOD. I definied my table in Layout Tab of the View and create here in thos method dynamicly my columns. lv_table_column = cl_wd_table_column=>new_table_column( ). . . lv_table->add_column( lv_table_column ). In I have my data that should be shown later in my table. So I create for each row in this fieldsymbol in a loop: lv_element = lv_node->create_element( ). lv_node->bind_element( new_item = lv_element set_initial_elements = abap_false ). Later I fill every cell in my table with a different value with this loop: LOOP AT ASSIGNING . IF sy-tabix EQ lv_cur_row. CLEAR ls_comp_tab. READ TABLE lt_comp_tab INDEX lv_col_count_read INTO ls_comp_tab. ASSIGN COMPONENT ls_comp_tab-name OF STRUCTURE TO . lv_value = . CONDENSE lv_index. CONCATENATE 'A' lv_index INTO attr_name. lv_element->set_attribute( name = attr_name value = lv_value ). ENDIF. ENDLOOP. Now my problem is, that I need for every ROW of my table UI Element a different cell editor. I know how to change it for the column. But is not my issue. I want to have images (traffic lights red and green) in some rows. The other rows should have numbers. The coding works, so that I have all the data at the right place in my table, only the images are shown as a string, because the cells of these rows have the cell editor Text_View. I tried something with cell variants (with cl_wd_table_standard_cell), but it was not possible for me to get a cell variant "image" in these cells/rows were I need it. I hope you understand my problem and now what to do here. Thanks a lot in advance. Best Regards, Ingmar
-
IDOC Segment missing for MATMASS Message type
Through change pointer program for the message type YAUIHUBMATMAS IDOC is triggered.
1) Change pointers are defined in system for the message type T Code u2013 BD52.
2) If respective field is changed in material master , this data is stored in change pointers table BDCP.
3) Background jobs are scheduled every day, which searches for the changes pointer table and triggers the idoc.
In our case IDOC is getting generated but with one segment missing.
We have analysed the succesful and failed IDOC and found desrepency is field updation of BDCP table.
Succesful case contain material number in object value of ZZMDST field where as failed contain some other value.
Can anyone please help us to guide how the BDCP table is updated and the values are mapped in it or any other suggestion to find why the segment is missing in it.
Regards,
Roshni.Jürgen L. wrote:
> I have never seen a YAUIHUBMATMAS IDOC, nor a ZZMDST field .
> This seems to be home made.
>
> You are expecting that standard SAP programs are generating change pointers for your z-fields?
> Do you see a change history in material master for your z-field?
>
>
> follow the slution from this thread:
>
Yes ,This is a Z -field.
Change pointer is triggering the idoc fo this Z-field but in some cases one segment is missing .
This is z-field in the basic data view of material master.
Yes , we have checked the change history in material master for this field it is getting updated there in BDCP table as well but in BDCP table if this field is flagged then object value is not contain material number instead it contain some other number .
But in case of succesful IDOC the object value is same as material number.
Regards,
Roshni -
To extract Data from Pool Table Data Sources
hi
I want to extract data from Pool table, for that i want to create infoset for that pool table. can anyone please let me know the
procedure to create info set on pool tables.
Regards
Atul
Moderator message: please (re)search yourself first.
Edited by: Thomas Zloch on Nov 8, 2010 12:54 PMHi Atul
You have a couple of options here:
1) Create Infoset SQ02 on those tables and RSO2 - create generic ds
2) Create functional Module and create generic ds using FM
Replicate DS to BW and Build objects and map them in transformations and create dtp and IP.
Refer to this [link|How to extract data from a pool table?; for more details.
Regards
Harsh -
How to maintain PO Header Text entry in table T166K for different PO Type
Hi,
Can anyone tell me if there is a config transaction ( or path ) to maintain PO Header Text entry in table T166K for different PO Types
Thanks
ShrikantSpro->Material Management->Purchasing->Purchase Order->Texts for Purchase Orders.
There are 4 config setting to do for this.
Read information text.
regards,nishant
please reward if this helps -
How to maintain PO Header Text entry in table T166K for different PO Types
Hi,
Can anyone tell me if there is a config transaction ( or path ) to maintain PO Header Text entry in table T166K for different PO Types
Thanks
ShrikantResolved.
-
Table of origin for a field in extract structure ??
Is there a way to look at the extract structure of a datasource and know the tables from which its pulling the data from ?
I know I can always get them from help.sap.com by going to datasources and can look at the table of origin for a particular field...
I was wondering if I can look at the same information on the system.
I appreciate your replies ..
Thanks,
Rishi.Rishi,
we can know get the tables in different ways, the best way and easy way to search the tables is HELP.SAP.COM as you said. you can use communication structure, ST05, SM50.
All the best.
Regards,
Nagesh Ganisetti. -
Hi All,
I am creating a report to display the stock information of a material. In that i need to include all the special stocks also.
Can anyone please tell me the table containing the data for special stock type E,K,M,O,P,Q,V,W,YCheck these tables.
MSCA Sales Orders on Hand with Vendor
MSCD Customer stock with vendor
MSCS Customer stock with vendor - Total
MSFD Sales Order Stock with Vendor
MSFS Sales Order Stock with Vendor - Total
MSID Vendor Stock with Vendor
MSIS Vendor Stock with Vendor - Total
MSKA Sales Order Stock
MSKU Special Stocks with Customer
MSLB Special Stocks with Vendor
MSOA Total Sales Orders on Hand with Vendor
MSPR Project Stock
MSRD Project Stock with Vendor
MSRS Project Stock with Vendor - Total
MSSA Total Customer Orders on Hand
MSSL Total Special Stocks with Vendor
MSSQ Project Stock Total
Maybe you are looking for
-
Multiple Selections on Category Axis
Hi, I need to create a graph. On Category Axis ( X= axis) I need to show values of 5 keyfigures from a BW query. Y axis will be Values in thousand. Currently no issues with Y-axis. But I am not able to figure out how I can have multiple category axi
-
Have old shuffle..can't find my itunes library!
Have 2 issues. One, I have an old shuffle that I'd rather not change the content, just recharge it..and so it does..but..my music library never showed up and I am sure that I have downloaded itunes on this computer..and that my library showed up on i
-
How to call BPEL process from Java Web Service?
Any example/sample/tutorial on this? TIA.
-
IPod touch photo album glitch + Keyboard layout
Hi everyone. I have had this erreor since I updated to the latest software. Whenever I go into the photos on my iPod, I can't access one of my photo albums, and I can't quite explain why, I'll let the picture do the tallking. Also, is there any way t
-
Can anyone make distributed processing work?
I have two high-spec iMacs, connected via Thunderbolt and ethernet. I go through the Compressor set up for group transcoding, tried many different settings combinations - it NEVER uses the second machine in the transcode. Episode Pro on same machines