"created by" in SAP transactions and CE BPM
Dear all,
In most of the transaction e.g. create Purchase Order - "created by" is field available in BAPI. In case of Investment approval processes "created by" is popultaed by the ID assigned to logical destination "BASIC" authorisation.
How is this implemented, any guidline?
If EP user creates transaction on SAP, how do we get report / analysis of EP user wise transaction and noty user specified in BASIS authorisation?
how does licencing affects if we use BASIC authorisation?
Ajay
Hi
How is this implemented, any guidline : CreatedBy,CreationDate ,Time.. these are some standard Business Attribute which is by default get assigned to BAPI ,EJB. other than our normal field which actually a key attribute for that implementation. We do not need to give any value/implementation for these attribute it take the data automatically from system .
Hope it helps .
Best Regards
Satish Kumr
Similar Messages
-
Error creating communication to SAP Service and Support.
Hi guru,
I hava an error while configuring in SAP solution manager 7.0 SP12 in SPRO transaction the "initial configuration part I " : the wizard configuration give me the error "Error creating communication to SAP Service and Support"
Error creating communication to SAP Service and Support
Message no. IMG_FASTCONF004
Diagnosis
Error creating communication to SAP Service and Support.
If i create the two RFC connection manually ( SAP-OSS and SAP-OSS-LIST-O01 ) then when I returned to SPRO to make the "initial configuration part II " this tell me that there is an error in basis configuration.
How can I solve this problem ?markus , this is the first step i made after the installation of Sol Manager : this step have created the RFC SAPOSS ( and is working ).
Ok - good.
I am speaking about solution manager , that in basic configuration try to create the other RFC.
yes - I´m aware of that.
I would update to the latest service pack first (SP17 or SP18) before you start with the confiugration. The new SPs have much better wizards. SP12 is pretty old already.
Markus -
Call and display Xcelsius SWF file from an SAP Transaction
Hello Experts ,
Could you please suggest if it is possible to Call and display Xcelsius SWF file
from an SAP Transaction and if Yes how can this be achieved.
Regards ,
Jerin.Jerin,
It is possible to embed a Xcelsius model into an SAP WebTemplate (Anil promised to write a blog about this very soon). After that you can include the WebTemplate in the GUI menu, Role menu or Portal.
Henk. -
Calling a SAP Transactional iview into a WebDynpro
Hi,
Can we call a sap Transactional URL through a webdynpro Application?
I need to call a SAP Transaction using a webdynpro Link.Is it possible by creating a SAP Transactional Url and then calling this Transactional URL Through a link of WebDynPro.If so how?
Regards,
Raja Akella.Raja,
In one of the client we needed to create a lot of iviews pointing to SAP transactions and then put them in Detailed Navigation. Sort of like user menus in SAPGUI. I ended up creating mass content for this. There is a <a href="https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/964">weblog</a> you can refer or better the <a href="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/aaa54576-0501-0010-2a91-d4aeb886bc27">howto</a> guide.
- Pankaj
- Pankaj -
I don't know how to insert a link in a page to a SAP transaction. If I insert the SAP transaction IVIEW in my page, the transaction does not open in a new window but in the page section (it's not useful, it's to small to use). I'd like to insert a link in my homepage to the sap transaction, and open it in a new window. Is it possible?
ThanksThere are two options .. Instead of adding the Iview to the page and then page to Role . directly add the iview to role .
If you want a link to be displayed and then by clicking that you want to go to transaction. Then create a simple webdynpro application ..use Linkto URL UI element and in the action handler use the code i have given you .
For creating webdynpro application refer to this link .
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webdynpro/wd%20java/wd%20tutorials/web%20dynpro%20sample%20applications%20and%20tutorials.htm -
What is the diffreence between call transaction and session method
hi gurus
can any one suggest me
what is the difference between call transaction and session methods
in which cases we have to use teh call transaction and
in which cases we have to use session method.
thank you
regards
kals.CLASSICAL BATCH INPUT (Session Method)
CALL TRANSACTION
BATCH INPUT METHOD:
This method is also called as ‘CLASSICAL METHOD’.
Features:
Asynchronous processing.
Synchronous Processing in database update.
Transfer data for more than one transaction.
Batch input processing log will be generated.
During processing, no transaction is started until the previous transaction has been written to the database.
CALL TRANSACTION METHOD :
This is another method to transfer data from the legacy system.
Features:
Synchronous processing. The system performs a database commit immediately before and after the CALL TRANSACTION USING statement.
Updating the database can be either synchronous or asynchronous. The program specifies the update type.
Transfer data for a single transaction.
Transfers data for a sequence of dialog screens.
No batch input processing log is generated.
http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
Among the two methods call transaction is better compared to session bcoz data transfer is faster in it.
Differences between call transaction and session.
Session Method:
1) Data is not updated in the database table until the session is processed.
2) No sy-subrc is returned.
3) Error log is created for error records.
4) Updation is always synchronous.
Call Transaction Method:
1) Immediate updation in the database table.
2) sy-subrc is returned.
3)Error need to be handled explicitly.
4) updation can be synchronous as well as asynchronous.
2) ya u can use using the N mode no screen.
3)u can't handle multiple transaction in call transaction.
4) u can handle multiple transaction in session using the BDC_INSERT fm.
5)When u go to SM35 u can able to see the error records.
Which is best?
That depends on your requirement. Both of them have there advantages.
According to the situation u can choose any one of these.
difference between batch input and call transaction in BDC Session method.
1) synchronous processing.
2) can tranfer large amount of data.
3) processing is slower.
4) error log is created
5) data is not updated until session is processed.
Call transaction.
1) asynchronous processing
2) can transfer small amount of data
3) processing is faster.
4) errors need to be handled explicitly
5) data is updated automatically
For session method,these are the function modules to b used.
BDC_OPEN_GROUP
BDC_INSERT
BDC_CLOSE_GROUP
For call transaction,this is the syntax.
CALL TRANSACTION TCODE USING BDCDATA
MODE A or E or N
UPDATE A or S
MESSAGES INTO MESSTAB.
Take a scenario where we need to post documents in FB01 and the input file has say 2000 records (2000 documents, not line items in FB01 but 2000 records)
In the BDC call transaction method
We call the transaction FB01 2000 times (once for each record posting) and if the processing fails in record no 3 it can be captured and start with reocord 4.
Eg: Loop at itab.
call transaction FB01
capture errors
endloop.
In the session method.
We do not explicity call the transaction 2000 times, but all the records are appeneded into a session and this session is stored. The processinf of the session is done wwhenever the user wants it to be done. Hence the errors cannot be captured in the program itself
Check these link:
http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
http://www.sap-img.com/abap/question-about-bdc-program.htm
http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/
http://www.planetsap.com/bdc_main_page.htm
Batch Input Session method is asynchronous as told by others here. But the advantage of this is that you have all the error messages and the data for each transaction held persistantly. You don't have to code anything for processing them or writing the logs.
But at the same time, the same feature can be disadvantageous if you need to react to an error or if there are too many errors to manually correct in a session. Since the session are created in the program and its execution is done seperately, you loose the trackability of such transactions.
With a call transaction, what was a disadvantage above will become an advantage. Call transaction immediately gives you messages back and you can react to it in your program. But the disadvantage is that, if you have several hundreds of transactions to run, running them from within the program can be resource crunching affair. It will hamper the system performance and you cannot really distribute the load. Of course, you have some mechanisms with which you can overcome this, but you will have to code for it. Also, storing the messages and storing the errored transaction data etc will have to be handled by you in the program. Whereas, in batch input session, your program's job is to just create the session, after that everything is standard SAP system's responsibility.
Ideally, you should do a call transaction if the resources are not a problem and if it fails, put the errored transaction into a session.
You can decide based on the data volume that your BDC is processing. If data volume is high go for session else call transaction will do.The call transaction updates will be instantaneous where as session needs to be processed explictly after creation.
Session Method
1) Session method supports both small amount of data aswell as large amount of data
2) data processing is asynchronus and data updation is synchronus.
3) it process multiple apllication while perfomaning validations.
4) in session method data will be updated in data base only after processing session only.
5) system provide by default logfile for handling error records.
6) it supports both foreground aswell as background process
in bdc we use FM ...
bdc_open_group " for creating Session
bdc_insert " adding transaction and bdcdata table for updating database
bdc_close_group " for closing Session
Call Transaction
1) Call transaction exclusively for small amout of data
2) it supports only one apllication while perfoming validations
3) there is no default logfile, We can explicitly provide logic for creating logfile for handling error records.
we can create logfile by using structure....BDCMSGCOLL
4) it doesn't support background processing.
5) data processing is synchronous and Data updation is Synchronous( default), in
this method also supports daya updation in asynchronus process also.
syntax:
Call transaction <transaction-name> using BDCDATA
mode <A/N/E>
update <L/A/S>
messages into BDCMSGCOLL.
BDC:
Batch Data Communication (BDC) is the process of transferring data from one SAP System to another SAP system or from a non-SAP system to SAP System.
Features :
BDC is an automatic procedure.
This method is used to transfer large amount of data that is available in electronic medium.
BDC can be used primarily when installing the SAP system and when transferring data from a legacy system (external system).
BDC uses normal transaction codes to transfer data.
Types of BDC :
CLASSICAL BATCH INPUT (Session Method)
CALL TRANSACTION
BATCH INPUT METHOD:
This method is also called as ‘CLASSICAL METHOD’.
Features:
Asynchronous processing.
Synchronous Processing in database update.
Transfer data for more than one transaction.
Batch input processing log will be generated.
During processing, no transaction is started until the previous transaction has been written to the database.
CALL TRANSACTION METHOD :
This is another method to transfer data from the legacy system.
Features:
Synchronous processing. The system performs a database commit immediately before and after the CALL TRANSACTION USING statement.
Updating the database can be either synchronous or asynchronous. The program specifies the update type.
Transfer data for a single transaction.
Transfers data for a sequence of dialog screens.
No batch input processing log is generated.
For BDC:
http://myweb.dal.ca/hchinni/sap/bdc_home.htm
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&
http://www.sap-img.com/abap/learning-bdc-programming.htm
http://www.sapdevelopment.co.uk/bdc/bdchome.htm
http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm
http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html
Check these link:
http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
http://www.sap-img.com/abap/question-about-bdc-program.htm
http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/
http://www.planetsap.com/bdc_main_page.htm
call Transaction or session method ?
Check the following links:
http://www.sap-img.com/bdc.htm
See below example code :
Call three FM : BDC_OPEN_GROUP,BDC_INSERT and BDC_CLOSE_GROUP.
Once you execute the program and it creates the session at SM35 Transaction.
Report : ZMPPC011
Type : Data upload
Author : Chetan Shah
Date : 05/05/2005
Transport : DV3K919557
Transaction: ??
Description: This ABAP/4 Program creates new Production Versions
(C223). It accepts tab-delimited spreadsheet input and
creates BDC sessions.
Modification Log
Date Programmer Request # Description
06/10/2005 Chetan Shah DV3K919557 Initial coding
report zmppc011 no standard page heading line-size 120 line-count 55
message-id zz.
pool of form routines
include zmppn001.
Define BDC Table Structure
data: begin of itab_bdc_tab occurs 0.
include structure bdcdata.
data: end of itab_bdc_tab.
Input record layout of Leagcy File
data: begin of itab_xcel occurs 0,
matnr(18) type c,
werks(4) type c,
alnag(2) type c,
verid(4) type c,
text1(40) type c,
bstmi like mkal-bstmi,
bstma like mkal-bstma,
adatu(10) type c,
bdatu(10) type c,
stlal(2) type c,
stlan(1) type c,
serkz(1) type c,
mdv01(8) type c,
elpro(4) type c,
alort(4) type c,
end of itab_xcel.
data: begin of lt_pp04_cache occurs 0,
matnr like itab_xcel-matnr,
werks like itab_xcel-werks,
alnag like itab_xcel-alnag,
plnnr like mapl-plnnr,
arbpl like crhd-arbpl,
ktext like crtx-ktext,
end of lt_pp04_cache.
data: v_ssnnr(4) type n,
v_lines_in_xcel like sy-tabix,
v_ssnname like apqi-groupid,
v_trans_in_ssn type i,
wa_xcel LIKE itab_xcel,
l_tabix like sy-tabix,
v_matnr like rc27m-matnr,
v_plnnr like mapl-plnnr,
v_plnal like mapl-plnal,
v_tcode like sy-tcode value 'C223',
v_plnty like plas-plnty value 'R',
v_objty like crhd-objty value 'A',
v_plpo_steus like plpo-steus value 'PP04',
v_verwe like crhd-verwe value '0007'.
Parameters
selection-screen: skip 3.
selection-screen: begin of block 1 with frame.
parameters: p_name like rlgrap-filename
default 'C:\My Documents\InputFile.txt'
obligatory,
bdc session name prefix
p_bdcpfx(6) default 'ZPVCRT'
obligatory,
number for transction per BDC session
p_trnssn type i
default 2000 obligatory,
retain the BDC session after successfull execution
p_keep like apqi-qerase
default 'X',
user who will be executing BDC session
p_uname like apqi-userid
default sy-uname
obligatory.
selection-screen: end of block 1.
possible entry list (F4 dropdown) for input file name
at selection-screen on value-request for p_name.
*-SELECT FILE FROM USERS LOCAL PC
call function 'WS_FILENAME_GET'
exporting
DEF_FILENAME = ' '
def_path = 'C:\Temp\'
mask = ',.,..'
mode = 'O'
title = 'Select File '(007)
importing
filename = p_name
RC =
exceptions
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
others = 5.
if sy-subrc 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
begin the show
start-of-selection.
read data from input file
perform transfer_xcel_to_itab.
loop at itab_xcel.
hang on to xcel line num
l_tabix = sy-tabix.
each line in the xcel file marks begining of new prod.version defn
if num-of-trnas-in-session = 0, create new BDC session
if v_trans_in_ssn is initial.
perform bdc_session_open.
endif.
begin new bdc script for rtg create trans
fill in bdc-data for prod.version maintenance screens
perform bdc_build_script.
insert the bdc script as a BDC transaction
perform bdc_submit_transaction.
keep track of how many BDC transactions were inserted in the BDC
session
add 1 to v_trans_in_ssn.
if the user-specified num of trans in BDC session is reached OR
if end of input file is reached, close the BDC session
if v_trans_in_ssn = p_trnssn or
l_tabix = v_lines_in_xcel.
perform bdc_session_close.
clear v_trans_in_ssn.
endif.
endloop.
top-of-page.
call function 'Z_HEADER'
EXPORTING
FLEX_TEXT1 =
FLEX_TEXT2 =
FLEX_TEXT3 =
FORM TRANSFER_XCEL_TO_ITAB *
Transfer Xcel Spreadsheet to SAP Internal Table *
form transfer_xcel_to_itab.
Read the tab-delimited file into itab
call function 'WS_UPLOAD'
exporting
filename = p_name
filetype = 'DAT'
IMPORTING
filelength = flength
tables
data_tab = itab_xcel
exceptions
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_table_width = 4
invalid_type = 5
no_batch = 6
unknown_error = 7
others = 8.
if sy-subrc = 0.
sort the data
sort itab_xcel by matnr werks.
clear v_lines_in_xcel.
if no data in the file - error out
describe table itab_xcel lines v_lines_in_xcel.
if v_lines_in_xcel is initial.
write: / 'No data in input file'.
stop.
endif.
else.
if file upload failed - error out
write: / 'Error reading input file'.
stop.
endif.
endform.
FORM BDC_SESSION_OPEN *
Open BDC Session *
form bdc_session_open.
create bdc session name = prefix-from-selectn-screen + nnnn
add 1 to v_ssnnr.
concatenate p_bdcpfx v_ssnnr into v_ssnname.
open new bdc session
call function 'BDC_OPEN_GROUP'
exporting
client = sy-mandt
group = v_ssnname
keep = p_keep
user = p_uname
exceptions
client_invalid = 1
destination_invalid = 2
group_invalid = 3
group_is_locked = 4
holddate_invalid = 5
internal_error = 6
queue_error = 7
running = 8
system_lock_error = 9
user_invalid = 10
others = 11.
endform.
FORM BDC_BUILD_SCRIPT *
Build BDC *
form bdc_build_script.
data: l_arbpl like crhd-arbpl,
l_text1 like mkal-text1,
l_mdv01 like mkal-mdv01,
l_mapl like mapl.
clear bdc-data itab - begin of new bdc transaction
clear itab_bdc_tab.
refresh itab_bdc_tab.
read material cross reference tables to determine sap part#
clear : v_matnr, v_plnnr, v_plnal.
perform read_matnr_cross_ref using itab_xcel-matnr
itab_xcel-werks
changing v_matnr.
determine the version description to use
if itab_xcel-text1 is initial.
l_text1 = itab_xcel-verid.
else.
l_text1 = itab_xcel-text1.
endif.
determine the routing group# and group ctr# to use
perform read_routing .
determine the production line to use
if itab_xcel-mdv01 is initial.
if not provided in the file then:
prod line = work ctr on the last PP04 op of the rtg determined above
perform read_wc_on_last_pp04 using v_plnnr v_plnal
changing l_mdv01.
NOTE: when executing the above form\routine, if v_plnnr is initial
or v_plnal is initial, THEN l_mdv01 will automatically be
returned blank (ie initial)
else.
l_mdv01 = itab_xcel-mdv01.
endif.
build bdc script
perform bdc_build_script_record
fill in initial screen
using: 'X' 'SAPLCMFV' '1000',
' ' 'BDC_OKCODE' '=ENTE',
' ' 'MKAL-WERKS' itab_xcel-werks,
' ' 'MKAL-MATNR' v_matnr,
' ' 'MKAL_ADMIN-DISPO' space,
' ' 'MKAL-PLNNR' space,
' ' 'MKAL_ADMIN-STTAG' space,
' ' 'MKAL-PLNNG' space,
' ' 'MKAL-MDV01' space,
' ' 'MKAL-PLNNM' space,
click create button on initial screen and go to detail screen
'X' 'SAPLCMFV' '1000',
' ' 'BDC_OKCODE' '=CREA',
fill in the detail screen and go back to initial screen
'X' 'SAPLCMFV' '2000',
' ' 'BDC_OKCODE' '=CLOS',
' ' 'MKAL_EXPAND-MATNR' v_matnr,
' ' 'MKAL_EXPAND-VERID' itab_xcel-verid,
' ' 'MKAL_EXPAND-TEXT1' l_text1,
' ' 'MKAL_EXPAND-BSTMI' itab_xcel-bstmi,
' ' 'MKAL_EXPAND-BSTMA' itab_xcel-bstma,
' ' 'MKAL_EXPAND-ADATU' itab_xcel-adatu,
' ' 'MKAL_EXPAND-BDATU' itab_xcel-bdatu,
' ' 'MKAL_EXPAND-PLTYG' v_plnty,
' ' 'MKAL_EXPAND-PLNNG' v_plnnr,
' ' 'MKAL_EXPAND-ALNAG' v_plnal,
' ' 'MKAL_EXPAND-STLAL' itab_xcel-stlal,
' ' 'MKAL_EXPAND-STLAN' itab_xcel-stlan,
' ' 'MKAL_EXPAND-SERKZ' itab_xcel-serkz,
' ' 'MKAL_EXPAND-MDV01' l_mdv01,
' ' 'MKAL_EXPAND-ELPRO' itab_xcel-elpro,
' ' 'MKAL_EXPAND-ALORT' itab_xcel-alort,
save the production version from initial screen
'X' 'SAPLCMFV' '1000',
' ' 'BDC_OKCODE' '=SAVE'.
endform.
FORM BDC_SUBMIT_TRANSACTION *
Submit BDC Session *
form bdc_submit_transaction.
Load BDC script as a trqansction in BDC session
call function 'BDC_INSERT'
exporting
tcode = v_tcode
tables
dynprotab = itab_bdc_tab
exceptions
internal_error = 01
not_open = 02
queue_error = 03
tcode_invalid = 04.
endform.
FORM BDC_BUILD_SCRIPT_RECORD *
form bdc_build_script_record using dynbegin name value.
clear itab_bdc_tab.
if dynbegin = 'X'.
move: name to itab_bdc_tab-program,
value to itab_bdc_tab-dynpro,
'X' to itab_bdc_tab-dynbegin.
else.
move: name to itab_bdc_tab-fnam,
value to itab_bdc_tab-fval.
shift itab_bdc_tab-fval left deleting leading space.
endif.
append itab_bdc_tab.
endform.
FORM BDC_SESSION_CLOSE *
Close BDC Session *
form bdc_session_close.
close the session
call function 'BDC_CLOSE_GROUP'
exceptions
not_open = 1
queue_error = 2
others = 3.
skip 2.
if sy-subrc ne 0.
write: / 'Error Closing BDC Session ' , 'RETURN CODE: ', sy-subrc.
else.
write : / 'Session created:', v_ssnname,
50 '# of transactions:', v_trans_in_ssn.
endif.
endform.
*& Form read_routing_cache
*FORM read_routing_cache USING pi_matnr
pi_werks
pi_alnag
pi_verid
pi_mdv01.
DATA: BEGIN OF lt_plpo OCCURS 0,
vornr LIKE plpo-vornr,
objty LIKE crhd-objty,
objid LIKE crhd-objid,
arbpl LIKE crhd-arbpl,
END OF lt_plpo,
l_mapl_plnnr LIKE mapl-plnnr.
determine the routing group#
CLEAR lt_pp04_cache.
chk if its in the cache first, if not then get it from MAPL table
and put it in the cache
READ TABLE lt_pp04_cache WITH KEY matnr = pi_matnr
werks = pi_werks
alnag = pi_alnag.
IF sy-subrc = 0.
do nothing - lt_pp04_cache header line has rtg#
ELSE.
get the routing group # from MAPL
SELECT plnnr INTO l_mapl_plnnr
FROM mapl UP TO 1 ROWS
WHERE matnr = pi_matnr AND
werks = pi_werks AND
plnty = 'R' AND
plnal = pi_alnag AND
loekz = space.
ENDSELECT.
put it in the cache internal table
IF NOT l_mapl_plnnr IS INITIAL.
lt_pp04_cache-matnr = pi_matnr.
lt_pp04_cache-werks = pi_werks.
lt_pp04_cache-alnag = pi_alnag.
lt_pp04_cache-plnnr = l_mapl_plnnr.
APPEND lt_pp04_cache.
ENDIF.
ENDIF.
if the rtg# was determined AND
the work center was not determined yet AND
work center was really needed for this line in the input file
then
read the work center from last PP04 operation on the routing
update the cache accordingly
IF NOT lt_pp04_cache-plnnr IS INITIAL AND
lt_pp04_cache-arbpl IS INITIAL AND
( pi_verid IS INITIAL OR
pi_mdv01 IS INITIAL ).
read the last PP04 operation
CLEAR lt_plpo.
REFRESH lt_plpo.
SELECT vornr eobjty eobjid e~arbpl
INTO CORRESPONDING FIELDS OF TABLE lt_plpo
FROM plas AS b
INNER JOIN plpo AS c
ON bplnty = cplnty AND
bplnnr = cplnnr AND
bzaehl = czaehl
INNER JOIN crhd AS e
ON carbid = eobjid
WHERE b~plnty = v_plnty AND
b~plnnr = lt_pp04_cache-plnnr AND
b~plnal = lt_pp04_cache-alnag AND
c~loekz = space AND
c~steus = v_plpo_steus AND
e~objty = v_objty AND
e~werks = lt_pp04_cache-werks AND
e~verwe = v_verwe.
SORT lt_plpo BY vornr DESCENDING.
READ TABLE lt_plpo INDEX 1.
IF NOT lt_plpo-arbpl IS INITIAL.
lt_pp04_cache-arbpl = lt_plpo-arbpl.
read work center description
SELECT SINGLE ktext INTO lt_pp04_cache-ktext
FROM crtx WHERE objty = lt_plpo-objty AND
objid = lt_plpo-objid AND
spras = sy-langu.
the following read will get the index of the correct record to be
updated in the cache
READ TABLE lt_pp04_cache
WITH KEY matnr = pi_matnr
werks = pi_werks
alnag = pi_alnag.
MODIFY lt_pp04_cache
INDEX sy-tabix
TRANSPORTING arbpl ktext.
ENDIF.
ENDIF.
*ENDFORM. " read_last_pp04_operation_cache
*& Form read_routing
form read_routing.
data: begin of lt_mapl occurs 0,
plnnr like mapl-plnnr,
plnal like mapl-plnal,
end of lt_mapl,
l_arbpl like crhd-arbpl.
get all the rtg# and grp ctr# from MAPL
select plnnr plnal
into corresponding fields of table lt_mapl
from mapl
where matnr = v_matnr and
werks = itab_xcel-werks and
plnty = v_plnty and "Rate Routing
loekz = space. "with del flag = OFF
sort lt_mapl by plnal.
if not itab_xcel-verid is initial.
if the verid=0001 then use the 1st good rtg-grp# and grp-ctr#
if itab_xcel-verid = '0001'.
read table lt_mapl index 1.
v_plnnr = lt_mapl-plnnr.
v_plnal = lt_mapl-plnal.
else.
if the verid0001 then use the rtg-grp# and grp-ctr# of the routing
whose work center on the last PP04 operation matches the given verid
loop at lt_mapl.
clear l_arbpl.
get the work center from the last PP04 operation
perform read_wc_on_last_pp04 using lt_mapl-plnnr
lt_mapl-plnal
changing l_arbpl.
if itab_xcel-verid = l_arbpl.
v_plnnr = lt_mapl-plnnr.
v_plnal = lt_mapl-plnal.
exit.
endif.
endloop.
endif.
else.
do nothing
endif.
For version IDs that are other then '0000' or 'ZWIP' :--
if itab_xcel-verid NE '0000' and
itab_xcel-verid NE 'ZWIP'.
if routing group# or group counter was not determined, make the
valid-to date 99/99/9999 so that the BDC, on execution, errors out.
if v_plnnr is initial or
v_plnal is initial.
itab_xcel-bdatu = '99/99/9999'.
endif.
endif.
determine the routing group#
CLEAR lt_pp04_cache.
chk if its in the cache first, if not then get it from MAPL table
and put it in the cache
READ TABLE lt_pp04_cache WITH KEY matnr = pi_matnr
werks = pi_werks
alnag = pi_alnag.
IF sy-subrc = 0.
do nothing - lt_pp04_cache header line has rtg#
ELSE.
get the routing group # from MAPL
put it in the cache internal table
IF NOT l_mapl_plnnr IS INITIAL.
lt_pp04_cache-matnr = pi_matnr.
lt_pp04_cache-werks = pi_werks.
lt_pp04_cache-alnag = pi_alnag.
lt_pp04_cache-plnnr = l_mapl_plnnr.
APPEND lt_pp04_cache.
ENDIF.
ENDIF.
if the rtg# was determined AND
the work center was not determined yet AND
work center was really needed for this line in the input file
then
read the work center from last PP04 operation on the routing
update the cache accordingly
IF NOT lt_pp04_cache-plnnr IS INITIAL AND
lt_pp04_cache-arbpl IS INITIAL AND
( pi_verid IS INITIAL OR
pi_mdv01 IS INITIAL ).
read the last PP04 operation
CLEAR lt_plpo.
REFRESH lt_plpo.
SELECT vornr eobjty eobjid e~arbpl
INTO CORRESPONDING FIELDS OF TABLE lt_plpo
FROM plas AS b
INNER JOIN plpo AS c
ON bplnty = cplnty AND
bplnnr = cplnnr AND
bzaehl = czaehl
INNER JOIN crhd AS e
ON carbid = eobjid
WHERE b~plnty = v_plnty AND
b~plnnr = lt_pp04_cache-plnnr AND
b~plnal = lt_pp04_cache-alnag AND
c~loekz = space AND
c~steus = v_plpo_steus AND
e~objty = v_objty AND
e~werks = lt_pp04_cache-werks AND
e~verwe = v_verwe.
SORT lt_plpo BY vornr DESCENDING.
READ TABLE lt_plpo INDEX 1.
IF NOT lt_plpo-arbpl IS INITIAL.
lt_pp04_cache-arbpl = lt_plpo-arbpl.
read work center description
SELECT SINGLE ktext INTO lt_pp04_cache-ktext
FROM crtx WHERE objty = lt_plpo-objty AND
objid = lt_plpo-objid AND
spras = sy-langu.
the following read will get the index of the correct record to be
updated in the cache
READ TABLE lt_pp04_cache
WITH KEY matnr = pi_matnr
werks = pi_werks
alnag = pi_alnag.
MODIFY lt_pp04_cache
INDEX sy-tabix
TRANSPORTING arbpl ktext.
ENDIF.
ENDIF.
endform. " read_last_pp04_operation_cache
*& Form read_wc_on_last_pp04
form read_wc_on_last_pp04 using pi_plnnr
pi_plnal
changing pe_arbpl.
data: begin of lt_plpo occurs 0,
vornr like plpo-vornr,
objty like crhd-objty,
objid like crhd-objid,
arbpl like crhd-arbpl,
end of lt_plpo.
get all the PP04 operations for the given rtg# & grp-ctr#
select vornr eobjty eobjid e~arbpl
into corresponding fields of table lt_plpo
from plas as b
inner join plpo as c
on bplnty = cplnty and
bplnnr = cplnnr and
bzaehl = czaehl
inner join crhd as e
on carbid = eobjid
where b~plnty = v_plnty and "Rate Routing
b~plnnr = pi_plnnr and
b~plnal = pi_plnal and
c~loekz = space and "Oper Del Flag = OFF
c~steus = v_plpo_steus and "PP04
e~objty = v_objty. "WC Obj Type = 'A'
read the last operation
sort lt_plpo by vornr descending.
read table lt_plpo index 1.
pe_arbpl = lt_plpo-arbpl.
endform. " read_wc_on_last_pp04
Goto LSMW-> Select Direct Input method in 1st step. These are the standard programs for data transfer.
Otherwise goto SPRO->SAP Reference IMG-> Under this you'll find standard data transfer programs module wise.
Regards,
Sunil Kumar Mutyala -
Monitoring of availability of SAP transactions
Hello!
We would like to monitor whether or not the end users can access to specific transactios (e.g. within FI, CO or MM area).
So when the users cannot access these transactions codes a automatic notification (e.g. mail, sms) should be generated.
We already implemented CCMSPING agent, but this approach does not fulfill our requirements.
SAP Solution Manager 7.1 implements several approaches for the availability of transactions.
Has some one experience with the monitoring of SAP transactions and which of the following methods can be recommended?
1) Entry in the table ALTRAMONI on the managed system/CCMS
2) Business Process Monitoring
3) End User Experience Monitoring
Any helpful information will be very appreciated!Hello
1)Yes. You need to. Actually many solution mananger scenario start using the SMD agent.
So you can consider installing the agent to your managed system is more or less "must to do activity for the solman itself".
It is not only for the RCA function any more. Others like EEM, BPMon <analytics>, DVM Cockpit, others also require it.
Because different applications use extractor framework.
2)EEM. First you need to record the script. GUI operation or browser based operation. (Both supported)
Then upload the script and deploy it to the some mashine (PC) near to your frontend.
Then the mashine execute script regulary (called robot).
So in your local pc (where you execute the script) regulary), you also need to install agent to execute script regulary.
Just normal PC is ok for htis purpose.
Last question. I am not sure... Hope other people can answer.
best regards
keiji -
Call standard SAP transaction in BSP
Hi guys,
I am working in WAS 6.20.
We have separate server for WAS and records fetched from R/3 server.
Now the requirement is i have to call a standard SAP transaction and the output of the standard transaction should be displayed in the BSP output.
Is it possible to call a SAP standard transaction in WAS 6.20.
Is it possible to display the same output in the BSP screen.
Above to all, displayed output should be refreshed automatically for every 20 minutes.
I come with lot of doubts, expecting your reply.
Hopefully waiting for yours reply.
Saravanan. VHi,
Pls check threads like
calling STD SAP transaction in BSP
Calling R/3 Transaction from BSP
Calling standard R/3 transaction from BSP
Calling an SAP transaction from a BSP page
Calling ITS transaction from BSP
Can we call standard transaction from bsp
Eddy
Pimp up the S(D)N site and earn points. Check this <a href="/people/eddy.declercq/blog/2007/02/01/pimp-up-the-jam log</a> for details -
Call SAP transaction out of a Crystal Report
Hi there,
is there a possibility to call a SAP transaction and maybe even pass a parameter (like e.g. project number) out of a Crystal Report?
Are there any SSO scenarios?
Thanks in advance
With kind regards
SebastianHi Sebastian Wörner,
Could you please expand what exactly you are looking for ?
Calling SAP transaction out of Crystal Report?
Thanks,
Sastry -
Hi experts.
I`ve created some code for transaction and it is working fine. But when i`m trying to add this code to my procedure and execute it in transaction i recive lot`s of wird exeptions f.e. document header is missing and so on. What could be the problem pls help
regards
MichalHi David
i dont think its parameters folt .
TN
exec _APL_EAN @object_type ,@transaction_type ,@num_of_cols_in_key,
@list_of_key_cols_tab_del ,@list_of_cols_val_tab_del
procedure
create procedure _APL_EAN
@object_type nvarchar(20), -- SBO Object Type
@transaction_type nchar(1), -- [A]dd, <u>pdate, [D]elete, [C]ancel, C[L]ose
@num_of_cols_in_key int,
@list_of_key_cols_tab_del nvarchar(255),
@list_of_cols_val_tab_del nvarchar(255)
as begin
declare @error int
declare @error_message varchar (100)
if(@transaction_type ='A')
begin
declare @isok varchar(100)
set @isok='ok'
declare @docentry varchar(20)
SET @docentry = @list_of_cols_val_tab_del
if(@object_type='13' ) -- Faktura Sprzedarzy
begin
declare @czyDokPow int
set @ISOK= isnull(( select top 1 ItemCode From inv1 where U_ean is null and DocEntry=@docentry),'null')
if(@Isok<>'null')
BEGIN SET @error_message =N'Prosze wprowadzic ean '
set @error=1
end
else begin
set @czyDokPow =isnull((select top 1 DocEntry from INV1 where DocEntry= @list_of_cols_val_tab_del and BaseEntry is null ),-1)
if(@czyDokPow<>-1)
begin
insert into _APL_Kody (ItemCode,Ean,Magazyn,Rozmiar,Ilosc) select ItemCode, U_ean,WhsCode,U_rozmiar,0-Quantity
from INV1 where DocEntry= @list_of_cols_val_tab_del
end
end
end -
When to create SAP IAC i-view and SAP transaction i-view
Hi Gurus,
Could you please tell me when to create SAP IAC iview and when to create SAP transaction i-view.
Regards
IndranilIndranil,
check this from one of the threads
Transaction iViews as the name suggests point to SAP transactions. These iViews can be presented in three flavors out of portal - Win,Web and Java GUI. All have their different advantages. One rule of thumb I have been followins is that if the SAP transaction has a lot of user input go with WinGui (talk to users who use these transactions the most and find out what GUI would make them more happy)
WebGui is pretty good in scenarios where the transaction is going to be mostly getting the information a some little interaction. Haven't had a chance to try Java GUI.
Now about IAC or internet application component iviews. These iviews mostly point to services based on ITS i.e. web applications which are served thru ITS. How are they different from SAP transactions served thru webgui is that these have more web like look and feel. A good exampple of this kind of application is Shopping Cart in the Enterprise Buyer Professional. The web like look and feel is given by the service files in ITS.
some questions
1. Is one preferable to the other?
ans: Please read above
2. Is there a corresponding IAC for every SAP Transaction?
ans :No
3. Can either use WebGui or WinGui mode?
ANS: IACs don't have wingui mode.
4. Why do IAC Services need to be "activated"?
ANS: Otherwise they won't be published to ITS and you cannot access them.
Thanks
Bala Duvvuri -
HELLO EVERYONE,
i have very stupid question with me but then also wanted to clear it.
when i login in XI i have tcodes to do specific tasks and same is with any r/3 system.
My doubt is with the IDOC list which we see in the XI side, e.g when i give we02 then it will give me IDOC list and same is with the SAP R/3 system also.
Why XI has all these transactions ? when do we need to use we02 in XI??
thanks,
gaurav
Message was edited by:
gaurav sharmaHI
Below are the complete T-CODES which we use in SAP XI.
COMPLETE SAP XI TRANSACTION CODES
ALRTCATDEF- Alerts Configuration.
ALRTDISP - Display of Alerts Created
SXMB_IFR -> Start Integration Builder
SXMB_MONI -> Integration Engine - Monitoring
SXI_MONITOR -> XI: Message Monitoring
SXI_CACHE -> To Access IS runtime cache
SXI_SUPPORT -> Test all the Repository and Directory Objects
SXI_CACHE -> XI data directory cacheidx1 -> idoc adapter
IDX2 -> idoc metadata
IDX5 -> monitocr idoc adapter
SM21 -> log di sistema
ST22 -> dump abap (analisi di eccezioni)
SMQ1 -> messages inbound e outbound queue
SMQ2 -> messages inbound e outbound queue
SMICM -> J2EE administration
ST06 -> stato della macchina cpu memory filesystem machine status - cpu, memory and file system.
ST03 -> workload.
SCC4 -> visualizza mandanti del sistema
WE20 -> partner profiles
sale - ale settings
RZ10 - edit system profile
SM59 ->mantain rfc destinations
BD64 -> mantain distribution model (trasformazioni)
SU01 -> users
AL08 -> list all logged users(user login logon)
SE10 -> Change Request
SE09 -> Change Request
WE05 -> All idocs
WE19 -> IDoc Test Tool
WE21 -> port definition
SE11 -> Data dictionary
SM21 -> log sistema xi
se37 -> mantain funcion modules
SICF -> http server configuration
SMGW -> trace, alzare livello di trace.
BD13 ->
BD64 -> modelli di distribuzione
PFCG -> Roles
tabella TSTC -> sap transactions codes
tabella TSTCT -> transaction descriptions
STMS -> transports management
SPAM -> apply ABAP support packages
SPAU -> manage objects after apply support packages
SE01 -> manage change requests
SLDCHECK -> Test SLD Connection
SLDAPICUST-> SLD API Customizing
SXMB_ADM -> Integration Engine - Administration
SXMB_MONI_BPE -> Process Engine - Monitoring
SE38 -> ABAP Editor
SE11 -> ABAP Dictionary
ST22 -> ABAP dump analysis
SPROXY-> ABAP Proxy Generation
SE80 -> Object Navigator
ABAPDOCU -> ABAP Documentation and Examples
SE24-> Class Builder
SM21-> Online System Log Analysis
SMQ1-> qRFC Monitor (Outbound Queue)
SMQ2-> qRFC Monitor (Inbound Queue)
RZ70-> SLD Administration
SM58-> Asynchronous RFC Error Log
SM59-> RFC Destinations (Display/Maintain)
SMICM-> ICM Monitor
WE60-> Documentation for IDoc types
BD87-> Status Monitor for ALE Messages
IDX1-> Port Maintenance in IDoc Adapter
IDX2-> Meta Data Overview in IDoc Adapter
WE05-> IDoc Lists
WE02-> Display IDoc
WE19-> Test tool
WE09-> Search for IDocs by Content
WE20-> Partner Profiles
WE21-> Port definition in XI
SE16-> Data Browser
SE93-> Maintain Transaction Codes
SM30-> Call View Maintenance
SU01-> User Maintenance
SM02-> System Messages
BD54 -Logical System Creation.
SWXF_PBUILDER -> for Detail BPM Process
SMQS - > to register the destination in QOUT scheduler
WEOUTQUEUE - > to start the queue processing
SMQR - > to register the queue
IDXPW - > to activate the IDOC message package
IDXP - > to monitor the message packages.
SWF_XI_CUSTOMIZING -> transaction to check prerequisites for integration processes
Reward with points if found useful
cheers -
Does each SAP transaction iview create a log on to the backend ECC?
Hi,
If I put multiple SAP transaction iviews in a role, each pointing to a different SAP transaction in the same backend system, does the launch of each iview create a new logon in the backend system when using SAP logon tickets? If so, is it possible to make it only launch a new session if one logon has already been created?
Regards
CindyHello Cindy,
launching of diffrent Transactio Iview form same back end is quite similar as loged in to backend with Proper credentials and opening diffrent transaction's by useing
/oxx(Transaction Name)
Hope it will add to ur knowladge.
Regards.
Soni Vinit -
Error while Creating SAP Transactional iView
Hi
I am trying to create an SAP Transaction iview to connect with SAP CRM system, i selected property WebHTML
but i coule notable to connect to that TCode iview.
For this i created a System with User Credentials that will map to the back end system.
It is connecting to the backend system using BSP Application which are presented in the Business Packages.
Wheather ITS should be configured to get this feature.
If so provide me the proper steps to configure ITS.
Regardsits path should be
its path : /sap/bc/gui/sap/its/
or you can leave it blank.
if this is the first time you are running ITS application (WEBGUI).
then go to transaction se80->utilities->settings->Internet transaction server->pulish
choose onselected site radio button and choose INTERNAL
click ok to come out of it.
now choose internet service from the dropdown and enter SYSTEM and hit enter.
right click on SYSTEM and click publish
like wise publish WEBGUI and SHUFFLER services.
now go to transaction SICF and go to
sap/bc/gui/sap/its/webgui
right click on webgui and click test, which will open the browser and show its screen, if yes.
then you can now check your iview.
Regards
Raja -
Create Document from Data Load and Link to Transaction Record for Long Text
Hi,
I have a DBConnect Oracle datasource which contains a large text field. I would like to build a process that will, as part of the load, create a text file from the content of this large field, upload the file into BW and create the document association with the transaction record.
Is anyone aware of a HOW-TO to create the BW document entries and upload the files using ABAP? I thought that I had seen a HOW-TO or instructions approx a year ago, but cannot locate them now.
Thanks in advance,
Mel W.Hi,
I hope this is the how to document you were looking for:
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/8046aa90-0201-0010-5e99-962948c83331
-Vikram
Maybe you are looking for
-
Sequences to generate primary keys
Hi, A question on using sequences to generate primary keys. We have a table and in all environments, test, uat, prod, a sequence exists to generate the primary key for the table. This table is a reference table and is not updateable by the users. Whe
-
I've tried just about everything I've read but still cannot get the runtime to display the images for my iconic buttons. Can someone please give me ALL of the EXACT required changes to the various config files ? I would prefer to use the standalone g
-
hi, When I queried for column_name by using dba_ind_columns it dispalys like SYS_NC00039$ .This is happened after i drop and recreate the index as DESC.Before that it shows correctly.I would like to know the reason. Thanks in advance.............
-
Downgrading Emulex HBA firware on C 200 series servers
Currently all of our Emelux HBA firware version 2.82A4 onto all of C 200 series server. After installing Hitachi multi pathing software (HDLM) windows 2003 servers ended up with blue screen. Now Hitachi is saying that current HBA version is not suppo
-
Flash 8 - trying to export as Quicktime
Hi - I am trying to export a flash movie as a qucktime file .mov - I am working in Flash 8 - when I go to export it says "The version selected in the Flash settings is not supported by QuickTime. Please se the Flash version in the publish setting to