Function Module to drop index
Hi all,
Is there any function module which drop index of cube, as that we have a function module to drop the index of ods (SSM_PROCESS_ODS_DROP_INDEXES).
Any kind of tips will be appreciated.
Thanks in advance.
Regards,
Babu
Hi,
Try this 'RSDU_INFOCUBE_INDEXES_DROP'.
Hope this helps.
PB
Similar Messages
-
How to create Drop-Down with Function Module REUSE_ALV_GRID_DISPLAY
Hi Experts,
I have used Reuse_alv_grid_display function module in my report for ALV output. I have a requirement to add drop down in one cell of my output. I have searched but all are suggesting through OOPS programing that I can not use.
If it is possible with the given scenerion , please help me how to write the code for it?
Thanks a bunch in advance.Hi,
You can check demo programs:
BCALV_EDIT_06
BCALV_EDIT_07
Hope it helps
Regards
Mansi -
Hi all,
I am using the function module "KCD_EXCEL_OLE_TO_INT_CONVERT" to upload the excel template to an internal table but i am not getting the complete excel data into the table the fields which contains the drop down list values those values are not coming in to the table.
Is there any other function module which can read even the drop down list values? can any one please provide me the solution.
Thanks in advance
** FYI...i am using the below code:
* upload excel file to a generic table
CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
EXPORTING
filename = l_filename
i_begin_col = 1
i_begin_row = 1
i_end_col = 150
i_end_row = 65000
TABLES
intern = lt_intern
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Thanks,
KoushikHi all,
I am using the function module "KCD_EXCEL_OLE_TO_INT_CONVERT" to upload the excel template to an internal table but i am not getting the complete excel data into the table the fields which contains the drop down list values those values are not coming in to the table.
Is there any other function module which can read even the drop down list values? can any one please provide me the solution.
Thanks in advance
** FYI...i am using the below code:
* upload excel file to a generic table
CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
EXPORTING
filename = l_filename
i_begin_col = 1
i_begin_row = 1
i_end_col = 150
i_end_row = 65000
TABLES
intern = lt_intern
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Thanks,
Koushik -
Configuring Dynamic drop down in ABAP Function Module based VC application
Dear Expert,
Can someone help me in configuring Dynamic Drop down list in ABAP function module based
VC application, so that all the backend data like material description list should display in drop down list followed by * search.
Thanks & Regards,
KundanHi Anja,
As you suggested i design a combo box with dynamic entry list. But it not displaying any item for selection. Combo box is showing empty. Can you please help me in this so all the backend list should display in combo box dynamically?
Thanks,
Kundan -
How to attached class or function module in FD03
Hi Guys
I want to attached CL_ATTACHMENT_LIST for retriving attachment list from fd03 please help to attached the function module in my program?
regards
Piroz
report zfir_aged_debtors no standard page heading
line-size 255.
Type group
type-pools:
slis. " ALV types
Tables
tables:
adrc, " Addresses
bsad, " Accounting: Customer secondary index (Cleared)
bsid, " Accounting: Customer secondary index (Open)
kna1, " Customer master: General data
knkk, " Customer master: Credit management
knvk. " Customer master: Contact persons
Types
types:
begin of ty_bsadbsid,
bukrs like bsad-bukrs, " Company code
kunnr like bsad-kunnr, " Customer
gjahr like bsad-gjahr, " Fiscal year
belnr like bsad-belnr, " Accounting document number
buzei like bsad-buzei, " Line item
budat like bsad-budat, " Posting date
bldat like bsad-bldat, " Document date
waers like bsad-waers, " Currency
xblnr like bsad-xblnr, " Reference
shkzg like bsad-shkzg, " Debit/credit indicator
dmbtr like bsad-dmbtr, " Amount
zfbdt like bsad-zfbdt, " Baseline date for due date
" calculation
zbd1t like bsad-zbd1t, " Cash discount days 1
zbd2t like bsad-zbd2t, " Cash discount days 2
zbd3t like bsad-zbd3t, " Net payment terms period
rebzg like bsad-rebzg, " Number of the invoice
rebzt like bsad-rebzt, " Follow on document type
end of ty_bsadbsid,
ty_it_bsadbsid type ty_bsadbsid occurs 0,
begin of ty_merged,
kunnr like kna1-kunnr, " Customer number
name1 like adrc-name1, " Name
city1 like adrc-city1, " City
post_code1 like adrc-post_code1, " Post code
street like adrc-street, " Street
house_num1 like adrc-house_num1, " House number
tel_number like adrc-tel_number, " Telephone number
fax_number like adrc-fax_number, " Fax number
namev like knvk-namev, " First name
namew like knvk-name1, " Last name
telf1 like knvk-telf1, " Telephone number
klimk like knkk-klimk, " Credit limit
skfor like knkk-skfor, " Total receivables
total like bsad-dmbtr, " Total amount
rast1 like bsad-dmbtr, " Amount period 1
rast2 like bsad-dmbtr, " Amount period 2
rast3 like bsad-dmbtr, " Amount period 3
rast4 like bsad-dmbtr, " Amount period 4
rast5 like bsad-dmbtr, " Amount period 5
rast6 like bsad-dmbtr, " Amount period 6
end of ty_merged,
ty_it_merged type ty_merged occurs 0.
Internal tables
data:
Internal table to store customer line items from BSAD and BSID
it_bsadbsid type ty_it_bsadbsid,
Internal table to store field catalog for ALV function call
it_fieldcat type slis_t_fieldcat_alv,
Internal table to store summarised data for report output
it_merged type ty_it_merged.
Structures
data:
Display variant structures
st_tvariant like disvariant,
st_variant like disvariant.
Constants
constants:
co_delim_dash type c
value '-',
co_false type c " False
value space,
co_koart_d like faede-koart " Customer account type
value 'D',
co_save_u type c " User display variant
value 'U', " saving allowed.
co_shkzg_h like bsid-shkzg " Debit/Credit indicator
value 'H', " for credit
co_shkzg_s like bsid-shkzg " Debit/Credit indicator
value 'S', " for debit
co_selected type c " Value of selected radio
value 'X', " button or checkbox
co_true type c " True
value co_selected.
Variables
data:
va_exit type c.
Selection screen definition
selection-screen: begin of block b1 with frame title text-001.
select-options:
s_kunnr for bsad-kunnr. " Customer number
parameters:
p_kkber like knkk-kkber, " Credit control area
p_pafkt like knvk-pafkt, " Contact function
p_datum like sy-datum. " Report date
selection-screen: begin of line,
comment 01(30) text-006,
position pos_low.
parameters:
rastbis1 like rfpdo1-allgrogr " Due date sorted 1
default '000',
rastbis2 like rfpdo1-allgrogr " Due date sorted 2
default '000',
rastbis3 like rfpdo1-allgrogr " Due date sorted 3
default '000',
rastbis4 like rfpdo1-allgrogr " Due date sorted 4
default '000',
rastbis5 like rfpdo1-allgrogr " Due date sorted 5
default '000'.
selection-screen: end of line.
selection-screen: end of block b1,
begin of block b2 with frame title text-002.
parameters:
p_varint like disvariant-variant. " Display variant.
selection-screen: end of block b2.
Initialisation
initialization.
Provide default periods for due date sorted list.
rastbis1 = 0.
rastbis2 = 30.
rastbis3 = 60.
rastbis4 = 90.
rastbis5 = 120.
Default report date to current.
p_datum = sy-datlo.
Default credit control area to BP01.
p_kkber = 'BP01'.
At selection screen on value request for
at selection-screen on value-request for p_varint.
Provide display variant list for this program.
call function 'REUSE_ALV_VARIANT_F4'
exporting
is_variant = st_variant
i_save = co_save_u
importing
e_exit = va_exit
es_variant = st_tvariant
exceptions
not_found = 2.
if sy-subrc eq 2.
message id sy-msgid type 'S'
number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
else.
if va_exit eq space.
st_variant = st_tvariant.
p_varint = st_tvariant-variant.
endif.
endif.
At selection screen
at selection-screen.
Load display variant.
if not p_varint is initial.
move st_variant to st_tvariant.
move p_varint to st_tvariant-variant.
call function 'REUSE_ALV_VARIANT_EXISTENCE'
exporting
i_save = co_save_u
changing
cs_variant = st_tvariant.
st_variant = st_tvariant.
else.
clear st_variant.
st_variant-report = sy-repid.
endif.
if p_kkber is initial.
Ensure credit control area is specified.
message e000(zgen) with 'Credit control area must be specified'.
endif.
if p_pafkt is initial.
Ensure contact person function is specified.
message e000(zgen) with 'Contact person function must be specified'.
endif.
Start of selection
start-of-selection.
Extract open customer items from BSID
select bukrs kunnr gjahr belnr buzei budat bldat waers xblnr shkzg
dmbtr zfbdt zbd1t zbd2t zbd3t rebzg rebzt
from bsid
into table it_bsadbsid
where kunnr in s_kunnr
and budat le p_datum.
Extracct cleared customer items from BSAD
select bukrs kunnr gjahr belnr buzei budat bldat waers xblnr shkzg
dmbtr zfbdt zbd1t zbd2t zbd3t rebzg rebzt
from bsad
appending table it_bsadbsid
where kunnr in s_kunnr
and budat le p_datum
and augdt ge p_datum.
Ensure that items were not selected twice while getting data from the
open and cleared items tables (Only if transaction occured during
report run).
sort it_bsadbsid by bukrs belnr gjahr buzei.
delete adjacent duplicates from it_bsadbsid
comparing bukrs belnr gjahr buzei.
if it_bsadbsid[] is initial.
No data found for selection
message s001(zgen).
exit.
endif.
Merge data for report output
perform merge_data tables it_bsadbsid
it_merged.
Build field catalog
perform build_field_catalog tables it_fieldcat.
Output report via ALV
perform output_report_via_alv tables it_fieldcat
it_merged.
*& Form merge_data
text
form merge_data tables pa_it_bsadbsid type ty_it_bsadbsid
pa_it_merged type ty_it_merged.
Local work areas
data:
lwa_bsadbsid type ty_bsadbsid,
lwa_merged type ty_merged.
Local structures
data:
lst_faede like faede.
Local variables
data:
lva_daysover type i,
lva_merged_tabix like sy-tabix.
loop at pa_it_bsadbsid into lwa_bsadbsid.
Lookup merged entry for customer
clear lwa_merged.
read table pa_it_merged into lwa_merged
with key kunnr = lwa_bsadbsid-kunnr
binary search.
lva_merged_tabix = sy-tabix.
if sy-subrc ne 0.
Create new merged record for customer
lwa_merged-kunnr = lwa_bsadbsid-kunnr.
Get customer details from KNA1
clear kna1.
select single *
from kna1
where kunnr eq lwa_bsadbsid-kunnr.
Get customer address details from ADRC
clear adrc.
select single *
from adrc
where addrnumber eq kna1-adrnr
and date_from le p_datum.
lwa_merged-name1 = adrc-name1.
lwa_merged-city1 = adrc-city1.
lwa_merged-post_code1 = adrc-post_code1.
lwa_merged-street = adrc-street.
lwa_merged-house_num1 = adrc-house_num1.
lwa_merged-tel_number = adrc-tel_number.
lwa_merged-fax_number = adrc-fax_number.
Get credit limit details from KNKK
clear knkk.
select single *
from knkk
where kunnr eq lwa_bsadbsid-kunnr
and kkber eq p_kkber.
lwa_merged-klimk = knkk-klimk.
lwa_merged-skfor = knkk-skfor.
Get customer contact person details from KNVK
clear knvk.
select single *
from knvk
where kunnr eq lwa_bsadbsid-kunnr
and pafkt eq p_pafkt.
lwa_merged-namev = knvk-namev.
lwa_merged-namew = knvk-name1.
lwa_merged-telf1 = knvk-telf1.
insert lwa_merged into pa_it_merged index lva_merged_tabix.
endif.
Interpret debit/credit indicator
case lwa_bsadbsid-shkzg.
when co_shkzg_h.
Credit
lwa_bsadbsid-dmbtr = 0 - lwa_bsadbsid-dmbtr.
when co_shkzg_s.
Debit
endcase.
Perform ageing
clear lst_faede.
move-corresponding lwa_bsadbsid to lst_faede.
lst_faede-koart = co_koart_d.
call function 'DETERMINE_DUE_DATE'
exporting
i_faede = lst_faede
importing
e_faede = lst_faede
exceptions
others = 1.
lva_daysover = p_datum - lst_faede-netdt.
Accumulate total.
add lwa_bsadbsid-dmbtr to lwa_merged-total.
if lva_daysover le rastbis1.
add lwa_bsadbsid-dmbtr to lwa_merged-rast1.
else.
if lva_daysover le rastbis2 or
rastbis3 is initial.
add lwa_bsadbsid-dmbtr to lwa_merged-rast2.
else.
if lva_daysover le rastbis3 or
rastbis4 is initial.
add lwa_bsadbsid-dmbtr to lwa_merged-rast3.
else.
if lva_daysover le rastbis4 or
rastbis5 is initial.
add lwa_bsadbsid-dmbtr to lwa_merged-rast4.
else.
if lva_daysover le rastbis5.
add lwa_bsadbsid-dmbtr to lwa_merged-rast5.
else.
add lwa_bsadbsid-dmbtr to lwa_merged-rast6.
endif.
endif.
endif.
endif.
endif.
Update the merged record
modify pa_it_merged from lwa_merged index lva_merged_tabix.
endloop.
endform. " merge_data
*& Form build_field_catalog
text
form build_field_catalog tables pa_it_fieldcat type slis_t_fieldcat_alv.
Local work areas
data:
lwa_fieldcat type slis_fieldcat_alv.
--WG1K903216: Start Insert-
data: v_datum type datum,
v_mdmth type datum,
v_datxt type string,
v_noday type i.
--WG1K903216: End Insert---
refresh pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'KUNNR'.
lwa_fieldcat-ref_tabname = 'KNA1'.
lwa_fieldcat-ref_fieldname = 'KUNNR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '1'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'NAME1'.
lwa_fieldcat-ref_tabname = 'ADRC'.
lwa_fieldcat-ref_fieldname = 'NAME1'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '2'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'CITY1'.
lwa_fieldcat-ref_tabname = 'ADRC'.
lwa_fieldcat-ref_fieldname = 'CITY1'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '3'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'POST_CODE1'.
lwa_fieldcat-ref_tabname = 'ADRC'.
lwa_fieldcat-ref_fieldname = 'POST_CODE1'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '4'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'STREET'.
lwa_fieldcat-ref_tabname = 'ADRC'.
lwa_fieldcat-ref_fieldname = 'STREET'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '5'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'HOUSE_NUM1'.
lwa_fieldcat-ref_tabname = 'ADRC'.
lwa_fieldcat-ref_fieldname = 'HOUSE_NUM1'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '6'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'TEL_NUMBER'.
lwa_fieldcat-ref_tabname = 'ADRC'.
lwa_fieldcat-ref_fieldname = 'TEL_NUMBER'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '7'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'FAX_NUMBER'.
lwa_fieldcat-ref_tabname = 'ADRC'.
lwa_fieldcat-ref_fieldname = 'FAX_NUMBER'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '8'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'NAMEV'.
lwa_fieldcat-ref_tabname = 'KNVK'.
lwa_fieldcat-ref_fieldname = 'NAMEV'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '9'.
lwa_fieldcat-seltext_l = 'Contact first name'.
lwa_fieldcat-seltext_m = 'Contact Fname'.
lwa_fieldcat-seltext_s = 'Ctct Fname'.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'NAMEW'.
lwa_fieldcat-ref_tabname = 'KNVK'.
lwa_fieldcat-ref_fieldname = 'NAME1'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '10'.
lwa_fieldcat-seltext_l = 'Contact last name'.
lwa_fieldcat-seltext_m = 'Contact Lname'.
lwa_fieldcat-seltext_s = 'Ctxt Lname'.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'TELF1'.
lwa_fieldcat-ref_tabname = 'KNVK'.
lwa_fieldcat-ref_fieldname = 'TELF1'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '11'.
lwa_fieldcat-seltext_l = 'Contact phone no.'.
lwa_fieldcat-seltext_m = 'Contact phone'.
lwa_fieldcat-seltext_s = 'Ctct Phne'.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'KLIMK'.
lwa_fieldcat-ref_tabname = 'KNKK'.
lwa_fieldcat-ref_fieldname = 'KLIMK'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '12'.
lwa_fieldcat-seltext_l = 'Credit limit'.
lwa_fieldcat-seltext_m = 'Credit limit'.
lwa_fieldcat-seltext_s = 'Crdt limit'.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'SKFOR'.
lwa_fieldcat-ref_tabname = 'KNKK'.
lwa_fieldcat-ref_fieldname = 'SKFOR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '13'.
lwa_fieldcat-seltext_l = 'Credit used'.
lwa_fieldcat-seltext_m = 'Credit used'.
lwa_fieldcat-seltext_s = 'Crdt used'.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'TOTAL'.
lwa_fieldcat-ref_tabname = 'BSAD'.
lwa_fieldcat-ref_fieldname = 'DMBTR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '14'.
lwa_fieldcat-seltext_l = 'Total'.
lwa_fieldcat-seltext_m = 'Total'.
lwa_fieldcat-seltext_s = 'Total'.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'RAST1'.
lwa_fieldcat-ref_tabname = 'BSAD'.
lwa_fieldcat-ref_fieldname = 'DMBTR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '15'.
--WG1K903216: Start Delete-
concatenate '<'
rastbis2
into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Delete---
--WG1K903216: Start Insert-
clear: v_datum,
v_datxt.
v_noday = rastbis2.
Always use the middle of the report month as a heading reference date.
concatenate p_datum+0(6) '15' into v_mdmth.
call function 'ZWAG_DATE_CALCULATOR'
exporting i_datum = v_mdmth
i_noday = v_noday
i_oprnd = '+'
importing e_datum = v_datum
exceptions invalid_operand = 1.
call function 'ZWAG_END_MONTH'
exporting i_datum = v_datum
importing e_datum = v_datum
e_datxt = v_datxt
exceptions invalid_date = 1.
concatenate 'Due' v_datxt into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Insert---
lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.
lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'RAST2'.
lwa_fieldcat-ref_tabname = 'BSAD'.
lwa_fieldcat-ref_fieldname = 'DMBTR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '16'.
--WG1K903216: Start Delete-
concatenate rastbis1
rastbis2
into lwa_fieldcat-seltext_l
separated by co_delim_dash.
--WG1K903216: End Delete---
--WG1K903216: Start Insert-
clear: v_datum,
v_datxt.
v_noday = rastbis1.
call function 'ZWAG_DATE_CALCULATOR'
exporting i_datum = v_mdmth
i_noday = v_noday
i_oprnd = '+'
importing e_datum = v_datum
exceptions invalid_operand = 1.
call function 'ZWAG_END_MONTH'
exporting i_datum = v_datum
importing e_datum = v_datum
e_datxt = v_datxt
exceptions invalid_date = 1.
concatenate 'Due' v_datxt into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Insert---
lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.
lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'RAST3'.
lwa_fieldcat-ref_tabname = 'BSAD'.
lwa_fieldcat-ref_fieldname = 'DMBTR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '17'.
--WG1K903216: Start Delete-
concatenate rastbis2
rastbis3
into lwa_fieldcat-seltext_l
separated by co_delim_dash.
--WG1K903216: End Delete---
--WG1K903216: Start Insert-
clear: v_datum,
v_datxt.
v_noday = rastbis2.
call function 'ZWAG_DATE_CALCULATOR'
exporting i_datum = v_mdmth
i_noday = v_noday
i_oprnd = '-'
importing e_datum = v_datum
exceptions invalid_operand = 1.
call function 'ZWAG_END_MONTH'
exporting i_datum = v_datum
importing e_datum = v_datum
e_datxt = v_datxt
exceptions invalid_date = 1.
concatenate 'Due' v_datxt into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Insert---
lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.
lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'RAST4'.
lwa_fieldcat-ref_tabname = 'BSAD'.
lwa_fieldcat-ref_fieldname = 'DMBTR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '18'.
--WG1K903216: Start Delete-
concatenate rastbis3
rastbis4
into lwa_fieldcat-seltext_l
separated by co_delim_dash.
--WG1K903216: End Delete---
--WG1K903216: Start Insert-
clear: v_datum,
v_datxt.
v_noday = rastbis3.
call function 'ZWAG_DATE_CALCULATOR'
exporting i_datum = v_mdmth
i_noday = v_noday
i_oprnd = '-'
importing e_datum = v_datum
exceptions invalid_operand = 1.
call function 'ZWAG_END_MONTH'
exporting i_datum = v_datum
importing e_datum = v_datum
e_datxt = v_datxt
exceptions invalid_date = 1.
concatenate 'Due' v_datxt into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Insert---
lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.
lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'RAST5'.
lwa_fieldcat-ref_tabname = 'BSAD'.
lwa_fieldcat-ref_fieldname = 'DMBTR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '19'.
--WG1K903216: Start Delete-
concatenate rastbis4
rastbis5
into lwa_fieldcat-seltext_l
separated by co_delim_dash.
--WG1K903216: End Delete---
--WG1K903216: Start Insert-
clear: v_datum,
v_datxt.
v_noday = rastbis4.
call function 'ZWAG_DATE_CALCULATOR'
exporting i_datum = v_mdmth
i_noday = v_noday
i_oprnd = '-'
importing e_datum = v_datum
exceptions invalid_operand = 1.
call function 'ZWAG_END_MONTH'
exporting i_datum = v_datum
importing e_datum = v_datum
e_datxt = v_datxt
exceptions invalid_date = 1.
concatenate 'Due' v_datxt into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Insert---
lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.
lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'RAST6'.
lwa_fieldcat-ref_tabname = 'BSAD'.
lwa_fieldcat-ref_fieldname = 'DMBTR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '20'.
--WG1K903216: Start Delete-
concatenate '>'
rastbis5
into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Delete---
--WG1K903216: Start Insert-
clear: v_datum,
v_datxt.
v_noday = rastbis5.
call function 'ZWAG_DATE_CALCULATOR'
exporting i_datum = v_mdmth
i_noday = v_noday
i_oprnd = '-'
importing e_datum = v_datum
exceptions invalid_operand = 1.
call function 'ZWAG_END_MONTH'
exporting i_datum = v_datum
importing e_datum = v_datum
e_datxt = v_datxt
exceptions invalid_date = 1.
concatenate 'Due By' v_datxt into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Insert---
lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.
lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
endform. " build_field_catalog
*& Form output_report_via_alv
text
form output_report_via_alv
tables pa_it_fieldcat type slis_t_fieldcat_alv
pa_it_merged type ty_it_merged.
Local variables
data:
lva_repid like sy-repid,
lva_formname type slis_formname.
lva_repid = sy-repid.
lva_formname = 'USER_COMMAND'.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = lva_repid
i_callback_user_command = lva_formname
i_save = 'A'
is_variant = st_variant
it_fieldcat = pa_it_fieldcat[]
tables
t_outtab = pa_it_merged
exceptions
program_error = 1
others = 2.
endform. " output_report_via_alvHi shiva
Thanks for your help,
Can you check this coding and revert me back ASAP Please.
REPORT BDS_GOS_CONNECTION.
DATA : logical_system LIKE BAPIBDS01-log_system.
CLASSNAME LIKE BAPIBDS01-CLASSNAME
OBJKEY LIKE SWOTOBJID-objkey.
PARAMETERS: pa_lo_sys BAPIBDS01-log_system,
pa_class like BPIBDS01-CLASSNAME,
pa_objkey like swotobjidobjkey.
AT SELECTION-SCREEN.
CALL FUNCTION 'BDS_GOS_CONNECTIONS_GET'
EXPORTING
bor_id = bor_id
IMPORTING
logical_sytem = pa_lo_sys.
classname = pa_class.
objkey = pa_objkey.
EXCEPTIONS
no_objects_found = 1
internal_error = 2
internal_gos_error = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
clear v_attno1.
i_object1-typeid = 'BUS2012'.
i_object1-catid = 'BO'.
i_object1-instid = i_yItem-docno.
call method cl_gos_attachment_query=>count_for_object
exporting
is_object = i_object1
ip_arl = space
receiving
rt_stat = i_stat1.
read table i_stat1 into wa_stat1 index 1.
if sy-subrc eq c_0.
move wa_stat1-counter to v_attno1.
endif.
CALL METHOD cl_gos_attachment_query=>count_for_object
EXPORTING
is_object = object
ip_arl = space
RECEIVING
rt_stat = lt_stat.
READ TABLE lt_stat INDEX 1 into ls_stat.
count = ls_stat-counter.
*The object has to be a concatenation of your document, like this:
CONCATENATE object-instid tab-gjahr INTO object-instid.
ELSE.
CONCATENATE tab-bukrs tab-belnr tab-gjahr INTO
object-instid.
ENDIF. -
Error while generating Web Service from a function module.
Hi Experts,
I am trying to create a web service from function module by doing the steps as mentioned in the below document:
http://www.sdn.sap.com/irj/scn/index;jsessionid=(J2EE3417800)ID1146834250DB10778842957931285337End?rid=/library/uuid/80fa3dff-ce76-2a10-3f94-f3df8f2db5a2&overridelayout=true
When i save it as an local object instead of generating the Web Service it gives me the below error:
"Error during activation of Web Service"
Kindly let me know what needs to be done inorder to resolve this issue.
I have a feeling that this error may be with respect to some authorizations, in that case how do we resolve it
Helpful Inputs Awaited.!!!
Thanks
DhwaniHi Dhawani,
Hi Pavan,
Can you please elaborate...how this will help??
Thanks
Dhwani
I dont know the specific reason but internally there may some inconsistancy but i faced the same error and i tried with saving it in the package.
Thanks -
What is the best way, while creating Function Module based extractor
Hi Friends,
I am Sreekanth.
I have created a Functio Module based Extractor,
To fetch data from COPA tables.
In this extracton 3 tables are getting involved.
1) CE3OP01 2) CE4OP01 and 3) CE1OP01.
Logic required is as follow:
1) get data from CE3OP01 and for all entries of this data set,
get data from CE4OP01 and CE1OP01 and finally send the data set to BW after few manupulations.
I have implemented the whole logic and its working fine in DEVELOPMENT box where data volume is less.
But the same code is timing out in Quality Box, due to huge volues of data.
Below I am copying the code that i am using . Any body can suggest me how to proceed further so that my code works with huge volumes of data.
Now I am getting the time out error while selection data from CE3IOP01 table itself.
FUNCTION /ds1/c_bw_zds_copa_recon.
""Local interface:
*" IMPORTING
*" VALUE(I_REQUNR) TYPE SRSC_S_IF_SIMPLE-REQUNR
*" VALUE(I_DSOURCE) TYPE SRSC_S_IF_SIMPLE-DSOURCE OPTIONAL
*" VALUE(I_MAXSIZE) TYPE SRSC_S_IF_SIMPLE-MAXSIZE OPTIONAL
*" VALUE(I_INITFLAG) TYPE SRSC_S_IF_SIMPLE-INITFLAG OPTIONAL
*" VALUE(I_READ_ONLY) TYPE SRSC_S_IF_SIMPLE-READONLY OPTIONAL
*" TABLES
*" I_T_SELECT TYPE SRSC_S_IF_SIMPLE-T_SELECT OPTIONAL
*" I_T_FIELDS TYPE SRSC_S_IF_SIMPLE-T_FIELDS OPTIONAL
*" E_T_DATA STRUCTURE /DS1/FI_COPA_RECN OPTIONAL
*" EXCEPTIONS
*" NO_MORE_DATA
*" ERROR_PASSED_TO_MESS_HANDLER
PROGRAM INFORMATION *
RIEF ID.......: N/A *
PROGRAM.......: /DS1/C_BW_ZDS_COPA_RECON
PROGRAM FUNCTION: This Function Module Extracts Cost Center, Company *
Code, and all Amount fields form CE3OP01 table and sectaktbo "
* Current profitability segment (CO-PA) *
paobjnr " Profitability Segment Number (CO-PA) *
pasubnr " Profitability segment changes (CO-PA) *
bukrs " Company Code
kndnr " Customer from CE4Op01 table. *
Segrigate one record from CE3Op01 into 93 based on Value fields. *
PROGRAM TYPE..Function Module *
DEV. CLASS..../DS1/MI_01 *
LOGICAL DB.... N/A *
Conventions used in the Program *
* global variables --> g_* *
* local variables --> l_* *
* constants --> c_* *
* internal tables --> t_* *
* structures --> x_* *
* parameters --> p_* *
* select-options --> s_* *
* ranges --> r_* *
* workarea --> w_* *
* field symbol --> fs_* *
Declaration for Interface: Selection criteria
STATICS: s_s_if TYPE srsc_s_if_simple,
Maximum number of lines for DB table
ls_s_if TYPE srsc_s_if_simple, "Static Structure
counter
ls_counter_datapakid LIKE sy-tabix,"Static Counter
cursor
ls_cursor TYPE cursor,"Static Cursor.
ls_cursor1 TYPE cursor."Static Cursor.
*CONSTANTS
CONSTANTS: lc_datasource TYPE char14 VALUE 'ZDS_COPA_RECON',
" Data Source Name
lc_msgtype TYPE char1 VALUE 'E', "message type
lc_msgcls TYPE char2 VALUE 'R3', "message class
lc_msgnum TYPE char3 VALUE '009',"Message Number.
lc_001 TYPE char3 VALUE '001',
lc_b0 TYPE char2 VALUE 'B0',
lc_10 TYPE char2 VALUE '10',
lc_01 TYPE char2 VALUE '01',
lc_02 TYPE char2 VALUE '02',
lc_1 TYPE sy-tabix VALUE 1.
*Data Declaration.
DATA: lt_ce3op01 TYPE STANDARD TABLE OF x_ce3op01,
" Internal table for ce3op01
lt_ce3op02 TYPE STANDARD TABLE OF x_ce3op01,
lt_ce4op01 TYPE STANDARD TABLE OF x_ce4op01,
" Internal table for ce4op01
lw_ce3op01 TYPE x_ce3op01,
" Work area for ce3op01
lw_ce3op02 TYPE x_ce3op01, "MOD-002
lw_ce4op01 TYPE x_ce4op01,
" Work area for ce4op01
lw_e_t_data TYPE /ds1/fi_copa_recn,
" Work area for /ds1/fi_copa_recn.
*CE1op01
lt_ce1op01 TYPE STANDARD TABLE OF x_ce1op01,"Internaltable
lw_ce1op01 TYPE x_ce1op01,"Work area for CE1op01.
**CE1op01
lt_fldlist TYPE STANDARD TABLE OF lx_fldlist, "fields list
lw_fldlist TYPE lx_fldlist," FIELDS list work area
lt_flnmval TYPE STANDARD TABLE OF lx_flnmval,"table for splitting
lw_flnmval TYPE lx_flnmval,"work area for spilitting
l_index TYPE i VALUE 1, "to keep track of index.
l_len TYPE i,
l_s_no_recs TYPE sy-tabix VALUE 99,
l_s_loop_from TYPE sy-tabix, "from "MOD-002
l_s_loop_to TYPE sy-tabix, "to"MOD-002
l_norecs TYPE sy-tabix, "MOD-002
l_count TYPE sy-tabix. "MOD-002
*Field Symbols.
FIELD-SYMBOLS:
<fs_flnmval> TYPE lx_flnmval."Field symbol for fild values
Selection Ranges
RANGES: lr_bukrs FOR ce4op01-bukrs, " Range for company code
lr_versi FOR ce3op01-versi," Range for version
lr_paledger FOR ce3op01-paledger,"Range for paledger
lr_vrgar FOR ce3op01-vrgar,"Range for vrgar
lr_gjahr FOR ce3op01-gjahr,"Range for Fiscal year
lr_perbl FOR ce3op01-perbl."Range for perbl
Initialization mode (first call by SAPI) or data transfer mode
IF i_initflag = sbiwa_c_flag_on.
Initialization: check input parameters
buffer input parameters
prepare data selection
Check DataSource validity
IF ls_counter_datapakid = 0.
CASE i_dsource.
WHEN lc_datasource.
WHEN OTHERS.
IF 1 = 2. MESSAGE e009(r3). ENDIF. "#EC *
this is a typical log call. Please write every error message like this
log_write lc_msgtype "'E' "message type
lc_msgcls "'R3' "message class
lc_msgnum "'009' "message number
i_dsource "message variable 1
' '. "message variable 2
RAISE error_passed_to_mess_handler.
ENDCASE.
APPEND LINES OF i_t_select TO s_s_if-t_select.
APPEND LINES OF i_t_fields TO s_s_if-t_fields.
Fill parameter buffer for data extraction calls
ls_s_if-requnr = i_requnr.
ls_s_if-dsource = i_dsource.
ls_s_if-maxsize = i_maxsize.
ls_s_if-initflag = i_initflag.
Company Code
LOOP AT s_s_if-t_select INTO i_t_select WHERE fieldnm = c_bukrs.
MOVE: i_t_select-sign TO lr_bukrs-sign,
i_t_select-option TO lr_bukrs-option,
i_t_select-low TO lr_bukrs-low,
i_t_select-high TO lr_bukrs-high.
APPEND lr_bukrs.
ENDLOOP.
*Version (0)
*SRSC_S_IF_SIMPLE-T_SELECT
LOOP AT s_s_if-t_select INTO i_t_select WHERE fieldnm = c_versi.
LOOP AT i_t_select INTO s_s_if-t_select WHERE fieldnm = c_versi.
MOVE: i_t_select-sign TO lr_versi-sign,
i_t_select-option TO lr_versi-option,
i_t_select-low TO lr_versi-low,
i_t_select-high TO lr_versi-high.
APPEND lr_versi.
ENDLOOP.
*Currency Type (company code only)
LOOP AT s_s_if-t_select INTO i_t_select WHERE fieldnm = c_paledger.
MOVE: i_t_select-sign TO lr_paledger-sign,
i_t_select-option TO lr_paledger-option.
IF i_t_select-low = lc_b0.
MOVE lc_01 TO lr_paledger-low.
ELSEIF i_t_select-low = lc_10.
MOVE lc_02 TO lr_paledger-low.
ENDIF.
APPEND lr_paledger.
ENDLOOP.
*Record Type
LOOP AT s_s_if-t_select INTO i_t_select WHERE fieldnm = c_vrgar.
MOVE: i_t_select-sign TO lr_vrgar-sign,
i_t_select-option TO lr_vrgar-option,
i_t_select-low TO lr_vrgar-low,
i_t_select-high TO lr_vrgar-high.
APPEND lr_vrgar.
ENDLOOP.
*Fiscal Year
LOOP AT s_s_if-t_select INTO i_t_select WHERE fieldnm = c_gjahr.
MOVE: i_t_select-sign TO lr_gjahr-sign,
i_t_select-option TO lr_gjahr-option,
i_t_select-low TO lr_gjahr-low,
i_t_select-high TO lr_gjahr-high.
APPEND lr_gjahr.
ENDLOOP.
*Period Block/Year
LOOP AT s_s_if-t_select INTO i_t_select WHERE fieldnm = c_perbl.
MOVE: i_t_select-sign TO lr_perbl-sign,
i_t_select-option TO lr_perbl-option,
i_t_select-low TO lr_perbl-low,
i_t_select-high TO lr_perbl-high.
APPEND lr_perbl.
ENDLOOP.
*Value Field Name.
LOOP AT s_s_if-t_select INTO i_t_select WHERE fieldnm = c_fldnm.
MOVE:
i_t_select-sign TO gr_zfldnm-sign,
i_t_select-option TO gr_zfldnm-option,
i_t_select-low TO gr_zfldnm-low,
i_t_select-high TO gr_zfldnm-high.
APPEND gr_zfldnm.
ENDLOOP.
First data package -> OPEN CURSOR
IF ls_counter_datapakid = 0.
*Create 93 Field names in an internal table.
MOVE 'VV010' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV011' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV012' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV013' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV014' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV015' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV016' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV020' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV021' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV030' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV031' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV032' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV033' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV034' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV035' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV200' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV201' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV202' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV203' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV036' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV037' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV038' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV039' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV040' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV041' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV042' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV043' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV204' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV205' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV211' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV212' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV213' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV222' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV223' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV230' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV232' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV233' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV500' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV501' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV502' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV503' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV504' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV505' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV506' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV507' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV508' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV509' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV510' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV511' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV512' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV513' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV514' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV515' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV516' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV517' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV518' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV519' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV520' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV236' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV206' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV051' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV052' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV053' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV054' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV055' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV056' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV057' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV058' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV059' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV060' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV241' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV242' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV243' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV244' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV245' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV246' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV247' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV248' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV249' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV250' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV521' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV522' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV523' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV524' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV525' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV526' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV527' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV528' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV529' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV530' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV227' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV226' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
MOVE 'VV224' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
OPEN CURSOR WITH HOLD ls_cursor FOR
SELECT
paobjnr " Profitability Segment Number (CO-PA)
paledger " Currency type for an operating concern
vrgar " Record Type
versi " Plan version (CO-PA)
gjahr " Fiscal Year
perbl " Fiscal year/period block
pasubnr
vv010001 " List Price
vv011001 " Formula Price
vv012001 " Customer Price
vv013001 " Manual Price
vv014001 " Retail Pump Price
vv015001 " Markup
vv016001 " Net Proceeds Other
vv020001 " Excise Duty Offset
vv021001 " Duties & Government
vv030001 " Sales Discounts
vv031001 " Sales Surcharges
vv032001 " Sales Rebates
vv033001 " Agents Comm Paid
vv034001 " RBA CR Royalties
vv035001 " Other Revenues
vv200001 " Transfer PriceSupply
vv201001 " Prim Tran Tariff Sup
vv202001 " S&Handling TariffDis
vv203001 " Sec Trans Tariff Dis
vv036001 " Proceeds from Servic
vv037001 " Exchanges
vv038001 " Throughput fees
vv039001 " Output Tax Offset
vv040001 " CR comm & Oth Oil Pr
vv041001 " Supplier fees
vv042001 " RBA Fairshare Adjust
vv043001 " Contr Comm Paid IG
vv204001 " Sec Tran Tariff Supp
vv205001 " Comp Stock Obligatio
vv211001 " Prim Tran Tar Transf
vv212001 " S&Handling Tar Trans
vv213001 " Sec Trans TariffTran
vv222001 " DIS:S&Handl Tar OvUn
vv223001 " DIS:Sec Tr TarifOvUn
vv230001 " Transfer Price LSC
vv232001 " S&Handling Tar LSC
vv233001 " Sec Trans Tariff LSC
vv500001 " 3rd Party Purchases
vv501001 " Transf from Oth Sect
vv502001 " Purchases IG
vv503001 " Inter-Seg Transf Pur
vv504001 " Import Freight
vv505001 " Stock Variations
vv506001 " Other Product Cost
vv507001 " Pipeline Operat Exp
vv508001 " Primary Transp Expen
vv509001 " Manufacturing Expens
vv510001 " Supply /Process Exp
vv511001 " MK Processing Plants
vv512001 " S&Handling Expenses
vv513001 " Sec Transp Expenses
vv514001 " Point of Sale Expens
vv515001 " Contr Comm Rec IG
vv516001 " Assoc Inc Dividend
vv517001 " Marketing & Sell Exp
vv518001 " Other Rev from Dist
vv519001 " Other Rev Transferrd
vv520001 " Stock Write-Off
vv236001 " Oth cost Tar LSC SMP
vv206001 " Prim Trp tariff Dist
vv051001 " CR Net Turnover
vv052001 " Dummy Price 2
vv053001 " Dummy Price 3
vv054001 " Dummy Price 4
vv055001 " Dummy Price 5
vv056001 " Dummy Price 6
vv057001 " Dummy Price 7
vv058001 " Dummy Price 8
vv059001 " Dummy Price 9
vv060001 " Dummy Price10
vv241001 " DummyTariff 1
vv242001 " DummyTariff 2
vv243001 " DummyTariff 3
vv244001 " DummyTariff 4
vv245001 " DummyTariff 5
vv246001 " DummyTariff 6
vv247001 " DummyTariff 7
vv248001 " DummyTariff 8
vv249001 " DummyTariff 9
vv250001 " DummyTariff10
vv521001 " SD&A Rebates
vv522001 " Dummy Cost 2
vv523001 " Dummy Cost 3
vv524001 " Dummy Cost 4
vv525001 " Dummy Cost 5
vv526001 " Dummy Cost 6
vv527001 " Dummy Cost 7
vv528001 " Dummy Cost 8
vv529001 " Dummy Cost 9
vv530001 " Dummy Cost 10
vv227001 " Sec Tr TarifOvUn LSC
vv226001 " S&Handl Tar OvUn LSC
vv224001 " Pr Tra TariffOvU DIS
FROM ce3op01
WHERE paledger = lc_02 AND
vrgar IN lr_vrgar AND
versi IN lr_versi AND
perbl IN lr_perbl AND
gjahr IN lr_gjahr.
ENDIF.
For all other cursors.
FETCH NEXT CURSOR ls_cursor
APPENDING TABLE lt_ce3op02
PACKAGE SIZE ls_s_if-maxsize.
IF sy-subrc <> 0.
EXIT.
ENDIF.
SORT lt_ce3op02 BY paobjnr pasubnr paledger vrgar versi gjahr
perbl.
DELETE ADJACENT DUPLICATES FROM lt_ce3op02 COMPARING paobjnr.
*Begin of MODE-002
DESCRIBE TABLE lt_ce3op02 LINES l_norecs.
l_s_loop_from = lc_1.
DO.
l_s_loop_to = l_s_loop_from + l_s_no_recs.
LOOP AT lt_ce3op02 INTO lw_ce3op02
FROM l_s_loop_from TO l_s_loop_to .
APPEND lw_ce3op02 TO lt_ce3op01.
ENDLOOP.
SORT lt_ce3op01 BY paobjnr.
*End of MOS-002
SELECT
aktbo " Current profitability segment (CO-PA)
paobjnr " Profitability Segment Number (CO-PA)
pasubnr " Profitability segment changes (CO-PA)
kndnr " Customer
artnr
bukrs " Company Code
prctr
kokrs
FROM ce4op01
INTO TABLE lt_ce4op01
FOR ALL ENTRIES IN lt_ce3op01
WHERE paobjnr = lt_ce3op01-paobjnr AND
pasubnr = lt_ce3op01-pasubnr AND
bukrs IN lr_bukrs.
*CE1op01
SELECT
paledger
vrgar
versi
perio
paobjnr
pasubnr
belnr
posnr
rbeln
rposn
FROM ce1op01
INTO TABLE lt_ce1op01
FOR ALL ENTRIES IN lt_ce3op01
WHERE paledger = lt_ce3op01-paledger AND
vrgar = lt_ce3op01-vrgar AND
versi = lt_ce3op01-versi AND
perio = lt_ce3op01-perbl AND
paobjnr = lt_ce3op01-paobjnr AND
pasubnr = lt_ce3op01-pasubnr.
**CE1op01
LOOP AT lt_ce3op01 INTO lw_ce3op01.
MOVE:
lw_ce3op01-paobjnr TO lw_flnmval-paobjnr,
lw_ce3op01-paledger TO lw_flnmval-paledger,
lw_ce3op01-vrgar TO lw_flnmval-vrgar,
lw_ce3op01-versi TO lw_flnmval-versi,
lw_ce3op01-gjahr TO lw_flnmval-gjahr,
lw_ce3op01-perbl TO lw_flnmval-perbl.
*appending all 93 fields as records
MOVE lw_ce3op01-vv010001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv011001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv012001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv013001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv014001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv015001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv016001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv020001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv021001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv030001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv031001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv032001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv033001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv034001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv035001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv200001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv201001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv202001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv203001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv036001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv037001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv038001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv039001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv040001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv041001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv042001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv043001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv204001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv205001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv211001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv212001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv213001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv222001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv223001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv230001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv232001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv233001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv500001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv501001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv502001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv503001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv504001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv505001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv506001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv507001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv508001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv509001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv510001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv511001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv512001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv513001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv514001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv515001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv516001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv517001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv518001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv519001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv520001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv236001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv206001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv051001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv052001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv053001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv054001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv055001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv056001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv057001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv058001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv059001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv060001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv241001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv242001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv243001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv244001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv245001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv246001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv247001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv248001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv249001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv250001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv521001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv522001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv523001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv524001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv525001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv526001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv527001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv528001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv529001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv530001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv227001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv226001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
MOVE lw_ce3op01-vv224001 TO lw_flnmval-zamunt.
APPEND lw_flnmval TO lt_flnmval.
*Segrigating all one record into 102 records is complete
ENDLOOP.
LOOP AT lt_flnmval ASSIGNING <fs_flnmval>.
IF l_index > 93.
l_index = 1.
ENDIF.
READ TABLE lt_fldlist INTO lw_fldlist INDEX l_index.
IF sy-subrc = 0.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = lw_fldlist-fldnam
IMPORTING
output = <fs_flnmval>-fldnam.
ENDIF.
l_index = l_index + 1.
ENDLOOP.
SORT lt_ce4op01 BY paobjnr.
SORT lt_ce1op01 BY paobjnr paledger vrgar versi.
SORT gr_zfldnm BY low.
DELETE lt_flnmval WHERE fldnam NOT IN gr_zfldnm.
LOOP AT lt_flnmval INTO lw_flnmval.
READ TABLE lt_ce4op01 INTO lw_ce4op01 WITH KEY
paobjnr = lw_flnmval-paobjnr BINARY SEARCH.
IF sy-subrc = 0.
MOVE : lw_flnmval-paledger TO lw_e_t_data-paledger,
lw_flnmval-vrgar TO lw_e_t_data-vrgar,
lw_flnmval-versi TO lw_e_t_data-versi ,
lw_flnmval-gjahr TO lw_e_t_data-gjahr,
lw_flnmval-perbl TO lw_e_t_data-perbl,
lw_ce4op01-bukrs TO lw_e_t_data-bukrs,
lw_ce4op01-kndnr TO lw_e_t_data-kndnr,
lw_ce4op01-artnr TO lw_e_t_data-artnr,
lw_ce4op01-prctr TO lw_e_t_data-prctr,
lw_ce4op01-kokrs TO lw_e_t_data-kokrs,
lw_flnmval-fldnam TO lw_e_t_data-zfldnm,
lw_flnmval-zamunt TO lw_e_t_data-zamount.
CE1op01
READ TABLE lt_ce1op01 INTO lw_ce1op01 WITH KEY
paobjnr = lw_flnmval-paobjnr
paledger = lw_flnmval-paledger
vrgar = lw_flnmval-vrgar
versi = lw_flnmval-versi BINARY SEARCH.
IF sy-subrc = 0.
MOVE: lw_ce1op01-rbeln TO lw_e_t_data-rbeln,
lw_ce1op01-rposn TO lw_e_t_data-rposn.
ENDIF.
CE1op01
APPEND lw_e_t_data TO gt_out_data.
ENDIF.
ENDLOOP.
*Begin of MOD-002
FREE lt_flnmval.
REFRESH :lt_ce3op01,lt_ce4op01,lt_ce1op01.
e_t_data[] = gt_out_data[].
DELETE e_t_data WHERE zfldnm NOT IN gr_zfldnm.
l_s_loop_from = l_s_loop_to + lc_1.
l_count = l_count + 20.
IF l_count GE l_norecs.
EXIT.
ENDIF.
ENDDO.
*End of MOD-002
ls_counter_datapakid = ls_counter_datapakid + 1.
ENDIF. "IF S_COUNTER_DATAPAKID = 0
ELSE.
IF i_maxsize IS INITIAL.
RAISE error_passed_to_mess_handler.
ENDIF.
IF g_start IS INITIAL.
g_start = 1.
ELSE.
g_start = g_end + 1.
ENDIF.
g_end = g_start + i_maxsize - 1.
Population of E_T_DATA based on Data records size
APPEND LINES OF gt_out_data FROM g_start TO g_end TO e_t_data.
DELETE e_t_data WHERE zfldnm NOT IN gr_zfldnm.
IF e_t_data[] IS INITIAL.
RAISE no_more_data.
ENDIF.
ls_counter_datapakid = ls_counter_datapakid + 1.
ENDIF.
ENDFUNCTION.
Thanks & regards,
Sreekanth
+91 9740091981Hello Sreekanth,
See this blog [Generic Extraction via Function Module|/people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module]
Also see this
[Line Item Level Data Extraction for Financial Accounting and Controlling|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a7f2f294-0501-0010-11bb-80e0d67c3e4a]
Thanks
Chandran -
Upload data from excel with vba by calling a function module
Hello all,
i have a problem with the function module "ALSM_EXCEL_TO_INTERNAL_TABLE". I will call this function module with vba to load data from excel to sap with a Buttonclick. I have copied this function module and set it remotable. But i can´t call it from excel.
Can you give me some tips how can i
upload data from excel with vba by click a button.
The problem seems the function: call method cl_gui_frontend_services=>clipboard_import in the function module, because when i comment this function call the vba-call is true but no results.
How can I call the function module correct with vba?
Thanks a lot for your tips!!!!
Chris
Message was edited by:
Christoph KirschnerHI
Uploading data directly from Excel file format
* Upload data direct from excel.xls file to SAP
REPORT ZEXCELUPLOAD.
PARAMETERS: filename LIKE rlgrap-filename MEMORY ID M01,
begcol TYPE i DEFAULT 1 NO-DISPLAY,
begrow TYPE i DEFAULT 1 NO-DISPLAY,
endcol TYPE i DEFAULT 100 NO-DISPLAY,
endrow TYPE i DEFAULT 32000 NO-DISPLAY.
* Tick don't append header
PARAMETERS: kzheader AS CHECKBOX.
DATA: BEGIN OF intern OCCURS 0.
INCLUDE STRUCTURE alsmex_tabline.
DATA: END OF intern.
DATA: BEGIN OF intern1 OCCURS 0.
INCLUDE STRUCTURE alsmex_tabline.
DATA: END OF intern1.
DATA: BEGIN OF t_col OCCURS 0,
col LIKE alsmex_tabline-col,
size TYPE i.
DATA: END OF t_col.
DATA: zwlen TYPE i,
zwlines TYPE i.
DATA: BEGIN OF fieldnames OCCURS 3,
title(60),
table(6),
field(10),
kz(1),
END OF fieldnames.
* No of columns
DATA: BEGIN OF data_tab OCCURS 0,
value_0001(50),
value_0002(50),
value_0003(50),
value_0004(50),
value_0005(50),
value_0006(50),
value_0007(50),
value_0008(50),
value_0009(50),
value_0010(50),
value_0011(50),
value_0012(50),
value_0013(50),
value_0014(50),
value_0015(50),
value_0016(50),
value_0017(50),
value_0018(50),
value_0019(50),
value_0020(50),
value_0021(50),
value_0022(50),
value_0023(50),
value_0024(50),
value_0025(50),
value_0026(50),
value_0027(50),
value_0028(50),
value_0029(50),
value_0030(50),
value_0031(50),
value_0032(50),
value_0033(50),
value_0034(50),
value_0035(50),
value_0036(50),
value_0037(50),
value_0038(50),
value_0039(50),
value_0040(50),
value_0041(50),
value_0042(50),
value_0043(50),
value_0044(50),
value_0045(50),
value_0046(50),
value_0047(50),
value_0048(50),
value_0049(50),
value_0050(50),
value_0051(50),
value_0052(50),
value_0053(50),
value_0054(50),
value_0055(50),
value_0056(50),
value_0057(50),
value_0058(50),
value_0059(50),
value_0060(50),
value_0061(50),
value_0062(50),
value_0063(50),
value_0064(50),
value_0065(50),
value_0066(50),
value_0067(50),
value_0068(50),
value_0069(50),
value_0070(50),
value_0071(50),
value_0072(50),
value_0073(50),
value_0074(50),
value_0075(50),
value_0076(50),
value_0077(50),
value_0078(50),
value_0079(50),
value_0080(50),
value_0081(50),
value_0082(50),
value_0083(50),
value_0084(50),
value_0085(50),
value_0086(50),
value_0087(50),
value_0088(50),
value_0089(50),
value_0090(50),
value_0091(50),
value_0092(50),
value_0093(50),
value_0094(50),
value_0095(50),
value_0096(50),
value_0097(50),
value_0098(50),
value_0099(50),
value_0100(50).
DATA: END OF data_tab.
DATA: tind(4) TYPE n.
DATA: zwfeld(19).
FIELD-SYMBOLS: <fs1>.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR filename.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
mask = '*.xls'
static = 'X'
CHANGING
file_name = filename.
START-OF-SELECTION.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = filename
i_begin_col = begcol
i_begin_row = begrow
i_end_col = endcol
i_end_row = endrow
TABLES
intern = intern
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
WRITE:/ 'Upload Error ', SY-SUBRC.
ENDIF.
END-OF-SELECTION.
LOOP AT intern.
intern1 = intern.
CLEAR intern1-row.
APPEND intern1.
ENDLOOP.
SORT intern1 BY col.
LOOP AT intern1.
AT NEW col.
t_col-col = intern1-col.
APPEND t_col.
ENDAT.
zwlen = strlen( intern1-value ).
READ TABLE t_col WITH KEY col = intern1-col.
IF sy-subrc EQ 0.
IF zwlen > t_col-size.
t_col-size = zwlen.
* Internal Table, Current Row Index
MODIFY t_col INDEX sy-tabix.
ENDIF.
ENDIF.
ENDLOOP.
DESCRIBE TABLE t_col LINES zwlines.
SORT intern BY row col.
IF kzheader = 'X'.
LOOP AT intern.
fieldnames-title = intern-value.
APPEND fieldnames.
AT END OF row.
EXIT.
ENDAT.
ENDLOOP.
ELSE.
DO zwlines TIMES.
WRITE sy-index TO fieldnames-title.
APPEND fieldnames.
ENDDO.
ENDIF.
SORT intern BY row col.
LOOP AT intern.
IF kzheader = 'X'
AND intern-row = 1.
CONTINUE.
ENDIF.
tind = intern-col.
CONCATENATE 'DATA_TAB-VALUE_' tind INTO zwfeld.
ASSIGN (zwfeld) TO <fs1>.
<fs1> = intern-value.
AT END OF row.
APPEND data_tab.
CLEAR data_tab.
ENDAT.
ENDLOOP.
CALL FUNCTION 'DISPLAY_BASIC_LIST'
EXPORTING
file_name = filename
TABLES
data_tab = data_tab
fieldname_tab = fieldnames.
*-- End of Program
<b>Excel Upload Alternative - KCD_EXCEL_OLE_TO_INT_CONVERT</b>
*Title : Excel Uploading
TYPES: BEGIN OF t_datatab,
col1(25) TYPE c,
col2(30) TYPE c,
col3(30) TYPE c,
col4(30) TYPE c,
col5(30) TYPE c,
col6(30) TYPE c,
col7(30) TYPE c,
col8(30) TYPE c,
col9(30) TYPE c,
col10(30) TYPE c,
col11(30) TYPE c,
END OF t_datatab.
DATA: it_datatab TYPE STANDARD TABLE OF t_datatab INITIAL SIZE 0,
wa_datatab TYPE t_datatab.
Data : p_table type t_datatab occurs 0 with header line.
DATA : gd_scol TYPE i VALUE '1',
gd_srow TYPE i VALUE '1',
gd_ecol TYPE i VALUE '256',
gd_erow TYPE i VALUE '65536'.
DATA: it_tab TYPE filetable,
gd_subrc TYPE i.
field-symbols : <fs>.
*Selection screen definition
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_file LIKE rlgrap-filename
DEFAULT 'c:test.xls' OBLIGATORY. " File Name
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
REFRESH: it_tab.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = 'Select File'
default_filename = '*.xls'
multiselection = ' '
CHANGING
file_table = it_tab
rc = gd_subrc.
LOOP AT it_tab INTO p_file.
* so_fpath-sign = 'I'.
* so_fpath-option = 'EQ'.
* append so_fpath.
ENDLOOP.
START-OF-SELECTION.
PERFORM upload_excel_file TABLES it_datatab
USING p_file
gd_scol
gd_srow
gd_ecol
gd_erow.
* END-OF-SELECTION.
END-OF-SELECTION.
LOOP AT it_datatab INTO wa_datatab.
WRITE:/ wa_datatab-col1,
wa_datatab-col2,
wa_datatab-col3,
wa_datatab-col4,
wa_datatab-col5,
wa_datatab-col6,
wa_datatab-col7,
wa_datatab-col8,
wa_datatab-col9,
wa_datatab-col10,
wa_datatab-col11.
ENDLOOP.
*& Form UPLOAD_EXCEL_FILE
* upload excel spreadsheet into internal table
* -->P_TABLE Table to return excel data into
* -->P_FILE file name and path
* -->P_SCOL start column
* -->P_SROW start row
* -->P_ECOL end column
* -->P_EROW end row
FORM upload_excel_file TABLES p_table
USING p_file
p_scol
p_srow
p_ecol
p_erow.
DATA : lt_intern TYPE kcde_cells OCCURS 0 WITH HEADER LINE.
* Has the following format:
* Row number | Colum Number | Value
* i.e. 1 1 Name1
* 2 1 Joe
DATA : ld_index TYPE i.
* Note: Alternative function module - 'ALSM_EXCEL_TO_INTERNAL_TABLE'
CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
EXPORTING
filename = p_file
i_begin_col = p_scol
i_begin_row = p_srow
i_end_col = p_ecol
i_end_row = p_erow
TABLES
intern = LT_INTERN
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
FORMAT COLOR COL_BACKGROUND INTENSIFIED.
WRITE:/ 'Error Uploading file'.
EXIT.
ENDIF.
IF lt_intern[] IS INITIAL.
FORMAT COLOR COL_BACKGROUND INTENSIFIED.
WRITE:/ 'No Data Uploaded'.
EXIT.
ELSE.
SORT lt_intern BY row col.
LOOP AT lt_intern.
MOVE lt_intern-col TO ld_index.
assign component ld_index of structure
p_table to <fs>.
move : lt_intern-value to <fs>.
* MOVE lt_intern-value TO p_table.
AT END OF row.
APPEND p_table.
CLEAR p_table.
ENDAT.
ENDLOOP.
ENDIF.
ENDFORM. "UPLOAD_EXCEL_FILE
Regards
Pavan -
How to use fieldtab with Function Module F4IF_INT_TABLE_VALUE_REQUEST
Hi,
I'm using the function module F4IF_INT_TABLE_VALUE_REQUEST to build a matchcode in a selection screen parameter.
The internal table that I use have 3 fields:
GROUPID like APQI-GROUPID,
CREDATE like APQI-CREDATE,
STATE type string.
STATE is not in ABAP dictionary, so the function doesn't show this field. I need this field having field label 'STATUS'
I have tried to use table FIELDTAB, but I cannot resolv the problem.
Can anyone help me?
Kind RegardsHi
See the following ex:
TYPES: BEGIN OF TY_MBLNR,
MBLNR LIKE MKPF-MBLNR,
END OF TY_MBLNR.
DATA: IT_MBLNR TYPE STANDARD TABLE OF TY_MBLNR WITH HEADER LINE.
data: it_ret like ddshretval occurs 0 with header line.
At selection-screen on value-request for s_mat-low.
Select MBLNR from mkpf into table it_mblnr.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
RETFIELD = 'MBLNR'
PVALKEY = ' '
DYNPPROG = ' '
DYNPNR = ' '
DYNPROFIELD = ' '
STEPL = 0
WINDOW_TITLE =
VALUE = ' '
VALUE_ORG = 'S'
MULTIPLE_CHOICE = ' '
DISPLAY = ' '
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
MARK_TAB =
IMPORTING
USER_RESET =
TABLES
VALUE_TAB = IT_MBLNR
FIELD_TAB =
RETURN_TAB = IT_RET
DYNPFLD_MAPPING =
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF SY-SUBRC = 0.
read table it_ret index 1.
move it_ret-fieldval to S_mat-low.
ENDIF.
Go through the test program.
REPORT Ztest_HELP .
TABLES : MARA.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS : P_MATNR(10) TYPE C.
SELECTION-SCREEN END OF BLOCK B1.
DATA : BEGIN OF ITAB OCCURS 0,
MATNR TYPE MATNR,
END OF ITAB.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_MATNR.
SELECT MATNR
FROM MARA
INTO TABLE ITAB
UP TO 10 ROWS.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'MATERIAL NUMBER'
DYNPPROG = SY-REPID
DYNPNR = SY-DYNNR
DYNPROFIELD = 'P_MATNR'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = ITAB
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
Regards
Anji -
How to find the existing function module is used in another function module
Hi all,
I created a function module and the same one is called from another function module.
When I tried to find where the first function module is used using Where-used List , I am getting the message "function module not found in selected areas" .
Please guide me what is other method to find whether the function module is used in another one.
Thanks,
Vengal Rao.hi,
Go to UTILITIES-> Update Navigation index.
or go to fucntion group and Generate the Funtion group once.
it will detect all fucntion modules under that function group.
regards,
Rama -
Function Modules for Data and Time
Hi all,
I need 2 function modules for date and time. when we pass current data(sy-datum) and current time (sy-uzeit) into function modules, shoud get date in <b>dd/mm/yyyy or dd.mm.yyyy</b> and time in<b> HH:MM:SS</b> formats.
Thanks in advanceHi Ranjith,
i think this will b usefull for you..
SAP Bar Chart Function Modules and what they are used for
Function module
Used for
BARC_GRAPHIC_PBO
Starting bar chart at PBO time, using a graphic profile (parameter PROFILE)
BARC_GRAPHIC_PAI
Analyzing data returned by the graphic
BARC_SET_TIME_AXIS
Setting start and end of time axis
BARC_SET_OPTIONS
Setting options
BARC_ADD_CHART
Creating a chart
BARC_SET_CHART_ATTRIB
Setting chart attributes
BARC_ADD_SECTION
Creating a section on the time axis
BARC_SET_SECTION_ATTRIB
Setting section attributes
BARC_ADD_RIBBON
Adding a ribbon to the time axis
BARC_SET_RIBBON_ATTRIB
Setting attributes for ribbons in the chart
BARC_ADD_GRID
Adding a time grid
BARC_SET_GRID_ATTRIB
Setting grid attributes
BARC_ADD_LAYER
Adding a layer (graphic elements)
BARC_SET_LAYER_ATTRIB
Setting layer attributes
BARC_ADD_LINE
Adding a line
BARC_ADD_CALENDAR
Creating a calendar
BARC_SET_CALENDAR_ATTRIB
Setting attributes for a calendar
BARC_ADD_TIME_PROFILE
Creating time profiles
BARC_SET_TIME_PROFILE_ATTRIB
Setting attributes for time profile
BARC_ADD_INTERVAL
Adding a time interval
BARC_SET_INTERVAL_ATTRIB
Setting time interval attributes
BARC_ADD_TIME_OBJECT
Creating a time object
BARC_CONVERT_DATE
Creating a date string in bar chart format
BARC_REVERT_DATE
Converting a date string in bar chart format to date and time
BARC_ADD_DATELINE
Creating a date line
BARC_SET_DATELINE_ATTRIB
Setting dateline attributes
BARC_GET_PROFILE_CONTENTS
Obtaining profile contents for customizing a chart
BARC_GET_COLUMN_WIDTH
Selecting new column width
BARC_SET_COLUMN_WIDTH
Setting the column width
BARC_GET_TEXTINDEX
Obtaining the text index of a field
BARC_SET_LABELS
Positioning the chart display
BARC_SET_COLUMN_ATTRIB
Setting column attributes
BARC_SET_ROW_ATTRIB
Setting row attributes
BARC_SET_ROW_HEIGHT
Setting the line height
BARC_SET_MAXCHARTS
Setting the maximum number of charts sent
<b>If its usefull reward points
</b> -
Function modules to create leave request?
Hi experts,
In my project I need to create a leave request and trigger workflow for approval. Do you know any function modules existed for this purpose? Or shall we need to create workflow and attach it with inserting IT2001 records?
Thanks a lot.Are you going to use standard SAP Portal application for leave or not?
If yes there are documents available about ESS configuration for the same and you can assign the standard workflow or copy and make the required chnages then assign it in configuration.
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/108c31e7-b6a7-2d10-3692-c1a9f7a5c4dc?QuickLink=index&overridelayout=true
Regards
Ajay -
Function Modules for creation of characteristics and Measurement Points
Hello everybody
I'm new in ABAP (trainee) and especially the use of characteristics. I'd be very happy if somebody could help me :).
Can anybody out there with some experience in creating characteristics and measurement points tell me how to create them with function-modules or by changing database tables?
I'm happy about every hint and ready to give some reward points.
Best Regards,
SteffenFM and TABLES
http://72.14.235.104/search?q=cache:71IXBMWcX_8J:reflexcontracts.co.uk/SAP_R3_QUICK_REF.xlsupdatetable+tse05&hl=en&ct=clnk&cd=1&gl=in
FUNCTION MODULES
http://www.erpgenie.com/abap/functions.htm
http://www.sapdevelopment.co.uk/fmodules/fmssap.htm
http://www.erpgenie.com/abap/index.htm
http://www.geocities.com/victorav15/sapr3/abapfun.html
Rewards if useful..........................
Minal -
How to Send Internal table to SAP Spool using Function Modules or Methods?
Hi Experts,
How to Send Internal table to SAP Spool using Function Modules or Methods?
Thanks ,
KiranThis is my code.
I still get the no ABAP list data for the spool, even tho I can see it sp01?
REPORT Z_MAIL_PAYSLIP.
* Declaration Part *
tables: PERNR, PV000, T549Q, V_T514D, HRPY_RGDIR.
infotypes: 0000, 0001, 0105, 0655.
data: begin of ITAB occurs 0,
MTEXT(25) type C,
PERNR like PA0001-PERNR,
ABKRS like PA0001-ABKRS,
ENAME like PA0001-ENAME,
USRID_LONG like PA0105-USRID_LONG,
end of ITAB.
data: W_BEGDA like HRPY_RGDIR-FPBEG,
W_ENDDA like HRPY_RGDIR-FPEND.
data: RETURN like BAPIRETURN1 occurs 0 with header line.
data: P_INFO like PC407,
P_FORM like PC408 occurs 0 with header line.
data: P_IDX type I,
MY_MONTH type T549Q-PABRP,
STR_MY_MONTH(2) type C,
MY_YEAR type T549Q-PABRJ,
STR_MY_YEAR(4) type C,
CRLF(2) type x value '0D0A'.
data: W_CMONTH(10) type C.
data: TAB_LINES type I,
ATT_TYPE like SOODK-OBJTP.
data: begin of P_INDEX occurs 0,
INDEX type I,
end of P_INDEX.
constants: begin of F__LTYPE, "type of line
CMD like PC408-LTYPE value '/:', "command
TXT like PC408-LTYPE value 's', "textline
end of F__LTYPE.
constants: begin of F__CMD, "commands
NEWPAGE like PC408-LINDA value '',
end of F__CMD.
data: P_LIST like ABAPLIST occurs 1 with header line.
*data: OBJBIN like SOLISTI1 occurs 10 with header line,
data: OBJBIN like LVC_S_1022 occurs 10 with header line,
DOCDATA like SODOCCHGI1,
OBJTXT like SOLISTI1 occurs 10 with header line,
OBJPACK like SOPCKLSTI1 occurs 1 with header line,
RECLIST like SOMLRECI1 occurs 1 with header line,
OBJHEAD like SOLISTI1 occurs 1 with header line,
it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
gd_buffer type string,
l_no_of_bytes TYPE i,
l_pdf_spoolid LIKE tsp01-rqident,
l_jobname LIKE tbtcjob-jobname.
data: file_length type int4,
spool_id type rspoid,
line_cnt type i.
*-------------------------------------------------------------------* * INITIALIZATION *
OBJBIN = ' | '.
append OBJBIN.
OBJPACK-HEAD_START = 1.
data: S_ABKRS like PV000-ABKRS.
data: S_PABRP like T549Q-PABRP.
data: S_PABRJ like T549Q-PABRJ.
* SELECTION SCREEN *
selection-screen begin of block BL1.
parameters: PAY_VAR like BAPI7004-PAYSLIP_VARIANT default 'ESS_PAYSLIPS' obligatory.
selection-screen end of block BL1.
START-OF-SELECTION.
s_ABKRS = PNPXABKR.
S_PABRP = PNPPABRP.
s_pabrj = PNPPABRJ.
w_begda = PN-BEGDA.
w_endda = PN-ENDDA.
get pernr.
* "Check active employees
rp-provide-from-last p0000 space pn-begda pn-endda.
CHECK P0000-STAT2 IN PNPSTAT2.
* "Check Payslip Mail flag
rp-provide-from-last p0655 space pn-begda pn-endda.
CHECK P0655-ESSONLY = 'X'.
rp-provide-from-last p0001 space pn-begda pn-endda.
* "Find email address
RP-PROVIDE-FROM-LAST P0105 '0030' PN-BEGDA PN-ENDDA.
if p0105-usrid_LONG ne ''.
ITAB-PERNR = P0001-PERNR.
ITAB-ABKRS = P0001-ABKRS.
ITAB-ENAME = P0001-ENAME.
ITAB-USRID_LONG = P0105-USRID_LONG.
append itab.
clear itab.
endif.
"SY-UCOMM ='ONLI'
END-OF-SELECTION.
*------------------------------------------------------------------* start-of-selection.
write : / 'Payroll Area : ', S_ABKRS.
write : / 'Payroll Period/Year : ',STR_MY_MONTH,'-',STR_MY_YEAR. write : / 'System Date : ', SY-DATUM.
write : / 'System Time : ', SY-UZEIT.
write : / 'User Name : ', SY-UNAME.
write : / SY-ULINE.
sort ITAB by PERNR.
loop at ITAB.
clear : P_INFO, P_FORM, P_INDEX, P_LIST, OBJBIN, DOCDATA, OBJTXT, OBJPACK, RECLIST, TAB_LINES.
refresh : P_FORM, P_INDEX, P_LIST, OBJBIN, OBJTXT, OBJPACK, RECLIST.
* Retrieve Payroll results sequence number for this run
select single * from HRPY_RGDIR where PERNR eq ITAB-PERNR
and FPBEG ge W_BEGDA
and FPEND le W_ENDDA
and SRTZA eq 'A'.
* Produce payslip for those payroll results
if SY-SUBRC = 0.
call function 'GET_PAYSLIP'
EXPORTING
EMPLOYEE_NUMBER = ITAB-PERNR
SEQUENCE_NUMBER = HRPY_RGDIR-SEQNR
PAYSLIP_VARIANT = PAY_VAR
IMPORTING
RETURN = RETURN
P_INFO = P_INFO
TABLES
P_FORM = P_FORM.
check RETURN is initial.
* remove linetype from generated payslip
loop at p_form.
objbin = p_form-linda.
append objbin.
line_cnt = line_cnt + 1.
endloop.
file_length = line_cnt * 1022.
* create spool file of paylsip
CALL FUNCTION 'SLVC_TABLE_PS_TO_SPOOL'
EXPORTING
i_file_length = file_length
IMPORTING
e_spoolid = spool_id
TABLES
it_textdata = objbin.
IF sy-subrc EQ 0.
WRITE spool_id.
ENDIF.
DESCRIBE table objbin.
DATA PDF LIKE TLINE OCCURS 100 WITH HEADER LINE.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
SRC_SPOOLID = spool_id
NO_DIALOG = ' '
DST_DEVICE = 'MAIL'
* PDF_DESTINATION =
* IMPORTING
* PDF_BYTECOUNT = l_no_of_bytes
* PDF_SPOOLID = l_pdf_spoolid
* LIST_PAGECOUNT =
* BTC_JOBNAME =
* BTC_JOBCOUNT =
TABLES
PDF = pdf
EXCEPTIONS
ERR_NO_ABAP_SPOOLJOB = 1
ERR_NO_SPOOLJOB = 2
ERR_NO_PERMISSION = 3
ERR_CONV_NOT_POSSIBLE = 4
ERR_BAD_DESTDEVICE = 5
USER_CANCELLED = 6
ERR_SPOOLERROR = 7
ERR_TEMSEERROR = 8
ERR_BTCJOB_OPEN_FAILED = 9
ERR_BTCJOB_SUBMIT_FAILED = 10
ERR_BTCJOB_CLOSE_FAILED = 11
OTHERS = 12
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*Download PDF file C Drive
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = 'C:\itab_to_pdf.pdf'
filetype = 'BIN'
TABLES
data_tab = pdf.
* Transfer the 132-long strings to 255-long strings
* LOOP AT pdf.
* TRANSLATE pdf USING ' ~'.
* CONCATENATE gd_buffer pdf INTO gd_buffer.
* ENDLOOP.
* TRANSLATE gd_buffer USING '~ '.
* DO.
* it_mess_att = gd_buffer.
* APPEND it_mess_att.
* SHIFT gd_buffer LEFT BY 255 PLACES.
* IF gd_buffer IS INITIAL.
* EXIT.
* ENDIF.
* ENDDO.
OBJHEAD = 'Objhead'.
append OBJHEAD.
* preparing email subject
concatenate W_ENDDA(6)
' Payslip-'
ITAB-ENAME+0(28)
ITAB-PERNR+4(4) ')'
into DOCDATA-OBJ_DESCR.
DOCDATA-OBJ_NAME = 'Pay Slip'.
DOCDATA-OBJ_LANGU = SY-LANGU.
OBJTXT = 'Pay Slip.'.
append OBJTXT.
*prepare email lines
OBJTXT = DOCDATA-OBJ_DESCR.
append OBJTXT.
OBJTXT = 'Please find enclosed your current payslip.'.
append OBJTXT.
* Write Attachment(Main)
* 3 has been fixed because OBJTXT has fix three lines
read table OBJTXT index 3.
* DOCDATA-DOC_SIZE = ( 3 - 1 ) * 255 + strlen( OBJTXT ).
clear OBJPACK-TRANSF_BIN.
OBJPACK-HEAD_START = 1.
OBJPACK-HEAD_NUM = 0.
OBJPACK-BODY_START = 1.
OBJPACK-BODY_NUM = 3.
OBJPACK-DOC_TYPE = 'RAW'.
append OBJPACK.
* Create Message Attachment
ATT_TYPE = 'PDF'.
describe table OBJBIN lines TAB_LINES.
read table OBJBIN index TAB_LINES.
* OBJPACK-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + strlen( OBJBIN ).
OBJPACK-TRANSF_BIN = 'X'.
OBJPACK-HEAD_START = 1.
OBJPACK-HEAD_NUM = 0.
OBJPACK-BODY_START = 1.
OBJPACK-BODY_NUM = TAB_LINES.
OBJPACK-DOC_TYPE = ATT_TYPE.
OBJPACK-OBJ_NAME = 'ATTACHMENT'.
OBJPACK-OBJ_DESCR = 'Payslip'.
append OBJPACK.
* Create receiver list refresh RECLIST.
clear RECLIST.
RECLIST-RECEIVER = itab-USRID_long.
translate RECLIST-RECEIVER to lower case.
RECLIST-REC_TYPE = 'U'.
append RECLIST.
* Send the document
*SO_NEW_DOCUMENT_ATT_SEND_API1
call function 'SO_DOCUMENT_SEND_API1'
exporting
DOCUMENT_DATA = DOCDATA
PUT_IN_OUTBOX = 'X'
COMMIT_WORK = 'X'
* IMPORTING
* SENT_TO_ALL =
* NEW_OBJECT_ID =
tables
PACKING_LIST = OBJPACK
OBJECT_HEADER = OBJHEAD
CONTENTS_BIN = pdf
CONTENTS_TXT = OBJTXT
* CONTENTS_HEX =
* OBJECT_PARA =
* OBJECT_PARB =
RECEIVERS = RECLIST
exceptions
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
DOCUMENT_TYPE_NOT_EXIST = 3
OPERATION_NO_AUTHORIZATION = 4
PARAMETER_ERROR = 5
X_ERROR = 6
ENQUEUE_ERROR = 7
others = 8.
if SY-SUBRC NE 0.
ITAB-MTEXT = 'Message Not Sent to : '.
else.
ITAB-MTEXT = 'Message Sent to : '.
endif.
* else.
* ITAB-MTEXT = 'Message Not Sent to : '.
* endif.
else.
"SY-SUBRC Not = 0
ITAB-MTEXT = 'Payroll data not found : '.
endif.
"end of SY-SUBRC = 0.
modify ITAB.
endloop. "end loop at ITAB
sort ITAB by MTEXT PERNR.
loop at ITAB.
at new MTEXT.
uline.
write : / ITAB-MTEXT color 4 intensified on.
write : / 'Emp. Code' color 2 intensified on,
12 'Emp. Name' color 2 intensified on,
54 'Email ID' color 2 intensified on.
endat.
write : / ITAB-PERNR, 12 ITAB-ENAME, 54 ITAB-USRID_LONG.
endloop. -
G_G_IDOC_REC_ZZINCOT function module not found in ECC 5.0
i am getting the dump.
the fuction module is not presend in ECC 5.0
Runtime Errors CALL_FUNCTION_NOT_FOUND
Exceptn CX_SY_DYN_CALL_ILLEGAL_FUNC
Date and Time 04/05/2007 07:13:25
ShrtText
Function module "G_G_IDOC_REC_ZZINCOT" not found.
What happened?
The function module "G_G_IDOC_REC_ZZINCOT" was called, but cannot be
found in the Function Library.
Error in ABAP application program.
The current ABAP program "SAPLGUIF" had to be terminated because one of the
statements could not be executed.
This is probably due to an error in the ABAP program.
What can you do?
Print out the error message (using the "Print" function)
and make a note of the actions and input that caused the
error.
To resolve the problem, contact your SAP system administrator.
You can use transaction ST22 (ABAP Dump Analysis) to view and administer
termination messages, especially those beyond their normal deletion
date.
is especially useful if you want to keep a particular message.
Error analysis
An exception occurred. This exception is dealt with in more detail below
. The exception, which is assigned to the class 'CX_SY_DYN_CALL_ILLEGAL_FUNC',
was neither
caught nor passed along using a RAISING clause, in the procedure
"IDOC_INPUT_GLROLL" "(FUNCTION)"
Since the caller of the procedure could not have expected this exception
to occur, the running program was terminated.
The reason for the exception is:
The program "SAPLGUIF" contains a CALL FUNCTION statement. The name
of the function module to be called is "G_G_IDOC_REC_ZZINCOT".
No function module exists with the name "G_G_IDOC_REC_ZZINCOT".
All function modules are stored in the Function Library (SE37).
Possible reasons:
a) Wrong name specified. Particular attention should be paid
to upper/lower case and underscores ("_")
b) Transport error
c) If an enqueue/dequeue module has been used, the lock object
may not have been activated (ABAP Dictionary)
may not have been activated (ABAP Dictionary).
How to correct the error
Check the last transports to the R/3 System.
Is the program "SAPLGUIF" currently being changed?
If an enqueue/dequeue module is involved, is the activation
of the lock object missing in the ABAP/4 Dictionary?
You may able to find an interim solution to the problem
in the SAP note system. If you have access to the note system yourself,
use the following search criteria:
"CALL_FUNCTION_NOT_FOUND" CX_SY_DYN_CALL_ILLEGAL_FUNCC
"SAPLGUIF" or "LGUIFU05"
"IDOC_INPUT_GLROLL"
Function modules with names similar to "G_G_IDOC_REC_ZZINCOT":
G_G_IDOC_REC_COFIT
G_G_IDOC_REC_FILCT
G_G_IDOC_REC_ECMCT
G_G_IDOC_REC_GLPCT
G_G_IDOC_REC_GLT0
G_G_IDOC_REC_SECURE
G_POSTING_ZZINCOT
G_G_IDOC_SEND_COFIT
G_G_IDOC_SEND_ECMCT
G_G_IDOC_SEND_SECURE
If you cannot solve the problem yourself and you wish to send
an error message to SAP, include the following documents:
1. A printout of the problem description (short dump)
To obtain this, select in the current display "System->List->
Save->Local File (unconverted)".
2. A suitable printout of the system log
To obtain this, call the system log through transaction SM21.
Limit the time interval to 10 minutes before and 5 minutes
after the short dump. In the display, then select the function
"System->List->Save->Local File (unconverted)".
3. If the programs are your own programs or modified SAP programs,
supply the source code.
To do this, select the Editor function "Further Utilities->
Upload/Download->Download".
4. Details regarding the conditions under which the error occurred
or which actions and input led to the error.
The exception must either be prevented, caught within the procedure
"IDOC_INPUT_GLROLL"
"(FUNCTION)", or declared in the procedure's RAISING clause.
To prevent the exception, note the following:
System environment
SAP Release.............. "640"
Application server....... "d48ix100"
Network address.......... "151.162.153.62"
Operating system......... "AIX"
Release.................. "5.3"
Hardware type............ "00C65EFD4C00"
Character length......... 8 Bits
Pointer length........... 64 Bits
Work process number...... 2
Short dump setting....... "full"
Database server.......... "d48ix100"
Database type............ "ORACLE"
Database name............ "D48"
Database owner........... "SAPR3"
Character set............ "en_US.ISO8859-1"
SAP kernel............... "640"
Created on............... "Nov 5 2006 20:46:58"
Created in............... "AIX 1 5 00538A4A4C00"
Database version......... "OCI_920 "
Patch level.............. "156"
Patch text............... " "
Supported environment....
Database................. "ORACLE 9.2.0.., ORACLE 10.1.0.., ORACLE
10.2.0.."
SAP database version..... "640"
Operating system......... "AIX 1 5, AIX 2 5, AIX 3 5"
Memory usage.............
Roll..................... 16128
EM....................... 8379856
Heap..................... 0
Page..................... 16384
MM Used.................. 2530176
MM Free.................. 1657232
SAP Release.............. "640"
User and Transaction
Client.............. 010
User................ "OS0730"
Language key........ "E"
Transaction......... "YICUPLD "
Program............. "SAPLGUIF"
Screen.............. "SAPMSSY0 1000"
Screen line......... 6
Information on where terminated
The termination occurred in the ABAP program "SAPLGUIF" in "IDOC_INPUT_GLROLL".
The main program was "Y21091IRECON ".
The termination occurred in line 65 of the source code of the (Include)
program "LGUIFU05"
of the source code of program "LGUIFU05" (when calling the editor 650).
Processing was terminated because the exception "CX_SY_DYN_CALL_ILLEGAL_FUNC"
occurred in the
procedure "IDOC_INPUT_GLROLL" "(FUNCTION)" but was not handled locally, not
declared in the
RAISING clause of the procedure.
The procedure is in the program "SAPLGUIF ". Its source code starts in line 5
of the (Include) program "LGUIF$05 ".
Source Code Extract
Line SourceCde
35
36 *Prüfen, ob Customizing richtig eingestellt ist
37 CHECK EXIT IS INITIAL.
38 PERFORM CHECK_CUSTOMIZING USING IDOC_NUMBER.
39
40 *Für Einzelposten neue Belegnummern vergeben
41 CHECK EXIT IS INITIAL.
42 PERFORM NEW_DOCUMENT_NUMBER USING IDOC_NUMBER
43 IDOC_CONTRL-MESTYP.
44
45 *Füllen der Segmentdaten
46 CHECK EXIT IS INITIAL.
47 CLEAR IDOC_SEGMENT. REFRESH IDOC_SEGMENT.
48
49 LOOP AT IDOC_DATA WHERE DOCNUM EQ IDOC_NUMBER.
50 IDOC_SEGMENT = IDOC_DATA.
51 APPEND IDOC_SEGMENT.
52 ENDLOOP.
53
54 *Name des zu rufenden Funktionsbausteines ermitteln
55 ROL_FUNCNAME = 'G_G_IDOC_REC_$'.
56 PERFORM BUILD_ROL_FUNCNAME USING IDOC_NUMBER ROL_FUNCNAME.
57
58 *Funktionsbaustein zum Empfangen des IDOC's aufrufen
59 *Wenn Sender 4.0 System -> Nimm' TAB30, sonst altes TAB
60 IF NOT E1GLTTF-TAB30 IS INITIAL.
61 L_TAB30 = E1GLTTF-TAB30.
62 ELSE.
63 L_TAB30 = E1GLTTF-TAB.
64 ENDIF.
>>>>> CALL FUNCTION ROL_FUNCNAME
66 EXPORTING
67 MESTYP = IDOC_CONTRL-MESTYP
68 DOCNUM = IDOC_NUMBER
69 TAB = L_TAB30
70 TABLES
71 IDOC_SEGMENT = IDOC_SEGMENT
72 IDOC_STATUS = IDOC_STATUS
73 RETURN_VARIABLES = RETURN_VARIABLES.
74
75 ENDLOOP.
76
77 *Keine IDOC's empfangen
78 IF SY-SUBRC NE 0.
79 RAISE WF_ERROR_PROCESS.
80 ELSE.
81 *Prüfen, ob Fehler bei der Verarbeitung der IDOCs aufgetreten sind
82 LOOP AT IDOC_STATUS WHERE MSGTY = 'A'
83 OR MSGTY = 'E'.
84 EXIT.
Contents of system fields
Name Val.
SY-SUBRC 0
SY-INDEX 0
SY-TABIX 2
SY-DBCNT 1
SY-FDPOS 0
SY-LSIND 0
SY-PAGNO 0
SY-LINNO 1
SY-COLNO 1
SY-PFKEY &I think that the FM is a customized one. Correct me if I am wrong. It is quite possible that certain FM's might have been missed out while the new system is built. Here I am assuming that the you are doing an upgrade.
If whatever, I've mentioned above is correct, you can copy the FM and its other components from the old system into the new one, to rectify the error
Maybe you are looking for
-
Help, safari crashed every time I open it
After a recent reinstall of the Lion OS on my macbook pro, the safari just crashed every time I open it. I've tried to change the login account, but the same problem remains. The error log is as follows: Process: Safari [861] Path:
-
EHP 6.0 PO Vendor Down payment process
Hi All , our client updated , EHP 6.0 , i have one query , one function updated "LOG_ MMFI _P2P" added new tab po header level payment processing , i want to how we can do po down payment process, how we can create vendor down payment header lev
-
Timed video out through firewire?
Hey everyone, In Final Cut Pro 5, is there a way to set print to video on a timer? For example, print to video on Friday at 2PM.... Or simply, just play the entire video in the timeline at a specific time? I'm assuming not, so does anyone know of any
-
Query about the events in ALV List
Hi, When does the events being triggered in the ALV? Whta is its behavior? Thanks a lot!
-
Quicktime 7 crashes on Open Image Sequence
Quick Time 7 Pro keeps crashing when I try and open an image sequence. It used to work fine for me, but I am now running Mavericks and version 7.6.6 of Quicktime pro 7. Has anyone else had this problem? Do you know a work around or an older version o