Facing problem in query template editor
Hi All,
After creating connection to MySQLserver in my machine through DATA Servers after that i tried to access that server(through name of server ex:mysqlconnect) in
query template editor by following the procedure then i am not getting the modes list
procedure what we followed:
Data Servers->query template editor->select new->select TagQuery->select mysqlconnect
here in modes window i have to get modesbut i am not getting anything except message "No Data Available".
In the same way there is one more in Tag Query section that is simulator where i am getting all modes.
Please help me out how to get that modes for the connection we have created(mysqlconncet)
Srikanth,
Based upon the simple nature of this inquiry, and the responses so far, I am speculating that you are very new to the product and have not had any formal product training. I would encourage you to pursue the SAP education courses to get a proper foundation on the xMII software.
'No Data Available' always implies that a Fatal Error occured and in the case of the Template Editor you will see additional information in the Sun Java Console which should give you indication as to the underlying issue. The console is the same place to look if you encounter this error message in any of the runtime applets.
Any error like this also produces an error message along with all sorts of additional troubleshooting details in the general logs which are accessible from the main Menu.
Regards,
Jeremy Good
Similar Messages
-
Problem in Testing the Query Template
Hi All,
I created mysql connection in the Dataservers and connection status was successful.we created FixedQuery(Fixed Query is SQLQuery Template type) in the query template editor.when i am trying to test the sql query "select * from emp" it is not displaying any result template.But sql query is working fine we tested in MYSQL server console.
please do the need ful
Regards
Srikanth MHi,
I written fixed sql query(select * from emp) in the query tab,When i select the "Test" button one window is opening ,text/html selected and submited "OK" button .It is not opening any result template in the browser.
Regards
Srikanth -
Facing problem with a date column in select query
Hi,
I am facing problem with a date column. Below is my query and its fainling with " invalid number format model" .
Query: SELECT *
FROM EMP
WHERE trunc(LAST_UPDATED) >= to_date(to_char(22-05-2009,'dd-mm-yyyy'),'dd-mm-yyyy')
LAST_UPDATED column is "DATE" data type.
Please help me ThanksRadhakrishna Sarma wrote:
SeánMacGC wrote:
WHERE LAST_UPDATED >= to_date('22-05-2009','dd-mm-yyyy');
You do not need the TRUNC here in any case.
I don't think so. What if the user wants only data for 22nd May and the table has records with date later than 22nd also? In that case your query willl not work. In order for the Index to work, I think the query can be written like this I think Sean is right though. Use of TRUNC Function is quiet useless based on the condition given here, since the to_date Function used by OP will always point to midnight of the specified date, in this case 22-05-2009 00:00:00.
Regards,
Jo
Edit: I think Sean proved his point... ;) -
Passing query template name to BLS SQL action in the link editor
I want to have one transaction that uses the SQL query action, but which query template it uses will be dependent on some user input. I am having trouble passing the query name. I'm using the full file path in xml format (i.e. "c://<folder1>//<folder2>//<folderN>//"&PassedFileName&".xml", but with backslashes instead of forward slashes). I got an error around the connector, so I set that too. Then I got an error around mode, so I set it to "FixedQuery". Now I'm getting, "The Query expression was not set with the Query parameter".
There are only 3-5 possible queries that will be used, so I'd rather build SQL queries and just pass the transaction the name of the query, as opposed to passing the full text of the query each time.
Thanks,
Carrie
Edited by: Carrie Schimizzi on May 9, 2008 6:38 PM
Edited by: Carrie Schimizzi on May 9, 2008 6:39 PM
Edited by: Carrie Schimizzi on May 9, 2008 6:40 PMCarrie,
If you haven't already done so, configure your master BLS transaction with a proper representative runtime variation, which will make the whole process simpler to create and troubleshoot. Quite often when people try to use the dynamic capabilities of MII, they end up getting confused because of user over-complication. In your SQLQuery action block make sure you configure it to a valid template that would be one that the user would provide as an input (don't forget to allow the generation of sample results for making any subsequent trx efforts easier). Then look in the link editor and you should see this string value for the query template link if you hover over the corresponding blue T icon. This will show you the format you need to provide from your Transaction input property (which should also have a valid default value assigned so you can test the transaction by itself, without needing to initially rely on the Xacute Query template layer.
Regards,
Jeremy -
Problem Calling MaxDB stored procedure with output from MII Query template
Hi,
I am using Max DB Database studio to write stored procedure, I am calling stored procedure from MII Query using CALL statement.
Can anyone guide me how to pass output values of stored procedure.
Examlpe::
call ProcName('[Param.1]','[Param.2]','[Param.3]','[Param.4]','[Param.5]', :isSuccess, :Trace)
In the above line of code I am not able to get the output values of stored procedure that is isSuccess and Trace values in Query template when executed. But same thing I get when executed in Database studio.
How do I call with outputs for any stored procedure in MII.
Any help would be appriciated.
Thanks,
PadmaMy call statement is like this
call RESULTDATA_INSERT('[Param.1]','[Param.2]','[Param.3]', :isSuccess, :Trace)
I am able to insert record in DB, But I am not getting output values in Query template.I have done this in Fixed Query, when I execute it throws me "Fatal error as Loaded content empty".
I tried giving select below call but it dont work.
Regards,
Rao -
Problem of using Parameters in Query templates
Hi,
how do use parameter values in SQL query in query templates? i have 2 field database no1, no2. i want to filter it by no2 by using param. i gave in filter field of query template as order1.no2 like '[Param.1]' and in parameters as % and clicked set. when i test it, it is showing error..
help me.
- senthilHi,
I tried that mode is query, filter expr is order1.no2 like '[Param.1]' and in parameters % . It is showing all the cols.
-vijaya -
Stored Procedure Output Issue in Query Template
Hi,
We have written a stored procedure which returns 3 outputs which are of type CLOB. Whenever we call the procedure from query template it gives an error Wrong number or type of parameters. It seems that we need to pass some variables which are of type clob to the procedure while calling which we cannot do as per my knowledge in query template.
Even if we are able to get the output we will not be getting complete output since the out put values are of type CLOB.
Can you guide me how to achive this
Thanks,
ShalakaHi,
Sometime back i faced the similar problem. But I used oracle pipelined functions to achieve this....
The basic thing is it will break the chunk into records of length of 4000 chars and it will return in a table. And from other end you can loop and concatenate. Hope this helps....
create or replace FUNCTION FN_GEN_XML RETURN dashb_xml pipelined IS v_xml CLOB := NULL;
v_temp VARCHAR2(4000) := NULL;
v_counter NUMBER := 1;
BEGIN
SELECT somefunction(0)
INTO v_xml
FROM dual;--v_xml here is clob type. here you might need to call your proc and get it into this variable.
dbms_output.put_line ('length of v_xml is:' || length(v_xml));
DBMS_OUTPUT.PUT_LINE('start of this function');
LOOP
v_temp := SUBSTR(v_xml, v_counter, 4000);
EXIT
WHEN v_temp IS NULL;
DBMS_OUTPUT.PUT_LINE(to_char(v_temp));
pipe ROW(v_temp);
v_counter := v_counter + 4000;
END LOOP;
RETURN;
END;
Regards,
Ravi Kumar -
Executing BLS Transaction through Xacute query template?
Hi Experts,
Am having a SQL query template for which am passing value from web page after user input and i have added this SQL in my BLS transaction in illumSQL action block. I have created Xacute query template and display template(iGrid) for displaying output from transaction.
Problem am facing is that am not able to execute my transaction after passing values to SQL query. How to get this working?
Regards,
Ravi ShankarHi som sarkar,
Let me explain my problem this way, let say am having SQL Fixed query and am doing some field selection based on the parameter which is been passed to the query template.
-Checked the query template returning values, working good.
created one Display template to display whatever been fetched by query template(iGrid).
-Generated applet working good.
Now if i pass the parameters from webpage to SQL query(parametes are mapped in query template) and update the grid, it should work right but its not...
Thats what i was trying to ask you so far.
Regards,
Ravi Shankar -
Hi,
We are facing some problem in WAD.
We have developed some reports based on views and as well on queries.
As per our requirement we merged all the reports in a Standard web Template, and we are using table and graph as web items for the template, here the user can select any report becoz we have query selection option, then it will display the particular report. But we are getting the problem with the Template.
While publishing the template we will get three tabs 1.DATA ANALYSIS, 2. GRAPHICAL DISPLAY 3.INFORMATION. in the initial screen that means in the DATA ANALYSIS tab it should display only the table, but in our case it is displaying both table and graph.
And also if you select graphical tab then that should highlight the particular tab and with the particular graph, but the tabs is not highlighting when you selecting that.
If you have any solutions please let us know.
Regards,
Nossum Chandu.Hi
I have having almost similar problem. The difference is that it is other way around.
The problem is from Development server instead from production. I am not using slandered template.
I have done following but fail to resolve it-
1) Loading templates using WAD gives inconsistency error. Object "...." is inconsistent.
Recalling query in QD returns following two errors "BEx transport request is not available or not suitable 0", "Choose an existing request 0"
2) While running the query using TX RSRT2 (Query Monitor support package X), returns error "An error has occurred in the script of this page" Line 11039, Char 1, Error Access is denied and so on...
3) ICM ok, Services are checked.
4) SM50 log does not give any clues
5) There is no URL issue.
6) BW Functionalities are active.
Could some suggest?
Thanks in advance -
Facing problem while going to catch return result from web-services.
Hi everybody,
I am new to BPEL. I am facing problem while going to catch the attributes of resultsets returning from web-services(QAS). As far as my knowledge, two types of results it should return - XML entities and another is attributes which is coming as the part of XML entitites. I am able to catch the XML entities, but can't catch the attributes under it. Even, I am not able to see whether web-services returning something within that field.
When, I tried to catch the attribute and store to a temporary varilable using the following code:
*<assign name="AssignQASDoGetAddress1">*
*<copy>*
*<from variable="InvokeQAS_DoSearch_OutputVariable"*
part="body"
query="/ns6:QASearchResult/ns6:QAPicklist/ns6:PicklistEntry/@PostcodeRecoded"/>
*<to variable="temp"/>*
*</copy>*
*</assign>*
but, I am facing the following selectionFailure errors after running it:
*"{http://schemasxmlsoap.org/ws/2003/03/business-process/}selectionFailure" has been thrown.*
-<selectionFailure xmlns="http://schemasxmlsoap.org/ws/2003/03/business-process/">
-<part name="summary">
*<summary>*
empty variable/expression result.
xpath variable/expression expression "bpws:getVariableData('InvokeQAS_DoSearch_OutputVariable', 'body', '/ns6:QASearchResult/ns6:QAPicklist/ns6:PicklistEntry/@PostcodeRecoded')" is empty at line 269, when attempting reading/copying it.
Please make sure the variable/expression result "bpws:getVariableData('InvokeQAS_DoSearch_OutputVariable', 'body', '/ns6:QASearchResult/ns6:QAPicklist/ns6:PicklistEntry/@PostcodeRecoded')"is not empty.
*</summary>*
*</part>*
*</selectionFailure>*
Getting this error it seems to me that web-service is returning nothing, but, it returns something as it has been catched using a method called isPostcodeRecoded() Java Code in Oracle ADF. This method has been used as it should return boolean whereas for catching the xml entities using java code we used the method like getPostcode(), getMoniker().
For your information, we are using Jdeveloper as the development tool for building the BPEL process.
Am I doing any syntax error. Please consider it as urgent and provide me asolution.
Thanks in advance.
Chandrachur.Thanks Dave and Marc, for your suggestions. Actually what I found is QAS web-service is returning nothing as attributes when the attributes are set to the default value. For example, following is the part of the wsdl of the result which QAS webservice returns.
<xs:element name="QASearchResult">
- <xs:complexType>
- <xs:sequence>
<xs:element name="QAPicklist" type="qas:QAPicklistType" minOccurs="0" />
<xs:element name="QAAddress" type="qas:QAAddressType" minOccurs="0" />
</xs:sequence>
<xs:attribute name="VerifyLevel" type="qas:VerifyLevelType" default="None" />
</xs:complexType>
</xs:element>
<xs:complexType name="QAPicklistType">
- <xs:sequence>
<xs:element name="FullPicklistMoniker" type="xs:string" />
<xs:element name="PicklistEntry" type="qas:PicklistEntryType" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="Prompt" type="xs:string" />
<xs:element name="Total" type="xs:nonNegativeInteger" />
</xs:sequence>
<xs:attribute name="AutoFormatSafe" type="xs:boolean" default="false" />
<xs:attribute name="AutoFormatPastClose" type="xs:boolean" default="false" />
<xs:attribute name="AutoStepinSafe" type="xs:boolean" default="false" />
<xs:attribute name="AutoStepinPastClose" type="xs:boolean" default="false" />
<xs:attribute name="LargePotential" type="xs:boolean" default="false" />
<xs:attribute name="MaxMatches" type="xs:boolean" default="false" />
<xs:attribute name="MoreOtherMatches" type="xs:boolean" default="false" />
<xs:attribute name="OverThreshold" type="xs:boolean" default="false" />
<xs:attribute name="Timeout" type="xs:boolean" default="false" />
</xs:complexType>
<xs:complexType name="PicklistEntryType">
- <xs:sequence>
<xs:element name="Moniker" type="xs:string" />
<xs:element name="PartialAddress" type="xs:string" />
<xs:element name="Picklist" type="xs:string" />
<xs:element name="Postcode" type="xs:string" />
<xs:element name="Score" type="xs:nonNegativeInteger" />
</xs:sequence>
<xs:attribute name="FullAddress" type="xs:boolean" default="false" />
<xs:attribute name="Multiples" type="xs:boolean" default="false" />
<xs:attribute name="CanStep" type="xs:boolean" default="false" />
<xs:attribute name="AliasMatch" type="xs:boolean" default="false" />
<xs:attribute name="PostcodeRecoded" type="xs:boolean" default="false" />
<xs:attribute name="CrossBorderMatch" type="xs:boolean" default="false" />
<xs:attribute name="DummyPOBox" type="xs:boolean" default="false" />
<xs:attribute name="Name" type="xs:boolean" default="false" />
<xs:attribute name="Information" type="xs:boolean" default="false" />
<xs:attribute name="WarnInformation" type="xs:boolean" default="false" />
<xs:attribute name="IncompleteAddr" type="xs:boolean" default="false" />
<xs:attribute name="UnresolvableRange" type="xs:boolean" default="false" />
<xs:attribute name="PhantomPrimaryPoint" type="xs:boolean" default="false" />
</xs:complexType>
here the attributes like FullAddress, PostcodeRecodedare , etc. are not being return by the web-service when it is getting the default value false. But, if it gets true then , it is being displayed at the BPEL console.
Do you have any idea how can I catch the attributes and its value even when it gets the default value which is already set. Previously, it was returning(it was not being displayed at the console).
Thanks once again for your valuable suggestions...!!!
Chandrachur. -
Calling a Stored Procedure with output parameters from Query Templates
This is same problem which Shalaka Khandekar logged earlier. This new thread gives the complete description about our problem. Please go through this problem and suggest us a feasible solution.
We encountered a problem while calling a stored procedure from MII Query Template as follows-
1. Stored Procedure is defined in a package. Procedure takes the below inputs and outputs.
a) Input1 - CLOB
b) Input2 - CLOB
c) Input3 - CLOB
d) Output1 - CLOB
e) Output2 - CLOB
f) Output3 - Varchar2
2. There are two ways to get the output back.
a) Using a Stored Procedure by declaring necessary OUT parameters.
b) Using a Function which returns a single value.
3. Consider we are using method 2-a. To call a Stored Procedure with OUT parameters from the Query Template we need to declare variables of
corresponding types and pass them to the Stored Procedure along with the necessary input parameters.
4. This method is not a solution to get output because we cannot declare variables of some type(CLOB, Varchar2) in Query Template.
5. Even though we are successful (step 4) in declaring the OUT variables in Query Template and passed it successfully to the procedure, but our procedure contains outputs which are of type CLOB. It means we are going to get data which is more than VARCHAR2 length which query template cannot return(Limit is 32767
characters)
6. So the method 2-a is ruled out.
7. Now consider method 2-b. Function returns only one value, but we have 3 different OUT values. Assume that we have appended them using a separator. This value is going to be more than 32767 characters which is again a problem with the query template(refer to point 5). So option 2-b is also ruled out.
Apart from above mentioned methods there is a work around. It is to create a temporary table in the database with above 3 OUT parameters along with a session specific column. We insert the output which we got from the procedure to the temporary table and use it further. As soon the usage of the data is completed we delete the current session specific data. So indirectly we call the table as a Session Table. This solution increases unnecessary load on the database.
Thanks in Advance.
RajeshRajesh,
please check if this following proposal could serve you.
Define the Query with mode FixedQueryWithOutput. In the package define a ref cursor as IN OUT parameter. To get your 3 values back, open the cursor in your procedure like "Select val1, val2, val3 from dual". Then the values should get into your query.
Here is an example how this could be defined.
Package:
type return_cur IS ref CURSOR;
Procedure:
PROCEDURE myProc(myReturnCur IN OUT return_cur) ...
OPEN myReturnCur FOR SELECT val1, val2, val3 FROM dual;
Query:
DECLARE
MYRETURNCUR myPackage.return_cur;
BEGIN
myPackage.myProc(
MYRETURNCUR => ?
END;
Good luck.
Michael -
Facing problem in copy of standard SAP program
hi,,,,,,,,,,,,
when i execute this program in production server it displays an error ....i m trying to find out this error but this type(error) i cudnt find plz help me .....
i m sending the documents which i rcvd from the system after the execution of this program.
this program executes perfctlly in developmnt server but it creates problem in production server,,,i searched out the type kkblo_t_sortinfo in the whole program but i cud nt find it ,,,,,,,,,
documents.....
Runtime Errors SYNTAX_ERROR
Date and Time 18.11.2006 12:01:19
ShrtText
Syntax error in program "ZVISA_RM07MLBD ".
What happened?
Error in ABAP application program.
The current ABAP program "????????????????????????????????????????" had to be
terminated because one of the
statements could not be executed.
This is probably due to an error in the ABAP program.
In program "ZVISA_RM07MLBD ", the following syntax error occurred
in the Include "RM07MLBD_FORM_01 " in line 1805:
The type KKBLO_T_SORTINFO" is unknown."
also i m sending the include program ver i m facing problem...*&----
*& Include RM07MLBD_FORM_01 *
correction Aug. 2005 MM "n856424
- the fields "entry time", "entry date", and "User" are "n856424
are not filled filled for price change documents "n856424
MB5B improved regarding accessibilty "n773673
Improvements : March 2003 MM "n599218
- print the page numbers "n599218
- send warning M7 393 when user deletes the initial "n599218
display variant "n599218
- show the current activity and the progress "n599218
contains FORM routines without preprocessor commands and "n547170
no text elements "n547170
*& Form INITIALISIERUNG
Vorbelegung der Anzeigevariante *
form initialisierung.
repid = sy-repid.
variant_save = 'A'.
clear variante.
variante-report = repid.
Default-Variante holen:
def_variante = variante.
call function 'REUSE_ALV_VARIANT_DEFAULT_GET'
exporting
i_save = variant_save
changing
cs_variant = def_variante
exceptions
not_found = 2.
if sy-subrc = 0.
save the initial, e.g. default variant "n599218
move def_variante-variant to alv_default_variant. "n599218
p_vari = def_variante-variant.
endif.
print-no_print_listinfos = 'X'.
endform. " INITIALISIERUNG
*& Form AKTUELLE_BESTAENDE
Ermittlung der aktuellen eigenen Bestände,
d.h. der bewerteten Bestände und des Retourensperrbestandes,
auf Lagerortebene und auf Material- bzw. Chargenebene;
folgende Sonderbestände können gesondert ausgewiesen werden:
Lohnbearbeitung ( Sonderbestandskennzeichen O )
Kundenkonsignation ( " V, W, M )
Lieferantenkonsignation ( " K )
Projektbestand ( " Q )
Kundenauftragsbestand ( " E )
form aktuelle_bestaende.
delete the range tables for the creation of table g_t_organ
if g_t_organ[] is initial. "n433765
refresh : g_0000_ra_werks, g_0000_ra_bwkey, g_0000_ra_bukrs.
clear : g_0000_ra_werks, g_0000_ra_bwkey, g_0000_ra_bukrs.
endif.
if bwbst = 'X'.
select the valuated stocks
perform aktuelle_bst_bwbst.
elseif lgbst = 'X'.
all own stock from storage locations or batches
if xchar = ' '.
perform aktuelle_bst_lgbst_mard.
elseif xchar = 'X'.
perform aktuelle_bst_lgbst_xchar.
endif.
elseif sbbst = 'X'.
special stocks
case sobkz.
when 'O'.
perform aktuelle_bst_sbbst_o.
when 'V' or 'W'.
perform aktuelle_bst_sbbst_v_w.
when 'K' or 'M'.
perform aktuelle_bst_sbbst_k_m.
when 'Q'.
perform aktuelle_bst_sbbst_q.
when 'E'.
perform aktuelle_bst_sbbst_e.
when others.
Angegebener Sonderbestand nicht vorhanden.
message s290.
perform anforderungsbild.
endcase.
endif.
create table g_t_organ with the plants and valuation areas from
the database selection if table g_t_organ is empty
perform f0000_create_table_g_t_organ
using c_no_error.
endform. "aktuelle_bestaende.
*& AKTUELLE_BST_LGBST_MARD
form aktuelle_bst_lgbst_mard.
eigener Bestand auf Lagerortebene -
... auf Materialebene -
select * from mard into corresponding fields of table imard
where werks in g_ra_werks
and lgort in g_ra_lgort
and matnr in matnr.
if sy-subrc ne 0. "no records found ?
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
does the user has the the authority for the found entries ?
loop at imard.
perform f9000_auth_plant_check
using imard-werks.
if g_flag_authority is initial.
delete imard.
else.
perform f9200_collect_plant using imard-werks.
perform f9400_material_key using imard-matnr.
endif.
endloop.
describe table imard lines g_f_cnt_lines.
if g_f_cnt_lines is initial. "no records left ?
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
if not charg-low is initial or not charg-high is initial.
clear charg.
message w285.
Charge wird zurückgesetzt.
endif.
endform. "aktuelle_bst_lgbst_mard
AKTUELLE_BST_LGBST_XCHAR
form aktuelle_bst_lgbst_xchar.
read the stock table mchb for batches
select * from mchb into corresponding fields of table imchb
where werks in g_ra_werks
and lgort in g_ra_lgort
and matnr in matnr
and charg in charg.
describe table imchb lines g_f_cnt_lines.
if g_f_cnt_lines is initial. "no records found ?
message s821 with matnr werks lgort.
Keine Chargen zu Material & in Werk & Lagerort & vorhanden.
perform anforderungsbild.
endif.
process working table with the batches
loop at imchb.
does the user has the the authority for the found entries ?
perform f9000_auth_plant_check
using imchb-werks.
if g_flag_authority is initial.
delete imchb.
else.
perform f9200_collect_plant using imchb-werks.
perform f9400_material_key using imchb-matnr.
endif.
endloop.
endform. "aktuelle_bst_lgbst_xchar
AKTUELLE_BST_SBBST_O
form aktuelle_bst_sbbst_o.
process Special Stocks with Vendor
Bemerkung: Im Gegensatz zu den anderen Sonderbeständen existieren
der Lohnbearbeitungs- und Kundenkonsignationsbestand
nur auf Werksebene.
select * from mslb into corresponding fields of table xmslb
where werks in g_ra_werks
and matnr in matnr
and charg in charg
and sobkz = 'O'.
if sy-subrc <> 0. "no records found ?
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
process the found records special stock vendor
loop at xmslb.
check the authority
perform f9000_auth_plant_check
using xmslb-werks.
if g_flag_authority is initial.
delete xmslb.
else.
fill range table g_0000_ra_werks if it is still empty
perform f9200_collect_plant using xmslb-werks.
perform f9400_material_key using xmslb-matnr.
endif.
endloop.
error, if no records are left
describe table xmslb lines g_f_cnt_lines.
if g_f_cnt_lines is initial.
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
sort xmslb.
loop at xmslb.
move-corresponding xmslb to imslb.
collect imslb.
endloop.
free xmslb. refresh xmslb.
if xchar = ' '.
loop at imslb.
move-corresponding imslb to imslbx.
collect imslbx.
endloop.
sort imslbx.
elseif xchar = 'X'.
loop at imslb.
check imslb-charg is initial.
delete imslb.
endloop.
endif.
endform. "aktuelle_bst_sbbst_o.
AKTUELLE_BST_SBBST_V_W
form aktuelle_bst_sbbst_v_w.
Sonderbestand Kundenkonsignation -
elseif sobkz = 'V' or sobkz = 'W'.
select * from msku into corresponding fields of table xmsku
where werks in g_ra_werks
and matnr in matnr
and charg in charg
and sobkz eq sobkz.
if sy-subrc <> 0. "no records found
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
process Special Stocks with Customer
loop at xmsku.
perform f9000_auth_plant_check using xmsku-werks.
if g_flag_authority is initial.
delete xmsku.
else.
perform f9200_collect_plant using xmsku-werks.
perform f9400_material_key using xmsku-matnr.
endif.
endloop.
describe table xmsku lines g_f_cnt_lines.
if g_f_cnt_lines is initial. "no records found
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
sort xmsku.
loop at xmsku.
move-corresponding xmsku to imsku.
collect imsku.
endloop.
free xmsku. refresh xmsku.
if xchar = ' '.
loop at imsku.
move-corresponding imsku to imskux.
collect imskux.
endloop.
sort imskux.
elseif xchar = 'X'.
loop at imsku.
check imsku-charg is initial.
delete imsku.
endloop.
endif.
if sy-subrc ne 0.
message s042. "#EC * "n443935
Charge ist nicht vorhanden.
perform anforderungsbild.
endif.
endform. "aktuelle_bst_sbbst_v_w
AKTUELLE_BST_SBBST_K_M
form aktuelle_bst_sbbst_k_m.
Sonderbestand Lieferantenkonsignation -
elseif sobkz = 'K' or sobkz = 'M'.
select * from mkol into corresponding fields of table xmkol
where werks in g_ra_werks
and lgort in g_ra_lgort
and matnr in matnr
and charg in charg
and sobkz eq sobkz.
if sy-subrc <> 0. "no records found
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
process Special Stocks from Vendor
loop at xmkol.
perform f9000_auth_plant_check using xmkol-werks.
if g_flag_authority is initial.
delete xmkol.
else.
perform f9200_collect_plant using xmkol-werks.
perform f9400_material_key using xmkol-matnr.
endif.
endloop.
describe table xmkol lines g_f_cnt_lines.
if g_f_cnt_lines is initial. "no records found
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
sort xmkol.
loop at xmkol.
move-corresponding xmkol to imkol.
collect imkol.
endloop.
free xmkol. refresh xmkol.
if xchar = ' '.
loop at imkol.
move-corresponding imkol to imkolx.
collect imkolx.
endloop.
sort imkolx.
elseif xchar = 'X'.
loop at imkol.
check imkol-charg is initial.
delete imkol.
endloop.
endif.
if sy-subrc ne 0.
message s042. "#EC * "n443935
Charge ist nicht vorhanden.
perform anforderungsbild.
endif.
endform. "aktuelle_bst_sbbst_k_m.
AKTUELLE_BST_SBBST_Q
form aktuelle_bst_sbbst_q.
Projektbestand -
elseif sobkz = 'Q'.
select * from mspr into corresponding fields of table xmspr
where werks in g_ra_werks
and lgort in g_ra_lgort
and matnr in matnr
and charg in charg
and sobkz eq sobkz.
if sy-subrc <> 0. "no record found
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
process project stock
loop at xmspr.
perform f9000_auth_plant_check using xmspr-werks.
if g_flag_authority is initial.
delete xmspr.
else.
perform f9200_collect_plant using xmspr-werks.
perform f9400_material_key using xmspr-matnr.
endif.
endloop.
describe table xmspr lines g_f_cnt_lines.
if g_f_cnt_lines is initial. "no record left
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
sort xmspr.
loop at xmspr.
move-corresponding xmspr to imspr.
collect imspr.
endloop.
free xmspr. refresh xmspr.
if xchar = ' '.
loop at imspr.
move-corresponding imspr to imsprx.
collect imsprx.
endloop.
sort imsprx.
elseif xchar = 'X'.
loop at imspr.
check imspr-charg is initial.
delete imspr.
endloop.
endif.
endform.: "aktuelle_bst_sbbst_q
AKTUELLE_BST_SBBST_E
form aktuelle_bst_sbbst_e.
Kundenauftragsbestand -
select * from mska into corresponding fields of table xmska
where werks in g_ra_werks
and lgort in g_ra_lgort
and matnr in matnr
and charg in charg
and sobkz eq sobkz.
if sy-subrc <> 0. "no records found
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
process Sales Order Stock
loop at xmska.
perform f9000_auth_plant_check using xmska-werks.
if g_flag_authority is initial.
delete xmska.
else.
perform f9200_collect_plant using xmska-werks.
perform f9400_material_key using xmska-matnr.
endif.
endloop.
describe table xmska lines g_f_cnt_lines.
if g_f_cnt_lines is initial. "no records left ?
message s289.
Kein Material in Selektion vorhanden.
perform anforderungsbild.
endif.
sort xmska.
loop at xmska.
move-corresponding xmska to imska.
collect imska.
endloop.
free xmska. refresh xmska.
if xchar = ' '.
loop at imska.
move-corresponding imska to imskax.
collect imskax.
endloop.
sort imskax.
elseif xchar = 'X'.
loop at imska.
check imska-charg is initial.
delete imska.
endloop.
endif.
endform. "aktuelle_bst_sbbst_e
*& Form TABELLEN_LESEN
Lesen der Materialkurztexte (Tabelle MAKT), *
der Mengeneinheiten (Tabelle MARA) und *
Mengen- und Wertfortschreibung zum Material (Tabelle T134M) *
(Letzteres ist zum Aussortieren der unbewerteten bzw. *
kontierten Warenbewegungen notwendig) *
form tabellen_lesen.
if not g_t_mat_key[] is initial. "n451923
select the material masters
select matnr meins mtart from mara
into corresponding fields of table imara
for all entries in g_t_mat_key
where matnr = g_t_mat_key-matnr.
select the short text for all materials
take only the necessary fields "n451923
select matnr maktx from makt "n451923
into corresponding fields of table g_t_makt "n451923
for all entries in g_t_mat_key
where matnr = g_t_mat_key-matnr
and spras = sy-langu.
sort imara by matnr. "n451923
sort g_t_makt by matnr. "n451923
free g_t_mat_key.
endif.
data: begin of k1 occurs 0,
mtart like t134m-mtart,
end of k1.
refresh k1.
loop at imara.
k1-mtart = imara-mtart.
collect k1.
endloop.
if not k1[] is initial. "n451923
select * from t134m
into corresponding fields of table it134m
for all entries in k1 where mtart = k1-mtart
and bwkey in g_ra_bwkey.
endif. "n451923
loop at it134m.
read table organ with key bwkey = it134m-bwkey.
perform f9300_read_organ
using c_bwkey it134m-bwkey.
if sy-subrc ne 0.
delete it134m.
endif.
endloop.
To find postings with valuation string, but without relevance for
the valuated stock, Big-G recommended this logic:
Take lines from MSEG where for the combination BUSTW/XAUTO=XBGBB
there is an entry in T156W with key BSX.
select bustw xbgbb from t156w
into corresponding fields of table it156w
where vorsl = 'BSX'.
sort it156w by bustw xbgbb.
delete adjacent duplicates from it156w.
delete it156w where bustw = space.
endform. " TABELLEN_LESEN
*& Form UNBEWERTET_WEG
Löschen der unbewerteten Materialien aus der internen *
Tabelle IMBEW
form unbewertet_weg.
sort it134m by bwkey mtart. "n451923
"n450764
delete the materials in plants without valuation "n450764
loop at g_t_mbew into g_s_mbew. "n450764
read table imara "n450764
with key matnr = g_s_mbew-matnr "n450764
binary search. "n450764
"n450764
read table it134m with key bwkey = g_s_mbew-bwkey "n450764
mtart = imara-mtart binary search.
if sy-subrc ne 0.
message ...
delete g_t_mbew. "n450764
else.
if it134m-wertu = ' '.
delete g_t_mbew. "n450764
else. "n450764
enrich the entries with the quantity unit "n450764
move imara-meins to g_s_mbew-meins. "n450764
modify g_t_mbew from g_s_mbew "n450764
transporting meins. "n450764
endif.
endif.
endloop.
endform. " UNBEWERTET_WEG
*& Form FI_BELEGE_LESEN *
Lesen der Buchhaltungsbelege *
Beim Erfassen der Werte ist es notwendig, die Buchhaltungsbelege *
zum Material zu lesen, um abweichende Werte zwischen Wareneingang *
und Rechnungseingang sowie Nachbelastungen zu berücksichtigen. *
form fi_belege_lesen.
Not related to note 184465, but a significant performance issue
if ORGAN is large due to many plants/storage locations.
data: begin of t_bwkey occurs 0, "184465
bwkey like bsim-bwkey, "184465
end of t_bwkey. "184465
loop at g_t_organ where keytype = c_bwkey.
move g_t_organ-bwkey to t_bwkey-bwkey.
collect t_bwkey. "184465
endloop. "184465
read table t_bwkey index 1. "184465
check sy-subrc = 0. "184465
select * from bsim "n443935
into corresponding fields of table g_t_bsim_lean "n443935
for all entries in t_bwkey where bwkey = t_bwkey-bwkey
and matnr in matnr
and bwtar in bwtar
and budat >= datum-low.
loop at g_t_bsim_lean into g_s_bsim_lean. "n443935
perform f9300_read_organ
using c_bwkey g_s_bsim_lean-bwkey. "n443935
if sy-subrc is initial.
record found : the user has the authority, go on
move g_s_organ-bukrs to g_s_bsim_lean-bukrs. "n443935
modify g_t_bsim_lean from g_s_bsim_lean "n443935
transporting bukrs. "n451923
create working table with the keys for the FI documents
move-corresponding g_s_bsim_lean "n443935
to g_t_bkpf_key. "n443935
append g_t_bkpf_key.
else.
delete g_t_bsim_lean. "n443935
endif.
endloop.
endform. " FI_BELEGE_LESEN
*& Form BELEGE_SORTIEREN
Die Materialbelege werden anhand des Buchungsdatums sortiert.
Die Materialbelege mit Buchungsdatum zwischen 'datum-high'
und dem aktuellen Datum werden in der internen Tabelle IMSWEG
gesammelt, während die Materialbelege mit Buchungsdatum
zwischen 'datum-low' und 'datum-high' in der internen Tabelle
IMSEG verbleiben.
form belege_sortieren.
aktdat = sy-datlo + 30.
if not ( datum-high is initial or datum-high > aktdat ).
loop at g_t_mseg_lean into g_s_mseg_lean
where budat > datum-high.
move-corresponding g_s_mseg_lean to imsweg.
append imsweg.
delete g_t_mseg_lean.
endloop.
endif.
describe table imsweg lines index_2.
endform. " BELEGE_SORTIEREN
*& Form KONTIERT_AUSSORTIEREN
Aussortierung der kontierten Belegpositionen, *
da diese Mengen nicht bestandsrelevant sind *
form kontiert_aussortieren.
process table g_t_mseg_lean
loop at imseg where kzvbr <> space and "144845
( kzbew = 'B' or kzbew = 'F' ). "144845
read table imara with key matnr = imseg-matnr.
read table it134m with key mtart = imara-mtart.
if not it134m-mengu is initial and not it134m-wertu is initial.
Die Felder 'mengu' und 'wertu' (Mengen- bzw. Wertfortschreibung)
sind ab Release 3.0 D auch in die Tabelle MSEG aufgenommen.
Die Einträge in der Tabelle T134M stellen nach wie vor die generelle
Einstellung dar; auf Positionsebene sind jedoch Abänderungen möglich,
die anhand der Einträge in der Tabelle MSEG nachverfolgt werden
können.
delete imseg.
endif.
endloop.
data : l_f_bwkey like t001k-bwkey. "n497992
sort it134m by bwkey mtart. "n497992
loop at g_t_mseg_lean into g_s_mseg_lean
where kzvbr <> space
and ( kzbew = 'B' or kzbew = 'F' ).
get the valuation area "n497992
if curm = '3'. "n497992
valuation level is company code "n497992
if g_s_mseg_lean-bukrs is initial. "n497992
get the valuation area for this plant "n497992
perform f9300_read_organ "n497992
using c_werks g_s_mseg_lean-werks. "n497992
"n497992
move g_s_organ-bwkey to l_f_bwkey. "n497992
else. "n497992
move g_s_mseg_lean-bukrs to l_f_bwkey. "n497992
endif. "n497992
else. "n497992
valuation level is plant "n497992
move g_s_mseg_lean-werks to l_f_bwkey. "n497992
endif. "n497992
read table imara with key matnr = g_s_mseg_lean-matnr
binary search.
if sy-subrc is initial.
read table it134m with key bwkey = l_f_bwkey "n497992
mtart = imara-mtart "n497992
binary search.
if sy-subrc is initial.
if not it134m-mengu is initial and
not it134m-wertu is initial.
delete g_t_mseg_lean.
endif.
endif.
else.
delete g_t_mseg_lean.
endif.
endloop.
endform. " KONTIERT_AUSSORTIEREN
*& Form BELEGE_ERGAENZEN (engl. enrich documents)
Material documents and FI documents from BSIM are merged together.
Complications:
- A material document can have more than one FI document.
- There are FI documents without material documnts
- There are material documents without FI documents
- The document type is customizeable
- There is no link from the materia document position to
the FI document entry in BSIM (except URZEILE, but this
can be filled incorrectly)
form belege_ergaenzen. "Version from note 204872
- show the current activity and the progress "n599218
call function 'SAPGUI_PROGRESS_INDICATOR' "n599218
exporting "n599218
text = text-061. "Reading FI documents "n599218
Eliminate material documents with valuation string, but without
relevance to the valuated stock. IT156W contains all valuation
strings with posting key BSX. XBGBB says: "I am an accrural posting".
For more details please ask Big-G.
loop at g_t_mseg_lean into g_s_mseg_lean.
special processing for tied empties active ? "n497992
if not g_cust_tied_empties is initial. "n497992
look for MM documents with xauto = L and change "n497992
indicators "n497992
case g_s_mseg_lean-xauto. "n497992
when 'X'. "n497992
when space. "n497992
when others. "n547170
range table g_ra_xauto contains the special "n547170
indicators for the transfer movements of the "n547170
tied empties "n547170
if g_s_mseg_lean-xauto in g_ra_xauto. "n547170
move g_s_mseg_lean-xauto "n497992
to g_s_mseg_lean-retail. "n497992
clear g_s_mseg_lean-xauto. "n497992
modify g_t_mseg_lean from g_s_mseg_lean "n497992
transporting xauto retail. "n497992
endif. "n547170
endcase. "n497992
endif. "n497992
read table it156w with key
bustw = g_s_mseg_lean-bustw
xbgbb = g_s_mseg_lean-xauto
transporting no fields
binary search.
if sy-subrc <> 0.
delete g_t_mseg_lean.
else. "n443935
enrich the current entry with the company code "n443935
perform f9300_read_organ "n443935
using c_werks g_s_mseg_lean-werks. "n443935
"n443935
check : sy-subrc is initial. "n443935
move g_s_organ-bukrs to g_s_mseg_lean-bukrs. "n443935
modify g_t_mseg_lean from g_s_mseg_lean "n443935
transporting bukrs. "n451923
endif.
endloop.
For all available FI documents from BSIM, read the header data
from BKPF to get the link to the originating material document.
if not g_t_bkpf_key[] is initial.
look for the header of the matching FI documents
sort g_t_bkpf_key by bukrs belnr gjahr.
delete adjacent duplicates from g_t_bkpf_key.
save result from database selection into global hashed "n856424
table g_t_bkpf "n856424
select * from bkpf "n856424
into corresponding fields of table g_t_bkpf "n856424
for all entries in g_t_bkpf_key
where bukrs = g_t_bkpf_key-bukrs
and belnr = g_t_bkpf_key-belnr
and gjahr = g_t_bkpf_key-gjahr.
if sy-subrc is initial.
create working table l_t_keytab_m
free g_t_bkpf_key.
loop at g_t_bsim_lean into g_s_bsim_lean. "n443935
enrich the working table g_t_bsim_lean with the "n443935
MM doc info "n443935
"n443935
look for the matching FI document header "n443935
read table g_t_bkpf assigning "n856424
with key bukrs = g_s_bsim_lean-bukrs "n443935
belnr = g_s_bsim_lean-belnr "n443935
gjahr = g_s_bsim_lean-gjahr. "n443935
"n443935
if sy-subrc is initial. "n443935
enrich table G_T_BSIM_LEAN with the MM doc "n443935
consider only FI docs created by MM docs here "n856424
check :Hi Ravi,
possibly a service pack has been installed just in the time when you created the copy. I found
data: lt_sort type kkblo_t_sortinfo. "n890109
in the include mentioned on our system. Please check if the includes are identical in development and production server (remote-compare from editor).
But we also have a copy of this in our system. In the copy I found type name like alv_type_sortinfo but no kkblo_t_sortinfo.
Note KKBLO was the predecessor of ALV.
Must have to dio something with version changed by service pack.
Regards,
Clemens -
Query Template Caching Properties
I need to change the IsCachable on the fly in an IRPT page. It seems every property is exposed in the query object EXCEPT IsCachable. Am I missing something?
Assuming I'm not, how can I simply tell the query template to NOT check the cache for this update AND not create a new cache. I know I can change the Rowcount, or anything really, so it won't match up with an existing cache. But IsCachable is true, and this will cause a new cache to be created, which I don't want.The problem is I need to change the IsCachable property in a web page in response to user input (back and forth at will), and then re-update the applet(s) on the page. So I really need to drive this from javascript, changing IsCachable to whatever the user has selected and then doing the applet update. QueryObject.IsCachable returns an error, no method or property exists. It's also not listed in the Script Assistant.
The idea is I have a scheduled transaction that runs every few minutes and pre-caches BLS transactions that feed reports that are performance problems (Rajeev you should be able to relate to that one). When these reports are run, they now render in a few seconds. I display how old the data is, and have a checkbox they can tick to run the report again withouit using the cache if they have a problem with data that is 10 minutes, or whatever, old. They make the decision to wait for the absolute latest data. Doing this in Javascript is by far the easiest way to handle this. I just don't seem to have access to that IsCachable property.
Rick - It's interesting that you consider it easier to do your own caching. We started down this road and decided it was all getting too messy. It took a while to get total control over xMII caching, but now I find using it much cleaner. -
Hi Experts,
I am facing the problem in the select statement where it giving the short dump
DBIF_RSQL_INVALID_RSQL CX_SY_OPEN_S.
i have searched many forms, but i found that the select option s_matnr have the limitaion 2000 entreis, but i am passing same s_matnr to other select statement with more than 2000 entries but it is not giving me any short dump.
but i am facing problem with only one select statement where if i pass select option s_matnr more than 1500 entris also giving short dump.
my select statement is
SELECT * FROM bsim
INTO CORRESPONDING FIELDS OF TABLE g_t_bsim_lean
FOR ALL ENTRIES IN t_bwkey WHERE bwkey = t_bwkey-bwkey
AND matnr IN matnr
AND bwtar IN bwtar
AND budat >= datum-low.
in the internal table g_t_bsim_lean internal table contain all the fields of the table bsim with 2 fields from other table.
Please let me know whether i need to change the select statement or any other solution for this.
Regards,
udupimy select query is like this:
DATA: BEGIN OF t_bwkey OCCURS 0, "184465
bwkey LIKE bsim-bwkey, "184465
END OF t_bwkey. "184465
LOOP AT g_t_organ WHERE keytype = c_bwkey.
MOVE g_t_organ-bwkey TO t_bwkey-bwkey.
COLLECT t_bwkey. "184465
ENDLOOP. "184465
READ TABLE t_bwkey INDEX 1. "184465
CHECK sy-subrc = 0. "184465
SELECT * FROM bsim "n443935
INTO CORRESPONDING FIELDS OF TABLE g_t_bsim_lean "n443935
FOR ALL ENTRIES IN t_bwkey WHERE bwkey = t_bwkey-bwkey
AND matnr IN matnr
AND bwtar IN bwtar
AND budat >= datum-low. -
How to use ColumnList MOde in Query Template
Hi,
I am working on SAP MII 11.5 and having trouble with SQL Query Template with Column List mode.
It is throughing an error "Enter a table Name.
Please help me in this regardYou will need to use the Group parameter with the table name.
<PARAM NAME="Group" VALUE="Employees">
You can also set it with javascript for interactive use that would emulate the Template Editor:
document.APPLET.getQueryObject().setGroup("Employees");
Maybe you are looking for
-
Old icons on ALV report dissappears when new ones are added
Hi friends I have created an ALV report. However, when I tried adding new icons using Set PF-STATUS, the original icons are not being shown. THey are totally dissappearing from the screen. Is there a way to avoid this. Any feed back will be greatly a
-
What is the best way to connect my droid bionic to my mac book pro so i can access my photos
What is the best way to transfer photos from my motorola droid bionic to my mac book pro
-
Oracle Text and Real Application Clusters
Hello, i know, its a simple question but i found no one, who can answer. We want to use Oracle Text in combination with a 2-Node-ORAC-System. Is this possibe. And if it is, do I have to do a special configuration job. Are there any differences betwen
-
How do you download a complete map of UK to the N9...
Greetings, I have just purchased an N95 and it came with a 4gig card upgrade. I want to use the GPS mapping system but although it works it seems only to have the detailed maps (street names etc) for a small area. If I select a different area of the
-
Regarding to import siri in iphone 4
hello, sir i m using iphone4 with OS4.1 n i m in india for 1 year n i had unlock it with geneva turbo sim... n i want to import siri on tht so wat can i do..?s please give me an helpful regard...