Passing Material text to BAPI BAPI_SALESORDER_CREATEFROMDATE2
Hi all,
I am making use of BAPI_SALESORDERCREATE_FROMDAT2 for creating a sales order.
for some orders i need to pass even the material text.
I am not able to find the field in the BAPI structures to pass the material text.
PLease help me solving this issue.
Thanks in advance.
Regards,
Sunny.
Hi Termi,
just found this 5-year+ old snippet, might help:
form prepare_item_text
using pv_text1 type xxxxxxxxxxxx_order_item-text1
pv_text2 type xxxxxxxxxxorder_item-text2
pv_kschl type kschl
pv_material type matnr
pv_itm_number type posnr
ps_bapisdhd1 type bapisdhd1
changing pt_order_text type ty_t_bapisdtext.
data:
lv_langu type sylangu,
ls_bapisdtext type line of ty_t_bapisdtext.
perform get_order_text_language
changing lv_langu.
perform get_1st_item_text_id_4_item
using ps_bapisdhd1 pv_material
changing ls_bapisdtext-text_id.
check not ls_bapisdtext-text_id is initial.
ls_bapisdtext-langu = lv_langu.
ls_bapisdtext-format_col = '*'.
ls_bapisdtext-itm_number = pv_itm_number.
*** Top: Material short text
** PERFORM get_maktx
** USING pv_material lv_langu
** CHANGING ls_bapisdtext-text_line.
** APPEND ls_bapisdtext TO pt_order_text.
*** Space line
** CLEAR: ls_bapisdtext-text_line.
** APPEND ls_bapisdtext TO pt_order_text.
if not pv_kschl is initial.
* In case of 'misc surcharge' item: Add condition text
perform get_vtext_4_kschl using pv_kschl lv_langu
changing ls_bapisdtext-text_line.
append ls_bapisdtext to pt_order_text.
else.
* In case of normal item: Add IDOC item text
ls_bapisdtext-text_line = pv_text1.
if not pv_text1 is initial.
append ls_bapisdtext to pt_order_text.
ls_bapisdtext-format_col = '='.
endif." not pv_text1 is initial.
ls_bapisdtext-text_line = pv_text2.
if not pv_text2 is initial.
append ls_bapisdtext to pt_order_text.
endif." not pv_text2 is initial.
endif.
endform. " prepare_item_text
xxxx had customer-related information...
Regards,
Clemens
Similar Messages
-
How to pass header text in bapi for sale order
hai to all
i am using BAPI_SALESORDER_CREATEFROMDAT2 to create sale order
i can find order_text in tables parameters for creating item texts
but in my senario i have to maintain header text
please advice me how to proceed
rgds
vijayHi Vijay,
As I mentioned <b>it is very much possible to create sales order header text with this BAPI only</b>.
Just check out following working code:
REPORT yab_testso .
DATA: orderheaderin LIKE bapisdhd1,
orderitem TYPE TABLE OF bapisditm,
wa_orderitem TYPE bapisditm,
orderitemx TYPE TABLE OF bapisditmx,
wa_orderitemx TYPE bapisditmx,
orderpart TYPE TABLE OF bapiparnr,
wa_orderpartner TYPE bapiparnr,
ordertext TYPE TABLE OF bapisdtext,
wa_text TYPE bapisdtext,
orderret TYPE TABLE OF bapiret2,
wa_ret TYPE bapiret2,
lv_lines type i.
orderheaderin-doc_type = 'ZZOR'.
orderheaderin-sales_org = 'SS01'.
orderheaderin-distr_chan = 'SH'.
orderheaderin-division = 'ST'.
wa_orderpartner-partn_role = 'SP'.
wa_orderpartner-partn_numb = '1000000342'.
APPEND wa_orderpartner TO orderpart.
wa_orderpartner-partn_role = 'WE'.
wa_orderpartner-partn_numb = '1000000342'.
APPEND wa_orderpartner TO orderpart.
wa_orderitem-itm_number = '10'.
wa_orderitem-material = '000000111000000185'.
wa_orderitem-target_qty = '10'.
APPEND wa_orderitem TO orderitem.
wa_text-text_id = '0012'.
wa_text-langu = 'E'.
wa_text-text_line = 'Test for text creation'.
APPEND wa_text TO ordertext.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
SALESDOCUMENTIN =
order_header_in = orderheaderin
ORDER_HEADER_INX =
SENDER =
BINARY_RELATIONSHIPTYPE =
INT_NUMBER_ASSIGNMENT =
BEHAVE_WHEN_ERROR =
LOGIC_SWITCH =
TESTRUN =
CONVERT = ' '
IMPORTING
SALESDOCUMENT =
TABLES
return = orderret
order_items_in = orderitem
ORDER_ITEMS_INX =
order_partners = orderpart
ORDER_SCHEDULES_IN =
ORDER_SCHEDULES_INX =
ORDER_CONDITIONS_IN =
ORDER_CFGS_REF =
ORDER_CFGS_INST =
ORDER_CFGS_PART_OF =
ORDER_CFGS_VALUE =
ORDER_CFGS_BLOB =
ORDER_CFGS_VK =
ORDER_CFGS_REFINST =
ORDER_CCARD =
order_text = ordertext
ORDER_KEYS =
EXTENSIONIN =
PARTNERADDRESSES =
describe table orderret lines lv_lines.
READ TABLE orderret into wa_ret index lv_lines.
IF wa_ret-type = 'S'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
WRITE: / wa_ret-message_v2.
ENDIF.
Hope it helps.
Regards,
Akshay Bhagwat
Note: Pls reward points if this helps you. -
How to pass line text into string of 72 characters
Hi,
I need to to pass material text lines to a file for processing into different SAP system.
Currently i am having multiple text lines stored in an internal table. I am looping that table and checking the string length of a first line.If it is less than 72 characters then i need to add spaces at the end of the text and make it 72 and pass it to workarea-field.
However, while passing the next line text it is overwriting the spaces of first line and that is making the text meaning difficult to understand when passed to the other SAP system.
Let me know how to approach.
Thanks,
AnkurHi,
This will not work as it splits the text as per the position.
However what i would need is if i am entering text like this.
Material ABCD --> Line 1
This is finished product 9-series material used for high-value equipments. ---> Line 2
Currently, when transferring this data over the file it goes to the other system as
Material ABCDthis is finished product---> upto 72 characters
9 series material used for high-value ---> upto 72 characters
equipments.
So if there is less than 72 characters in the first line it takes 2nd line text. However it is ok if the text has more than 72 characters as it goes into the next line and still makes the meaning intact. -
Creating Material text in va02 item lines using Bapi
Dear all,
I want to add Material Sales Text in Text Tab of Tab Control on VA02 line items.
ie when I open a sales order in va02. And I click on the line item in the sales order, I want to add on Material text in , Text Tab.
I am using BAPI_SALESORDER_CHANGE AND table ORDER_TEXT for updating the text.
I am not sure if order_text is the right table to update the text.
My code is
REPORT zapo_ranjan_test .
DATA:order_header_inx LIKE bapisdh1x.
DATA:return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.
DATA:order_item_in LIKE bapisditm OCCURS 0 WITH HEADER LINE.
DATA:order_item_inx LIKE bapisditmx OCCURS 0 WITH HEADER LINE.
DATA : test1 like BAPISDTEXT occurs 0 with header line.
order_header_inx-updateflag = 'U'.
order_item_in-itm_number = '000003'.
APPEND order_item_in.
order_item_inx-itm_number = '000003'.
order_item_inx-updateflag = 'U'.
append order_item_inx.
test1-doc_number = '2292443'.
test1-itm_number = '000003'.
test1-text_id = '0001'.
test1-text_line = 'Phone Number'.
append test1.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
salesdocument = '0002292443'
ORDER_HEADER_IN =
order_header_inx = order_header_inx
SIMULATION =
BEHAVE_WHEN_ERROR = ' '
INT_NUMBER_ASSIGNMENT = ' '
LOGIC_SWITCH =
TABLES
return = return
order_item_in = order_item_in
order_item_inx = order_item_inx
PARTNERS =
PARTNERCHANGES =
PARTNERADDRESSES =
ORDER_CFGS_REF =
ORDER_CFGS_INST =
ORDER_CFGS_PART_OF =
ORDER_CFGS_VALUE =
ORDER_CFGS_BLOB =
ORDER_CFGS_VK =
ORDER_CFGS_REFINST =
SCHEDULE_LINES =
SCHEDULE_LINESX =
ORDER_TEXT = test1
ORDER_KEYS =
CONDITIONS_IN =
CONDITIONS_INX =
EXTENSIONIN =
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
COMMIT WORK.
Write : / 'Done.'.
My bapi returns documnet changed successfully.
Look forwad to get any clue or help .
regards,
Ranjan AHi Ranjan,
For creating text in Va02, you may use "SAVE_TEXT" FM instead of BAPI.
you need to know the text object and text id before using this FM.
Below is a sample code for that:
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = wa_success-vbeln
IMPORTING
output = wa_success-vbeln.
i_header-tdobject = 'VBBK'.
i_header-tdname = wa_success-vbeln.
i_header-tdid = '0001'.
i_header-tdspras = 'E'.
APPEND i_header.
CLEAR v_text.
CONCATENATE 'GEO DN# ' wa_success-donum INTO v_text.
i_tline-tdformat = '*'.
i_tline-tdline = v_text.
APPEND i_tline.
CLEAR v_text.
CONCATENATE 'CUSTOM INV# ' wa_success-ivnum INTO v_text.
i_tline-tdformat = '*'.
i_tline-tdline = v_text.
APPEND i_tline.
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
header = i_header
insert = ' '
savemode_direct = 'X'
TABLES
lines = i_tline "I_TAB
EXCEPTIONS
id = 01.
Best Regards,
Pradeep. -
Hi ,
I want to Uplaod Material text in MM02 . Around more than upto 2000 materials.
i m trying to uplaod using call function 'CREATE_TEXT'. But it gives error in mm02 like, no text maintained.
give me proper solution,
thnxs
Regards,
Swapnil VaidyaSwapnil
Check whether you are passing correct Text ID, Text Object and Text Name to the function module..
Thanks
Amol Lohade -
How to pass long text field in BAPI_MATERIAL_MAINTAINDATA_RT
Hi Guru's,
I am using funtion module BAPI_MATERIAL_MAINTAINDATA_RT for uploading material master.
In this I have to pass long text field for that one I am passing data to MATERIALLONGTEXT table but it is throwing fallowing error.
Long text for article THIS IS FOR TESTIN has no header segment.
Will any body please guid me what are the parameters I have to pass for long text field.
Thanks,
SanthoshHi ,
your config is missing , what is ur TD object ?
you can cross check in SE75-->Under MARA
regards
Prabhu -
Could you please let me know how to use READ_TEXT func module for material text . We have long text in Material Basic data section , i want to read this text . I am not abaper ...could you please let me know which parameter should be passed at the time of execution of this function module .
Like
CLIENT
ID
LANGUAGE
NAME
OBJECT
ARCHIVE_HAND
LOCAL_CAT
RegardsHI
You can use tables STXT and STXL to get the parameters.
You need to give
ID = TDID
LANGUAGE = TDSPRAS
NAME = TDNAME
OBJECT = TDOBJECT
Hope it helps...
Chandu -
Re: Material Text- Tag colunm
Hi,
this is the issue regarding material master(mm02).
user want to fetch the data related to the TAG column for all the materials.
Ex: There are 1000's of materials only some materials are maintained with TAG column(sales text tab in the material master).
I want to fetch the materials which is having *,/ data,
do we have any solution in the standard,if yes can u give me a valuable answer for this call.
Regards,
siva.Shiva, there is no direct tcode or table for material texts..you've to develop a report which gets the required info using the Function Module: READ_TEXT by passing the reqd parameters.
Regards
Raghu. -
How to show the same result as I input (PO Material Text)
I have a question that
I need to show PO Material Text in the form.
i use this function as usual....
CALL FUNCTION 'READ_TEXT'
EXPORTING
ID = 'BEST'
LANGUAGE = 'E'
NAME = T_NAME
OBJECT = 'MATERIAL'
TABLES
LINES = T_TLINE
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
IF SY-SUBRC = 0.
LOOP AT T_TLINE.
MOVE T_TLINE-TDLINE TO THE_DOC.
CONCATENATE THE_DOC1 THE_DOC INTO THE_DOC1.
ENDLOOP.
ENDIF.
MY_MTEXT = THE_DOC1.
the result maybe concatenate all lines into 1 line
but now, i'd like to show the same line as I input now,
for example:
i input the PO Material Text :
123
456
789
if i use that function, it should become :
123 456 789
but i'd like the result is the same as i input like this.
123
456
789
so, should I need to use "INCLUDE......" in ABAP Script Form?
Pls advise.
Thx
how to do that?Thx for your advice,
But I've already use perform...function ...to return the my_mtext. ( but it the single line that i concatenate all the line content..)
FORM GET_MATERIAL_PO_TEXT_FOR_MOULD USING MY_MATNR
MY_EBELP
CHANGING MY_MTEXT.
but my problem is that...the line of PO text varies....how can I know how many variables need to pass the value to program.
if the value contains 3 lines.. i want to pass this 3 lines and show in the form.
i'm confuse...how to do that ..? -
hi experts
any body could send me the material regarding BADI &BAPI
other than sap links
i will surely reward for good material
my mail id [email protected]Hi
BAPI-
step by step
http://www.sapgenie.com/abap/bapi/example.htm
list of all bapis
http://www.planetsap.com/LIST_ALL_BAPIs.htm
for BAPI's
http://www.sappoint.com/abap/bapiintro.pdf
http://www.sappoint.com/abap/bapiprg.pdf
http://www.sappoint.com/abap/bapiactx.pdf
http://www.sappoint.com/abap/bapilst.pdf
http://www.sappoint.com/abap/bapiexer.pdf
http://service.sap.com/ale
http://service.sap.com/bapi
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE8/BCFESDE8.pdf
http://www.planetsap.com/Bapi_main_page.htm
http://www.topxml.com/sap/sap_idoc_xml.asp
http://www.sapdevelopment.co.uk/
http://www.sapdevelopment.co.uk/java/jco/bapi_jco.pdf
Also refer to the following links..
www.sappoint.com/abap/bapiintro.pdf
www.sap-img.com/bapi.htm
www.sap-img.com/abap/bapi-conventions.htm
www.planetsap.com/Bapi_main_page.htm
www.sapgenie.com/abap/bapi/index.htm
Checkout !!
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
http://techrepublic.com.com/5100-6329-1051160.html#
http://www.sap-img.com/bapi.htm
http://www.sap-img.com/abap/bapi-conventions.htm
http://www.sappoint.com/abap/bapiintro.pdf
BAPI
http://help.sap.com/saphelp_46c/helpdata/en/9b/417f07ee2211d1ad14080009b0fb56/frameset.htm
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
http://www.sapgenie.com/abap/bapi/example.htm
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE8/BCFESDE8.pdf
u can check the below the material also
what is BAPI?
BAPI stands for Business API(Application Program Interface).
A BAPI is remotely enabled function module ie it can be invoked from remote programs like standalone JAVA programs, web interface etc..
You can make your function module remotely enabled in attributes of Function module but
A BAPI are standard SAP function modules provided by SAP for remote access. Also they are part of Businees Objest Repository(BOR).
BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects. You create business objects and those are then registered in your BOR (Business Object Repository) which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA. in this case u only specify the business object and its method from external system in BAPI there is no direct system call. while RFC are direct system call Some BAPIs provide basic functions and can be used for most SAP business object types. These BAPIs should be implemented the same for all business object types. Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs. Whenever possible, a standardized BAPI must be used in preference to an individual BAPI.
The following standardized BAPIs are provided:
Reading instances of SAP business objects
GetList ( ) With the BAPI GetList you can select a range of object key values, for example, company codes and material numbers.
The BAPI GetList() is a class method.
GetDetail() With the BAPI GetDetail() the details of an instance of a business object type are retrieved and returned to the calling program. The instance is identified via its key. The BAPI GetDetail() is an instance method. BAPIs that can create, change or delete instances of a business object type
The following BAPIs of the same object type have to be programmed so that they can be called several times within one transaction. For example, if, after sales order 1 has been created, a second sales order 2 is created in the same transaction, the second BAPI call must not affect the consistency of the sales order 2. After completing the transaction with a COMMIT WORK, both the orders are saved consistently in the database.
Create( ) and CreateFromData! ( )
The BAPIs Create() and CreateFromData() create an instance of an SAP business object type, for example, a purchase order. These BAPIs are class methods.
Change( )
The BAPI Change() changes an existing instance of an SAP business object type, for example, a purchase order. The BAPI Change () is an instance method.
Delete( ) and Undelete( ) The BAPI Delete() deletes an instance of an SAP business object type from the database or sets a deletion flag.
The BAPI Undelete() removes a deletion flag. These BAPIs are instance methods.
Cancel ( ) Unlike the BAPI Delete(), the BAPI Cancel() cancels an instance of a business object type. The instance to be cancelled remains in the database and an additional instance is created and this is the one that is actually canceled. The Cancel() BAPI is an instance method.
Add<subobject> ( ) and Remove<subobject> ( ) The BAPI Add<subobject> adds a subobject to an existing object inst! ance and the BAPI and Remove<subobject> removes a subobject from an object instance. These BAPIs are instance methods.
Example Code
U need to give the step_nr, item_nr, cond_count and cond_type so the correct conditon will be updated. If no condition exists for the given parameters, a new condition will be created.
U can find these parameters for a particular condition type in table KONV.
*& Form saveTransactionJOCR
text
--> p1 text
<-- p2 text
FORM saveTransactionJOCR .
data: salesdocument like BAPIVBELN-VBELN,
order_header_inx like bapisdh1x,
order_header_in like bapisdh1,
return type standard table of bapiret2 with header line,
conditions_in type standard table of bapicond with header line,
conditions_inx type standard table of bapicondx with header line,
logic_switch like BAPISDLS,
step_nr like conditions_in-cond_st_no,
item_nr like conditions_in-itm_number,
cond_count like conditions_in-cond_count,
cond_type like conditions_in-cond_type.
salesdocument = wa_order_information-VBELN.
LOGIC_SWITCH-COND_HANDL = 'X'.
order_header_inx-updateflag = 'U'.
conditions
clear conditions_in[].
clear conditions_inx[].
clear: step_nr,
item_nr,
cond_count,
cond_type.
step_nr = '710'.
item_nr = '000000'.
cond_count = '01'.
cond_type = 'ZCP2'.
CONDITIONS_IN-ITM_NUMBER = item_nr.
conditions_in-cond_st_no = step_nr.
CONDITIONS_IN-COND_COUNT = cond_count.
CONDITIONS_IN-COND_TYPE = cond_type.
CONDITIONS_IN-COND_VALUE = 666.
CONDITIONS_IN-CURRENCY = 'EUR'.
append conditions_in.
CONDITIONS_INX-ITM_NUMBER = item_nr.
conditions_inx-cond_st_no = step_nr.
CONDITIONS_INX-COND_COUNT = cond_count.
CONDITIONS_INX-COND_TYPE = cond_type.
CONDITIONS_INX-UPDATEFLAG = 'U'.
CONDITIONS_INX-COND_VALUE = 'X'.
CONDITIONS_INX-CURRENCY = 'X'.
append conditions_inx.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
SALESDOCUMENT = salesdocument
ORDER_HEADER_IN = order_header_in
ORDER_HEADER_INX = order_header_inx
LOGIC_SWITCH = logic_switch
TABLES
RETURN = return
CONDITIONS_IN = conditions_in
CONDITIONS_INX = conditions_inx
if return-type ne 'E'.
commit work and wait.
endif.
ENDFORM. " saveTransactionJOCR
Bdc to Bapi
The steps to be followed are :
1. Find out the relevant BAPI (BAPI_SALESORDER_CHANGE for VA02).
[for VA01 use BAPI_SALESORDER_CREATEFROMDAT2]
2. Create a Z program and call the BAPi (same as a Funtion module call).
2. Now, if you see this BAPi, it has
-> Importing structures.
eg: SALESDOCUMENT: this will take the Sales order header data as input.
-> Tables parameters:
eg: ORDER_ITEM_IN: this will take the line item data as input.
Note :
Only specify fields that should be changed
Select these fields by entering an X in the checkboxes
Enter a U in the UPDATEFLAG field
Always specify key fields when changing the data, including in the checkboxes
The configuration is an exception here. If this needs to be changed, you need to complete it again fully.
Maintain quantities and dates in the schedule line data
Possible UPDATEFLAGS:
U = change
D = delete
I = add
Example
1. Delete the whole order
2. Delete order items
3. Change the order
4. Change the configuration
Notes
1. Minimum entry:
You must enter the order number in the SALESDOCUMENT structure.
You must always enter key fields for changes.
You must always specify the update indicator in the ORDER_HEADER_INX.
2. Commit control:
The BAPI does not run a database Commit, which means that the application must trigger the Commit so that the changes are read to the database. To do this, use the BAPI_TRANSACTION_COMMIT BAPI.
For further details... refer to the Function Module documentation for the BAPi.
Bapi to VB(Visual Basic)
Long back I had used the following flow structure to acheive the same.
Report -> SM59 RFC destination -> COM4ABAP -> VB.exe
my report uses the rfc destination to create a COM session with com4abap. com4abap calls the vb.exe and manages the flow of data between sap and vb exe.
You need to have com4abap.exe
If com4abap is installed you will find it in sapgui installatin directory , C:\Program Files\SAPpc\sapgui\RFCSDK\com4abap.
else refer OSS note 419822 for installation of com4abap
after making the settings in com4abap to point to the vb program and setting up rfc destination in sm59 to point to com4abap session , you can use the following function modules to call the vb code.
for setting up com4abap and rfc destination please refer to the documentation for com4abap.
Invoke NEW DCOM session
call function 'BEGIN_COM_SESSION'
exporting
service_dest = service_dest "(this will be a RFC destination created in SM59)
importing
worker_dest = worker_dest
exceptions
connect_to_dcom_service_failed = 1
connect_to_dcom_worker_failed = 2
others = 3.
call function 'create_com_instance' destination worker_dest
exporting
clsid = g_c_clsid
typelib = g_c_typelib
importing
instid = g_f_oid
exceptions
communication_failure = 1 message g_f_msg
system_failure = 2 message g_f_msg
invalid_instance_id = 3
others = 4.
call function 'com_invoke' destination worker_dest
exporting
%instid = g_f_oid
%method = 'UpdatePDF'
sntemp = g_v_const_filent
snsysid = sy-sysid
snflag = 'N'
tables
rssaptable = g_t_pdfdetail1
%return = g_t_pdfdetail1 "t_test
exceptions
communication_failure = 1 message g_f_msg
system_failure = 2 message g_f_msg
invalid_instance_id = 3
others = 4.
then close the com session , using
FM delete_com_instance
FM END_COM_SESSION
BADI
BADI(Business Add-In) is the object oriented method of user exits...
Each BAdI has a definition and more than one implementation. The definition means the methods(in class concept) that are used for performing various functions. The BAdI definition can be viewed in SE18 transaction(for standard ones) and user-defined BAdIs can be created in the same transaction as well.
When you create a BAdI definition, an class interface will be automatically created and you can define your methods in the interface. The implementation of the methods can be done in SE19 transaction
Intro.....
http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
Check these links for info about badi..
BADI's
http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
http://support.sas.com/rnd/papers/sugi30/SAP.ppt
BADI's
http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
http://support.sas.com/rnd/papers/sugi30/SAP.ppt
http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
http://members.aol.com/_ht_a/skarkada/sap/
http://www.ct-software.com/reportpool_frame.htm
http://www.saphelp.com/SAP_Technical.htm
http://www.kabai.com/abaps/q.htm
http://www.guidancetech.com/people/holland/sap/abap/
http://www.planetsap.com/download_abap_programs.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
/people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
/people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
http://www.esnips.com/web/BAdI
http://www.allsaplinks.com/badi.html
New to Badi -
How to pass the text from a table to the field label on the selection scre
hi guru's
i have requirement were in i have to pass the text from a table as field label for
a input field on the selection screen.
EX: selection screen
(xxxxxxx ) __________
field label
please help
regards,
varahi all,
can you please check the code, and suggest am i doing wrong any were.
types: xtab(200).
data : ttab type table of xtab,
w_so type xtab.
data: routine(32) value 'TEMP_ROUTINE',
program(8),
message(128),
line type i.
AT SELECTION-SCREEN OUTPUT.
select field text DATA_ELEMENT from zauthgrptxt into table t_fieldlabel where STARALLOWED EQ c_asteriks.
DESCRIBE TABLE t_fieldlabel LINES N.
w_so = 'REPORT ZTEMP_PROGRAM.'.
append w_so to ttab.
w_so = 'FORM TEMP_ROUTINE.'.
append w_so to ttab.
loop at t_fieldlabel.
w_field = t_fieldlabel-field.
CONCATENATE 'SELECT-OPTIONS: ' ' P_' w_field zspace ' FOR ' ' T_FIELDLABEL-' w_field ' NO INTERVALS NO-EXTENTION.' INTO w_so.
append w_so to ttab.
endloop.
w_so = 'ENDFORM.'.
append w_so to ttab.
generate subroutine pool ttab name program
message message
line line.
if sy-subrc = 0.
perform (routine) in program (program).
else.
write:/ Message.
endif.
The sy-subrc = 4. nothing is coming into 'program' at generate subroutine pool
very urgent requirement please help
thanks,
vara -
SD PS Integration: How to copy material text in Project Network?
Hi
We are creating project from contract where every material from contract creates a Network/ activity in project. The requirement is to pull material text in Network. Does it require user exit because I was unable to find any thing in configuration? If this is correct then how can I apply user exit here?
Regards
Vthis is not standard SAP and hence exit needs to be looked at or some development or exit on substitution to replace the text from material
Edited by: Virendra Pal on Dec 21, 2008 10:53 PM -
Having an issue with passing the text of a link to a session variable.
I am having an issue with passing the text from a link to a session variable. I am adding this html as a literal for each item in the list that i have populated with a query.
List<Literal> lit = new List<Literal>();
for (int i = 0; i < posts.Count; i+=4)
Literal someLit = new Literal();
someLit.Text=
@"<div class='row'>" +
"<div class='col-md-12'>" +
"<div class='panel'>" +
" <div class='panel-body'>" +
" <!--/stories-->" +
" <div class='row'> " +
" <br>" +
"<div class='col-md-2 col-sm-3 text-center' id='javascript'> <h3>" +
" <a href='#' runat='server' onserverclick='UserProfile_Click'>" + posts[i + 3] + " </a>" +
"</h3>" +
" </div>" +
" <div class='col-md-10 col-sm-9'>" +
"<h3><a href='Thread.aspx' runat='server' onserverclick='MyFuncion_Click'> " + posts[i] + " </a></h3>" +
" <div class='row'>" +
" <div class='col-xs-9'> " +
posts[i + 1] +
" </div>" +
"<div class='col-xs-3'></div>" +
posts[i + 2] +
" </div>" +
"<br><br>" +
" </div>" +
" </div>" +
" <!--/stories-->" +
" </div>" +
" </div>" +
" </div><!--/col-12-->" +
" </div>" +
"</div>";
lit.Add(someLit);
for(int i=0; i<lit.Count; i++)
this.Controls.Add(lit[i]);
I use one of the list positions as the text for a link in two different spots. For now, lets only talk about the line:
<a href='#' runat='server' onserverclick='UserProfile_Click'>" + posts[i + 3] + " </a>
Since I am generating these controls at pageLoad, I can't make them <asp:Linkbutton>s. And since they are anchor elements, I don't have access to an onCommand attribute or onservercommand attribute.
All I want to do is access the content from inside the specific link tags that I generate on link click and set it as a session variable. That's what I would like my UserProfile_Click function to do. I cant commandargs it in like i can with a linkbutton's
OnCommnad attribute, however.
My fear is that the onserverclick attribute resolves so something else on pageLoad normally and since I am generating it the way I am similar to the way a <asp:linkButton> resolves to a generated JavaScript.
Any help?@Brunellus
For questions related to ASP.NET use the ASP.NET forum http://forums.asp.net
You should get more, better and faster answers on the other forum. Thanks, ahead of time.
Best Regards,
Kristin
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
How to get Vendor name and Material text in FAGLL03 transaction?
Hello All,
I am executing FAGLL03 report which display Vendor No and material No in item level but I want Vendor name and Material text to be display for every vendor no. and material no.
Please let me know any approach to do this?
Thanks in advance.
Regards
SteveHi Raymod,
Again I am getting the same error after executing all reports and FM.
Internal error in ANALYZE_ACT_FIELDCAT
Message no. MSITEM012
Diagnosis
An internal error has arisen in the form routine ANALYZE_ACT_FIELDCAT for program RFITEM_INC.
This is due to inconsistencies between table T021S (special fields) and structure RFPOSEXT.
System Response
During the processing of special fields in the line item list, errors and even a program termination may occur.
Procedure
Recreate the special fields in Customizing. If the error occurs again, contact SAP.
Can you pls check it out in your system if you can?
It is not working here ..
Thanks and Regards
Steve -
SRM PO vendor text not copied to PO material text in ECC Po
Hi all,
We are on SRM 5.0 Extended Classic.
In ECS,is it std functionality that the PO vendor text from SRM PO is copied to PO material text in the ECC PO?If so,Do we need to do any configuration on the SRM side for this transfer?
Thanks!Hi,
In standard the Vendor text in SRM P.O would not get transfered to P.O Material text in ECC.
I am not sure why do you want to transfer vendor text to material text.
You need to use BADI BBP_ECS_PO_OUT_BADI to transfer this text to the required field in P.O.
Please speak to your ABAPer and get the coding done to achieve your requirement.
Let us know in case of any further clarifications.
Regards,
Teja
Maybe you are looking for
-
ITunes 10.1.2 and Store
I just updated to iTunes 10.1.2 and now the Apple iTunes Stores seems to be flaky. It will load some times, hang and get beach ball o'death, or come back and say unavailable. My downloads are responding in a similar manner. I was notified through e-m
-
Editable Grid vs Custom Buttons
Hi all, I have a grid in edit mode (created with the standard function REUSE_ALV etc etc) and i have a custom User Interface with a button to add a line (just a simple append in my internal table displayed in the grid). All it's ok and works, but if
-
How do I save my tapes so that itunes will recognize individual songs?
I want to save old cassette tapes to digital media and I want to be able to find individual songs, tracks of an album or tape. How do I do this? Or, am I left with the material "saved" but lumped together as one file and virually impossible to retr
-
Changing title lengths in iMovie on iPad
How do I change the length of titles added to clips in iMovie on iPad?
-
How to acess the Cluster tables in the HR
Sathya