Need help in optimizing the ABAP code
Hi,
Can anyone help me in optimizing the code. Here the select statement has select within the loop. Need help in optimization.
WHEN '0CO_PC_PCP_03'.
LOOP AT C_T_DATA INTO TBL_KKBW_ITEM.
W_TABIX = SY-TABIX.
IF TBL_KKBW_ITEM-CURRENCY_TYPE EQ '20'.
SELECT SINGLE KALNR KALKA KADKY TVERS KADAT KOKRS INTO (W_KALNR, W_KALKA, W_KADKY, W_TVERS,
TBL_KKBW_ITEM-COSTING_DATE,
TBL_KKBW_ITEM-CONTROLLING_AREA)
FROM KEKO
WHERE KLVAR EQ TBL_KKBW_ITEM-COSTING_VARIANT
AND KADKY EQ TBL_KKBW_ITEM-COSTING_DATE
AND TVERS EQ TBL_KKBW_ITEM-COSTING_VERSION
AND MATNR EQ TBL_KKBW_ITEM-HEADER_MATERIAL
AND WERKS EQ TBL_KKBW_ITEM-HEADER_PLANT.
IF SY-SUBRC EQ 0.
SELECT SINGLE KOSTL INTO TBL_KKBW_ITEM-COST_CENTER
FROM CKIS WHERE KOSTL NE SPACE
AND KALNR EQ W_KALNR
AND KALKA EQ W_KALKA
AND KADKY EQ W_KADKY
AND TVERS EQ W_TVERS.
IF SY-SUBRC NE 0.
CLEAR TBL_KKBW_ITEM-COST_CENTER.
ENDIF.
ENDIF.
MODIFY C_T_DATA FROM TBL_KKBW_ITEM INDEX W_TABIX.
ELSE.
DELETE C_T_DATA INDEX W_TABIX.
ENDIF.
ENDLOOP.
Thanks,
Rani.
hi
plz use the below code :
WHEN '0CO_PC_PCP_03'.
SELECT KALNR KALKA KADKY TVERS KADAT KOKRS INTO it_keko "declare internal table with the mentioned fields
" also select the fields to be used in where condition
FROM KEKO
for all entries in c_t_data
WHERE KLVAR EQ c_t_data-COSTING_VARIANT
AND KADKY EQ c_t_data-COSTING_DATE
AND TVERS EQ c_t_data-COSTING_VERSION
AND MATNR EQ c_t_data-HEADER_MATERIAL
AND WERKS EQ c_t_data-HEADER_PLANT.
"sort the tables on the fields used in where.
IF SY-SUBRC EQ 0.
SELECT KOSTL "and other fields to be used in where
INTO it _ckis
FROM CKIS
for all entries in c_t_data
WHERE KOSTL NE SPACE "use c_t_data
AND KALNR EQ W_KALNR
AND KALKA EQ W_KALKA
AND KADKY EQ W_KADKY
AND TVERS EQ W_TVERS.
IF SY-SUBRC NE 0.
CLEAR TBL_KKBW_ITEM-COST_CENTER.
ENDIF.
it_data[] = c_t_data. "declare it_data same as the extract structure
delete it_data where CURRENCY_TYPE NE '20'.
LOOP AT it_data assigning <fs_data>. "use field symbols
read from it_keko into wa_keko
where
KLVAR EQ <fs_data>-COSTING_VARIANT
AND KADKY EQ <fs_data>-COSTING_DATE
AND TVERS EQ <fs_data>-COSTING_VERSION
AND MATNR EQ <fs_data>-HEADER_MATERIAL
AND WERKS EQ<fs_data>-HEADER_PLANT
binary search.
if sy_subrc = 0.
similarly read from the second itab
ENDIF.
ENDLOOP.
c_t_data[] = it_data[].
Pls let me know in case of any issues
Regards,
Aparna
Edited by: Aparna KS on Jun 13, 2010 11:01 PM
Similar Messages
-
I Need Help to Access The Source Code From A Form to Know the Calculation Formula
Hi,
I Need Help to Access The Source Code From A Form to Know the Calculation Formula. The application is a windows form application that is linked to SQL Server 2008. In one of the application forms it generates an invoice and does some calculations. I just
need to know where behind that form is the code that's doing the calculations to generate the invoice, I just need to get into the formula that's doing these calculations.
Thank you so much.Hi,
Thanks for the reply. This is a view and [AmountDue] is supposed to be [CurrentDueAmount] + [PastDueAmount] - [PaidAmount]. The view is not calculating [PaidAmount] right . Below is the complete code of the view. Do you see anything wrong in the code ?
Thanks.
SELECT [isi].[InvoiceID], [ii].[DueDate], [SubInvoiceID] = [isi].[ID], [INV_FacilityID] = [if].[ID], [if].[FacilityID],
[iff].[FacilityFeeID], [LoanID] = NULL, [isi].[PortfolioID], [isi].[Portfolio],
[PaymentType] = [isis_fee].[SectionType], [Name]
= [iff].[Name], [ReceivedAmount], [dates].[CurrentDueAmount],
[PastDueAmount] = CASE WHEN ISNULL([ReceivedAmount],
0) > 0 THEN [pastdue].[PastDueFeeAmount] + ISNULL([ReceivedAmount], 0)
WHEN ISNULL([ReceivedAmount], 0)
< 0 THEN /* We bring past due to zero and
apply reset to current. */ CASE WHEN [pastdue].[PastDueFeeAmount] + ISNULL([ReceivedAmount], 0)
< 0 THEN 0 ELSE [pastdue].[PastDueFeeAmount]
+ ISNULL([ReceivedAmount], 0) END WHEN ISNULL([ReceivedAmount], 0) = 0 AND
[pastdue].[PastDueFeeAmount] < 0 THEN 0 ELSE
[pastdue].[PastDueFeeAmount] END, [PaidAmount] = CASE WHEN ISNULL([ReceivedAmount], 0)
< 0 THEN /* We bring past due to zero and
apply rest to current. */ CASE WHEN [pastdue].[PastDueFeeAmount] + ISNULL([ReceivedAmount], 0)
< 0 THEN - ([pastdue].[PastDueFeeAmount]
+ ISNULL([ReceivedAmount], 0)) ELSE 0 END WHEN ISNULL([ReceivedAmount], 0) = 0 AND
[pastdue].[PastDueFeeAmount] < 0 THEN - [pastdue].[PastDueFeeAmount]
ELSE 0 END, [AmountDue] = [unpaid].[UnpaidFeeAmount], [ID] = [iff].[FacilityFeeID]
FROM [dbo].[INV_SubInvoice] isi JOIN
[dbo].[INV_Invoice] ii ON [isi].[InvoiceID]
= [ii].[ID] JOIN
[dbo].[INV_Facility] [if] ON [isi].[ID] = [if].[SubInvoiceID]
JOIN
[dbo].[INV_FacilityFee] iff ON [if].[ID] = [iff].[INV_FacilityID]
JOIN
(SELECT [sis_fee].[ID],
[sis_fee].[SectionTypeCode], [SectionType] = [st_fee].[Name], [sis_fee].[INV_FacilityFeeID]
FROM
[dbo].[INV_SubInvoiceSection] sis_fee JOIN
[dbo].[INV_SectionType] st_fee ON [sis_fee].[SectionTypeCode] = [st_fee].[Code]
WHERE [INV_FacilityFeeID]
IS NOT NULL AND [StatusCode] = 'BILL') isis_fee ON [iff].[ID] = [isis_fee].[INV_FacilityFeeID] JOIN
(SELECT [iffa].[SectionID],
[AccrualDeterminationDateMax] = MAX([iffa].[AccrualDeterminationDate]),
[AccrualDeterminationDateMin] = MIN([iffa].[AccrualDeterminationDate]), [CurrentDueAmount] = SUM([iffa].[AccruedFeeAmount]),
[ReceivedAmount] = SUM([iffa].[ReceivedFeeAmount])
FROM
[dbo].[INV_FacilityFeeAccrual] iffa
GROUP BY [iffa].[SectionID])
dates ON [isis_fee].[ID] = [dates].[SectionID] LEFT JOIN
(SELECT *
FROM
[dbo].[INV_FacilityFeeAccrual]) unpaid ON [dates].[SectionID] = [unpaid].[SectionID] AND
[dates].[AccrualDeterminationDateMax] = [unpaid].[AccrualDeterminationDate]
LEFT JOIN
(SELECT [SectionID],
[PastDueFeeAmount] = SUM([PastDueFeeAmount])
FROM
[dbo].[INV_FacilityFeeAccrual]
GROUP BY [SectionID]) pastdue
ON [dates].[SectionID] = [pastdue].[SectionID]
UNION
SELECT [isi].[InvoiceID], [ii].[DueDate], [SubInvoiceID] = [isi].[ID], [INV_FacilityID] = [if].[ID], [if].[FacilityID],
[FacilityFeeID] = NULL, [il].[LoanID], [isi].[PortfolioID], [isi].[Portfolio],
[PaymentType] = [isis_loan].[SectionType], [Name]
= [il].[Name], [ReceivedAmount], [CurrentDueAmount], [PastDueAmount] = CASE WHEN ISNULL([ReceivedAmount],
0) > 0 THEN [PastDueAmount] + ISNULL([ReceivedAmount],
0) WHEN ISNULL([ReceivedAmount], 0)
< 0 THEN /* We bring past due to zero and
apply rest to current. */ CASE WHEN [PastDueAmount] + ISNULL([ReceivedAmount], 0)
< 0 THEN 0 ELSE [PastDueAmount] + ISNULL([ReceivedAmount],
0) END WHEN ISNULL([ReceivedAmount], 0) = 0 AND
[PastDueAmount] < 0 THEN 0 ELSE [PastDueAmount]
END,
[PaidAmount] = CASE WHEN [isis_loan].[SectionTypeCode]
= 'LOAN_PRIN' THEN 0 ELSE CASE WHEN ISNULL([ReceivedAmount], 0)
< 0 THEN /* We bring past due to zero and
apply rest to current. */ CASE WHEN [PastDueAmount] + ISNULL([ReceivedAmount], 0)
< 0 THEN - ([PastDueAmount] + ISNULL([ReceivedAmount],
0)) ELSE 0 END WHEN ISNULL([ReceivedAmount], 0) = 0 AND
[PastDueAmount] < 0 THEN - [PastDueAmount]
ELSE 0 END END,
[AmountDue] = CASE WHEN [isis_loan].[SectionTypeCode]
= 'LOAN_PRIN' THEN [CurrentDueAmount] ELSE [unpaid].[AmountDue] END, [ID] = [il].[LoanID]
FROM [dbo].[INV_SubInvoice] isi JOIN
[dbo].[INV_Invoice] ii ON [isi].[InvoiceID]
= [ii].[ID] JOIN
[dbo].[INV_Facility] [if] ON [isi].[ID] = [if].[SubInvoiceID]
JOIN
[dbo].[INV_Loan] il ON [if].[ID] = [il].[INV_FacilityID]
JOIN
(SELECT [sis_loan].[ID],
[sis_loan].[SectionTypeCode], [SectionType] = [st_loan].[Name], [sis_loan].[INV_LoanID]
FROM
[dbo].[INV_SubInvoiceSection] sis_loan JOIN
[dbo].[INV_SectionType] st_loan ON [sis_loan].[SectionTypeCode] = [st_loan].[Code]
WHERE [INV_LoanID]
IS NOT NULL AND [StatusCode] = 'BILL') isis_loan ON [il].[ID] = [isis_loan].[INV_LoanID] JOIN
(SELECT [iffa].[SectionID],
[AccrualDeterminationDateMax] = MAX([iffa].[AccrualDeterminationDate]),
[AccrualDeterminationDateMin] = MIN([iffa].[AccrualDeterminationDate]), [CurrentDueAmount] = SUM([iffa].[ExpectedPrincipalAmount]),
[ReceivedAmount] = SUM([ReceivedPrincipalAmount])
FROM
[dbo].[INV_LoanPrincipalAmortization] iffa
GROUP BY [iffa].[SectionID]
UNION
SELECT [iffa].[SectionID],
[AccrualDeterminationDateMax] = MAX([iffa].[AccrualDeterminationDate]),
[AccrualDeterminationDateMin] = MIN([iffa].[AccrualDeterminationDate]), [CurrentDueAmount] = SUM([iffa].[AccruedInterestAmount]),
[ReceivedAmount] = SUM([ReceivedInterestAmount])
FROM
[dbo].[INV_LoanCashInterestAccrual] iffa
GROUP BY [iffa].[SectionID]
UNION
SELECT [iffa].[SectionID],
[AccrualDeterminationDateMax] = MAX([iffa].[AccrualDeterminationDate]),
[AccrualDeterminationDateMin] = MIN([iffa].[AccrualDeterminationDate]), [CurrentDueAmount] = SUM([iffa].[AccruedInterestAmount]),
[ReceivedAmount] = SUM([ReceivedInterestAmount])
FROM
[dbo].[INV_LoanPIKInterestAccrual] iffa
GROUP BY [iffa].[SectionID])
dates ON [isis_loan].[ID] = [dates].[SectionID] LEFT JOIN
(SELECT [AmountDue]
= [UnpaidPrincipalAmount], [SectionID], [AccrualDeterminationDate]
FROM
[dbo].[INV_LoanPrincipalAmortization]
UNION
SELECT [AmountDue]
= [UnpaidInterestAmount], [SectionID], [AccrualDeterminationDate]
FROM
[dbo].[INV_LoanCashInterestAccrual]
UNION
SELECT [AmountDue]
= [UnpaidInterestAmount], [SectionID], [AccrualDeterminationDate]
FROM
[dbo].[INV_LoanPIKInterestAccrual]) unpaid ON [dates].[SectionID] = [unpaid].[SectionID] AND
[dates].[AccrualDeterminationDateMax] = [unpaid].[AccrualDeterminationDate]
LEFT JOIN
(SELECT [PastDueAmount]
= SUM([PastDuePrincipalAmount]), [SectionID]
FROM
[dbo].[INV_LoanPrincipalAmortization]
GROUP BY [SectionID]
UNION
SELECT [PastDueAmount]
= SUM([PastDueInterestAmount]), [SectionID]
FROM
[dbo].[INV_LoanCashInterestAccrual]
GROUP BY [SectionID]
UNION
SELECT [PastDueAmount]
= SUM([PastDueInterestAmount]), [SectionID]
FROM
[dbo].[INV_LoanPIKInterestAccrual]
GROUP BY [SectionID]) pastdue
ON [dates].[SectionID] = [pastdue].[SectionID]
UNION
SELECT [isi].[InvoiceID], [ii].[DueDate], [SubInvoiceID] = [isi].[ID], [INV_FacilityID] = [if].[ID], [if].[FacilityID],
[FacilityFeeID] = NULL, [il].[LoanID], [isi].[PortfolioID], [isi].[Portfolio],
[PaymentType] = 'PIK Interest Applied', [Name]
= [il].[Name], [ReceivedAmount], [CurrentDueAmount] = - [dates].[CurrentDueAmount],
[PastDueAmount] = - CASE WHEN ISNULL([ReceivedAmount],
0) > 0 THEN [PastDueAmount] + ISNULL([ReceivedAmount], 0) WHEN ISNULL([ReceivedAmount], 0)
< 0 THEN /* We bring past due to zero and
apply rest to current. */ CASE WHEN [PastDueAmount] + ISNULL([ReceivedAmount], 0)
< 0 THEN 0 ELSE [PastDueAmount] + ISNULL([ReceivedAmount],
0) END WHEN ISNULL([ReceivedAmount], 0) = 0 AND
[PastDueAmount] < 0 THEN 0 ELSE [PastDueAmount]
END, [PaidAmount] = - CASE WHEN ISNULL([ReceivedAmount], 0)
< 0 THEN /* We bring past due to zero and
apply rest to current. */ CASE WHEN [PastDueAmount] + ISNULL([ReceivedAmount], 0)
< 0 THEN - ([PastDueAmount] + ISNULL([ReceivedAmount],
0)) ELSE 0 END WHEN ISNULL([ReceivedAmount], 0) = 0 AND
[PastDueAmount] < 0 THEN - [PastDueAmount]
ELSE 0 END, [AmountDue] = - [AmountDue], [ID] = [il].[LoanID]
FROM [dbo].[INV_SubInvoice] isi JOIN
[dbo].[INV_Invoice] ii ON [isi].[InvoiceID]
= [ii].[ID] JOIN
[dbo].[INV_Facility] [if] ON [isi].[ID] = [if].[SubInvoiceID]
JOIN
[dbo].[INV_Loan] il ON [if].[ID] = [il].[INV_FacilityID]
JOIN
(SELECT [sis_loan].[ID],
[sis_loan].[SectionTypeCode], [SectionType] = [st_loan].[Name], [sis_loan].[INV_LoanID]
FROM
[dbo].[INV_SubInvoiceSection] sis_loan JOIN
[dbo].[INV_SectionType] st_loan ON [sis_loan].[SectionTypeCode] = [st_loan].[Code]
WHERE [INV_LoanID]
IS NOT NULL AND [StatusCode] = 'BILL' AND [sis_loan].[SectionTypeCode] = 'LOAN_INT_PIK') isis_loan ON
[il].[ID] = [isis_loan].[INV_LoanID] JOIN
(SELECT [iffa].[SectionID],
[AccrualDeterminationDateMax] = MAX([iffa].[AccrualDeterminationDate]),
[AccrualDeterminationDateMin] = MIN([iffa].[AccrualDeterminationDate]), [CurrentDueAmount] = SUM([iffa].[AccruedInterestAmount]),
[ReceivedAmount] = SUM([ReceivedInterestAmount])
FROM
[dbo].[INV_LoanPIKInterestAccrual] iffa
GROUP BY [iffa].[SectionID])
dates ON [isis_loan].[ID] = [dates].[SectionID] LEFT JOIN
(SELECT [AmountDue]
= [UnpaidInterestAmount], [SectionID], [AccrualDeterminationDate]
FROM
[dbo].[INV_LoanPIKInterestAccrual]) unpaid ON [dates].[SectionID] = [unpaid].[SectionID] AND
[dates].[AccrualDeterminationDateMax] = [unpaid].[AccrualDeterminationDate]
LEFT JOIN
(SELECT [PastDueAmount]
= SUM([PastDueInterestAmount]), [SectionID]
FROM
[dbo].[INV_LoanPIKInterestAccrual]
GROUP BY [SectionID]) pastdue
ON [dates].[SectionID] = [pastdue].[SectionID] -
Need help in optimizing the process
I need help in optimizing my process. Here is what am I doing:
I have two tables table A and table B. table A has list of names and table B has name and ID. Right now I am loading name into cursor from table A and for each name from the cursor I try to match with name in table B to get the ID. This process takes very long to complete. I need help to replace PL/SQL with SQL if possible. I am using oracle utl_match to match the best possible record in table B. table B sometimes returns multiple matching records. I take the top nearest match name and ID for my use (there is not always one to one match)
Any idea or help will be appreciated. Thanksalways provide create table and sample data instert statements when asking a question. also, provide your database version.
because you're using utl_match, you can't really use an index, there must be a cartesian join on the two tables so it may always be slow.
however, here's a sample SQL that you may be able to make use of:
with n as (select 'KATHERINE' person_name from dual
union all
select 'STEVE' from dual
union all
select 'BRUCE' from dual)
,nid as (select 'CATHERINE' person_name, 1 NID FROM DUAL
union all
select 'STEFAN', 2 from dual
UNION ALL
select 'STEVEN', 2 from dual
union all
select 'CATHY',3 from dual)
select n_name, nid
from (
select n.person_name N_NAME
,nid.person_name
,nid.nid
,ROW_NUMBER() OVER (partition by n.person_name ORDER BY utl_match.jaro_winkler_similarity(n.person_name,nid.person_name) DESC) jws_ORDER
from n
join nid on (utl_match.jaro_winkler_similarity(n.person_name,nid.person_name) > 70)
where jws_order = 1; -
Need help in executing the plsql code
hi guys,
below is the structure of the procedure i have created.
CREATE OR REPLACE PROCEDURE sp_R_TrgComparisonReport
DataDate IN DATE DEFAULT NULL,
Business IN OUT VARCHAR2,
Sector IN VARCHAR2 DEFAULT NULL,
SubSector IN VARCHAR2 DEFAULT NULL,
CUSIP IN OUT VARCHAR2,
DEALTICKER IN OUT VARCHAR2,
sFloatInd IN VARCHAR2 DEFAULT NULL,
RCT1 IN OUT GLOBALPKG.RCT1
AS
tmpBusCount INT;
tmpStartCount INT;
tmpEndCount INT;
tmpBusName VARCHAR2(30);
tmpAlterTable VARCHAR2(500);
tmpUpdateStr VARCHAR2(2000);
tmpFinalStr1 VARCHAR2(1000);
tmpFinalStr2 VARCHAR2(1000);
Days INT;
tmpFinalStrCMBS VARCHAR2(2000);
tmpCusip VARCHAR2(100);
tmpColName VARCHAR2(30);
tmpFinalStr4 VARCHAR2(1000);
tmpCMBSTable VARCHAR2(500);
tmpEndCount_CMBS INT;
tmpRating3str VARCHAR2(1000);
Deletestr VARCHAR2(1000);
ipos INT;
CALLINGPROCASSIGNTEMP1 VARCHAR2(31);
strSector VARCHAR2(2000);
CALLINGPROCASSIGNTEMP2 VARCHAR2(29);
strSubSector VARCHAR2(2000);
CALLINGPROCASSIGNTEMP3 VARCHAR2(32);
CALLINGPROCASSIGNTEMP4 VARCHAR2(28);
CALLINGPROCASSIGNTEMP5 VARCHAR2(40);
CALLINGPROCASSIGNTEMP6 VARCHAR2(34);
CALLINGPROCASSIGNTEMP7 VARCHAR2(36);
SCOPE_IDENTITY_VARIABLE INT;
G1_COL1 TMPHOLDINGTRIGGER.DEALTICKER%TYPE;
G1_ROWID ROWID;
G2_COL1 TMPHOLDINGTRIGGER.CURRENT_CE%TYPE;
G2_ROWID ROWID;
G3_COL1 TMPHOLDINGTRIGGER.SP_RATING%TYPE;
G3_ROWID ROWID;
G4_COL1 TMPHOLDINGTRIGGER.MOODY_RATING%TYPE;
G4_ROWID ROWID;
G5_COL1 TMPHOLDINGTRIGGER.FITCH_RATING%TYPE;
G5_ROWID ROWID;
G6_COL1 TMPHOLDINGTRIGGER.DEAL_DESC%TYPE;
G6_ROWID ROWID;
G7_COL1 TMPHOLDINGTRIGGER.CUSIP_COMMENTARY%TYPE;
G7_ROWID ROWID;
G8_COL1 TMPHOLDINGTRIGGER.CUSIP_RANKING_DESC%TYPE;
G8_ROWID ROWID;
G9_COL1 TMPHOLDINGTRIGGER.BB_DEALTICKER%TYPE;
G9_ROWID ROWID;
G10_COL1 TMPHOLDINGTRIGGER.CLASS%TYPE;
G10_ROWID ROWID;
G11_COL1 TMPHOLDINGTRIGGER.RANKING%TYPE;
G11_ROWID ROWID;
CALLINGPROCASSIGNTEMP8 VARCHAR2(34);
CALLINGPROCASSIGNTEMP9 VARCHAR2(39);
CALLINGPROCASSIGNTEMP10 VARCHAR2(43);
G12_COL1 TMPHOLDINGTRIGGER.INTEX_STATUSCODE%TYPE;
G12_ROWID ROWID;
G13_COL1 TMPHOLDINGTRIGGER.USER_STATUSCODE%TYPE;
G13_ROWID ROWID;
G14_COL1 TMPHOLDINGTRIGGER.INTEX_STATUSCODE%TYPE;
G14_COL2 TMPHOLDINGTRIGGER.COMMENT_%TYPE;
G14_ROWID ROWID;
G15_COL1 TMPHOLDINGTRIGGER.INTEX_STATUSCODE%TYPE;
G15_COL2 TMPHOLDINGTRIGGER.COMMENT_%TYPE;
G15_ROWID ROWID;
G16_COL1 TMPHOLDINGTRIGGER.USER_STATUSCODE%TYPE;
G16_COL2 TMPHOLDINGTRIGGER.COMMENT_%TYPE;
G16_ROWID ROWID;
G17_COL1 TMPHOLDINGTRIGGER.USER_STATUSCODE%TYPE;
G17_COL2 TMPHOLDINGTRIGGER.COMMENT_%TYPE;
G17_ROWID ROWID;
G18_COL1 TMPHOLDINGTRIGGER.USER_STATUSCODE%TYPE;
G18_COL2 TMPHOLDINGTRIGGER.COMMENT_%TYPE;
G18_ROWID ROWID;
G19_COL1 TMPHOLDINGTRIGGER.USER_STATUSCODE%TYPE;
G19_COL2 TMPHOLDINGTRIGGER.COMMENT_%TYPE;
G19_ROWID ROWID;
G20_COL1 TMPHOLDINGTRIGGER.USER_STATUSCODE%TYPE;
G20_COL2 TMPHOLDINGTRIGGER.COMMENT_%TYPE;
G20_ROWID ROWID;
G21_COL1 TMPHOLDINGTRIGGER.INTEX_STATUSCODE%TYPE;
G21_COL2 TMPHOLDINGTRIGGER.COMMENT_%TYPE;
G21_ROWID ROWID;
G22_COL1 TMPHOLDINGTRIGGER.USER_STATUSCODE%TYPE;
G22_ROWID ROWID;
the procedure got compiled successfully.
and i am trying to execute this procedure in this way.
1 declare x refcursor;
2 exec sp_R_TrgComparisonReport ('31-DEC-2003','','ABS','ALL','ALL','','ALL');
3* print x
L> /
i am facing errors.
ERROR at line 3:
ORA-06550: line 3, column 7:
PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following:
:= . ( @ % ; not null range default character
basically i am appsdba so dont have much exposure on this
can some one please help me out
thanks in advance.
let me know if you need the complete code
thanks,
Vamshi.Dand i am trying to execute this procedure in this way.
declare x refcursor;
2 exec sp_R_TrgComparisonReport ('31-DEC-2003','','ABS','ALL','ALL','','ALL');
3* print xIn SQL*plus you would run it like this:
SQL> var x refcursor
SQL> exec exec sp_R_TrgComparisonReport ('31-DEC-2003','','ABS','ALL','ALL','','ALL')
SQL> print xOf course that last command is going to hurl an invalid handle exception because you don't appear to have a ref cursor as an argument in your procedure's signature.
Unless that is what is meant by RCT1 IN OUT GLOBALPKG.RCT1. In which case you need to reference your variable there:
SQL> exec exec sp_R_TrgComparisonReport ('31-DEC-2003','','ABS','ALL','ALL','',:x) If that last argument is not the ref cursor then your call is going to fail because we can't use literals as OUT parameters.
Cheers, APC
Blog : http://radiofreetooting.blogspot.com/ -
Need help in modifing the following code to display required output
Hi this is the code which i am going to displayoutput here i used FM VRM_SET_VALUES for getting dropdown box when i used it my output race field is not getting any values and blank space is getting displayed
what i want is just i need to display the output according to the selection screen
and the other fields in the selection screen except 'p_gender' are also giving problem when i am keeping where condition to link selection screen
can any one please help me in getting the required output according to selection by modifing the following code
TABLES: pernr,t5u13,cskt , t001p,t500p, t501t,t503t,t513s,t527x,t529t,t530t, t5uaa.
TYPE-POOLS: slis, vrm.
INFOTYPES: 0000, "Actions
0001, "Org Assignment
0002, "Personal Data
0006, "Address
0008, "Basic Pay
0041, "Date Specifications
0077. "Additional Personal Data
CONSTANTS: gc_x TYPE c VALUE 'X',
g_w(1) TYPE c VALUE 'W',
g_h(1) TYPE c VALUE 'H',
g_af(2) TYPE c VALUE 'AF',
g_ai(2) TYPE c VALUE 'AI',
g_01(2) TYPE c VALUE 'R1',
g_02(2) TYPE c VALUE 'R2',
g_03(2) TYPE c VALUE 'R3',
g_05(2) TYPE c VALUE 'R5'.
TYPES : BEGIN OF t_roster,
pernr TYPE p0001-pernr,
ssn TYPE p0002-perid,
first_name TYPE p0002-vorna,
last_name TYPE p0002-nachn,
city TYPE t500p-ort01,
state TYPE t500p-regio,
zipcode TYPE t500p-pstlz,
hire_date(10) TYPE c,
lhire_date(10) TYPE c,
serv_date(10) TYPE c,
eg TYPE p0001-persg,
eg_desc TYPE t501t-ptext,
esg TYPE p0001-persk,
esg_desc TYPE t503t-ptext,
race TYPE p0077-rac01,
*** TYPE p0002-gesch,
job_grade TYPE p0008-trfgr,
job_level TYPE p0008-trfst,
grade_entry_date(10) TYPE c,
job_title TYPE p0001-plans,
title(30) TYPE c,
job_code TYPE p0001-stell,
job_code_desc TYPE t513s-stltx,
job_entry_date(10) TYPE c,
annual_sal TYPE p0008-ansal,
hrly_rate TYPE p0008-bet01,
org_unit TYPE p0001-orgeh,
orgtx(40) TYPE c,
cost_cntr TYPE p0001-kostl,
ltext(40) TYPE c,
personal_area TYPE p0001-werks,
personal_area_desc TYPE t500p-name1,
supervisor(30) TYPE c,
flsa TYPE t5u13-exmpt,
ee01 TYPE t5u13-eeoct,
job_grp TYPE p0001-stell,
aap_code TYPE t5u13-aapct,
aap_code_desc TYPE t5uaa-ltext,
dob TYPE p0002-gbdat,
psa TYPE p0001-btrtl,
psa_desc TYPE t001p-btext,
unionl TYPE p0001-btrtl,
unionc TYPE p0001-btrtl,
END OF t_roster.
DATA : gi_roster TYPE STANDARD TABLE OF t_roster, gi_objec TYPE STANDARD TABLE OF objec,
gi_hrp1000 TYPE STANDARD TABLE OF hrp1000,
gi_cskt TYPE STANDARD TABLE OF cskt,
gi_t001p TYPE STANDARD TABLE OF t001p,
gi_t500p TYPE STANDARD TABLE OF t500p,
gi_t501t TYPE STANDARD TABLE OF t501t,
gi_t503t TYPE STANDARD TABLE OF t503t,
gi_t513s TYPE STANDARD TABLE OF t513s,
gi_t527x TYPE STANDARD TABLE OF t527x,
gi_t529t TYPE STANDARD TABLE OF t529t,
gi_t530t TYPE STANDARD TABLE OF t530t,
gi_t5u13 TYPE STANDARD TABLE OF t5u13,
gi_t5uaa TYPE STANDARD TABLE OF t5uaa.
DATA : gs_roster TYPE t_roster,
gs_objec TYPE objec,
gs_hrp1000 TYPE hrp1000,
gs_cskt TYPE cskt,
gs_t001p TYPE t001p,
gs_t500p TYPE t500p,
gs_t501t TYPE t501t,
gs_t503t TYPE t503t,
gs_t513s TYPE t513s,
gs_t527x TYPE t527x,
gs_t529t TYPE t529t,
gs_t530t TYPE t530t,
gs_t5u13 TYPE t5u13,
gs_t5uaa TYPE t5uaa.
DATA : gv_ltext(40) TYPE c,
gv_ltext1(40) TYPE c,
gv_age(3) TYPE c,
gv_butxt(40) TYPE c,
gv_eeoc(10) TYPE c,
gv_prevdate TYPE datum.
DATA: gi_fieldcat TYPE slis_t_fieldcat_alv,
gs_fieldcat TYPE slis_fieldcat_alv,
i_top_of_page TYPE slis_t_listheader,
g_repid TYPE sy-repid,
g_save,
gs_layout TYPE slis_layout_alv,
gt_events TYPE slis_t_event,
gs_variant LIKE disvariant,
gi_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.
DATA: name TYPE vrm_id,
list TYPE vrm_values,
value LIKE LINE OF list.
SELECTION-SCREEN BEGIN OF BLOCK b1
WITH FRAME TITLE text-x02.
PARAMETERS : p_race(10) AS LISTBOX VISIBLE LENGTH 30,
p_gender TYPE p0002-gesch,
p_eeoc TYPE t5u13-eeoct,
p_aap TYPE t5u13-aapct.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN OUTPUT.
REFRESH list.
name = 'P_RACE'.
value-key = 'R1'.
value-text = 'American Indian or Alaskan Native'.
APPEND value TO list.
CLEAR value.
value-key = 'R2'.
value-text = 'Asian'.
APPEND value TO list.
CLEAR value.
value-key = 'R3'.
value-text = 'Black or African American'.
APPEND value TO list.
CLEAR value.
value-key = 'R5'.
value-text = 'White'.
APPEND value TO list.
CLEAR value.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = name
values = list
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
INITIALIZATION.
g_repid = sy-repid.
PERFORM layout_init USING gs_layout.
PERFORM eventtab_build USING gt_events[].
gs_variant-report = g_repid.
g_save = 'A'.
START-OF-SELECTION.
GET pernr.
PERFORM roster_aap.
END-OF-SELECTION.
PERFORM fetch_roster_text.
PERFORM output_roster_display.
*& Form ROSTER_AAP
text
--> p1 text
<-- p2 text
FORM roster_aap .
PERFORM infty_rost_0001.
PERFORM infty_rost_0002.
PERFORM infty_rost_0008.
PERFORM infty_rost_0041.
PERFORM infty_rost_0077.
PERFORM supervisor_rost.
PERFORM append_rost_recs.
ENDFORM. " ROSTER_AAP
*& Form INFTY_ROST_0001
text
FORM infty_rost_0001 .
rp_provide_from_last p0001 space
pn-begda pn-endda.
IF pnp-sw-found = 1.
gs_roster-pernr = p0001-pernr.
gs_roster-eg = p0001-persg.
READ TABLE gi_t501t INTO gs_t501t WITH KEY persg = p0001-persg.
IF sy-subrc <> 0.
APPEND gs_t501t TO gi_t501t.
CLEAR gs_t501t.
ENDIF.
gs_roster-esg = p0001-persk.
READ TABLE gi_t503t INTO gs_t503t WITH KEY persk = p0001-persk.
IF sy-subrc <> 0.
APPEND gs_t503t TO gi_t503t.
CLEAR gs_t503t.
ENDIF.
gs_roster-job_title = p0001-plans.
READ TABLE gi_hrp1000 INTO gs_hrp1000 WITH KEY objid = p0001-plans.
IF sy-subrc <> 0.
APPEND gs_hrp1000 TO gi_hrp1000.
CLEAR gs_hrp1000.
ENDIF.
gs_roster-job_code = p0001-stell.
READ TABLE gi_t513s INTO gs_t513s WITH KEY stell = p0001-stell.
IF sy-subrc <> 0.
APPEND gs_t513s TO gi_t513s.
CLEAR gs_t513s.
ENDIF.
gs_roster-org_unit = p0001-orgeh.
READ TABLE gi_t527x INTO gs_t527x WITH KEY orgeh = p0001-orgeh.
IF sy-subrc <> 0.
APPEND gs_t527x TO gi_t527x.
CLEAR gs_t527x.
ENDIF.
gs_roster-cost_cntr = p0001-kostl.
READ TABLE gi_cskt INTO gs_cskt WITH KEY kostl = p0001-kostl.
IF sy-subrc <> 0.
APPEND gs_cskt TO gi_cskt.
CLEAR gs_cskt.
ENDIF.
gs_roster-personal_area = p0001-werks.
READ TABLE gi_t500p INTO gs_t500p WITH KEY persa = p0001-werks.
IF sy-subrc <> 0.
APPEND gs_t500p TO gi_t500p.
CLEAR gs_t500p.
ENDIF.
gs_roster-job_grp = p0001-stell.
READ TABLE gi_t5u13 INTO gs_t5u13 WITH KEY stell = p0001-stell.
IF sy-subrc <> 0.
APPEND gs_t5u13 TO gi_t5u13.
CLEAR gs_t5u13.
ENDIF.
READ TABLE gi_t5uaa INTO gs_t5uaa WITH KEY aapct = gs_roster-aap_code.
IF sy-subrc <> 0.
APPEND gs_t5uaa TO gi_t5uaa.
CLEAR gs_t5uaa.
ENDIF.
gs_roster-psa = p0001-btrtl.
READ TABLE gi_t001p INTO gs_t001p WITH KEY btrtl = p0001-btrtl.
IF sy-subrc <> 0.
APPEND gs_t001p TO gi_t001p.
CLEAR gs_t001p.
ENDIF.
gs_roster-unionl = p0001-btrtl.
gs_roster-unionc = p0001-btrtl.
ENDIF.
ENDFORM. " INFTY_ROST_0001
*& Form INFTY_ROST_0002
text
FORM infty_rost_0002 .
rp_provide_from_last p0002 space
pn-begda pn-endda.
IF pnp-sw-found = 1.
IF p_gender IS NOT INITIAL AND p_gender NE p0002-gesch.
REJECT.
ENDIF.
gs_roster-ssn = p0002-perid.
gs_roster-first_name = p0002-vorna.
gs_roster-last_name = p0002-nachn.
gs_roster-*** = p0002-gesch.
gs_roster-dob = p0002-gbdat.
ENDIF.
ENDFORM. " INFTY_ROST_0002
*& Form INFTY_ROST_0008
text
FORM infty_rost_0008 .
DATA: lv_wage TYPE lgart,
lv_amount TYPE pad_amt7s.
rp_provide_from_last p0008 space
pn-begda pn-endda.
IF pnp-sw-found = 1.
gs_roster-annual_sal = p0008-ansal.
DO 40 TIMES VARYING lv_wage FROM p0008-lga01
NEXT p0008-lga02
VARYING lv_amount FROM p0008-bet01
NEXT p0008-bet02.
IF lv_wage = '0101'.
gs_roster-hrly_rate = lv_amount.
EXIT.
ENDIF.
ENDDO.
gs_roster-job_grade = p0008-trfgr.
gs_roster-job_level = p0008-trfst.
ENDIF.
ENDFORM. " INFTY_ROST_0008
*& Form INFTY_ROST_0041
text
FORM infty_rost_0041 .
DATA : l_date TYPE datum,
l_hdate TYPE datum,
l_sdate TYPE datum.
rp_provide_from_last p0041 space
pn-begda pn-endda.
IF pnp-sw-found = 1.
CLEAR : l_date,
l_hdate,
l_sdate.
*--Last Hire Date--
CALL FUNCTION 'HR_DATESPECIFICATION_DATE_GET'
EXPORTING
p0041 = p0041
p_datar = 'U1'
P_DATKN =
IMPORTING
p_date = l_date
EXCEPTIONS
illegal_arguments = 1
more_than_one_date = 2
OTHERS = 3
IF sy-subrc <> 0.
ENDIF.
IF NOT l_date IS INITIAL.
CONCATENATE
l_date4(2) l_date6(2) l_date+0(4)
INTO gs_roster-hire_date
SEPARATED BY '/'.
ENDIF.
ENDIF.
*--Last Hire Date--
CALL FUNCTION 'HR_DATESPECIFICATION_DATE_GET'
EXPORTING
p0041 = p0041
p_datar = 'U2'
P_DATKN =
IMPORTING
p_date = l_hdate
EXCEPTIONS
illegal_arguments = 1
more_than_one_date = 2
OTHERS = 3
IF sy-subrc <> 0.
ENDIF.
IF NOT l_hdate IS INITIAL.
CONCATENATE
l_hdate4(2) l_hdate6(2) l_hdate+0(4)
INTO gs_roster-lhire_date
SEPARATED BY '/'.
ENDIF.
*--Service Date--
CALL FUNCTION 'HR_DATESPECIFICATION_DATE_GET'
EXPORTING
p0041 = p0041
p_datar = 'U4'
P_DATKN =
IMPORTING
p_date = l_sdate
EXCEPTIONS
illegal_arguments = 1
more_than_one_date = 2
OTHERS = 3
IF sy-subrc <> 0.
ENDIF.
IF NOT l_sdate IS INITIAL.
CONCATENATE
l_sdate4(2) l_sdate6(2) l_sdate+0(4)
INTO gs_roster-serv_date
SEPARATED BY '/'.
ENDIF.
ENDFORM. " INFTY_ROST_0041
*& Form INFTY_ROST_0077
text
FORM infty_rost_0077 .
DATA: lv_race TYPE races.
rp_provide_from_last p0077 space
pn-begda pn-endda.
IF pnp-sw-found = 1.
IF NOT p_race IS INITIAL AND p_race NE lv_race.
REJECT.
ENDIF.
DO 10 TIMES VARYING lv_race FROM p0077-rac01
NEXT p0077-rac02.
IF lv_race NE space.
IF lv_race EQ g_01.
gs_roster-race = g_ai.
ELSEIF lv_race EQ g_02.
gs_roster-race = g_h.
ELSEIF lv_race EQ g_03.
gs_roster-race = g_af.
ELSEIF lv_race EQ g_05.
gs_roster-race = g_w.
ENDIF.
ENDIF.
ENDDO.
ENDIF.
ENDFORM. " INFTY_ROST_0077
*& Form SUPERVISOR_ROST
text
FORM supervisor_rost .
REFRESH gi_objec.
IF NOT p0001-orgeh IS INITIAL.
CALL FUNCTION 'HRCM_ORGUNIT_MANAGER_GET'
EXPORTING
plvar = '01'
otype = 'O'
objid = p0001-orgeh
begda = pn-begda
endda = pn-endda
PATH_ID = ' '
TABLES
manager_info_table = gi_objec
EXCEPTIONS
path_error = 1
root_error = 2
nothing_found = 3
OTHERS = 4
IF sy-subrc <> 0.
ENDIF.
SORT gi_objec DESCENDING BY endda.
READ TABLE gi_objec INTO gs_objec INDEX 1.
IF sy-subrc = 0.
gs_roster-supervisor = gs_objec-stext.
CLEAR gs_objec.
ENDIF.
ENDIF.
ENDFORM. " SUPERVISOR_ROST
*& Form APPEND_ROST_RECS
text
FORM append_rost_recs .
IF NOT gs_roster-pernr IS INITIAL.
APPEND gs_roster TO gi_roster.
CLEAR gs_roster.
ENDIF.
ENDFORM. " APPEND_ROST_RECS
*& Form FETCH_ROSTER_TEXT
text
FORM fetch_roster_text .
IF p_eeoc IS NOT INITIAL AND p_eeoc NE t5u13-eeoct.
REJECT.
ENDIF.
IF NOT gi_roster IS INITIAL.
SELECT orgeh orgtx FROM t527x
INTO CORRESPONDING FIELDS OF TABLE gi_t527x
WHERE sprsl = sy-langu AND
endda = '99991231'.
SELECT persa ort01 regio pstlz name1
FROM t500p
INTO CORRESPONDING FIELDS OF TABLE gi_t500p.
SELECT persg ptext
FROM t501t
INTO CORRESPONDING FIELDS OF TABLE gi_t501t
WHERE sprsl = sy-langu.
SELECT persk ptext
FROM t503t
INTO CORRESPONDING FIELDS OF TABLE gi_t503t
WHERE sprsl = sy-langu.
SELECT stell stltx FROM t513s
INTO CORRESPONDING FIELDS OF TABLE gi_t513s
WHERE sprsl = sy-langu AND
endda = '99991231'.
SELECT otype plvar objid stext
FROM hrp1000 INTO
CORRESPONDING FIELDS OF TABLE gi_hrp1000
for all entries in gi_roster
WHERE plvar = '01'
AND otype = 'S'.
and objid = gi_roster-job_title.
SELECT stell eeoct exmpt aapct
FROM t5u13
INTO CORRESPONDING FIELDS OF TABLE gi_t5u13.
for all entries in gi_t5u13
WHERE stell = gi_t5u13-stell
AND eeoct = p_eeoc
AND aapct = p_aap.
SELECT aapct eeoct ltext
FROM t5uaa
INTO CORRESPONDING FIELDS OF TABLE gi_t5uaa.
FOR ALL ENTRIES IN gi_roster
WHERE aapct = gi_roster-aap_code
and eeoct = gi_roster-ee01.
SELECT kostl ltext
FROM cskt
INTO CORRESPONDING FIELDS OF TABLE gi_cskt
FOR ALL ENTRIES IN gi_roster
WHERE kostl = gi_roster-cost_cntr
WHERE spras = sy-langu.
SELECT btrtl btext
FROM t001p
INTO CORRESPONDING FIELDS OF TABLE gi_t001p.
FOR ALL ENTRIES IN gi_roster
WHERE btrtl = gi_roster-psa.
ENDIF.
LOOP AT gi_roster INTO gs_roster.
CLEAR :gs_hrp1000,gs_t5u13,gs_t500p,gs_t501t,gs_t503t,gs_t5uaa,gs_cskt,gs_t001p,gs_t513s, gs_t527x,gs_t529t,gs_t530t.
READ TABLE gi_t501t INTO gs_t501t WITH KEY persg = gs_roster-eg.
IF sy-subrc = 0.
gs_roster-eg_desc = gs_t501t-ptext.
ENDIF.
READ TABLE gi_t503t INTO gs_t503t WITH KEY persk = gs_roster-esg.
IF sy-subrc = 0.
gs_roster-esg_desc = gs_t503t-ptext.
ENDIF.
READ TABLE gi_t513s INTO gs_t513s
WITH KEY stell = gs_roster-job_code.
IF sy-subrc = 0.
gs_roster-job_code_desc = gs_t513s-stltx.
ENDIF.
READ TABLE gi_t527x INTO gs_t527x
WITH KEY orgeh = gs_roster-org_unit.
IF sy-subrc = 0.
gs_roster-orgtx = gs_t527x-orgtx.
ENDIF.
READ TABLE gi_hrp1000 INTO gs_hrp1000 WITH KEY objid = gs_roster-job_title.
IF sy-subrc = 0.
gs_roster-title = gs_hrp1000-stext.
ENDIF.
READ TABLE gi_cskt INTO gs_cskt
WITH KEY kostl = gs_roster-cost_cntr.
IF sy-subrc = 0.
gs_roster-ltext = gs_cskt-ltext.
ENDIF.
READ TABLE gi_t5u13 INTO gs_t5u13 WITH KEY stell = gs_roster-job_code.
IF sy-subrc = 0.
gs_roster-ee01 = gs_t5u13-eeoct.
gs_roster-flsa = gs_t5u13-exmpt.
gs_roster-aap_code = gs_t5u13-aapct.
ENDIF.
READ TABLE gi_t500p INTO gs_t500p WITH KEY persa = gs_roster-personal_area.
IF sy-subrc = 0.
gs_roster-city = gs_t500p-ort01.
gs_roster-state = gs_t500p-regio.
gs_roster-zipcode = gs_t500p-pstlz.
gs_roster-personal_area_desc = gs_t500p-name1.
ENDIF.
READ TABLE gi_t001p INTO gs_t001p WITH KEY btrtl = gs_roster-psa.
IF sy-subrc = 0.
gs_roster-psa_desc = gs_t001p-btext.
ENDIF.
READ TABLE gi_t5uaa INTO gs_t5uaa WITH KEY aapct = gs_roster-aap_code eeoct = gs_roster-ee01.
IF sy-subrc = 0.
gs_roster-aap_code_desc = gs_t5uaa-ltext.
ENDIF.
MODIFY gi_roster FROM gs_roster .
ENDLOOP.
ENDFORM. " FETCH_ROSTER_TEXT
*& Form OUTPUT_ROSTER_DISPLAY
text
FORM output_roster_display .
PERFORM build_roster_fieldcatalog.
PERFORM comment_roster_build CHANGING i_top_of_page[].
PERFORM display_roster_alv_report.
ENDFORM. " OUTPUT_ROSTER_DISPLAY
*& Form LAYOUT_INIT
text
FORM layout_init USING rs_layout TYPE slis_layout_alv.
rs_layout-detail_popup = 'X'.
rs_layout-zebra = 'X'.
rs_layout-colwidth_optimize = 'X'.
ENDFORM. " LAYOUT_INIT
*& Form EVENTTAB_BUILD
text
FORM eventtab_build USING rt_events TYPE slis_t_event.
*"Registration of events to happen during list display
DATA: ls_event TYPE slis_alv_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = rt_events.
READ TABLE rt_events WITH KEY name = slis_ev_top_of_page
INTO ls_event.
IF sy-subrc = 0.
MOVE gi_top_of_page TO ls_event-form.
APPEND ls_event TO rt_events.
ENDIF.
ENDFORM. " EVENTTAB_BUILD
*& Form top_of_page
text
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = i_top_of_page.
ENDFORM. "TOP_OF_PAGE
*& Form BUILD_ROSTER_FIELDCATALOG
text
FORM build_roster_fieldcatalog .
gs_fieldcat-fieldname = 'PERNR'.
gs_fieldcat-seltext_m = 'Employee Number'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'SSN'.
gs_fieldcat-seltext_m = 'SSN Number'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'FIRST_NAME'.
gs_fieldcat-seltext_m = 'First Name'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'LAST_NAME'.
gs_fieldcat-seltext_m = 'Last Name'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'CITY'.
gs_fieldcat-seltext_m = 'City'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'STATE'.
gs_fieldcat-seltext_m = 'State'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'ZIPCODE'.
gs_fieldcat-seltext_m = 'Zip Code'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'HIRE_DATE'.
gs_fieldcat-seltext_m = 'Hire Date'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'LHIRE_DATE'.
gs_fieldcat-seltext_m = 'Last Hire Date'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'SERV_DATE'.
gs_fieldcat-seltext_m = 'Service Date'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'EG'.
gs_fieldcat-seltext_m = 'Eg'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'EG_DESC'.
gs_fieldcat-seltext_m = 'Eg Description'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'ESG'.
gs_fieldcat-seltext_m = 'Esg'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'ESG_DESC'.
gs_fieldcat-seltext_m = 'Eg Description'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'RACE'.
gs_fieldcat-seltext_m = 'Race'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = '***'.
gs_fieldcat-seltext_m = '***'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'JOB_GRADE'.
gs_fieldcat-seltext_m = 'Job Grade'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'JOB_LEVEL'.
gs_fieldcat-seltext_m = 'Job Level'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'GRADE_ENTRY_DATE'.
gs_fieldcat-seltext_l = 'Grade Entry Date'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'JOB_TITLE'.
gs_fieldcat-seltext_l = 'Job Title'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat..
gs_fieldcat-fieldname = 'TITLE'.
gs_fieldcat-seltext_l = 'Job Title Description'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'JOB_CODE'.
gs_fieldcat-seltext_l = 'Job Code'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'JOB_CODE_DESC'.
gs_fieldcat-seltext_l = 'Job Code Description'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'JOB_ENTRY_DATE'.
gs_fieldcat-seltext_l = 'Job Entry Date'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'ANNUAL_SAL'.
gs_fieldcat-seltext_l = 'Annual Salary'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'HRLY_RATE'.
gs_fieldcat-seltext_l = 'Hourly Rate'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'ORG_UNIT'.
gs_fieldcat-seltext_l = 'Org Unit'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'ORGTX'.
gs_fieldcat-seltext_l = 'Org Text'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'COST_CNTR'.
gs_fieldcat-seltext_l = 'Cost Center'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'LTEXT'.
gs_fieldcat-seltext_l = 'Cost Center Description'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'PERSONAL_AREA'.
gs_fieldcat-seltext_l = 'Personal Area'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'PERSONAL_AREA_DESC'.
gs_fieldcat-seltext_l = 'Personal Area Description'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'SUPERVISOR'.
gs_fieldcat-seltext_l = 'Supervisor'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'FLSA'.
gs_fieldcat-seltext_l = 'FLSA'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'EE01'.
gs_fieldcat-seltext_l = 'EE01'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'JOB_GRP'.
gs_fieldcat-seltext_l = 'Job Group'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'AAP_CODE'.
gs_fieldcat-seltext_l = 'AAP Code'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'AAP_CODE_DESC'.
gs_fieldcat-seltext_l = 'AAP Code Description'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'DOB'.
gs_fieldcat-seltext_l = 'Date of Birth'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'PSA'.
gs_fieldcat-seltext_l = 'Personal Sub Area'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'PSA_DESC'.
gs_fieldcat-seltext_l = 'Personal Sub Area Description'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'UNIONL'.
gs_fieldcat-seltext_l = 'Union Local'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'UNIONC'.
gs_fieldcat-seltext_l = 'Union Classfication'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
ENDFORM. " BUILD_ROSTER_FIELDCATALOG
*& Form COMMENT_ROSTER_BUILD
text
FORM comment_roster_build CHANGING top_of_page TYPE
slis_t_listheader.
DATA: ls_line TYPE slis_listheader,
l_startdate(10) TYPE c,
l_enddate(10) TYPE c,
l_final_start(22) TYPE c,
l_final_end(22) TYPE c.
CONCATENATE pn-begda4(2)'/'pn-begda6(2)'/'pn-begda+0(4)
INTO l_startdate.
CONCATENATE pn-endda4(2)'/'pn-endda6(2)'/'pn-endda+0(4)
INTO l_enddate.
CONCATENATE 'Start Date:' l_startdate INTO l_final_start.
CONCATENATE 'End Date :' l_enddate INTO l_final_end.
CLEAR ls_line.
ls_line-typ = 'H'.
ls_line-info = 'AAP-EEOC Roster Report Data '. "Max len = 60
APPEND ls_line TO i_top_of_page.
CLEAR ls_line.
ls_line-typ = 'S'.
ls_line-info = l_final_start.
APPEND ls_line TO i_top_of_page.
CLEAR ls_line.
ls_line-typ = 'S'.
ls_line-info = l_final_end.
APPEND ls_line TO i_top_of_page.
CLEAR ls_line.
ENDFORM. " COMMENT_ROSTER_BUILD
*& Form DISPLAY_ROSTER_ALV_REPORT
text
FORM display_roster_alv_report .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_repid
is_layout = gs_layout
it_fieldcat = gi_fieldcat
i_save = g_save
is_variant = gs_variant
it_events = gt_events[]
TABLES
t_outtab = gi_roster
EXCEPTIONS
program_error = 1
OTHERS = 2
IF sy-subrc <> 0.
ENDIF.
ENDFORM. " DISPLAY_ROSTER_ALV_REPORT
Regards
sachinhi there,
i want to fetch data from all the fields i ahve given here .It will be a join statement.
the important thing is I need all the values of vbeln in leftside
as output. -
Need help on Analysing the oracle code.
Hi,
Here i try to frame question, pls understand and give the best way to solve this.
We have running 20 to 30 unix scripts on daily basis. Each script has connected to oracle session and execute the corresponding packages & procedures. Some scripts are running at the same time. At this time oracle code in the script is not executed due to the table locking in other script. We have oracle trace files whenever the oracle code is not executed it shows the error and terminates the oracle session.
Examples:
Below the sample oracle execution log file. where we get the error and terminate the oracle session for your reference.
==================================================================================
SQL*Plus: Release 11.2.0.1.0 Production on Mon Dec 10 06:18:45 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SQL> SQL>
Session altered.
SQL> 2 3 4 5 6 7 8 9 begin
ERROR at line 1:
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
ORA-06512: at "SIEB7P04.P_ARCHIVE_TBL", line 42
ORA-06512: at line 4
SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
goin into RunProcedures Function
0
SQL*Plus: Release 11.2.0.1.0 Production on Mon Dec 10 06:19:19 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SQL> SQL>
Session altered.
SQL> 2 3 4 5 6
PL/SQL procedure successfully completed.
SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
goin into Check error report Function
Pkg_Tfm_If_Merge OK
==========================================================================
When you observe the above code, in unix script we try to connect to the oracle instance 2 times,
1st instance it was terminated with some error.
2nd instance it was successfully executed the oracle code.
By analysing the above log we found where the error was occured and the reson behind this also we know.
Assume the script called the procedure 'P_ARCHIVE_TBL' 5 times and the procedure works on different parameter(we could say different table) each time it was called.
Is it possible for us to know in which procedure call, it is errored out.
For any information pls revert us or ping me to this mail [email protected],
Regards,
Mani.Hi,
You would need to have an exception block in your pl/sql code. You should also save table name in a variable when this procedure is called for every table. You should return/print the error code from exception block alongwith the table name and then you will be able to know that during which call of this procedure, the error was returned.
Salman -
Need help in optimizing the query with joins and group by clause
I am having problem in executing the query below.. it is taking lot of time. To simplify, I have added the two tables FILE_STATUS = stores the file load details and COMM table that is actual business commission table showing records successfully processed and which records were transmitted to other system. Records with status = T is trasnmitted to other system and traansactions with P is pending.
CREATE TABLE FILE_STATUS
(FILE_ID VARCHAR2(14),
FILE_NAME VARCHAR2(20),
CARR_CD VARCHAR2(5),
TOT_REC NUMBER,
TOT_SUCC NUMBER);
CREATE TABLE COMM
(SRC_FILE_ID VARCHAR2(14),
REC_ID NUMBER,
STATUS CHAR(1));
INSERT INTO FILE_STATUS VALUES ('12345678', 'CM_LIBM.TXT', 'LIBM', 5, 4);
INSERT INTO FILE_STATUS VALUES ('12345679', 'CM_HIPNT.TXT', 'HIPNT', 4, 0);
INSERT INTO COMM VALUES ('12345678', 1, 'T');
INSERT INTO COMM VALUES ('12345678', 3, 'T');
INSERT INTO COMM VALUES ('12345678', 4, 'P');
INSERT INTO COMM VALUES ('12345678', 5, 'P');
COMMIT;Here is the query that I wrote to give me the details of the file that has been loaded into the system. It reads the file status and commission table to show file name, total records loaded, total records successfully loaded to the commission table and number of records that has been finally transmitted (status=T) to other systems.
SELECT
FS.CARR_CD
,FS.FILE_NAME
,FS.FILE_ID
,FS.TOT_REC
,FS.TOT_SUCC
,NVL(C.TOT_TRANS, 0) TOT_TRANS
FROM FILE_STATUS FS
LEFT JOIN
SELECT SRC_FILE_ID, COUNT(*) TOT_TRANS
FROM COMM
WHERE STATUS = 'T'
GROUP BY SRC_FILE_ID
) C ON C.SRC_FILE_ID = FS.FILE_ID
WHERE FILE_ID = '12345678';In production this query has more joins and is taking lot of time to process.. the main culprit for me is the join on COMM table to get the count of number of transactions transmitted. Please can you give me tips to optimize this query to get results faster? Do I need to remove group and use partition or something else. Please help!I get 2 rows if I use my query with your new criteria. Did you commit the record if you are using a second connection to query? Did you remove the criteria for file_id?
select carr_cd, file_name, file_id, tot_rec, tot_succ, tot_trans
from (select fs.carr_cd,
fs.file_name,
fs.file_id,
fs.tot_rec,
fs.tot_succ,
count(case
when c.status = 'T' then
1
else
null
end) over(partition by c.src_file_id) tot_trans,
row_number() over(partition by c.src_file_id order by null) rn
from file_status fs
left join comm c
on c.src_file_id = fs.file_id
where carr_cd = 'LIBM')
where rn = 1;
CARR_CD FILE_NAME FILE_ID TOT_REC TOT_SUCC TOT_TRANS
LIBM CM_LIBM.TXT 12345678 5 4 2
LIBM CM_LIBM.TXT 12345677 10 0 0Using RANK can potentially produce multiple rows to be returned though your data may prevent this. ROW_NUMBER will always prevent duplicates. The ordering of the analytical function is irrelevant in your query if you use ROW_NUMBER. You can remove the outermost query and inspect the data returned by the inner query;
select fs.carr_cd,
fs.file_name,
fs.file_id,
fs.tot_rec,
fs.tot_succ,
count(case
when c.status = 'T' then
1
else
null
end) over(partition by c.src_file_id) tot_trans,
row_number() over(partition by c.src_file_id order by null) rn
from file_status fs
left join comm c
on c.src_file_id = fs.file_id
where carr_cd = 'LIBM';
CARR_CD FILE_NAME FILE_ID TOT_REC TOT_SUCC TOT_TRANS RN
LIBM CM_LIBM.TXT 12345678 5 4 2 1
LIBM CM_LIBM.TXT 12345678 5 4 2 2
LIBM CM_LIBM.TXT 12345678 5 4 2 3
LIBM CM_LIBM.TXT 12345678 5 4 2 4
LIBM CM_LIBM.TXT 12345677 10 0 0 1 -
I need help in making the programe which updates our code into client machi
I need help in making the programme which updates our code into client machine from the server.
As yahoo messanger does if there is any updated version of yahoo messanger.
It asks when we login into it do you want to update new version of yahoo messanger
It automatically updates it
Need Help??Sounds to me like you need Java Web Start.
-
I need help I scratched the code off my itunes card
I need help I scratched the code off my itunes card
Click here and ask the iTunes Store staff for assistance. Supply them with as much of the code as you can.
(102006) -
I need help understanding how the Apple components connect to create a whole system across all my devices?
Is there a resource that describes current system and associated functionality?
For example:
Buy A, B, C to achieve "X"
You will need:
an internet provider which supports <specs>
add D to achieve "Y"
You will need:
an internet provider which supports <specs>
add "E" to achieve "Z"
You will need:
an internet provider which supports <specs>
For example, I am looking at the Gen 6 Airport extreme. For intended performance do I need broadband? if so what are the specs, or will basic internet service suffice? Do I need the internet provider's modem or does the Airport extreme replace that? And then I think, if I am doing this, I should also look at Apple TV....What do I need and Why? Then I look at the New Desk top coming out in the fall, and I think well, if I wait and get this, what does this component do for the system, and what becomes redundant? What does this awesome desktop do for my ability to sit and use a new macbook air when I travel or sit on the couch in my PJs?
If there was a place that plainly stated "if you buy the new dektop you can configure a system including only these components and achieve <this result> and by adding <additional components> you will achieve this result.
I have been to the genius store a few times, but I come out of there more confused unless I have SPECIFIC questions or already know what to buy.
A "System Configuration App" would be a really great sales tool--Just saying.I have no idea what "fully optimized" means.
No Apple device will let you watch broadcast TV. The Apple TV is a good option for watching streaming TV from iTunes, NetFlix and Hulu. If you want to watch from other sources, you may need to look at other devices.
Any Mac computer or iPad will allow you to surf the web.
What business software?
Time Capsule is a good option for back ups.
Update what across all devices?
For accessing documents from all devices, a service like Dropbox is your best bet.
I have no idea what "step as far away from an internet provider as possible" means. If you want Internet access, you need an Internet provider.
Lighting fast speed for what? Processor? The specs are listed for all devices in the Online Store. Internet? We're back to the service provider.
Technology changes. The only way to keep pace with it beyond a couple of years is to buy new stuff.
The bottom line is you need to look at the specs for devices availble and at your budget and decide what best meets your needs. If you are unable to do that on your own, there are lot of technology consultants out there who will, for a fee, look at your exact situation, make recommendations and even handle the purchase and set up. Perhaps that would be the best route for you.
Best of luck. -
Need help in formatting the Date - Date does not
Need help in formatting the Date - Date does not formats and give Not a valid month error in the below scenario.
select oc.ST_PGM_MGR, r.ag_dnum, get_major_work_type(r.perf_eval_rtng_id) "v_work_code", r.ag_dnum_supp "supp", r.intfinal, to_char(r.formdate,'MM/DD/YYYY') "formdate", to_char(r.servfrom,'MM/DD/YYYY') "srv_from", to_char(r.servto,'MM/DD/YYYY') "srv_to", descript, add_months(to_char
--- Bellow line of Code on trying to format it to mm/dd/yyyy gives the error
(r.formdate, 'DD-MON-YYYY'),12) "formdate2"
from table REdited by: Lucy Discover on Jul 7, 2011 11:34 AM
Edited by: Lucy Discover on Jul 7, 2011 1:05 PMYour syntax is wrong - look at the post above where this syntax is given:
to_char (add_months(r.formdate,12), 'MM/DD/YYYY') "formdate2"Look at the formula from a logical perspective - "inside out" to read what is happening -
take formdate, add 12 months
add_months(r.formdate, 12)then apply the to_char format mask - basic syntax
to_char(date, 'MM/DD/YYYY')Compare to your syntax:
to_char(add_months(r.formdate, 'MM/DD/YYYY'),12) "formdate2"You will see your format string inside the call to add_months, and your 12 inside the call to to_char.
Good luck! -
Need help on implementing the BADI ME_GUI_PO_CUST
Hi All,
As per my requirement I need to do Enhancement for Unloading point field on PO.This filed will get all the department numbers applicable for the site on the line item.
For this I need to Implement the BADI BADI ME_GUI_PO_CUST.
The Method which needs to be Implemented is : TRANSPORT_TO_DYNP.
Instructions have been given for the Screen design.
Can anyone help me (with the sample code how) to Implement this method of the BADI in SE19.
This BADI method is taking a view as an Input and I am not understanding how to proceed.
Thanks and Regards,
Smriti SinghHi,
my suggestion is to check the standard documentation of the interface IF_EX_ME_GUI_PO_CUST.
After that you can check the method IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_DYNP in the example implementation class CL_EXM_IM_ME_GUI_PO_CUST.
Usefull links:
[Re: Implementing badi ME_GUI_PO_CUST;
[Re: ME21N - PO Enhancement using BADI;
Kind Regards.
Andrea -
How to see the abap code in sql language.
hello gurus,
very simply put,i dont know sql,but have to write some basic select queries to talk to oracle db...
i would like to see the SQL transaltion of the ABAP code which i cant write.
for eg: SELECT SINGLE * FROM MARA WHERE MATNR = 'XXXX'.
How wud u write this on ORACLE.
i would also like to see for all entries etc...
NOW,i have tries st05..it doesnt give meaningful sql..
pls helphai
i wrote this in se38
report zdsd.
data wmatnr type mara.
select single * from mara into wmatnr where matnr = '0001'.
write wmatnr.
_from st05_
41 PROGDIR REOPEN 0 0 SELECT WHERE "NAME" = 'ZTEST123' AND "STATE" = 'A'
1,182 PROGDIR FETCH 1 0
4 DWINACTIV REOPEN 0 0 SELECT WHERE "OBJECT" = 'REPS' AND "OBJ_NAME" = 'ZTEST123'
592 DWINACTIV FETCH 0 1403
8 MARA REOPEN 0 0 SELECT WHERE "MANDT" = '001' AND "MATNR" = '0001'
9,388 MARA FETCH 1 0
i would like
select matnr
into :vi_matnr
from PPS_SUB_BDZ.lm1_lagerpl
where matnr = '0001'
basicaly i need to work on new database (NON SAP) by making connections..
i write the code in FM's in ABAP.
I write Select queries between EXEC SQL. and
ENDEXEC.
I have to use SELECT SINGLE...FOR ALL ENTRIES ...counterparts now... -
How to see the ABAP Code behind SAP Exit Variables.
Hi Everyone.
I was wondering if anyone could help me with the steps to see the ABAP Code behind a SAP Exit Variable.
Sometime back I remember of going to Transaction SE37 - Function Module and give the Variable name,
Eg: 0F_ADAY, Hit F4 or something like that and was able to see the ABAP Code/Function Module/Exit written for that Variable.same
But today I tried to do the same thing to see the code for Variable 0P_FVAEX but I was NOT able to see it.
I think I am missing something.
Can someone help me recollect what I am missing.
Thank You for your time
NOVICEHi bi novice,
big sorry for the late reply!
The following variables are defined in function module RREX_VARIABLE_EXIT as case statement:
'0CMONTH', '0CWEEK', '0CYEAR', '0CQUART', '0DAT', '0CWD', '0FYEAR', '0FPER', '0FYTCFP',
'0FYTLFP', '0FYTCD', '0CYTCM', '0CYTLM', '0CYTCD', '0LYTCLD', '0CMONTHT', '0CWEEKT', '0CYEART', '0CQUARTT', '0DATT', '0FYEART', '0FPERT'
Best regards,
Andreas -
Not able to remove the ABAP code from Transformation
Hello Experts,
We have transformation for DSO in that for one infoobject, field routine is written, Break Point is hard coded there and it's move to production. Now we are trying to remove that break point from development and then move it production.
we are doing following activity to remove the break point.
1. Open the transformation.
2. Open the field routine.
3. Going to ABAP code in field routine.
4. Remove the hard coded Break Point from ABAP code.
5. Saving the code.
6. It's taking to again filed routine window.
7. We close the window and activate the transformation.
8. When again check the ABAP code in field routine then it shows hard coded Break Point again.
9. Not able to remove the hard coded break point.
Can anyone know how to do this.
Help will be appreciated.
ThanksHi,
As pointed above, after point 6 don't simply close the window but click on Transfer Value and then activate your transformation. Refresh the system and check again.
Regards,
Arminder
Maybe you are looking for
-
So I forgot my security question in order to make a purchase from the iTunes Store from a card I used to redeem a code into my account. And the card (15$) is now in that account. All purchases require a security question that I must answer to buy....
-
I need to use up all my credits in ITunes but only have $.25. How do I do this as nothing is worth $.25? The reason I need to do this is to change my country for purchases on my Credit Card that is not a US credit card
-
What is YOUR favorite Zen Micro col
<FONT face=Garamond color=#ff0000 size=7>CHOOSE A <FONT color=#0066ff>COLOR! <FONT color=#ff0000 size=7><FONT face=Garamond>Red,<FONT color=#ff9900> Orange,<FONT color=#ccff33> Green, Blue, <FONT color=#ff0000 size=7><FONT face=Garamond><FONT color=#
-
How can I get i messages started
How can I get I messages started? I've already signed but I am not able to send messages to people. Pleas help me
-
Hi All, I've a nokia 6680 branded "3" from Italy. In the OUTBOX folder there is a MMS with the status "defered". I've tried to delete and move but the MMS is still in the folder. Have you an idea to remove this issue? Thanks /Andrea