Inserting multiple payment transactions using BDC

Hi all,
Using BDC i displayed   '5'  payment transactions(xk01)
for banking details.
But i am not able to insert more than  '5'  payment transactions
i.e. if i entered 6th and 7th details means then 4th and 5th
payment transactions r overwritten.
So tell me how to display the all more than 5 details...

>
cranjith kumar wrote:
> Hi all,
> Using BDC i displayed   '5'  payment transactions(xk01)
> for banking details.
> But i am not able to insert more than  '5'  payment transactions
> i.e. if i entered 6th and 7th details means then 4th and 5th
> payment transactions r overwritten.
> So tell me how to display the all more than 5 details...
This is not a Web Dynpro ABAP related question.  Please post to the correct forum.

Similar Messages

  • How to uploade multiple flatfiles for single transaction using BDC?

    How to uploade multiple flatfiles for single transaction using BDC?

    Hi,
    You need to upload all data files into an internal table first either using OPEN DATASET (application server files) or GUI_UPLOAD (PC files).
    Then loop at the internal table and call BDC transaction to process the data.
    Regards,
    Ferry Lianto

  • Insert of new lines using BDC

    I am trying to insert/default some values from custom transaction using BDC into standard SAP transaction tab as a  new line .
    it works fine when there are NO previous existing lines.
    need to know how to get index of the current line ..& add logic in BDC FM to add new line after that.
    thanks in advance

    If all of your form fields have the same name then it will
    create a comma
    delimited list, which you can loop through. I have some CF
    code to do
    exactly what you want, but not where I am at present. Send me
    an email to
    [email protected] and I will mail it to you.
    Paul Whitham
    Certified Dreamweaver MX2004 Professional
    Adobe Community Expert - Dreamweaver
    Valleybiz Internet Design
    www.valleybiz.net
    "Simonbullen" <[email protected]> wrote in
    message
    news:e3piv5$9s2$[email protected]..
    > Hi, I have a form with rows of text fields for data
    insertion, is it
    > possible
    > to insert records into my db, but creating a new row for
    each row in my
    > form...?
    > I know I can buy packages to do this, but is there a
    free extension or
    > coding
    > solution please?
    >
    > many thanks in advance, using DMx2004, SQL, CF7
    >

  • How to save long text for IA01 Transaction using BDC

    Hi All,
    In my requirement I have to create a Task List Equipment and Task List Functional Location using BDC.Here I need to upload the long text for both IA01 and IA11 transactions.I am using SAVE_TEXT function module to save the text and COMMIT_TEXT also after save text.But I am not able to see the text in IA12 and IA02 transactions.But using READ_TEXT I am able to get the text what updated using SAVE_TEXT.
    Please answer for this if any one worked on this requirement <Priority normalized by moderator>
    Thanks,
    Satya.
    Edited by: Vinod Kumar on Jan 2, 2012 9:02 PM

    Hi Satya,
    There is a simple way to update the long text. There is  direct input object in the LSMW for long text.
    Object            : 0001
    Method          : 0001
    Program type : D
    SImply go and create the LSMW with first option and follow the steps. No need to call the function modules separately. This standard program will take care of every thing.
    If you have multiple lines to populate in the equipment master at the header level then you need two set of files. Then key will be equipment number with leading zeros if it will not be alpha numeric.
    1) First file with field EQUNR.
    2) Second file will be
    EQUNR                          C(018)    Technical identification number
    TXPARGRAPH                     C(002)    Tag column
    TXLINE                         C(072)    Text editor text line
    TEXT_MARK                      C(001)    Description Indicator for RIIBIP00 (IBIP) Processing
    Please let me know if you need more in detail.
    Thanks,
    Satheesh

  • Call transaction using bdc tab and also skip first screen??

    Hi,
    Please help.
    I want to call transaction PA30 fill it with values which are determined only at runtime and then skip first screen.
    The screen doesn't have parameter fields so i cannot use 'set parameter id'.
    I also cannot create a transaction with parameters as I only have these at runtime.
    Anyone done anything like this???

    hi,
      you might be populateing the itab bdc_tab with the corresponding values fronm the recording.
    while doing the recording go until to the screen wher u want to finsih.
    and populate the bdc_tab wit the ok code,screen number and the value.
    this will do.
    for eg see the code below.
    METHOD analyze_log.
      DATA : wrk_extid TYPE balhdr-extnumber.
      DATA : wrk_date(10) TYPE c.
      DATA : it_rspar TYPE TABLE OF rsparams .
      DATA : wa_rspar TYPE rsparams.
      DATA: it_bdcdata TYPE STANDARD TABLE OF bdcdata,
          wa_bdcdata TYPE bdcdata.
      DATA: params TYPE ctu_params.
      CONSTANTS : object TYPE balhdr-object VALUE 'ZKIV_LOG'.
      IF wa_kopf-vertr_nr IS NOT INITIAL.
        CONCATENATE wa_kopf-vertr_nr '/' wa_kopf-nachtr_nr  INTO wrk_extid.
        wrk_date = '01.09.2006'.
        SET PARAMETER ID 'BALOBJ' FIELD object .
        SET PARAMETER ID 'BALEXT' FIELD wrk_extid.
        wa_rspar-selname = 'ALDATE'.
        wa_rspar-sign = 'I'.
        wa_rspar-kind = 'P'.
        wa_rspar-option = 'EQ'.
        wa_rspar-low = wrk_date.
        APPEND wa_rspar TO it_rspar.
      ELSE.
        CLEAR wrk_extid.
        SET PARAMETER ID 'BALEXT' FIELD wrk_extid.
      ENDIF.
    Update BDC tab
    --Call SLG1 using BDC--&
      params-dismode = 'E'. "Show errors only
      CLEAR wa_bdcdata.
      wa_bdcdata-program  = 'SAPLSLG3'.
      wa_bdcdata-dynpro   = '0100'.
      wa_bdcdata-dynbegin = 'X'.
      APPEND wa_bdcdata TO it_bdcdata.
      CLEAR wa_bdcdata.
      wa_bdcdata-fnam = 'BDC_CURSOR'.
      wa_bdcdata-fval = 'BALHDR-ALDATE'.
      APPEND wa_bdcdata TO it_bdcdata.
      CLEAR wa_bdcdata.
      wa_bdcdata-fnam = 'BALHDR-ALDATE'.
      wa_bdcdata-fval = wrk_date.
      APPEND wa_bdcdata TO it_bdcdata.
      CLEAR wa_bdcdata.
      wa_bdcdata-fnam = 'BDC_OKCODE'.
      wa_bdcdata-fval = '=SELE'.
      APPEND wa_bdcdata TO it_bdcdata.
      CLEAR wa_bdcdata.
      wa_bdcdata-program  = 'SAPLSLG3'.
      wa_bdcdata-dynpro   = '0100'.
      wa_bdcdata-dynbegin = 'X'.
      APPEND wa_bdcdata TO it_bdcdata.
      CLEAR wa_bdcdata.
      wa_bdcdata-fnam = 'BDC_OKCODE'.
      wa_bdcdata-fval = '=&F03'.
      APPEND wa_bdcdata TO it_bdcdata.
      CLEAR wa_bdcdata.
      wa_bdcdata-fnam = 'BDC_SUBSCR'.
      wa_bdcdata-fval = 'SAPLSBAL_DISPLAY                        0101SUBSCREEN'.
      APPEND wa_bdcdata TO it_bdcdata.
      CALL TRANSACTION 'SLG1' USING it_bdcdata OPTIONS FROM params.
    --End of BDC--&
    ENDMETHOD.
    here wat i m doing is that i dont want the subscreen 101 to be displayed..
    Message was edited by:
            Sandeep S

  • Change transaction using BDC-problem for large number of lines on screen

    Hi All,
    I am developing BAPI (using BDC) which creates quality notification in SAP which is entered via front end web application. Structure p_qmsm contain 3 lines of task in notification. The code is as given below. To avoid problem of large no of lines on screen,code lines starting with * is used. This actually for pagedown after entering every 2 lines and creates new line. so that 2 lines always push up on screen and there will not be problem for creating large no of lines on screen
    perform bdc_dynpro using 'SAPLIQS0' '7200'.
    perform bdc_field using 'BDC_OKCODE' '=10\TAB11'.
    LOOP AT p_qmsm INTO wa_qmsm.
    *IF wa_qmsm_cntr > 2.
           wa_qmsm_cntr = 2.
           perform bdc_dynpro  using 'SAPLIQS0'                   '7204'.
           perform bdc_field   using 'BDC_OKCODE'                 '=PEND'.
    ENDIF.
    perform bdc_dynpro using 'SAPLIQS0' '7204'.
    perform bdc_field using 'BDC_OKCODE' '/00'.
    CONCATENATE 'VIQMSM-QSMNUM(' wa_qmsm_cntr ')' INTO wm_qmsm_qsmnum.
    CONCATENATE 'VIQMSM-MNGRP(' wa_qmsm_cntr ')' INTO wm_qmsm_mngrp.
    CONCATENATE 'VIQMSM-MNCOD(' wa_qmsm_cntr ')' INTO wm_qmsm_mncod.
    CONCATENATE 'VIQMSM-MATXT(' wa_qmsm_cntr ')' INTO wm_qmsm_matxt.
    perform bdc_field using wm_qmsm_qsmnum wa_qmsm-qsmnum.
    perform bdc_field using wm_qmsm_mngrp wa_qmsm-mngrp.
    perform bdc_field using wm_qmsm_mncod wa_qmsm-mncod.
    perform bdc_field using wm_qmsm_matxt wa_qmsm-matxt.
    wa_qmsm_cntr = wa_qmsm_cntr + 01.
    ENDLOOP.
    CALL TRANSACTION 'IQS2' USING wt_bdc
    MODE 'N' UPDATE 'A'  MESSAGES INTO P_MESSTAB.
    The same code is used in modify mode also. web application is sending all 3 lines in modify mode even if single line is modified. It is already decided to send all rows back from web application to SAP in same sequence. It is working fine if i comment 5 lines which is starting with *. But in modify mode, how can i ensure that correct row is modified? and how can i achieve problem of large no of lines on screen?Please suggest?

    Hi yogesh,
    how can i ensure that correct row is modified?
    1. For this we need to know two things ;
       a) the database table in which the entries are already stored
       b) the sequence in which they are displayed in the transaction.
    2. So before changing any line, we need to compare (the primary key values / important values)
       a) as per the database table and as per the incoming data from web application (using bapi)
      b) if the match is ok, it means that particular row was not modified, else modified.
    how can i achieve problem of large no of lines on screen?
    1. For this I am  not sure about the transaction and its screen. Manytimes for appending row on the screen,
      there is a PLUS + button on the grid toolbar. So for every entry, (inspite of some empty/filled rows already visible on the screen), we should use the + button, and this new row always appears on the top i.e. row number 1.
    hope this helps.
    regards,
    amit m.

  • How to Increment the Page in transaction using BDC program

    Hi Friends,
    I am facing Page up problem in BDC program,
    In CT02 transaction, we have to upload mass data for the characterisitic, in the screen we can able to upload 7 rows (actually 7 rows ar there in the transaction) even after doing the Page up (P+) in the BDC, still that overwirtes in the existing rows. How to solve this issue.
    Thanks in advance.
    Here i have attached the Program, For you reference.
      LOOP AT ITAB.
        ATNAME = ITAB-ATNAM.
        perform bdc_dynpro      using 'SAPMCTAV' '0100'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'CABN-ATNAM'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=WERT'.
        perform bdc_field       using 'CABN-ATNAM'
                                       ITAB-ATNAM.
        rows = counter MOD 7.
        IF rows EQ 0.
          PERFORM bdc_dynpro      using 'SAPLCTMV' '0200'.
          PERFORM bdc_field       USING 'BDC_OKCODE' 'P+'.
          counter = '02'.
          PERFORM bdc_dynpro      using 'SAPLCTMV' '0200'.
        ENDIF.
        CONCATENATE 'CAWNT-ATWTB(' COUNTER ')' INTO var.
        CONCATENATE 'CAWN-ATWRT(' COUNTER ')' INTO var1.
        perform bdc_dynpro      using 'SAPLCTMV' '0200'.
        perform bdc_field       using 'BDC_CURSOR'
                                       var.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=SICH'.
        perform bdc_field       using var
                                      ITAB-ATWTB.
        perform bdc_field       using var1
                                      ITAB-ATWRT.
        COUNTER = COUNTER + '01'.
        opt-defsize = 'X'.
        opt-dismode = 'A'.
        opt-updmode = 'S'.
        CALL TRANSACTION 'CT02' USING
        bdcdata OPTIONS FROM opt MESSAGES
        INTO it_mess.
        REFRESH bdcdata.
      ENDLOOP.
    Regards
    Shankar

    Hi Geeta Yash,
    Thanks for ur timely help.
    But we have done it thro 'P+'
    Thanks.
    Shankar

  • RE-FX:call transaction using bdc-tab:No bdc_okcode for swapping table-entry

    Hello,
    I am trying to call transaction RERAOP (module RE-FX) to make an accounting transaction. There is 1 debit posting and 1 credit posting in a grid. Selecting the debit posting, a details scrren is shown, consisting of 2 registers.
    On the first register you have to fill different fields. At this point it isn't possible to select the second register. The second (credit) posting is diplayed when you hit the enter key. After the fields in the details screen of this (credit) postings have been filled, it is possible to swap back to the first (debit) posting with a double-click on the first entry of the postings-table.
    Finally I come to the point ...
    If I record these steps (batch-input recorder) and generate an report of this code there is no bdc_okcode for the above mentioned swap back to the debit posting. While executing this report I get a lot of error message because the swap back to the debit posting doesn't work (--> because of the missing bdc_okcode) and therefore the batch input tries to fill fields which are not on the active screen (because they are on the 2. register which is not displayed).
    Hope that there is someone out there who:
    1. Understands my miserable english   and
    2. has an advice for me.
    Thanks in advance!!!
      Stephan
    Edited by: Stephan Scholze on Apr 22, 2008 1:34 PM
    Edited by: Stephan Scholze on Apr 22, 2008 2:24 PM
    Edited by: Stephan Scholze on Apr 22, 2008 3:19 PM

    Not sure how much I can help as we don't run RE-FX (RERAOP - what's the program name btw?) at any sites I work at, but a couple of general BDC things you might try (based on problems I've had with BDCs to other Tcodes)...
    When you are in that transaction normally do a right click to see what function codes are defined as there might be one there that allows you to switch between these debit & credit data entry places (how are they rendered, btw - are they ALV grids or what?  If they are table controls then you should be able to position the cursor on row 1 and trigger an F2 double-click)... also look at the PF-STATUS carefully in case (once again) there is a function code that lets you swap from DR to CR & vice versa... and even browse the source code in the user-command for the screen might give a clue as to how to achieve this.  Of course it may not be possible if the data entry is control based i.e. the input areas are provided in the SAPGui not the application server (such as the text editor & ALV grids)... in which case you start hunting for BAPIs and function modules and the like, or end up having to pass data into the transaction via something like an "export" and catch it inside a user exit or enhancement via an "import"... all rather messy, but quite possible.
    Jonathan

  • Multiple payment at cash desk

    Hi Experts,
    I have developed a cash desk for multiple payment by using BAPI_CTRACCTRCTACCNT_PAYBYCARD. But at the time of posting, profit center is not updating in GL item level although profit center is updating at contract level. I tried by making profit center required but in this case posting did not complete. Please advice if I want to use any other BAPI also or my abaper needs to see the functionality of the same above BAPI again.
    Regards,
    OZAIR ANWAR SHAMSI

    HI ,
    In the view SM30 - V_TFK000S , should have the specification - Posting and clearing lock .
    Secondly the same has to be applied in the contract account in the payment lock reason .
    After assigning the same , system would not allow to accept payment against any document or even payment on account .
    Only thing that you have to remember is that the lock reason should have both payment as well as clearing lock .
    The other way is of pushing the locks in the documents through FPE2 or FPE2M , else the lock at contract account would work.
    Cheers ,
    Dewang

  • How to insert multiple line items in fv60 using bdc.

    Hi all,
          How to insert multiple line items in fv60 using bdcs

    hi
    chk this
    DATA : IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
    DATA : IT_MESSAGES LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
    DATA : V_EBELP(30) , V_MENGE(30) , V_WERKS(30), V_EMATN(30) ,
    V_PEINH(30).
    DATA : FILE TYPE STRING, V_MSG(100) , V_IND(2) TYPE N , FLAG VALUE 'X'.
    PARAMETERS: P_FILE(50) TYPE C DEFAULT 'C:\ME21_TEST'.
    DATA : BEGIN OF ITAB OCCURS 0,
            IND(02),
            LIFNR_001(010),
    data element: BSART
            BSART_002(004),
    data element: BEDAT
    data element: EKORG
            EKORG_004(004),
            EKGRP_006(003),
    data element: LPEIN
            LPEIN_005(001),
    data element: EMATNR
            EMATN_01_007(018),
    data element: EWERK
            WERKS_01_008(004),
    data element: EPEIN
            PEINH_01_009(006),
    data element: EWERK
           MENGE_01_013(017),
    data element: AUFEP
            EBELP_014(005),
    data element: AUFEP
         END OF ITAB.
    START-OF-SELECTION.
    FILE = P_FILE.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        FILENAME                      = FILE
        FILETYPE                      = 'ASC'
        HAS_FIELD_SEPARATOR           = 'X'
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
      CODEPAGE                      = ' '
      IGNORE_CERR                   = ABAP_TRUE
      REPLACEMENT                   = '#'
      CHECK_BOM                     = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
      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.
    SORT ITAB BY IND.
    START-OF-SELECTION.
    LOOP AT ITAB.
    REFRESH IT_MESSAGES.
    <b>V_IND = V_IND + 1.</b>
    <b>AT NEW IND.</b>
    <b>READ TABLE ITAB INDEX SY-TABIX.</b>
    PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0100'.
    PERFORM BDC_FIELD       USING 'EKKO-LIFNR'
                                  ITAB-LIFNR_001.
    PERFORM BDC_FIELD       USING 'RM06E-BSART'
                                  ITAB-BSART_002.
    *perform bdc_field       using 'RM06E-BEDAT'
                                 ITAB-BEDAT_003.
    PERFORM BDC_FIELD       USING 'EKKO-EKORG'
                                  ITAB-EKORG_004.
    PERFORM BDC_FIELD       USING 'RM06E-LPEIN'
                                  ITAB-LPEIN_005.
    PERFORM BDC_FIELD       USING 'EKKO-EKGRP'
                                  ITAB-EKGRP_006.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '/00'.
    ENDAT.
    <b>PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0120'.
    CONCATENATE 'EKPO-EMATN(' V_IND ')' INTO V_EMATN.
    PERFORM BDC_FIELD       USING  V_EMATN
                                   ITAB-EMATN_01_007.
    CONCATENATE 'EKPO-WERKS(' V_IND ')' INTO V_WERKS.
    PERFORM BDC_FIELD       USING  V_WERKS
                                   ITAB-WERKS_01_008.
    CONCATENATE 'EKPO-PEINH(' V_IND ')' INTO V_PEINH.
    PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0120'.
    PERFORM BDC_FIELD       USING  V_PEINH
                                   ITAB-PEINH_01_009.
    *CONCATENATE 'EKPO-MENGE(' V_IND ')' INTO V_MENGE.
    *perform bdc_dynpro      using 'SAPMM06E' '0120'.
    *perform bdc_field       using  V_MENGE
                                  ITAB-MENGE_01_013.
    *CONCATENATE 'EKPO-EBELP(' V_IND ')' INTO V_EBELP.
    PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0120'.
    PERFORM BDC_FIELD       USING  'RM06E-EBELP'
                                   ITAB-EBELP_014.</b>PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '/00'.
    AT END OF IND.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '=BU'.
    ENDAT.
    CALL TRANSACTION 'ME21' USING IT_BDCDATA MODE 'A'
                                             UPDATE 'S'
                                        MESSAGES INTO IT_MESSAGES.
       LOOP AT IT_MESSAGES WHERE MSGTYP = 'E' OR MSGTYP = 'A'.
         IF FLAG = 'X'.
         CALL FUNCTION 'BDC_OPEN_GROUP'
         EXPORTING
            CLIENT                    = SY-MANDT
           DEST                      = FILLER8
            GROUP                     = 'GAMY_FAILURE'
           HOLDDATE                  = FILLER8
            KEEP                      = 'X'
            USER                      = SY-UNAME
           RECORD                    = FILLER1
           PROG                      = SY-CPROG
         IMPORTING
           QID                       =
          EXCEPTIONS
            CLIENT_INVALID            = 1
            DESTINATION_INVALID       = 2
            GROUP_INVALID             = 3
            GROUP_IS_LOCKED           = 4
            HOLDDATE_INVALID          = 5
            INTERNAL_ERROR            = 6
            QUEUE_ERROR               = 7
            RUNNING                   = 8
            SYSTEM_LOCK_ERROR         = 9
            USER_INVALID              = 10
            OTHERS                    = 11
         IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
         ENDIF.
         CLEAR FLAG.
         ENDIF.
         CALL FUNCTION 'BDC_INSERT'
          EXPORTING
            TCODE                  = 'ME21'
           POST_LOCAL             = NOVBLOCAL
           PRINTING               = NOPRINT
           SIMUBATCH              = ' '
           CTUPARAMS              = ' '
           TABLES
             DYNPROTAB              = IT_BDCDATA
          EXCEPTIONS
            INTERNAL_ERROR         = 1
            NOT_OPEN               = 2
            QUEUE_ERROR            = 3
            TCODE_INVALID          = 4
            PRINTING_INVALID       = 5
            POSTING_INVALID        = 6
            OTHERS                 = 7
         IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
         ENDIF.
        ENDIF.
    CALL FUNCTION 'FORMAT_MESSAGE'
      EXPORTING
        ID              = IT_MESSAGES-MSGID
        LANG            = 'EN'
        NO              = IT_MESSAGES-MSGNR
        V1              = IT_MESSAGES-MSGV1
        V2              = IT_MESSAGES-MSGV2
        V3              = IT_MESSAGES-MSGV3
        V4              = IT_MESSAGES-MSGV4
      IMPORTING
        MSG             = V_MSG
      EXCEPTIONS
        NOT_FOUND       = 1
        OTHERS          = 2
       WRITE : / V_MSG.
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDLOOP.
       ENDLOOP.
    IF FLAG NE 'X'.
      CALL FUNCTION 'BDC_CLOSE_GROUP'
       EXCEPTIONS
         NOT_OPEN          = 1
         QUEUE_ERROR       = 2
         OTHERS            = 3
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      ENDIF.
           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.
           Insert field                                                  *
    FORM BDC_FIELD USING FNAM FVAL.
        CLEAR IT_BDCDATA.
        IT_BDCDATA-FNAM = FNAM.
        IT_BDCDATA-FVAL = FVAL.
        APPEND IT_BDCDATA.

  • I want in LSMW SAME CODING. THIS IS USING BDC CALL TRANSACTION

    REPORT  ZXX_BDC_PRA NO STANDARD PAGE HEADING LINE-COUNT 20
                                                LINE-SIZE 150 .
    Program Name  :ZXX_BDC_PRA                             *
    Object Id     :                                        *
    Develper Name : praveen                                *
    Start Date    : 25.06.07                               *
    Description   : uploading flat file to sap system      *
    *--structure for Data Uploading.
    DATA: BEGIN OF IT_STR ,
            VKORG LIKE RF02D-VKORG,
            VTWEG LIKE RF02D-VTWEG,
            SPART LIKE RF02D-SPART,
            KTOKD LIKE RF02D-KTOKD,
            NAME1 LIKE KNA1-NAME1,     
            SORTL LIKE  KNA1-SORTL,     
            ORT01 LIKE KNA1-ORT01,     
            PSTLZ     LIKE KNA1-PSTLZ,     
            LAND1 LIKE KNA1-LAND1,     
            SPRAS LIKE KNA1-SPRAS,
            END OF IT_STR.
    *--Internal Table for Data Uploading.
    DATA: ITAB  LIKE IT_STR OCCURS 0.
    *--Internal Table to sucessfull Records.
    DATA:   ITAB1 LIKE IT_STR OCCURS 0.
    *--Internal Table to Store Error Records.
    DATA:    ITAB2 LIKE STANDARD TABLE OF IT_STR WITH HEADER LINE.
    *--Internal Table for Storing the BDC data.
    DATA: BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
    *--Internal Table for storing the messages.
    DATA:   MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
    DATA:   COUNT TYPE I VALUE 1,
            S VALUE 0, E VALUE 0.
    Selection screen *
    SELECTION-SCREEN BEGIN OF BLOCK b1
                     WITH FRAME TITLE TEXT-001.
    PARAMETERS: P_FILE TYPE IBIPPARMS-PATH.
    SELECTION-SCREEN END OF BLOCK B1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
    *functionality to use drill down list
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          PROGRAM_NAME  = SYST-CPROG
          DYNPRO_NUMBER = SYST-DYNNR
        IMPORTING
          FILE_NAME     = P_FILE.
    Start-of-selection *
    START-OF-SELECTION.
      DATA FILENAME TYPE STRING.
      FILENAME = P_FILE.
    *-- Form to upload flatfile data into the internal table.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          FILENAME                = FILENAME
          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.
    *--Generating the BDC table for the fields of the internal table.
      LOOP AT ITAB INTO IT_STR.
        PERFORM BDC_DYNPRO      USING 'SAPMF02D' '0107'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'RF02D-KTOKD'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM BDC_FIELD       USING 'RF02D-VKORG'
                                      IT_STR-VKORG.
        PERFORM BDC_FIELD       USING 'RF02D-VTWEG'
                                       IT_STR-VTWEG.
        PERFORM BDC_FIELD       USING 'RF02D-SPART'
                                      IT_STR-SPART.
        PERFORM BDC_FIELD       USING 'RF02D-KTOKD'
                                        IT_STR-KTOKD.
        PERFORM BDC_DYNPRO      USING 'SAPMF02D' '0110'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'KNA1-SPRAS'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM BDC_FIELD       USING 'KNA1-NAME1'
                                    IT_STR-NAME1.
        PERFORM BDC_FIELD       USING 'KNA1-SORTL'
                                        IT_STR-SORTL.
        PERFORM BDC_FIELD       USING 'KNA1-ORT01'
                                        IT_STR-ORT01.
        PERFORM BDC_FIELD       USING 'KNA1-PSTLZ'
                                      IT_STR-PSTLZ.
        PERFORM BDC_FIELD       USING 'KNA1-LAND1'
                                      IT_STR-LAND1.
        PERFORM BDC_FIELD       USING 'KNA1-SPRAS'
                                        IT_STR-SPRAS.
        PERFORM BDC_DYNPRO      USING 'SAPMF02D' '0120'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'KNA1-TXJCD'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM BDC_DYNPRO      USING 'SAPMF02D' '0125'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'KNA1-NIELS'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM BDC_DYNPRO      USING 'SAPMF02D' '0360'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'KNVK-NAMEV(01)'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '=ENTR'.
        PERFORM BDC_DYNPRO      USING 'SAPMF02D' '0310'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'KNVV-BEGRU'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM BDC_DYNPRO      USING 'SAPMF02D' '0324'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'KNVP-PARVW(01)'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '=ENTR'.
    *--Calling the transaction 'Vd01'.
        CALL TRANSACTION 'VD01' USING BDCDATA MODE 'N' UPDATE 'S'
        MESSAGES INTO MESSTAB.
        PERFORM MESSAGES.
        REFRESH : BDCDATA, MESSTAB.
      ENDLOOP.
    END-OF-SELECTION.
    *--Populating the Success records internal table.
      IF ITAB1[] IS NOT INITIAL.
    format color 5.
        WRITE: /'SUCCESSFUL RECORDS'.
        format color off.
        LOOP AT ITAB1 INTO IT_STR.
          WRITE:/ IT_STR-VKORG,IT_STR-VTWEG,
                  IT_STR-SPART,IT_STR-KTOKD,
                  IT_STR-NAME1,IT_STR-SORTL,     
                  IT_STR-ORT01,
                  IT_STR-PSTLZ,
                  IT_STR-LAND1,      
                  IT_STR-SPRAS.
          S = S + 1.
        ENDLOOP.
    REFRESH : ITAB1.
        WRITE:/ 'TOTAL RECORDS',S.
      ENDIF.
    *--Populating the error records internal table.
      IF ITAB2[] IS NOT INITIAL.
    FORMAT COLOR 3.
        WRITE :/ 'ERRORS RECORDS ARE'.
    FORMAT COLOR OFF.
        LOOP AT ITAB2.
          WRITE:/ ITAB2-VKORG,
                  ITAB2-VTWEG,
                  ITAB2-SPART,ITAB2-KTOKD,
                  ITAB2-NAME1,ITAB2-SORTL,     
                  ITAB2-ORT01,
                  ITAB2-PSTLZ,
                  ITAB2-LAND1,      
                  ITAB2-SPRAS.
            E = E + 1.
        ENDLOOP.
    REFRESH : ITAB2.
        WRITE: / 'TOTAL RECORDS',E.
    REFRESH : ITAB2.
      ENDIF.
    End of Selection *
    END-OF-SELECTION.
    TOP-OF-PAGE *
    TOP-OF-PAGE.
      WRITE:/ SY-ULINE.
      WRITE:/10 'REPORT ID',21 SY-REPID,35 'USERNAME',46 SY-UNAME,
      60 'SYSTEM DATE',70 SY-DATUM,80 'SYSTEM TIME',90 SY-UZEIT,
      100 'PAGE NO',108 SY-PAGNO.
      WRITE:/ SY-ULINE.
    FOrm to Populate the BDC table.
           Start new screen                                              *
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
      CLEAR BDCDATA.
      BDCDATA-PROGRAM  = PROGRAM.
      BDCDATA-DYNPRO   = DYNPRO.
      BDCDATA-DYNBEGIN = 'X'.
      APPEND BDCDATA.
    ENDFORM.                    "BDC_DYNPRO
           Insert field                                                  *
    FORM BDC_FIELD USING FNAM FVAL.
      IF FVAL <> SPACE.
        CLEAR BDCDATA.
        BDCDATA-FNAM = FNAM.
        BDCDATA-FVAL = FVAL.
        APPEND BDCDATA.
      ENDIF.
    ENDFORM.                    "BDC_FIELD
    *&      Form  messages
    FORM MESSAGES .
      LOOP AT MESSTAB.
        IF MESSTAB-MSGTYP = 'I'.
         WRITE : / MESSTAB-MSGV1.
        ELSEIF
    MESSTAB-MSGTYP = 'S'.
          INSERT LINES OF ITAB FROM COUNT TO COUNT INTO TABLE ITAB1 .
          COUNT = COUNT + 1.
         WRITE : / MESSTAB-MSGV1.
        ELSEIF
        MESSTAB-MSGTYP = 'E'.
          INSERT LINES OF ITAB FROM COUNT TO COUNT INTO TABLE ITAB2.
          COUNT = COUNT + 1.
         WRITE : / MESSTAB-MSGV1.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " messages

    Hi
    Go through the doc and do the same using LSMW
    BDC is the way to transfer data by writing a batch input program which can use either session or call transaction method.
    LSMW used to transfer data without/less code.
    What type of data we transfer using LSMW?
    LSMW is best suited for transferring master data.
    Actually BDC and LSMW are not comparable at all.
    for example LSMW itself can use BDC as a way of mass data transfer.
    BDC is a mass data transfer technique via screen logic of existing SAP Data entry transactions. It behaves as if you are manually making thousand of entires into sap system as a background job. And that is probably the reason why BAPI's are preffered over BDC's.
    On the other hand LSMW is a tool to facilitate DATA migration from other legacy systems ... It contains step by step procedure for data migration.
    Like Managing Data Migration Projects , Creating Source Structures , Mapping Source structures wid Target structures , etc etc
    LSMW internally might well be using the following techniqes for data transfer..
    1. IDOX
    2. Direct Input / BDC
    4. BAPI's
    LSMW is an encapsulated data transfer tool. It can provide the same functionality as BDC infact much more but when coming to techinical perspective most the parameters are encapulated. To listout some of the differences :
    LSMW is basicaly designed for a fuctional consultant who do not do much coding but need to explore the fuctionality while BDC is designed for a technical consultant.
    LSMW offers different techinque for migrating data: Direct input ,BAPI,Idoc,Batch input recording. While bdc basically uses recording.
    LSMW mapping is done by SAP while in BDC we have to do it explicitly .
    LSMW is basically for standard SAP application while bdc basically for customized application.
    Coding can be done flexibly in BDC when compared to LSMW
    1. Maintain Attributes:
    Here you have to choose the second option and you can do the recording how this should work. Then assign the same to the Batch Input Recording name.
    2. Maintain Source structure:
    Create a structure name
    3. Maintain Source field:
    In this you have to create a structure same as that of the input file
    eg: name
    age
    4. Maintain structure relations:
    This will link the structure to the input file.
    5. Maintain field mapping and conversion rules:
    Here is the place where you can do coding, depending upon the code you have written or assignment you have done the values will get picked up from the file and get processed.
    6. Maintain field mapping and conversion rules:
    If you have any fixed values you can define here.
    7. Specify files:
    Specify the input file path and type.
    8. Assign files:
    This will assign ur file to the Input file
    9. Read Data:
    This will read ur data from teh file.
    10. Dispaly Read Data:
    You can see the uploaded data
    11. Convert Data
    This will convert the data to the corresponding format for processing
    12. Display Converted data:
    13. Create batch input session
    Here this will create a batch input session for processing
    14. Run Batch Input session:
    By clicking on the session and process the same you can do teh needfu.
    http://www.sapbrain.com/TOOLS/LSMW/SAP_LSMW_steps_introduction.html
    http://esnips.com/doc/8e732760-5548-44cc-a0bb-5982c9424f17/lsmw_sp.ppt
    http://esnips.com/doc/f55fef40-fb82-4e89-9000-88316699c323/Data-Transfer-Using-LSMW.zip
    http://esnips.com/doc/1cd73c19-4263-42a4-9d6f-ac5487b0ebcb/LSMW-with-Idocs.ppt
    http://esnips.com/doc/ef04c89f-f3a2-473c-beee-6db5bb3dbb0e/LSMW-with-BAPI.ppt
    http://esnips.com/doc/7582d072-6663-4388-803b-4b2b94d7f85e/LSMW.pdf
    for Long texts Upload
    Please take a look at this..
    http://help.sap.com/saphelp_erp2005/helpdata/en/e1/c6d30210e6cf4eac7b054a73f8fb1d/frameset.htm
    Reward points for useful Answers
    Regards
    Anji

  • Inserting Multiple Rows into Database Table using JDBC Adapter - Efficiency

    I need to insert multiple rows into a database table using the JDBC adapter (receiver).
    I understand the traditional way of repeating the statement multiple times, each having its <access> element. However, I am just wondering whether this might be performance-inefficient, as it might insert records one by one.
    Is there a way to ensure that the records are inserted into the table as a block, rather than record-by-record?

    Hi Bhavesh/Kanwaljit,
    If we have multiple ACCESS tags then what happens is that the connection to the database is made only once. But the data is inserted row by row.
    Why i am saying this?
    If we add the following in JDBC Adapter..logSQLStatement = true. Then incase of multiple inserts we can see that there are multiple
    <i>Insert into tablename(EMP_NAME,EMP_ID) VALUES('J','1000')
    Insert into tablename(EMP_NAME,EMP_ID) VALUES('J','2000')</i>
    Doesnt this mean that rows are inserted one by one?
    Correct me if i am wrong.
    This does not mean that the transaction is not guaranted. Either all the rows will be inserted or rolled back.
    Regards,
    Sumit

  • Posting Payment Lot using Transaction FP05 Tcode in SAP IS-U From Database

    Hi,
    I want to post a payment lot, using transaction FP05. It is BDC.  Data is in Database that have to be posted on SAP ISU ,
    If anyone knows how  FP05 tcode structure please give your suggestions. So i can send the data to ISU using XI with JDBC
    Thanks & Regards
    Laxmi Bhushan
    Edited by: laxmi bhushan on Nov 12, 2009 1:14 PM

    Hi Suraj,
    No , My scenario is to send data from sql server to Sap ISU using XI/PI 7.0. Where we have to post my data to a Transtion code FP05. I am unable to find out the structure where FP05 Transtion store the data or wether we have to create a IDOC or BAPI for that transtions .There is millions of data so we have to automate this process using PI.
    Pl Suggest.
    Thanks
    Laxmi Bhushan

  • How to insert more than 12 items using BDC for MB1C

    Hi,
    When we use LSMW for data transfer of MB1C transaction, more than 12 items can be  inserted in a document.
    But using BDC only 12 and below is possible, if the flat file system has more that 12 item, then the document is not created.
    How to insert more than 12 item in a document.
    Regards

    Hi Gow,
    I have uploaded the MB1C through a BDC and it is working fine for n no of items.
    Here is the code. May be this will be of your help.
    *& Report  ZMB1C
    report ZMB1C
           no standard page heading line-size 255.
    type-pools : slis.
    tables : t100.
    data: begin of record,
            MATNR(018),
            ERFMG(017),
            EXBWR(016),
          end of record.
    data : itab like table of record with header line.
    data : w_bdcdata type bdcdata.
    data : t_bdcdata type standard table of bdcdata initial size 1.
    data : messtab type standard table of bdcmsgcoll with header line.
    data : mstring(300).
    data : vf_index type i,
           no_lines type i,
           count type i value 0.
    data : v_bldat(20),
           v_budat(20).
    *Excel Sheet Data Upload Details
    data : vf_start_col type i value '1',      "start column
           vf_start_row type i value '2',      "start row
           vf_end_col   type i value '100',    "maximum column
           vf_end_row   type i value '10000'.  "maximum row
    */ Internal Table For Excel Data
    data : it_excel type  kcde_cells occurs 0 with header line.
    */ Field symbol
    field-symbols : <fs>.
    data : begin of it_messtab occurs 0,
           plant(10) type c,
           status(10) type c,
           message(90) type c,
           end of it_messtab.
    *Data for ALV display
    data : wa_fcat type slis_fieldcat_alv,
           colcnt type i.
    data : it_fieldcat type slis_t_fieldcat_alv,
           i_events type slis_t_event.
    data : l_title type sychar70.
    data : l_repid like sy-repid.
    * Selction Screen
    selection-screen begin of block b1 with frame title text-000.
    parameters : p_file like ibipparms-path obligatory,
                 p_mode like ctu_params-dismode default 'A'.
    selection-screen end of block b1.
    selection-screen begin of block b2 with frame title text-001.
    parameters : p_bldat like MKPF-BLDAT obligatory,
                 p_budat like MKPF-BUDAT obligatory,
                 p_bwart like RM07M-BWARTWA obligatory,
                 p_werks like RM07M-WERKS obligatory,
                 p_lgort like RM07M-LGORT obligatory.
    selection-screen end of block b2.
    * At Selction Screen
    at selection-screen on value-request for p_file.
      call function 'F4_FILENAME'
        EXPORTING
          program_name  = syst-cprog
          dynpro_number = syst-dynnr
          field_name    = ''
        IMPORTING
          file_name     = p_file.
    *Start of Selection Event
    start-of-selection.
      call function 'KCD_EXCEL_OLE_TO_INT_CONVERT'
        EXPORTING
          filename                = p_file
          i_begin_col             = vf_start_col
          i_begin_row             = vf_start_row
          i_end_col               = vf_end_col
          i_end_row               = vf_end_row
        TABLES
          intern                  = it_excel
        EXCEPTIONS
          inconsistent_parameters = 1
          upload_ole              = 2
          others                  = 3.
      if sy-subrc <> 0.
    * MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    *         WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      endif.
      if it_excel[] is initial.
        MESSAGE I000(ZCL_TCSABAP).
      else.
        sort it_excel by row col.
        loop at it_excel.
          move : it_excel-col to vf_index.
          assign component vf_index of structure itab to <fs>.
          move : it_excel-value to <fs>.
          at end of row.
            append itab.
            clear itab.
          endat.
        endloop.
      endif.
      if not itab[] is initial.
        DESCRIBE TABLE itab LINES no_lines.
        clear messtab.
        refresh messtab.
        CONCATENATE p_bldat+6(2) '.' p_bldat+4(2) '.' p_bldat(4) into v_bldat.
        CONCATENATE p_budat+6(2) '.' p_budat+4(2) '.' p_budat(4) into v_budat.
        perform map_rec.
        call transaction 'MB1C' using t_bdcdata mode p_mode update 'A'
        messages into messtab .
        clear t_bdcdata.
        refresh t_bdcdata.
        loop at messtab where msgtyp = 'E' or msgtyp = 'S' .
          select single * from t100 where sprsl = messtab-msgspra
                                    and   arbgb = messtab-msgid
                                    and   msgnr = messtab-msgnr.
          if sy-subrc = 0.
            mstring = t100-text.
            if mstring cs '&1'.
              replace '&1' with messtab-msgv1 into mstring.
              replace '&2' with messtab-msgv2 into mstring.
              replace '&3' with messtab-msgv3 into mstring.
              replace '&4' with messtab-msgv4 into mstring.
            else.
              replace '&' with messtab-msgv1 into mstring.
              replace '&' with messtab-msgv2 into mstring.
              replace '&' with messtab-msgv3 into mstring.
              replace '&' with messtab-msgv4 into mstring.
            endif.
            condense mstring.
            it_messtab-message = mstring(300).
            it_messtab-plant = p_werks.
            if messtab-msgtyp = 'E'.
              it_messtab-status = 'Error'.
            else.
              it_messtab-status = 'Success'.
            endif.
            append it_messtab.
            clear it_messtab.
          endif.
        endloop. "messtab
        if not it_messtab[] is initial.
          perform buildcatalog.
          perform display.
        endif.
      endif.
    *&      Form  Map_Rec
    *       text
    form  map_rec.
      perform bdc_dynpro      using 'SAPMM07M' '0400'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'RM07M-WVERS3'.
      perform bdc_field       using 'BDC_OKCODE'
                                    'NPE'.
      perform bdc_field       using 'MKPF-BLDAT'
                                    v_bldat.
      perform bdc_field       using 'MKPF-BUDAT'
                                    v_budat.
      perform bdc_field       using 'RM07M-BWARTWA'
                                    p_bwart.
      perform bdc_field       using 'RM07M-WERKS'
                                    p_werks.
      perform bdc_field       using 'RM07M-LGORT'
                                    p_lgort.
      perform bdc_field       using 'XFULL'
      perform bdc_field       using 'RM07M-XNAPR'
                                    'X'.
      perform bdc_field       using 'RM07M-WVERS2'
      perform bdc_field       using 'RM07M-WVERS3'
                                    'X'.
      loop at itab.
        count = count + 1.
        perform bdc_dynpro      using 'SAPMM07M' '0410'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'MSEG-EXBWR'.
        if count <> no_lines.
          perform bdc_field       using 'BDC_OKCODE'
                                        '=NPE'.
        elseif count = no_lines.
          perform bdc_field       using 'BDC_OKCODE'
                                        '=BU'.
        endif.
        perform bdc_field       using 'MSEG-MATNR'
                                      itab-MATNR.
        perform bdc_field       using 'MSEG-ERFMG'
                                      itab-ERFMG.
        perform bdc_field       using 'MSEG-EXBWR'
                                      itab-EXBWR.
      endloop. "itab
    endform. "Map_Rec
    **      Form  BDC_DYNPRO
    form bdc_dynpro using program dynpro.
      clear w_bdcdata.
      w_bdcdata-program  = program.
      w_bdcdata-dynpro   = dynpro.
      w_bdcdata-dynbegin = 'X'.
      append w_bdcdata to t_bdcdata.
    endform.                    "bdc_dynpro
    **      Form  BDC_FIELD
    form bdc_field using fnam fval.
      if fval <> space.
        clear w_bdcdata.
        w_bdcdata-fnam = fnam.
        w_bdcdata-fval = fval.
        append w_bdcdata to t_bdcdata.
      else.
        clear w_bdcdata.
        w_bdcdata-fnam = fnam.
        w_bdcdata-fval = fval.
        append w_bdcdata to t_bdcdata.
      endif.
    endform.                    "bdc_field
    *       FORM buildcatalog                                             *
    form buildcatalog.
      clear wa_fcat.
      clear it_fieldcat.
      colcnt = colcnt + 1.
      wa_fcat-col_pos      = colcnt.
      wa_fcat-fieldname    = 'PLANT'.
      wa_fcat-tabname      = it_messtab.
      wa_fcat-seltext_l    = 'PLANT'.
      wa_fcat-key          = 'X'.
      wa_fcat-outputlen  = '10'.
      append wa_fcat to it_fieldcat.
      clear wa_fcat.
      colcnt = colcnt + 1.
      wa_fcat-col_pos      = colcnt.
      wa_fcat-fieldname    = 'STATUS'.
      wa_fcat-tabname      = it_messtab.
      wa_fcat-seltext_l    = 'STATUS'.
      wa_fcat-outputlen  = '10'.
      append wa_fcat to it_fieldcat.
      clear wa_fcat.
      colcnt = colcnt + 1.
      wa_fcat-col_pos      = colcnt.
      wa_fcat-fieldname    = 'MESSAGE'.
      wa_fcat-tabname      = it_messtab.
      wa_fcat-seltext_l    = 'Message'.
      wa_fcat-outputlen  = '90'.
      append wa_fcat to it_fieldcat.
    endform.                    "buildcatalog
    *       FORM display                                                  *
    form display.
      l_title = text-002.
      l_repid = sy-repid.
      call function 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program = l_repid
          i_grid_title       = l_title
          it_fieldcat        = it_fieldcat
          it_events          = i_events[]
        TABLES
          t_outtab           = it_messtab
        EXCEPTIONS
          program_error      = 1
          others             = 2.
      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.                    "display
    Regards,
    Amit

  • Different screens shown when using BDC for Transaction XK03

    Hello Forum,
    Please provide a soultion for the below problem .
    When i open transaction XK03 (with 4 check boxes of general Data ticked )it is ok.
    When i call transaction XK03 from my program (by sending the check box parameters ticked)- the scren shown is different .
    (I used BDC to set the checkboxes)
    Sample code for testing that i write to call XK03 is -
    DATA: ls_bdc_comp  TYPE bdcdata,                   "workarea for BDC recording of XK03
            lt_bdc_comp  TYPE STANDARD TABLE OF bdcdata. "table for BDC recording of MK03
      CLEAR: ls_bdc_comp .
      REFRESH lt_bdc_comp.
      CLEAR ls_bdc_comp.
      ls_bdc_comp-program = 'SAPMF02K'.
      ls_bdc_comp-dynpro = '0101'.
      ls_bdc_comp-dynbegin = wc_x.
      APPEND ls_bdc_comp TO lt_bdc_comp.
      CLEAR ls_bdc_comp.
      ls_bdc_comp-fnam = 'BDC_OKCODE'.
      ls_bdc_comp-fval = '/00'.
      APPEND ls_bdc_comp TO lt_bdc_comp.
      CLEAR ls_bdc_comp.
      ls_bdc_comp-fnam = 'RF02K-LIFNR'.
      ls_bdc_comp-fval = 'S000819001'. "Vendor
      APPEND ls_bdc_comp TO lt_bdc_comp.
      CLEAR ls_bdc_comp.
      ls_bdc_comp-fnam = 'RF02K-D0110'.  "Address
      ls_bdc_comp-fval = 'X'.
      APPEND ls_bdc_comp TO lt_bdc_comp.
      CLEAR ls_bdc_comp.
      ls_bdc_comp-fnam = 'RF02K-D0120'. "Control
      ls_bdc_comp-fval = 'X'.
      APPEND ls_bdc_comp TO lt_bdc_comp.
      CLEAR ls_bdc_comp.
      ls_bdc_comp-fnam = 'RF02K-D0130'. "Payment transactions
      ls_bdc_comp-fval = 'X'.
      APPEND ls_bdc_comp TO lt_bdc_comp.
      CLEAR ls_bdc_comp.
      ls_bdc_comp-fnam = 'WRF02K-D0380'. "contact person
      ls_bdc_comp-fval = 'X'.
      APPEND ls_bdc_comp TO lt_bdc_comp.
      CALL TRANSACTION 'XK03'
           USING lt_bdc_comp.
           MODE 'E'.
    Regards
    Lovleen
    Moderator Message: Please use proper subject lines while posting your questions.
    Edited by: Suhas Saha on Jul 22, 2011 3:48 PM

    Hi,
    You can try with below code,
    DATA: ls_bdc_comp TYPE bdcdata, "workarea for BDC recording of XK03
    lt_bdc_comp TYPE STANDARD TABLE OF bdcdata. "table for BDC recording of MK03
    CLEAR: ls_bdc_comp .
    REFRESH lt_bdc_comp.
    CLEAR ls_bdc_comp.
    ls_bdc_comp-program = 'SAPMF02K'.
    ls_bdc_comp-dynpro = '0101'.
    ls_bdc_comp-dynbegin = 'X'.
    APPEND ls_bdc_comp TO lt_bdc_comp.
    CLEAR ls_bdc_comp.
    ls_bdc_comp-fnam = 'BDC_OKCODE'.
    ls_bdc_comp-fval = '/00'.
    APPEND ls_bdc_comp TO lt_bdc_comp.
    CLEAR ls_bdc_comp.
    ls_bdc_comp-fnam = 'RF02K-LIFNR'.
    ls_bdc_comp-fval = 'S000819001'. "Vendor
    APPEND ls_bdc_comp TO lt_bdc_comp.
    CLEAR ls_bdc_comp.
    ls_bdc_comp-fnam = 'RF02K-D0110'. "Address
    ls_bdc_comp-fval = 'X'.
    APPEND ls_bdc_comp TO lt_bdc_comp.
    CLEAR ls_bdc_comp.
    ls_bdc_comp-fnam = 'RF02K-D0120'. "Control
    ls_bdc_comp-fval = 'X'.
    APPEND ls_bdc_comp TO lt_bdc_comp.
    CLEAR ls_bdc_comp.
    ls_bdc_comp-fnam = 'RF02K-D0130'. "Payment transactions
    ls_bdc_comp-fval = 'X'.
    APPEND ls_bdc_comp TO lt_bdc_comp.
    CLEAR ls_bdc_comp.
    ls_bdc_comp-fnam = 'WRF02K-D0380'. "contact person
    ls_bdc_comp-fval = 'X'.
    APPEND ls_bdc_comp TO lt_bdc_comp.
    ls_bdc_comp-fnam = 'USE_ZAV'. "contact person
    ls_bdc_comp-fval = 'X'.
    APPEND ls_bdc_comp TO lt_bdc_comp.
    CALL TRANSACTION 'XK03'
    USING lt_bdc_comp
    MODE 'E'.
    It will also take you to some other screen but up to some extend you will able to see same kind of data.

Maybe you are looking for

  • How To Display Image Dimension in Pixels Rather Than Inches

    I am using Photoshop CS3, which I'm still learning to use.  I want to see an open image's dimension (W X H) in pixels in the image's window/workspace. Right now, when I open a file it displays the file's Document Sizes in the lower part of the worksp

  • How can I Convert a numeric string to a formatted string?

    I have a string value returned from a background tool that will range from 0 to possibly terabytes as a full number.  I want to format that number to use commas and to reduce the character count using an appropriate size modifier (KiB, MiB, GiB, etc)

  • Safari pop up alert telling me to call a support number

    My kid was doing a bing search for 'bmr assignments' for something he has to do for school that was suppose too direct to his schools website to read some articles and he got booted out to a error page saying it could not open page http://www.google.

  • Problem with installing Flash

    Hi there, I've been having problems with ff crashing with flash sites and then I have noticed that Flash isn't installing properally since it goes to load the setup and gets to 100% and disappears of the task bar. Checked the processes and it's still

  • MacBook Air i5 vs i7

    Hey guys, i'm going to buy the macbook air with 8gb ram and 256gb ssd. I was wondering if i should go to i5 or i7. I won't be doing really intensive work, no photoshop or editing movies or photos or whatnot. Hope you can give me an answer! Thanks! (p