Ranges used in a perform
Hello All,
I am working on a FM to extract data into BW. Can I pass ranges through a PERFORM statement. If yes, do I have to declare these ranges in the form statement (USING).
Please provide me some examples...
I used these the ranges directly but I am getting an syntax error: The IN operator with l_r_kunnr is followed neither by an internal table nor by a value list.
Please help.
Thanks.
Regards,
KP
Ranges are internal table, pass those as internal table.
Look at this How to extract data from RR cluster n B2 cluster for data warehousing., in this sample of a function module generic extractor the parameter transmitted by BW extractor is mapped to some ranges before opening a cursor on database.
Regards
Similar Messages
-
Filling range using..... bdcdata
Hi ,
I have a requuirement that , need to call a standard report in a new session when i click on first level output.Am using ' FM ABAP4_CALL_TRANSACTION' STARTING NEW TASK to create anew session by filling bdcdata
but problem is...i wanted to submit a range to report.
Can any one let me know how to submit a range using BDCDATA...
Thanks in advance..
Regards,
Anand Lokineni.Hi,
I believe by ranges you mean data to select options of a selection screen ?
If yes, I just recorded one standard transaction tx.MB5S and created a function module for the recording.
Here is the snippet of the function module:
FUNCTION Z_MB5S_CALL.
" this is the part which populated the select option of the selection screen.
perform bdc_dynpro using 'SAPLALDB' '3000'.
perform bdc_field using 'BDC_OKCODE'
'=ACPT'.
" The value is passed by first setting the cursor on the field and then setting the value.
"1. Set the cursor.
perform bdc_field using 'BDC_CURSOR'
'RSCSEL-SLOW_I(01)'.
"2. Set the value
perform bdc_field using 'RSCSEL-SLOW_I(01)'
SLOW_I_01_002.
" Same for the others.
perform bdc_field using 'RSCSEL-SLOW_I(02)'
SLOW_I_02_003.
perform bdc_field using 'RSCSEL-SLOW_I(03)'
SLOW_I_03_004.
perform bdc_field using 'RSCSEL-SLOW_I(04)'
SLOW_I_04_005.
perform bdc_field using 'RSCSEL-SLOW_I(05)'
SLOW_I_05_006.
perform bdc_field using 'RSCSEL-SLOW_I(06)'
SLOW_I_06_007.
perform bdc_field using 'RSCSEL-SLOW_I(07)'
SLOW_I_07_008.
perform bdc_field using 'RSCSEL-SLOW_I(08)'
SLOW_I_08_009.
perform bdc_field using 'RSCSEL-SLOW_I(09)'
SLOW_I_09_010.
perform bdc_dynpro using 'RM07MSAL' '1000'.
perform bdc_field using 'BDC_CURSOR'
'LIFNR-LOW'.
perform bdc_field using 'BDC_OKCODE'
'=ONLI'.
perform bdc_field using 'EKORG-LOW'
LOW_011.
perform bdc_field using 'FINAL'
FINAL_012.
perform bdc_dynpro using 'SAPMSSY0' '0120'.
perform bdc_field using 'BDC_OKCODE'
'=&F03'.
perform bdc_dynpro using 'RM07MSAL' '1000'.
perform bdc_field using 'BDC_OKCODE'
'/EE'.
perform bdc_field using 'BDC_CURSOR'
'LIFNR-LOW'.
perform bdc_transaction tables messtab
using 'MB5S'
CTU
MODE
UPDATE.
if sy-subrc <> 0.
subrc = sy-subrc.
exit.
endif.
perform close_group using CTU.
ENDFUNCTION.
This is a custom function module, so you can tweak this function's tables parameter to receive the list of values for the range and loop at this list and populate the range/select options as shown above.
Hope this solves the issue.
regards,
Advait -
What are the main tables using in vendor performance report.
what are the main tables using in vendor performance report.
how many select statements are in ABAP reports.Refer the links -
vendor performance report !!!
vendor performance report
vendor performance report
I need standard vendor performance report
Regards,
Amit
Reward all helpful replies. -
I have an iPad 2 and iPhone 4 and for them I use I cloud I have also 1 pc windows and at work place I use windows pc ; until now my files are stored on an external disk drive could' I use iCloud to perform the backup of my external disk drive ? Thanks
LoredanoThese are the options you have.
Budget $1299.
http://www.apple.com/macbookair/
http://www.apple.com/macbookpro/
Best. -
Partition by range using greater than or in between statment?
Can you partition by range using greater than or in between statment? If so, can someone please post the syntax?
ji**** wrote:
Can you partition by range using greater than or in between statment? If so, can someone please post the syntax?http://download.oracle.com/docs/cd/B10500_01/server.920/a96524/c12parti.htm
CREATE TABLE sales_range
(salesman_id NUMBER(5),
salesman_name VARCHAR2(30),
sales_amount NUMBER(10),
sales_date DATE)
PARTITION BY RANGE(sales_date)
PARTITION sales_jan2000 VALUES LESS THAN(TO_DATE('02/01/2000','DD/MM/YYYY')),
PARTITION sales_feb2000 VALUES LESS THAN(TO_DATE('03/01/2000','DD/MM/YYYY')),
PARTITION sales_mar2000 VALUES LESS THAN(TO_DATE('04/01/2000','DD/MM/YYYY')),
PARTITION sales_apr2000 VALUES LESS THAN(TO_DATE('05/01/2000','DD/MM/YYYY'))
); -
How to count the days between Date Range using OO ABAP?
hi experts,
i want to count the days between Date Range using OO ABAP for that which class and method can i use?.
Thanks,
Mahesh.Not sure I understand the requirement for it to be OO, but you could always write your own (i.e. use this):
REPORT zz_date_diff.
CLASS date_diff DEFINITION.
PUBLIC SECTION.
METHODS diff IMPORTING i_date_fm TYPE d
i_date_to TYPE d
EXPORTING e_days TYPE i.
ENDCLASS."
CLASS date_diff IMPLEMENTATION.
METHOD diff.
e_days = i_date_to - i_date_fm.
ENDMETHOD."
ENDCLASS."
DATA: g_ref TYPE REF TO date_diff,
g_days TYPE i,
g_date_fm TYPE d VALUE '20080101',
g_date_to TYPE d VALUE '20090101'.
START-OF-SELECTION.
CREATE OBJECT g_ref.
CALL METHOD g_ref->diff
EXPORTING
i_date_fm = g_date_fm
i_date_to = g_date_to
IMPORTING
e_days = g_days.
WRITE g_days. -
Hi Experts,
where use the U perform tool while BBP preparation or any stage in implementation project.
My client ask me about these u perform tool.
regards,
AVI DDS.Hi
RWD uPerform records your actions in Microsoft Windows,web-based, and enterprise applications, and outputs a professionally formatted document and simulation. You can capture screens, buttons, edit fields, and more in the target application.
The recording process captures information to simultaneously produce both a simulation view and a document view of procedural content.
RWD uPerform captures actions in the following target applications:
❐ Standard Microsoft Windows and web browser applications: Support for these
applications is provided in the uPerform base recorder. Application adherence to
World Wide Web Consortium (W3C) and Microsoft Windows standards will
determine the consistency and quality of recording. Due to the technology involved in
recording, the DOS command window cannot be recorded.
❐ SAP: Support for SAP applications is provided in the uPerform SAP plug-in recorder.
❐ Oracle: Support for this application is provided in the uPerform Oracle plug-in
recorder.
❐ PeopleSoft: Support for this application is provided in the uPerform PeopleSoft plugin
recorder.
❐ Citrix: In addition, support for applications in the Citrix Presentation Server 4.5
environment is also available.
Regards
Manish Bansal -
I changed the value to MTTR yesterday i am getting these messages at alert log
Can any body tell me figure i shuould set for it
Wed Feb 8 07:02:45 2006
FAST_START_MTTR_TARGET 600 is out of the valid MTTR range, use 601 instead.
Wed Feb 8 07:05:46 2006
FAST_START_MTTR_TARGET 600 is out of the valid MTTR range, use 602 instead.
Wed Feb 8 09:03:58 2006
FAST_START_MTTR_TARGET 600 is out of the valid MTTR range, use 601 instead.
Wed Feb 8 10:02:48 2006
FAST_START_MTTR_TARGET 600 is out of the valid MTTR range, use 602 instead.
Wed Feb 8 10:05:19 2006
FAST_START_MTTR_TARGET 600 is out of the valid MTTR range, use 603 instead.
Wed Feb 8 11:04:11 2006
FAST_START_MTTR_TARGET 600 is out of the valid MTTR range, use 604 instead.
Wed Feb 8 12:03:01 2006
FAST_START_MTTR_TARGET 600 is out of the valid MTTR range, use 605 instead.
Wed Feb 8 13:03:22 2006
FAST_START_MTTR_TARGET 600 is out of the valid MTTR range, use 606 instead.I made you a suggestion. It is a bug. Open a TAR. Or go by trial and error method increasing FAST_START_MTTR_TARGET until you stop getting messages
Vadim Bobrov
Oracle Database Tools
http://www.fourthelephant.com -
Using Designer to perform reverse engineering for Adabas entities
Hi Experts,
Customer will migrate from Adabas to Oracle db. Is it possible to use designer to perform reverse engineering for entities of Adabas?
Thanks for your help in advance.
QueenieIf there is an ODBC driver for Adabas, it MAY be possible, though I have never had an Adabas database to try it on. I know that Adabas isn't natively a relational database using SQL, which is what Designer's Design Capture utility expects, so it will work through ODBC or not at all.
-
AFAB:AA776 "Create document number range ## using internal number assignmen
Good afternoon
I ask for your guidance to see if anyone knows me that is generating errors in the transaction AFAB AA776 "Create document number range ## using internal number assignment", the peculiarity of this is that I'm in an environment that is proving to migrate V5 to V6 ranges in environment QAS is marked as external and no problems to run on v6 change in SAP itself. Test by removing the flag marking for external control and run, causing an alarm is that it does not work as in my QAS v 5 and that I should remove this flag is removed and remove it in all the years this range of numbers is that it can hurt if you make this change.
Can anyone guide me please.
Thanks for the support.
good dayHello ,
Kindly have a look at the below notes that will help you resolve the
issue :
890976 - Converting closing report to internal doc number assgnmnt
If note 890976 has been applied in your system already (package
level is = or > SAPKH60005), so what you need to check is the
following :
In transaction FBN1, in your company code you should see that the
period and number range in question is ticked as external.
Please untick the indicator for "External" and press enter. If this
box happens to be uneditable then untick the number range for the
previous year and press enter. All other entries will update
automatically.
Here is a brief explaination to why this change has been made:
Before ERP2005(RAPOST2000 exists as of release 4.70)the number usage
was external, because RAPOST2000 internally managed the document number
handling. As this was not possible any more with the New General Ledger
functionality, and as the usage of internal number ranges is much
simpler and more efficient, we changed the number range management
inside RAPOST2000 (and by the way also the new periodic posting report
RAPERB2000).
Please kindly check the attached notes 683313 for your reference.
I hope this provides some clarification.
regards
Ray -
Hello,
I have once come across a technique of loading a range using a macro that was stored in table TRMAC. Has anyone seen anything similar to this? I copied the code to a jump drive but have misplaced it. It was really a cool way to load a range with individual values.
Thanks,
JoeYou don't have to store it in that TABLE. You can define the macro in your program.
ranges: r_datum for sy-datum.
Define build_range.
r_datum-sign = 'I'.
r_datum-option = 'EQ'.
r_datum-low = &1.
append r_datum.
end-of-definition.
* Now use the macro
build_range sy-datum.
Regards,
Rich Heilman
Message was edited by: Rich Heilman -
I have a net gear router supplied by virgin media. Can I extend my wi-fi range using express or extreme?
Apple designed their "extend" feature with proprietary settings to only work with other Apple routers.
As a consequence, there is virtually no chance that the Apple devices you mention would extend the signal of a non-Apple wireless router...using wireless only.
If you plan to connect the Apple devices back to your Virgin Media router using a permanent wired Ethernet cable, you can configure the AirPorts to provide more wireless coverage that way. -
How to populate the ranges using FM for the SELECTs
Hi,
I am still working on the FM to create a generic extractor. I went through the debugger but I am still unable to determine how the ranges are populated. RSA3 always gives me zero values for the results.
There is a RANGE statement in the sample FM and the following statements for SELECTs
RANGES: L_R_CARRID FOR SFLIGHT-CARRID,
L_R_CONNID FOR SFLIGHT-CONNID.
and...
LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'CARRID'.
MOVE-CORRESPONDING L_S_SELECT TO L_R_CARRID.
APPEND L_R_CARRID.
ENDLOOP.
LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'CONNID'.
MOVE-CORRESPONDING L_S_SELECT TO L_R_CONNID.
APPEND L_R_CONNID.
ENDLOOP.
My question is how is L_R_CONNID and L_R_CARRID populated with low and high values for the SELECT statements? I tried to find the DS 0SAPI_SFLIGHT_SIMPLE to run and see how it is set up but there is no such DS.
Would someone take the time to say something about this in several sentences? I have my own code and it seems that it is not populating the values for the SELECTs when I debug from RSA3 when I provide the low and high values.
Would I normally populate the low and high values from the InfoPackage 'Data Selection' tab once I have implemented in BW or ready to test in BW? That would mean I have to choose those fields as selections from RSO2. Anyway, I think I have asked about this but I am hoping to get an answer to get this going...
Appreciate any replies.Hi
Here is an example of an extractor that uses
both method's, if the InfoPackage selection exist's
it overrides the TVARV selection (which is the default).
FUNCTION ZBW_TC_FORECAST_SO_EXTRACTOR.
""Local interface:
*" IMPORTING
*" VALUE(I_REQUNR) TYPE SBIWA_S_INTERFACE-REQUNR
*" VALUE(I_DSOURCE) TYPE SBIWA_S_INTERFACE-ISOURCE OPTIONAL
*" VALUE(I_CHABASNM) TYPE SBIWA_S_INTERFACE-CHABASNM OPTIONAL
*" VALUE(I_MAXSIZE) TYPE SBIWA_S_INTERFACE-MAXSIZE OPTIONAL
*" VALUE(I_INITFLAG) TYPE SBIWA_S_INTERFACE-INITFLAG OPTIONAL
*" VALUE(I_UPDMODE) TYPE SBIWA_S_INTERFACE-UPDMODE OPTIONAL
*" VALUE(I_DATAPAKID) TYPE SBIWA_S_INTERFACE-DATAPAKID OPTIONAL
*" VALUE(I_PRIVATE_MODE) OPTIONAL
*" VALUE(I_CALLMODE) TYPE ROARCHD200-CALLMODE OPTIONAL
*" TABLES
*" I_T_SELECT TYPE SBIWA_T_SELECT OPTIONAL
*" I_T_FIELDS TYPE SBIWA_T_FIELDS OPTIONAL
*" E_T_DATA STRUCTURE ZBW_TC_FORECASTING_EXT_STR OPTIONAL
*" EXCEPTIONS
*" NO_MORE_DATA
*" ERROR_PASSED_TO_MESS_HANDLER
*" HIERARCHY_NOT_FOUND
Change History *
Mod. # | Date | Developer | Description *
*RD3K915762|06/21/2005| SRangaraj | Change selection of open SO *
| | | data to include deleted matls *
| | | and obsolete items too *
RD3K915888|06/29/2005| SRANGARAJ | Add ext matl grp and lab offce
| | | filters for data-selection *
The input parameter I_DATAPAKID is not supported yet !
Auxiliary Selection criteria structure
DATA: L_S_SELECT TYPE SBIWA_S_SELECT.
Maximum number of lines for DB table
STATICS L_MAXSIZE TYPE SBIWA_S_INTERFACE-MAXSIZE.
Parameter I_PRIVATE_MODE:
Some applications might want to use this function module for other
purposes as well (e.g. data supply for OLTP reporting tools). If the
processing logic has to be different in this case, use the optional
parameter I_PRIVATE_MODE (not supplied by BIW !) to distinguish
between BIW calls (I_PRIVATE_MODE = SPACE) and other calls
(I_PRIVATE_MODE = X).
If the message handling has to be different as well, define Your own
messaging macro which interprets parameter I_PRIVATE_MODE. When
called by BIW, it should use the LOG_WRITE macro, otherwise do what
You want.
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
The input parameter I_DATAPAKID is not supported yet !
Invalid second initialization call -> error exit
IF NOT G_FLAG_INTERFACE_INITIALIZED IS INITIAL.
IF 1 = 2. MESSAGE E008(R3). ENDIF.
LOG_WRITE 'E' "message type
'R3' "message class
'008' "message number
' ' "message variable 1
' '. "message variable 2
RAISE ERROR_PASSED_TO_MESS_HANDLER.
ENDIF.
Check InfoSource validity
CASE I_DSOURCE.
WHEN 'ZBW_TC_SO_EXTRACT'.
WHEN OTHERS.
IF 1 = 2. MESSAGE E009(R3). ENDIF.
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.
Check for supported update mode
CASE I_UPDMODE.
WHEN 'F'.
WHEN OTHERS.
IF 1 = 2. MESSAGE E011(R3). ENDIF.
LOG_WRITE 'E' "message type
'R3' "message class
'011' "message number
I_UPDMODE "message variable 1
' '. "message variable 2
RAISE ERROR_PASSED_TO_MESS_HANDLER.
ENDCASE.
Check for obligatory selection criteria
READ TABLE I_T_SELECT INTO L_S_SELECT WITH KEY FIELDNM = 'PGMID'.
IF SY-SUBRC <> 0.
IF 1 = 2. MESSAGE E010(R3). ENDIF.
LOG_WRITE 'E' "message type
'R3' "message class
'010' "message number
'PGMID' "message variable 1
' '. "message variable 2
RAISE ERROR_PASSED_TO_MESS_HANDLER.
ENDIF.
APPEND LINES OF I_T_SELECT TO G_T_SELECT.
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-UPDMODE = I_UPDMODE.
G_S_INTERFACE-DATAPAKID = I_DATAPAKID.
G_FLAG_INTERFACE_INITIALIZED = SBIWA_C_FLAG_ON.
Fill field list table for an optimized select statement
(in case that there is no 1:1 relation between InfoSource fields
and database table fields this may be far from beeing trivial)
APPEND LINES OF I_T_FIELDS TO G_T_FIELDS.
Fill range tables for fixed InfoSources. In the case of generated
InfoSources, the usage of a dynamical SELECT statement might be
more reasonable. BIW will only pass down simple selection criteria
of the type SIGN = 'I' and OPTION = 'EQ' or OPTION = 'BT'.
LOOP AT G_T_SELECT INTO L_S_SELECT.
CASE L_S_SELECT-FIELDNM.
WHEN 'PRDHA'.
WGF_PRDHA_LENGTH = STRLEN( L_S_SELECT-LOW ).
IF WGF_PRDHA_LENGTH = 6. "PARTIAL PRDHA
WGF_PRDHA = L_S_SELECT-LOW.
CONCATENATE WGF_PRDHA '%' INTO WGF_PRDHA.
ELSEIF WGF_PRDHA_LENGTH = 12. "FULL PRDHA
MOVE-CORRESPONDING L_S_SELECT TO L_R_PRDHA.
APPEND L_R_PRDHA.
ENDIF.
WHEN 'MATKL'.
MOVE-CORRESPONDING L_S_SELECT TO L_R_MATKL.
APPEND L_R_MATKL.
ENDCASE.
ENDLOOP.
reset the index of where we are in the gt_header table
g_tabix = 0.
perform populate_default_variables.
perform get_data.
perform build_detail.
EXIT.
ENDIF. "Initialization mode or data extraction ?
Data transfer: First Call OPEN CURSOR + FETCH
Following Calls FETCH only
First data package -> OPEN CURSOR
IF G_COUNTER_DATAPAKID = 0.
Determine number of database records to be read per FETCH statement
from input parameter I_MAXSIZE. If there is a one to one relation
between InfoSource table lines and database entries, this is trivial.
In other cases, it may be impossible and some estimated value has to
be determined.
DESCRIBE TABLE LT_DATA LINES l_count.
IF g_tabix GE l_count.
RAISE no_more_data.
ENDIF.
*CLEAN UP THE OUTPUT TABLE
refresh E_T_DATA.
LOOP AT LT_DATA FROM G_TABIX INTO LS_DATA.
APPEND LS_DATA TO E_T_DATA.
Set global counter
g_tabix = g_tabix + 1.
ENDLOOP.
G_COUNTER_DATAPAKID = G_COUNTER_DATAPAKID + 1.
ENDIF. "Initialization mode or data extraction ?
ENDFUNCTION.
Forms
***INCLUDE LZBW_TC_FORECAST_SO_EXTF01 .
*& Form populate_default_variables
text
--> p1 text
<-- p2 text
FORM populate_default_variables.
data: wlf_name like tvarv-name.
clear: R_prdh3[], wlf_name.
*get the exclusion range from tvarv for the product hierarchy in
*question
concatenate 'ZBW_EXL_' WGF_PRDHA(6) INTO WLF_NAME.
SELECT LOW FROM TVARV INTO R_prdh3-low WHERE
NAME = WLF_NAME.
move: 'I' to R_prdh3-sign,
'EQ' to R_prdh3-option.
append R_prdh3.
clear R_prdh3.
ENDSELECT.
{Start of insert by SRangaraj on June 29, 2005 >>RD3K915888
CLEAR L_R_LABOR[].
SELECT LOW FROM TVARV INTO L_R_LABOR-Low WHERE
NAME = 'ZBW_TC_FORECAST_LAB_OFF'.
move: 'I' to L_R_LABOR-sign,
'EQ' to L_R_LABOR-option.
append L_R_LABOR.
clear L_R_LABOR.
ENDSELECT.
}End of insert by SRangaraj on June 29, 2005 >>RD3K915888
ENDFORM. " populate_default_variables
*& Form get_data
text
--> p1 text
<-- p2 text
FORM get_data.
data: wlf_lmeng like vbep-lmeng.
*get all deliveries for date range for either a range of product hrchy
*or a like value
refresh int_records1.
if wgf_prdha ne space.
select ivbeln iposnr iKLMENG jvkorg i~werks
imatnr imeins mprdha mmatkl
from vbap as i
INNER JOIN VBAK AS j
ON ( jvbeln = ivbeln
and j~vbtyp = 'C' )
INNER JOIN vbuk AS k
ON ( kvbeln = ivbeln
and k~lfgsk <> 'C'
and k~gbstk <> 'C' )
INNER JOIN vbup AS l
ON ( lvbeln = ivbeln and
lposnr = iposnr
and l~lfgsa <> 'C'
and l~gbsta <> 'C' )
INNER JOIN mara AS m
ON ( mmatnr = imatnr
{Start of insert by SRangaraj on June 21, 2005 >>RD3K915762
and m~lvorm eq ' '
and m~mstae ne '99'
{Start of insert by SRangaraj on June 29, 2005 >>RD3K915888
and m~extwg = '080' )
}End of insert by SRangaraj on June 29, 2005 >>RD3K915888
INNER JOIN marc AS n
ON ( nmatnr = imatnr
and nwerks = iwerks
and n~lvorm eq ' ' )
}End of insert by SRangaraj on June 21, 2005 >>RD3K915762
into table int_records1 where ( i~abgru = ' '
and i~klmeng > 0
and m~prdha like wgf_prdha
and m~matkl in l_r_matkl
{Start of insert by SRangaraj on June 29, 2005 >>RD3K915888
and m~labor in l_r_labor ).
}End of insert by SRangaraj on June 29, 2005 >>RD3K915888
elseif not l_r_prdha[] is initial and wgf_prdha = space.
select ivbeln iposnr iKLMENG jvkorg i~werks
imatnr imeins mprdha mmatkl
from vbap as i
INNER JOIN VBAK AS j
ON ( jvbeln = ivbeln
and j~vbtyp = 'C' )
INNER JOIN vbuk AS k
ON ( kvbeln = ivbeln
and k~lfgsk <> 'C'
and k~gbstk <> 'C' )
INNER JOIN vbup AS l
ON ( lvbeln = ivbeln and
lposnr = iposnr
and l~lfgsa <> 'C'
and l~gbsta <> 'C' )
INNER JOIN mara AS m
ON ( mmatnr = imatnr
{Start of insert by SRangaraj on June 21, 2005 >>RD3K915762
and m~lvorm eq ' '
and m~mstae ne '99'
{Start of insert by SRangaraj on June 29, 2005 >>RD3K915888
and m~extwg = '080' )
}End of insert by SRangaraj on June 29, 2005 >>RD3K915888
INNER JOIN marc AS n
ON ( nmatnr = imatnr
and nwerks = iwerks
and n~lvorm eq ' ' )
}End of insert by SRangaraj on June 21, 2005 >>RD3K915762
into table int_records1 where ( i~abgru = ' '
and i~klmeng > 0
and m~prdha in l_r_prdha
and m~matkl in l_r_matkl
{Start of insert by SRangaraj on June 29, 2005 >>RD3K915888
and m~labor in l_r_labor ).
}End of insert by SRangaraj on June 29, 2005 >>RD3K915888
endif.
sort int_records1 by vbeln posnr.
delete adjacent duplicates from int_records1 comparing
vbeln posnr.
*remove unnecessary records
if not r_prdh3[] is initial.
DELETE INT_RECORDS1 WHERE PRDHA+6(3) IN r_prdh3.
endif.
*get the schedule lines for all of the above records and
*get the lowest schedule line date per so line item
if not int_records1[] is initial.
refresh int_records3.
select vbeln posnr etenr mbdat into table int_records3
from vbep for all entries in int_records1
where vbeln = int_records1-vbeln and
posnr = int_records1-posnr and
lmeng > 0.
sort int_records3 by vbeln posnr etenr mbdat ascending.
loop at int_Records1.
loop at int_records3 where vbeln = int_records1-vbeln
and posnr = int_records1-posnr.
int_records1-mbdat = int_records3-mbdat.
modify int_records1.
exit.
endloop.
endloop.
refresh int_records3. free int_records3.
refresh int_records2.
*get the deliveries and calculate the open quantities
select vbelv posnv vbeln posnn rfmng plmin
from vbfa into table int_records2
for all entries in int_Records1
where vbelv = int_records1-vbeln
and posnv = int_records1-posnr
and VBTYP_N = 'J'. "Dels
*calculate open quantities next
loop at int_records1.
clear wlf_lmeng.
clear int_records2.
loop at int_records2 where vbelv = int_records1-vbeln
and posnv = int_records1-posnr.
case int_records2-plmin.
when '-'.
wlf_lmeng = wlf_lmeng - int_records2-rfmng.
when others. "just add
wlf_lmeng = wlf_lmeng + int_records2-rfmng.
endcase.
endloop.
int_records1-klmeng = int_records1-klmeng - wlf_lmeng.
int_records1-vbeln_dl = int_records2-vbeln.
int_records1-posnr_dl = int_records2-posnn.
modify int_records1.
endloop.
endif.
delete int_records1 where klmeng le 0.
refresh int_records2. free int_Records2.
ENDFORM. " get_data
*& Form build_detail
text
--> p1 text
<-- p2 text
FORM build_detail.
LOOP AT int_records1.
*DO INDIVIDUAL MOVES - ITS FASTER THAN MOVE-CORRESPONDING
move: int_records1-vkorg to LS_DATA-VKORG,
int_records1-werks to LS_DATA-WERKS,
int_records1-matnr to LS_DATA-MATNR,
int_records1-klmeng to LS_DATA-KLMENG,
int_records1-mbdat(6) to LS_DATA-YEARMONTH,
int_records1-meins TO LS_DATA-MEINS,
int_records1-vbeln TO LS_DATA-VGBEL,
int_records1-posnr TO LS_DATA-VGPOS,
int_records1-vbeln_dl TO LS_DATA-VBELN,
int_records1-posnr_dl TO LS_DATA-POSNR,
int_records1-mbdat to LS_DATA-WADAT_IST,
int_records1-PRDHA to LS_DATA-PRDHA,
int_records1-matkl to LS_DATA-MATKL.
APPEND LS_DATA TO LT_DATA.
clear: LS_DATA.
ENDLOOP.
ENDFORM. " build_detail -
Using Composite Index Performance Issue
Hi,
Need help:
I have a table 'TABLEA' which has composite index on CODE and DEPT_CODE
While fetching the data from the table 'TABLEA' in the WHERE condition I am using only CODE and not DEPT_CODE.
Is the usage of the WHERE condition by using only the CODE column and not DEPT_CODE column affects the performance?
Any help will be needful for meSee the test case below
SQL> create table test_emp
2 (
3 emp_ssn number,
4 emp_name varchar2(50),
5 emp_state varchar2(15),
6 emp_city varchar2(20)
7 );
Table created
SQL> create index test_emp_idx on test_emp(emp_ssn,emp_name);
Index created
SQL> insert into test_emp values (123456789,'Robben','New York','Buffalo');
1 row inserted
SQL> insert into test_emp values (223456789,'Jack','Florida','Miami');
1 row inserted
SQL> insert into test_emp values (323456789,'Peter','Texas','Dallas');
1 row inserted
SQL> insert into test_emp values (423456789,'Johny','Georgia','Atlanta');
1 row inserted
SQL> insert into test_emp values (523456789,'Carmella','California','San Diego');
1 row inserted
SQL> commit;
Commit complete
SQL> explain plan for select /*+ index(test_emp test_emp_idx) */ * from test_emp where emp_ssn = 323456789;
Explained
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
Plan hash value: 2345760695
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)
| 0 | SELECT STATEMENT | | 1 | 61 | 163 (1)
| 1 | TABLE ACCESS BY INDEX ROWID| TEST_EMP | 1 | 61 | 163 (1)
|* 2 | INDEX RANGE SCAN | TEST_EMP_IDX | 1 | | 2 (0)
Predicate Information (identified by operation id):
2 - access("EMP_SSN"=323456789)
Note
- dynamic sampling used for this statement
18 rows selected
SQL> explain plan for select /*+ INDEX_SS(test_emp test_emp_idx) */ * from test_emp where emp_name = 'Robben';
Explained
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
Plan hash value: 85087452
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)
| 0 | SELECT STATEMENT | | 1 | 61 | 15 (0)
| 1 | TABLE ACCESS BY INDEX ROWID| TEST_EMP | 1 | 61 | 15 (0)
|* 2 | INDEX SKIP SCAN | TEST_EMP_IDX | 1 | | 11 (0)
Predicate Information (identified by operation id):
2 - access("EMP_NAME"='Robben')
filter("EMP_NAME"='Robben')
Note
- dynamic sampling used for this statement
19 rows selectedThanks,
Andy -
IP ranges used for Office 2010 activation
Does anyone know what IP ranges Microsoft use for activation of Office 2010? We are periodically experiencing "Communication error(0x80072EFE)" when clients are trying to activate Office. This seems to be dropped in the firewall, so I need to know
what IPs to open for.
I have looked everywhere, but I can't find an updated list of IPs for this.
Regards,
AGHi,
The error occurs due to a Web filter that is in place in the environment, client installations of Office 2010 are unable to communicate with Microsoft activation servers. This connection is required to perform online activation of Office 2010 products.
Try adding the following list of URLs to the Web filter, if you will then be able to successfully activate installations of Office 2010 online:
http://go.microsoft.com
https://sls.microsoft.com
https://sls.microsoft.com:443
http://crl.microsoft.com/pki/crl/products
http://www.microsoft.com/pki/crl/products
https://activation.sls.microsoft.com
Regards,
Melon Chen
TechNet Community Support
Maybe you are looking for
-
ITunes 7.3.1.3 all of a sudden doesn't find iphone - can't sync
I had no problem activating and syncing my new iphone. In fact I have synced it successfully a couple of times. However, today after taking my first photos, when I plugged it in, itunes didn't launch (instead, windows "auto play" did and asked if i w
-
Text messages are not coming in
apple changed updated my new eamil address in itunes and now my messages are not coming in.help
-
JSP sql - set table name in variable
I'm trying to set my table name in variable, what is the syntax in sql of selecting from a table which name is set with a variable name?
-
Smart object does not appear at specified time in slide.
Here's my issue: When I insert a speech bubble into the slide, set it to appear after 5.0 seconds and the display for the rest of the slide, it does not appear at the specified time. HOWEVER, if I move the speech bubble to appear at the very START o
-
Erro while doing T.code: J2IUN Utilization
Hi Gurus, I got below error while excise utilizing through T.code: J2IUN. Customization for excise group 51 missing in table Message no. 8I303 Diagnosis The customization details have not been maintained for this company Procedure Please use the loca