How to use table-detail with uiXML-BC4J?
Hi,
is there any sample code available how to use the table-detail tag with BC4J?
Found in the UIX samples that i need to implement a hide and a show event.
How to implement these eventhandlers for a bc4j:table?
Thanks, Markus
Hi Markus:
I am doing the same thing, I have a Master and Detail VO and calling Detail VO in <detail> </detail> tag.
Everthing thing display correctly, but when i click on the sortedcolumnheader while detail is disclosed, it closes the detail part. My detail information generated based on BC4J:Table detail:disclosed elements. could you please let me if you have faced this problem.
Thanks
Mohammad Tahir
Similar Messages
-
How to use table control in bdc, plz somebody tell me.
Hi Gurus,
Ples tell me
how to use table control in bdc, plz somebody tell me.
And send Sample CODE also. Thnaks in advance.hi,
Table control / step loop in BDC
Steploop and table contol is inevitable in certain transactions. When we run BDC for such transactions, we will face the situation: how many visible lines of steploop/tablecontrol are on the screen?
Although we can always find certain method to deal with it, such as function code 'NP', 'POPO', considering some extreme situation: there is only one line visible one the screen, our BDC program should display an error message. (See transaction 'ME21', we you resize your screen to let only one row visible, you can not enter mutiple lines on this screen even you use 'NP')
we can determine the number of visible lines on Transaction Screen from our Calling BDC program.
Demo ABAP code has two purposes:
1. how to determine number of visible lines and how to calculte page number;
(the 'calpage' routine has been modify to meet general purpose usage)
2. using field symbol in BDC program, please pay special attention to the difference
in Static ASSIGN and Dynamic ASSIGN.
Step1: go to screen painter to display the screen 121, then we can count the fixed line on this screen, there is 7 lines above the steploop and 2 lines below the steploop, so there are total 9 fixed lines on this screen. This means except these 9 lines, all the other line is for step loop.
Then have a look at steploop itselp, one entry of it will occupy two lines.
(Be careful, for table control, the head and the bottom scroll bar will possess another two fixed lines, and there is a maximum number for table line)
Now we have : FixedLine = 9
LoopLine = 2(for table control, LoopLine is always equal to 1)
Step2: go to transaction itself(ME21) to see how it roll page, in ME21, the first line of new page is always occupied by the last line of last page, so it begin with index '02', but in some other case, fisrt line is empty and ready for input.
Now we have: FirstLine = 0
or FirstLine = 1 ( in our case, FirstLine is 1 because the first line of new page is fulfilled)
Step3: write a subroutine calcalculating number of pages
(here, the name of actual parameter is the same as formal parameter)
global data: FixedLine type i, " number of fixed line on a certain screen
LoopLine type i, " the number of lines occupied by one steploop item
FirstLine type i, " possbile value 0 or 1, 0 stand for the first line of new " scrolling screen is empty, otherwise is 1
Dataline type i, " number of items you will use in BDC, using DESCRIBE to get
pageno type i, " you need to scroll screen how many times.
line type i, " number of lines appears on the screen.
index(2) type N, " the screen index for certain item
begin type i, " from parameter of loop
end type i. " to parameter of loop
*in code sample, the DataTable-linindex stands for the table index number of this line
form calpage using FixedLine type i (see step 1)
LoopLine type i (see step 1)
FirstLine type i (see step 2)
DataLine type i ( this is the item number you will enter in transaction)
changing pageno type i (return the number of page, depends on run-time visible line in table control/ Step Loop)
changing line type i.(visible lines one the screen)
data: midd type i,
vline type i, "visible lines
if DataLine eq 0.
Message eXXX.
endif.
vline = ( sy-srows - FixedLine ) div LoopLine.
*for table control, you should compare vline with maximum line of
*table control, then take the small one that is min(vline, maximum)
*here only illustrate step loop
if FirstLine eq 0.
pageno = DataLine div vline.
if pageno eq 0.
pageno = pageno + 1.
endif.
elseif FirstLine eq 1.
pageno = ( DataLine - 1 ) div ( vline - 1 ) + 1.
midd = ( DataLine - 1 ) mod ( vline - 1).
if midd = 0 and DataLine gt 1.
pageno = pageno - 1.
endif.
endif.
line = vline.
endform.
Step4 write a subroutine to calculate the line index for each item.
form calindex using Line type i (visible lines on the screen)
FirstLine type i(see step 2)
LineIndex type i(item index)
changing Index type n. (index on the screen)
if FirstLine = 0.
index = LineIndex mod Line.
if index = '00'.
index = Line.
endif.
elseif FirstLine = 1.
index = LineIndex mod ( Line - 1 ).
if ( index between 1 and 0 ) and LineIndex gt 1.
index = index + Line - 1.
endif.
if Line = 2.
index = index + Line - 1.
endif.
endif.
endform.
Step5 write a subroutine to calculate the loop range.
form calrange using Line type i ( visible lines on the screen)
DataLine type i
FirstLine type i
loopindex like sy-index
changing begin type i
end type i.
If FirstLine = 0.
if loopindex = 1.
begin = 1.
if DataLine <= Line.
end = DataLine.
else.
end = Line.
endif.
elseif loopindex gt 1.
begin = Line * ( loopindex - 1 ) + 1.
end = Line * loopindex.
if end gt DataLine.
end = DataLine.
endif.
endif.
elseif FirstLine = 1.
if loopindex = 1.
begin = 1.
if DataLine <= Line.
end = DataLine.
else.
end = Line.
endif.
elseif loop index gt 1.
begin = ( Line - 1 ) * ( loopindex - 1 ) + 2.
end = ( Line - 1 ) * ( loopindex - 1 ) + Line.
if end gt DataLine.
end = DataLine.
endif.
endif.
endif.
endform.
Step6
using field sysbol in your BDC, for example: in ME21, but you should calculate each item will correponding to which index in steploop/Table Control
form creat_bdc.
field-symbols: , , .
data: name1(14) value 'EKPO-EMATN(XX)',
name2(14) value 'EKPO-MENGE(XX)',
name3(15) value 'RM06E-SELKZ(XX)'.
assign: name1 to ,
name2 to ,
name3 to .
do pageno times.
if sy-index gt 1
*insert scroll page ok_code"
endif.
perform calrange using Line DataLine FirstLine sy-index
changing begin end.
loop at DataTable from begin to end.
perform calindex using Line FirstLine DataTable-LineIndex changing Index.
name1+11(2) = Index.
name2+11(2) = Index.
name3+12(2) = Index.
perform bdcfield using DataTable-matnr.
perform bdcfield using DataTable-menge.
perform bdcfield using DataTable-indicator.
endloop.
enddo.
example 1
BDC table control is an area on the screen in which you can display data in tabular form. You process it using a loop. Table controls are comparable to step loop tables. While a table control consists of a single definition row, step loop blocks may extend over more than one row. Table controls are more flexible than step loops, and are intended to replace them
When you need to handle a scenario like in sales order,it may contain more than one material,if you have more than one material We have to use table control,it will have number of columns and number of rows.
Table controls allow you to enter, display, and modify tabular data easily on the screen
Check this code,
PARAMETERS: file1 LIKE rlgrap-filename.
*Internal Table Declarations
DATA: BEGIN OF itab OCCURS 0,
matnr(18) TYPE c, "MaterialNumber
werks(4) TYPE c, "Plant
vdatu(10) TYPE c, "Valid From Date
bdatu(10) TYPE c, "Valid To Date
lifnr(10) TYPE c, "Vendor Number
ekorg(4) TYPE c, "Purchasing Organization
feskz TYPE c, "Fixed
autet TYPE c, "MRP Indicator
END OF itab.
DATA: bdcdata LIKE TABLE OF bdcdata WITH HEADER LINE.
*VARIABLES Declarations
DATA: wa1 LIKE LINE OF itab. "Workarea for ITAB
DATA: n TYPE i, "Check
count TYPE i.
DATA: cnt(2), "Counter
wa(15). "Workarea to hold concatenatedvalue
DATA v_msg(100).
DATA: flag.
DATA: file TYPE string.
*Initialization event
INITIALIZATION.
*At-selection-screen event
*To provide Input help for file name
AT SELECTION-SCREEN ON VALUE-REQUEST FOR file1.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
IMPORTING
file_name = file1.
*START-OF-SELECTION EVENT
START-OF-SELECTION.
MOVE file1 TO file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = file
filetype = 'ASC'
has_field_separator = 'X'
TABLES
data_tab = itab
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
*To populate BDCDATA and start data transfer
LOOP AT itab .
To validate Plant range
IF itab-werks = '1000' OR itab-werks = '2000'
OR itab-werks = '1008'.
AT NEW werks.
CLEAR: n.
cnt = 1.
PERFORM bdc_dynpro USING 'SAPLMEOR' '0200'.
PERFORM bdc_field USING 'BDC_CURSOR'
'EORD-MATNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'EORD-MATNR'
itab-matnr.
PERFORM bdc_field USING 'EORD-WERKS'
itab-werks.
PERFORM bdc_dynpro USING 'SAPLMEOR' '0205'.
CONCATENATE 'EORD-EKORG(' cnt ')' INTO wa.
PERFORM bdc_field USING 'BDC_CURSOR'
wa.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
ENDAT.
IF n = 12.
READ TABLE bdcdata WITH KEY fval = '=BU'.
bdcdata-fval = '=NS'.
MODIFY bdcdata INDEX sy-tabix TRANSPORTING fval.
PERFORM bdc_dynpro USING 'SAPLMEOR' '0205'.
PERFORM bdc_field USING 'BDC_CURSOR'
'EORD-VDATU(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
cnt = 2.
n = 2.
ENDIF.
CONCATENATE 'EORD-VDATU(' cnt ')' INTO wa.
PERFORM bdc_field USING wa
itab-vdatu.
CONCATENATE 'EORD-BDATU(' cnt ')' INTO wa.
PERFORM bdc_field USING wa
itab-bdatu.
CONCATENATE 'EORD-LIFNR(' cnt ')' INTO wa.
PERFORM bdc_field USING wa
itab-lifnr.
CONCATENATE 'EORD-EKORG(' cnt ')' INTO wa.
PERFORM bdc_field USING wa
itab-ekorg.
CONCATENATE 'RM06W-FESKZ(' cnt ')' INTO wa.
PERFORM bdc_field USING wa
itab-feskz.
CONCATENATE 'EORD-AUTET(' cnt ')' INTO wa.
PERFORM bdc_field USING wa
itab-autet.
IF n <> 12.
n = cnt.
ENDIF.
cnt = cnt + 1.
AT END OF werks.
CALL TRANSACTION 'ME01' USING bdcdata
UPDATE 'S'
MODE 'A'.
CLEAR:bdcdata,bdcdata[].
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = sy-msgid
lang = 'EN'
no = sy-msgno
v1 = sy-msgv1
v2 = sy-msgv2
v3 = sy-msgv3
v4 = sy-msgv4
IMPORTING
msg = v_msg.
WRITE:/ v_msg.
CLEAR: bdcdata,bdcdata[],flag.
ENDAT.
ENDIF.
ENDLOOP.
Start new screen *
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM.
Insert field values
FORM bdc_field USING fnam fval.
IF NOT fval IS INITIAL.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDIF.
CLEAR wa.
ENDFORM.
Sample code 2
THis is example to upload the Bank details of the Vendor which has the TC.
REPORT zprataptable2
NO STANDARD PAGE HEADING LINE-SIZE 255.
DATA : BEGIN OF itab OCCURS 0,
i1 TYPE i,
lifnr LIKE rf02k-lifnr,
bukrs LIKE rf02k-bukrs,
ekorg LIKE rf02k-ekorg,
ktokk LIKE rf02k-ktokk,
anred LIKE lfa1-anred,
name1 LIKE lfa1-name1,
sortl LIKE lfa1-sortl,
land1 LIKE lfa1-land1,
akont LIKE lfb1-akont,
fdgrv LIKE lfb1-fdgrv,
waers LIKE lfm1-waers,
END OF itab.
DATA : BEGIN OF jtab OCCURS 0,
j1 TYPE i,
banks LIKE lfbk-banks,
bankl LIKE lfbk-bankl,
bankn LIKE lfbk-bankn,
END OF jtab.
DATA : cnt(4) TYPE n.
DATA : fdt(20) TYPE c.
DATA : c TYPE i.
INCLUDE bdcrecx1.
START-OF-SELECTION.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = 'C:\first1.txt'
filetype = 'DAT'
TABLES
data_tab = itab.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = 'C:\second.txt'
filetype = 'DAT'
TABLES
data_tab = jtab.
LOOP AT itab.
PERFORM bdc_dynpro USING 'SAPMF02K' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF02K-KTOKK'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'RF02K-LIFNR'
itab-lifnr.
PERFORM bdc_field USING 'RF02K-BUKRS'
itab-bukrs.
PERFORM bdc_field USING 'RF02K-EKORG'
itab-ekorg.
PERFORM bdc_field USING 'RF02K-KTOKK'
itab-ktokk.
PERFORM bdc_dynpro USING 'SAPMF02K' '0110'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFA1-LAND1'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'LFA1-ANRED'
itab-anred.
PERFORM bdc_field USING 'LFA1-NAME1'
itab-name1.
PERFORM bdc_field USING 'LFA1-SORTL'
itab-sortl.
PERFORM bdc_field USING 'LFA1-LAND1'
itab-land1.
PERFORM bdc_dynpro USING 'SAPMF02K' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFA1-KUNNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFBK-BANKN(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
cnt = 0.
LOOP AT jtab WHERE j1 = itab-i1.
cnt = cnt + 1.
CONCATENATE 'LFBK-BANKS(' cnt ')' INTO fdt.
PERFORM bdc_field USING fdt jtab-banks.
CONCATENATE 'LFBK-BANKL(' cnt ')' INTO fdt.
PERFORM bdc_field USING fdt jtab-bankl.
CONCATENATE 'LFBK-BANKN(' cnt ')' INTO fdt.
PERFORM bdc_field USING fdt jtab-bankn.
IF cnt = 5.
cnt = 0.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFBK-BANKS(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=P+'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFBK-BANKN(02)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
ENDIF.
ENDLOOP.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFBK-BANKS(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0210'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFB1-FDGRV'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'LFB1-AKONT'
itab-akont.
PERFORM bdc_field USING 'LFB1-FDGRV'
itab-fdgrv.
PERFORM bdc_dynpro USING 'SAPMF02K' '0215'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFB1-ZTERM'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0220'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFB5-MAHNA'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0310'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFM1-WAERS'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'LFM1-WAERS'
itab-waers.
PERFORM bdc_dynpro USING 'SAPMF02K' '0320'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF02K-LIFNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_dynpro USING 'SAPLSPO1' '0300'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=YES'.
PERFORM bdc_transaction USING 'XK01'.
ENDLOOP.
PERFORM close_group.
Header file:
1 63190 0001 0001 0001 mr bal188 b in 31000 a1 inr
2 63191 0001 0001 0001 mr bal189 b in 31000 a1 inr
TC file:
1 in sb 11000
1 in sb 12000
1 in sb 13000
1 in sb 14000
1 in sb 15000
1 in sb 16000
1 in sb 17000
1 in sb 18000
1 in sb 19000
1 in sb 20000
1 in sb 21000
1 in sb 22000
2 in sb 21000
2 in sb 22000
Regards -
How to use table control in bdc briefly?
how to use table control in bdc briefly in description manner ?
Hi friend,
here i am giving exm. code of table control.see if help full to u.
REPORT zxk_01
NO STANDARD PAGE HEADING LINE-SIZE 255.
include bdcrecx1.
TYPES : BEGIN OF ty_data,
line(100) TYPE c,
END OF ty_data.
PARAMETERS: p_pcfile LIKE ibipparms-path DEFAULT 'D:\NKS.TXT'.
DATA : g_filename TYPE string.
TYPES : BEGIN OF ty_file,
lifnr(16) TYPE c, " vendor
bukrs(4) TYPE c, "company code
ktokk(4) TYPE c, " Acc grp
anred(15) TYPE c, " Title
name1(35) TYPE c, " name
sortl(10) TYPE c, " search term
stras(35) TYPE c, " street
ort01(35) TYPE c, " city
ort02(35) TYPE c, " district
land1(3) TYPE c, " country
pfach(10) TYPE c, " PO BOx
spras(2) TYPE c, " language
kunnr(10) TYPE c, " Customer
vbund(6) TYPE c, " trading partner
banks(3) TYPE c, " BANK COUNTRY
bankl(15) TYPE c, " BANK KEY
bankn(18) TYPE c, " BANK ACC
koinh(60) TYPE c, " ACC HOLDER
bkont(2) TYPE c, " CK
bvtyp(4) TYPE c, " BNKT
bkref(20) TYPE c, " REFERENCE DETAILS
namev(35) TYPE c, " first NAME
name2(35) TYPE c, " NAME
telf1(16) TYPE c, " TELEPHONE
abtnr(4) TYPE c, " DEPTT
pafkt(2) TYPE c, " FUNCTION
akont(10) TYPE c, " REC ACCOUNT
zuawa(3) TYPE c, " SORT KEY
lnrze(10) TYPE c, "HEAD OFFICE
fdgrv(10) TYPE c, " CASH MGMT GRP,
frgrp(4) TYPE c, " RELEASE GRP
zterm(4) TYPE c, " PAY TERMS
togru(4) TYPE c, " TOLERENCE GRP,
reprf, "CHECK DOUBLE INV
zwels(10) TYPE c, " PAYMENTS METHODS
zahls, " PAYMENTS BLOCK
hbkid(5) TYPE c, " house bank
zgrup(2) TYPE c, " grouping key
mahna(4) TYPE c, " dunn procedure
mansp, " DUNNING BLOCK'
gmvdt(10) TYPE c, " LEGAL DONE PROCEDURE
lfrma(10) TYPE c, " DUNN RECEPIENT
madat(10) TYPE c, " LAST DUNNED
mahns(1) TYPE c, " dunning level
mgrup(2) TYPE c, " grouping key
busab(2) TYPE c, "dunning clerk
END OF ty_file.
DATA : BEGIN OF it_xk01 OCCURS 0,
lifnr(16) TYPE c, " vendor
bukrs(4) TYPE c, "company code
ktokk(4) TYPE c, " Acc grp
anred(15) TYPE c, " Title
name1(35) TYPE c, " name
sortl(10) TYPE c, " search term
stras(35) TYPE c, " street
ort01(35) TYPE c, " city
ort02(35) TYPE c, " district
land1(3) TYPE c, " country
pfach(10) TYPE c, " PO BOx
spras(2) TYPE c, " language
kunnr(10) TYPE c, " Customer
vbund(6) TYPE c, " trading partner
akont(10) TYPE c, " REC ACCOUNT
zuawa(3) TYPE c, " SORT KEY
lnrze(10) TYPE c, "HEAD OFFICE
fdgrv(10) TYPE c, " CASH MGMT GRP,
frgrp(4) TYPE c, " RELEASE GRP
zterm(4) TYPE c, " PAY TERMS
togru(4) TYPE c, " TOLERENCE GRP,
reprf, "CHECK DOUBLE INV
zwels(10) TYPE c, " PAYMENTS METHODS
zahls, " PAYMENTS BLOCK
hbkid(5) TYPE c, " house bank
zgrup(2) TYPE c, " grouping key
mahna(4) TYPE c, " dunn procedure
mansp, " DUNNING BLOCK'
gmvdt(10) TYPE c, " LEGAL DONE PROCEDURE
lfrma(10) TYPE c, " DUNN RECEPIENT
madat(10) TYPE c, " LAST DUNNED
mahns(1) TYPE c, " dunning level
mgrup(2) TYPE c, " grouping key
busab(2) TYPE c, "dunning clerk
END OF it_xk01.
internal table for bank detaiils
DATA : BEGIN OF it_bank OCCURS 0,
banks(3) TYPE c, " BANK COUNTRY
bankl(15) TYPE c, " BANK KEY
bankn(18) TYPE c, " BANK ACC
koinh(60) TYPE c, " ACC HOLDER
bkont(2) TYPE c, " CK
bvtyp(4) TYPE c, " BNKT
bkref(20) TYPE c, " REFERENCE DETAILS
lifnr(16) TYPE c, " vendor
xezer, " CHECK
END OF it_bank.
INTERNAL TABLE FOR CONTACT PERSON
TYPES : BEGIN OF ty_cust,
lifnr(16) TYPE c,
namev(35) TYPE c, " first NAME
name1(35) TYPE c, " NAME
telf1(16) TYPE c, " TELEPHONE
abtnr(4) TYPE c, " DEPTT
pafkt(2) TYPE c, " FUNCTION
END OF ty_cust.
INTERNAL TABLES DECLARATION
DATA : it_bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE,
it_bdcmsgcoll LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE,
it_file TYPE TABLE OF ty_file,
it_data TYPE TABLE OF ty_data,
it_cust TYPE TABLE OF ty_cust.
WORK AREAS FOR TYPES
DATA : wa_xk01 LIKE it_xk01,
wa_data TYPE ty_data,
wa_file TYPE ty_file,
wa_bank LIKE it_bank,
wa_cust TYPE ty_cust.
*CALL METHOD cl_gui_frontend_services=>gui_upload
EXPORTING
filename = lt_file
filetype = 'ASC'
CHANGING
data_tab = iT_DATA.
IF sy-subrc <> 0.
ENDIF.
g_filename = p_pcfile.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = g_filename "'D:\TESTDATA1_XK01.txt'
filetype = 'TXT'
has_field_separator = 'X'
HEADER_LENGTH = 0
read_by_line = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
replacement = ' '
CHECK_BOM = ' '
VIRUS_SCAN_PROFILE =
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
data_tab = it_file
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT it_file INTO wa_file .
ON CHANGE OF WA_FILE-LIFNR.
wa_xk01-lifnr = wa_file-lifnr.
wa_xk01-bukrs = wa_file-bukrs.
wa_xk01-ktokk = wa_file-ktokk.
wa_xk01-anred = wa_file-anred.
wa_xk01-name1 = wa_file-name1.
wa_xk01-sortl = wa_file-sortl.
wa_xk01-stras = wa_file-stras.
wa_xk01-ort01 = wa_file-ort01.
wa_xk01-ort02 = wa_file-ort02.
wa_xk01-land1 = wa_file-land1.
wa_xk01-pfach = wa_file-pfach.
wa_xk01-spras = wa_file-spras.
wa_xk01-kunnr = wa_file-kunnr.
wa_xk01-vbund = wa_file-vbund.
wa_xk01-akont = wa_file-akont.
wa_xk01-zuawa = wa_file-zuawa.
wa_xk01-lnrze = wa_file-lnrze.
wa_xk01-fdgrv = wa_file-fdgrv.
wa_xk01-frgrp = wa_file-frgrp.
wa_xk01-zterm = wa_file-zterm.
wa_xk01-togru = wa_file-togru.
wa_xk01-reprf = wa_file-reprf.
wa_xk01-zwels = wa_file-zwels.
wa_xk01-zahls = wa_file-zahls.
wa_xk01-hbkid = wa_file-hbkid.
wa_xk01-zgrup = wa_file-zgrup.
wa_xk01-mahna = wa_file-mahna.
wa_xk01-mansp = wa_file-mansp.
wa_xk01-gmvdt = wa_file-gmvdt.
wa_xk01-lfrma = wa_file-lfrma.
wa_xk01-madat = wa_file-madat.
wa_xk01-mahns = wa_file-mahns.
wa_xk01-mgrup = wa_file-mgrup.
wa_xk01-busab = wa_file-busab.
APPEND wa_xk01 TO it_xk01.
CLEAR : WA_XK01.
CONTINUE.
ENDON.
IF WA_FILE-BANKS NE ''.
wa_bank-lifnr = wa_file-lifnr.
wa_bank-banks = wa_file-banks.
wa_bank-bankl = wa_file-bankl.
wa_bank-bankn = wa_file-bankn.
wa_bank-koinh = wa_file-koinh.
wa_bank-bkont = wa_file-bkont.
wa_bank-bvtyp = wa_file-bvtyp.
wa_bank-bkref = wa_file-bkref.
wa_cust-lifnr = wa_file-lifnr.
wa_cust-namev = wa_file-namev.
wa_cust-name1 = wa_file-name2.
wa_cust-telf1 = wa_file-telf1.
wa_cust-abtnr = wa_file-abtnr.
wa_cust-pafkt = wa_file-pafkt.
APPEND wa_bank TO it_bank.
APPEND wa_cust TO it_cust.
APPEND wa_xk01 TO it_xk01.
CLEAR : wa_bank , wa_cust.
ENDIF.
ENDLOOP.
START-OF-SELECTION.
LOOP AT it_xk01 INTO wa_xk01.
REFRESH it_bdcdata.
PERFORM bdc_dynpro USING 'SAPMF02K' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF02K-KTOKK'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'RF02K-LIFNR'
wa_xk01-lifnr. " vendor
PERFORM bdc_field USING 'RF02K-BUKRS'
wa_xk01-bukrs. " company cpode
PERFORM bdc_field USING 'RF02K-KTOKK'
wa_xk01-ktokk. " Acc group
PERFORM bdc_dynpro USING 'SAPMF02K' '0110'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFA1-SPRAS'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'LFA1-ANRED'
wa_xk01-anred. " title
PERFORM bdc_field USING 'LFA1-NAME1'
wa_xk01-name1. " name
PERFORM bdc_field USING 'LFA1-SORTL'
wa_xk01-sortl. " ' search term'
PERFORM bdc_field USING 'LFA1-STRAS'
wa_xk01-stras. "street'
PERFORM bdc_field USING 'LFA1-PFACH'
wa_xk01-pfach. " po box
PERFORM bdc_field USING 'LFA1-ORT01'
wa_xk01-ort01. " city
PERFORM bdc_field USING 'LFA1-ORT02'
wa_xk01-ort02. " district
PERFORM bdc_field USING 'LFA1-LAND1'
wa_xk01-land1. " country
PERFORM bdc_field USING 'LFA1-SPRAS'
wa_xk01-spras. " language
PERFORM bdc_dynpro USING 'SAPMF02K' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFA1-VBUND'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'LFA1-KUNNR' " customer
wa_xk01-kunnr.
PERFORM bdc_field USING 'LFA1-VBUND'
wa_xk01-vbund. " trading partner
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFBK-BKREF(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
DATA : fnam(20) TYPE c,
int TYPE c.
MOVE 1 TO int.
CLEAR wa_bank.
LOOP AT it_bank INTO wa_bank WHERE lifnr = wa_xk01-lifnr.
CONCATENATE 'LFBK-BANKS(' int ')' INTO fnam.
PERFORM bdc_field USING fnam
wa_bank-banks. " city
CONCATENATE 'LFBK-BANKL(' int ')' INTO fnam.
PERFORM bdc_field USING fnam
wa_bank-bankl.
CONCATENATE 'LFBK-BANKN(' int ')' INTO fnam.
PERFORM bdc_field USING fnam
wa_bank-bankn.
CONCATENATE 'LFBK-KOINH(' int ')' INTO fnam.
PERFORM bdc_field USING fnam
wa_bank-koinh.
CONCATENATE 'LFBK-BKONT(' int ')' INTO fnam.
PERFORM bdc_field USING fnam
wa_bank-bkont.
CONCATENATE 'LFBK-BVTYP(' int ')' INTO fnam.
PERFORM bdc_field USING fnam
wa_bank-bvtyp.
CONCATENATE 'LFBK-BKREF(' int ')' INTO fnam.
PERFORM bdc_field USING fnam
wa_bank-bkref.
int = int + 1.
ENDLOOP.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFBK-BANKS(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0380'.
PERFORM bdc_field USING 'BDC_CURSOR'
'KNVK-PAFKT(05)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
DATA : fnam1(20) TYPE c,
cnt.
cnt = 1.
CLEAR : wa_cust.
LOOP AT it_cust INTO wa_cust WHERE lifnr = wa_xk01-lifnr.
CONCATENATE 'KNVK-NAMEV(' cnt ')' INTO fnam1.
PERFORM bdc_field USING fnam1
wa_cust-namev.
CONCATENATE 'KNVK-NAME1(' cnt ')' INTO fnam1.
PERFORM bdc_field USING fnam1
wa_cust-name1.
CONCATENATE 'KNVK-TELF1(' cnt ')' INTO fnam1.
PERFORM bdc_field USING fnam1
wa_cust-telf1.
CONCATENATE 'KNVK-ABTNR(' cnt ')' INTO fnam1.
PERFORM bdc_field USING fnam1
wa_cust-abtnr.
CONCATENATE 'KNVK-PAFKT(' cnt ')' INTO fnam1.
PERFORM bdc_field USING fnam1
wa_cust-pafkt.
cnt = cnt + 1.
ENDLOOP.
PERFORM bdc_dynpro USING 'SAPMF02K' '0380'.
PERFORM bdc_field USING 'BDC_CURSOR'
'KNVK-NAMEV(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0210'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFB1-FRGRP'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'LFB1-AKONT'
wa_xk01-akont. " REC aCC
PERFORM bdc_field USING 'LFB1-ZUAWA'
wa_xk01-zuawa. " SORT KEY
PERFORM bdc_field USING 'LFB1-LNRZE'
wa_xk01-lnrze. " HEAD OFFICE
PERFORM bdc_field USING 'LFB1-FDGRV'
wa_xk01-fdgrv. " CASH MGMT GRP
PERFORM bdc_field USING 'LFB1-FRGRP'
wa_xk01-frgrp. " RELEASE GRP
PERFORM bdc_field USING 'LFB1-CERDT'
PERFORM bdc_dynpro USING 'SAPMF02K' '0215'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFB1-ZGRUP'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'LFB1-ZTERM'
wa_xk01-zterm. " PAYMENT TERMS'
PERFORM bdc_field USING 'LFB1-TOGRU'
wa_xk01-togru. " TOLERENCE GRP
PERFORM bdc_field USING 'LFB1-REPRF'
wa_xk01-reprf. " CHECK DOUBLE INV
PERFORM bdc_field USING 'LFB1-ZWELS'
wa_xk01-zwels. " PAYMENT METHOD
PERFORM bdc_field USING 'LFB1-ZAHLS'
wa_xk01-zahls. " PAYMENT BLOCK
PERFORM bdc_field USING 'LFB1-HBKID'
wa_xk01-hbkid. " HOUSE BANK
PERFORM bdc_field USING 'LFB1-ZGRUP'
wa_xk01-zgrup. " GROUPING KEY
PERFORM bdc_dynpro USING 'SAPMF02K' '0220'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFB5-BUSAB'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'LFB5-MAHNA'
wa_xk01-mahna. " DUNN PROCEDURE
PERFORM bdc_field USING 'LFB5-MANSP'
wa_xk01-mansp. " DUNNING BLOCK
PERFORM bdc_field USING 'LFB5-LFRMA'
wa_xk01-lfrma. " Dunn representative
PERFORM bdc_field USING 'LFB5-GMVDT'
wa_xk01-gmvdt. " legal dunn proc
PERFORM bdc_field USING 'LFB5-MADAT'
wa_xk01-madat. " last dunned
PERFORM bdc_field USING 'LFB5-MAHNS'
wa_xk01-mahns. " dunn level
PERFORM bdc_field USING 'LFB5-BUSAB'
wa_xk01-busab. " dunning clerk
PERFORM bdc_field USING 'LFB1-MGRUP'
wa_xk01-mgrup. " grouping key
CALL TRANSACTION 'XK01' USING it_bdcdata
MODE 'A'.
ENDLOOP.
Start new screen *
FORM bdc_dynpro USING program dynpro.
CLEAR it_bdcdata.
it_bdcdata-program = program.
it_bdcdata-dynpro = dynpro.
it_bdcdata-dynbegin = 'X'.
APPEND it_bdcdata.
ENDFORM. "BDC_DYNPRO
Insert field
FORM bdc_field USING fnam fval TYPE any.
CLEAR it_bdcdata.
it_bdcdata-fnam = fnam.
it_bdcdata-fval = fval.
APPEND it_bdcdata.
ENDFORM. "bdc_field
*perform close_group. -
How to use Oracle partitioning with JPA @OneToOne reference?
Hi!
A little bit late in the project we have realized that we need to use Oracle partitioning both for performance and admin of the data. (Partitioning by range (month) and after a year we will move the oldest month of data to an archive db)
We have an object model with an main/root entity "Trans" with @OneToMany and @OneToOne relationships.
How do we use Oracle partitioning on the @OneToOne relationships?
(We'd rather not change the model as we already have millions of rows in the db.)
On the main entity "Trans" we use: partition by range (month) on a date column.
And on all @OneToMany we use: partition by reference (as they have a primary-foreign key relationship).
But for the @OneToOne key for the referenced object, the key is placed in the main/source object as the example below:
@Entity
public class Employee {
@Id
@Column(name="EMP_ID")
private long id;
@OneToOne(fetch=FetchType.LAZY)
@JoinColumn(name="ADDRESS_ID")
private Address address;
EMPLOYEE (table)
EMP_ID FIRSTNAME LASTNAME SALARY ADDRESS_ID
1 Bob Way 50000 6
2 Sarah Smith 60000 7
ADDRESS (table)
ADDRESS_ID STREET CITY PROVINCE COUNTRY P_CODE
6 17 Bank St Ottawa ON Canada K2H7Z5
7 22 Main St Toronto ON Canada L5H2D5
From the Oracle documentation: "Reference partitioning allows the partitioning of two tables related to one another by referential constraints. The partitioning key is resolved through an existing parent-child relationship, enforced by enabled and active primary key and foreign key constraints."
How can we use "partition by reference" on @OneToOne relationsships or are there other solutions?
Thanks for any advice.
/MatsCrospost! How to use Oracle partitioning with JPA @OneToOne reference?
-
How to use Table valued MSSQL function in OBIEE
Hi all,
Can some one help me to understand how to use table valued function in OBIEE? I want to use a table valued function (MSSQL function, with some input parameter), in the physical layer to pull the data?
I know for MSSQL Stored Procedure we can write as
EXEC SP_NAME @Parameter = 'VLUEOF(NQ_SESSION.Variablename)'
but now I have a table valued function in the query window I can get the data as
select * from myfunction(parametervalue)
In physical layer of OBIEE I have tried as
select * from myfunction('VLUEOF(NQ_SESSION.Variablename)'), but I'm getting error as the NQ_SESSION variable doesn't have a value , but actually I have initialized the variable but still Im getting error.
Can some one help me to solve this.
Thanks,
MithunFollow this link and try yourself. let me know for issues
Substring instr issue in obiee
Appreciate if you mark
Edited by: Srini VEERAVALLI on Feb 20, 2013 8:13 AM -
How to use File Adapter with hierarchial Structure?
Hi,
How to use File Adapter with hierarchial Structure like..
Data:
--Header Details:
Line Item Details:
Data
Bcoz I am getting a Flatfile in a hierarchial way as shown below.
Header Details :1
Line Item a
Line Item b
Header Details :2
Line Item c
Line Item d
KishoreHey Kishore,
In order to create a structure you need to use the file with convertion mode on the sending communication channel of the file adapter.
check the link for the needed configuration paramters.
If the structure is more complexed you can use the Contetnt master(CM) from itemfield which allows to ceate XML file from complex flat files and more.
<a href="http://help.sap.com/saphelp_erp2005/helpdata/en/0d/5ab43b274a960de10000000a114084/frameset.htm">File sender adapter</a>
If you have any question i'll be more than happy to assist.
Nimrod Gisis -
How to use table control in LSMW
Hello All,
I have requirement to use LSMW , in my using transaction have table control ,I need to pass values in table control . how to use table control in LSMW .Can any one give me the solution for this.
Best regards,
Satya.Note: The recording function records a fixed screen sequence. It cannot be used for migrating data containing a variable number of items or for transactions with dynamic screen sequences!
Tip: It is possible to create a recording via SHDB, generate a program out of this recording, and adopt the program to your needs and registrate the program to be able to use it in LSMW.
Thats means, for creation of project and WBS Elements is not possible through
1. LSMW-BDC (For both CJ01 and CJ20n)
2. LSMW-BAPI (Method: Maintain is not listed )
3. LSME-Standard Batch Direct Input.
Its possible through programmatically(SE38.) either using BAPI Or BDC.
Thanks, -
How to use Cinema4D lite with no opening After Effects CC ?
How to use Cinema4D lite with no opening After Effects CC ?
Is that possible ?
Open a 3D object Photoshop-type in After Effects CC (without C4D)
It is also possible?
thanks
xavIt is as Mylenium says.
See this page for details such as this:
"You open the version of CINEMA 4D that is installed with After Effects using the New > MAXON CINEMA 4D File command or the Edit Original command in After Effects. You will not see this version of CINEMA 4D installed in the Start menu on Windows or in the Applications directory on Mac OS." -
How to use crystal report with php
Hello every body
can any body know how to use crystal report with php any helping material, code or tutorial for my problem ill be very thankful for helping me
farooqHello sir
i am sudeep and i need to deploy crstal reports in php
i want to integrate it in sugar crm (open source project(
can u plz tell me how to do it
i have written this code
<?php
//echo phpinfo();exit;
$ObjectFactory= New COM("CrystalReports11.ObjectFactory.1");
$crapp = $ObjectFactory->CreateObject("CrystalDesignRunTime.Application");
//$crapp = new COM("CrystalRuntime.Application.10");
$reportToRun="C:\Report4.rpt";
$creport = $crapp->OpenReport($reportToRun, 1);
//reportToRun=full path to *.rpt file
$creport->Database->Tables->
Item(1)->ConnectionProperties['User ID'] = $user;
$creport->Database->Tables->
Item(1)->ConnectionProperties['Password'] = $pass;
//fomatType = integer 22=xls, 31=pdf etc
$creport->ExportOptions->FormatType = $formatType;
//type 1 is to output to a file I think 2 is email
$creport->ExportOptions->DestinationType = 1;
//location = full path to report output file
$creport->ExportOptions->DiskFileName = $location;
$creport->DiscardSavedData();
$creport->Export(False);
?>
thanks in advance -
How to handle Table controls with XD01 in BDC
How to handle Table controls with XD01 in BDC - If there are more than 5/6 records in Table control. - Can any one explain it with a piece of code plz..
Thanks & Regards,
Krishna ChaitanyaHi
check this code...viz for xko1....
DATA: BEGIN OF it_xk01 OCCURS 0,
f1(1),
f2(5),
f3(5),
f4(9),
f5(9),
END OF it_xk01.
DATA: v_count(2) VALUE '00',
v_koinh(14),
v_banks(14),
v_bankn(14),
v_bankl(14),
it_bdcdata TYPE STANDARD TABLE OF bdcdata WITH HEADER LINE,
wa_ctuparams type ctu_params.
PARAMETERS: p_file TYPE rlgrap-filename OBLIGATORY.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
PERFORM get_f4.
START-OF-SELECTION.
PERFORM upload_data.
END-OF-SELECTION.
LOOP AT it_xk01.
IF it_xk01-f1 = 'H'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF02K-KTOKK'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'RF02K-KTOKK'
it_xk01-f2.
ENDIF.
IF it_xk01-f1 = 'N'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0110'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFA1-PSTLZ'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=VW'.
PERFORM bdc_field USING 'LFA1-ANRED'
'Mr'.
PERFORM bdc_field USING 'LFA1-NAME1'
it_xk01-f2.
PERFORM bdc_field USING 'LFA1-SORTL'
it_xk01-f3.
PERFORM bdc_field USING 'LFA1-PSTLZ'
it_xk01-f4.
PERFORM bdc_field USING 'LFA1-LAND1'
it_xk01-f5.
PERFORM bdc_dynpro USING 'SAPMF02K' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFA1-KUNNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=VW'.
ENDIF.
IF it_xk01-f1 = 'I'.
v_count = v_count + 1.
IF v_count le 5.
CONCATENATE 'LFBK-KOINH(' v_count ')' INTO v_koinh.
CONCATENATE 'LFBK-BANKS(' v_count ')' INTO v_banks.
CONCATENATE 'LFBK-BANKN(' v_count ')' INTO v_bankn.
CONCATENATE 'LFBK-BANKL(' v_count ')' INTO v_bankl.
CONDENSE v_koinh NO-GAPS.
CONDENSE v_banks NO-GAPS.
CONDENSE v_bankl NO-GAPS.
CONDENSE v_bankn NO-GAPS.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
v_koinh.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING v_banks
it_xk01-f2.
PERFORM bdc_field USING v_bankl
it_xk01-f3.
PERFORM bdc_field USING v_bankn
it_xk01-f4.
PERFORM bdc_field USING v_koinh
it_xk01-f5.
else.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
v_koinh.
PERFORM bdc_field USING 'BDC_OKCODE'
'=P+'.
v_count = 1.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
v_koinh.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
CONCATENATE 'LFBK-KOINH(' v_count ')' INTO v_koinh.
CONCATENATE 'LFBK-BANKS(' v_count ')' INTO v_banks.
CONCATENATE 'LFBK-BANKN(' v_count ')' INTO v_bankn.
CONCATENATE 'LFBK-BANKL(' v_count ')' INTO v_bankl.
CONDENSE v_koinh NO-GAPS.
CONDENSE v_banks NO-GAPS.
CONDENSE v_bankl NO-GAPS.
CONDENSE v_bankn NO-GAPS.
PERFORM bdc_field USING v_banks
it_xk01-f2.
PERFORM bdc_field USING v_bankl
it_xk01-f3.
PERFORM bdc_field USING v_bankn
it_xk01-f4.
PERFORM bdc_field USING v_koinh
it_xk01-f5.
ENDIF.
ENDIF.
CLEAR it_xk01.
ENDLOOP.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
v_koinh.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPLSPO1' '0300'.
perform bdc_field using 'BDC_OKCODE'
'=YES'.
wa_ctuparams-DISMODE = 'A'.
wa_ctuparams-UPDMODE = 'S'.
wa_ctuparams-DEFSIZE = 'X'.
CALL TRANSACTION 'XK01' USING it_bdcdata MODE 'A'
UPDATE 'S'.
options from wa_ctuparams.
MODE 'A'
UPDATE 'S'.
*& Form upload_data
text
FORM upload_data .
DATA: lv_infile TYPE string.
lv_infile = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = lv_infile
filetype = 'ASC'
has_field_separator = 'X'
TABLES
data_tab = it_xk01.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " upload_data
*& Form get_f4
text
FORM get_f4 .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
FIELD_NAME = ' '
IMPORTING
file_name = p_file.
ENDFORM. " get_f4
Start new screen *
FORM bdc_dynpro USING program dynpro.
CLEAR it_bdcdata.
it_bdcdata-program = program.
it_bdcdata-dynpro = dynpro.
it_bdcdata-dynbegin = 'X'.
APPEND it_bdcdata.
ENDFORM. "BDC_DYNPRO
Insert field *
FORM bdc_field USING fnam fval.
IF FVAL <> NODATA.
CLEAR it_bdcdata.
it_bdcdata-fnam = fnam.
it_bdcdata-fval = fval.
APPEND it_bdcdata.
ENDIF.
ENDFORM. "BDC_FIELD
*H 0302
*N sdng dddsj 500020 IN
*I IN ICICI 734897597 xyz
*I IN SBH 768346687 abc
*I IN SBI 345687346 fgh
*I IN SBH 763846878 ujhgf
*I IN HSBC 797893778 fvdg
*I IN HDFC 723678638 fdgf
*I IN 4444 435645646 fgfg
*I IN 3400 763468768 gfgfg -
How to use my itunes with a new pc
how to use my itunes with a new pc?
These are two possible approaches that will normally work to move an existing library to a new computer.
Method 1
Backup the library with this User Tip.
Deauthorize the old computer if you no longer want to access protected content on it.
Restore the backup to your new computer using the same tool used to back it up.
Keep your backup up-to-date in future.
Method 2
Connect the two computers to the same network. Share your <User's Music> folder from the old computer and copy the entire iTunes library folder into the <User's Music> folder on the new one. Again, deauthorize the old computer if no longer required.
Both methods should give the new computer a working clone of the library that was on the old one. As far as iTunes is concerned this is still the "home" library for your devices so you shouldn't have any issues with iTunes wanting to erase and reload.
I'd recommend method 1 since it establishes an ongoing backup for your library.
If you have an iOS device that syncs with contact & calendar data on your computer you should migrate this information too. If that isn't possible create a dummy entry of each type in your new profile and iTunes should offer to merge the existing data from the device into the computer, otherwise the danger is that it will wipe the information from the device.
If your media folder has been split out from the main iTunes folder you may need to do some preparatory work to make it easier to move. See make a split library portable.
Should you be in the unfortunate position where you are no longer able to access your original library, or a backup of it, then see Recover your iTunes library from your iPod or iOS device for advice on how to set up your devices with a new library with the maximum preservation of data. If you don't have any Apple devices then see HT2519 - Downloading past purchases from the App Store, iBookstore, and iTunes Store.
tt2 -
How to use the namespace with a parser?
I want to use the namespace in my project. For this reason, I use a sample
from
http://java.sun.com/xml/jaxp/dist/1.1/docs/tutorial/sax/7b_pe.html
http://java.sun.com/xml/jaxp/dist/1.1/docs/tutorial/dom/5_ns.html
to test my understanding.
The slideshow2.dtd refer to the definition in 'xhtml.dtd'. Because in these
two files, they all use the 'title' as the element names. To solve these
conflicts, The namespace is used to qualified the one in slideshow2.dtd.
But the parser still complain that the 'title' in slideshow2.dtd is declared
more than once.
I use apache's Xerces.
I want to know if Xereces realy support namespace spec. now, or how to use
the namespace with a parser. Can anyone kindly tell me where to find some
material that demo the use of namespace in Java program.
Thanks for any help!!!
#############FILE: slideshow2.dtd ###############
<?xml version='1.0' encoding='us-ascii'?>
<!ELEMENT slideshow (slide+)>
<!ELEMENT slide (title?, item*)>
<!ENTITY % xhtml SYSTEM "xhtml.dtd">
%xhtml;
<!ELEMENT title (#PCDATA)*>
<!ATTLIST title
xmlns CDATA #FIXED "http://www.example.com/slideshow"
>
<!ELEMENT item (#PCDATA)>
##############FILE: xhtml.dtd #########################
<?xml version='1.0' encoding='us-ascii'?>
<!ELEMENT html (head)>
<!ATTLIST html
xmlns CDATA #FIXED "http://www.example.com/xhtml"
>
<!ELEMENT head (title,style*)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT style (#PCDATA)>
#############FILE: slideshow.xml ####################
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE slideshow SYSTEM "slideshow2.dtd">
<slideshow>
<slide>
<title xmlns="http://www.example.com/slideshow">Wake up to
products!</title>
</slide>
</slideshow>I want to use the namespace in my project. For this reason, I use a sample
from
http://java.sun.com/xml/jaxp/dist/1.1/docs/tutorial/sax/7b_pe.html
http://java.sun.com/xml/jaxp/dist/1.1/docs/tutorial/dom/5_ns.html
to test my understanding.
The slideshow2.dtd refer to the definition in 'xhtml.dtd'. Because in these
two files, they all use the 'title' as the element names. To solve these
conflicts, The namespace is used to qualified the one in slideshow2.dtd.
But the parser still complain that the 'title' in slideshow2.dtd is declared
more than once.
I use apache's Xerces.
I want to know if Xereces realy support namespace spec. now, or how to use
the namespace with a parser. Can anyone kindly tell me where to find some
material that demo the use of namespace in Java program.
Thanks for any help!!!
#############FILE: slideshow2.dtd ###############
<?xml version='1.0' encoding='us-ascii'?>
<!ELEMENT slideshow (slide+)>
<!ELEMENT slide (title?, item*)>
<!ENTITY % xhtml SYSTEM "xhtml.dtd">
%xhtml;
<!ELEMENT title (#PCDATA)*>
<!ATTLIST title
xmlns CDATA #FIXED "http://www.example.com/slideshow"
>
<!ELEMENT item (#PCDATA)>
##############FILE: xhtml.dtd #########################
<?xml version='1.0' encoding='us-ascii'?>
<!ELEMENT html (head)>
<!ATTLIST html
xmlns CDATA #FIXED "http://www.example.com/xhtml"
>
<!ELEMENT head (title,style*)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT style (#PCDATA)>
#############FILE: slideshow.xml ####################
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE slideshow SYSTEM "slideshow2.dtd">
<slideshow>
<slide>
<title xmlns="http://www.example.com/slideshow">Wake up to
products!</title>
</slide>
</slideshow> -
How to use union statement with declare & set function?
Hi Experts,
i have small query about how to use union statement with declare & set function?
Example as below :
DECLARE @name AS date
Declare @name2 AS date
/* SELECT FROM [2013].[dbo].[OINV] T0 */
/* WHERE */
SET @name = /* T0.DocDate */ '[%1]'
SET @name2 = /* T0.DocDate */ '[%2]'
select '2013',t5.U_salmannm,t1.CardName,t2.sumapplied as CollectionAmount,t2.DcntSum ,t3.DocTotal as InvoiceTotal,
datediff(dd,t3.DocDate,t1.Docdate) as Days
from 2013.dbo.orct t1
inner join 2013.dbo.RCT2 t2 on t1.DocNum = t2.DocNum
left join 2013.dbo.oinv t3 on
t3.docentry = t2.baseAbs
inner join 2013.dbo.ocrd t4 on t1.Cardcode = t4.CardCode
inner join [2013].[dbo].[@CQ_RTSM] t5 on t4.U_BeatCode = t5.U_RoutCode
where t2.DcntSum <> 0.000000 and t3.DocDate between [%1] and [%2]
Union
/* SELECT FROM [2014].[dbo].[OINV] T0 */
/* WHERE */
SET @name = /* T0.DocDate */ '[%1]'
SET @name2 = /* T0.DocDate */ '[%2]'
select '2014',t5.U_salmannm,t1.CardName,t2.sumapplied as CollectionAmount,t2.DcntSum ,t3.DocTotal as InvoiceTotal,
datediff(dd,t3.DocDate,t1.Docdate) as Days
from 2014.dbo.orct t1
inner join 2014.dbo.RCT2 t2 on t1.DocNum = t2.DocNum
left join 2014.dbo.oinv t3 on
t3.docentry = t2.baseAbs
inner join 2014.dbo.ocrd t4 on t1.Cardcode = t4.CardCode
inner join [2014].[dbo].[@CQ_RTSM] t5 on t4.U_BeatCode = t5.U_RoutCode
where t2.DcntSum <> 0.000000 and t3.DocDate between [%1] and [%2]You have to create stored procedure in SQL only .
Like u must have create for Crystal .
You can execute procedure in query manager but you have to enter parameter manually..
example
Exec @Test '20140101' '20140501'
Every time user has to enter it manually in yyyymmdd format in case of date parameters.
Example
Create Proc [@Test]
as begin
DECLARE @name AS date
Declare @name2 AS date
/* SELECT FROM [2013].[dbo].[OINV] T0 */
/* WHERE */
select '2013',t5.U_salmannm,t1.CardName,t2.sumapplied as CollectionAmount,t2.DcntSum ,t3.DocTotal as InvoiceTotal,
datediff(dd,t3.DocDate,t1.Docdate) as Days
from 2013.dbo.orct t1
inner join 2013.dbo.RCT2 t2 on t1.DocNum = t2.DocNum
left join 2013.dbo.oinv t3 on
t3.docentry = t2.baseAbs
inner join 2013.dbo.ocrd t4 on t1.Cardcode = t4.CardCode
inner join [2013].[dbo].[@CQ_RTSM] t5 on t4.U_BeatCode = t5.U_RoutCode
where t2.DcntSum <> 0.000000 and t3.DocDate between @Name and @Name2
Union
/* SELECT FROM [2014].[dbo].[OINV] T0 */
/* WHERE */
select '2014',t5.U_salmannm,t1.CardName,t2.sumapplied as CollectionAmount,t2.DcntSum ,t3.DocTotal as InvoiceTotal,
datediff(dd,t3.DocDate,t1.Docdate) as Days
from 2014.dbo.orct t1
inner join 2014.dbo.RCT2 t2 on t1.DocNum = t2.DocNum
left join 2014.dbo.oinv t3 on
t3.docentry = t2.baseAbs
inner join 2014.dbo.ocrd t4 on t1.Cardcode = t4.CardCode
inner join [2014].[dbo].[@CQ_RTSM] t5 on t4.U_BeatCode = t5.U_RoutCode
where t2.DcntSum <> 0.000000 and t3.DocDate between
between @Name and @Name2
end -
How to use Stylesheet (XSL) with JSPX ?
Hi!
How to use XSL stylesheets with JSPX pages?
I want use an xsl transformations with jspx pages, I tried using the following syntax, but it didn't work....
<?xml version='1.0' stylesheet type="text/xsl" href="mathml.xsl" encoding='UTF-8'?>
<tr:html xmlns="http://www.w3.org/1999/xhtml">
what is the best way to use xslt with jspx pages?
Thanking you in advance,
SambaThanks Ric,
But My problem is not solved..
I'm getting the transformation working in plain HTML
The file given below :
<?xml-stylesheet type="text/xsl" href="mathml.xsl"?>
<!--
Copyright David Carlisle 2001, 2002.
Use and distribution of this code are permitted under the terms of the <a
href="http://www.w3.org/Consortium/Legal/copyright-software-19980720"
W3C Software Notice and License</a>.-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
<head>
<title>Content MathML Examples</title>
</head>
<body>
<div style="border-style:solid; border-width:1px; margin: 1em 1em 1em 1em; padding: 1em 1em 1em 1em;color:gold;background:grey;">
<pre><![CDATA[<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<apply>
<abs/>
<ci> x </ci>
</apply>
<piecewise>
<piece>
<apply><minus/><ci> x </ci></apply>
<apply><lt/><ci> x </ci> <cn> 0 </cn></apply>
</piece>
<piece>
<cn> 0 </cn>
<apply><eq/><ci> x </ci> <cn> 0 </cn></apply>
</piece>
<piece>
<ci> x </ci>
<apply><gt/><ci> x </ci> <cn> 0 </cn></apply>
</piece>
</piecewise>
</apply>
</math>]]>
</pre>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<apply>
<abs/>
<ci> x </ci>
</apply>
<piecewise>
<piece>
<apply><minus/><ci> x </ci></apply>
<apply><lt/><ci> x </ci> <cn> 0 </cn></apply>
</piece>
<piece>
<cn> 0 </cn>
<apply><eq/><ci> x </ci> <cn> 0 </cn></apply>
</piece>
<piece>
<ci> x </ci>
<apply><gt/><ci> x </ci> <cn> 0 </cn></apply>
</piece>
</piecewise>
</apply>
</math>
</div>
</body>
</html>But the same thing is not working when put in jspx page..
And I tried to use JSTL as you have suggested :
But the content is not getting transformed.
Here is the jspx page :
<?xml version='1.0' encoding='UTF-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:x="http://java.sun.com/jsp/jstl/xml"
xmlns:m="http://www.w3.org/1998/Math/MathML"
xmlns:xh="http://www.w3.org/1999/xhtml">
<jsp:directive.page contentType="text/html;charset=UTF-8"/>
<f:view>
<af:document binding="#{backing_xsltTest.document1}" id="document1">
<div style="border-style:solid; border-width:1px; margin: 1em 1em 1em 1em; padding: 1em 1em 1em 1em;color:gold;background:grey;">
<f:verbatim>
<pre><![CDATA[<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<apply>
<abs/>
<ci> x </ci>
</apply>
<piecewise>
<piece>
<apply><minus/><ci> x </ci></apply>
<apply><lt/><ci> x </ci> <cn> 0 </cn></apply>
</piece>
<piece>
<cn> 0 </cn>
<apply><eq/><ci> x </ci> <cn> 0 </cn></apply>
</piece>
<piece>
<ci> x </ci>
<apply><gt/><ci> x </ci> <cn> 0 </cn></apply>
</piece>
</piecewise>
</apply>
</math>]]>
</pre>
</f:verbatim>
<c:import var ="mathml" url="/mathml.xsl"/>
<x:transform xslt="${mathml}">
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<eq/>
<apply>
<abs/>
<ci> x </ci>
</apply>
<piecewise>
<piece>
<apply><minus/><ci> x </ci></apply>
<apply><lt/><ci> x </ci> <cn> 0 </cn></apply>
</piece>
<piece>
<cn> 0 </cn>
<apply><eq/><ci> x </ci> <cn> 0 </cn></apply>
</piece>
<piece>
<ci> x </ci>
<apply><gt/><ci> x </ci> <cn> 0 </cn></apply>
</piece>
</piecewise>
</apply>
</math>
</x:transform>
</div>
<af:form binding="#{backing_xsltTest.form1}" id="form1">
</af:form>
</af:document>
</f:view>
<!--oracle-jdev-comment:auto-binding-backing-bean-name:backing_xsltTest-->
</jsp:root>Can you please suggest where I'm doing wrong?
Thanking you in advance,
Samba -
Does anyone know step by step how to use a PC with an AppleTV?
Does anyone know how to use a PC with an AppleTV and can this be done and if so, how?
Welcome to the Apple Community.
How far have you got into the set up process please.
Maybe you are looking for
-
My monitor (HPw2207h) will not display anything....the screen is dark, and when I turn on the computer it lightens slightly and then the message "monitor going to sleep" appears. I hooked up the monitor to another computer and it works fine, so I a
-
2.1 renders phone unusable
As of yesterday, phone updated to 2.1 Used the phone once in the evening, after this, the phone is stuck in the "phone" section of the applications. Pressing the main button won't take me back to the menu but the button is clearly working as double t
-
Configure database for arabic data language support.
Dear Masters, i m creating database in arabic language support. all configuration has been done. but while i m getting error in putty. SQL> select # from tab; select # from tab ERROR at line 1: ORA-00911: ??? ??? ???? SQL> show parameter nls NAME TYP
-
G5 Tower, replaced hard drive and now can not get it to work- HELP
My G5 (tower) crashed hard & after a trip to the Genius Bar at my local Mac Store I found out the hard drive was dieing. The Mac person fixed some problem files & told that I could replace the hard drive. I bought a 350 GB SATA 3.5in hard drive and p
-
Error message at startup iMac G3
I have an iMac (500) G3 (Summer 2000) and it will not complete its startup. It starts, then before it is complete I get a bomb message, 'Sorry, a system error has occurred. "Time synchronizer" error Type 41 Restart.' I have tried restarting, but it m