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.
    /Mats

    Crospost! 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,
    Mithun

    Follow 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
    Kishore

    Hey 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.
    That’s 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.
    It’s 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
    xav

    It 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
    farooq

    Hello 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 Chaitanya

    Hi
    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,
    Samba

    Thanks 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

  • No display from my m8400f PC

    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