Data error with generic extractor
Hi Friends!
I have a generic extractor based on view z_customer
The view is easy:
table: KNVP
fields: KUNNR, KUNN2, PARVW, MANDT
conditions: PARVW eq 'RG'
When I check the table (SE16) with customer 'X', show me only one record,
but when I run the extractor (RSA3) show me four records.
- What is wrong in my view? Perhaps something relative with the client (MANDT)?
Thank you in advance!
Hi.,
It's not mandatory that you must include MANDT field in view.
check check the number of records in the created view, not in the table.
If the number of records matches in view with RSA3, then it is fine.
-- Selva
Similar Messages
-
Problem with data records with generic extractor
I have created generic exractor based on function module.
When i fetch the data with one infopackage it fetches only 104,239 ( which is wrong correct record are 155,120 )
But when i fetch the data with six different infopackages with different filters it fetches 155,120
So is extracotr gives wrong values if it exceeds greater than 100 k records ?
I want to fetch all the records in one ifopackage please suggest.Hi Venkatesh,
Thanks a lot, my Bsource BI settings are like this
Source System Max KB Maximam line Frequency Max Proc.
CLNT700 100000 100000 10 10
Should i increase the values to more than 100000
Or should i cahnge the following code ?
Fetch records into interface table.
named E_T_'Name of extract structure'.
FETCH NEXT CURSOR S_CURSOR
APPENDING CORRESPONDING FIELDS
OF TABLE E_T_DATA
of TABLE gt_ebi
PACKAGE SIZE S_S_IF-MAXSIZE.
IF SY-SUBRC <> 0.
CLOSE CURSOR S_CURSOR.
RAISE NO_MORE_DATA.
ENDIF. -
HT5439 Has anyone had the Network time and date error with Apple TV when traveling?
Has anyone had the Network time and date error with Apple TV when traveling?
Jasion,
Maybe a bit beside the question, but it is always recommended here to open/save from/to own hard disk, and to copy from/to networks and removable media. You may be lucky, at least for a while, but it is better to be safe than sorry.
In addition to the (far greater) risk of file corruption, some issues are mentioned here:
http://helpx.adobe.com/illustrator/kb/illustrator-support-networks-removable-media.html -
How to Generate Information Errors in Generic Extractor Function Module
Hi, In my Generic Extractor logic I am reaching out to an additional table to get a field. I would like to produce an informational error or red error in the process monitor if I'm unable to get the field. Is this possible? How can I generate these messages in the Extractor Function Module?
Thanks!Hi,
Please go through the below doc. It explanins each and every step of creation of generic extractor through Function module.
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/a0f46157-e1c4-2910-27aa-e3f4a9c8df33?quicklink=index&overridelayout=true
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c062a3a8-f44c-2c10-ccb8-9b88fbdcb008?quicklink=index&overridelayout=true
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/30aefb04-7043-2c10-8e92-941536eebc79?quicklink=index&overridelayout=true
Regards,
mahesh -
Error creating a multisource data foundation with generic odbc connection
Hi all,
we've created a generic odbc datasource connection to a Pervasive database.
When creating a single source data foundation and universe with this connection everything works fine.
When we try to create a multisource data foundation we can add the connection,
but while trying to expand the connection we get the error message "Owners are not available".
Same message when trying to inert a table.
(We've created both a 32 bit and a 64 bit DSN)
System: BO 4.1 SP2 PL3
Any ideas?
Thanks,
SilviaHi Silvia,
The generic odbc is not a supported connection for a multisource universe.
This information is available in the product availability matrix.
1. Log into the SAP Support Portal
2. choose the Tab for Release & Upgrade Info
3. Choose the Link Product Availability Matrix.
Hope this helps!
Jacqueline -
Error with Generic delta extractor when checking in RSA3
Hi,
I have created one Test Generic Datasource based on Table MARA.Delta specific field I mentioned is LAEDA(Last changed On). After creating I have generated the datasorce also. But when I check the datasource in RSA3, I am getting error if Update Mode is "D". Error is "An error occurred during extraction". I am not seeing this datasource in RSA7 (Delta Queue).
If I say Update Mode is "F", then extractor is working fine.It is fetching some records.
Your help will be appreciated.
Thanks
Sirineni.Hi Sirneni,
Is your Init load in BW successfull. Only after
successfull completion of init load in BW the data source appears in delta queue RSA7 in R/3. Also check whether any materials are being changed in R/3 because u r delta is based on last changed date.
Regards,
Prakash B -
Several Issue: Stale Data Error with 2 pages opened at same time
Hello Gurus,
I developed an OAF page to create and also update records. My page, depending from the operation, can show the data on fields, for update, or blank, on case to create records. This page contains one LOV field, input fields and textarea field to get the data.
When i try record or update using one page per time, the LOV field works fine and records are uptodated with success.
But if i use 2 pages or more in these situations:
- one page is opened in update operation;
- another page to create a new record.
Issue: When i click to change the LOV field value on create page, or update page, the Lov pop-up is opened with success, but when i click in another value, i get this error below. Any action also can cause this error, like click on Back Button (with name 'Voltar', created by me). Please see the error below:
Error: Stale Data*
The requested page contains stale data.*
This error could have been caused through the use of the browser's navigation*
buttons (the browser Back button, for example).*
Cause:*
The view object XXXAM.XXXVO1 contained no record.*
The displayed records may have been deleted, or the current record for the view*
object may not have been properly initialized.*
This error hapens when i open 2 pages on update operation mode also.
This error dont hapens only when i open 2 pages on create operation mode.
Ps:
Note: I have an ApplicationModule (AM) for LOV and another AM for this page, but i used this other AM to another page too and VOs. Have any problem on this???
To help to understand, i printed my page, u can see the screenshots on links below:
http://imageshack.us/a/img850/9186/printforum1.png
http://imageshack.us/a/img197/2185/printforum2.png
I´ll print some code blocks and if u need know more code blocks, please tell me:
My PageCO Controller, at processFormRequest, code to define update or create Operation:
+if (row.getNewRowState() == Row.STATUS_NEW) {+
operationType = createOperation;
+} else {+
operationType = updateOperation;
+}+
My Controller, at processRequest, update or create operation:
+if (!pageContext.isFormSubmission()) {+
OAApplicationModule am = pageContext.getApplicationModule(webBean);
String reqHeaderId =
pageContext.getParameter("requisitionHeaderId");
+Serializable[] params = {reqHeaderId};+
IcxReceivingAlreadyExistsVOImpl receivingExistsVO = (IcxReceivingAlreadyExistsVOImpl)am.findViewObject("IcxReceivingAlreadyExistsVO1");
receivingExistsVO.initQuery(reqHeaderId);
+if (receivingExistsVO.hasNext()) {+
TransactionUnitHelper.startTransactionUnit(pageContext, UPDATE_RECEIVER_TRX);
am.invokeMethod("initPersonQuery", params);
+} else {+
TransactionUnitHelper.startTransactionUnit(pageContext, CREATE_RECEIVER_TRX);
am.invokeMethod("createReceivingPerson", params);
+}+
+}+
My AMImpl.java :
+public void createReceivingPerson(String reqHeaderId) {+
OAViewObject vo = getIcxReceivingPersonVO1();
+if (!vo.isPreparedForExecution()) {+
vo.executeQuery();
+}+
Row row = vo.createRow();
vo.insertRow(row);
row.setNewRowState(Row.STATUS_INITIALIZED);
row.setAttribute("RequisitionHeaderId", reqHeaderId);
+}+
+public void initPersonQuery(String reqHeaderId) {+
IcxReceivingPersonVOImpl vo = getIcxReceivingPersonVO1();
+if (vo == null) {+
+MessageToken[] errTokens = { new MessageToken("OBJECT_NAME", "IcxReceivingPersonVO1")};+
throw new OAException("AK", "FWK_TBX_OBJECT_NOT_FOUND", errTokens);
+}+
vo.initQuery(reqHeaderId);
+}+
+public void apply() {+
getTransaction().commit();
+}+
+public void rollback(){+
Transaction txn = getTransaction();
+if (txn.isDirty()) {+
txn.rollback();
+}+
+}+
In the hope of a solution, waiting for ur precious help, Gurus
My true thanks since now,
Best Regards,
Alberto BogéaHi,
Can you please tell, if you are using the same EO/VO combination for both the operation - Insert and Update on both screens.
Quite possible, that when you open two screen in say Update Mode and you open the two List Of Values, then as soon as you have selected the value in one of the LOV, the Other LOV will throw you stale data as the same VO/EO is being used.
Try using two different EOs/VOs combination and see if that helps.
Regards,
Saurabh Agrawal -
Delta with Generic Extractor using function module
Hi,
I have created an extractor using function module and it work fine (mode FULL)
It's an extractor based on the FM RSAX_BIW_GET_DATA_SIMPLE.
In TCODE RSO2, I have specified a delta field (AEDAT).
In table ROOSOURCE, this extractor is defined by :
DELTA = AIE
EXMETHOD = F1
When I extract data in Init mode, there is no problem. But delta don't extract any entries.
When I trace with TCODE ST01, in Init mode the function module is executed but in delta mode, there is no trace of any use of this function module.
I don't know how to do to make this extractor work fine in delta mode.Hi Pascal,
The same function module i have used and succesffuly doing delta using it. So it works for both full & delta.
How ur testing it and where are you testing it for delta.
Do the delta testing through BI end. Set the
As u have already set the delta field., now Follow below steps:
1. First set the safety interval upper limit to -1, so that it will extract the delta data of 1 day back records also.
2. Please make sure wether the delta records are available or not in r/3, if there is no records to be fetched in for delta then u will not be able to track out wether delta is working or not.
3. Now do the init from BI end first. Delta initialization without data transfer. - It will give u green status with 1 dummmy record.
4. Now do the delta. It will extract the delta records.
Before that make sure that if any selection your giving in Infopackage should be met out by these delta records.
Thanks
Dipika -
Data packets/size - Generic extractor
Hi all,
We built a custom function module based datasource and it is extracting data to BW in one big packet of 900,000+ records and the load is taking about 18 hours. We are trying to spilt the BW extraction into smaller data packets to improve performance but unable to do so. Following is our extraction program...
Please let me know where we are doing it wrong...
This Program fetches/build e_t_data. The issue is, program does not splitting into packets as the SAP standard program does.
""Local interface:
*" IMPORTING
*" VALUE(I_REQUNR) TYPE SRSC_S_IF_SIMPLE-REQUNR
*" VALUE(I_DSOURCE) TYPE SRSC_S_IF_SIMPLE-DSOURCE OPTIONAL
*" VALUE(I_MAXSIZE) TYPE SRSC_S_IF_SIMPLE-MAXSIZE OPTIONAL
*" VALUE(I_INITFLAG) TYPE SRSC_S_IF_SIMPLE-INITFLAG OPTIONAL
*" VALUE(I_READ_ONLY) TYPE SRSC_S_IF_SIMPLE-READONLY OPTIONAL
*" VALUE(I_DATAPAKID) TYPE SBIWA_S_INTERFACE-DATAPAKID OPTIONAL
*" TABLES
*" E_T_DATA STRUCTURE Z0333W OPTIONAL
*" I_T_SELECT TYPE SRSC_S_IF_SIMPLE-T_SELECT
*" I_T_FIELDS TYPE SRSC_S_IF_SIMPLE-T_FIELDS
*" EXCEPTIONS
*" NO_MORE_DATA
DATA: lr_range_name TYPE rsselect-fieldnm.
DATA: st_e_t_data TYPE z0333w.
STATICS: l_cursor TYPE cursor.
STATICS: called(1) TYPE c VALUE 'N'.
Maximum number of lines for DB table
STATICS: l_maxsize TYPE sbiwa_s_interface-maxsize.
FIELD-SYMBOLS: <l_range> TYPE ANY,
<l_t_range> TYPE STANDARD TABLE.
IF i_initflag = 'X'.
Initialization: check input parameters
buffer input parameters
prepare data selection
Fill parameter buffer for data extraction calls
g_s_interface-requnr = i_requnr.
g_s_interface-isource = i_dsource.
g_s_interface-maxsize = i_maxsize.
g_s_interface-initflag = i_initflag.
g_s_interface-datapakid = i_datapakid.
g_flag_interface_initialized = sbiwa_c_flag_on.
REFRESH g_t_select.
REFRESH g_t_fields.
APPEND LINES OF i_t_select TO g_t_select.
APPEND LINES OF i_t_fields TO g_t_fields.
ELSE.
first data package of first table -> open cursor
IF g_counter_datapakid = 0.
*--Get selection ranges
LOOP AT i_t_select.
MOVE-CORRESPONDING i_t_select TO <l_range>.
APPEND <l_range> TO <l_t_range>.
ENDLOOP.
l_maxsize = g_s_interface-maxsize.
fetch plants for the company code
PERFORM get_plants.
fetch mast data into internal table as we will be using MAST for validation
of whether BOM exist or not.
SELECT * FROM mast INTO TABLE it_mast
WHERE stlan = '1' OR stlan = '6'.
SORT it_mast BY matnr werks stlan.
Material BOM information
First data package -> OPEN CURSOR
OPEN CURSOR WITH HOLD l_cursor FOR
SELECT mast~matnr
mast~werks
mast~stlnr
mast~stlan
mast~stlal
stko~stlty
FROM mast INNER JOIN stko
ON stkostlnr = maststlnr AND
stkostlal = maststlal
FOR ALL entries IN gt_werks
WHERE mast~matnr IN gr_matnr AND
mast~werks IN gr_werks AND
mast~stlan IN gr_stlan AND
mast~werks = gt_werks-werks AND
mast~stlal = '01' AND
stko~stlty = 'M' AND "Material BOM only
( maststlan = '1' OR maststlan = '6' ).
ENDIF.
Fetch records into interface table.
named E_T_'Name of extract structure'.
REFRESH: gt_mat_bom,gt_mat_bom1.
FETCH NEXT CURSOR l_cursor
APPENDING CORRESPONDING FIELDS
OF TABLE gt_mat_bom
PACKAGE SIZE i_maxsize.
IF sy-subrc <> 0.
CLOSE CURSOR l_cursor.
RAISE no_more_data.
ELSE.
get BOM data and fill E_T_DATA
PERFORM get_bom_data TABLES e_t_data.
ENDIF.
Increment Package
g_counter_datapakid = g_counter_datapakid + 1.
ENDIF.
ENDFUNCTION
Thanks,
Anirudh.I'm not sure, but this might help:
* Fetch records into interface table.
* named E_T_'Name of extract structure'.
DO.
REFRESH: gt_mat_bom,gt_mat_bom1.
FETCH NEXT CURSOR l_cursor
APPENDING CORRESPONDING FIELDS
OF TABLE gt_mat_bom
PACKAGE SIZE i_maxsize.
IF sy-subrc <> 0.
EXIT.
ELSE.
* get BOM data and fill E_T_DATA
PERFORM get_bom_data TABLES e_t_data.
ENDIF.
* Increment Package
g_counter_datapakid = g_counter_datapakid + 1.
ENDDO.
CLOSE CURSOR l_cursor.
RAISE no_more_data.
Rob -
i recently been noticing problems with some ordering of my albums
in my itunes window i display my albums by "albums by year" but some albums are placed later when they have an earlier album date
i've tried changing the tags, changing the date etc but nothing moves it to its correct position
I've checked to see if all the info is right and it is
can anyone help with this problem?
thank you in advanceyeah i dont like how itunes organises my files
so i have folders for each artist, then playlists for each album!
i've thought of the rogue characters, so i've checked all the little idyiosyncracies that could be wrong with it
i managed to fix one of my artists by labelling the 'album artist' as the artist and that put them in the right order
but for another artist nothing i did put it in the correct order so i've been forced to add the 'year' in the playlist and organise it through that
i'm very anal when it comes to my organisation and i'd prefer it if things just worked lol
thanx for all your help, i guess now it just remains a mystery! -
JDeveloper Error with Generics
Hi folks,
we got a slight problem. A project containing the following code parts compiles without any problems - no warnings, no errors. Here is the code:
public abstract class AbstractGenericDAO<INTERFACE, T extends INTERFACE, ID extends Serializable> {
public INTERFACE getById(ID primaryId) {
return findById(primaryId, false);
public class SettlementTypeDAO extends
AbstractGenericDAO<ISettlementType
, SettlementType, Integer>
But the JDeveloper Codeeditor marks 'SettlementTypeDAO.getById(10)' as an error:
"Type '...ISettlementType' expected but INTERFACE found.Cannot assign value of type INTERFACE to variable of type '...ISettlementType'."
In fact we dont know why. Does somebody have a helpful idea?
Thanks a lot in advance.
SebastianHi,
I can't seem to reproduce this problem. With a project configured with -source 1.5, I see no red underlines with the following code in 10.1.3 production (just to check... are you using the production build (3673)? You can verify on the About box).
package project1;
import java.io.Serializable;
public abstract class AbstractGenericDAO<INTERFACE, T extends INTERFACE, ID extends Serializable> {
public INTERFACE getById(ID primaryId) {
return null;
interface ISettlementType {}
class SettlementType implements ISettlementType {}
class SettlementTypeDAO extends
AbstractGenericDAO<ISettlementType, SettlementType, Integer>
class Test
public void something()
SettlementTypeDAO dao = new SettlementTypeDAO();
ISettlementType result = dao.getById( 0 );
} -
String rday=req.getParameter("rday");
String rmonth=req.getParameter("rmonth");
String ryear=req.getParameter("ryear");
String pdate=rday+"-"+rmonth.substring(0,3)+"-"+0+ryear;
int rday1=Integer.parseInt(req.getParameter("rday1"));
String rmonth1=req.getParameter("rmonth1");
String ryear1=req.getParameter("ryear1");
int rday2=(rday1+1);
String pdate1=rday2+"-"+rmonth1.substring(0,3)+"-"+0+ryear1;
rs=stm.executeQuery("select news_product.news_id,news_product.product,news.news_id,to_char(news_date,'dd-Mon-yy'),news.heading from news_product,news where news.news_id=news_product.news_id and news_product.product='Steel and Metal' and news_date between '"+pdate+"' and '"+pdate1+"' order by news_date desc");ERROR:
java.sql.SQLException: [Microsoft][ODBC driver for Oracle][Oracle]ORA-01858: a non-numeric character was found where a numeric was expected
and when am parsing int then it also gives error so
please let me know the solution
TIAprepared statement is not all that you are insisting for it.Yes it is.
>
I solved my problem and am quoting here for other
peoples:
String startDate=rday+"-"+rmonth+"-"+ryear;
String endDate=rday1+"-"+rmonth1+"-"+ryear;This will only work for your particular situation. Not a general solution for "other peoples".
anyhow I appreciate your help and thanks to you that
you have given me your precious time. thanks again
Sabre150It might "work", but it's far from optimal.
% -
Generic Extractor: enriching GL Data with Purchasing Data
Experts,
This is my first time with Generic Extractor.
Requirement:
We have a requirement to enrich GL data with Purchasing data via the Material Document Number.
I need to provide this upto to the datawarehouse layer wherein another team will take over.
Solution idea:
Material Document is not part of the datasource 2LIS_02_SCL.
a. Should I enhance this datasource to include material number OR
b. Develop a concept to create a generic delat enabled extractor that pulls data from EKBE, GR and IR information.
In EKBE multiple material documents can exist per PO. The extractor returns 2 record per PO (before and after image) with the updated information.So if we have the first GR with Material document 901 and then a second GR with material doc 902 the extractor loads 3 records. New record, Before image and after image and the only one stored in BI is the after image. material doc would have value 902 if enhanced.
For the generic extractor approach the the ability to load deltas is crucial, since the EKBE table is very big. Maybe
"CPUDT-Day On Which Accounting Document Was Entered" and "CPUTM-Time of Entry" can be leveraged as delta hook.
Any ideas???
Thanks,
JainNo one answered
-
Generic Extractor on DB Table without Date, Time stamp
Hi all,
We have requirement of creating a generic extractor on the table which doesnt have date or time stamp in the data field. The only option availabel is to extract from Document numbers.
And we cant put the extractor mode to "Read from view" because the table contains Currency field which refers to external table for currency key.
The moment we change the extractor mode from Extraction from view to Extraction from FM the option "Numeric pointer" gets hidden.
What shall we do in this scenario ?? Pls advice.
Thanks.
Regards
NimeshHello Tapan, Prakash
Prakash : Currency key is needed in BW .
Tapan : I was just trying diff. options i.e. extraction from view and FM . Problem with Generic Extractor is that i dont have any date fields getting updated in the table. The only field that can be used for delta is document number. And Generic extractor only allows date or time stamp option , its not allowing numeric pointer if one reads from FM.
Regards
Nimesh -
Generic extractor OK in RSA3 but no result with IP
Hi Gurus
I have a generic extractor which runs well in RSA3 but when I call it with an IPAK the R/3 job (BI_REQ) runs forever and gives no result.
This happens in full and delta mode.
Any ideas ?
ThanksHere is the main code.
The idea is to use the input packet to create an output packet with the same structure but different fields populated.
FUNCTION zbw_biw_pricing.
*"*"Interface locale :
*" IMPORTING
*" VALUE(I_REQUNR) TYPE SRSC_S_IF_SIMPLE-REQUNR
*" VALUE(I_DSOURCE) TYPE SRSC_S_IF_SIMPLE-DSOURCE OPTIONAL
*" VALUE(I_MAXSIZE) TYPE SRSC_S_IF_SIMPLE-MAXSIZE OPTIONAL
*" VALUE(I_INITFLAG) TYPE SRSC_S_IF_SIMPLE-INITFLAG OPTIONAL
*" VALUE(I_READ_ONLY) TYPE SRSC_S_IF_SIMPLE-READONLY OPTIONAL
*" TABLES
*" I_T_SELECT TYPE SRSC_S_IF_SIMPLE-T_SELECT OPTIONAL
*" I_T_FIELDS TYPE SRSC_S_IF_SIMPLE-T_FIELDS OPTIONAL
*" E_T_DATA STRUCTURE ZBW_KONH OPTIONAL
*" EXCEPTIONS
*" NO_MORE_DATA
*" ERROR_PASSED_TO_MESS_HANDLER
* DI.08.0055 Remontée prix VKPB
* 'Delta hook' par BTE, voir transactions FINF, FIBF et
* MF Z_BW_BTE_DELTA_00503301_01 et Z_BW_BTE_DELTA_00503301_01_WRI
* Création
* Auteur: JWA Date: 30/04/2007
* DataSource for view of Delta Q alimenté par le BTE
TABLES: zbw_konh, usr01.
* Auxiliary Selection criteria structure
DATA: l_s_select TYPE srsc_s_select.
* Maximum number of lines for DB table
STATICS: s_s_if TYPE srsc_s_if_simple,
* counter
s_counter_datapakid LIKE sy-tabix,
* cursor
s_cursor TYPE cursor,
* Vue 1 article actifs -> 1 GM
t_mara TYPE STANDARD TABLE OF zmatnr_matkl,
* Vue 1 GM -> n articles actifs
t_mara2 TYPE STANDARD TABLE OF zmatnr_matkl,
* Vue 1 division -> 1 OA + 1 Société
t_zvt001_wk TYPE STANDARD TABLE OF zvt001_wk,
* Date de validité pricing
w_datextract TYPE sydatum,
w_separator TYPE zseparateur,
* Data pour selections IP
l_r_matnr TYPE STANDARD TABLE OF matnr_ran WITH HEADER LINE,
l_r_werks TYPE STANDARD TABLE OF werks_ran WITH HEADER LINE,
l_r_spart TYPE STANDARD TABLE OF spart_ran WITH HEADER LINE,
l_r_matkl TYPE STANDARD TABLE OF matkl_ran WITH HEADER LINE.
* Data pour paramètrer VKPB
DATA :
t_matnr_low TYPE STANDARD TABLE OF matnr_ran ,
t_werks_low TYPE STANDARD TABLE OF werks_ran ,
w_t_mara TYPE zmatnr_matkl,
w_e_t_data TYPE zbw_konh,
* Data pour liste VKPB
t_liste TYPE STANDARD TABLE OF abaplist ,
t_listasci TYPE STANDARD TABLE OF zchar150 ,
* Paquet retourné d'après la liste VKPB.
e_t_data2 TYPE STANDARD TABLE OF zbw_konh .
* Initialization mode (first call by SAPI) or data transfer mode
* (following calls) ?
IF i_initflag = sbiwa_c_flag_on.
* Initialization: check input parameters
* buffer input parameters
* prepare data selection
* Check DataSource validity
CASE i_dsource.
WHEN 'ZDS_PRICING'.
WHEN OTHERS.
IF 1 = 2. MESSAGE e009(r3). ENDIF.
* this is a typical log call. Please write every error message like this
log_write 'E' "message type
'R3' "message class
'009' "message number
i_dsource "message variable 1
' '. "message variable 2
RAISE error_passed_to_mess_handler.
ENDCASE.
APPEND LINES OF i_t_select TO s_s_if-t_select.
* Fill parameter buffer for data extraction calls
s_s_if-requnr = i_requnr.
s_s_if-dsource = i_dsource.
s_s_if-maxsize = i_maxsize.
* Fill field list table for an optimized select statement
APPEND LINES OF i_t_fields TO s_s_if-t_fields.
* Date extraction
w_datextract = sy-datum.
* Vue 1 article actif -> 1 GM pour binary search.
SELECT matnr matkl spart FROM mara INTO TABLE t_mara
WHERE lvorm = ' '.
SORT t_mara BY matnr.
* Vue 1 GM -> n articles actifs pour binary search.
t_mara2[] = t_mara[].
SORT t_mara2 BY matkl.
* Vue 1 division->1 OA, divison->1 société pour binary search
SELECT * FROM zvt001_wk INTO TABLE t_zvt001_wk.
SORT t_zvt001_wk BY werks.
* Séparateur
SELECT SINGLE * FROM usr01
WHERE bname = sy-uname.
IF usr01-dcpfm = 'X'. "decimal separator is point
w_separator-sep1 = ',' . "suppress commas
ELSE.
w_separator-sep1 = '.' . "suppress points.
ENDIF.
ELSE. "Initialization mode or data extraction ?
* Data transfer: First Call OPEN CURSOR + FETCH
* Following Calls FETCH only
* First data package -> OPEN CURSOR
IF s_counter_datapakid = 0.
* Fill range tables BW will only pass down simple selection criteria
* of the type SIGN = 'I' and OPTION = 'EQ' or OPTION = 'BT'.
LOOP AT s_s_if-t_select INTO l_s_select WHERE fieldnm = 'MATNR'.
MOVE-CORRESPONDING l_s_select TO l_r_matnr.
APPEND l_r_matnr.
ENDLOOP.
LOOP AT s_s_if-t_select INTO l_s_select WHERE fieldnm = 'WERKS'.
MOVE-CORRESPONDING l_s_select TO l_r_werks.
APPEND l_r_werks.
ENDLOOP.
LOOP AT s_s_if-t_select INTO l_s_select WHERE fieldnm = 'SPART'.
MOVE-CORRESPONDING l_s_select TO l_r_spart.
APPEND l_r_spart.
ENDLOOP.
LOOP AT s_s_if-t_select INTO l_s_select WHERE fieldnm = 'MATKL'.
MOVE-CORRESPONDING l_s_select TO l_r_matkl.
APPEND l_r_matkl.
ENDLOOP.
* Determine number of database records to be read per FETCH statement
* from input parameter I_MAXSIZE.
OPEN CURSOR WITH HOLD s_cursor FOR
* SELECT (s_s_if-t_fields) FROM zbw_konh
SELECT kotabnr vakey FROM zbw_konh
WHERE
kvewe = 'A' AND "Détermination prix
kappl IN ('M','V') AND "ADV et Achats'
* A modifier si nouvelle condition, + extraction des champs paramètre
kotabnr IN ('017', '018', '071', '073', '074', '079') .
ENDIF. "First data package ?
* Fetch records into interface table.
FETCH NEXT CURSOR s_cursor
APPENDING CORRESPONDING FIELDS
OF TABLE e_t_data
PACKAGE SIZE s_s_if-maxsize.
IF sy-subrc <> 0.
CLOSE CURSOR s_cursor.
RAISE no_more_data.
ENDIF.
* Dérivation des paramètres pour VKPB
PERFORM params_vkpb
TABLES
* Paquet entrée
e_t_data
* Paramètres lancement VKPB
t_matnr_low
t_werks_low
* Paramètres venant de l'IP
l_r_matnr
l_r_werks
l_r_matkl
l_r_spart
* vues
t_mara
t_mara2
t_zvt001_wk.
* Appel de VKPB si au moins un article trouvé
IF NOT t_matnr_low[] IS INITIAL.
PERFORM submit_vkpb
TABLES
* Paramètres lancement VKPB
t_matnr_low
t_werks_low
t_listasci
USING w_datextract.
* Interpretation Liste VKPB
* BREAK ALEREMOTE.
* BREAK JWADDELL.
PERFORM list_vkpb
TABLES
t_listasci
e_t_data2
* Paramètres venant de l'IP pour filtrage
l_r_spart
* pour le cas toutes divisions
l_r_werks
* vues
t_mara
t_zvt001_wk
* Date validité
USING w_datextract
w_separator.
* Retourner paquet
e_t_data[] = e_t_data2[].
REFRESH e_t_data2[].
ELSE.
* no data
REFRESH e_t_data[].
ENDIF.
s_counter_datapakid = s_counter_datapakid + 1.
ENDIF. "Initialization mode or data extraction ?
ENDFUNCTION.=
Maybe you are looking for
-
Closing the Second instance of the browser.
Hello, I am working on a project written in Java. When applet is running in Browser, we can open the new instance of the browser using File->window->new (or pressing CTR-N). Since the second window runns in the context of first window, It is causing
-
An interesting observation...when I have a MacBook Pro connected and select Computers on my AppleTV2, the name of the MacBook computer comes up on the screen and allows me to select it and view photos from my iTunes library. Orks perfectly. When my W
-
Require entry of metadata when creating a folder in a document library
Sharepoint Foundation 2010 - While users are required to enter metadata when uploading a document, it would be a tremendous help if they were required to enter metadata when creating a folder inside a document library. Is there a way to force entry o
-
Getting error in Exporting the data from legacy system to Tables
Hi, I am trying to export the data. But am getting the below error. Unknown system exception - java.security.PrivilegedActionException: javax.security.auth.login.LoginException: java.net.ConnectException: t3://abc.com:7001: Bootstrap to abc.jdadelive
-
HT201359 how can i find out what all the charges on my checking account are for?
how can i find out what all the charges on my checking account are for?