Uppercase / Lower case Flag in Function Modules
I want the upper case / Lower case flag to be checked active by default when we execute my function module. How can we achieve ?
The checkbox is a part of FM TEST Framework and any changes can't be made to it. Also, while calling through program it will come into picture.
If you want text in specific case
1. Check the domain lowercase property of the data element to be used in import parameters.
2. Use TRANSLATE statement to change case inside the FM.
Similar Messages
-
Case sensitive in Function Module
Hi experts,
we created the custom table and maintaining the data.we saved the data with key as case sensitive which we selected at domain level .we created custom function module in that we have written SELECT statement with where clause .when we are testing the function module in SE37 ,if i enter lower case value in the exporting parameters and after executing the F.M the input values are changing into upper case. so i am getting wrong data.please help me.Hi Vinod,
I have given interface import parameter reference Z-data element which is already used in the Z-table.For example In the FM
iv_name type zz_name.
zz_name is a data element and ZZ_NAME1 is domain name and where i selected the check box as lower case and upper case.
Please any one help me. -
Dear Master's,
I created editable alv,when i press save from report data get saved in table as UPPER case.But i want data will save as UPPER/LOWER case. Please help
Thanks & Regards
Atul SinghHi Atul,
Please check the data type of the fields that you are using. If it is a character type that does not allow lower case letters then data would surely get converted to upper case.
So, instead, try to use a field type for which the 'Lower Case' checkbox in its domain is selected.
Regards,
Aparna Alashe. -
Uppercase lower case issue..
I am fiinding this throughout all the oracle stuff.
If I create a view or stored procedure, it always returns the column names in uppercase...
This is an issue, becuase some of my code uses keys in grids that are case sensitive.
And my app has to work with both MS SQL and Oracle..
So the view listed below, returns the column names in uppercase instead of the case I have specified..
Is there any way around this?
SELECT View_AssetCurrent.AssetID,
View_AssetCurrent.ItemVar1 ,
View_AssetCurrent.ItemVar2 ,
View_AssetCurrent.ItemVar3 ,
View_AssetCurrent.ItemVar4 ,
View_AssetCurrent.ItemVar5 ,
View_AssetCurrent.ItemVar6 ,
View_AssetCurrent.ItemVar7 ,
View_AssetCurrent.ItemVar8 ,
View_AssetCurrent.ItemVar9 , View_AssetCurrent.ItemVar10 ,
View_AssetCurrent.ItemVar11 ,
View_AssetCurrent.ItemVar12 ,
View_AssetCurrent.ItemVar13 ,
View_AssetCurrent.ItemVar14 ,
View_AssetCurrent.ItemVar15 ,
View_AssetCurrent.ItemVar16 ,
View_AssetCurrent.ItemVar17 ,
View_AssetCurrent.ItemVar18 ,
View_AssetCurrent.ItemVar19 ,
View_AssetCurrent.ItemVar20 ,
View_AssetCurrent.AssetDate , View_AssetCurrent.ProfileID , View_AssetCurrent.Carrier ,
View_AssetCurrent.CurrentID ,
View_AssetCurrent.DestinationID ,
View_AssetCurrent.OwnerID ,
View_AssetCurrent.IntraUserName ,
View_AssetCurrent.ClientName ,
View_AssetCurrent.HDate ,
View_AssetCurrent.HStatus ,
View_AssetCurrent.HParent ,
View_AssetCurrent.HVar1 ,
View_AssetCurrent.HVar2 ,
View_AssetCurrent.HVar3 , View_AssetCurrent.HVar4 ,
View_AssetCurrent.HVar5 ,
View_AssetCurrent.HVar6 ,
View_AssetCurrent.HVar7 ,
View_AssetCurrent.HVar8 ,
View_AssetCurrent.HVar9 ,
View_AssetCurrent.HVar10 ,
View_AssetCurrent.SignatureID ,
View_AssetCurrent.ImageID ,
View_AssetCurrent.UpdatedByParent ,
View_AssetCurrent.ExplicitOwnerID ,
View_AssetCurrent.ExplicitDestID ,
View_RecipAndLoc_All.EmpID ,
View_RecipAndLoc_All.FullName ,
View_RecipAndLoc_All.RecipVar1 ,
View_RecipAndLoc_All.RecipVar2 ,
View_RecipAndLoc_All.RecipVar3 ,
View_RecipAndLoc_All.RecipVar4 ,
View_RecipAndLoc_All.RecipVar5 ,
View_RecipAndLoc_All.RecipVar6 ,
View_RecipAndLoc_All.RecipVar7 ,
View_RecipAndLoc_All.RecipVar8 ,
View_RecipAndLoc_All.RecipVar9 ,
View_RecipAndLoc_All.RecipVar10 ,
View_RecipAndLoc_All.DYNAMIC ,
View_RecipAndLoc_All.Download ,
View_RecipAndLoc_All.STATUS ,
View_RecipAndLoc_All.LastModified ,
View_RecipAndLoc_All.EmailAddress ,
ClientList.Client_Type ,
RTRIM(f_getRecipName(View_AssetCurrent.CurrentID, View_AssetCurrent.ProfileID)) CurrentName,
RTRIM(f_getRecipName(View_AssetCurrent.DestinationID, View_AssetCurrent.ProfileID)) DestinationName ,
RTRIM(f_getRecipName(View_AssetCurrent.OwnerID, View_AssetCurrent.ProfileID)) OwnerName ,
Signatures.Sig_Data "Sig_Data"
FROM View_AssetCurrent
LEFT JOIN Signatures
ON View_AssetCurrent.SignatureID = Signatures.Sig_ID
LEFT JOIN ClientList
ON View_AssetCurrent.ClientName = ClientList.Client_Name
LEFT JOIN View_RecipAndLoc_All
ON View_AssetCurrent.ProfileID = View_RecipAndLoc_All.ProfileID
AND View_AssetCurrent.DestinationID = View_RecipAndLoc_All.EmpIDEasy enough to test out....
ME_XE?create or replace view test_it as select 1 as "CaseSensitive" from dual;
View created.
Elapsed: 00:00:00.18
ME_XE?select * from test_it where casesensitive = 1;
select * from test_it where casesensitive = 1
ERROR at line 1:
ORA-00904: "CASESENSITIVE": invalid identifier
Elapsed: 00:00:00.04
ME_XE?select * from test_it where "casesensitive" = 1;
select * from test_it where "casesensitive" = 1
ERROR at line 1:
ORA-00904: "casesensitive": invalid identifier
Elapsed: 00:00:00.00
ME_XE?select * from test_it where "CaseSensitive" = 1;
CaseSensitive
1
1 row selected.
Elapsed: 00:00:00.01 -
Function module not working when used with 'In Background Task'
hi,
this is my code
call function 'Z_IBD_FILL_ZINETACT'
in background task
destination 'SAPD220125'
tables
it_net1 = it_net1
it_net2 = it_net2
it_net3 = it_net3 .
when this code is executed i am not getting any data in my internal tables i.e it_net1, it_net2, and it_net3
but i changed this code see the below code
call function 'Z_IBD_FILL_ZINETACT'
in background task (THIS IS COMMENTED)
destination 'SAPD220125'
tables
it_net1 = it_net1
it_net2 = it_net2
it_net3 = it_net3 .
now i am getting data into my internal tables
can any one tell me what can be the problem and how to solve it in my case
its very urgentHi,
Pls. go through the docu..
CALL FUNCTION
Variant 5
CALL FUNCTION func IN BACKGROUND TASK.
Additions:
1. ... AS SEPARATE UNIT
2. ... DESTINATION dest
3. ... EXPORTING p1 = f1 ... pn = fn
4. ... TABLES p1 = itab1 ... pn = itabn
Effect
Flags the function module func to be run asynchronously. It is not executed at once, but the data passed with EXPORTING or TABLES is placed in a database table and the next COMMIT WORK executes it in another work process.
Note
This variant applies only as of Release 3.0, so both the client system and the server system must be Release 3.0 or higher.
Note
qRFC with Outbound Queue
This is an extension of tRFC. The tRFC is serialized using queues, ensuring that the sequence of LUWs required by the application is observed when the calls are sent.
For further information about qRFC, refer to the Serialized RFC: qRFC With Outbound Queue section of the SAP Library.
Addition 1
... AS SEPARATE UNIT
Effect
Executes the function module in a separate LUW under a new transaction ID.
Addition 2
... DESTINATION dest
Effect
Executes the function module externally as a Remote Function Call (RFC); dest can be a literal or a variable.
Depending on the specified destination, the function module is executed either in another R/3 System or as a C-implemented function module. Externally callable function modules must be flagged as such in the Function Builder (of the target system).
Since each destination defines its own program context, further calls to the same or different function modules with the same destination can access the local memory (global data) of these function modules.
Note
Note that a database commit occurs at each Remote Function Call (RFC). Consequently, you may not use Remote Function Calls between pairs of statements that open and close a database cursor (such as SELECT ... ENDSELECT).
Addition 3
... EXPORTING p1 = f1 ... pn = fn
Effect
EXPORTING passes values of fields and field strings from the calling program to the function module. In the function module, formal parameters are defined as import parameters. Default values must be assigned to all import parameters of the function module in the interface definition.
Addition 4
... TABLES p1 = itab1 ... pn = itabn
Effect
TABLES passes references to internal tables. All table parameters of the function module must contain values.
Notes
If several function module calls with the same destination are specified before COMMIT WORK, these normally form an LUW in the target system. Calls with the addition 1 are an exception to this rule - they each have their own LUW.
You cannot specify type 2 destinations (R/3 - R/2 connections).
(See Technical details and Administration transaction.)
Example
REPORT RS41503F.
/* This program performs a transactional RFC.
TABLES: SCUSTOM.
SELECT-OPTIONS: CUSTID FOR SCUSTOM-ID DEFAULT 1 TO 2.
PARAMETERS: DEST LIKE RFCDES-RFCDEST DEFAULT 'NONE',
MODE DEFAULT 'N',
TIME LIKE SY-UZEIT DEFAULT SY-UZEIT.
DATA: CUSTITAB TYPE TABLE OF CUST415,
TAMESS TYPE TABLE OF T100,
WA_CUSTITAB TYPE CUST415.
SELECT ID NAME TELEPHONE INTO CORRESPONDING FIELDS OF TABLE CUSTITAB
FROM SCUSTOM WHERE ID IN CUSTID ORDER BY ID.
PERFORM READ_CUSTITAB.
EDITOR-CALL FOR CUSTITAB TITLE 'Editor for table CUSTITAB'.
PERFORM READ_CUSTITAB.
CALL FUNCTION 'TRAIN415_RFC_CALLTRANSACTION'
IN BACKGROUND TASK
DESTINATION DEST
EXPORTING
TAMODE = MODE
TABLES
CUSTTAB = CUSTITAB.
CALL FUNCTION 'START_OF_BACKGROUNDTASK'
EXPORTING
STARTDATE = SY-DATUM
STARTTIME = TIME
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC = 1.
EXIT.
ENDIF.
COMMIT WORK.
CALL TRANSACTION 'SM58'.
FORM READ_CUSTITAB *
FORM READ_CUSTITAB.
WRITE: / 'System ID:', SY-SYSID.
SKIP.
LOOP AT CUSTITAB into WA_CUSTITAB
WRITE: / WA_CUSTITAB-ID, WA_CUSTITAB-NAME,
WA_CUSTITAB-TELEPHONE.
ENDLOOP.
ULINE.
ENDFORM.
Pls. reward if useful.... -
API - BAPI , RFC Function module to validate user id and password
Hi,
Can anyone provide me with the function module to validate the username and password of the user of the back end R/3 System.
Best Regards
SidUse function module SUSR_CHECK_LOGON_DATA. You need to provide auth_method (P for password check), userid and password.
Be careful when you execute the function in test mode because it converts the input into upper case hence if you have lower case characters in your password it will return with invalid password. If you pass the lower case into the function in a program everything is fine.
Regards,
Michael -
Regarding Function Module Execution
Hi Friends
I am using the FM: ARCHIVFILE_SERVER_TO_CLIEN.
With the parameters:
Path = /tmp/TEST EMP COMP COE ECM_MB_07.txt
And target Path = c:\Bonusbudget\TEST EMP COMP COE ECM_MB_07.txt
While executing this FM , if I checked the uppercase/lower case checkbox, I am getting the proper results otherwise I am getting the error that:
Error in opening file /TMP/TEST EMP COMP COE ECM_MB_07.TXT for reading (No such file or directory).
As I am calling this in my program and getting the above error.
Can anyone please suggest me the solution for this.
Points are assured for useful answers.
Regards,
SreeramHi Nick
Thanks.
See my code to correct:
VARIABLE DECLARATION
DATA: lv_single_line TYPE string, "To split the file contents
lv_objid TYPE hrobjid, "Holds the Org Unit ID
p_file TYPE rlgrap-filename,"File from Application Server
lv_file_budget TYPE string. "Source File Name
DATA: it_orgunit TYPE hap_t_hrsobid , " Id of Org. unit
it_suborgunits TYPE hap_t_hrsobid , " Ids of Sub Org Units
wa_orgunit TYPE LINE OF hap_t_hrsobid ," Work Area of orgunit
lv_sobid TYPE hrp1001-sobid , " Org. Unit
lv_stext TYPE stext, "Org.Unit Description
lv_user TYPE sy-uname , "User
lv_afile TYPE epsf-epsfilnam, "Application Server file name
lv_objid1 TYPE hrobjid, "Holds the Org Unit ID
lv_uzeit TYPE syuzeit, "Application Server's time
lv_tpath TYPE sapb-sappfad, "Target Path on the Desktop
lv_spath type SAPB-SAPPFAD. "Source File
CONSTANTS DECLARATION
CONSTANTS: c_split(5) TYPE c VALUE ' ', " File spliting indicator
c_rsign TYPE rsign VALUE 'A', "Relationship Indicator
c_relat TYPE relat VALUE '300',"Relation ship
c_file(255) TYPE c VALUE '/tmp/Bonusfile3.txt',
c_file(255) TYPE c VALUE '/tmp/Sample Budget Upload File.txt',
c_currency(5) TYPE c VALUE 'USD'.
CONSTANTS: c_plvar(4) TYPE c VALUE '01', "Plan Version
c_o(3) TYPE c VALUE 'O', "Object
c_otype(4) TYPE c VALUE 'BU', "Object type
c_rsign1 TYPE rsign VALUE 'B'."Relationship
CONSTANTS : c_x(3) TYPE c VALUE 'X',
c_0(3) TYPE c VALUE '0',
c_usd(5) TYPE c VALUE 'USD'.
CONSTANTS: c_otype1 TYPE otype VALUE 'US', "Object Type for User
c_otype2 TYPE otype VALUE 'O', "Org.Unit
c_evalpath TYPE gdstr-wegid VALUE 'SAP_MANG', "Evaluation path
c_depth TYPE hrrhas-tdepth VALUE '0',"Depth
c_underscore TYPE c VALUE '_', "Underscore
c_mb(4) TYPE c VALUE 'MB', "Merit Bonus
c_pb(4) TYPE c VALUE 'PB', "Performance Bonus
c_spot(6) TYPE c VALUE 'SPOT', "Spot Bonus
c_star TYPE c VALUE '*', "To fecth all files
c_dirname TYPE epsf-epsdirnam VALUE '/tmp', "Directory name
c_tpath TYPE sapb-sappfad VALUE 'c:\Bonusbudget\'. "Target Path on the Desktop
INTERNAL TABLE DECLARATION.
TYPES: BEGIN OF ty_budget,
orgunit TYPE orgeh, "Org.Unit
kcurr TYPE cmp_bu_kcurr, "Monetery Falg
butyp TYPE ecm_butyp, "Budget Type
budgetperiod TYPE cmp_bu_finyr, "Budget Period
oldam(20) TYPE c, "Amount
oldcu TYPE waers, "Currency
END OF ty_budget.
DATA: it_budget TYPE STANDARD TABLE OF ty_budget,
wa_budget TYPE ty_budget.
*INTERNAL TABLE & WORK AREA HOLDS THE MANAGER ORG.UNIT
DATA: it_obj_tab_tmp TYPE STANDARD TABLE OF hrrootob.
DATA: wa_obj_tab_tmp TYPE hrrootob.
DATA: it_dir_list TYPE STANDARD TABLE OF epsfili,
wa_dir_list TYPE epsfili.
lv_user = sy-uname.
lv_uzeit = sy-uzeit.
lv_user = 'DALKW1'.
p_file = c_file.
lv_file_budget = p_file.
CALL FUNCTION 'RH_STRUC_GET' "#EC *
EXPORTING
act_otype = c_otype1
act_objid = lv_user
act_wegid = c_evalpath
act_begda = sy-datum
act_endda = sy-datum
act_tdepth = c_depth
TABLES
result_tab = it_obj_tab_tmp
EXCEPTIONS
no_plvar_found = 1
no_entry_found = 2
OTHERS = 3.
LOOP AT it_obj_tab_tmp INTO wa_obj_tab_tmp.
lv_objid1 = wa_obj_tab_tmp-objid.
ENDLOOP.
SELECT SINGLE stext
FROM hrp1000
INTO lv_stext
WHERE otype = c_otype2
AND objid = lv_objid1.
IF sy-subrc EQ 0.
CONCATENATE lv_stext+0(18) c_star INTO lv_afile.
ENDIF.
GET THE FILE NAMES BY PASSING THE DIRECTORY NAME AND FILE NAME.
CALL FUNCTION 'EPS_GET_DIRECTORY_LISTING'
EXPORTING
dir_name = c_dirname
file_mask = lv_afile
TABLES
dir_list = it_dir_list
EXCEPTIONS
invalid_eps_subdir = 1
sapgparam_failed = 2
build_directory_failed = 3
no_authorization = 4
read_directory_failed = 5
too_many_read_errors = 6
empty_directory_list = 7
OTHERS = 8.
IF sy-subrc EQ 0.
LOOP AT it_dir_list INTO wa_dir_list.
CONCATENATE c_tpath wa_dir_list-name INTO lv_tpath.
lv_spath = wa_dir_list-name.
concatenate c_dirname '/' lv_spath into lv_spath.
DOWNLOAD THE FILE TO THE PRESENATATION SERVER PATH.
CALL FUNCTION 'ARCHIVFILE_SERVER_TO_CLIENT'
EXPORTING
path = lv_spath
targetpath = lv_tpath
EXCEPTIONS
error_file = 1
OTHERS = 2.
IF sy-subrc EQ 0.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = lv_tpath
filetype = 'ASC'
TABLES
data_tab = it_budget.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDIF.
CLEAR lv_tpath.
ENDLOOP.
ENDIF.
Regards,
Sree -
Function module table returning empty rows but export data is getting
Hi,
I am executing function module through JCO after setting importing parameter and when i retrieve the table i get table with empty data 0 rows but i am able get export parameter data . when execute the same function module in abap through sap gui i get table containing 5 rows. what may be the problem. please find below code
function = getDefaultJCoConnection().getJCoFunction("ZCRM_ICSS_PROJ_CUST_USR");
function.getImportParameterList().getField("USER_ID").setValue("MLDL010");
getDefaultJCoConnection().execute(function);
exportTable = function.getTableParameterList().getTable("PROJCUSTLIST");
int rowsNumber = exportTable.getNumRows(); // companies table number of rows
log.error("rowsNumber----"+String.valueOf(rowsNumber));
try
if (rowsNumber > 0)
int i = 0;
do
tempString="table valuesZCOMP_ID"(String)exportTable.getValue("ZCOMP_ID")"ZCOMP_SPC-"+(String)exportTable.getValue("ZCOMP_SPC")
+ "table valuesZCOMP_DESC"(String)exportTable.getValue("ZCOMP_DESC")"ZPRICE-"(String)exportTable.getValue("ZPRICE")"---" ;
log.error(tempString);
while (exportTable.nextRow());
catch (Exception th)
log.error("The following error occured: while retrieving table values ", th);
Do you have any idea where may be the problem
Regards,
Pavan
Edited by: Pavan Reddy on Apr 10, 2010 4:46 PMHi Pavan,
This could be the case. The function module might be expecting a value converted into its format.
By this, I mean that the function module might be expecting 0012345678 for 12345678 (Where data element of the ID is of type CHAR 10 ).
Please check if it is so.
Best Regards,
Kris. -
Is it necessary to use the standard function modules always?
Hi All,
Suppose i can retrieve the BUSINEES PARTNER ID from the table BUT000 with the help of 'BP_GUID' field through a select query statement.
Now is it necessary to use a standard function module to retrieve the same data. what about the performance? which is the better solution. to implement our own code or to use the function module available.
Please someone clarify me about this issue.
Regards,
Sharry.If you'd ask the question in general it's obvious that there is no good answer as it always would depend on the circumstance. However, as you've posted your question in the performance tuning forum, let's look at your question in this context first. I think it's fairly safe to say, that in almost 100% of the cases a standard function module will not be as fast as any well implemented and custom tailored code. If in doubt, just try reading the code of the function module you want to read; most likely you will find lots of unnecessary fluff in there, often they read data that you don't even need.
And as far as buffering is concerned, that can also be an issue. E.g. let's say you do a massive read of distinct business partners and you only need the data once for each partner. Obviously buffering is silly in this case and it might even slow down your program, because the implemented buffering is not necessarily well implemented. I've come across a few cases, where the buffer tables where standard tables with no efficient read access (so no sorted table or hash table) and once tons of data were buffered, it actually took a moment to look up if the record already was buffered (just to find it wasn't there yet).
Now most of the times this slowdown is not an issue as the lookup is still fast compared to the (usually) prevalent database accesses with their slower IO timing. But another factor to consider is memory consumption and why buffer data in memory (and waste it), if you can't use the buffer anyway? So when I do use standard function modules, I usually try to see what they retain in global memory, to better understand if I need to call some initialization/clearing/refresh function...
Note also that often you need to process lots of data, but don't find a standard function module for "mass access", so you need to read your object one by one. Obviously that's another good candidate for implementing your own queries, where you can process the data in packages.
So what might be the reason to use a standard function module? Well, often it's required because the logic is so complex that it would take you too much time to implement it (not to mention that we often simply don't know all the logic that's coded in there). Another advantage is that you might get independent of the data model. E.g. for IDoc interfaces SAP switched in some release the tables where the data is stored. So if you had coded your own queries to get IDoc data, they wouldn't have worked after this particular release upgrade. The standard function on the other hand, checks both the old and new tables, so by using it you would have been fine.
The one major caveat I'd give though is to always check whether the function module is released or at least documented to some degree. I.e. if it's not released, SAP won't support it and does not guarantee that the interface or logic stays the same. In my experience lots of functions I do want to use are not released (or documented), but I will still use them because they seem to be the best alternative in certain scenarios.
Cheers, harald -
Difference between Function module in Update task
Hi folks,
What is the difference between
1. A function module calling in 'update task'( if attributes not set for update mode).
2.A function module's attributes set to update mode, but while calling not specified 'Update task'.
Please clarify this doubt.
Thanks in advance.
BhavaniCALL FUNCTION func IN UPDATE TASK.
Additions:
1. ... EXPORTING p1 = f1 ... pn = fn
2. ... TABLES p1 = itab1 ... pn = itabn
Effect
Flags the function module func for execution in the update task. It is not executed at once, but the data passed with EXPORTING or TABLES is placed in a database table and a subsequent COMMIT WORK then causes the function module to be executed by the update task. Update function modules must be flagged as such in the Function Builder
The return value is not set.
Addition 1
... EXPORTING p1 = f1 ... pn = fn
Effect
Values of fields and field strings specified under EXPORTING are passed from the calling program to the function module. In the function module, the formal parameters are defined as import parameters. In the interface definition, default values must be assigned to all import parameters of the update function module.
Addition 2
... TABLES p1 = itab1 ... pn = itabn
Effect
TABLES passes references to internal tables. All table parameters of the function module must have values.
Note
With update function modules, both import parameters and exceptions are ignored when the call is made.
Administration transaction
Related
COMMIT WORK, SET UPDATE TASK LOCAL
regards,
kartikey. -
What are different types of function modules ??
Please tell in detail about Normal function modules and RFC enabled functional modules ?
I have searched other threads also but did not get the enough descriptions of the same.
Please respond !Hi Shreya.
Basically, RFC function modules deal with remote function call which means those ABAP programs can be run/executed from a remote SAP system.
The best example for implementing the RFC Function modules are the BAPIs.
In case of normal function module, The call is made within this SAP system.
RFCs are more often used to establish link between two servers.
Normal function modules provide linking localy that is with the same SAP server/environment.
The calling of RFC function module depends on different client-server specifications.
In case of normal one, the call is same client related call.
Hence, In short RFC for Global
and Normal Function module for Local.
Good Luck.
Harsh -
IDOC error 51- Function module not allowed:
Hi,
I am getting following error in IDOC inbouond.I verifyed all parameters mentioned in error.
Issue still not resolved.
When debugged from WE19 this issue dosnt arise.
Kindly guide.
Function module not allowed: ZIDOC_INPUT_MATCLASS
Message no. B1252
Diagnosis
The function module ZIDOC_INPUT_MATCLASS and the application object type BUS1001 which were determined are not valid for this IDoc.
Procedure
1. Please check that the process code in the inbound partner profile is correct.
2. If this is the case, you should check the ALE inbound methods ALE inbound methods for the process code and see whether the specified function module and application object type are correct.
3. If this is also the case, then the function module and the application object type are not permitted for the logical message type, message variant, message function and basis type that are contained in the IDoc control record. You should check whether the correct values have been assigned to these fields in the control record. If they do have the correct values, then the assignment to the function module and the application object type needs to be maintained.Hi,
Check in WE42, for the process code, you have assigned this function module and given the correct process code in the partner profile.
Sujay -
Idoc error 51 - "Function module not allowed - APPL_IDOC_INPUT1'
Hello everyone,
We are uploading GL balances from legacy to SAP using the LSMW Bapi
object - bus6035
method - post
message type - ACC_DOCUMENT
Basic type - ACC_DOCUMENT03
When we run the lsmw, idoc is created, however with an error 51 saying
"Function module not allowed - APPL_IDOC_INPUT1'
The partner no. is the logical system (the system on which the lsmw is executed)
In the partner profile, we have defined this as LS. In the inbound parameters, we have defined message type = ACC_DOCUMENT, the process code is APL1 and the corresponding function module is - APPL_IDOC_INPUT1
Please let me know if we are missing something or doing anything wrong ?
Since the data in the LSMW will be read frmo a file on the presentation server, do we need to have a port configuration for the same ?
Thanks,
Sushil Joshi`Hello Sushil
The long text of message B1(252) is quite informative for error analysis:
NA B1252
Short Text
Function module not allowed: &
Diagnosis
The function module and the application object type which were
determined are not valid for this IDoc.
Procedure
1. Please check that the process code in the inbound partner profile
is correct.
2. If this is the case, you should check the ALE inbound methods ALE
inbound methods for the process code and see whether the specified
function module and application object type are correct.
3. If this is also the case, then the function module and the
application object type are not permitted for the logical message
type, message variant, message function and basis type that are
contained in the IDoc control record. You should check whether the
correct values have been assigned to these fields in the control
record. If they do have the correct values, then the assignment to
the function module and the application object type needs to be
maintained.
On ECC 6.0 this long text contains 3 transactions for analysis:
- WE20
- BD67
- WE57
Regards
Uwe -
Documentation of Function Modules and Class Methods
Hi
I would like to know the function modules that handle the documentation of function modules and class methods.Is it possible to assign the same documentation of a function module to a method as method documentation?
Are these documentations stored in some system tables?
Thanks in advance,
HemaThe documentation text is stored as Standard text.
you can see these details in the function module->
goto->documentation->
you will now see a screen, there GOTO->HEADER.
YOU will see a screen with the below details.
Text Name Z0MM_SCM_FNC_EVCOR_DELIVERY
Language EN
Text ID FU Function module
Text object DOKU Online Documentation
in this case TEXT NAME = FUNCTION MODULE NAME.
These details are stored in STXH &STXL . But you can use select from these tables. you have to use READ_TEXT to read the documentation to the program.
regards
srikanth -
Copying function module (FM) with funtions
Hi all,
I'm trying to copy one function module (FM) called Z1 to another called Z2. Z1 contains lot of functions stored within its includes. After copy functions are referenced to original's includes of Z1. I need them to be copied as well to new includes. Would I try to copy it to diffrent function group or to copy whole group under new name?
Thanks
MartinHello Martin,
I must agree with Ramesh. Copying Function Modules can be a very messy job. In my experience, in case of complicated function modules, it's better to copy the function group and then delete the stuff that's not required.
Regards,
Anand Mandalika.
Maybe you are looking for
-
Nokia lumia 520 won't connect to bt home hub
Keep getting a message saying there's no connection when I try and connect to my home bt hub I can see the connection and I can type in my pass code which I've checked and double checked is right other phones and tablets are connected fine but I can'
-
Mail stopped coming in for reason that I can see.
My test message did not go through to either thr iCloud or gmail inbox. I did receive some routine mail in the gmail but it did not show in the all mail inbox page. Any ideas?
-
I have on my (fairly recent) motherboard a GeForce 7025 chip which drives the display and now needs the 304.xx legacy driver. But I also have installed a new GT 640 PCIe card which I am using exclusively for GPGPU programming. It needs the updated nv
-
Hi All, I have a couple of queries more pertaining to SAP ISU Business Partner which are as below: 1.Can we delete an exiting Business Partner?If yes, how do we do it?Or is it only marked for deletion.In that case,Can we see a report to view all exis
-
My problem is as follows: 1)I have created a java DC which contains several classes. 2)In that DCs public part, I have created an assembly (by choosing Can be packaged into other ) which exposes all of the classes. 3)I have created a second DC whi