Call transaction in N mode

Hi,
I have used BDC Call transaction method in N(background) mode from my report.
But when the report itself,  is run in background, then the BDC is not working.
Please help. I must run the report in background as well.
Thanks&Regards
Ananya Mukherjee

I faced the same issue while running a BDC for a custom transaction. It was working fine in foreground, but not in background with error log message "Object Reference Not Assigned". Later, we found out that, it was due to some HTML text editors and inplace excel displays, which interact with foreground processes and can't run in background.
Kindly check the error log of the BDC. Write the errors in application server or in report output using WRITE statement, so that you can check it in spool.
In your custom dialog program check for any inplace document displays, HTML text editors or GUI functionalities. If it's due to GUI functionalities only, run the piece of code responsible for the GUI , only when sy-batch NE X in your main dialog program.

Similar Messages

  • Call transaction in test mode

    Dear Folks!
    Is there a way to do something like a call transaction in test mode?
    What I need is to check the data of the file and return a log of the errors that this file would give if executed in call transaction, before executing it for real in the production environment.
    Thanks in advance for any help.
    Kind Regards,
    Gilberto Li

    Hello Gilberto
    Yes, it <i>is possible</i> to run transaction in test mode using <b>eCATT</b>.
    Here is the procedure for transaction ME21N (please note that this transaction has a "CHECK" button to validate the input data):
    - First I created an eCATT testscript and chose pattern TCD (Record) with transaction ME21N.
    - Within the recorded transaction I only entered the vendor and then pushed the CHECK button (-> popup appears with all messages)
    - Next I cancelled the transaction without saving the purchase order and saved the recording within the testscript
    - Then I surrounded the TCD recording with a MESSAGE...ENDMESSAGE block:
    MESSAGE ( MSG_1 ).
      TCD ( ME21N , ME21N_1 ).
    ENDMESSAGE ( E_MSG_1 ).
    Now if you run the testscript you will see all the messages collected thus far within the recorded transaction in the<b> eCATT log</b>.
    I admit that this approach will not work for all transactions. However, it may be useful for testing many transactions.
    Regards
      Uwe

  • Call Transaction in background mode

    Hi everyone,
    What I am currently trying to do is to perform a 'call transaction' while forcing the 'background processing' mode even when the user is running the program in online mode; this allows me to retrieve a lot more messages that are useful to the user than the messages generated in online mode.
    As long as I have seen there is no field for that in the options table that can be passed to the 'call transaction' sentence. The only way to see that behavior while in online mode is by 'playing back' a recording thru the SHDB transaction and checking the 'Simulate background' option.
    My first attempt was to set the SY-BATCH flag before doing the call transaction but it doesn't work, the flag seems to reset itself with the correct value during the call.
    Any comments on this would be greatly appreciated.
    Regards,
    Sergio

    You would have to create a job on the fly to do this.  This example shows how to kick off a background job via an ABAP program.
    report zrich_0004 .
    data:   sdate type sy-datum,
            stime type sy-uzeit,
            l_valid,
            ls_params like pri_params,
            l_jobcount like tbtcjob-jobcount,
            l_jobname  like tbtcjob-jobname.
    start-of-selection.
    * Get Print Parameters
      call function 'GET_PRINT_PARAMETERS'
           exporting
                no_dialog      = 'X'
           importing
                valid          = l_valid
                out_parameters = ls_params.
    * Open Job
      l_jobname = 'ZRICH_0005'.
      call function 'JOB_OPEN'
           exporting
                jobname  = l_jobname
           importing
                jobcount = l_jobcount.
    * Submit report to job
      submit zrich_0005   
           via job     l_jobname
               number  l_jobcount
           to sap-spool without spool dynpro
               spool parameters ls_params
                  and return.
    * Schedule and close job.
      call function 'JOB_CLOSE'
           exporting
                jobcount  = l_jobcount
                jobname   = l_jobname
                strtimmed = 'X'

  • Call Transaction in foreground mode

    Dear friends,
    I am calling a transaction from a program inside a loop using CALL TRANSACTION statement in foreground mode.
    After processing that transaction, i need to get the control back to the loop for processing next record.
    Whether this is possible?
    Thanks,

    Tthe control will come back to the loop for processing next record but only if the transaction runs according to the recording without any error messages else it will stop at the particular screen since its running in foreground mode . Also make sure you refresh the BDCDATA for each loop pass.

  • "Call Transaction" in Simulate Mode?

    Hi All,
    Is there a way to use "CALL TRANSACTION" in a Simulation Mode, I mean get the messages back without any COMITT or Updates performed?
    Thanks in advance for your help.

    Srinivas -  to me, there's two stages to writing a BDC program. The first is getting the program that creates the BDC correct. The second is getting the BDC itself correct.
    Let's say you are writing a program that reads a file of vendor data and creates a BDC that creates or changes vendors. The program works well, creates a session and when you run the session, half of the updates fail due to a problem with the program. So you change the program, but then what? If you rerun the program with the same file, you won't necessarily get the same results as if you'd run the changed program with the file the first time because the database was changed by the first BDC.
    Also when posting financial transactions, users like to check the final balance to ensure that it matches what they expect. If the BDC has run more than once, the balance won't be what they expect.
    Having said all that, I do find this to be more work than I really care to do. So now, I generally skip this and watch the transactions go by in 'A' mode without pressing 'save'.
    Additionally, some transactions do have a 'simulate' button that can be pressed instead of 'back'. This would give a better idea of how the transaction would behave.
    Rob

  • Call transaction in Workflow doesn't work

    Hi all,
    I'm a strange problem.
    I built a call transaction in a FM. If I test the FM the call transaction works fine.
    if I put this FM in a workflow (in a class I build ad hoc for the WF) it doesn't work,
    I check in degub the import partameters and it is ok.
    I try to execute the FM also in UPDATE or in BACKGROUND task, or the call transaction in different MODE or UPDATE ways, but nothing.
    any idea?
    thanks
    enzo

    Hi,
    Whether your BDC code in your function module is requesting any input from user?.  If yes, make sure to pass values since you are calling through Workflow which dont popup BDC screens?.
    Let me know your scenario is different than I told here.
    Regards
    Krishna

  • Messages from call transaction don't appear

    Hello everyone,
    I'm having a problem that i never experienced.
    I have a call transaction for T-code 'FOB1', like this:
      CALL TRANSACTION f_tcode USING bdc_tab MODE f_mode UPDATE 'S'
                                           MESSAGES INTO messtab.
    I allready tried using 'A' mode and 'N' mode, but the problem persists. My table messtab, that should, at least, bring the message for successfull creation of document, is completely empty!! with one difference. If i choose "visible" mode, a warning appears that is not a concern for creating the document. That 'W' message appears in my table messtab, ONLY if i run the call transaction with 'visible' mode. It looks like if the messages are being deleted so fast that the system doesn't catch them.
    Any suggestions ??
          Thank you.

    Thank you for all your answers, but my problem persists.
    In response to all:
    - I tried eliminating the UPDATE statement or using option 'A', but the message table still appears empty.
    - When i create a document through transaction FOB1, it does send a S message with the number of the document created.
    - I tried creating a Batch Input and process it through SM35, and the log shows several S messages.
    I'm having trouble solving this one. Any more suggestions ?

  • CALL TRANSACTION 'MM06'

    Hi,
    I am calling a transaction as;
    CALL TRANSACTION 'MM06' USING BATCH_ITAB MODE pMODE
                       MESSAGES INTO MES_ITAB UPDATE 'S'.
    in BATCH ITAB:
    'X' 'SAPMM03G' '0100',
    ' ' 'RM03G-MATNR' "any matnr,
    ' ' 'RM03G-WERKS' "any werks,
    ' ' 'RM03G-RMMG1' "space,
    ' ' 'BDC_OKCODE' '/00'.
    'X' 'SAPMM03G' '0111',
    ' ' 'RM03G-LVOMA' 'X',
    ' ' 'BDC_OKCODE' '=BU'.
    and
    DATA: BEGIN OF BATCH_ITAB OCCURS 0.
            INCLUDE STRUCTURE BDCDATA.
    DATA: END OF BATCH_ITAB.
    But there is an interesting state. As you know MM06 puts a tick to delete a material. But after I have called MM06 transaction, sometimes puts a tick and sometimes does not put a tick. Why this is so? And I have realized(maybe this is not so true) if I call transaction using N mode there is problem putting a tick. But if call transaction using A mode it puts. But this can be deal with sometimes puts a tick and sometimes does not put a tick. I mean that maybe problem may not be deal with mode.
    Now, what can I do? where is the problem?
    Thanks for your helps.

    Hi,
    I looked the MES_ITAB while mod is N, and I see that MES_ITAB is initial, no updating. MES_ITAB data definition is:
    DATA MES_ITAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
    I also want to say that I am first calling CS02, next MM02 and last MM06. Is there any problem because of calling CS02 and MM02 before MM06. But my CS02 and MM02 works true.
    I want to ask, how this problem can be occur because of data?

  • Call Transaction - Update Local

    Hi,
      I am using call transaction with Update mode "A".
      when i use this my work is being commited immediately.
      i want to know which UPDATE MODE i have to use .to commit my work later.
    and what should i write to commit at that point.(is COMMIT WORK) or any funtion.

    Hi.
    A mode itself indicates asynchronus update means donot wait for execution of Commit work...the mode u r using is correct..
    <b>Asynchronous update.</b>
    Updates of called programs are executed in the same way as if in the COMMIT WORK statement the AND WAIT addition was not specified.
    So..

  • Call Transaction QE51

    Hi,
    I am using a BDC Call Transaction QE51 for carrying out results recording. The first time I execute this (N mode), the call transaction fails. However, subsequent runs pass without any failure. Do I need to set any parameter id values prior to the call transaction for QE51?
    Please advise.
    Thanks,
    Tessy

    Hi,
    No, I am not missing any fields. When I run the call transaction in 'A' mode, it passes after the first run. However the first time that I run the call transaction for QE51, it fails. Thats why I was wondering if I needed to set any parameter ids.
    Thanks,
    Tessy

  • Call transaction KB21N processed by a program in background mode

    Hi to all,
    I call transaction KB21N using BDCDATA in a custom program. If I process this program in foreground mode all it's OK, but if I process the program in background mode, I have a runtime error with DUMP: RAISE EXCEPTION with exception condition CNTL_ERROR. This program has to be executed in background so a bapi exist to use instead of call transaction or something else?
    Thank you very much,
    regards
    Antonio

    HI Antonio,
    The transaction you are dealing with is an SAP Enjoy transaction and for such transactions it is not recommended to do a BDC. YOu should search for  a BAPI for the same as you have already identified. Basically the enjoy transactions uses GUI controls which cannot be handled by BDC.
    BAPI_ACC_ACTIVITY_ALLOC_POST may serve your purpose.
    Regards,
    ravi
    Message was edited by:
            Ravi Kanth Talagana

  • Call transaction in mode N fro transaction F-02

    Hi,
    The call transaction for F-02 work well in mode 'A' and it creates the FI posting. But when I execute it in mode 'N' it does not post.
    Any ideas?
    Thanks in advance.

    Hi Abel Isaac Polo,
    Welcome to SCN, as per your issue I do't thing that should happend... Can you paste wht all paramenters which you are passing to CALL Transaction statement.
    Regards,
    Suneel G

  • Call transaction mode 'A' and mode 'N'

    Hi all
    In my below mentioned code statement bdc call transaction eg33 mode 'A' is working fine in both programs main program and called(submit) program (highlighted here). But if I give mode 'N' in both called and calling program call transaction  the called program using submit is not at all called. Suggest me what to do if i want to run it in background.Write now its runing in foreground and user has to press enter many times which i want to avoid.
    REPORT  zac_eg33 NO STANDARD PAGE HEADING
                     LINE-SIZE 100.
    TABLES: EABL,
            BUT000,
            ZISUH0003.
    DATA: IT_STATUS TYPE ZISUH0003.
    DATA: G_INDEX TYPE I,
          G_START_COL TYPE I VALUE '1',      "start column
          G_START_ROW TYPE I VALUE '14',      "start row
          G_END_COL   TYPE I VALUE '18',     "maximum column
          G_END_ROW   TYPE I VALUE '75',  "maximum row
          G_TEXT(20),                         "stores error messages
          G_PAGES        TYPE I,
          G_CURRENT_PAGE TYPE I,
          G_COUNT LIKE SY-DBCNT.
    data: l_file   type file_table,
          file1    type string,
          l_title  type string,
          LENGTH   TYPE I,
          FILES    type filetable,
          SUBRC    type i,
          STR_FILE type STRING,
          D_FILE   type RLGRAP-FILENAME,
          filename TYPE String,
          L_itab_date(10).
    FIELD-SYMBOLS : <FS>.
    DATA msgtext(80).
    DATA: IT_EXCEL LIKE STANDARD TABLE OF ALSMEX_TABLINE WITH HEADER LINE,
          IT_MESS TYPE STANDARD TABLE OF BDCMSGCOLL WITH HEADER LINE.
    TYPES: BEGIN OF TY_OPEN,
            HAUS LIKE REG30-HAUS,
            EADAT(10),
            GERAETNEU LIKE REG30-GERAETNEU,
            MESSDRCK LIKE REG30-MESSDRCK,
            ZWSTANDCE LIKE REG30-ZWSTANDCE,
            XYZ LIKE EGPLD-DEVLOC,
          END OF TY_OPEN.
    DATA : T_ANLAGE LIKE EANLD-ANLAGE,
           VSTELLE LIKE EVBS-VSTELLE,
           S_ANLAGE LIKE EANLD-ANLAGE,
           temp_c(7).
    DATA: IT_OPEN TYPE STANDARD TABLE OF TY_OPEN WITH HEADER LINE.
    DATA: BDCDATA1 TYPE STANDARD TABLE OF BDCDATA WITH HEADER LINE.
    SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE TEXT-001.
    SELECTION-SCREEN SKIP 2.
    PARAMETERS: P_FILE like RLGRAP-FILENAME OBLIGATORY.
    SELECTION-SCREEN SKIP 2.
    SELECTION-SCREEN END OF BLOCK 1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE  .
      PERFORM GET_FILE_NAME.
      MOVE FILENAME TO P_FILE.
    *START-OF-SELECTION.
    *CLEAR IT_EXCEL.
    START-OF-SELECTION.
    CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
      EXPORTING
        FILENAME                      = p_file
        I_BEGIN_COL                   = 1  "VF_START_COL
        I_BEGIN_ROW                   = 2  "VF_START_ROW
        I_END_COL                     = 5  "VF_END_COL
        I_END_ROW                     = 10000  "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.
      G_TEXT = 'No Data Uploaded'.
    ELSE.
      SORT IT_EXCEL BY ROW COL.
      LOOP AT IT_EXCEL.
        MOVE : IT_EXCEL-COL TO G_INDEX.
        ASSIGN COMPONENT G_INDEX OF STRUCTURE IT_OPEN TO <FS>.
        MOVE IT_EXCEL-VALUE TO <FS>.
        AT END OF ROW.
          IF NOT IT_OPEN IS INITIAL.
          APPEND IT_OPEN." TO IT_LINE.
          CLEAR IT_OPEN.
          CLEAR IT_EXCEL.
          ENDIF.
        ENDAT.
      ENDLOOP.
    ENDIF.
    REFRESH IT_EXCEL.
    ULINE.
    FORMAT COLOR 3 ON.
    WRITE: /1 sy-vline ,
           2 'Material No.' ,
           25 sy-vline,
            2 'Logs' ,
            100 sy-vline.
    uline.
    FORMAT COLOR OFF.
    LOOP AT IT_OPEN.
    REFRESH BDCDATA1.
    clear : temp_c.
    move it_open-MESSDRCK to temp_c.
    condense : temp_c.
    PERFORM MAP1.
    *CALL TRANSACTION 'EG33' USING BDCDATA1 MODE 'A' MESSAGES INTO IT_MESS.
    GET PARAMETER ID 'GEP' FIELD it_open-XYZ.
    SET PARAMETER ID 'IFL' FIELD it_open-XYZ.
    *MESSAGE X003(IA) INTO msgtext.
    *IF MSGTEXT = 'Only single installation is allowed at functional location &'.
    *EXIT.
    *ELSE.
    SUBMIT ZIL02_BDC and return.*
    ENDIF.
    DATA: G_INSNO LIKE IT_OPEN-HAUS.
    IF NOT IT_MESS[] IS INITIAL.
      G_INSNO = IT_OPEN-HAUS.
      PERFORM GET_MESSAGES  TABLES IT_MESS USING G_INSNO." IT_LINE.
    ENDIF.
    READ TABLE IT_MESS WITH KEY MSGTYP = 'E'.
    IF SY-SUBRC NE 0.
    READ TABLE IT_MESS WITH KEY MSGTYP = 'S'  MSGNR = '622'.
    IF SY-SUBRC EQ 0.
    SELECT SINGLE VSTELLE FROM EVBS INTO VSTELLE WHERE HAUS = IT_OPEN-HAUS.
    SELECT SINGLE ANLAGE FROM EANL INTO T_ANLAGE WHERE VSTELLE = VSTELLE.
    MOVE T_ANLAGE TO IT_STATUS-ANLAGE.
    MOVE 'X' TO IT_STATUS-RFC.
    *perform get_date_format using IT_OPEN-EADAT.
    MOVE IT_OPEN-EADAT TO IT_STATUS-ADATE.
    SELECT SINGLE ANLAGE FROM ZISUH0003 INTO  S_ANLAGE WHERE ANLAGE =
    T_ANLAGE.
      IF SY-SUBRC EQ 4.
        INSERT ZISUH0003 FROM IT_STATUS.
      ELSE.
        UPDATE ZISUH0003 FROM IT_STATUS.
      ENDIF.
      ENDIF.
      ENDIF.
      REFRESH IT_MESS.
      CLEAR   IT_MESS.
    ENDLOOP.
    *PERFORM BDC_OPEN_READING.
    MESSAGE S013(ZPS).
    *&      Form  GET_FILE_NAME
          text
    -->  p1        text
    <--  p2        text
    FORM GET_FILE_NAME .
    REFRESH FILES.
    call method cl_gui_frontend_services=>file_open_dialog
                exporting
                  window_title            = l_title
                changing
                  file_table              = files
                  rc                      = subrc
                exceptions
                  file_open_dialog_failed = 1
                  cntl_error              = 2
                  error_no_gui            = 3
                  others                  = 4.
              check sy-subrc = 0.
              loop at files into l_file.
                str_file = l_file.
                move str_file to filename.
                exit.
              endloop.
    ENDFORM.                    " GET_FILE_NAME
    *&      Form  BDC_OPEN_READING
          text
    -->  p1        text
    <--  p2        text
    FORM BDC_OPEN_READING .
    *DATA: G_INSNO LIKE IT_OPEN-HAUS.
    *IF NOT IT_MESS[] IS INITIAL.
    G_INSNO = IT_OPEN-HAUS.
    PERFORM GET_MESSAGES  TABLES IT_MESS USING G_INSNO." IT_LINE.
    *ENDIF.
    *READ TABLE IT_MESS WITH KEY MSGTYP = 'E'.
    *IF SY-SUBRC NE 0.
    *READ TABLE IT_MESS WITH KEY MSGTYP = 'S'  MSGNR = '622'.
    *IF SY-SUBRC EQ 0.
    *SELECT SINGLE VSTELLE FROM EVBS INTO VSTELLE WHERE HAUS = IT_OPEN-HAUS.
    *SELECT SINGLE ANLAGE FROM EANL INTO T_ANLAGE WHERE VSTELLE = VSTELLE.
    *MOVE T_ANLAGE TO IT_STATUS-ANLAGE.
    *MOVE 'X' TO IT_STATUS-RFC.
    **perform get_date_format using IT_OPEN-EADAT.
    *MOVE IT_OPEN-EADAT TO IT_STATUS-ADATE.
    *SELECT SINGLE ANLAGE FROM ZISUH0003 INTO  S_ANLAGE WHERE ANLAGE =
    *T_ANLAGE.
    IF SY-SUBRC EQ 4.
       INSERT ZISUH0003 FROM IT_STATUS.
    ELSE.
       UPDATE ZISUH0003 FROM IT_STATUS.
    ENDIF.
    ENDIF.
    ENDIF.
    REFRESH IT_MESS.
    CLEAR   IT_MESS.
    *ENDLOOP.
    ENDFORM.                    " BDC_OPEN_READING
           Start new screen                                              *
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
      CLEAR BDCDATA1.
      BDCDATA1-PROGRAM  = PROGRAM.
      BDCDATA1-DYNPRO   = DYNPRO.
      BDCDATA1-DYNBEGIN = 'X'.
      APPEND BDCDATA1.
    ENDFORM.
           Insert field                                                  *
    FORM BDC_FIELD USING FNAM FVAL.
      IF FVAL <> SPACE.
        CLEAR BDCDATA1.
        BDCDATA1-FNAM = FNAM.
        BDCDATA1-FVAL = FVAL.
        APPEND BDCDATA1.
      ENDIF.
    ENDFORM.
    *&      Form  MAP1
          text
    -->  p1        text
    <--  p2        text
    FORM MAP1 .
    perform bdc_dynpro      using 'SAPLE30D' '0100'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'REG30-GERAETNEU'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'REG30-HAUS'
                                  IT_OPEN-HAUS.  "'100000000033'.
    perform bdc_field       using 'REG30-EADAT'
                                  IT_OPEN-EADAT.  "'18.02.2006'.
    perform bdc_field       using 'REG30-GERAETNEU'
                                  IT_OPEN-GERAETNEU.  "'66a'.
    perform bdc_dynpro      using 'SAPLE30D' '0220'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'REG30-TEMP_AREA(02)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=SAVE'.
    perform bdc_field       using 'REG30-MESSDRCK'
                                   temp_c. "IT_OPEN-MESSDRCK'0.0125'.
    perform bdc_field       using 'REG30-GERWECHS'
                                  '05'.
    perform bdc_field       using 'REG30-ANZDAYSOFPERIOD(01)'
                                  '30'.
    perform bdc_field       using 'REG30-ZWSTANDCE(01)'
                                  IT_OPEN-ZWSTANDCE.  "'10'.
    perform bdc_field       using 'REG30-ZWSTANDCE(02)'
                                  '0'.
    perform bdc_field       using 'REG30-PERVERBR(01)'
                                  '0'.
    perform bdc_field       using 'REG30-PERVERBR(02)'
                                  '0'.
    perform bdc_field       using 'REG30-TEMP_AREA(01)'
                                  '0001'.
    perform bdc_field       using 'REG30-TEMP_AREA(02)'
                                  '0001'.
    perform bdc_field       using 'REG30-PR_AREA_AI(01)'
                                  '0001'.
    perform bdc_field       using 'REG30-PR_AREA_AI(02)'
                                  '0001'.
    ENDFORM.                    " MAP1
    *&      Form  get_date_format
          text
         -->P_IT_ORDER_TABLE_C_DATE  text
    FORM get_date_format USING L_ITAB_DATE." LIKE SY-DATUM.
    data: d_temp(4),
          m_temp(2),
          y_temp(4).
    *move L_ITAB_DATE to L_ITAB_DATE.
    y_temp = L_ITAB_DATE(4).
    m_temp = L_ITAB_DATE+4(2).
    d_temp = L_ITAB_DATE+6(2).
    CONCATENATE d_temp '.' m_temp '.' y_temp into L_ITAB_DATE.
    ENDFORM.                    " get_date_format
    *&      Form  GET_MESSAGES
          text
         -->P_IT_MESS  text
         -->P_G_INSNO  text
    FORM GET_MESSAGES  TABLES IT_MESS STRUCTURE BDCMSGCOLL USING G_INSNO .
      TABLES T100.
    DATA: L_MSTRING(255).
    LOOP AT IT_MESS WHERE MSGTYP = 'E'   OR MSGTYP = 'S'.
          SELECT SINGLE * FROM T100 WHERE SPRSL = IT_MESS-MSGSPRA
                                    AND   ARBGB = IT_MESS-MSGID
                                    AND   MSGNR = IT_MESS-MSGNR.
          IF SY-SUBRC = 0.
            L_MSTRING = T100-TEXT.
            IF L_MSTRING CS '&1'.
              REPLACE '&1' WITH IT_MESS-MSGV1 INTO L_MSTRING.
              REPLACE '&2' WITH IT_MESS-MSGV2 INTO L_MSTRING.
              REPLACE '&3' WITH IT_MESS-MSGV3 INTO L_MSTRING.
              REPLACE '&4' WITH IT_MESS-MSGV4 INTO L_MSTRING.
            ELSE.
              REPLACE '&' WITH IT_MESS-MSGV1 INTO L_MSTRING.
              REPLACE '&' WITH IT_MESS-MSGV2 INTO L_MSTRING.
              REPLACE '&' WITH IT_MESS-MSGV3 INTO L_MSTRING.
              REPLACE '&' WITH IT_MESS-MSGV4 INTO L_MSTRING.
            ENDIF.
            CONDENSE L_MSTRING.
          ENDIF.
          CONDENSE G_INSNO.
          CONCATENATE 'For' ' ' G_INSNO ',' L_MSTRING INTO L_MSTRING SEPARATED BY SPACE.
    FORMAT COLOR 2 ON.
    *IF IT_MESS-MSGTYP = 'S' AND IT_MESS-MSGNR = '622'.
    *WRITE: 1 sy-vline,
            L_MSTRING    under 'Error Messages',
           100 sy-vline.
    *ULINE.
    *ELSEIF IT_MESS-MSGTYP = 'E'.
    WRITE: 1 sy-vline,
             L_MSTRING    under 'Logs',
            100 sy-vline.
    ULINE.
    *ENDIF.
    ENDLOOP.
    ENDFORM.                    " GET_MESSAGES
    code for ZIL02_BDC    
    .report ZIL02_BDC
           no standard page heading line-size 255.
    *data : XYZ LIKE EGPLD-DEVLOC.
    TYPES: BEGIN OF TY_OPEN,
            HAUS LIKE REG30-HAUS,
            EADAT(10),
            GERAETNEU LIKE REG30-GERAETNEU,
            MESSDRCK LIKE REG30-MESSDRCK,
            ZWSTANDCE LIKE REG30-ZWSTANDCE,
            XYZ LIKE EGPLD-DEVLOC,
          END OF TY_OPEN.
    DATA: IT_OPEN TYPE STANDARD TABLE OF TY_OPEN WITH HEADER LINE.
    DATA: BDCDATA TYPE STANDARD TABLE OF BDCDATA WITH HEADER LINE.
    GET PARAMETER ID 'GEP' FIELD it_open-XYZ.
    DATA :  IT_MESS TYPE STANDARD TABLE OF BDCMSGCOLL WITH HEADER LINE.
    *include bdcrecx1.
    start-of-selection.
    perform bdc_dynpro      using 'SAPMILO0' '1110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'IFLO-TPLNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'IFLO-TPLNR'
                                  it_open-xyz.
    perform bdc_field       using 'RILO0-TPLKZ'
                                  'AO_GP'.
    perform bdc_dynpro      using 'SAPMILO0' '2100'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'IFLO-PLTXT'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=T\04'.
    perform bdc_field       using 'IFLO-PLTXT'
                                  'DEVICE LOCATION'.
    perform bdc_dynpro      using 'SAPMILO0' '2100'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'IFLO-PLTXT'
                                  'DEVICE LOCATION'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'ITOBATTR-EINZL'.
    perform bdc_field       using 'ITOBATTR-IEQUI'
                                  'X'.
    perform bdc_field       using 'ITOBATTR-EINZL'
                                  'X'.
    perform bdc_dynpro      using 'SAPMILO0' '2100'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=BU'.
    perform bdc_field       using 'IFLO-PLTXT'
                                  'DEVICE LOCATION'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'ITOBATTR-EINZL'.
    perform bdc_field       using 'ITOBATTR-IEQUI'
                                  'X'.
    perform bdc_field       using 'ITOBATTR-EINZL'
                             'X'.
    CALL TRANSACTION 'IL02' USING BDCDATA MODE 'A' MESSAGES INTO IT_MESS.
           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

    Hi Michelle,
    No I havent tried this way. How to do that can you tell me ?
    Regards
    Anu

  • Type of error in the log file while using using call transaction mode u2018Eu2019

    Hi Gurus,
    Please Answer for this qusetion urgently
    what type of error exactly  you will be seeing in the log file while using call transaction mode u2018Eu2019?
    Thanks/
    Radha.

    Hi,
    Can you be clear.
    In call transaction , no error logs  are created, you have to handle the errors explicitly using the structure BDCMSGCOLL.
    Whenever you use E mode then if the transaction encounters any of the errors i.e. data type mismatching or invalid values etc, it will stop at that screen.
    You can handle the errors in call transaction in the following method.
    create a table using the structure BDCMSGCOLL.
    then
    loop at ......
          CALL TRANSACTION 'XK01' USING I_BDCDATA MODE 'N' UPDATE 'S' MESSAGES INTO I_MESGTAB.
    endloop.
      SORT I_MESGTAB BY MSGID MSGV1 ASCENDING.
      DELETE ADJACENT DUPLICATES FROM I_MESGTAB.
      LOOP AT I_MESGTAB.
        CALL FUNCTION 'FORMAT_MESSAGE'
          EXPORTING
            ID   = I_MESGTAB-MSGID
            LANG = I_MESGTAB-MSGSPRA
            NO   = I_MESGTAB-MSGNR
            V1   = I_MESGTAB-MSGV1
            V2   = I_MESGTAB-MSGV2
            V3   = I_MESGTAB-MSGV3
            V4   = I_MESGTAB-MSGV4
          IMPORTING
            MSG  = MESG1.
        IF I_MESGTAB-MSGTYP = 'S' .
          WA_SUCCMESG-MESG = MESG1.
          APPEND WA_SUCCMESG TO I_SUCCMESG.
    else     IF I_MESGTAB-MSGTYP = 'E' .
          WA_ERRMESG-MESG = MESG1.
          APPEND WA_ERRMESG TO I_ERRMESG.
        ENDIF.
      ENDLOOP.
    Hope this is clear.
    Thanks and Regards.

  • Call Transaction "MIGO" in display mode only

    Hi friends,
    I have changed the standard the SAP standard program MB51 to a Customer Program 'ZMB51' based upon the user requirement.Iam able to get all the values (output)
    Now my requirement is .... iam trying to call transaction "MIGO" when the user clicks on the Material Document Number (MBLNR) (as how in Standard program)
    I ve used "ALV_GRID..." display. and given a callback_user_command also .... iam able to call the trasaction ...... but it is editable and not in the display mode ..........
    Here my code :
    FORM SY_UCOMM_FOR_MBLNR USING R_UCOMM LIKE SY-UCOMM RS_SELFIELD TYPE
    SLIS_SELFIELD.
      IF RS_SELFIELD-FIELDNAME EQ 'MBLNR'.
      IF NOT RS_SELFIELD-VALUE IS INITIAL  AND
             RS_SELFIELD-VALUE NE SY-ULINE.
          CALL TRANSACTION 'MIGO'.
        ENDIF.
        IF R_UCOMM EQ SPACE.
        ENDIF.
      ENDIF.
    ENDFORM.                    " SY_UCOMM_FOR_MBLNR
    So ??????????????????
    What is the remedy ????
    Expecting ur answers....
    Thanks in Advance
    Cheers,
    R.Kripa.

    Hi ... it is solved ...
    I ve changed the code as how it was in MB51 report.
    Here is my code
    FORM SY_UCOMM_FOR_MBLNR USING R_UCOMM LIKE SY-UCOMM RS_SELFIELD TYPE
    SLIS_SELFIELD.
      CASE RS_SELFIELD-TABNAME.
        WHEN 'I_FINAL'.
          READ TABLE I_FINAL INDEX RS_SELFIELD-TABINDEX.
      ENDCASE.
      CHECK SY-SUBRC = 0 .
      IF R_UCOMM = '&IC1'.
        CHECK RS_SELFIELD-TABNAME = 'I_FINAL'.
        CASE RS_SELFIELD-FIELDNAME.
          WHEN 'MBLNR'.
            SET PARAMETER ID 'MBN' FIELD I_FINAL-MBLNR.
            SET PARAMETER ID 'POS' FIELD I_FINAL-ZEILE.
            SET PARAMETER ID 'MJA' FIELD I_FINAL-MJAHR.
        ENDCASE.
        IF SY-SUBRC = 0.
          SELECT SINGLE * FROM MKPF
                    WHERE  MBLNR = I_FINAL-MBLNR
                      AND  MJAHR = I_FINAL-MJAHR.
          IF SY-SUBRC = 0.
    MIGO_DIALOG is a funcion module to set the MIGO transaction
    in Display mode.
            CALL FUNCTION 'MIGO_DIALOG'
              EXPORTING
                I_ACTION            = 'A04'
                I_REFDOC            = 'R02'
                I_NOTREE            = 'X'
                I_NO_AUTH_CHECK     = ' '
                I_DEADEND           = 'X'
                I_SKIP_FIRST_SCREEN = 'X'
                I_OKCODE            = 'OK_GO'
                I_MBLNR             = I_FINAL-MBLNR
                I_MJAHR             = I_FINAL-MJAHR
                I_ZEILE             = I_FINAL-ZEILE.
          ENDIF.
        ENDIF.
      ENDIF.
    But still if anyone knows how to call MIGo transaction i Display mode using 'CALL TRANSACTION 'MIGO''.
    Thanks friends,
    Cheers
    R.Krpia.

Maybe you are looking for

  • Oracle Report ouput is coming in english and junk characters

    Hi , I am facing an issue with oracle report output in R12. The Report out is coming in english and junk characters. this report is custom report. Migrated from 11i to r12 instance.it is working fine in 11i with output as PDF. Sample out put is attac

  • How do I hook up a monitor?

    I want to hook up a small 13" analog NTSC monitor to my Dual 2Ghz G5. I looked at vthe back of it and i cant figure out how to connect it. And when I connect it, how do I tell FCP to output to it as well as my computer monitor??

  • Z87-G45 Audio Issue - Back panel jack is staticy, front panel is perfect

    Hi, Experiencing this weird issue with this board - up to date drivers on BIOS, Realtek and everything else. The back output jack of the board has trouble with higher frequencies and will produce static / corrupted noise reproducing higher frequency

  • How to use Form Procedure/Function in Jdeveloper

    As we use in Oracle Form Procedure and Functions, but in Jdeveloper how can I use....??? Like in Oracle Forms after saving following auto number generate in Customer table...... SELECT MAX(CUST_CODE)+1 INTO :cust_code FROM CUSTOMER but in Oracle Jdev

  • Need help for storing time along with the date

    Hi, I have one procedure as follows, In last_update_column of the table job_data having date and time.But after execution of this procedure only date is inserting into the job_master. If I queires the table job_master with to_char(Last_Update_Date, '