SAP-BW text table,hierarchy
why we need text table in sap bw.Explian about hierarchy table in sap-bw
Hi,
BW text tables help in maintaining separate texts in different languages for the same code.
BIC/T<>
BW can maintain external hierachies for an infoobject which are stored in separate tables.Hierachies are stored separate (out of the basic star schema) by using these tables.
BIC/H<>Hierarchy table
BIC/I<>SID Hierachy structure
BIC/K<>Hierarchy SID table
BIC/J<>Hierarchy interval table
Assign points if helpful
Similar Messages
-
Loading data from SAP BW standard table to master data text
Hi,
Can anyone please tell me the steps to load data from SAP BW standard table to master data text?
How should the data source be created?
Thanks in advance.Hi aparajith,
Have you loaded the master data attr ?
ECC Steps
then load the attr text
create the ztable using standard table using generic data source using table function.
there you can select the which field you required
check the data in RSA3
BI STEPS: -
check the source system connection.
replicate the data source
create of find the master data object for text (including attr)
map the transformation
run the info package
create the DTP.
check the data in target object.
Thanks,
Phani. -
Need help in transferring data from flatfiles to SAP R/3 tables
Hi,
I need to *transfer data in the flatfiles (NON SAP SYSTEM) to SAP R/3 tables*. Can we do it with a help of program ?
Please help me out
Thanks and regards,
Shiva shekar kHi Shiva,
This code will be helpful to you.
*Code used to create BDC
*& Report ZBDC *
*& Example BDC program, which updates net price of item 00010 of a *
*& particular Purchase order(EBELN). *
REPORT ZBDC NO STANDARD PAGE HEADING
LINE-SIZE 132.
Data declaration
TABLES: ekko, ekpo.
TYPES: BEGIN OF t_ekko,
ebeln TYPE ekko-ebeln,
waers TYPE ekko-waers,
netpr TYPE ekpo-netpr,
err_msg(73) TYPE c,
END OF t_ekko.
DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
wa_ekko TYPE t_ekko,
it_error TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
wa_error TYPE t_ekko,
it_success TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
wa_success TYPE t_ekko.
DATA: w_textout LIKE t100-text.
DATA: gd_update TYPE i,
gd_lines TYPE i.
*Used to store BDC data
DATA: BEGIN OF bdc_tab OCCURS 0.
INCLUDE STRUCTURE bdcdata.
DATA: END OF bdc_tab.
*Used to stores error information from CALL TRANSACTION Function Module
DATA: BEGIN OF messtab OCCURS 0.
INCLUDE STRUCTURE bdcmsgcoll.
DATA: END OF messtab.
*Screen declaration
SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME
TITLE text-001. "Purchase order Num
SELECT-OPTIONS: so_ebeln FOR ekko-ebeln OBLIGATORY.
SELECTION-SCREEN END OF BLOCK block1.
SELECTION-SCREEN BEGIN OF BLOCK block2 WITH FRAME
TITLE text-002. "New NETPR value
PARAMETERS: p_newpr(14) TYPE c obligatory. "LIKE ekpo-netpr.
SELECTION-SCREEN END OF BLOCK block2.
*START-OF-SELECTION
START-OF-SELECTION.
Retrieve data from Purchase order table(EKKO)
SELECT ekkoebeln ekkowaers ekpo~netpr
INTO TABLE it_ekko
FROM ekko AS ekko INNER JOIN ekpo AS ekpo
ON ekpoebeln EQ ekkoebeln
WHERE ekko~ebeln IN so_ebeln AND
ekpo~ebelp EQ '10'.
*END-OF-SELECTION
END-OF-SELECTION.
Check data has been retrieved ready for processing
DESCRIBE TABLE it_ekko LINES gd_lines.
IF gd_lines LE 0.
Display message if no data has been retrieved
MESSAGE i003(zp) WITH 'No Records Found'(001).
LEAVE TO SCREEN 0.
ELSE.
Update Customer master data (instalment text)
LOOP AT it_ekko INTO wa_ekko.
PERFORM bdc_update.
ENDLOOP.
Display message confirming number of records updated
IF gd_update GT 1.
MESSAGE i003(zp) WITH gd_update 'Records updated'(002).
ELSE.
MESSAGE i003(zp) WITH gd_update 'Record updated'(003).
ENDIF.
Display Success Report
Check Success table
DESCRIBE TABLE it_success LINES gd_lines.
IF gd_lines GT 0.
Display result report column headings
PERFORM display_column_headings.
Display result report
PERFORM display_report.
ENDIF.
Display Error Report
Check errors table
DESCRIBE TABLE it_error LINES gd_lines.
If errors exist then display errors report
IF gd_lines GT 0.
Display errors report
PERFORM display_error_headings.
PERFORM display_error_report.
ENDIF.
ENDIF.
*& Form DISPLAY_COLUMN_HEADINGS
Display column headings
FORM display_column_headings.
WRITE:2 ' Success Report '(014) COLOR COL_POSITIVE.
SKIP.
WRITE:2 'The following records updated successfully:'(013).
WRITE:/ sy-uline(42).
FORMAT COLOR COL_HEADING.
WRITE:/ sy-vline,
(10) 'Purchase Order'(004), sy-vline,
(11) 'Old Netpr'(005), sy-vline,
(11) 'New Netpr'(006), sy-vline.
WRITE:/ sy-uline(42).
ENDFORM. " DISPLAY_COLUMN_HEADINGS
*& Form BDC_UPDATE
Populate BDC table and call transaction ME22
FORM bdc_update.
PERFORM dynpro USING:
'X' 'SAPMM06E' '0105',
' ' 'BDC_CURSOR' 'RM06E-BSTNR',
' ' 'RM06E-BSTNR' wa_ekko-ebeln,
' ' 'BDC_OKCODE' '/00', "OK code
'X' 'SAPMM06E' '0120',
' ' 'BDC_CURSOR' 'EKPO-NETPR(01)',
' ' 'EKPO-NETPR(01)' p_newpr,
' ' 'BDC_OKCODE' '=BU'. "OK code
Call transaction to update customer instalment text
CALL TRANSACTION 'ME22' USING bdc_tab MODE 'N' UPDATE 'S'
MESSAGES INTO messtab.
Check if update was succesful
IF sy-subrc EQ 0.
ADD 1 TO gd_update.
APPEND wa_ekko TO it_success.
ELSE.
Retrieve error messages displayed during BDC update
LOOP AT messtab WHERE msgtyp = 'E'.
Builds actual message based on info returned from Call transaction
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
EXPORTING
msgid = messtab-msgid
msgnr = messtab-msgnr
msgv1 = messtab-msgv1
msgv2 = messtab-msgv2
msgv3 = messtab-msgv3
msgv4 = messtab-msgv4
IMPORTING
message_text_output = w_textout.
ENDLOOP.
Build error table ready for output
wa_error = wa_ekko.
wa_error-err_msg = w_textout.
APPEND wa_error TO it_error.
CLEAR: wa_error.
ENDIF.
Clear bdc date table
CLEAR: bdc_tab.
REFRESH: bdc_tab.
ENDFORM. " BDC_UPDATE
FORM DYNPRO *
stores values to bdc table *
--> DYNBEGIN *
--> NAME *
--> VALUE *
FORM dynpro USING dynbegin name value.
IF dynbegin = 'X'.
CLEAR bdc_tab.
MOVE: name TO bdc_tab-program,
value TO bdc_tab-dynpro,
'X' TO bdc_tab-dynbegin.
APPEND bdc_tab.
ELSE.
CLEAR bdc_tab.
MOVE: name TO bdc_tab-fnam,
value TO bdc_tab-fval.
APPEND bdc_tab.
ENDIF.
ENDFORM. " DYNPRO
*& Form DISPLAY_REPORT
Display Report
FORM display_report.
FORMAT COLOR COL_NORMAL.
Loop at data table
LOOP AT it_success INTO wa_success.
WRITE:/ sy-vline,
(10) wa_success-ebeln, sy-vline,
(11) wa_success-netpr CURRENCY wa_success-waers, sy-vline,
(11) p_newpr, sy-vline.
CLEAR: wa_success.
ENDLOOP.
WRITE:/ sy-uline(42).
REFRESH: it_success.
FORMAT COLOR COL_BACKGROUND.
ENDFORM. " DISPLAY_REPORT
*& Form DISPLAY_ERROR_REPORT
Display error report data
FORM display_error_report.
LOOP AT it_error INTO wa_error.
WRITE:/ sy-vline,
(10) wa_error-ebeln, sy-vline,
(11) wa_error-netpr CURRENCY wa_error-waers, sy-vline,
(73) wa_error-err_msg, sy-vline.
ENDLOOP.
WRITE:/ sy-uline(104).
REFRESH: it_error.
ENDFORM. " DISPLAY_ERROR_REPORT
*& Form DISPLAY_ERROR_HEADINGS
Display error report headings
FORM display_error_headings.
SKIP.
WRITE:2 ' Error Report '(007) COLOR COL_NEGATIVE.
SKIP.
WRITE:2 'The following records failed during update:'(008).
WRITE:/ sy-uline(104).
FORMAT COLOR COL_HEADING.
WRITE:/ sy-vline,
(10) 'Purchase Order'(009), sy-vline,
(11) 'Netpr'(010), sy-vline,
(73) 'Error Message'(012), sy-vline.
WRITE:/ sy-uline(104).
FORMAT COLOR COL_NORMAL.
ENDFORM. " DISPLAY_ERROR_HEADINGS -
Adding Fields to New Hire SAP Script, Text ID PAMA
Hi there,
I have successfully created a sapscript email to be sent via Dynamic Actions for the notification of New Hires and Terminations. This has been accomplished via feature M0001 (we have created two new features u2013 M00NH & M00TM), dynamic action (T588z), Business Workplace, distribution lists, etc. All are working correctly, and an email is being generated and forwarded to appropriate parties.
Now we have been asked to add extra fields to the SAP Script text for New Hire and Termination. These are text fields for Employee Group, Employee Subgroup, among others.
Our syntax has been set up as follows:
&'Employee Group: 'P0001-PERSG(02)&
&'Employee Group Text: 'T501T-PTEXT(20)&
&'Employee Subgroup: 'P0001-PERSG(02)&
&'Employee Subgroup Text: 'T503T-PTEXT(20)&
For the New Hire action, we are getting the Employee group and Employee subgroup codes to display but we are NOT getting the Employee Group or Employee Subgroup texts to display. To confuse the issue, we ARE getting these text fields to display for the Termination script. Our ABAP'er is also having difficulty determining how to bring in these fields to the New Hire script.
We have researched this website have tried the instructions given by one user..... which states that we needed to go to our SAPscript text and make the following changes:
" To get other HR data into your standard text (from SO10):
Insert > Symbols > Program symbols (now you'll see a list of print programs, and i guess this is where the ABAP grabs the data).
Highlight the one for HR Master data, and click the DDIC button.
Double click the table you need data from (e.g P0000, P0001 or P0002).
Finally select the field you want."
I have done this, but when I get to the Program symbols, I do not see a print program for HR Master Data. I only see RPUCOB02 - Processing of Qualifying COBRA Events and Letters & SAPMSSCE - SAPscript Standard Text Maintenance.
I tried to use the RPUCOB02 and inserted the text for Employee Subgroup as a test. But it did not work as the text still did not display.
The other oddity is that for the Termination sapscript text, the Employee Group and Employee Subgroup text displays correctly. To test our syntax, we then connect the Termination sapscript text to the 'New Hire' action and reran the New Hire action. The Employee Group and Employee Subgroup text fields then disappeared. So it worked when the action was a termination, but did not work when the action was New Hire.
The difference between these two actions is that the feature for the sapscript generation for New Hires is being generated upon saving of I0002 (which is created AFTER I0001) - we needed the Employee's name in the text. For the Termination action, the feature is set to generate the mail upon saving of I0001. This is the only difference between the two. But as I need the employee name to display, it seemed the best approach. I did try to generate the New Hire sapscript after saving of I0008, but had the same problem.
Does anyone know how we can add text fields to our New Hire sapscript text and actually get them to display? We would also like to display the Org Unit text (&'ORGEH_2nd_TEXT(40)&) or even the Supervisor (from the OM relationship). But they do not display for the New Hire sapscript either. And our ABAP'er is able to insert the Supervisor logic, but the field still does not display.
Thanks very much for any help.
Edited by: Cathryn Westgarth on Nov 17, 2009 6:23 PM
Edited by: Cathryn Westgarth on Nov 17, 2009 6:24 PMI am going to repost this question to the HR forum as it may be more appropriately an HR forum questions.
Thanks
Cathryn -
Module Pool Programming - Calling SAP Standard Text Screen
Hi Gurus
I am working on Module Pool Programming...In the one of the screen there is a column named "Description" where I need to keep a Button to call a SAP standard text editing screen and what ever information I enter in the field should be downloadable
is this option possible?If so...Plz send me the Sample code
Thanks
GaneshHi Gani,
I can help you till getting the text editor in your module pool program.
TOP
PROGRAM ZREDDY_TEXT.
constants: line_length type i value 132.
data:
reference to wrapper class of control
g_editor type ref to cl_gui_textedit,
reference to custom container: necessary to bind TextEdit Control
g_editor_container type ref to cl_gui_custom_container,
g_repid like sy-repid, " getting program name
g_ok_code like sy-ucomm, " return code from screen
g_mytable(132) type c occurs 0, " getting the text of table
g_mycontainer(30) type c, " string for the containers
v_result(256) type c, " getting the text of table control
gw_thead like thead, " for header information
it_line type table of tline with header line. " internal table of type tline
PBO
MODULE STATUS_0900 OUTPUT.
SET PF-STATUS 'ZTEXT'.
SET TITLEBAR 'xxx'.
if g_editor is initial.
create control container
create object g_editor_container
exporting
container_name = 'CUSTOM_CONTROL' " Make sure when you create custom container in layout give name as Custom container
exceptions
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5.
g_mycontainer = 'CUSTOM_CONTROL'.
create calls constructor, which initializes, creates and links
TextEdit Control
create object g_editor
exporting
parent = g_editor_container
wordwrap_mode =
cl_gui_textedit=>wordwrap_off
cl_gui_textedit=>wordwrap_at_fixed_position
cl_gui_textedit=>WORDWRAP_AT_WINDOWBORDER
wordwrap_position = line_length
wordwrap_to_linebreak_mode = cl_gui_textedit=>true.
refresh g_mytable. " to initialize table upon OK_CODE 'BACK' at PAI
endif.
ENDMODULE. " STATUS_0900 OUTPUT
Cheers!!
Balu
Edited by: Balu CH on Oct 22, 2008 8:55 PM -
Translation of table entries with text table attached via SE63
ZMRAREA(Custom) table has a text table(ZMRAREAT) attached to it.I want to copy the English text in all the other language codes for one of its text field.
But when I try with the main object i.e. ZMRAREA,it throws "No object found" and when I try to translate using its text table( ZMRAREAT)
it says "no text found in source language"even though maintained in English.
Unlike ZMRAREA, if I try with some other tables with no text table linkage then I could easily do the translation using the path :Translation>> ABAP OBJECTS >> Short Text>> A1 Application Texts >> Tab TABLE >>CSKU<table name> >> Edit >> Edit >> Select the required record and proceed with the translation.
Please give me the path for translation of text tables in SE63Hi
Hope this will work for you.
Reward if help.
Transaction SE63 enables you to perform the following activities:
- Call up an individual object to translate it directly
- Call up a worklist to find and translate objects requiring translation and belonging to packages assigned to you
- Define your translator settings to suit the way you want to work with the translation tools
This helps in translating the text to different language.
http://help.sap.com/saphelp_erp2005vp/helpdata/en/b4/54601d77f38e429ffad9e3e11c1b25/frameset.htm -
Need custom column widths in Append Text Table to Report
I need to print reports with tables of different column widths specified for each column, as the contained fields vary in width from just 3 characters in one column to 40 characters in another. Also we are trying to match the reports generated by a non-labview routine. In the past I have been able to achieve this by editing the Append Table to Report vi, working my way through the inner hierarchy to replace the DBL numeric COLUMN WIDTH control with a DBL numeric array. The innermost vi, Set Table Column Width, assigns the numeric to a property node in a for loop, so the change is simple: replace the scalor with an array and enable indexing on the for loop. Of course, after each Labview upgrade, I've had to go back in and repeat these edits on the overwritten upgraded vi's. This time there is a problem. The new version of this toolkit is object oriented, and disturbing these vi's wrecks the class methods in a way I don't understand (mostly because I've had no dealings with object oriented programming) and which cannot be undone. I recently tried this and after not being able to fix the problem even with phone support, I had to spend the next two days unistalling and reinstalling Labview! I desperately need a way to achieve this functionality without killing the toolkit, which is used (in its original functionality) by another absolutely critical program. PLEASE HELP!
The hierarchy is as follows:
NI report.lvclass:Append Table to Report (wrap)
NI report.lvclass:Append Table to Report
NI Standard report.lvclass:Append Text Table to Report
NI Standard report.lvclass:tables
NI Report Generation Core.lvlibet Table Column WidthThere is a highly relevant thread under discussion here:
http://forums.ni.com/ni/board/message?board.id=features&thread.id=429
You may wish to read it and chime in as it is a discussion of LabVIEW's policy (and possible change in policy for the future) concerning the handling of non-palette VIs between LV versions.
Rob Hingle wrote:
> Is that to say NI will not be helping me with this? Pretty disappointing lack of support, seems
> like a terrible idea to go to object oriented if even your own application engineers can't figure
> out such a simple fix. Gotta give NI a huge thumbs down on this one, thanks for nothing.
I doubt that it is a simple fix -- our AEs are generally top notch at figuring out solutions for customers -- if it were simple, my bet is they'd have solved it. Asking an AE to work around a bug is different from asking them to rearchitect the toolkit. You are asking them to add a feature that the new version of the toolkit is not
designed to support. The difficulty in doing this is completely independent of the decision to use LabVIEW classes to implement the toolkit. If any piece of software is not designed with a particular use case in mind, what may be a simple tweak under one design may become a very hard problem under another design.
In your case, the solution is very straightforward: Use the older version of the toolkit. Any time you create a custom modification of the VIs that ship with LV or one of its toolkits, you should make your own copy and have your VIs link against the copy. LabVIEW promises to maintain all the public functionality version over version. Usually we succeed at that. What we do not promise is to maintain our private implementation of that functionality. It is impossible for LabVIEW (or any other software library) to maintain all of its private internal operations while still continuing any development. Using a copy of the original VIs shields you from having to recode your changes every version (something you've already mentioned is a chore) and it guarantees that functionality that you relie upon does not disappear.
I hope you are willing to be understanding of this situation and not hold it against the AEs working on this. They try hard to provide excellent customer service, and spend lots of time inventing custom solutions for our users. This happens to be a situation where the correct fix is not to modify the new toolkit version to do something it wasn't designed to do but to modify your development process so that the problem is solved now and into the future. -
Hi,
I'm creating a customer master report and having problem determining the text tables of some fields:
a.) Sales Region
b.) Sales Office
c.) Customer Group
d.) Delivery Priority
e.) Shipping Conditions
f.) Delivering Plant
g.) Partial delivery per item (Complete delivery indicator)
h.) Terms of payment
i.) Acct assgmt group
Appreciate any helpful hints.
Regards,
Mawicurrently, i dont hv SAP access, so, just am answering generically,
- you can get them with check tables relationship, in either SE11 or SE16
- use WHERE USED LIST of that particular field, then pick the table, which possess the T in the last position of the name
- also check, VALUE TABLEs at domain level in SE11
thanq
Edited by: SAP ABAPer on May 6, 2009 4:40 AM -
what is the advantage to create a text table?plzz tell
hi ,
Check this
http://help.sap.com/saphelp_nw04/helpdata/en/cf/21ea9e446011d189700000e8322d00/frameset.htm
In general the text table's name will be "T" attached as the last character for the actual table name...
Check CAWN table ... The text table for this is CAWNT
This Text table contains the Key same as the main table with an Extra field Language as key...
The contents of this table are the texts for the field values....
Reward if helpful
Gaurav J. -
F4 Help with text table in WD abap
Hi,
i am using country related input help with check table T005 in one of table and i want to display the country text along with country id in my table, f4 for country is coming however if i select country from f4 it showing country id in the input field of table.
i want to have country text also in one of my input fields in the table, i have seen f4 help works if we have explicit search help and using parameter assignment we can have id and text defaulted if we use same context for id and text fields, however in this case country table t005 has check table t005 where texts are stored in text table t005t so web dynpro abap is't picking up the texts??
please suggest how can i get the texts as soon as i select country in the f4??Hi Kranthi,
You merely have to have an internal table storing list of countries, which you only need to do once, e.g. on load of application (method WDDOINIT of COMPONENTCONTROLLER). In your view, you have to declare a method for event onEnter of the input field, but this method doesn't have to have any code. Your code will be in method WDDOBEFOREACTION, where you read get country name from country key. Once you've got country name, transfer value to a context attribute to which you've already mapped as a source for attribute value of the UI element.
Check out SAP Webdynpro component FITV_IMG_DEFHTLCATA -> view V_ITEM. -
What is exactly meant by text and hierarchy??
what is exactly meant by text and hierarchy??
if i have cust_id as characteristic and cust name,address etc as its attributes what will be text and hierarchy in this case??Hi
There are three different types of master data in BI:
1. Attributes
Attributes are InfoObjects that are logically subordinate to a characteristic. You cannot select attributes in the query.
You assign the attributes Person responsible for the cost center and Telephone number of the person responsible for the cost center (characteristics as attributes), as well as Size of the cost center in square meters (key figure as attribute) to a Cost Center.
2. Texts
You can create text descriptions for master data or load text descriptions for master data into BI. Texts are stored in a text table.
In the text table, the Name of the person responsible for the cost center is assigned to the master data Person responsible for the cost center.
3. Hierarchies
A hierarchy serves as a context and structure for a characteristic according to individual sort criteria. For more detailed information, see Hierarchies.
Features
Time-dependent attributes:
If the characteristic has at least one time-dependent attribute, a time interval is specified for this attribute. Since the time frame for master data on the database must always be between 01.01.1000 and 12.31.1000, the gaps are filled automatically (see Maintaining Time-Dependent Master Data).
Time-dependent texts:
If you create time-dependent texts, the system always displays the text for the key date in the query.
Time-dependent texts and attributes:
If texts and attributes are time dependent, the time intervals do not have to agree.
Language-dependent texts:
In Characteristic InfoObject Maintenance, you specify whether texts are language specific (for example, with product names: German ® Auto, English ® car) or are not language specific (for example, customer names). The system only displays texts in the selected language.
If texts are language dependent, you have to load all texts with a language indicator.
custid as characteristic and cust name,address etc as its attributes what will be text and hierarchy_
Cust name will be text
address will be text
custid will be hirerchy_
Only texts exist:
You can also create texts only for a characteristic, without maintaining attributes. When you load texts, the system automatically generates the entries in the SID table.
Hope it helps
Regards
gaurav -
Formatted Text Edit & SAP Script Text
I'm working through a business requirement to input some long text, and then update an existing SAP script text object (attached to a sales order).
I'm using a formatted text editor to allow the users to enter the text - however I can't find a utlity that allows me to convert this data into a format that can be saved into a sap script text.
Thanks,
HeatherHi Heather,
Please check this...
Re: From Web Dypro Text area to SAP Script text object(Tline table)
http:///Tutorials/Smartforms/PassingTableData/Script1.htm ... add saptecnical.com before tutorials.
Cheers,
Kris. -
Who to retrieve text table for a fieldname ?
Hello Everybody,
I'm looking for a dynamic way to find the table name of a text table.
For example :
When I have MARA-MATKL I look first for the entitytable which is T023
And normally I just want to find a way for getting T023T
I already programed a Function Module to dynamically retrieve the entitytab for every :
TABNAME like MARA
and FIELDNAME like MAKL
I just used dd03l and dd04l to get them.
how about the text tables, how can I retrieve them ?
Thanks for help.
Regards,
KaisHi,
This is what standard sap is using to determine the text table for the original table..
SELECT TABNAME FIELDNAME
FROM DD08L UP TO 1 ROWS
INTO (TEXTTABLE, CHECKFIELD)
WHERE CHECKTABLE = 'T023' " Give your original table
AND FRKART = 'TEXT'
AND AS4LOCAL = 'A'.
WRITE: / 'Text table is', TABNAME.
Thanks
Naren -
hi,guruvulu
this is the program...............to insert the data into sap r/3 table
but record is not inserting....any commit i have to write in my program?
Created on Feb 20, 2007
TODO To change the template for this generated file go to
Window - Preferences - Java - Code Style - Code Templates
package comm;
@author sapusr006
TODO To change the template for this generated type comment go to
Window - Preferences - Java - Code Style - Code Templates
Example2.java
Property of SAP AG, Walldorf
(c) Copyright SAP AG, Walldorf, 2000-2005.
All rights reserved.
//import java.sql.Connection;
//import java.sql.PreparedStatement;
import com.sap.mw.jco.IFunctionTemplate;
import com.sap.mw.jco.IRepository;
import com.sap.mw.jco.JCO;
@version 1.0
@author SAP AG, Walldorf
public class Fm {
// The MySAP.com system we gonna be using
static final String SID = "R3";
// static String query="insert into BAPI_COMPANYCODE_GETLIST values(?,?)";
// The repository we will be using
IRepository repository;
//ESTABLISHING A CONNECTION TO SAP
public Fm()
try {
JCO.addClientPool( SID, // Alias for this pool
10, // Max. number of connections
"800", // SAP client
"RFCTEST", // userid
"welcome", // password
"EN", // language
"10.10.88.170", // host name
"01" );
// Create a new repository
// The repository caches the function and structure definitions
// to be used for all calls to the system SID. The creation of
// redundant instances cause performance and memory waste.
repository = JCO.createRepository("MYRepository", SID);
catch (JCO.Exception ex) {
System.out.println("Caught an exception: \n" + ex);
// RETRIEVES AND DISPLAY A ZHR INFOTYPE OPERATION
public void salesOrders()
JCO.Client client = null;
try {
// Get a function template from the repository
//System.out.println("goes to sales order");
IFunctionTemplate ftemplate = repository.getFunctionTemplate("ZHR_INFOTYPE_OPERATION");
System.out.println("hai");
if(ftemplate != null) {
// Create a function from the template
JCO.Function function = ftemplate.getFunction();
JCO.ParameterList paralist=function.getImportParameterList();
paralist.setValue("0000000011","PERNR");
paralist.setValue("UPD","ACTIO");
paralist.setValue("A","TCLAS");
System.out.println("hello");
paralist.setValue("20061215","BEGDA");
System.out.println("hello");
paralist.setValue("20061215","ENDDA");
paralist.setValue("1","OBJPS");
paralist.setValue("LTA","SUBTY");
System.out.println("SETTING VALUES");
// Get a client from the pool
client = JCO.getClient(SID);
System.out.println("goes to sales order");
//function.getImportParameterList().setValue("QUERY_TABLE","ZHRJ2EETEST");
//EXECUTING THE FUNCTION
client.execute(function);
System.out.println("after exeucting the function");
// NO OF IMPORT PARAMS IT DISPLAY
//STRUCTURE
JCO.Structure returnStructure =
function.getExportParameterList().getStructure("RETURN");
String structure=returnStructure.toString();
System.out.println(structure);
JCO.Table sales_orders = function.getTableParameterList().getTable("PROPOSED_VALUES");
System.out.println("after function");
System.out.println("proposed111"+sales_orders.getNumRows());
sales_orders.firstRow();
sales_orders.appendRows(3);
sales_orders.setValue("0582","INFTY");
sales_orders.setValue("P0582-AMTEX","FNAME");
sales_orders.setValue("200.00","FVAL");
sales_orders.nextRow();
sales_orders.setValue("0582","INFTY");
sales_orders.setValue("P0582-JBGDT","FNAME");
sales_orders.setValue("20061215","FVAL");
sales_orders.nextRow();
sales_orders.setValue("0582","INFTY");
sales_orders.setValue("P0582-JENDT","FNAME");
sales_orders.setValue("20061215","FVAL");
System.out.println("proposed222"+sales_orders.getNumRows());
/*for (int i = 0; i <sales_orders.getNumRows(); i++) {
sales_orders.setRow(i);
System.out.println(sales_orders.getString("INFTY"));
JCO.Table sales_orders1 = function.getTableParameterList().getTable("MODIFIED_KEYS");
System.out.println("modified"+sales_orders1.getNumRows());
sales_orders1.setRow(1);
sales_orders1.appendRows(1);
sales_orders1.setValue("0000000011","PERNR");
sales_orders1.setValue("0582","INFTY");
sales_orders1.setValue("LTA","SUBTY");
sales_orders1.setValue("1","OBJPS");
sales_orders1.setValue("20061215","BEGDA");
sales_orders1.setValue("20061215","ENDDA");
System.out.println("modified222"+sales_orders1.getNumRows());
System.out.println("execute222"+sales_orders1.getNumRows());
for (int i = 0; i <sales_orders1.getNumRows(); i++) {
sales_orders.setRow(i);
System.out.println("hia"+sales_orders1.getString("SUBTY"));
System.out.println("NO OF ROWS ARE:---"+ sales_orders.getNumRows());
String fieldName[]=new String[sales_orders.getFieldCount()];
System.out.println("THE COLUMNS IN THE TABLE ARE:--"+sales_orders.getFieldCount());
// sales_orders.firstRow();
//COLUMNS NAMES
System.out.println(fieldName.length);
for (int iCtrst = 0;iCtrst < sales_orders1.getFieldCount();iCtrst++) {
fieldName[iCtrst] = sales_orders1.getName(iCtrst);
System.out.println(fieldName[iCtrst]);
if (sales_orders.getNumRows() > 0) {
// Loop over all rows
do {
System.out.println("----
//int r=1;
// Loop over all columns in the current row
for (JCO.FieldIterator e = sales_orders.fields(); e.hasMoreElements();)
JCO.Field field = e.nextField();
String compcode=field.getString();
//pst.setString(r,compcode);
System.out.println(field.getName() + ":\t" + field.getString());
// r++;
}//for
// i=pst.executeUpdate();
} while(sales_orders.nextRow());
else {
System.out.println("No results found");
if (sales_orders1.getNumRows() > 0) {
// Loop over all rows
do {
System.out.println("----
//int r=1;
// Loop over all columns in the current row
for (JCO.FieldIterator e = sales_orders1.fields(); e.hasMoreElements();)
JCO.Field field1 = e.nextField();
//String compcode=field1.getString();
//pst.setString(r,compcode);
System.out.println(field1.getName() + ":\t" + field1.getString());
// r++;
}//for
// i=pst.executeUpdate();
} while(sales_orders1.nextRow());
else {
System.out.println("No results found");
System.out.println("modified"+sales_orders1.getNumRows());
System.out.println("modified"+sales_orders.getNumRows());
//if
/* if(i>=1)
System.out.println("\t\t\tUpdated ORACLE successfully");
else {
System.out.println("FUNCTION MODULE not found in backend system.");
}//if
catch (JCO.AbapException ex) {
System.out.println("Caught an exception: \n" + ex);
}catch(Exception en){en.printStackTrace();}
finally {
JCO.releaseClient(client);
protected void cleanUp() {
JCO.removeClientPool(SID);
public static void main(String[] argv)
Fm e=new Fm();
// e.systemInfo();
e.salesOrders();
e.cleanUp();
output:
TABLE: MODIFIED_KEYS
TABLE: PROPOSED_VALUES
IMPORT ACTIO
IMPORT BEGDA
IMPORT DIALOG_MODE
IMPORT ENDDA
IMPORT LUW_MODE
IMPORT MASSN
IMPORT NO_ENQUEUE
IMPORT NO_EXISTENCE_CHECK
IMPORT OBJPS
IMPORT PERNR
IMPORT PERSG
IMPORT PERSK
IMPORT PLANS
IMPORT SEQNR
IMPORT SPRPS
IMPORT SUBTY
IMPORT TCLAS
IMPORT WERKS
EXPORT HR_RETURN
EXPORT RETURN
EXPORT RETURN1
appending
NO OF ROWS ARE:---3
THE COLUMNS IN THE TABLE ARE:--4
INFTY: 0582
FNAME: P0582-AMTEX
FVAL: 200.00
SEQNR: 00
INFTY: 0582
FNAME: P0582-JBGDT
FVAL: 20061215
SEQNR: 00
INFTY: 0582
FNAME: P0582-JENDT
FVAL: 20061215
SEQNR: 00
PERNR: 00000011
INFTY: 0582
SUBTY: LTA
OBJPS: 1
SPRPS:
ENDDA: 2006-12-15
BEGDA: 2006-12-15
SEQNR: 000hi jagadesh,
ur code is very length to see.
see the following code ,
JCO.Function objFunction =
this
.objIRepository
.getFunctionTemplate("BAPI_MATERIAL_AVAILABILITY")
.getFunction();
objFunction.getImportParameterList().setValue(strPlant, "PLANT");
objFunction.getImportParameterList().setValue(strMaterial, "MATERIAL");
objFunction.getImportParameterList().setValue(strQuantity, "UNIT");
this.objClient.execute(objFunction);
JCO.Structure ret =
objFunction.getExportParameterList().getStructure("RETURN");
String strRetMsg = ret.getString("MESSAGE");
System.out.println(strRetMsg); // it will tell whether record is inserted or not
/*JCO.Function objFunction1 =
this
.objIRepository
.getFunctionTemplate("BAPI_TRANSACTION_COMMIT")
.getFunction();
objFunction1.setValue("",WAIT);
objClient.execute(objFunction1);*/
CHECK THE RETURN MSG .IT WILL TELL THE PROBLEM
give me points if it is useful
regards
Guru
Message was edited by:
Guruvulu Bojja
Message was edited by:
Guruvulu Bojja
Message was edited by:
Guruvulu Bojja -
0LANGU - missing in text table of an InfoObject - 0PLANT
Hi there,
*I'm loking for a great assistance*.
The IO 0PLANT was fine, in BI7.0, and i viewed transformation code in InfoSpoke (not OHD), migrated from BW3.5 and when i gave the syntax check option it says "0LANGU" as unknown field in /BI0/TPLANT table. When i checked there it's not present in the text table and the 0PLANT object is in $TMP package. I've no clues how the 0PLANT got changed and / or how the 0LANGU is missing.
I checked this in Dev serevr and everything is FINE in Prod server.
Any comments?Praveen,
Happy to hear from u AGAIN..
and U've marked my silly mistake once AGAIN..
The "Lang. Depnt" field is unmarked. But don't know how that happened.
Now dude tell me one point...If i change the IO and move that to production will that trasportation affect all the other objects using this IO, say DSO/Cube become inactive? Though I'm goin to perform the changes under a DUMMY transport, i just want to be clear in this part.
Maybe you are looking for
-
Phone Software Update: Razr v3c, Bluetooth and iSync...
This morning, I found a software (read: firmware) update for my Razr. I installed the updated and was pleasantly surprised that on my Windows PC the OBEX file transfers started working. (Now I can finally get my pictures off of it.) After getting ups
-
How do I convert Sysdate to HH24MISS format?
-
Probably a simple SQL Query - Newbie
I want to select entries from a table that has 2 columns where the first column value is contained within the 2 column....Does that make sense? The first is a varchar that contains a value for a customer. The second is a varchar that contains a a tex
-
Mifi4510L, Windows XP and a Dell Inspiron 8600
Good evening everybody. My sisters co-worker has a Mifi4510L and a Dell Inspiron 8600, he has been using this unit for a while without issue until recently. The computer seems to lose connection to his hotpoint and he has to repair the laptops wirel
-
Sound design: How to create a buzzing resonance?
Hi forum, I'm trying to simulate the sound of this African instrument called Dzi. It's basically a marimba with gourd resonators that add a kind of buzzing sound. Marimba samples are easy to come by, but I've had a hard time adding the buzzing elemen