BDC program using call txn for txn cj40

Hi,
I am uploading data using bdc call txn method for txn cj40. In flat file I have 2 header field and 4 line items.So in line items last field is Qty [RK70L-MENGE].This field data is not uploading.Pls tell me where is the problem.
And in txn cj40 first field is project def, So user wants. That field should be blank.
Bcoz it is taking previous value.Pls tell me the suitable code for that.
Thanks & Regards,
Shiv Kant

So in line items last field is Qty RK70L-MENGE//
->Use char format in ur flat file for the quantity field.
itab-menge(13) type c.
//And in txn cj40 first field is project def, So user wants. That field should be blank.
Bcoz it is taking previous value.Pls tell me the suitable code for that.
Dont know what u mean by taking previous value .. just check if ur refreshing bdcdata structure after every iteration / before the start of iteration itself  in ur loop endloop .
loop ..
refresh i_bdcdata[].  " <----
perform
perform
perform
endloop.

Similar Messages

  • Standard BDC program used for FI

    hi all ,
    i would like to know the standard BDC program used in FI , like for tcode fb01 or somethings else.
    Appreciate for any segguestion.
    thanks and regards.

    hi siddu m 
    thanks for replay ,
    i have anohter question
    provided the transaction A was contianed in the first batch file,
    and also  contained in the second batch file , how the tcode treated as the duplicate posting ?
    many thanks

  • BDC programming using Batch input Session.

    Hello Experts.
    I'm an ABAP beginner. I've benn practicing BDC programming using Batch input Session
    at the moment.
    This is the program that upload Local file which has plural records, and put the records into a Session.
    These are the records.
    413459,KIM EI HWAN121                ,19810607,MIADONG1234
    423459,KIM EI HWAN122                ,19810607,MIADONG1235
    433459,KIM EI HWAN123                ,19810607,MIADONG1236
    443459,KIM EI HWAN124                ,19810607,MIADONG1237
    453459,KIM EI HWAN125                ,19810607,MIADONG1238
    463459,KIM EI HWAN126                ,19810607,MIADONG1239
    I succeeded making Session.
    However, for some reaseon, every record in the Session has got the same, value which is the first record.
    Why is this happening? And How can I correct the code below?
    REPORT ZBCUSER002_BATCH NO STANDARD PAGE HEADING
                            LINE-SIZE 255
                            MESSAGE-ID ZBATCH.
    = Types definition ===================================================
    TYPES: BEGIN OF TYP_LOCAL,               "For Local file upload
             RECORD(200) TYPE C,
           END   OF TYP_LOCAL.
    = Internal table definition ==============================================
    DATA: BEGIN OF BDC_TAB OCCURS 0.        "BDCDATA itab
            INCLUDE STRUCTURE BDCDATA.
    DATA: END   OF BDC_TAB.
    DATA: BEGIN OF MESSAGE_BDC OCCURS 0.    "Message itab
            INCLUDE STRUCTURE BDCMSGCOLL.
    DATA: END   OF MESSAGE_BDC.
    DATA: TBL_LOCAL TYPE STANDARD TABLE OF TYP_LOCAL,  "Local file itab
          F_TBL     TYPE FILETABLE.                    "FILETABLE fot local
    = Structure table definition =========================================
    DATA: STR_F_TBL LIKE LINE OF F_TBL,                "FILETABLE structure
          STR_LOCAL TYPE TYP_LOCAL.                    "Local file structure
    = Variable definition ================================================
    DATA: LV_RC     TYPE I,                            "Method parameter
          ENUMBER   TYPE ZT601-ENUMBER,                "Employee number
          NAME      TYPE ZT601-NAME,                   "Employee name
          BIRTH     TYPE ZT601-BIRTH,                           "Birthday
          HOMETOWN  TYPE ZT601-HOMETOWN,                        "Hometown
          SYSVAL    TYPE SY-SUBRC.                     "System valuible
    = Constants definition ===============================================
    CONSTANTS: TBL_NAME(10) TYPE C VALUE 'ZT601'.      "Table name ZT601
    = Parameters definition ==============================================
    PARAMETERS: F_NAME      TYPE RLGRAP-FILENAME OBLIGATORY,    "File path
                EXECMODE(1) TYPE C.                    "Execute mode
    INITIALIZATION
    *----- Initialize all valuables, structures and internal tables
    CLEAR: LV_RC,
           STR_F_TBL,
           STR_LOCAL,
           ENUMBER,
           NAME,
           BIRTH,
           HOMETOWN.
    REFRESH: F_TBL,
             TBL_LOCAL.
    AT SELECTION-SCREEN
    *----- When the button next to Parameter 'F_NAME',
    *----- File dialog open.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR F_NAME.
      CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
        EXPORTING
          WINDOW_TITLE            = 'SELECT FILE'
          DEFAULT_FILENAME        = '*.TXT'
       CHANGING
         FILE_TABLE               = F_TBL
         RC                       = LV_RC
        EXCEPTIONS
          FILE_OPEN_DIALOG_FAILED = 1
          CNTL_ERROR              = 2
          OTHERS                  = 3
    *----- system valiable check.
    *----- If done properly,
    *----- Put the path into the File path parameter
      IF SY-SUBRC = 0.
        READ TABLE F_TBL INTO STR_F_TBL INDEX 1.
        F_NAME = STR_F_TBL.
    *----- If not done properly, show message
    *----- An error occured while getting file path then end program
      ELSE.
        MESSAGE E000.
      ENDIF.
    *----- Execute code can only be A or N.
    AT SELECTION-SCREEN ON EXECMODE.
      IF EXECMODE <> 'A' AND EXECMODE <> 'N'.
        MESSAGE E001.
      ENDIF.
    START-OF-SELECTION
    START-OF-SELECTION.
    *----- Upload Local file of file path parameter.
      CALL FUNCTION 'GUI_UPLOAD'
           EXPORTING
                FILENAME                = F_NAME
                FILETYPE                = 'ASC'
           TABLES
                DATA_TAB                = TBL_LOCAL
           EXCEPTIONS
                FILE_OPEN_ERROR         = 1
                FILE_READ_ERROR         = 2
                NO_BATCH                = 3
                GUI_REFUSE_FILETRANSFER = 4
                INVALID_TYPE            = 5
                OTHERS                  = 6.
    *----- System valiable check.
    *----- If not done properly, show an error message
    *----- An error occured while uploading local file then end program
      IF SY-SUBRC <> 0.
        MESSAGE E002.
      ENDIF.
      PERFORM BDC_OPEN.
    *----- Loop Internal table
      LOOP AT TBL_LOCAL INTO STR_LOCAL.
    *----- Spilt the file record and put them into each valiable.
        SPLIT STR_LOCAL AT ',' INTO  ENUMBER
                                     NAME
                                     BIRTH
                                     HOMETOWN.
    *----- Data check Function module
        CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'
             EXPORTING
                  DATE                      = BIRTH
             EXCEPTIONS
                  PLAUSIBILITY_CHECK_FAILED = 1
                  OTHERS                    = 2.
    *----- When error occurs while checking date, show an error message.
    *----- (&1) is not date
        IF SY-SUBRC <> 0.
          MESSAGE E003 WITH BIRTH.
        ENDIF.
    *-- The first screen of SE11
    *----- Screen number 0102 of program id SAPMSRD0
        PERFORM BDC_DYNPRO      USING 'SAPMSRD0' '0102'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'RSRD1-TBMA_VAL'. "Field on Cursor
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '=SHOW'.          "Display button
        PERFORM BDC_FIELD       USING 'RSRD1-TBMA'
                                      'X'.
        PERFORM BDC_FIELD       USING 'RSRD1-TBMA_VAL'
                                       TBL_NAME.                "ZT601
    *-- Table definition screen
    *----- Screen number 2000 of program id SAPLSD02
        PERFORM BDC_DYNPRO      USING 'SAPLSD02' '2000'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'DD02D-TABCLTEXT'.  "Field on Cursor
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '=TDED'.            "Create entry
        PERFORM BDC_FIELD       USING 'BDC_SUBSCR'
                                      'SAPLSD02'.
        PERFORM BDC_FIELD       USING 'BDC_SUBSCR'
                                      'SAPLSED5'.
    *-- Data input screen
    *----- Screen number 0101 of program /1BCDWB/DBZT601
        PERFORM BDC_DYNPRO      USING '/1BCDWB/DBZT601' '0101'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'ZT601-CRUSER'.    "Field on Cursor
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '=SAVE'.                  "Save
        PERFORM BDC_FIELD       USING 'ZT601-MANDT'
                                      SY-MANDT.                 "Client
        PERFORM BDC_FIELD       USING 'ZT601-ENUMBER'
                                      ENUMBER.           "Employee number
        PERFORM BDC_FIELD       USING 'ZT601-NAME'
                                      NAME.              "Employee name
        PERFORM BDC_FIELD       USING 'ZT601-BIRTH'
                                      BIRTH.                    "Birthday
        PERFORM BDC_FIELD       USING 'ZT601-HOMETOWN'
                                      HOMETOWN.                 "Hometown
        PERFORM BDC_FIELD       USING 'ZT601-CRDATE'
                                      SY-DATUM.          "System date
        PERFORM BDC_FIELD       USING 'ZT601-CRTIME'
                                      SY-UZEIT.          "System time
        PERFORM BDC_FIELD       USING 'ZT601-CRUSER'
                                      SY-UNAME.          "System user
    *-- Data input screen (After input)
    *----- Screen number 0101 of program /1BCDWB/DBZT601
        PERFORM BDC_DYNPRO      USING '/1BCDWB/DBZT601' '0101'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '/EBACK'.                 "Back
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'ZT601-CRUSER'.    "Field on Cursor
    *-- Table definition screen]
    *----- Screen number 2000 of program SAPLSD02
        PERFORM BDC_DYNPRO      USING 'SAPLSD02' '2000'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'DD02D-TABCLTEXT'.  "Field on Cursor
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '=WB_BACK'.               "Back
    *-- The first screen of SE11
    *----- Screen number 0102 of program SAPMSRD0
        PERFORM BDC_DYNPRO      USING 'SAPMSRD0' '0102'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'RSRD1-TBMA_VAL'.   "Field on Cursor
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '=BACK'.
        PERFORM BDC_FIELD       USING 'RSRD1-TBMA'
                                      'X'.
        PERFORM BDC_FIELD       USING 'RSRD1-TBMA_VAL'
                                      TBL_NAME.
        PERFORM BDC_INSERT.
      ENDLOOP.
      PERFORM BDC_CLOSE.
          FORM BDC_DYNPRO                                               *
          Put Program-Id, Dynpro screen number, Start point
          into DBCDATA
    -->  PROGRAM                                                       *
    -->  DYNPRO                                                        *
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
      CLEAR BDC_TAB.
      BDC_TAB-PROGRAM  = PROGRAM.
      BDC_TAB-DYNPRO   = DYNPRO.
      BDC_TAB-DYNBEGIN = 'X'.
      APPEND BDC_TAB.
    ENDFORM.
          FORM BDC_FIELD                                                *
          Put Field Name and Value into BDCDATA
    -->  FNAM                                                          *
    -->  FVAL                                                          *
    FORM BDC_FIELD USING FNAM FVAL.
      CLEAR BDC_TAB.
      BDC_TAB-FNAM = FNAM.
      BDC_TAB-FVAL = FVAL.
      APPEND BDC_TAB.
    ENDFORM.
          FORM bdc_process                                              *
    FORM BDC_OPEN.
      CALL FUNCTION 'BDC_OPEN_GROUP'
           EXPORTING
                CLIENT = SY-MANDT
                GROUP  = 'Testsession'
                KEEP   = 'X'
                USER   = SY-UNAME.
      IF SY-SUBRC <> 0.
        MESSAGE E006 WITH SY-SUBRC.
      ENDIF.
    ENDFORM.
          FORM bdc_insert                                               *
    FORM BDC_INSERT.
      CALL FUNCTION 'BDC_INSERT'
           EXPORTING
                TCODE            = 'SE11'
           TABLES
                DYNPROTAB        = BDC_TAB
           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 E007 WITH SY-SUBRC.
      ENDIF.
      CLEAR: BDC_TAB.
    ENDFORM.
          FORM bdc_close                                                *
    FORM BDC_CLOSE.
      CALL FUNCTION 'BDC_CLOSE_GROUP'
           EXCEPTIONS
                NOT_OPEN    = 1
                QUEUE_ERROR = 2
                OTHERS      = 3.
      IF SY-SUBRC <> 0.
        MESSAGE E008 WITH SY-SUBRC.
      ENDIF.
    ENDFORM.

    God I forgot to refresh Internal table after putting record into Session.
    Now I'm done.
    You guys be careful too.

  • BDC program using HR ABAP

    Hi,
    I am new to HR ABAP . Can anybody send me an end to end sample BDC program using HR ABAP. I have a requirement  to develop a program.
    Please give the sample file which  has the sample data to upload to SAP.
    Rgds,
    Sofia

    hi....
    to create a program of your own....
    goto tcode 'SHDB' and there go for a new recording of the TCODE as required by you...
    after recording is complete there is a button to GENERATE a program for that
    i am looking for a complete data tranfer example which i have done.... i ll send that to you
    regards
    this is a sample code for it
    THIS IS WRITTEN BY ME,YOU CAN GENERATE PROGRAM DIRECTLY
    *" Type declarations...................................................
    Type declaration of the structure to hold material information      *
    TYPES:
      BEGIN OF type_s_mat,
        name(10)  TYPE c,                  " Material Number
        industry  TYPE c,                  " Industry Sector
        mtype(10) TYPE c,                  " Material Type
        descr(20) TYPE c,                  " Material Description
        unit(10)  TYPE c,                  " Base Unit of Measure
      END OF type_s_mat,
      type_s_f2(4096) TYPE c.
    *" Data declarations...................................................
    Work variables                                                      *
    DATA:
      fs_f1 TYPE type_s_mat,               " Field string of TYPE_S_MAT
      fs_workarea TYPE bdcdata,            " Field string of type BDCDATA
      fs_bdc TYPE bdcmsgcoll,              " Field string of type bdcmsgcoll
      w_msg(72) TYPE c,                    " Holds message for writing
      w_i TYPE i,                          " Holds value of rc
      w_file TYPE filetable,               " Holds name of the file
      w_var  TYPE file_table,              " Field string of file_table
      w_file1 TYPE string.                 " Holds the path of the file
    Internal table to hold data for the input                           *
    DATA:
      t_itab LIKE
    STANDARD TABLE
          OF fs_workarea,
    Internal table to hold data for the messages                        *
       t_mess LIKE
    STANDARD TABLE
           OF fs_bdc,
       t_mat LIKE
    STANDARD TABLE
          OF fs_f1,
    Internal table to hold data for the input                           *
      t_temp TYPE
    STANDARD TABLE
          OF type_s_f2.
    *"Selection screen elements............................................
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
    PARAMETERS: p_file(128) TYPE c.
    SELECTION-SCREEN END OF BLOCK b1.
               AT SELECTION-SCREEN ON VALUE-REQUEST EVENT               *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL METHOD cl_gui_frontend_services=>file_open_dialog
        EXPORTING
          window_title            = 'FILE_OPEN'
          default_extension       = 'XLS'
        CHANGING
          file_table              = w_file
          rc                      = w_i
        EXCEPTIONS
          file_open_dialog_failed = 1
          cntl_error              = 2
          error_no_gui            = 3
          not_supported_by_gui    = 4
          OTHERS                  = 5.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                   WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.                               " IF SY-SUBRC <> 0.
      LOOP AT w_file INTO w_var.
        p_file = w_var-filename.
      ENDLOOP.                             " LOOP AT W_FILE INTO W_VAR.
      ULINE.
                          START-OF-SELECTION EVENT                      *
    START-OF-SELECTION.
      CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
        EXPORTING
          i_tab_raw_data       = t_temp
          i_filename           = p_file
        TABLES
          i_tab_converted_data = t_mat
        EXCEPTIONS
          conversion_failed    = 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.                               " IF SY-SUBRC EQ 0.
                          END-OF-SELECTION EVENT                        *
    END-OF-SELECTION.
      PERFORM sub_display.
    *& Form  sub_screen
    This subroutine appends the value of screen name and number        *
         -->PV_screenam  This holds screen name                         *
         -->PV_scrnum    This holds screen number                       *
    FORM sub_screen  USING    value(pv_screenam)
                                  value(pv_scrnum).
      CLEAR fs_workarea.
      fs_workarea-program = pv_screenam.
      fs_workarea-dynpro = pv_scrnum.
      fs_workarea-dynbegin = 'X'.
      APPEND fs_workarea TO  t_itab.
    ENDFORM.                               " FORM SUB_SCREEN
    *& Form  SUB_FIELD_DATA                                               *
    This subroutine apppends  field name and value of the screen.      *
    -->PV_FLDNAM   This holds field name                               *
    -->PV_FLDVAL   This holds Field value                              *
    FORM sub_field_data  USING    value(pv_fldnam)
                               value(pv_fldval).
      CLEAR fs_workarea.
      fs_workarea-fnam = pv_fldnam.
      fs_workarea-fval = pv_fldval.
      APPEND fs_workarea TO  t_itab.
    ENDFORM.                               " FORM SUB_FIELD_DATA
    *& Form  sub_display                                             *
    This subroutine fills the value on screen fields when BDC executes *
    There are no interface parameters to be passed to this subroutine. *
    FORM sub_display .
      LOOP AT t_mat INTO fs_f1.
        CLEAR fs_workarea.
        CLEAR fs_bdc.
        PERFORM sub_screen     USING 'SAPLMGMM' '0060'.
        PERFORM sub_field_data USING 'RMMG1-MATNR' fs_f1-name.
        PERFORM sub_field_data USING 'RMMG1-MBRSH' fs_f1-industry.
        PERFORM sub_field_data USING 'RMMG1-MTART' fs_f1-mtype.
        PERFORM sub_field_data USING 'BDC_OKCODE' '/00'.
        PERFORM sub_screen     USING 'SAPLMGMM' '0070'.
        PERFORM sub_field_data USING 'MSICHTAUSW-KZSEL(01)' 'X'.
        PERFORM sub_field_data USING 'MSICHTAUSW-KZSEL(02)' 'X'.
        PERFORM sub_field_data USING 'BDC_OKCODE' '=ENTR'.
        PERFORM sub_screen     USING 'SAPLMGMM' '4004'.
        PERFORM sub_field_data USING 'MAKT-MAKTX' fs_f1-descr.
        PERFORM sub_field_data USING 'MARA-MEINS' fs_f1-unit.
        PERFORM sub_field_data USING 'BDC_OKCODE' '/00'.
        PERFORM sub_screen     USING 'SAPLMGMM' '4004'.
        PERFORM sub_field_data USING 'BDC_OKCODE' '=BU'.
        CALL TRANSACTION 'MM01' USING t_itab MODE 'A' MESSAGES INTO t_mess.
      ENDLOOP.
    ENDFORM.                    " SUB_DISPLAY
    Edited by: Mohit Kumar on Feb 18, 2009 12:40 PM

  • Issue with BDC program used for FBZ5 (Check Print)

    Hi all,
    I am having one requirement in Check printing. as per that i have made one Z program which will accept multiple Payment documents. I am passing selected accounting documents to BDC routine for Transaction FBZ5. (As in FBZ5 we can take a print for one Payment document not for multiple)
    We can have 3 scenarios in FBZ5
    1. Fresh Check printing (First time check printing)
    2. Old Check (printing for same Check no)
    3. New Check (After voiding older check)
    Category 1 and 2 are working fine but i am facing problem in category 3.
    For Category 3 : BDC Screen flow is like this
    A. Tcode FBZ5 Start program: SAPMFCHK Screen: 750 --> Click on 'Print'
    B. Program: SAPLSPO2 Screen: 0100  --> Here specify option 'New Check'
    C. Program: SAPMFCHK Screen: 0700
        - This program belongs to new Tcode FCH7
        - Here we have to give Void Reason code
    Now issue with Category 3:
    While executing BDC in online and background mode my control is terminating at step C mentioned above
    Troubleshooting:
    I have debugged standard program of FBZ5
    1. in Include MFCHKFD0 we can see call to Tcode FCH7  (PERFORM AUFRUF_FCH7.)
    2. in form AUFRUF_FCH7 i found code related to BDC
       also there one statement is getting triggered -->   CALL TRANSACTION 'FCH7' USING BDC MODE 'A'.
    So there is a BDC call inside my Z BDC program, so is this a reason why my program is not working for above scenario ?
    Or can't we handle above scenario in a way mentioned above?

    Hi Sandra,
    I was trying to upload customer master in fd01 using bdc. The screens were different while recording. So could not perform the upload. Thenone screen was skipped so that the bdc was working fine and the data was uploaded.
    This is the flow of the recording.
    'SAPMF02D' '0105'.
    SAPMF02D' '7105'
    SAPMF02D' '0111
    SAPMF02D' '0120
    SAPMF02D' '0130
    SAPMF02D' '0210
    SAPMF02D' '0215
    SAPMF02D' '0220'
    SAPMF02D' '0230'
    SAPMF02D' '0610
    After the second screen was deleted the bdc worked fine.

  • Error 00-341 RAISE_EXCEPTION when using Call Transaction for VA01 in backgr

    Hi,
    I am getting this message when I use call transaction to create a sales order using VA01. Following is the statement I have used.  Note that when i execute the program online, I am not getting any errors. I could create sales order without any problem. I am getting this exception only when I run in background.
          CALL TRANSACTION 'VA01'
                     USING BDC_TAB
                      MODE 'N'
                    UPDATE 'S'
             MESSAGES INTO W_MESS_TAB.
    When I captured message tab, I got following messages.
    DC006 - Control Framework: Fatal error - GUI cannot be reached
    00341 Runtime error RAISE_EXCEPTION has occurred.
    Please help me in this regard.
    Regards
    Kasi

    Some times execution of BDC program in back ground is different from the foreground. Some screens may appear in background and raise error while same will not when executed in foreground.
    Double click the message in Session log to know more details.
    One way is to suppress the screen while executing BDC.
    Alternatively I suggest to use BAPI instead.
    - Sanjay

  • Tracing of message in Status Bar using Call Transaction for MRBR

    Hi
    As per the business requirement, I would like to automate the MRBR Transaction. I am achieving this by using Call Transaction. After aaplying certain company codes as an i/p; i receive the invoices as an o/p in a ALV Lay out. Say for example, 100 invoices are displayed in a AlV Lay-out after applying i/p. Now I select all these 100 invoices and release them.
    All these steps are recorded and supplied to Call Transaction via BDC table.
    Problem:
    The number of invoices released, appear in the status bar of that ALV Lay-out screen. This message appears on the ALV screen after I have released the invoices and clicked on "SAVE" button.I would like to use this information and display this number (No. of Invoices released) in my Job Log. But I do not know how to do it. Could any one help me out for this?
    Thanks in advance,
    Jigar Shah.

    Yes I have tried that option as well.
    But the thing is, the recording gets over as soon as I click on "SAVE" button.And that message apperas in status bar only after I click on "SAVE" button.So this way the message in the status bar never gets recorded.
    Thanks & Regards,
    Jigar Shah.

  • How to upload a multistructured file in BDC program using gui_upload?

    I want to upload a multistructured file in BDC program...in which some structures are repeating for multiple records..how to do this..
    BP_GEN_DATA     FR0100270154                         FR12345678902
    BP_PAYMENT     FR     0123456789     01234567890          
    BP_UNLOAD     MARSEILLE     X     FR                    
    BP_UNLOAD     PARIS          FR                         
    Here BP_GEN_DATA is root structure and BP_UNLOAD is lower level structure which is repeating

    Resolved

  • Problem in BDC program using MIGO_GO transaction code

    Hi Gurus
    I have developed a BDC session upload program. The program is
    running fine except for the issue that when it goes the subscreen in
    MIGO_GO transaction (same as MIGO) it does not generates any code
    for page down or next page key. While recording after 15 entries
    (end of page) it moves automaticaly to the next page on line 2 but
    when I have used my own itab to fill data into this screen it
    passes/generates the code for page down with clear screen. It does
    go to item 2 but overwrites earlier entries instead of generting new
    one.
    Any suggestions?
    Guys this is very urgent so need ur feedback immediately?
    Lots of thanks in advance.
    The code is as follows:
    PURPOSE: The purpose of this upload program is to upload
    receipt
    against Production Order. Data is uploaded into SAP
    via text
    file which is converted from pre-defined excel file
    pattern.
    REPORT zmm_migo_rec
    NO STANDARD PAGE HEADING LINE-SIZE 255.
    *Excel column sequence SAP Material Number Batch # Crop Year
    Process Date Net Weight Plant Area Gross
    Weight Plant Number Shift Mat.Desc Prod.Ord#
    TYPES : BEGIN OF st_barcode,
    m_matnr LIKE mara-matnr,
    m_batch_no LIKE mseg-charg,
    m_crop_year TYPE c LENGTH 4,
    m_process_date LIKE mkpf-bldat,
    m_net_wt TYPE c LENGTH 7,
    m_plant_area TYPE c LENGTH 5,
    m_gross_wt TYPE c LENGTH 7,
    m_plant_num TYPE c LENGTH 1,
    m_shift TYPE c LENGTH 1,
    m_matnr_desc TYPE c LENGTH 30,
    m_prod_ord LIKE mseg-aufnr,
    text(200),
    text1(200),
    END OF st_barcode.
    DATA : itab_barcode TYPE TABLE OF st_barcode WITH HEADER LINE.
    DATA : itab_log TYPE TABLE OF st_barcode WITH HEADER LINE.
    DATA : itab_log1 TYPE TABLE OF st_barcode WITH HEADER LINE.
    DATA : g_filename TYPE rlgrap-filename.
    INCLUDE bdcrecx1.
    Start of Selection Screen for document data, screen data and
    posting date fields.
    SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE text-000.
    PARAMETERS :
    p_dummy TYPE i DEFAULT 0,
    p_bldat LIKE sy-datum OBLIGATORY DEFAULT sy-
    datum, "Document date
    p_budat LIKE sy-datum OBLIGATORY DEFAULT sy-
    datum, "Posting date
    p_frmplt LIKE t001l-werks OBLIGATORY,
    p_frmloc LIKE t001l-lgort OBLIGATORY,
    p_toloc LIKE t001l-lgort OBLIGATORY,
    p_rsnmov LIKE mseg-grund OBLIGATORY,
    p_bsarea LIKE mseg-gsber OBLIGATORY,
    cb_simul AS CHECKBOX DEFAULT 'X'.
    SELECTION-SCREEN END OF BLOCK a1.
    START-OF-SELECTION.
    *to remove unnecessary fields from selection screen
    AT SELECTION-SCREEN OUTPUT.
    LOOP AT SCREEN.
    IF screen-group4 LT '060' AND screen-group3 NE 'BLK'.
    screen-active = 0.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    *to Process Call Transaction in Error Mode
    ctu = 'X'.
    ctumode = 'A'.
    nodata = space.
    END-OF-SELECTION.
    Get data from file
    PERFORM f_get_data.
    Validate data retrieved from excel file
    PERFORM f_validate_data.
    Batch data / simulate.
    IF cb_simul IS INITIAL.
    PERFORM f_prized_data.
    PERFORM f_write_log.
    ELSE.
    PERFORM f_write_log.
    ENDIF.
    *& Form F_GET_DATA
    This module is used to read text file data into SAP itab.
    FORM f_get_data .
    Select the file to be uploaded
    CALL FUNCTION 'UPLOAD'
    EXPORTING
    filename = g_filename
    filetype = 'DAT'
    TABLES
    data_tab = itab_barcode
    EXCEPTIONS
    conversion_error = 1
    invalid_table_width = 2
    invalid_type = 3
    no_batch = 4
    unknown_error = 5
    gui_refuse_filetransfer = 6
    OTHERS = 7.
    ENDFORM. " F_GET_DATA
    *& Form F_VALIDATE_DATA
    text
    FORM f_validate_data .
    DATA : BEGIN OF lt_marc OCCURS 0,
    matnr LIKE mard-matnr,
    werks LIKE mard-werks, " Plant
    END OF lt_marc.
    RANGES : lr_matnr FOR mara-matnr.
    READ TABLE itab_barcode INDEX 1.
    Prepare Ranges to check/verify Material from Table MARD i.e.
    respective plant
    lr_matnr-sign = 'I'.
    lr_matnr-option = 'EQ'.
    LOOP AT itab_barcode.
    Add leading zeros incase of numeric value.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
    input = itab_barcode-m_matnr
    IMPORTING
    output = itab_barcode-m_matnr.
    lr_matnr-low = itab_barcode-m_matnr.
    APPEND lr_matnr.
    MODIFY itab_barcode TRANSPORTING m_matnr.
    ENDLOOP.
    IF NOT lr_matnr[] IS INITIAL.
    SORT lr_matnr BY low.
    DELETE ADJACENT DUPLICATES FROM lr_matnr COMPARING low.
    SELECT matnr werks FROM marc
    INTO TABLE lt_marc
    WHERE matnr IN lr_matnr AND
    werks = p_frmplt.
    ENDIF.
    LOOP AT itab_barcode.
    READ TABLE lt_marc
    WITH KEY matnr = itab_barcode-m_matnr
    werks = p_frmplt.
    IF sy-subrc <> 0 .
    CONCATENATE 'Material' itab_barcode-m_matnr
    ' does not exist in Plant ' p_frmplt
    INTO itab_barcode-text SEPARATED BY space.
    MOVE-CORRESPONDING itab_barcode TO itab_log.
    APPEND itab_log.
    MODIFY itab_barcode TRANSPORTING text.
    CONTINUE.
    ENDIF.
    ENDLOOP.
    ENDFORM. " F_VALIDATE_DATA
    *& Form F_WRITE_LOG
    text
    FORM f_write_log .
    LOOP AT itab_log.
    WRITE :/ itab_log-text.
    ENDLOOP.
    LOOP AT itab_log1.
    WRITE :/ itab_log1-text1.
    ENDLOOP.
    ENDFORM. " F_WRITE_LOG
    *& Form f_prized_data
    text
    --> p1 text
    <-- p2 text
    FORM f_prized_data.
    DATA: ld_lines LIKE sy-tabix,
    ld_sw TYPE i,
    lh_loop TYPE i,
    ld_recno TYPE i,
    lremain TYPE i,
    ld_total TYPE i,
    ld_counter LIKE sy-index,
    ld_counter TYPE i,
    ld_save LIKE sy-index,
    ld_last TYPE i,
    sc_counter(2) TYPE n,
    ld_budat(10),
    ld_bldat(10).
    DATA: wa_matnr(40) TYPE c,
    wa_bwtar(40) TYPE c,
    wa_erfme(40) TYPE c,
    wa_charg(40) TYPE c.
    WRITE: p_budat TO ld_budat,
    p_bldat TO ld_bldat.
    ld_recno = 300. " Number of records in the upload file.
    ld_last = 0.
    Open BDC session.
    PERFORM open_group.
    DESCRIBE TABLE itab_barcode LINES ld_lines.
    CLEAR: lh_loop, lremain.
    lh_loop = ld_lines DIV ld_recno.
    lremain = ld_lines MOD ld_recno.
    IF lremain > 0.
    lh_loop = lh_loop + 1.
    ENDIF.
    ld_sw = 1.
    LOOP AT itab_barcode.
    ADD 1 TO ld_counter.
    ADD 1 TO sc_counter.
    ADD 1 TO ld_total. " Check for 300
    IF ld_sw = 1.
    Header data.
    PERFORM open_group.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=MIGO_OK_ACTION'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GODYNPRO-ACTION'.
    PERFORM bdc_field USING 'GODYNPRO-
    ACTION' 'A01'.
    PERFORM bdc_field USING 'GODYNPRO-
    REFDOC' 'R02'.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=OK_GO'.
    PERFORM bdc_field USING 'GODYNPRO-
    ACTION' 'A01'.
    PERFORM bdc_field USING 'GODYNPRO-
    REFDOC' 'R08'.
    PERFORM bdc_field USING 'GODEFAULT_TV-
    BWART' '101'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GODYNPRO-
    ORDER_NUMBER'.
    PERFORM bdc_field USING 'GOHEAD-
    BLDAT' ld_bldat.
    PERFORM bdc_field USING 'GOHEAD-
    BUDAT' ld_budat.
    PERFORM bdc_field USING 'GOHEAD-
    XNAPR' 'X'.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=MIGO_OK_DETAIL_OP
    EN'.
    PERFORM bdc_field USING 'GODYNPRO-
    ACTION' 'A01'.
    PERFORM bdc_field USING 'GODYNPRO-
    REFDOC' 'R08'.
    PERFORM bdc_field USING 'GODEFAULT_TV-
    BWART' '101'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GODYNPRO-
    ORDER_NUMBER'.
    PERFORM bdc_field USING 'GOHEAD-
    BLDAT' ld_bldat.
    PERFORM bdc_field USING 'GOHEAD-
    BUDAT' ld_budat.
    PERFORM bdc_field USING 'GOHEAD-
    XNAPR' 'X'.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=OK_GO'.
    PERFORM bdc_field USING 'GODYNPRO-
    ACTION' 'A01'.
    PERFORM bdc_field USING 'GODYNPRO-
    REFDOC' 'R08'.
    PERFORM bdc_field USING 'GODEFAULT_TV-
    BWART' '101'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GODYNPRO-
    ORDER_NUMBER'.
    PERFORM bdc_field USING 'GODYNPRO-
    ORDER_NUMBER' itab_barcode-m_prod_ord.
    PERFORM bdc_field USING 'GOHEAD-
    BLDAT' ld_bldat.
    PERFORM bdc_field USING 'GOHEAD-
    BUDAT' ld_budat.
    PERFORM bdc_field USING 'GOHEAD-
    XNAPR' 'X'.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=MIGO_OK_LINE_CLIC
    K'.
    PERFORM bdc_field USING 'GODEFAULT_TV-
    BWART' '101'.
    PERFORM bdc_field USING 'GOHEAD-
    BLDAT' ld_bldat.
    PERFORM bdc_field USING 'GOHEAD-
    BUDAT' ld_budat.
    PERFORM bdc_field USING 'GOHEAD-
    XNAPR' 'X'.
    PERFORM bdc_field USING 'GOHEAD-
    WEVER' '3'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GOITEM-ZEILE(01)'.
    PERFORM bdc_field USING 'GODYNPRO-
    DETAIL_ZEILE' ' 1'.
    PERFORM bdc_field USING 'GOITEM-
    ERFME' 'KG'.
    PERFORM bdc_field USING 'GOITEM-
    BWART' '101'.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=MIGO_OK_SPLIT_QUA
    N'.
    PERFORM bdc_field USING 'GODEFAULT_TV-
    BWART' '101'.
    PERFORM bdc_field USING 'GOHEAD-
    BLDAT' ld_bldat.
    PERFORM bdc_field USING 'GOHEAD-
    BUDAT' ld_budat.
    PERFORM bdc_field USING 'GOHEAD-
    XNAPR' 'X'.
    PERFORM bdc_field USING 'GOHEAD-
    WEVER' '3'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GOITEM-ZEILE(01)'.
    PERFORM bdc_field USING 'GODYNPRO-
    DETAIL_ZEILE' ' 1'.
    PERFORM bdc_field USING 'GOITEM-
    ERFME' 'KG'.
    PERFORM bdc_field USING 'GOITEM-
    MIGO_ELIKZ' '1'.
    PERFORM bdc_field USING 'GOITEM-
    BWART' '101'.
    ld_sw = 0.
    ENDIF.
    IF sc_counter = 16.
    CLEAR sc_counter.
    PERFORM bdc_field USING 'BDC_OKCODE' 'DOWN'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '/00'.
    add 2 to sc_counter.
    ELSE.
    PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
    ENDIF.
    CLEAR wa_matnr.
    CONCATENATE 'GOSPLIT-ERFMG(' sc_counter ')' INTO wa_matnr.
    CLEAR wa_bwtar.
    CONCATENATE 'GOSPLIT-CHARG(' sc_counter ')' INTO wa_bwtar.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '1000'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=OK_SP_CH'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GOSPLIT-CHARG
    (sc_counter)'.
    PERFORM bdc_field USING wa_matnr itab_barcode-
    m_gross_wt.
    PERFORM bdc_field USING wa_bwtar itab_barcode-
    m_batch_no.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GOSPLIT-CHARG
    (sc_counter)'.
    *When end of itab
    AT LAST.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '1000'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=OK_GOON'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GOSPLIT-CHARG
    (sc_counter)'.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=MIGO_OK_NEXT_IT'.
    PERFORM bdc_field USING 'GODEFAULT_TV-
    BWART' '101'.
    PERFORM bdc_field USING 'GOHEAD-
    BLDAT' ld_bldat.
    PERFORM bdc_field USING 'GOHEAD-
    BUDAT' ld_budat.
    PERFORM bdc_field USING 'GOHEAD-
    XNAPR' 'X'.
    PERFORM bdc_field USING 'GOHEAD-
    WEVER' '3'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GOITEM-ZEILE(01)'.
    PERFORM bdc_field USING 'GODYNPRO-
    DETAIL_ZEILE' ' 1'.
    PERFORM bdc_field USING 'GOITEM-
    ERFME' 'KG'.
    PERFORM bdc_field USING 'GOITEM-
    MIGO_ELIKZ' '1'.
    PERFORM bdc_field USING 'GOITEM-
    BWART' '101'.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=MIGO_OK_TAKE_VALU
    E'.
    PERFORM bdc_field USING 'GODEFAULT_TV-
    BWART' '101'.
    PERFORM bdc_field USING 'GOHEAD-
    BLDAT' ld_bldat.
    PERFORM bdc_field USING 'GOHEAD-
    BUDAT' ld_budat.
    PERFORM bdc_field USING 'GOHEAD-
    XNAPR' 'X'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GOITEM-TAKE_IT
    (01)'.
    PERFORM bdc_field USING 'GOITEM-TAKE_IT
    (01)' 'X'.
    PERFORM bdc_field USING 'GODYNPRO-
    DETAIL_ZEILE' ' 1'.
    PERFORM bdc_field USING 'GOITEM-
    ERFME' 'KG'.
    PERFORM bdc_field USING 'GOITEM-
    MIGO_ELIKZ' '1'.
    PERFORM bdc_field USING 'GOITEM-
    BWART' '101'.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=OK_CHECK'.
    PERFORM bdc_field USING 'GODEFAULT_TV-
    BWART' '101'.
    PERFORM bdc_field USING 'GOHEAD-
    BLDAT' ld_bldat.
    PERFORM bdc_field USING 'GOHEAD-
    BUDAT' ld_budat.
    PERFORM bdc_field USING 'GOHEAD-
    XNAPR' 'X'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GOITEM-TAKE_IT
    (01)'.
    PERFORM bdc_field USING 'GODYNPRO-
    DETAIL_ZEILE' ' 1'.
    PERFORM bdc_field USING 'GOITEM-
    ERFME' 'KG'.
    PERFORM bdc_field USING 'GOITEM-
    MIGO_ELIKZ' '1'.
    PERFORM bdc_field USING 'GOITEM-
    BWART' '101'.
    PERFORM bdc_field USING 'GODYNPRO-
    DETAIL_TAKE' 'X'.
    PERFORM bdc_dynpro USING 'SAPMSSY0' '0120'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=&ONT'.
    PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
    PERFORM bdc_field
    USING 'BDC_OKCODE' '=OK_POST1'.
    PERFORM bdc_field USING 'GODEFAULT_TV-
    BWART' '101'.
    PERFORM bdc_field USING 'GOHEAD-
    BLDAT' ld_bldat.
    PERFORM bdc_field USING 'GOHEAD-
    BUDAT' ld_budat.
    PERFORM bdc_field USING 'GOHEAD-
    XNAPR' 'X'.
    PERFORM bdc_field
    USING 'BDC_CURSOR' 'GOITEM-TAKE_IT
    (01)'.
    PERFORM bdc_field USING 'GODYNPRO-
    DETAIL_ZEILE' ' 1'.
    PERFORM bdc_field USING 'GOITEM-
    ERFME' 'KG'.
    PERFORM bdc_field USING 'GOITEM-
    MIGO_ELIKZ' '1'.
    PERFORM bdc_field USING 'GOITEM-
    BWART' '101'.
    PERFORM bdc_field USING 'GODYNPRO-
    DETAIL_TAKE' 'X'.
    PERFORM bdc_transaction USING 'MIGO_GO'.
    ENDAT.
    ENDLOOP.
    PERFORM close_group.
    ENDFORM. "f_prized_data

    Hi
    Thanks Peram for your swift reply but I am a newbie to BAPIs ...... is there anyway i can do this from within the code i had written ....
    for BAPIs I have to do R & D in detail and I need to complete this urgently. If BAPI is the only solution kindly provide my some quick guideline to proceed.
    Thanks,
    Imran

  • BDC Program to Set Reason for Rejection in VA02 in Sales Order Change

    Hi i have a requirement i have to set "reason for rejection" in random line items of Change mode of sales order VA02.
    I have to develope BDC for this task and i have the list of all open line items which displays in VA05, can any of them can guide me how to develop BDC which will randomly select line items and set reason for rejection in VA02 Sales Order Change transaction.
    With Regards,
    S.Saravanan

    Hi Saravanan,
    As mentioned in the previous reply, you can use the FM:SD_SALESDOCUMENT_CHANGE and set the reason code for the line item like for eg:  move '03' to IT_INPUT-REASON_REJ. and also set 'U' for update flag in the header structure,
    move 'U' to HEAD_INPUT_INX-UPDATEFLAG
    this will be best and easy method.
    for this, FM,you need to pass the below parameters:
    CALL FUNCTION 'SD_SALESDOCUMENT_CHANGE'
    EXPORTING    
       salesdocument                   = old_order
           order_header_in             = head_input
            order_header_inx           = head_input_inx
          TABLES
            return                      = return
           item_in                     = it_input
           item_inx                    = ii_input_inx
           schedule_in                 = schedule_input
           schedule_inx                = schedule_inputx
    declare all these structure and internal tables as per documentation of the FM.
    hope this helps.let me know if you need more information.
    Thanks,
    Srini.

  • Programs using video freeze for 1-2 minutes

    Since I got the my new MacBook Pro (4 months running Snow Leopard) I run into strange freezes: The fireball comes up - the machine doesn't react - after one or two minutes it works again, but only up to a few mouseclicks, then it freezes again. Usually the problem only gets solved by rebooting and doing a PRam reset.
    Today the freeze started with iPhoto. I had imported some photos and some .mov files from my camera and started to watch the videoclips. Suddenly during playback the video stopped, the audio continued for a couple more secondes, than the fireball came up for 2 min.
    The same thing happend a couple days ago with Skype: After some minutes into a video-skype session, the video froze, audio went on until the machine froze.
    It happened once with Quicktime as well. So I figure the problem has something to do with video.
    Activity monitor show no CPU activity (0.0%) with the frozen program, neither any other high cpu activity.
    Does anyone have any idea what could be wrong?
    Thanks a lot,
    Johannes

    Hi,
    I just watched a video podcast for about 30 min - suddenly the video froze, audio went on for a couple of seconds - then the fireball came up for 1 min. Then the video started again for 10 sec and froze again.
    Any idea what could be wrong here?
    Thanks,
    Johannes

  • BDC Programs Using SM35

    Hi,
    What is the best and easiest way to determine the list of programs in SAP (standard or custom) that uses SM35?  Is there a table somewhere that stores this information?
    Thanks,
    Gene

    Maybe one way is to do a where-used on the function module BDC_CLOSE_GROUP or BDC_OPEN_GROUP or BDC_INSERT.
    Regards,
    Rich Heilman

  • Identifying Programs using BDC.

    Hi Experts,
    I have a peculiar requirement. i have a list of programs. I have to develop a logic which will help me identify those programs using BDC (using batch input session or Call transaction). I also have to identify the transactions called using the  batch input session or Call transaction.
    For example:
    1) I have a program using CALL TRANSACTION 'abc' USING BDCDATA
                         MODE   CTUMODE
                         UPDATE CUPDATE
                         MESSAGES INTO MESSTAB.
    I have to extract the program name and 'abc' in a file.
    kindly provide solutions.
    Thanks
    Edited by: Sadhna Achhra on Dec 22, 2008 7:58 AM

    Hi Sadhna,
    I just written a small program (with reference to standard progs) that u might use. please see if you can use the following codes and adapt it for your purpose:
    logic:
    - i have retrieved all includes associated to the program in selection screen
    - scan each program where call transaction has been used
    - get the transaction being called and display it on screen
    PARAMETERS:p_prog TYPE trdir-name.
    DATA: BEGIN OF i_int_abap OCCURS 0,    " Internal table for storing ABAP
            line(256) TYPE c,
          END OF i_int_abap.
    DATA: BEGIN OF i_int_inc OCCURS 0,     " Table to Store Includes Name
            include LIKE sy-repid,
          END OF i_int_inc.
    DATA:v_prog  TYPE trdir-name ,
         v_tcode TYPE sy-tcode,
         v_dummmy TYPE c.
    CONSTANTS:c_true      TYPE c VALUE 'X'.
    CLEAR v_prog.
    v_prog = p_prog.
    CALL FUNCTION 'RS_GET_ALL_INCLUDES'   "This will get all includes related to the program
      EXPORTING
        program             = v_prog
        with_inactive_incls = c_true
      TABLES
        includetab          = i_int_inc
      EXCEPTIONS
        not_existent        = 1
        no_program          = 2
        OTHERS              = 3.
    IF sy-subrc = 0.
      CLEAR i_int_inc.
      i_int_inc-include = p_prog.
      INSERT i_int_inc INDEX 1.
      CLEAR i_int_inc.
      LOOP AT i_int_inc.                 " loop at all programs/include  and check for call transaction
        CLEAR v_prog.
        v_prog =  i_int_inc-include.
        READ REPORT v_prog INTO i_int_abap.
        LOOP AT i_int_abap WHERE line(1) <> '*'
                              AND LINE CS 'CALL TRANSACTION '.
          SPLIT i_int_abap-line AT text-001 INTO v_dummmy v_tcode. "text-001 stores '
           SPLIT v_tcode AT text-001 INTO v_tcode v_dummmy. "text-001 stores '
          WRITE : / 'Call  transaction to :' , v_tcode.
        ENDLOOP.
        REFRESH i_int_abap .
      ENDLOOP.
    ENDIF.
    Regards,
    Dev.

  • BDC program for Other Goods receipts

    Hi all,
    I need BDC program for Other goods receipts,
    I have data in excel like material, batch id, qty, actual width, length, plant etc. i want to upload this in one short based on the movement type.
    Thanks in advance.
    Shankar

    Hi MP Shankar,
    This is a sample BDC program .Use the format to develop your own BDC program.First record your trasnaction and use that recorded program here.Pass your filename here.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS: p_ifile TYPE dxfile-filename.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-002.
    PARAMETERS: p_sess RADIOBUTTON GROUP g3                  "create session
                       DEFAULT 'X' USER-COMMAND bdc,
                p_ctu  RADIOBUTTON GROUP g3.                 "call transaction
    SELECTION-SCREEN END OF BLOCK b3.
    DATA : BEGIN OF itab OCCURS 0,
           str TYPE string,
           END OF itab,
           l_file TYPE string,
           t_bdcdata TYPE STANDARD TABLE OF bdcdata,
           wa_bdcdata LIKE LINE OF t_bdcdata.
    AT SELECTION SCREEN ON VALUE REQUEST
    Value request for the filename.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_ifile.
      PERFORM help_input_file.
    START-OF-SELECTION.
      CLEAR l_file.
      l_file = p_ifile.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                = l_file
          filetype                = 'ASC'
        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.
    *Start new session
      IF p_sess = 'X'.
        PERFORM bdc_open.
      ENDIF.
      LOOP AT itab.
        PERFORM creat_batch_input.
        PERFORM bdc_insert.
        IF p_ctu = 'X'.
          CALL TRANSACTION 'SE38'  USING t_bdcdata  MODE 'A'.
        ENDIF.
      ENDLOOP.
      IF p_sess = 'X'.
        PERFORM bdc_close .
      ENDIF.
    *&      Form  bdc_open
          text
    -->  p1        text
    <--  p2        text
    FORM bdc_open .
      CALL FUNCTION 'BDC_OPEN_GROUP'
        EXPORTING
          client              = sy-mandt
          group               = 'ZMUK'
          user                = sy-uname
        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.
    ENDFORM.                    " bdc_open
    *&      Form  creat_batch_input
          text
    -->  p1        text
    <--  p2        text
    FORM creat_batch_input .
    use your own recorded program here.
      PERFORM bdc_dynpro      USING 'SAPLWBABAP' '0100'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=STRT'.
      PERFORM bdc_field       USING 'RS38M-PROGRAMM'
                                    itab-str.
      PERFORM bdc_field       USING 'RS38M-FUNC_EDIT'
                                    'X'.
      PERFORM bdc_dynpro      USING 'SAPLSLVC_FULLSCREEN' '0500'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=&F03'.
      PERFORM bdc_dynpro      USING 'SAPLWBABAP' '0100'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=BACK'.
      PERFORM bdc_field       USING 'RS38M-PROGRAMM'
                                    itab-str.
      PERFORM bdc_field       USING 'RS38M-FUNC_EDIT'
                                    'X'.
    ENDFORM.                    " creat_batch_input
    *&      Form  bdc_insert
          text
    -->  p1        text
    <--  p2        text
    FORM bdc_insert .
      CALL FUNCTION 'BDC_INSERT'
        EXPORTING
          tcode            = 'SE38'
        TABLES
          dynprotab        = t_bdcdata
        EXCEPTIONS
          internal_error   = 1
          not_open         = 2
          queue_error      = 3
          tcode_invalid    = 4
          printing_invalid = 5
          posting_invalid  = 6
          OTHERS           = 7.
    ENDFORM.                    " bdc_insert
    *&      Form  bdc_dynpro
          text
         -->P_0168   text
         -->P_0169   text
    FORM bdc_dynpro  USING p_program TYPE any
                           p_dynpro  TYPE any.
      CLEAR wa_bdcdata.
      wa_bdcdata-program  = p_program.
      wa_bdcdata-dynpro   = p_dynpro.
      wa_bdcdata-dynbegin = 'X'.
      APPEND wa_bdcdata TO t_bdcdata.
    ENDFORM.                    " bdc_dynpro
    *&      Form  bdc_field
          text
         -->P_0179   text
         -->P_0180   text
    FORM bdc_field  USING   p_fnam TYPE any
                            p_fval TYPE any.
      CLEAR wa_bdcdata.
      wa_bdcdata-fnam = p_fnam.
      wa_bdcdata-fval = p_fval.
      CONDENSE wa_bdcdata-fval.
      APPEND wa_bdcdata TO t_bdcdata.
    ENDFORM.                    " bdc_field
    *&      Form  bdc_close
          text
    -->  p1        text
    <--  p2        text
    FORM bdc_close .
      CALL FUNCTION 'BDC_CLOSE_GROUP'
        EXCEPTIONS
          not_open    = 1
          queue_error = 2
          OTHERS      = 3.
    ENDFORM.                    " bdc_close
    *&      Form  help_input_file
          text
    -->  p1        text
    <--  p2        text
    FORM help_input_file .
      DATA:  lt_file_table TYPE filetable,
             la_file_table LIKE LINE OF lt_file_table,
             l_rc TYPE i,
             l_pcdsn TYPE cffile-filename.
      REFRESH lt_file_table.
      CLEAR la_file_table.
      CALL METHOD cl_gui_frontend_services=>file_open_dialog
        CHANGING
          file_table = lt_file_table
          rc         = l_rc.
      READ TABLE lt_file_table INTO la_file_table INDEX 1.
      l_pcdsn = la_file_table-filename.
      MOVE l_pcdsn TO p_ifile.
    ENDFORM.                    " help_input_file

  • Call transaction in a BDC program...

    Hi,
    I can see in one of the BDC program, the call transaction command is used. This BDC program updates the Vendor master table.
    CALL TRANSACTION BLF00-TCODE USING  FT
                                     MODE   ANZ_MODE
                                     UPDATE UPDATE.
    Now, I am trying to know what transaction code it is using in above call transaction to update vendor master.
    Regards,
    Rajesh.

    Put a break point on that statement in that program and run your program using MODE 'A', step thru the screens, when you get to that statement in debug mode, simply click on the BLF00-TCODE and see the value. 
    Regards,
    Rich Heilman

Maybe you are looking for

  • Copy Master Datas in FICo from 1 Company Code to Another   ---  Very Urgent

    Hi Peers I want to copy all the FI & CO master Data like G/L a/cs , Vendor Master, Customer Master, Cost Centers, Cost Elements, Commitment Items, Funds Center & Assets from one company code to another company code. Both the company codes will have s

  • Oracle9i Enterprise Edition Release 9.2.0.7 downloadable

    Hi, Please let me know where i can i find the downloadable for :Oracle9i Enterprise Edition Release 9.2.0.7 for linux Thank you, -Lokanath.

  • Roll up of Units - Difference in Rolled up Vs exported in XLS

    Hello All, I have a completed schedule in P6 with over 8000 activities (all completed) and with the following rolled-up figures as seen on the highest WBS (Level1). Budgeted Labour Units: 65352 Budgeted Non-Labour Units: 3472 Actual Labor Units: 6526

  • Smartforms Dump

    Hello experts, I copied a smartforms and adapted to new needs. The original report print one or more pages normally, but my smartform doesn't. The problem is in a Main window. In this main has a main table, this main table has only header and footer.

  • /sbin/fsck -fy /sbin/mount -uw /

    All of the your contributions to the Apple Forum is greatly appreciated . This is continued from the last inquiry. This may or may not have any relation to posts on regarding Apple Mac Graphics Memory And Virtual Memory problems posted in the forum ,