Substitution of FI fields on call transactions for clearing.
Dear collegues,
I need help to configure a substitution for tx. FBWD-returned/paid Bills of exchange were the baseline date of the clearing account for the bill liability at the bank (that has the due date as required) and has to be substituted with the entry in value date field.
FBWD calls tx FB05 to post the cleared BOE and the clearing account for BOE is posted on 2nd position (BSEG-BUZEI= '002') under these tx. That's why I configured the following substitution that it is not working:
Prerequisite
( BKPF-TCODE = 'fbwd' OR BKPF-TCODE = 'zfbw' OR
BKPF-TCODE = 'fb05' ) AND BKPF-BLART = 'AB' AND
BSEG-BUZEI = '002'
Substitution if prerequisite is met:
Field is substituted by:
Baseline Date Field BSEG-VALUT
Why doesn't it work: because of the call transaction, being clearing tx., incorrect code, need for a exit...
Can somebody assist? Thanks in advance.
Regards,
Abdali
Hello,
This is a rather complex topic. The general principle is that no one should have authorizations for the complete process, from beginning to the end. Good place to start is [here|http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f02855c9-2091-2a10-8682-af41abe087ba].
SAP provides report, which can be configured by the customer, namely [RSUSR008_009_NEW|http://help.sap.com/saphelp_nw04s/helpdata/en/f9/558f40f3b19920e10000000a1550b0/content.htm]- Users with critical authorizations.
Regards,
Milen.
Edited by: Milen G on Sep 10, 2010 8:00 AM
Similar Messages
-
How to handle currency & unit fields in call transaction?
Hi,
Can any one tell me How to handle currency & unit fields in call transaction? & how to dael with error for this fields? whith some sort of coding.
Thanks In Advance.
PravinHi Pravin,
The same topic has been discussed in the following thread:
How to handle currency & unit fields in BDC recording method?
Regards,
Chandra Sekhar -
Call transaction for less than 10,000 records
Hi all
Is call transaction advisable for processing less than 10,000 records.
I want to use call transaction for each record and if it fails, pass it to an opened bdc session for manual processing by functional consultants. At the same time, I have to write a report with successful and errored records. Is my approach the only way? Any other ideas are welcome and appreciated
Thanks
rickyIts completely safe.
Check the return table for all message type E and then recreate your Error table and pass it to BDC open session and can be executed from SM35 in foreground mode. But what happen if there are more say 100 or 200 error records are there.Its not feasible to go and run each record in Foreground mode.Instead Display the error records in an editable ALV with the error message trap from the CALL Transaction return table and let the consultant correct then on the screen and download it, modify it to suit the upload procedure of your report. Then reprocess the file.
Also, display the audit report based on that table.
Regards,
Amit -
Tracing of message in Status Bar using Call Transaction for MRBR
Hi
As per the business requirement, I would like to automate the MRBR Transaction. I am achieving this by using Call Transaction. After aaplying certain company codes as an i/p; i receive the invoices as an o/p in a ALV Lay out. Say for example, 100 invoices are displayed in a AlV Lay-out after applying i/p. Now I select all these 100 invoices and release them.
All these steps are recorded and supplied to Call Transaction via BDC table.
Problem:
The number of invoices released, appear in the status bar of that ALV Lay-out screen. This message appears on the ALV screen after I have released the invoices and clicked on "SAVE" button.I would like to use this information and display this number (No. of Invoices released) in my Job Log. But I do not know how to do it. Could any one help me out for this?
Thanks in advance,
Jigar Shah.Yes I have tried that option as well.
But the thing is, the recording gets over as soon as I click on "SAVE" button.And that message apperas in status bar only after I click on "SAVE" button.So this way the message in the status bar never gets recorded.
Thanks & Regards,
Jigar Shah. -
Adding new field in Call transaction
Hi,
i need to add a new field which is in flat file to created transaction(vd01) using call transaction method.
pls help me through step by step process
thanks in advance
Barkath1. Add the field in the file.
2. Fill the BDCDATA table in your program ( find an exact and insert bdcdata record)
perform bdc_field using 'RF02K-LIFNR' ITAB-LIFNR.
Or
Re-record VD01 and create a temporory program and check where exactly you need add the perform to fill bdcdata table.
Regds
Manohar -
Error 00-341 RAISE_EXCEPTION when using Call Transaction for VA01 in backgr
Hi,
I am getting this message when I use call transaction to create a sales order using VA01. Following is the statement I have used. Note that when i execute the program online, I am not getting any errors. I could create sales order without any problem. I am getting this exception only when I run in background.
CALL TRANSACTION 'VA01'
USING BDC_TAB
MODE 'N'
UPDATE 'S'
MESSAGES INTO W_MESS_TAB.
When I captured message tab, I got following messages.
DC006 - Control Framework: Fatal error - GUI cannot be reached
00341 Runtime error RAISE_EXCEPTION has occurred.
Please help me in this regard.
Regards
KasiSome times execution of BDC program in back ground is different from the foreground. Some screens may appear in background and raise error while same will not when executed in foreground.
Double click the message in Session log to know more details.
One way is to suppress the screen while executing BDC.
Alternatively I suggest to use BAPI instead.
- Sanjay -
Populating Profit Centre Field while doing Transaction for Vendor/Customer
Dear Experts,
I have cheked in FSG of GL Code of Vendors/Customers where "Profit Centre " is a optional field.
I have cheked in OB41 also for posting key relating to vendors/customers "Profit Centre" field is set as optional field.
We need to make entry in the Profit Centre Field for both Vendors and Customers whicle doing manual posting.
How can we bring that field which is not populated while doing transaction with posting keys of vedors and customers.
Regards,
AlokDear Sayeed,
I am agree with u, but since in SAP Vendor /Customer Line Item takes automatically profit centre from the other line items.
Here is an example:-
We have different profit centre for plant(104001) and coprorate office(106001)
Customer billing is done at plant then the entry will be:-
Customer A/c Debit (by default it will take 104001 profit centre)
Sales A/c Credit with Profit Centre 104001
In Corporate Office We Receive the sales proceeds:-
In Coming Bank a/c Corporate Debit with Profit Centre 106001
Customer A/c Credit (It will take by default profit centre 106001)
By this If we genrate Profit Centre Wise Trial Balance then all Customers Debit will lying with Plant Trial
and Customer Credit Balance will lying in Corporate Treial Balance giving a mis information to the auditors.
For solving this we need to populate the Profit Centre field in Customer line item so that while doing the received entry we can selct the Plant Profit Centre (104001) in Customer line item so that the Customer balance become Nil in Plant Trial.
Hopw you understand our requirement.
Regards,
Alok -
Call transaction for pop2.need to create packing instructions for materials
while assigning packing instruction to the materials from table mara.
its unable to create a new line item in the screen. ex: only 8 records are saved
but needs to proceed for other materials increasing the line item no.
options of create new material ( ok code'=INLI', , create new entry('=INMA')
and even tried for page down option '=P++'. is not working.
Can anyone help me in creating more than 100 line items.
Thanks in Advance,
SushmaHi,
Why do you want to create the varient for this?
what is your actual requirment?
Regards,
Sachin -
How to give values to the field in free selection via call transaction?
Hi,
I'm using call transaction for transaction "FAGLB03". And i'm passing the values for the fields company code, account number and year using the respective parameter id. But i need to pass the value for Profit center also, which is in the free selction button (near to variant button). I have tried by passing the value thorugh the parameter id. but it is not taking up. The code is as follows:
SET PARAMETER ID 'ACC' FIELD lv_saknr.
SET PARAMETER ID 'BUK' FIELD lv_rbukrs.
SET PARAMETER ID 'GJR' FIELD lv_ryear.
SET PARAMETER ID 'PRC' FIELD lv_prctr.
CALL TRANSACTION 'FAGLB03' AND SKIP FIRST SCREEN.
Here the value of profit center is not filling up in the screen.
If anybody have any clue please replay back.
Thanks in Advance.Hello Pothiraja
If the free selection parameter cannot be filled this way you may try to call the corresponding report using the SUBMIT statement. <b>SUBMIT </b>has the option
... WITH FREE SELECTIONS texpr
For details refer to the ABAP keyword documentation for SUBMIT -> selscreen_parameters.
Regards
Uwe -
EXIT NAME OR BADI FOR FIELD IN MIGO TRANSACTION (full poins will be given)
Hai all,
VERY URGENT REQ.
In MIGO transaction, I want to know the BADI or EXIT NAME in which the following fields are avilable .
Fields name: exgrp, EXCISE_ACTION
exact screen field name is : J_1IEXHEAD-EXGRP
J_1IEXHEAD-EXCISE_ACTION
Full Points will be given for correct answer.
Thanks in advance.
s.senthil kumarHi,
Try this code .We can get the User exits and Badis for the Tcode.
Code:
& Report ZPJA_PM002 (Ver4) &
& PJA Consultancy Services (www.pjas.com) &
& This report attmpts to find Enhancements, Program-Exits, BADIs &
& and Business Transaction Events in a particular program/tcode. &
& Other search options: &
& Program: RPR_ABAP_SOURCE_SCAN &
& FModule: &
& Text Elements: &
& P_DEVC Show user-exits from development class &
& P_LIMIT Limit submit program selection &
& P_FUNC Show function modules &
& P_SUBM Show submit programs &
& S01 Selection data (TCode takes precedence over program name) &
report zpja_pm002
no standard page heading
line-size 221.
data: tabix like sy-tabix,
w_linnum type i,
w_off type i,
w_index like sy-tabix,
w_include like trdir-name,
w_prog like trdir-name,
w_incl like trdir-name,
w_area like rs38l-area,
w_level,
w_fsel like sy-ucomm, " Determination of screen field
w_str(50) type c,
w_funcname like tfdir-funcname.
constants: c_fmod(40) type c value 'Function modules selected: ',
c_subm(40) type c value 'Submit programs selected: ',
c_col1(12) type c value 'Enhanmt Type',
c_col2(40) type c value 'Enhancement',
c_col3(30) type c value 'Program/Include',
c_col4(20) type c value 'Enhancement Name',
c_col5(40) type c value 'Enhancement Description',
c_col6(8) type c value 'Project',
c_col7(1) type c value 'S',
c_col8(12) type c value 'ChangeName',
c_col9(10) type c value 'ChangeDate'.
Work Areas: ABAP Workbench
data: begin of wa_d010inc.
data: master type d010inc-master.
data: end of wa_d010inc.
data: begin of wa_tfdir.
data: funcname type tfdir-funcname,
pname type tfdir-pname,
include type tfdir-include.
data: end of wa_tfdir.
data: begin of wa_tadir.
data: devclass type tadir-devclass.
data: end of wa_tadir.
data: begin of wa_tstc.
data: pgmna type tstc-pgmna.
data: end of wa_tstc.
data: begin of wa_tstcp.
data: param type tstcp-param.
data: end of wa_tstcp.
data: begin of wa_enlfdir.
data: area type enlfdir-area.
data: end of wa_enlfdir.
Work Areas: BADIs
data: begin of wa_sxs_attr.
data: exit_name type sxs_attr-exit_name.
data: end of wa_sxs_attr.
data: begin of wa_sxs_attrt.
data: text type sxs_attrt-text.
data: end of wa_sxs_attrt.
Work Areas: Enhancements
data: begin of wa_modsap.
data: member type modsap-member.
data: end of wa_modsap.
data: begin of wa_modsapa.
data: name type modsapa-name.
data: end of wa_modsapa.
data: begin of wa_modsapt.
data: modtext type modsapt-modtext.
data: end of wa_modsapt.
Work Areas: Business Transaction Events
data: begin of wa_tbe01t.
data: text1 type tbe01t-text1.
data: end of wa_tbe01t.
data: begin of wa_tps01t.
data: text1 type tps01t-text1.
data: end of wa_tps01t.
user-exits
types: begin of ty_mod,
member like modact-member,
name like modact-name,
status like modattr-status,
anam like modattr-anam,
adat like modattr-adat,
end of ty_mod.
data: w_mod type ty_mod.
types: begin of t_userexit,
type(12) type c,
pname like trdir-name,
txt(300),
level type c,
modname(30) type c,
modtext(60) type c,
modattr type ty_mod,
end of t_userexit.
data: i_userexit type standard table of t_userexit with header line.
Function module developmnet classes
types: begin of t_devclass,
clas like trdir-clas,
end of t_devclass.
data: i_devclass type standard table of t_devclass with header line.
types: begin of t_enlfdir,
area type enlfdir-area,
end of t_enlfdir.
data: i_enlfdir type standard table of t_enlfdir with header line.
Submit programs
types: begin of t_submit,
pname like trdir-name,
level,
done,
end of t_submit.
data: i_submit type standard table of t_submit with header line.
Source code
types: begin of t_sourcetab, "#EC * (SLIN lügt!)
line(200), "#EC * (SLIN lügt!)
end of t_sourcetab. "#EC * (SLIN lügt!)
data: sourcetab type standard table of t_sourcetab with header line.
data c_overflow(30000) type c.
Description of an ABAP/4 source analysis token
data: i_stoken type standard table of stokex with header line.
data wa_stoken like i_stoken.
Description of an ABAP/4 source analysis statement
data: i_sstmnt type standard table of sstmnt with header line."#EC NEEDED
keywords for searching ABAP code
types: begin of t_keywords,
word(30),
end of t_keywords.
data: keywords type standard table of t_keywords with header line.
function modules within program
types: begin of t_fmodule,
name like rs38l-name,
pname like trdir-name,
pname2 like trdir-name,
level,
bapi,
done,
end of t_fmodule.
data: i_fmodule type standard table of t_fmodule with header line.
& Selection Options &
selection-screen begin of block selscr1 with frame title text-s01.
parameter: p_pname like trdir-name memory id rid,
p_tcode like syst-tcode,
p_limit(4) type n default 100,
p_devc like rihea-dy_ofn default ' ',
p_func like rihea-dy_ofn default ' ',
p_subm like rihea-dy_ofn default ' '.
selection-screen end of block selscr1.
& START-OF-SELECTION &
start-of-selection.
if p_pname is initial and p_tcode is initial.
message e008(hrfpm). "Make entry on the selection screen
stop.
endif.
ensure P_LIMIT is not zero.
if p_limit = 0.
p_limit = 1.
endif.
perform data_select.
perform get_submit_data.
perform get_fm_data.
perform get_additional_data.
perform data_display.
& Form DATA_SELECT &
form data_select.
data selection message to sap gui
call function 'SAPGUI_PROGRESS_INDICATOR'
destination 'SAPGUI'
keeping logical unit of work
exporting
text = 'Get programs/includes' "#EC NOTEXT
exceptions
system_failure
communication_failure
. "#EC *
determine search words
keywords-word = 'CALL'.
append keywords.
keywords-word = 'FORM'.
append keywords.
keywords-word = 'PERFORM'.
append keywords.
keywords-word = 'SUBMIT'.
append keywords.
keywords-word = 'INCLUDE'.
append keywords.
if not p_tcode is initial.
get program name from TCode
select single pgmna from tstc into wa_tstc-pgmna
where tcode eq p_tcode.
if not wa_tstc-pgmna is initial.
p_pname = wa_tstc-pgmna.
TCode does not include program name, but does have refereve TCode
else.
select single param from tstcp into wa_tstcp-param
where tcode eq p_tcode.
if sy-subrc = 0.
check wa_tstcp-param(1) = '/'.
check wa_tstcp-param+1(1) = '*'.
if wa_tstcp-param ca ' '.
endif.
w_off = sy-fdpos + 1.
subtract 2 from sy-fdpos.
if sy-fdpos gt 0.
p_tcode = wa_tstcp-param+2(sy-fdpos).
endif.
select single pgmna from tstc into wa_tstc-pgmna
where tcode eq p_tcode.
p_pname = wa_tstc-pgmna.
if sy-subrc 0.
message e110(/saptrx/asc) with 'No program found for: ' p_tcode."#EC NOTEXT
endif.
else.
message e110(/saptrx/asc) with 'No program found for: ' p_tcode."#EC NOTEXT
endif.
endif.
endif.
Call customer-function aus Program coding
read report p_pname into sourcetab.
if sy-subrc > 0.
message e017(enhancement) with p_pname raising no_program."#EC *
endif.
scan abap-source sourcetab tokens into i_stoken
statements into i_sstmnt
keywords from keywords
overflow into c_overflow
with includes.
if sy-subrc > 0. "keine/syntakt. falsche Ablauflog./Fehler im Skanner
message e130(enhancement) raising syntax_error. "#EC *
endif.
check I_STOKEN for entries
clear w_linnum.
describe table i_stoken lines w_linnum.
if w_linnum gt 0.
w_level = '0'.
w_prog = ''.
w_incl = ''.
perform data_search tables i_stoken using w_level w_prog w_incl.
endif.
endform. "DATA_SELECT
& Form GET_FM_DATA &
form get_fm_data.
data selection message to sap gui
call function 'SAPGUI_PROGRESS_INDICATOR'
destination 'SAPGUI'
keeping logical unit of work
exporting
text = 'Get function module data' "#EC NOTEXT
exceptions
system_failure
communication_failure. "#EC *
Function module data
sort i_fmodule by name.
delete adjacent duplicates from i_fmodule comparing name.
loop at i_fmodule where done ne 'X'.
clear: i_stoken, i_sstmnt, sourcetab, wa_tfdir, w_include .
refresh: i_stoken, i_sstmnt, sourcetab.
store function groups
select single area from enlfdir into wa_enlfdir-area
where funcname = i_fmodule-name.
i_enlfdir-area = wa_enlfdir-area.
append i_enlfdir.
Store development classes
if not wa_enlfdir-area is initial.
select single devclass into wa_tadir-devclass
from tadir where pgmid = 'R3TR'
and object = 'FUGR'
and obj_name = wa_enlfdir-area.
check not wa_tadir-devclass is initial.
move wa_tadir-devclass to i_devclass-clas.
append i_devclass.
endif.
clear wa_tfdir.
select single funcname pname include from tfdir into wa_tfdir
where funcname = i_fmodule-name.
check sy-subrc = 0.
call function 'FUNCTION_INCLUDE_SPLIT'
exporting
program = wa_tfdir-pname
importing
group = w_area.
concatenate 'L' w_area 'U' wa_tfdir-include into w_include.
i_fmodule-pname = w_include.
i_fmodule-pname2 = wa_tfdir-pname.
modify i_fmodule.
read report i_fmodule-pname into sourcetab.
if sy-subrc = 0.
scan abap-source sourcetab tokens into i_stoken
statements into i_sstmnt
keywords from keywords
with includes.
if sy-subrc > 0.
message e130(enhancement) raising syntax_error.
endif.
check i_stoken for entries
clear w_linnum.
describe table i_stoken lines w_linnum.
if w_linnum gt 0.
w_level = '1'.
w_prog = i_fmodule-pname2.
w_incl = i_fmodule-pname.
perform data_search tables i_stoken using w_level w_prog w_incl.
endif.
endif.
endloop.
sort funtion groups
sort i_devclass.
delete adjacent duplicates from i_devclass.
sort i_enlfdir.
delete adjacent duplicates from i_enlfdir.
endform. "GET_FM_DATA
& Form GET_SUBMIT_DATA &
form get_submit_data.
data selection message to sap gui
call function 'SAPGUI_PROGRESS_INDICATOR'
destination 'SAPGUI'
keeping logical unit of work
exporting
text = 'Get submit data' "#EC NOTEXT
exceptions
system_failure
communication_failure
. "#EC *
sort i_submit.
delete adjacent duplicates from i_submit comparing pname.
w_level = '0'.
loop at i_submit where done ne 'X'.
check i_submit-pname ne p_pname. " ensure not the same as origianl program
clear: i_stoken, i_sstmnt, sourcetab.
refresh: i_stoken, i_sstmnt, sourcetab.
read report i_submit-pname into sourcetab.
if sy-subrc 0.
delete i_submit.
continue.
else.
scan abap-source sourcetab tokens into i_stoken
statements into i_sstmnt
keywords from keywords
with includes.
if sy-subrc > 0.
continue.
endif.
check i_stoken for entries
clear w_linnum.
describe table i_stoken lines w_linnum.
if w_linnum gt 0.
w_prog = i_submit-pname.
w_incl = ''.
perform data_search tables i_stoken using w_level w_prog w_incl.
endif.
endif.
restrict number of submit program selected for processing
describe table i_submit lines w_linnum.
if w_linnum ge p_limit.
w_level = '1'.
endif.
i_submit-done = 'X'.
modify i_submit.
endloop.
sort i_submit.
delete adjacent duplicates from i_submit comparing pname.
endform. "GET_SUBMIT_DATA
& Form DATA_SEARCH &
form data_search tables p_stoken structure stoken
using p_level p_prog p_incl.
loop at p_stoken.
clear i_userexit.
tabix = sy-tabix + 1.
i_userexit-level = p_level.
if i_userexit-level = '0'.
if p_incl is initial.
i_userexit-pname = p_pname.
else.
concatenate p_pname '/' p_incl into i_userexit-pname.
endif.
else.
if p_incl is initial.
i_userexit-pname = p_prog.
else.
concatenate p_prog '/' p_incl into i_userexit-pname.
endif.
endif.
Include
if p_stoken-str eq 'INCLUDE'.
check p_level eq '0'. " do not perform for function modules (2nd pass)
w_index = sy-tabix + 1.
read table p_stoken index w_index into wa_stoken.
check not wa_stoken-str cs 'STRUCTURE'.
check not wa_stoken-str cs 'SYMBOL'.
read table i_submit with key pname = wa_stoken-str.
if sy-subrc 0.
i_submit-pname = wa_stoken-str.
i_submit-level = p_level.
append i_submit.
endif.
endif.
Enhancements
if p_stoken-str eq 'CUSTOMER-FUNCTION'.
clear w_funcname.
read table p_stoken index tabix.
translate p_stoken-str using ''' '.
condense p_stoken-str.
if p_prog is initial.
concatenate 'EXIT' p_pname p_stoken-str into w_funcname
separated by '_'.
else.
concatenate 'EXIT' p_prog p_stoken-str into w_funcname
separated by '_'.
endif.
select single member from modsap into wa_modsap-member
where member = w_funcname.
if sy-subrc = 0. " check for valid enhancement
i_userexit-type = 'Enhancement'.
i_userexit-txt = w_funcname.
append i_userexit.
else.
clear wa_d010inc.
select single master into wa_d010inc-master
from d010inc
where include = p_prog.
concatenate 'EXIT' wa_d010inc-master p_stoken-str into w_funcname
separated by '_'.
i_userexit-type = 'Enhancement'.
i_userexit-txt = w_funcname.
endif.
endif.
BADIs
if p_stoken-str cs 'cl_exithandler='.
w_index = sy-tabix + 4.
read table p_stoken index w_index into wa_stoken.
i_userexit-txt = wa_stoken-str.
replace all occurrences of '''' in i_userexit-txt with space.
i_userexit-type = 'BADI'.
append i_userexit.
endif.
Business transaction events
if p_stoken-str cs 'OPEN_FI_PERFORM'.
i_userexit-type = 'BusTrEvent'.
i_userexit-txt = p_stoken-str.
replace all occurrences of '''' in i_userexit-txt with space.
i_userexit-modname = i_userexit-txt+16(8).
case i_userexit-txt+25(1).
when 'E'.
clear wa_tbe01t.
select single text1 into wa_tbe01t-text1 from tbe01t
where event = i_userexit-txt+16(8)
and spras = sy-langu.
if wa_tbe01t-text1 is initial.
i_userexit-modtext = ''. "#EC NOTEXT
else.
i_userexit-modtext = wa_tbe01t-text1.
endif.
i_userexit-modname+8 = '/P&S'. "#EC NOTEXT
when 'P'.
clear wa_tps01t.
select single text1 into wa_tps01t-text1 from tps01t
where procs = i_userexit-txt+16(8)
and spras = sy-langu.
i_userexit-modtext = wa_tps01t-text1.
i_userexit-modname+8 = '/Process'.
endcase.
append i_userexit.
endif.
Program exits
if p_stoken-str cs 'USEREXIT_'.
i_userexit-type = 'Program Exit'.
i_userexit-txt = p_stoken-str.
replace all occurrences of '''' in i_userexit-txt with space.
append i_userexit.
endif.
Submit programs
if p_stoken-str cs 'SUBMIT'.
check p_level eq '0'. " do not perform for function modules (2nd pass)
check not p_stoken-str cs '_'. " ensure not SUBMIT_XXX
w_index = sy-tabix + 1.
read table p_stoken index w_index into wa_stoken.
check not wa_stoken-str cs '_'. " ensure not SUBMIT_XXX
replace all occurrences of '''' in wa_stoken-str with space.
read table i_submit with key pname = wa_stoken-str.
if sy-subrc 0.
i_submit-pname = wa_stoken-str.
i_submit-level = p_level.
append i_submit.
endif.
endif.
Perform routines (which reference external programs)
if p_stoken-str cs 'PERFORM'.
check p_level eq '0'. " do not perform for function modules (2nd pass)
w_index = sy-tabix + 1.
read table p_stoken index w_index into wa_stoken.
if not wa_stoken-ovfl is initial.
w_off = wa_stoken-off1 + 10.
w_str = c_overflow+w_off(30).
find ')' in w_str match offset w_off.
w_off = w_off + 1.
wa_stoken-str = w_str(w_off).
endif.
check wa_stoken-str cs '('.
w_off = 0.
while sy-subrc = 0.
if wa_stoken-str+w_off(1) eq '('.
replace section offset w_off length 1 of wa_stoken-str with ''.
replace all occurrences of ')' in wa_stoken-str with space.
read table i_submit with key pname = wa_stoken-str.
if sy-subrc 0.
i_submit-pname = wa_stoken-str.
append i_submit.
endif.
exit.
else.
replace section offset w_off length 1 of wa_stoken-str with ''.
shift wa_stoken-str left deleting leading space.
endif.
endwhile.
endif.
Function modules
if p_stoken-str cs 'FUNCTION'.
clear i_fmodule.
check p_level eq '0'. " do not perform for function modules (2nd pass)
w_index = sy-tabix + 1.
read table p_stoken index w_index into wa_stoken.
if wa_stoken-str cs 'WF_'.
if wa_stoken-str cs 'IDOC'.
break-point.
endif.
if wa_stoken-str cs 'BAPI'.
i_fmodule-bapi = 'X'.
endif.
replace first occurrence of '''' in wa_stoken-str with space.
replace first occurrence of '''' in wa_stoken-str with space.
if sy-subrc = 4. " didn't find 2nd quote (ie name truncated)
clear wa_tfdir.
concatenate wa_stoken-str '%' into wa_stoken-str.
select single funcname into wa_tfdir-funcname from tfdir
where funcname like wa_stoken-str.
if sy-subrc = 0.
i_fmodule-name = wa_tfdir-funcname.
else.
continue.
endif.
else.
i_fmodule-name = wa_stoken-str.
endif.
read table i_fmodule with key name = i_fmodule-name.
if sy-subrc 0.
i_fmodule-level = p_level.
append i_fmodule.
endif.
endif.
endloop.
endform. "DATA_SEARCH
& Form GET_ADDITIONAL_DATA &
form get_additional_data.
data selection message to sap gui
call function 'SAPGUI_PROGRESS_INDICATOR'
destination 'SAPGUI'
keeping logical unit of work
exporting
text = 'Get additional data' "#EC NOTEXT
exceptions
system_failure
communication_failure
. "#EC *
loop at i_userexit.
Enhancement data
if i_userexit-type cs 'Enh'.
clear: wa_modsapa.
select single name into wa_modsapa-name from modsap
where member = i_userexit-txt.
check sy-subrc = 0.
i_userexit-modname = wa_modsapa-name.
clear wa_modsapt.
select single modtext into wa_modsapt-modtext from modsapt
where name = wa_modsapa-name
and sprsl = sy-langu.
i_userexit-modtext = wa_modsapt-modtext.
MOH - enhancement to get the project name
clear w_mod.
select single modactmember modactname modattr~status
modattranam modattradat
into w_mod
from modact
inner join modattr
on modattrname = modactname
where modact~member = wa_modsapa-name
and modact~typ = space.
i_userexit-modattr = w_mod.
MOH - eoe
endif.
BADI data
if i_userexit-type eq 'BADI'.
clear wa_sxs_attr.
select single exit_name into wa_sxs_attr-exit_name from sxs_attr
where exit_name = i_userexit-txt.
if sy-subrc = 0.
i_userexit-modname = i_userexit-txt.
else.
i_userexit-modname = 'Dynamic call'. "#EC NOTEXT
endif.
clear wa_sxs_attrt.
select single text into wa_sxs_attrt-text from sxs_attrt
where exit_name = wa_sxs_attr-exit_name
and sprsl = sy-langu.
i_userexit-modtext = wa_sxs_attrt-text.
endif.
modify i_userexit.
endloop.
get enhancements via program package
clear wa_tadir.
select single devclass into wa_tadir-devclass from tadir
where pgmid = 'R3TR'
and object = 'PROG'
and obj_name = p_pname.
if sy-subrc = 0.
clear: wa_modsapa, wa_modsapt.
select name from modsapa into wa_modsapa-name
where devclass = wa_tadir-devclass.
select single modtext from modsapt into wa_modsapt-modtext
where name = wa_modsapa-name
and sprsl = sy-langu.
read table i_userexit with key modname = wa_modsapa-name.
if sy-subrc 0.
i_userexit-modtext = wa_modsapt-modtext.
i_userexit-type = 'Enhancement'. "#EC NOTEXT
i_userexit-modname = wa_modsapa-name.
i_userexit-txt = 'Determined from program DevClass'."#EC NOTEXT
i_userexit-pname = 'Unknown'. "#EC NOTEXT
append i_userexit.
endif.
endselect.
endif.
Get IDOCs
loop at i_devclass.
endloop.
endform. "GET_ADDITIONAL_DATA
& Form DATA_DISPLAY &
form data_display.
data selection message to sap gui
call function 'SAPGUI_PROGRESS_INDICATOR'
destination 'SAPGUI'
keeping logical unit of work
exporting
text = 'Prepare screen for display' "#EC NOTEXT
exceptions
system_failure
communication_failure
. "#EC *
sort i_userexit by type txt modname.
delete adjacent duplicates from i_userexit comparing txt modname.
format headings
write: 'Enhancements from main program'. "#EC NOTEXT
write: /.
uline.
format color col_heading.
write: / sy-vline,
(12) c_col1, "Enhanmt Type
sy-vline,
(40) c_col2, "Enhancement
sy-vline,
(30) c_col3, "Program/Include
sy-vline,
(20) c_col4, "Enhancement name
sy-vline,
(60) c_col5, "Enhancement description
sy-vline,
(8) c_col6, "Project
sy-vline,
(1) c_col7, "S
sy-vline,
(12) c_col8, "ChangeName
sy-vline,
(10) c_col9, "ChangeDate
sy-vline.
format reset.
uline.
format lines
loop at i_userexit.
set line colour
case i_userexit-type.
when 'Enhancement'.
format color 3 intensified off.
when 'BADI'.
format color 4 intensified off.
when 'BusTrEvent'.
format color 5 intensified off.
when 'Program Exit'.
format color 6 intensified off.
when others.
format reset.
endcase.
write: / sy-vline,
i_userexit-type,
sy-vline,
i_userexit-txt(40),
sy-vline,
i_userexit-pname(30),
sy-vline,
i_userexit-modname(20),
sy-vline,
i_userexit-modtext(60),
sy-vline,
i_userexit-modattr-name,
sy-vline,
i_userexit-modattr-status,
sy-vline,
i_userexit-modattr-anam,
sy-vline,
i_userexit-modattr-adat no-zero,
sy-vline.
hide: i_userexit-type,
i_userexit-txt,
i_userexit-pname,
i_userexit-modname,
i_userexit-modtext.
endloop.
format reset.
uline.
user-exits from development class of function modules
if p_devc = 'X'.
write: /.
write: / 'User-exits from function module development class'."#EC NOTEXT
write: 157''.
uline (90).
write: 157''.
loop at i_devclass.
clear wa_modsapa.
select name from modsapa into wa_modsapa
where devclass = i_devclass-clas.
select single name modtext into corresponding fields of wa_modsapt
from modsapt
where name = wa_modsapa-name
and sprsl = sy-langu.
format color 3 intensified off.
write: / sy-vline,
(12) 'Enhancement',
sy-vline,
wa_modsapa-name,
sy-vline,
wa_modsapt-modtext,
sy-vline.
endselect.
endloop.
uline (90).
format reset.
endif.
describe table i_fmodule lines w_linnum.
write: / c_fmod , at 35 w_linnum. "#EC NOTEXT
write: 157''.
if p_func = 'X'.
display fuction modules used in program
uline (38).
write: 157''.
loop at i_fmodule.
write: sy-vline,
i_fmodule-name,
sy-vline,
i_fmodule-bapi,
sy-vline.
write: 157''.
endloop.
uline (38).
write: 157''.
endif.
describe table i_submit lines w_linnum.
write: / c_subm , at 35 w_linnum. "#EC NOTEXT
write: 157''.
if p_subm = 'X'.
display submit programs used in program
uline (44).
write: 157''.
loop at i_submit.
write: sy-vline,
i_submit-pname,
sy-vline.
write: 157''.
endloop.
uline (44).
endif.
issue message with number of user-exits displayed
describe table i_userexit lines w_linnum.
message s697(56) with w_linnum.
endform. "DATA_DISPLAY
& User Selection Processing &
at line-selection.
get cursor field w_fsel.
case w_fsel.
when 'I_USEREXIT-MODNAME'.
case i_userexit-type.
when 'Enhancement'.
set parameter id 'MON' field i_userexit-modname.
call transaction 'SMOD' and skip first screen.
when 'BADI'.
check i_userexit-modname ne 'Dynamic call'.
set parameter id 'EXN' field i_userexit-modname.
call transaction 'SE18' and skip first screen.
when 'BusTrEvent'.
submit rfopfi00 with attr_typey_selm = 'A'
with event = i_userexit-modname(8)
via selection-screen
and return.
when others.
endcase.
when 'I_USEREXIT-PNAME'.
check i_userexit-modname ne 'Unknown'.
w_off = 0.
find '/' in i_userexit-pname match offset w_off.
if w_off = 0.
set parameter id 'RID' field i_userexit-pname.
call transaction 'SE38' and skip first screen.
else.
w_off = w_off + 1.
w_prog = i_userexit-pname+w_off.
set parameter id 'RID' field w_prog.
call transaction 'SE38' and skip first screen.
endif.
when others.
endcase.
Thank You,
Saritha -
FB05 Batch Input / Call Transaction - Does not select amount for payment
Hi,
When I launch the FBWD transaction (returned bills of exchange), the call transaction for G/L account postings is in error. So the FBWD automatically creates a batch input, but when I tried to launch the batch input, it remains unsuccessful.
So I launched the BI in foreground, I can see that the first steps of the account postings are OK, but the BI stops when assigning the payment amounts : the BI found the different postings to clear, but it waits to enter the payment amount.
Manually, I just have to click on 'Accept' or enter the payment amount and click on 'Continue'.
=> Is there anything to do so that there is no payment amount to fill? (there should be something because the FBWD is a standard transaction, so it should work!!)
Can you help me on this?
ThxHi.
Yes the issue has been resolved.
You just have to configure your master record (FS00) by ticking the box 'relevant to cash flow' (XGKON).
Hope it will help you.
Bernard. -
Error While Uploading Material Master Through Bdc Call Transaction
Hi Sap Gurus,
I am doing Bdc call Transaction for Material Master Uploading.
But After Entering data for 4-5 screen i got a error_
Field Mara-iprkz doesn,t exit in the screen saplmgmm 4000
Field Mara-prctr doesn,t exit in the screen saplmgmm 4000
Field Mbew-stprs doesn,t exit in the screen saplmgmm 4000
Field Marc-mtvfe doesn,t exit in the screen saplmgmm 4000
Enter Valuation class.
This is my Programme....................................
<removed by moderator>
Thanks in advance.
Arindam
Moderator message: please post only relevant code parts, your post must be less than 5000 characters to preserve formatting.
Edited by: Thomas Zloch on Apr 16, 2011 9:29 PMSorry for my obvious answer, but you should ask a more precise question.
Your errors are that you try to enter fields but they don't exist, so it sounds logic.
And the error "Enter Valuation class." means that the field is mandatory. So you must enter it.
Re-record the transaction using SHDB (eventually play with the http://wiki.sdn.sap.com/wiki/display/ABAP/Recordduringplay), run it in A display mode, and correct your program.
Sandra
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'MVKE-SKTOF'
'X'.
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'MARC-PRCTR'
wa_mara-prctr."'MUMBAI'.
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'MARA-IPRKZ'
'D'. -
Call Transaction and skip first screen on workflow task
Hello, I'm developing a workflow with a user decison step, where the user should fill some data in transaction FD02.
When the user presses the button in the workitem, the wf goes to a step where i should call transaction FD02.
I'm using SET PARAMETER ID: 'KUN' FIELD customer. to fill the customer field and CALL TRANSACTION 'FD02' AND SKIP FIRST SCREEN.
But when I press the button in the workitem nothing happens. I tested the same in a report and it works. Can anybody help me?
Thanks a lot.Hi,
try below code
data: fcode type FCODE value 'ANTRAGAEN',
customer type kunner,
bukrs type bukrs.
SET PARAMETER ID 'KUN' FIELD customer. " to fill the customer field
SET PARAMETER ID 'BUK' FIELD companycoder. " to fill the company code
SET PARAMETER ID 'TTC' FIELD fcoder. " to fill Function code for enter " it may be other than TTC please check.
CALL TRANSACTION 'FD02' AND SKIP FIRST SCREEN. -
Call transaction 'LS33' and skip first screen.
This doesn't work:
set parameter id 'LEN' field '04018091'.
call transaction 'LS33' and skip first screen.
I've found this:
<a href="https://www.sdn.sap.com/irj/sdn/message?messageID=3715690">https://www.sdn.sap.com/irj/sdn/message?messageID=3715690</a>
but I'm not sure about the exact meaning (wouldn't know where to put the *)
nor even about if it applies.
Thanks in advance.Sorry, I mistook this forum for that of ABAP General.
Anyway, the answer is in
Call transaction 'LS33' and skip first screen. -
Hi,
i am facing problem in call transaction for fb60.
since we have three company code 1000 2000 n 3000.
so when we select the company code for change and change it and when press ok then cursor come to vendor account.
i did the recording in shdb by the same method but after transfering the code and making some manual correction it stuck after pressing ok button for company code in uploading.
it ask for vendor account and makes the all other fields gray and code stop there.
what should i do since i rarely used bdc but here i m bounded to use that.
please suggest me the solution.
*EACH HELPFULL ANSWER WILL BE REWARDED
report ZFIB_FB60
no standard page heading line-size 255.
DATA: BEGIN OF T_FB60 OCCURS 0,
BUKRS TYPE BKPF-BUKRS,
ACCNT TYPE INVFO-ACCNT,
BLDAT(10) TYPE C,
XBLNR TYPE INVFO-XBLNR,
BUDAT(10) TYPE C,
WRBTR(13) TYPE C,
WAERS TYPE INVFO-WAERS,
WMWST(13) TYPE C,
MWSKZ TYPE INVFO-MWSKZ,
SECCO TYPE INVFO-SECCO,
SGTXT TYPE INVFO-SGTXT,
HKONT TYPE ACGL_ITEM-HKONT,
WRBTR1(13) TYPE C,
ZUONR TYPE ACGL_ITEM-ZUONR,
VALUT(10) TYPE C,
SGTXT1 TYPE ACGL_ITEM-SGTXT,
KOSTL TYPE ACGL_ITEM-KOSTL,
END OF T_FB60.
DATA: W_FNAME TYPE STRING.
include bdcrecx1.
SELECTION-SCREEN BEGIN OF BLOCK BLK_001 WITH FRAME TITLE TEXT-001.
PARAMETERS : PR_FNAME LIKE RLGRAP-FILENAME.
SELECTION-SCREEN END OF BLOCK BLK_001.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR PR_FNAME.
CALL FUNCTION 'F4_FILENAME'
IMPORTING
FILE_NAME = PR_FNAME.
START-OF-SELECTION.
W_FNAME = PR_FNAME.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = W_FNAME
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = T_FB60.
LOOP AT T_FB60.
perform bdc_dynpro using 'SAPMF05A' '1100'.
perform bdc_field using 'BDC_OKCODE'
'/ECCDE'.
perform bdc_dynpro using 'SAPLACHD' '1000'.
perform bdc_field using 'BDC_CURSOR'
'BKPF-BUKRS'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_field using 'BKPF-BUKRS'
T_FB60-BUKRS.
perform bdc_dynpro using 'SAPMF05A' '1100'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RF05A-BUSCS'
'R'.
perform bdc_field using 'BDC_CURSOR'
'INVFO-ACCNT'.
perform bdc_field using 'INVFO-BUDAT'
T_FB60-BUDAT.
perform bdc_field using 'INVFO-WAERS'
T_FB60-WAERS.
perform bdc_field using 'INVFO-ACCNT'
T_FB60-ACCNT.
perform bdc_field using 'INVFO-BLDAT'
T_FB60-BLDAT.
perform bdc_dynpro using 'SAPMF05A' '1100'.
perform bdc_field using 'BDC_OKCODE'
'DUMMY'.
perform bdc_field using 'RF05A-BUSCS'
'R'.
perform bdc_field using 'BDC_CURSOR'
'INVFO-MWSKZ'.
perform bdc_field using 'INVFO-ACCNT'
T_FB60-ACCNT.
perform bdc_field using 'INVFO-XBLNR'
T_FB60-XBLNR.
perform bdc_field using 'INVFO-WRBTR'
T_FB60-WRBTR.
perform bdc_field using 'INVFO-WAERS'
T_FB60-WAERS.
perform bdc_field using 'INVFO-WMWST'
T_FB60-WMWST.
perform bdc_field using 'INVFO-MWSKZ'
T_FB60-MWSKZ.
perform bdc_dynpro using 'SAPMF05A' '1100'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
perform bdc_field using 'RF05A-BUSCS'
'R'.
perform bdc_field using 'INVFO-ACCNT'
T_FB60-ACCNT.
perform bdc_field using 'INVFO-XBLNR'
T_FB60-XBLNR.
perform bdc_field using 'INVFO-WRBTR'
T_FB60-WRBTR.
perform bdc_field using 'INVFO-WMWST'
T_FB60-WMWST.
perform bdc_field using 'INVFO-MWSKZ'
T_FB60-MWSKZ.
perform bdc_field using 'INVFO-SECCO'
T_FB60-SECCO.
perform bdc_field using 'INVFO-SGTXT'
T_FB60-SGTXT.
perform bdc_field using 'BDC_CURSOR'
'ACGL_ITEM-KOSTL(01)'.
perform bdc_field using 'ACGL_ITEM-HKONT(01)'
T_FB60-HKONT.
perform bdc_field using 'ACGL_ITEM-WRBTR(01)'
T_FB60-WRBTR1.
perform bdc_field using 'ACGL_ITEM-TXJCD(01)'
perform bdc_field using 'ACGL_ITEM-ZUONR(01)'
T_FB60-ZUONR.
perform bdc_field using 'ACGL_ITEM-VALUT(01)'
T_FB60-VALUT.
perform bdc_field using 'ACGL_ITEM-SGTXT(01)'
T_FB60-SGTXT1.
perform bdc_field using 'ACGL_ITEM-KOSTL(01)'
T_FB60-KOSTL.
CLEAR T_FB60.
ENDLOOP.
CALL TRANSACTION 'FB60' USING BDCDATA
MODE 'A' "CTUMODE
UPDATE 'S' "CUPDATE
MESSAGES INTO MESSTAB.
Thanks and Regards
vijay dwivedihi vijay,
i might just be able to help you with this one..
i just finished doing BDc (i did one posting) in FB60,
so here is the solution..
1) record company code change step
2) header entry step
3) detail entry step
FOR CHECKING COMPANY CODE after each call..
just check the value stored in PARAMETER ID 'BUK'
GET PARAMETER ID 'BUK' FIELD CO_CD_CHECK.
now checking the CO_CD_CHECK we can make the logic to skip the company code change part,
just go to header entry and detail entry step..
and if compnay code is not what you want..
enter company code change then header entry detail entry..
revert back with any queries you have in your mind
i might give you the solution
regards
Rohan
Maybe you are looking for
-
Multiple users access one iPhoto library and view and edit
I have 3 Macs and 5 users in our family. I'd like to have one iPhoto library that any user can access from any of the machines and view and/or edit. I don't need simultaneous access (which from reading posts I can see is not possible in iPhoto). If I
-
I was downloading a utility from "Ask". After getting the utility loaded Ask installed itself in the menu area. I right clicked the first two lines, which were Firefox menu and tools. They disappeared, so I also got rid of Ask but now I cannot get my
-
hai,i'm using hp dv6... i got a problem with my beats audio settings.it's suddenly dissapear..whwn i try to open it it says 'cannot find .statup file' what should i do now???someone help me please...
-
Connecting My Droid 3 to WiFi -- Does It Use Any of My 2gig Data Plan?
I finally purchased my first smart phone, the Droid 3. I'm curious about connecting my phone to the internet using my WiFi network at home. If I connect my phone to my home network to download apps/videos/web pages, will it use up any of my 2gig mo
-
I am installing Netweaver on Linux x64 but I dont it. Can you help me?
Hello. I try install Netweaver WAS on Linux x64 according : https://www.sdn.sap.com:443/irj/sdn/go/portal/prtroot/docs/webcontent/uuid/603afa05-d2a4-2a10-a0bf-c86743f37368 [original link is broken] later when I have finished to download 7 packages an