Determining the InfoPackage id in ABAP code variable
Hello,
When creating a dynamic selection in an InfoPackage for a characteristic using an ABAP routine, do you know the field which can be referenced to give the technical name of the InfoPackage being executed?
Thanks,
Kevin.
Hello Kevin,
I've faced exactly the same problem trying to establish a fake delta mechanism. Ive found two solutions.
Solution one is to capture the requested info in the calling program, which the following piece of code does (insert into InfoPackage data selection type 6 variable):
DATA: v_logpid(50) TYPE c.
FIELD-SYMBOLS <fs> TYPE ANY.
IF sy-batch = 'X'.
MOVE '(RSBATCH1)g_t_log-logid' TO v_logpid.
ELSE.
MOVE '(SAPLRSS1)g_logdpid' TO v_logpid.
ENDIF.
ASSIGN (v_logpid) TO <fs>.
IF sy-subrc = 0.
Solution two is simpler. The InfoPackage technical name is actually stored in one of the data fields in the SY internal table. But be careful it is not the same data field if you run in batch as when you run in foreground.
Best regards,
Lars Millgaard
Similar Messages
-
What are the steps to optimise ABAP code
What are the steps to optimise ABAP code, that is how to increase the performance of a code?
Hi
Welcome to SDN forum
1) Dont use nested select statements
2) If possible use for all entries in addition
3) In the where addition make sure you give all the primary key
4) Use Index for the selection criteria.
5) You can also use inner joins
6) You can try to put the data from the first select statement into an Itab and then in order to select the data from the second table use for all entries in.
7) Use the runtime analysis SE30 and SQL Trace (ST05) to identify the performance and also to identify where the load is heavy, so that you can change the code accordingly
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5d0db4c9-0e01-0010-b68f-9b1408d5f234
ABAP performance depends upon various factors and in devicded in three parts:
1. Database
2. ABAP
3. System
Run Any program using SE30 (performance analys) to improve performance refer to tips and trics section of SE30, Always remember that ABAP perfirmance is improved when there is least load on Database.
u can get an interactive grap in SE30 regarding this with a file.
also if u find runtime of parts of codes then use :
Switch on RTA Dynamically within ABAP Code
*To turn runtim analysis on within ABAP code insert the following code
SET RUN TIME ANALYZER ON.
*To turn runtim analysis off within ABAP code insert the following code
SET RUN TIME ANALYZER OFF.
Always check the driver internal tables is not empty, while using FOR ALL ENTRIES
Avoid for all entries in JOINS
Try to avoid joins and use FOR ALL ENTRIES.
Try to restrict the joins to 1 level only ie only for tables
Avoid using Select *.
Avoid having multiple Selects from the same table in the same object.
Try to minimize the number of variables to save memory.
The sequence of fields in 'where clause' must be as per primary/secondary index ( if any)
Avoid creation of index as far as possible
Avoid operators like <>, > , < & like % in where clause conditions
Avoid select/select single statements in loops.
Try to use 'binary search' in READ internal table. Ensure table is sorted before using BINARY SEARCH.
Avoid using aggregate functions (SUM, MAX etc) in selects ( GROUP BY , HAVING,)
Avoid using ORDER BY in selects
Avoid Nested Selects
Avoid Nested Loops of Internal Tables
Try to use FIELD SYMBOLS.
Try to avoid into Corresponding Fields of
Avoid using Select Distinct, Use DELETE ADJACENT
Check the following Links
Re: performance tuning
Re: Performance tuning of program
http://www.sapgenie.com/abap/performance.htm
http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_PerformanceAnalysisTools.asp
check the below link
http://www.sap-img.com/abap/performance-tuning-for-data-selection-statement.htm
See the following link if it's any help:
http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_PerformanceAnalysisTools.asp
Check also http://service.sap.com/performance
and
books like
http://www.sap-press.com/product.cfm?account=&product=H951
http://www.sap-press.com/product.cfm?account=&product=H973
http://www.sap-img.com/abap/more-than-100-abap-interview-faqs.htm
http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_PerformanceAnalysisTools.asp
Performance tuning for Data Selection Statement
http://www.sap-img.com/abap/performance-tuning-for-data-selection-statement.htm
Debugger
http://help.sap.com/saphelp_47x200/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc
http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm
Run Time Analyser
http://help.sap.com/saphelp_47x200/helpdata/en/c6/617cafe68c11d2b2ab080009b43351/content.htm
SQL trace
http://help.sap.com/saphelp_47x200/helpdata/en/d1/801f7c454211d189710000e8322d00/content.htm
CATT - Computer Aided Testing Too
http://help.sap.com/saphelp_47x200/helpdata/en/b3/410b37233f7c6fe10000009b38f936/frameset.htm
Test Workbench
http://help.sap.com/saphelp_47x200/helpdata/en/a8/157235d0fa8742e10000009b38f889/frameset.htm
Coverage Analyser
http://help.sap.com/saphelp_47x200/helpdata/en/c7/af9a79061a11d4b3d4080009b43351/content.htm
Runtime Monitor
http://help.sap.com/saphelp_47x200/helpdata/en/b5/fa121cc15911d5993d00508b6b8b11/content.htm
Memory Inspector
http://help.sap.com/saphelp_47x200/helpdata/en/a2/e5fc84cc87964cb2c29f584152d74e/content.htm
ECATT - Extended Computer Aided testing tool.
http://help.sap.com/saphelp_47x200/helpdata/en/20/e81c3b84e65e7be10000000a11402f/frameset.htm
Just refer to these links...
performance
Performance
Performance Guide
performance issues...
Performance Tuning
Performance issues
performance tuning
performance tuning
You can go to the transaction SE30 to have the runtime analysis of your program.Also try the transaction SCI , which is SAP Code Inspector.
1 Always check the driver internal tables is not empty, while using FOR ALL ENTRIES
2 Avoid for all entries in JOINS
3 Try to avoid joins and use FOR ALL ENTRIES.
4 Try to restrict the joins to 1 level only ie only for 2 tables
5 Avoid using Select *.
6 Avoid having multiple Selects from the same table in the same object.
7 Try to minimize the number of variables to save memory.
8 The sequence of fields in 'where clause' must be as per primary/secondary index ( if any)
9 Avoid creation of index as far as possible
10 Avoid operators like <>, > , < & like % in where clause conditions
11 Avoid select/select single statements in loops.
12 Try to use 'binary search' in READ internal table. Ensure table is sorted before using BINARY SEARCH.
13 Avoid using aggregate functions (SUM, MAX etc) in selects ( GROUP BY , HAVING,)
14 Avoid using ORDER BY in selects
15 Avoid Nested Selects
16 Avoid Nested Loops of Internal Tables
17 Try to use FIELD SYMBOLS.
18 Try to avoid into Corresponding Fields of
19 Avoid using Select Distinct, Use DELETE ADJACENT.
<b>Reward points for useful Answers</b>
Regards
Anji -
IS there is any another Area for writing ABAP Codes ( Variable Exit)
Can we extractor & aggragate the Data from Lookup DSO . & show in Report of (ODS1) .
Can we extract/Aggregate Data at run time of Query .
Please help me what are the Area/Tool where we can write the ABAP Codes in displaying a report in BEx QueryHi
Point 1: U r saying DSO is BI 7 &ODS 3.X .But Actually we will use lookup while uploading
Ex : Data Flow : ODS1 - CUBE (Before Uploading data to Cube from ODS1 you need some data from ODS2.Then you will use lookup at teh ODS1-CUBE TRansformation level)
Point 2 : As per my understand when you can execute the query the OLAP Processor will pick the data display the in theoutput as per your stucrure.Means during Run Time of query
1. Extracting Data from Cube
2. Claculating based on the Query Structure deisgned ( Means Aggregarion of Data etc.......) and displays the output.
Point 3: Customer exit for BEx query will written in SE38/CMOD.
Regards
Ram. -
Hi All ,
In Case of reading huge amount of record from BPC Cube from BADI code , performing calculations and writing back huge amount of data into the cube , It takes lot of time . If there is any suggestion to read the data from Cube or writing data into the cube using some Parallel Processing methods , Then Please suggest .
Regards,
SHUBHAMHi Gersh ,
If we have a specific server say 10.10.10.10 (abc.co.in) on which we are working, Then under RZ12 we make the following entry as :
LOGON GROUP INSTANCE
parallel_generators abc.co.in_10 ( Lets assume : The instance number is 10 )
Now in SM59 under ABAP Connections , I am giving the following technical settings:
TARGET HOST abc.co.in
IP address 10.10.10.10
Instance number 10
Now if we have a scenario of load balancing servers with following server details (with all servers on different instance numbers ) :
10.10.10.11
10.10.10.13
10.1010.10
10.10.10.15
In this case how can we make the RZ12 settings and SM59 settings such that we don't have to hardcode any IP Address.
If the request is redirected to 10.10.10.11 and not to 10.10.10.10 , in that case how will the settings be.
I have raised this question on the below thread :
How to configure RZ12 and SM59 ABAP connection settings when we have work with Load Balancing servers rather than a specific server .
Regards,
SHUBHAM -
Need to strip the leading ZERO using ABAP code.
Hi Friends,
I got a situation where i got customer number called 011. I need to write an ABAP in Transformation to strip the leading ZERO , 11 should be posted to the master data attribute. could you help me in the logic pls.
Thanks in advance,hi friends, i got a prob again, as i mentioned if i got 0 as prefix its deleting but if any 3 digit is comming it's converting in to 2 digit, as i mentioned if the prefix is 0(zero) then only i need to delete the zero.
Is there any other solution for this..
thansk in advance. -
What is the use of a proxy client to test web service from ABAP code?
In NW640, we need to create a proxy client to test our web service from a ABAP code.
Why is this so? What is the significance of a proxy client? Is this mandatory? Can we test the webservice from a ABAP code without proxy client?Hi Gopal,
There are two types of proxies that can be generated from ABAP - the client proxy (to call an internet web service) and a server proxy (to communicate with XI). It sounds to me like you are looking for information about the client proxy, if so you can see the following link from SAP Help:
http://help.sap.com/saphelp_nw04s/helpdata/en/e5/a68d10f4eb894087fc9c1c3f9ae433/frameset.htm
Hope this helps.
Sudha -
ABAP Code to delete old PSA requests
Hi Friends,
I have a requirement where I am loading two different types of data through two different InfoPackages. Both the InfoPackages are scheduled to load data daily to a DataSource. Now the issue is I have to delete data every day from PSA, related to just one InfoPackage before I load data and leave the data coming from other InfoPackage as it is in the PSA.
In other words I want to delete PSA data based on an InfoPackage. I am not sure if we have a standard SAP program to achieve this or it involves custom ABAP code.
Any help will be appreciated.Hi
two info packages are loading data from from same source system or same source system..?
If this 2 info packages are loading from different source systems, then you can achieve this using "Delete PSA" process type.In this process type we can delete PSA based on source system.
If 2 info packages are loading from same source system, then we need to look for ABAP program.
check the below document for ABAP Code
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/00be6ce4-aa1c-2e10-df81-856c1ffec357?QuickLink=index&overridelayout=true
how to create delete PSA process type in PC
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/a02ba9e7-bb6f-2c10-09b4-e86b9fcbad41?QuickLink=index&overridelayout=true
Regards,
Venkatesh -
Enhancement-ABAP Code-Customized Field issue
Hi Experts,
Currently I am working on the BW3.5 version. We are using the standard SRM standard extractor 0BBP_TD_SC_1 and we enhance same extractor(populate the filed through CMOD - ABAP Code) with one customized field also. We are having issue on the customized field data which post from SRM system. I have verified the field value and value is fine in RSA3 in SRM source system. But while posting into the BW(PSA itself), its loading correct & wrong value. When i check the PSA for the particular load, It looks little strange. In the PSA, I can see correct value on my first record of the same SC and then next records has incorrect value of the same SC. Currently I am using the ODS as a data target. So finally i am getting the incorrect value on the customized field.
Ex Scenario:
Ex Customized Field: ZORGID
In SRM source system RSA3 Extractor Checker value:
Shopping Card No: 100
Customized Field: ZORGID=1
Shopping Card No: 200
Customized Field: ZORGID=2
In BW posting-PSA:
Shopping Card No: 100
Customized Field: ZORGID=2
Shopping Card No: 200
Customized Field: ZORGID=2
At the same time, if i do the selective deletion of the particular Shopping Card or group of SC in BW and do the full repair, then it gets a correct ZORGID=1 for the same Shopping Card.
I strongly believe, something wrong in the ABAP code. But when we tried to debug the customized filed value in RSA3. The value is fine. so we unable to trace out the issue. Please help me to fix the code. Thanks in advance.
CMOD ABAP Code:
*Populate approver ID even though it doesn't require approval this is required to make sure BW reports have restrict access to respective Org Unit approvals only
IF l_s_bbp_sc-approver_id IS INITIAL AND l_s_bbp_sc-itm_guid IS NOT INITIAL.
CALL FUNCTION 'Z_BBP_FIRST_APPROVALGET'
EXPORTING
iv_header_guid = l_s_bbp_sc-guid
iv_itm_guid = l_s_bbp_sc-itm_guid
IMPORTING
approver_no = l_s_bbp_sc-approver_id
EXCEPTIONS
no_data = 1
OTHERS = 2
IF sy-subrc 0.
ENDIF.
ENDIF.
To ensure that the Org Unit passed in into the field
l_s_bbp_sc-zzapprov_orgunit belongs to the Actual Level 1
Budget Owner and not any other manager such as Added Approver.
CLEAR : ls_ln_approvers, l_userid, lv_bpartner_guid.
DATA : lv_f_apprv_part TYPE BU_PARTNER.
READ TABLE lt_ln_approvers INTO ls_ln_approvers
WITH KEY INITIAL_INDEX = '0000000001'.
IF sy-subrc EQ 0.
MOVE ls_ln_approvers-approval_agent+2(12) TO l_userid.
CALL FUNCTION 'BP_CENTRALPERSON_GET'
EXPORTING
iv_username = l_userid
IMPORTING
ev_bu_partner_guid = lv_bpartner_guid
EXCEPTIONS
no_central_person = 1
no_business_partner = 2
no_id = 3
OTHERS = 4.
IF sy-subrc = 0.
CALL FUNCTION 'BUPA_NUMBERS_GET'
EXPORTING
iv_partner_guid = lv_bpartner_guid
IMPORTING
ev_partner = lv_f_apprv_part.
ENDIF.
ENDIF.
We get the BP number of the first Budget Owner 1
Here, we superseed the field l_s_bbp_sc-approver_id
whereby it may be wrong due to Added Approver.
IF l_s_bbp_sc-approver_id IS NOT INITIAL.
IF lv_f_apprv_part IS NOT INITIAL.
IF l_s_bbp_sc-itm_guid IS NOT INITIAL.
CALL FUNCTION 'RH_STRUC_GET'
EXPORTING
act_otype = 'BP'
act_objid = lv_f_apprv_part
act_wegid = 'EBP-UP'
act_begda = sy-datum
act_endda = sy-datum
act_tdepth = 4
TABLES
result_tab = lt_result_tab
EXCEPTIONS
no_plvar_found = 1
no_entry_found = 2
OTHERS = 3
IF sy-subrc = 0.
READ TABLE lt_result_tab INTO ls_result_tab WITH KEY
otype = 'O'.
IF sy-subrc EQ 0.
l_s_bbp_sc-zzapprov_orgunit = ls_result_tab-objid.
ELSE.
ENDIF.
ENDIF.
ENDIF.
Thanks,
RRHi Experts,
Any suggestions. Thanks.
Thanks,
RR -
Difference between checking Objects in SU24 and in ABAP code
Hi all,
What is the difference between objects checked in SU24 and the objects checked in ABAP Code.
I think if objects are even checked to No in SU24 and they are in ABAP code then user is able is able to execute that object, is this correct?
and vice versa, if objects are checked to yes in su24 and not in the ABAP code then user wont be able to excute? is this correct
or what is the purpose of maintaing objects both in SU24 and in ABAP Code.
Thanks,
SunThis is what is known in German as a "Schwerer Geburt"... (not sure whether there is an English term which has the same meaning)...
When you searched, did you read this thread?:
F110 - S_BTCH_ADM
>
Julius Bussche wrote:
> My understanding of this confusion is ...
>
> ... SAP's development systems deem an "unknown" check to be successfull until specifiied for a check (this is different in customer systems - which leads many to believe that adding and removing check indicators from SU24 will add and remove authority-checks....),
>
> ...This problem then reproduces itself both in SU53 and ST01 once the SU22 / SU24 error has been made.
>
> ...It is one of those things which you need to know or find on your own (not too difficult), otherwise you simple don't know it.
It is context specific, when the context is known to the customer system where the code is running => You cannot activate a check in SU24 if it is not coded anywhere (please distingish between starting a transaction, using it, and navigating further from that transaction...). The only case where SAP does what you seem to be assuming (or hoping for...) is infact to turn an authority-check off in some cases or to make the calling context known when it is remote (in which case sy-tcode or the entry point context is not known)...
*It is not to turn the check on when it is not coded anywhere!!!
Perhaps you would like to phrase your final question just one more time.
Cheers,
Julius -
ABAP code in to JAVA for overwritting condition value for IPC pricing
Dear experts i am an IPC JAVA developer and i am trying to translate an ABAP Routine in to JAVA code for overwriting condition value in the pricing user exit of IPC
Here is the ABAPcode segment i am trying to transulate
DATA: l_kdkg1 LIKE komk-kdkg1,
l_work TYPE f,
l_umren LIKE marm-umren,
l_umrez LIKE marm-umrez.
SELECT SINGLE peinh FROM mbew INTO mbew-peinh
WHERE matnr = komp-matnr
AND bwkey = komp-werks.
I need some help in the following things
1. I don't know how to transulate the following Line of ABAP code into JAVA
" AND bwkey = komp-werks."
Bwkey stands for plant details. I don't know how to get plant details from Pricing Item.
2. Someone please tell me weather the following JAVA transulation is correct
Vector x = prItem.getUserExitConditions();
db database = pricingEngine.getDatabase();
// set table name
String tableStart = "mbew";
// set query parameters
sys_query_pair[] queryPair = null;
//matnr = komp-matnr . Getting the material Number
String materialNo= prItem.getProduct().toString();
//bwkey = komp-werks.Getting plant.
// TODO: werks stands for plant. Not sure how to get it from prItem
String plant = "";
queryPair = new sys_query_pair[2];
queryPair[0] = new sys_query_pair("matnr", materialNo);
queryPair[1] = new sys_query_pair("bwkey", plant);
// set query columns
String ZZFIELDStart = "peinh";
String ZZFIELD_VALUEStart;
String[] projectionStart;
projectionStart = new String[];
BigDecimal pricingUnit = null;
try{
// execute query
res resultSetStart = database.db_read_table(tableStart, queryPair,projectionStart) ;
if (!res.db_empty_results_p(resultSetStart))
ZZFIELD_VALUEStart = resultSetStart.db_get_row_element_string(0);
pricingUnit = new BigDecimal(ZZFIELD_VALUEStart);
resultSetStart.db_finish();
else
System.out.println("Coudn't find a value of field peinh in table mbew!");
catch (exc_database_error e)
e.printStackTrace();Please login to the server where IPC is installed. In the IPC folder u find libs folder or search for docs in IPC folder. There it is dealt how ABAP routines are mapped to user exits in java coding
Thanks
Surya -
Simple Abap Code Case i_chabsnm is not working
Please help me asap, I am trying to enhance the BW datasource with only one field "Responsible" in 0refx_2 datasource . I am getting the error in code that case i_chabasnm is unknown and tables not defined by data statement
please help me to correct the code I am just picking the field RESPONSIBLE from Table VIBDPR
Abap Code below:
Tables: VIBDPR. "Property master data table
data: l_tabix like sy-tabix.
case i_CHABASNM.
*Enhancement of Property Master Record
WHEN '0REFX_2'.
case i_datasource.
WHEN '0REFX_2'.
data: l_s_REIS_MEASUREMENT_TRAN like REIS_MEASUREMENT_TRAN.
loop at i_t_data into l_s_REIS_MEASUREMENT_TRAN.
l_tabix = sy-tabix.
select single * from VIBDPR where BUKRS = l_s_ REIS_MEASUREMENT_TRAN - BUKRS.
if sy-subrc = 0.
l_s_BIW_VIBDPR_s-ZZRESPONSIBLE = VIBDPR-RESPONSIBLE.
modify i_t_data from l_s_ REIS_MEASUREMENT_TRAN index l_tabix.
endif.
endloop.
endcase.
endcaseI am getting the error in cmid abap code that
REIS_MEASUREMENT_TRAN shall be a flat structure but that is the extract structure in datasource 0refx_2 so what should i change on this
Tables: VIBDPR. "Property master data table
data: l_tabix like sy-tabix.
data: i_CHABASNM.
case i_CHABASNM.
*Enhancement of Property Master Record
WHEN '0REFX_2'.
case i_datasource.
WHEN '0REFX_2'.
data: l_s_REIS_MEASUREMENT_TRAN like REIS_MEASUREMENT_TRAN.
loop at i_t_data into l_s_REIS_MEASUREMENT_TRAN.
l_tabix = sy-tabix.
select single * from VIBDPR where BUKRS = l_s_ REIS_MEASUREMENT_TRAN - BUKRS.
if sy-subrc = 0.
l_s_BIW_VIBDPR_s-ZZRESPONSIBLE = VIBDPR-RESPONSIBLE.
modify i_t_data from l_s_ REIS_MEASUREMENT_TRAN index l_tabix.
endif.
endloop.
endcase.
endcase -
SQ01 DIsplay Problem (Can v write abap code ) Sql Query
Hi
Need help in SQL Query
I generated one sql query which has the following output in general .
Customer name description amount
asrq1 sharekhan Amount payed 10
asrq1 sharekhan Amount Advance 20
asrq1 sharekhan Amount due 30
but i need the output in the following way
Customer name AMount payed Amount Advance Amount Due
asrq1 sharekhan 10 20 30
and iam new this sql query but came to know we can write code ..but iam unable to initiliaze to write
a peace of code as i dont know what are the select-options defined ..i saw in the include but didnt got it
% comes prefix of select-options,and iam unable to get he internal table which is displayed in the query .
can anyone help me in this answers will be awarded points.First, I will suggest to go for ABAP report for this kinda requirement.
If you really want to go for it through SQ01, even then you will have to write some ABAP to display the records in one row. You will need to create three custom fields.
I will give Psudo for one field:
Field Name := ZAmountPayed
Select Amount_Payed into varAmountPayed from Table Where Emp# = '12345'
ZAmountPayed := varAmountPayed
Convert the above into relative ABAP code and create 2 more similar fields, and you should be all set.
You have to know the table names and any other calculations to get the right data. -
How to run ABAP code as a daemon process?
Background:
I need a daemon process to check status and react on it. This daemon may run for a long time.
Current:
to implement this, use an update module, to call a normal module with an endless loop (the loop may end dependent on some condition). While the message Update Terminate was got.
Question:
1. is the current way feasible? if it's OK, what might be the cause of the above problem?
2. if the current way is not OK. what's the way to run ABAP code as a daemon process?
Thanks and kind regards,
Said
p.s.
Also please refer to the link below for more information:
can update module call normal module?You could use InDesign Server, that can be run as a service. Have a look at its documentation for more details.
-Manan -
SQ01 - Join of different tables or ABAP Code in SAP Query
Hello,
I am trying to link some TO tables LTAK and LTAP together with the header table of the production orders AFKO.
It seems that the SQ01 won't let me joint the LT* and the AFKO table.
But I need to read some values from the AFKO table according to the transfer orders apart from the production order number.
Is there a way in QUERY to join this or can I add somewhere in the query a little ABAP code?
My aim is to avoid writing a ABAP report due to various reason.
Any help would be nice.
Cheers
Uwe NeumannHello,
thanx for your answers so far.
I was able to join in the third table.
After a little investigation, I found out that I have to join the table AFPO with the materialnumber instead of AFKO, because the components are in AFPO.
But this is just the one side of the material.
Let's assume the transfer order contains of material A and B and we have production order 111.
If I would let run the query, it would select all material A and B in table AFKO, because I have not said, just look for material A and B for production order 111. As I cannot join the field AFPO-AUFNR with LTAK-BENUM this is missing.
Where can I specify this?
Best regards
Uwe Neumann -
Enhancing 0FI_GL_4 - ABAP code is NOT working - URGENT PLEASE ???
Hi all,
I want to enhance 0FI_GL_4 extractor with CHECT, RWBTR & PRIDT from PAYR table if VBELN of 0FI_GL_4 is not BLANK, with the following conditions:
1.Load all the records of PAYRQ table into PAYRQ internal table LT_PAYRQ
with matching BELNR, AUGBL & BUKRS from I_DTFIGL_4 internal table.
2.Load all the records of PAYR table into PAYR internal table LT_PAYR
with matching AUGBL & BUKRS from LT_PAYRQ internal table.
3.Read PAYR internal table LT_PAYR with matching BELNR (from I_DTFIGL_4
internal table) and fill the new fields CHECT, RWBTR & PRIDT.
The following the is ABAP code, but it is NOT working:
DATA:I_DTFIGL_4 LIKE DTFIGL_4 OCCURS 0 WITH HEADER LINE,
L_TABIX LIKE SY-TABIX.
DATA: BEGIN OF LS_PAYRQ,
ZBUKR LIKE PAYRQ-ZBUKR,
BELNR LIKE PAYRQ-BELNR,
AUGBL LIKE PAYRQ-AUGBL,
END OF LS_PAYRQ.
DATA: LT_PAYRQ LIKE LS_PAYRQ OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF LS_PAYR,
VBLNR LIKE PAYR-VBLNR,
CHECT LIKE PAYR-CHECT,
RWBTR LIKE PAYR-RWBTR,
PRIDT LIKE PAYR-PRIDT,
END OF LS_PAYR.
DATA: LT_PAYR LIKE LS_PAYR OCCURS 0 WITH HEADER LINE.
WHEN '0FI_GL_4'.
I_DTFIGL_4 = C_T_DATA.
SELECT BELNR AUGBL ZBUKR
FROM PAYRQ
INTO CORRESPONDING FIELDS OF TABLE LT_PAYRQ
FOR ALL ENTRIES IN I_DTFIGL_4
WHERE BELNR = I_DTFIGL_4-BELNR
AND AUGBL = I_DTFIGL_4-AUGBL
AND BUKRS = I_DTFIGL_4-BUKRS.
SORT LT_PAYRQ BY BELNR.
SELECT VBLNR CHECT RWBTR PRIDT
FROM PAYR
INTO CORRESPONDING FIELDS OF TABLE LT_PAYR
FOR ALL ENTRIES IN LT_PAYRQ WHERE VBLNR = LT_PAYRQ-AUGBL
AND ZBUKR = LT_PAYRQ-ZBUKR.
SORT LT_PAYR BY VBLNR.
LOOP AT C_T_DATA INTO I_DTFIGL_4.
L_TABIX = SY-TABIX.
IF NOT I_DTFIGL_4-VBELN IS INITIAL. " IF BILLING DOCUMENT EXISTS
READ TABLE LT_PAYR WITH KEY VBLNR = I_DTFIGL_4-BELNR.
IF SY-SUBRC = 0.
MOVE LT_PAYR-CHECT TO I_DTFIGL_4-ZZCHECT.
MOVE LT_PAYR-RWBTR TO I_DTFIGL_4-ZZRWBTR.
MOVE LT_PAYR-PRIDT TO I_DTFIGL_4-ZZPRIDT.
MODIFY C_T_DATA FROM I_DTFIGL_4 INDEX L_TABIX.
ENDIF.
CLEAR:I_DTFIGL_4-ZZCHECT,I_DTFIGL_4-ZZRWBTR,I_DTFIGL_4-ZZPRIDT,
LT_PAYR, LT_PAYRQ.
ENDIF.
ENDLOOP.
Could you please find the problem with above ABAP code and correct it.
Since I want to enhance it, if VBELN is not Blank and do I have to move the IF condition (I_DTFIGL_4-VBELN IS INITIAL) to another location for better performance.
Thanks,
Venkat..Dear Gajesh,
Please accept my thanks for your Spontaneous reply.
Selection Screen data is given below.
1 --> Material Number
2 --> Inspection Lot Number
3 --> Date of Lot Creation
4--> Inspection Type
Normally the clint will give the Inspection Type ie 4th input and Date of Lot creation ie 3rd Input (Range of Date).
Please do the needful.
With Best Regards,
Raghu Sharma
Maybe you are looking for
-
Tcode for Missing number in sap
Hi Gurus, Is there any tcode is available in standard SAP to get skipped or missing numbers. Ex:suppose when creating an invoice, if any update interruption is happened then the system doesnt saves the invoice with that number and that number wi
-
How 2 convert numeric value to character value?
Hi friends, I want to convert numeric value to the character value. Is there any FM available? Points rewared soon. Regards Ronn
-
Can't update from 3.6 - any ideas?
I understand that Firefox 3.6 is no longer supported so I have tried to update to the current 14.0.1 from the Mozilla site. It downloads fine but when I try to install it I get the popup window stating: "not supported on this architecture". I have a
-
Cs5 capture error \src\timecode.cpp-995
I've been seeing this error around for a while with no solutions it seems, I'm hoping I just missed something obvious: Whenever I try to capture footage in any project the capture window freezes and premiere says Premiere Pro debug event Premiere pro
-
Datapump sqlfile option to extract only PK
Is there any way to generate a sqlfile using Datapump that contains only Primary Key (I don't want the Check and Foreign Key constraints) There are lot of Chk and Fk, so editing is not an option I am able to generate the FK script by using " include=