Doubt in call method program

hi,
I am getting error as i marked BOLD in this program...can u give solutions for that..
REPORT  YSBDC6.
TABLES:LFA1.
DATA:BEGIN OF ITAB OCCURS 0,
     LIFNR LIKE LFA1-LIFNR,
     LAND1 LIKE LFA1-LAND1,
     NAME1 LIKE LFA1-NAME1,
     END OF ITAB.
DATA:BEGIN OF JTAB OCCURS 0.
     INCLUDE STRUCTURE BDCDATA.
DATA:END OF JTAB.
DATA:BEGIN OF KTAB OCCURS 0.
     INCLUDE STRUCTURE BDCMSGCOLL.
DATA:END OF KTAB.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD
EXPORTING
  FILENAME = 'C:\PRABA.TXT'
  FILETYPE = 'ASC'
  HAS_FIELD_SEPARATOR = 'X'
  CHANGING
    DATA_TAB = ITAB[].
   LOOP AT ITAB[] INTO ITAB.
    REFRESH JTAB.
    PERFORM SUB USING 'YVTRANS' '100'.
    PERFORM SUB1 USING:'LFA1-LIFNR' ITAB-LIFNR,
                       'LFA1-LAND1' ITAB-LAND1,
                       'LFA1-NAME1' ITAB-NAME1.
    PERFORM SUB1 USING 'BDC_OKCODE' 'INSERT'.
    CALL TRANSACTION 'YVTRANS' USING JTAB MODE 'A' MESSAGES INTO KTAB.
    LOOP AT KTAB.
    IF KTAB-MSGTYP = 'I' OR KTAB-MSGNR = 000.
      WRITE: /1 'vendor', 15 ITAB-LIFNR, 25 'INSERTED'.
      ELSEIF
        KTAB-MSGTYP ='E' OR KTAB-MSGNR = 001.
        WRITE: /1 'vendor', 15 ITAB-LIFNR, 25 'NOT INSERTED'.
        ENDIF.
        <b>REFRESH KTAB."ERROR IN THIS LINE 'YOU MAY NOT
        "Delete or overwrite table 'ktab' with in a loop through itself</b>
      ENDLOOP. 
   ENDLOOP.
        FORM SUB USING A B.
        CLEAR JTAB.
        JTAB-PROGRAM = A.
        JTAB-DYNPRO = B.
        JTAB-DYNBEGIN = 'X'.
        APPEND JTAB.
        ENDFORM.
    FORM SUB1 USING C D.
      CLEAR JTAB.
      JTAB-FNAM = C.
      JTAB-FVAL = D.
      APPEND JTAB.
      ENDFORM.

HI,
thanks for both..for immediate response..my PC got struck up that why i could not
after editing this program i got error like YVTRANS not found..that means i have written seperate code for YVTRANS like below..is it correct..can u give solution for this..
REPORT  YVTRANS.
TABLES:LFA1.
*DATA: WA TYPE LFA1.
*ITAB TYPE TABLE OF LFA1.
MODULE USER_COMMAND_0100 INPUT.
  CASE SY-UCOMM.
    WHEN 'INSERT'.
      INSERT LFA1.
      IF SY-SUBRC = 0.
        MESSAGE I000(0) WITH 'RECORD INSERTED'.
        ELSE.
          MESSAGE E001(0) WITH 'NOT INSERTED'.
          ENDIF.
          WHEN 'EXIT'.
            LEAVE PROGRAM.
            ENDCASE.
            ENDMODULE.
orginal program
REPORT  YSBDC6.
TABLES:LFA1.
DATA:BEGIN OF ITAB OCCURS 0,
     LIFNR LIKE LFA1-LIFNR,
     LAND1 LIKE LFA1-LAND1,
     NAME1 LIKE LFA1-NAME1,
     END OF ITAB.
DATA:BEGIN OF JTAB OCCURS 0.
     INCLUDE STRUCTURE BDCDATA.
DATA:END OF JTAB.
DATA:BEGIN OF KTAB OCCURS 0.
     INCLUDE STRUCTURE BDCMSGCOLL.
DATA:END OF KTAB.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD
EXPORTING
  FILENAME = 'C:\PRABA.TXT'
  FILETYPE = 'ASC'
  HAS_FIELD_SEPARATOR = 'X'
  CHANGING
    DATA_TAB = ITAB[].
   LOOP AT ITAB[] INTO ITAB.
    REFRESH JTAB.
    PERFORM SUB USING 'YVTRANS' '100'.
    PERFORM SUB1 USING:'LFA1-LIFNR' ITAB-LIFNR,
                       'LFA1-LAND1' ITAB-LAND1,
                       'LFA1-NAME1' ITAB-NAME1.
    PERFORM SUB1 USING 'BDC_OKCODE' 'INSERT'.
    CALL TRANSACTION 'YVTRANS' USING JTAB MODE 'A' MESSAGES INTO KTAB.
    LOOP AT KTAB.
    IF KTAB-MSGTYP = 'I' OR KTAB-MSGNR = 000.
      WRITE: /1 'vendor', 15 ITAB-LIFNR, 25 'INSERTED'.
      ELSEIF
        KTAB-MSGTYP ='E' OR KTAB-MSGNR = 001.
        WRITE: /1 'vendor', 15 ITAB-LIFNR, 25 'NOT INSERTED'.
        ENDIF.
        ENDLOOP.
      REFRESH KTAB.
   ENDLOOP.
        FORM SUB USING A B.
        CLEAR JTAB.
        JTAB-PROGRAM = A.
        JTAB-DYNPRO = B.
        JTAB-DYNBEGIN = 'X'.
        APPEND JTAB.
        ENDFORM.
    FORM SUB1 USING C D.
      CLEAR JTAB.
      JTAB-FNAM = C.
      JTAB-FVAL = D.
      APPEND JTAB.
      ENDFORM.

Similar Messages

  • ABAP OO Doubt - validate call method.

    Hi experts
    I'm beginer in ABAP OO and i created this code :
    output-cep = ch_adrc_struc-post_code1.
                 TRY.
                     CREATE OBJECT lr_cep.
                   CATCH cx_ai_system_fault .
                 ENDTRY.
                 TRY.
                     CALL METHOD lr_cep->si_servico_cep_out
                       EXPORTING
                         output = output
                       IMPORTING
                         input  = input.
                   CATCH cx_ai_system_fault .
                 ENDTRY.
    My doubt is : How to know the call method worked?
    In call function i use = if sy-subrc = 0 for check the return but can i use it after call method ?
    thanks a lot.

    there is an importing which is used to get back data.
    once you process input then you can decide whether method worked or not.

  • Doubt in BDC session method program

    hi,
    I tried to execute this program..i am getting error in the bolded line..can you give suggestions..
    REPORT ZPRABA1.
    TABLES:LFA1.
    DATA:BEGIN OF IT_ITAB OCCURS 0,
    LIFNR LIKE LFA1-LIFNR,
    LAND1 LIKE LFA1-LAND1,
    NAME1 LIKE LFA1-NAME1,
    END OF IT_ITAB.
    DATA:BEGIN OF IT_JTAB OCCURS 0,
    Error is showing in the below line..that means i have to create new structure or
    what?
    INCLUDE STRUCTURE BDCDATA.
    END OF IT_JTAB.
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD
    FILENAME = 'C:/praba.txt'
    FILETYPE = 'ASC'
    HAS_FIELD_SEPARATOR = 'X'
    CHANGING
    DATA_TAB = IT_ITAB[].
    CALL FUNCTION 'BDC_OPEN_GROUP'
    EXPORTING
    CLIENT = SY-MANDT
    GROUP = 'USER01'
    USER = SY-UNAME.
    LOOP AT IT_ITAB[] INTO IT_ITAB.
    REFRESH IT_JTAB.
    PERFORM SUB USING 'YVTRANS' '0100'.
    PERFORM SUB1 USING 'LFA1-LIFNR' ITAB-LIFNR,
    PERFORM SUB1 USING 'LFA1-LAND1' ITAB-LAND1,
    PERFORM SUB1 USING 'LFA1-NAME1' ITAB-NAME.
    PERFORM SUB1 USING 'BDC_OKCODE' 'INSERT'.
    PERFORM SUB USING 'YSBDC1' '100'.
    PERFORM SUB1 USING 'BDC_OKCODE' 'EXIT'.
    CALL FUNCTION 'BDC_INSERT'
    EXPORTING
    TCODE = 'YSBDC1'
    TABLES
    DYNPROTAB = IT_JTAB.
    ENDLOOP.
    CALL FUNCTION 'BDC_CLOSE_GROUP'.
    SUBMIT RSBDCSUB VIA SELECTION-SCREEN.
    FORM SUB USING A B.
    CLEAR IT_JTAB.
    IT_JTAB-PROGRAM = A.
    IT_JTAB-DYNPRO = B.
    IT_JTAB-DYNBEGIN = 'X'.
    ENDFORM.
    Error message:
    unable to interpret 'STRUCTURE'. POSSIBLE causes of error:Incorrect spelling or comma error.

    hi,
    u ahve to pass scrren field values .
    FORM sub1  USING    VALUE(P_0074)
                             VALUE(P_0075).
        CLEAR   it_jtab.
        it_jtab-FNAM = P_0074.
        it_jtab-FVAL = P_0075.
        APPEND   it_jtab.
      ENDIF.
    ENDFORM.            
    check the sample pg.
    REPORT  ZSR_BDC_SESSION.
    DATA: BEGIN OF ITAB OCCURS 0,
             LIFNR LIKE RF02K-LIFNR,
             KTOKK LIKE RF02K-KTOKK,
             NAME1 LIKE LFA1-NAME1,
             SORTL LIKE LFA1-SORTL,
             LAND1 LIKE LFA1-LAND1,
             SPRAS LIKE LFA1-SPRAS,
          END OF ITAB.
    DATA : BDCTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
           BDCMSG LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
    START-OF-SELECTION.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        FILENAME                      = 'z:\flatfiles\sr1.txt'
       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.
    CALL FUNCTION 'BDC_OPEN_GROUP'
    EXPORTING
       CLIENT                    = SY-MANDT
      DEST                      = FILLER8
       GROUP                     = 'SR'
      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.
    LOOP AT ITAB.
    PERFORM BDC_DYNPRO      USING 'SAPMF02K' '0100'.
    PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                  'RF02K-KTOKK'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '/00'.
    PERFORM BDC_FIELD       USING 'RF02K-LIFNR'
                                  ITAB-LIFNR.
    PERFORM BDC_FIELD       USING 'RF02K-KTOKK'
                                  ITAB-KTOKK.
    PERFORM BDC_DYNPRO      USING 'SAPMF02K' '0110'.
    PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                  'LFA1-SPRAS'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '/00'.
    PERFORM BDC_FIELD       USING 'LFA1-NAME1'
                                  ITAB-NAME1.
    PERFORM BDC_FIELD       USING 'LFA1-SORTL'
                                  ITAB-SORTL.
    PERFORM BDC_FIELD       USING 'LFA1-LAND1'
                                  ITAB-LAND1.
    PERFORM BDC_FIELD       USING 'LFA1-SPRAS'
                                  ITAB-SPRAS.
    PERFORM BDC_DYNPRO      USING 'SAPMF02K' '0120'.
    PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                  'LFA1-KUNNR'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '/00'.
    PERFORM BDC_DYNPRO      USING 'SAPMF02K' '0130'.
    PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                  'LFBK-BANKS(01)'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '=ENTR'.
    PERFORM BDC_DYNPRO      USING 'SAPLSPO1' '0300'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '=YES'.
    CALL FUNCTION 'BDC_INSERT'
    EXPORTING
       TCODE                  = 'XK01'
      POST_LOCAL             = NOVBLOCAL
      PRINTING               = NOPRINT
      SIMUBATCH              = ' '
      CTUPARAMS              = ' '
      TABLES
        DYNPROTAB              = BDCTAB
    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.
    ENDLOOP.
    *perform bdc_transaction using 'XK01'.
    CALL FUNCTION 'BDC_CLOSE_GROUP'.
    *perform close_group.
    *&      Form  bdc_dynpro
    FORM BDC_DYNPRO  USING    VALUE(P_0069)
                              VALUE(P_0070).
      CLEAR BDCTAB.
      BDCTAB-PROGRAM  = P_0069.
      BDCTAB-DYNPRO   = P_0070.
      BDCTAB-DYNBEGIN = 'X'.
      APPEND BDCTAB.
    ENDFORM.                    " bdc_dynpro
    *&      Form  bdc_field
    FORM BDC_FIELD  USING    VALUE(P_0074)
                             VALUE(P_0075).
    IF P_0075 IS NOT INITIAL.
        CLEAR BDCTAB.
        BDCTAB-FNAM = P_0074.
        BDCTAB-FVAL = P_0075.
        APPEND BDCTAB.
      ENDIF.
    ENDFORM.                    " bdc_field      
    if helpful reward points

  • To call method in program

    Hi experts,
                 Method is already created, Now i have to call that method in one Dummy program. Please send me that program with logic. I am sending you class name and already created method.
    Class name:ZCl_configurable_item
    Method name:Is_sequence_Not_To_Print
    Please call this method in Dummy program, I needed this with the program logic.
    method IS_SEQUENCE_NOT_TO_PRINT .
    DATA : l_kunnr TYPE kunnr,
           l_kna1katr6 TYPE kna1-katr6,
           l_katr6 TYPE kna1-katr6,
           l_katr6_1 TYPE zkatr6_line.
    *DATA : l_katr6_1 TYPE STANDARD TABLE OF zkatr6_line. " OCCURS 0 WITH HEADER LINE.
    DATA : l_zliteral_tab TYPE ZLITERAL_TAB_TYPE,
           l_zliteral type zliteral.
    DATA : condtype_range_out TYPE Z_KATR6_TT.
    SELECT SINGLE kunnr FROM vbpa
                        INTO l_kunnr
                        WHERE vbeln = vbdkr_vbeln AND
                              ( parvw = 'RE' OR
                                parvw = 'BP' ).
    SELECT SINGLE katr6 FROM kna1
                        INTO l_kna1katr6
                        WHERE kunnr = l_kunnr.
      l_katr6 = l_kna1katr6+0(1).
    SELECT * FROM zliteral
             INTO table l_zliteral_tab
             WHERE zkey1 = c_zlit_genosys_key AND
                   zkey2 = c_katr6_1.
        loop at l_zliteral_tab into l_zliteral.
          clear l_katr6_1.
          l_katr6_1-sign = l_zliteral-zvalue1.
          l_katr6_1-option = l_zliteral-zvalue2.
          l_katr6_1-low = l_zliteral-zvalue3.
          append l_katr6_1 to condtype_range_out.
          Condense l_katr6_1-low.
          IF l_katr6 EQ l_katr6_1-low.
            IS_SEQUENCE_NOT_TO_PRINT = c_checked.
            EXIT.
          ELSE.
            IS_SEQUENCE_NOT_TO_PRINT = SPACE.
          ENDIF.
        endloop.
    Thanks & Regards

    Hi
    In the report program first u have to create an object with ref to class then call that method like
    report ztest.
    create object zt1 type ref to ZCl_configurable_item.
    CALL method zt1->Is_sequence_Not_To_Print importing....
        exporting....
    like this.
    See the help for create object in ABAPDOCU.
    mark points if helpful.
    Regs
    Manas Ranjan Panda

  • No CALL METHOD syntax used in Dynpro programming

    Hi Gurus,
    I have just starded with Web Dynpro ABAP. I found that while writing code we don't use CALL METHOD .
    i.eTABLE_NODE = WD_CONTEXT->GET_CHILD_NODE('MY_TABLE_NODE').
    How can we directly call a method using interface variable e.g WD_CONTEXT without syntax CALL METHOD?
    Can anyone explain?
    I am not much familiar with OOPs.
    Thanks in advance.

    Hi Anzy,
    Can u correct this program to let me understand this concept. ( An example ABAP OOPs program)
    REPORT  zjt_test_interface.
    INCLUDE  zjt_test_interfac_class.
    DATA : dd TYPE REF TO demo ,
           inter TYPE REF TO sample,
           inter1 TYPE REF TO sample.
    START-OF-SELECTION.
      CREATE OBJECT dd .
      inter = dd.
      call method inter->test. ******No error with this statement
    inter1 = inter->test.  *********** This statement gives error "Field 'Test' unknown
    The below code is a separate include program.
    *&  Include           ZJT_TEST_INTERFAC_CLASS
    INTERFACE sample  .
      METHODS  test .
    ENDINTERFACE.                    "sample
          CLASS demo DEFINITION
    CLASS demo DEFINITION.
      PUBLIC SECTION.
        INTERFACES sample .
        METHODS : constructor.
    ENDCLASS.                    "demo DEFINITION
          CLASS demo IMPLEMENTATION
    CLASS demo IMPLEMENTATION.
      METHOD constructor.
      ENDMETHOD.                    "constructor
      METHOD  sample~test.
        WRITE : 'Method test of Interface sample executed'.
      ENDMETHOD.                    "sample~test

  • Doubt in Workflows using Programming Exits on OO ABAP

    I have a doubt on workflows:-
    Let me brief you about my requirement:
    I am trying to update some Master data using ABAP Methods through Programming Exits in a Workflow.
    I managed to find an OO method that can fetch the workflow container values directly into the structure.
    While testing the workflow:-
    The OO ABAP method executes and successfully updates the master tables.
    However, a calling method (that triggers this method indirectly), raises an exception called SWF_RUN_WIM_EXEC_INTERRUPTED.  
    The exception is caught within the caller method and the workflow errors saying that “the method ABC… cannot be executed.”
    The caller method is:-
    CL_SWF_RUN_WORKFLOW_START
    The exception is raised on execution of the following statement:-
    CALL METHOD me->start_workitem( lh_wi_handle ).
    One reason for this is that the workflow is still not completed and still in “READY” state.
    Alternative method
    Once the Master data is updated successfully,
    I tried to use the FM SAP_WAPI_WORKITEM_COMPLETE to end the work item or tried another FM to suspend the workflow.
    Now it gives an error saying that these FMs are restricted from use during run-time execution.
    Query
    Do you have an idea why the exception is raised and how to track/prevent the same?
    Can you suggest any other alternative?  Your valuable advice is urgently needed.
    Thanks a million in advance,
    Best Regards,
    Vinod

    Check the code
          CLASS zcl_event_handler IMPLEMENTATION
    CLASS zcl_event_handler IMPLEMENTATION.
    Top-of-page event
      METHOD top_of_page.
        PERFORM event_top_of_page
                USING z_dyndoc_id.
      ENDMETHOD.   "METHOD top_of_page
    Change Status Button
      METHOD handle_toolbar.
        IF NOT pa_prodr IS INITIAL.
          DATA: lz_toolbar  TYPE stb_button.
          CLEAR lz_toolbar.
          MOVE    'CHANGE_STATUS'  TO lz_toolbar-function.
          MOVE    text-001         TO lz_toolbar-text.
          APPEND  lz_toolbar       TO e_object->mt_toolbar.
        ENDIF.          "IF NOT pa_prodr IS INITIAL
      ENDMETHOD.   "METHOD handle_toolbar
    Handle User Command
      METHOD handle_user_command.
        CASE e_ucomm.
          WHEN 'CHANGE_STATUS'.
            LOOP AT    it_output
                 INTO  wa_output.
              IF wa_output-chk_box EQ kc_x.
                z_flag = 1.
                EXIT.
              ENDIF.          "IF wa_output-chk_box EQ kc_x
            ENDLOOP.      "LOOP AT it_output INTO  wa_output
            IF z_flag EQ 1.
              PERFORM display_selected_data.
            ELSE.
              MESSAGE i001(zzrefn01)
                      WITH text-023.
            ENDIF.       "IF z_flag EQ 1
        ENDCASE.      "CASE e_ucomm
      ENDMETHOD.   "METHOD handle_user_command
    ENDCLASS.   "zcl_event_handler IMPLEMENTATION

  • Error calling methods CL_GUI_FRONTEND_SERVICES

    Hi all,
    I have a requirement in BAPI (integrating solman to portal) to download file from app. server to local directory. I used the below FM to get temp directory of presntation server.
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>GET_TEMP_DIRECTORY
       CHANGING
         TEMP_DIR             =  LV_TEMP_DIR
       EXCEPTIONS
         CNTL_ERROR           = 1
         ERROR_NO_GUI         = 2
         NOT_SUPPORTED_BY_GUI = 3
         others               = 4.
       CALL METHOD cl_gui_cfw=>flush.
    It works fine in R3, but when i called it from portal it shows Access not possible using 'NULL' object reference with a short dump .
    st22 shows
    Error in ABAP application program.
    The current ABAP program "CL_GUI_FRONTEND_SERVICES======CP" had to be
    terminated because one of the
    statements could not be executed.
    This is probably due to an error in the ABAP program.
    An exception occurred. This exception is dealt with in more detail belo
    . The exception, which is assigned to the class 'CX_SY_REF_IS_INITIAL',
    neither
    caught nor passed along using a RAISING clause, in the procedure
    "GET_TEMP_DIRECTORY" "(METHOD)"
    Since the caller of the procedure could not have expected this exceptio
    to occur, the running program was terminated.
    The reason for the exception is:
    Attempt to access a component using 'NULL' object reference (points
    to nothing).
    An object reference must point to an object (an instance of a class)
    before you can use it to access components (variable:
    "CL_GUI_FRONTEND_SERVICES=>HANDLE").
    Either the reference has not yet been set, or it has been reset to
    'NULL' by a CLEAR statement.
    When i put external break point and the dump comes during execution of CALL METHOD cl_gui_cfw=>flush.
    Is it not possible to use CL_GUI_FRONTEND_SERVICES in RFC ??.
    thanks and regards
    Jijo

    Hi,
    the dump is because you cannot use that function from a BSP application, which runs in internet or intranet. The procedure in this case is different:
    DATA: flights  TYPE flighttab,
            flight   LIKE LINE OF flights,
            appl     TYPE string,
            filetype TYPE string,
            output   TYPE string,
            output2  TYPE xstring,
            response     TYPE REF TO if_http_response,
            l_len        TYPE i,
            seatsmax     TYPE string,
            seatsocc     TYPE string.
      appl = 'application/msexcel'.
      filetype = 'attachment;filename=mi archivo.xls'.
      SELECT * FROM sflight
         INTO TABLE flights
         UP TO 20 ROWS.
      LOOP AT flights INTO flight.
        seatsmax = flight-seatsmax. CONDENSE seatsmax.
        seatsocc = flight-seatsocc. CONDENSE seatsocc.
        CONCATENATE output
        flight-carrid cl_abap_char_utilities=>horizontal_tab
        flight-connid cl_abap_char_utilities=>horizontal_tab
        flight-fldate cl_abap_char_utilities=>horizontal_tab
        flight-planetype cl_abap_char_utilities=>horizontal_tab
        seatsmax cl_abap_char_utilities=>horizontal_tab
        seatsocc cl_abap_char_utilities=>horizontal_tab
        cl_abap_char_utilities=>cr_lf
        INTO output.
      ENDLOOP.
      response = runtime->server->response.
      response->delete_header_field( name = if_http_header_fields=>cache_control ).
      response->delete_header_field( name = if_http_header_fields=>expires ).
      response->delete_header_field( name = if_http_header_fields=>pragma ).
      response->set_header_field( name = if_http_header_fields=>content_type
                                  value = appl ).
      response->set_header_field( name = 'content-disposition'
                                  value = filetype ).
      CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
        EXPORTING
          text     = output
          mimetype = 'text/unicode; charset=utf-16le'
        IMPORTING
          buffer   = output2.
      CONCATENATE cl_abap_char_utilities=>byte_order_mark_little
                  output2 INTO output2 IN BYTE MODE.
      l_len = XSTRLEN( output2 ).
      response->set_data( data = output2
                          length = l_len ).
      navigation->response_complete( ).
    This is the code for downloading an Excel file.

  • CALL METHOD cl_gui_frontend_services= file_save_dialog

    Hi,
    I want to use 'CALL METHOD cl_gui_frontend_services=>file_save_dialog', to choose a path for saving my txt files.  I only want the user to be able to choose the path and not have to supply a filename aswell.  My filenames are standard in the program and I don't want them to be changed by the user.
    Is there another method which is designed for this or is there a simple parameter I have missed?
    Thanks and regards,
    Simon.

    AT SELECTION-SCREEN ON VALUE-REQUEST FOR pa_f.
       PERFORM f_search_help_pa_f1.
    FORM f_search_help_pa_f1 .
       CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
         EXPORTING
           program_name  = sy-repid
           dynpro_number = sy-dynnr
         CHANGING
           file_name     = pa_f
         EXCEPTIONS
           mask_too_long = 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.                    " f_search_help_pa_f1
    Try this
    Regards

  • How to call  java program from ABAP

    Hi Experts,
         My requirement is to call java programs from ABAP. For that i have set up SAP JCO connection by using this link http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/739. [original link is broken] [original link is broken] [original link is broken] Connection gets sucessfully. After this how to call java program from ABAP as per our requirement. Please help me out.
      Also i tried this way also.. but while executing the DOS Command line appear & disappear in few seconds. So couldnt see the JAVA output. Please help me out to call java programs in ABAP..
    DATA:command TYPE string VALUE 'D:Javajdk1.6.0_20 injavac',
    parameter TYPE string VALUE 'D:java MyFirstProgram'.
    CALL METHOD cl_gui_frontend_services=>execute
    EXPORTING
    application = command
    parameter = parameter
    OPERATION = 'OPEN'
    EXCEPTIONS
    cntl_error = 1
    error_no_gui = 2
    bad_parameter = 3
    file_not_found = 4
    path_not_found = 5
    file_extension_unknown = 6
    error_execute_failed = 7
    OTHERS = 8.
    Thanks.

    This depends on the version of your Netweaver Java AS. If you are running 7.0, you will have to use the Jco framework. The Jco framework is deprecated since 7.1 though. If you want to build a RFC server in 7.1 or higher, it is adviced that you set it up through JRA.
    Implement an RFC server in 7.0:
    http://help.sap.com/saphelp_nw04/helpdata/en/6a/82343ecc7f892ee10000000a114084/frameset.htm
    Implement an RFC server in 7.1 or higher:
    http://help.sap.com/saphelp_nwce72/helpdata/en/43/fd063b1f497063e10000000a1553f6/frameset.htm

  • CALL METHOD ABAP run SQL wrong

    Dear All
             I have a problem in ABAP connect SQL,Below is my code snippet sentence.
    CONCATENATE 'Insert Into [timportcortrol]'
                    '(zucode,zstate,zdate,zkind) Values('''
                      VG_PCID ''','''
                      '1'','''
                      SY-DATUM ''','''
                      '1' ''')'
                     INTO SQL.
        CALL METHOD OF REC 'Execute'
         EXPORTING #1 = SQL
         #2 = CON
         #3 = '1'.
    IF NOT SY-SUBRC = 0.
        MESSAGE I000 WITH 'Download  to [timportcortrol] failure,Please Check the SQL Connect!!! '.
        EXIT.
      ENDIF.
    Con:is the connect SQL String ,the connect SQL is Okay.
    I debug this code,when I used u2018Select u2026sentenceu2019,the program can work.if I  use u2018insert intou2019 then canu2019t work,but I copied the SQL of the u2018inset Into sentenceu2026u2019run it into SQL server then it can work also.
    And I found the SY-SUBRC eq u20182u2019.whatu2019s mean about of the sy-subrc eq u20182u2019.
    I think the insert into sentence in abap I have write the wrong ,but I canu2019t assurance.
    The Insert Into Sentence is:u2019 Insert Into [timportcortrol](zucode,zstate,zdate,zkind) Values('20080807094713','1','20080807','1')u2019
    Could you give me some advice for this issue?
    Thanks of all
    Sun.

    Have you checked whether it's a problem with mixed case?  Some SQL dialects are case sensitive.
    The not very helpful meanings of the sy-subrc value can be found in ABAP help.
    0 Successful processing of the method meth.
    1 Communication Error to SAP GUI.
    2 Error when calling method meth.
    3 Error when setting a property.
    4 Error when reading a property
    matt

  • How to call external programs?

    I have seen people call external programs through LabVIEW and was curious what functions you could use to do this.
    I'm pretty sure its using one of the ActiveX functions  or maybe 'open application reference .vi'.
    Can anyone tell me (or show me) a quick example of how to open an external program (ie excel,  notepad, etc) programatically
    Cory K
    Solved!
    Go to Solution.

    Cory K wrote:
    Where did they get this:
    Kudos for going from "I don't know to start" to "Let's stump Ben" with only the second post to this thread.
    I either copy it from an example or try to browse to it.
    NOTE:
    If you plan to work with MS ActiveX objects, I found it very helpful to do a custom install of Office and make sure the help files for VBA are loaded. These will at the least give you an idea of what the methods are and what parameters go with each.
    Ben
    Message Edited by Ben on 12-31-2008 11:09 AM
    Message Edited by Ben on 12-31-2008 11:13 AM
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction
    Attachments:
    Browse.PNG ‏24 KB

  • CALL METHOD GRID4- SET_TABLE_FOR_FIRST_DISPLAY

    Hi All,
    I would like to know how to display 5 internal table same time in a single output screen. I have attached the program for your reference.
    Presently I am able to get i_final1 and i_final2 output on the screen. I need to display on the same screen grid 3 and grid 4. Is it possible to display.
    *& REPORT  Z_READ_PROFILE
    REPORT  Z_READ_PROFILE.
    TABLES: TCATS, TCATST, TCATX_GRID.
    DATA: ST_CT1_FIELDCAT1 TYPE LVC_T_FCAT WITH HEADER LINE.
    DATA: IT_CT1_FIELDCAT1 TYPE LVC_T_FCAT.
    DATA: ST_CT1_FIELDCAT2 TYPE LVC_T_FCAT WITH HEADER LINE.
    DATA: IT_CT1_FIELDCAT2 TYPE LVC_T_FCAT.
    DATA: ST_CT1_FIELDCAT3 TYPE LVC_T_FCAT WITH HEADER LINE.
    DATA: IT_CT1_FIELDCAT3 TYPE LVC_T_FCAT.
    DATA: ST_CT1_FIELDCAT4 TYPE LVC_T_FCAT WITH HEADER LINE.
    DATA: IT_CT1_FIELDCAT4 TYPE LVC_T_FCAT.
    DATA: DOCK TYPE REF TO CL_GUI_DOCKING_CONTAINER,
          SPLIT TYPE REF TO CL_GUI_SPLITTER_CONTAINER,
          GRID1 TYPE REF TO CL_GUI_ALV_GRID,
          GRID2 TYPE REF TO CL_GUI_ALV_GRID,
          GRID3 TYPE REF TO CL_GUI_ALV_GRID,
          GRID4 TYPE REF TO CL_GUI_ALV_GRID,
          DOC1 TYPE REF TO CL_GUI_DOCKING_CONTAINER,
          DOC3 TYPE REF TO CL_GUI_DOCKING_CONTAINER,
          DOC4 TYPE REF TO CL_GUI_DOCKING_CONTAINER,
          CON22 TYPE REF TO CL_GUI_DOCKING_CONTAINER,
          LI_FIELDCAT1 TYPE LVC_T_FCAT.
    SELECTION-SCREEN: BEGIN OF BLOCK B1.
    PARAMETERS: P_PROF1 LIKE TCATS-VARIANT,
                 P_PROF2 LIKE TCATS-VARIANT.
    SELECTION-SCREEN: END OF BLOCK B1.
    DATA: BEGIN OF I_DD03P OCCURS 0.
           INCLUDE STRUCTURE DD03P.
    DATA: END OF I_DD03P.
    DATA: BEGIN OF I_FIELDS1 OCCURS 0,
           PROFILE  LIKE TCATS-VARIANT,
           MFIELD   TYPE FAWFLDNAM,
           INPUT    LIKE RSFAC-INPUT,
           OBLIGAT  LIKE RSFAC-OBLIGAT,
           DISPLAY  LIKE RSFAC-DISPLAY,
           NOTACT   LIKE RSFAC-NOTACT,
          END OF I_FIELDS1.
    DATA: BEGIN OF I_FIELDS2 OCCURS 0,
           PROFILE  LIKE TCATS-VARIANT,
           MFIELD   TYPE FAWFLDNAM,
           INPUT    LIKE RSFAC-INPUT,
           OBLIGAT  LIKE RSFAC-OBLIGAT,
           DISPLAY  LIKE RSFAC-DISPLAY,
           NOTACT   LIKE RSFAC-NOTACT,
          END OF I_FIELDS2.
    DATA: BEGIN OF I_FINAL1 OCCURS 0,
           PROFILE  LIKE TCATS-VARIANT,
           TEXT     LIKE TCATST-TEXT,
           MFIELD   TYPE FAWFLDNAM,
           INPUT    LIKE RSFAC-INPUT,
           OBLIGAT  LIKE RSFAC-OBLIGAT,
           DISPLAY  LIKE RSFAC-DISPLAY,
           NOTACT   LIKE RSFAC-NOTACT,
          END OF I_FINAL1.
    DATA: BEGIN OF I_FINAL2 OCCURS 0,
           PROFILE  LIKE TCATS-VARIANT,
           TEXT     LIKE TCATST-TEXT,
           MFIELD   TYPE FAWFLDNAM,
           INPUT    LIKE RSFAC-INPUT,
           OBLIGAT  LIKE RSFAC-OBLIGAT,
           DISPLAY  LIKE RSFAC-DISPLAY,
           NOTACT   LIKE RSFAC-NOTACT,
          END OF I_FINAL2.
    DATA: BEGIN OF ENTRYLIST OCCURS 0,
           MFELD      TYPE FAWFLDNAM,
           VISIBLE    TYPE FAWCUST,
           REQUIRED   TYPE FAWCUST,
           READONLY   TYPE FAWCUST,
           HIDE       TYPE FAWCUST,
           PROF1      LIKE TCATS-VARIANT,
          END OF ENTRYLIST.
    DATA: BEGIN OF WORKLIST OCCURS 0.
           INCLUDE STRUCTURE FIELD_SELECTION.
    DATA: END OF WORKLIST.
    DATA: BEGIN OF I_TCATX_GRID1 OCCURS 0,
            PROFIL        LIKE TCATX_GRID-PROFIL,
            TASKCOMPONENT LIKE TCATX_GRID-TASKCOMPONENT,
            COL           LIKE TCATX_GRID-COL,
            OBLIGAT       LIKE TCATX_GRID-OBLIGAT,
          END OF I_TCATX_GRID1.
    DATA: BEGIN OF I_TCATX_GRID2 OCCURS 0,
            PROFIL        LIKE TCATX_GRID-PROFIL,
            TASKCOMPONENT LIKE TCATX_GRID-TASKCOMPONENT,
            COL           LIKE TCATX_GRID-COL,
            OBLIGAT       LIKE TCATX_GRID-OBLIGAT,
          END OF I_TCATX_GRID2.
    PERFORM STATEMENT TO GET THE DATA BASED ON PORIFLE
    IF NOT P_PROF1 IS INITIAL .
    PERFORM GET_FIELDS1.
    PERFORM GET_COMPONENTS1.
    ENDIF.
    IF NOT P_PROF1 IS INITIAL .
    PERFORM GET_FIELDS2.
    PERFORM GET_COMPONENTS2.
    ENDIF.
    PERFORM COMPARE_TABLES.
    CALL SCREEN 100.
    *&      FORM  GET_FIELDS
          TEXT
    -->  P1        TEXT
    <--  P2        TEXT
    FORM GET_FIELDS1.
    CLEAR  : ENTRYLIST, WORKLIST.
    REFRESH: ENTRYLIST, WORKLIST.
    CALL FUNCTION 'CATS_GET_INFLUENCES'
      EXPORTING
        VARIANT                   = P_PROF1
      TABLES
        ENTRYLIST_SELECTION       = ENTRYLIST
        WORKLIST_SELECTION        = WORKLIST
    IF SY-SUBRC EQ 0.
    LOOP AT ENTRYLIST WHERE VISIBLE  EQ SPACE
                      AND   REQUIRED EQ SPACE
                      AND   READONLY EQ SPACE.
    MOVE 'X' TO ENTRYLIST-HIDE.
    MODIFY ENTRYLIST TRANSPORTING HIDE.
    ENDLOOP.
    LOOP AT ENTRYLIST.
      MOVE P_PROF1              TO I_FIELDS1-PROFILE.
      MOVE ENTRYLIST-MFELD      TO I_FIELDS1-MFIELD.
      IF ENTRYLIST-READONLY NE 'X' AND ENTRYLIST-REQUIRED NE 'X' .
        MOVE ENTRYLIST-VISIBLE  TO I_FIELDS1-INPUT.
      ENDIF.
      MOVE ENTRYLIST-REQUIRED   TO I_FIELDS1-OBLIGAT.
      MOVE ENTRYLIST-READONLY   TO I_FIELDS1-DISPLAY.
      MOVE ENTRYLIST-HIDE       TO I_FIELDS1-NOTACT.
    APPEND I_FIELDS1.
    ENDLOOP.
    ENDIF.
    ENDFORM.                    " GET_FIELDS
    *&      FORM  GET_FIELDS2
          TEXT
    -->  P1        TEXT
    <--  P2        TEXT
    FORM GET_FIELDS2 .
    CLEAR  : ENTRYLIST, WORKLIST.
    REFRESH: ENTRYLIST, WORKLIST.
    CALL FUNCTION 'CATS_GET_INFLUENCES'
      EXPORTING
        VARIANT                   = P_PROF2
      TABLES
        ENTRYLIST_SELECTION       = ENTRYLIST
        WORKLIST_SELECTION        = WORKLIST
    IF SY-SUBRC EQ 0.
    LOOP AT ENTRYLIST WHERE  VISIBLE  EQ SPACE
                       AND   REQUIRED EQ SPACE
                       AND   READONLY EQ SPACE.
    MOVE 'X' TO ENTRYLIST-HIDE.
    MODIFY ENTRYLIST TRANSPORTING HIDE.
    ENDLOOP.
    LOOP AT ENTRYLIST.
      MOVE P_PROF2                TO I_FIELDS2-PROFILE.
      MOVE ENTRYLIST-MFELD        TO I_FIELDS2-MFIELD.
      IF ENTRYLIST-READONLY NE 'X' AND ENTRYLIST-REQUIRED NE 'X' .
        MOVE ENTRYLIST-VISIBLE    TO I_FIELDS2-INPUT.
      ENDIF.
      MOVE ENTRYLIST-REQUIRED     TO I_FIELDS2-OBLIGAT.
      MOVE ENTRYLIST-READONLY     TO I_FIELDS2-DISPLAY.
      MOVE ENTRYLIST-HIDE         TO I_FIELDS2-NOTACT.
    APPEND I_FIELDS2.
    ENDLOOP.
    ENDIF.
    ENDFORM.                    " GET_FIELDS2
    *&      FORM  COMPARE_TABLES
          TEXT
    -->  P1        TEXT
    <--  P2        TEXT
    FORM COMPARE_TABLES .
    CLEAR: I_FIELDS1, I_FIELDS2.
    SORT : I_FIELDS1, I_FIELDS2.
    DATA: L_TABLE LIKE DD03L-TABNAME,
          L_FIELD LIKE DD03L-FIELDNAME.
    LOOP AT I_FIELDS1.
       READ TABLE I_FIELDS2 WITH KEY  MFIELD   = I_FIELDS1-MFIELD
                                      INPUT    = I_FIELDS1-INPUT
                                      OBLIGAT  = I_FIELDS1-OBLIGAT
                                      DISPLAY  = I_FIELDS1-DISPLAY
                                      NOTACT   = I_FIELDS1-NOTACT.
    IF SY-SUBRC NE 0.
      MOVE I_FIELDS1-PROFILE  TO I_FINAL1-PROFILE.
    SPLIT I_FIELDS1-MFIELD AT '-' INTO L_TABLE L_FIELD.
    CALL FUNCTION 'BUS_DDFIELD_GET'
      EXPORTING
        I_TABNM               = L_TABLE
        I_FLDNM               = L_FIELD
       I_LANGU               =  SY-LANGU
      IMPORTING
        E_DD03P               = I_DD03P
    EXCEPTIONS
       FIELD_NOT_FOUND       = 1
       OTHERS                = 2
    IF SY-SUBRC EQ 0.
        MOVE I_DD03P-DDTEXT        TO I_FINAL1-TEXT.
    ENDIF.
      MOVE I_FIELDS1-MFIELD   TO I_FINAL1-MFIELD.
      MOVE I_FIELDS1-INPUT    TO I_FINAL1-INPUT.
      MOVE I_FIELDS1-OBLIGAT  TO I_FINAL1-OBLIGAT.
      MOVE I_FIELDS1-DISPLAY  TO I_FINAL1-DISPLAY.
      MOVE I_FIELDS1-NOTACT   TO I_FINAL1-NOTACT.
      APPEND I_FINAL1.
    ENDIF.
    ENDLOOP.
    SORT : I_FIELDS1, I_FIELDS2.
    LOOP AT I_FIELDS2.
       READ TABLE I_FIELDS1 WITH KEY  MFIELD   = I_FIELDS2-MFIELD
                                      INPUT    = I_FIELDS2-INPUT
                                      OBLIGAT  = I_FIELDS2-OBLIGAT
                                      DISPLAY  = I_FIELDS2-DISPLAY
                                      NOTACT   = I_FIELDS2-NOTACT.
    IF SY-SUBRC NE 0.
      MOVE I_FIELDS2-PROFILE  TO I_FINAL2-PROFILE.
    SPLIT I_FIELDS2-MFIELD AT '-' INTO L_TABLE L_FIELD.
    CALL FUNCTION 'BUS_DDFIELD_GET'
      EXPORTING
        I_TABNM               = L_TABLE
        I_FLDNM               = L_FIELD
       I_LANGU               =  SY-LANGU
      IMPORTING
        E_DD03P               = I_DD03P
    EXCEPTIONS
       FIELD_NOT_FOUND       = 1
       OTHERS                = 2
    IF SY-SUBRC EQ 0.
        MOVE I_DD03P-DDTEXT        TO I_FINAL2-TEXT.
    ENDIF.
      MOVE I_FIELDS2-MFIELD   TO I_FINAL2-MFIELD.
      MOVE I_FIELDS2-INPUT    TO I_FINAL2-INPUT.
      MOVE I_FIELDS2-OBLIGAT  TO I_FINAL2-OBLIGAT.
      MOVE I_FIELDS2-DISPLAY  TO I_FINAL2-DISPLAY.
      MOVE I_FIELDS2-NOTACT   TO I_FINAL2-NOTACT.
      APPEND I_FINAL2.
    ENDIF.
    ENDLOOP.
    ENDFORM.                    " COMPARE_TABLES
    *&      MODULE  STATUS_0100  OUTPUT
          TEXT
    MODULE STATUS_0100 OUTPUT.
      SET PF-STATUS SPACE.
      SET TITLEBAR 'T001'.
    PERFORM FIELDCAT_FINAL1.
    PERFORM FIELDCAT_FINAL2.
    CREATE OBJECT DOCK
        EXPORTING
          REPID                       = SY-REPID
          DYNNR                       = '100'
          EXTENSION                   = '600'
          SIDE                        = '1'
        EXCEPTIONS
          CNTL_ERROR                  = 1
          CNTL_SYSTEM_ERROR           = 2
          CREATE_ERROR                = 3
          LIFETIME_ERROR              = 4
          LIFETIME_DYNPRO_DYNPRO_LINK = 5
          OTHERS                      = 6
      IF SY-SUBRC  NE 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                   WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CREATE OBJECT DOC1
        EXPORTING
          REPID                       = SY-REPID
          DYNNR                       = '100'
          EXTENSION                   = '1000'
          SIDE                        = '4'
        EXCEPTIONS
          CNTL_ERROR                  = 1
          CNTL_SYSTEM_ERROR           = 2
          CREATE_ERROR                = 3
          LIFETIME_ERROR              = 4
          LIFETIME_DYNPRO_DYNPRO_LINK = 5
          OTHERS                      = 6
      IF SY-SUBRC NE  0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                   WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CREATE OBJECT GRID1 EXPORTING I_PARENT = DOCK.
      CALL METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY
        EXPORTING
          I_STRUCTURE_NAME              = 'I_FINAL1'
        CHANGING
          IT_OUTTAB                     = I_FINAL1[]
          IT_FIELDCATALOG               = IT_CT1_FIELDCAT1[]
        EXCEPTIONS
          INVALID_PARAMETER_COMBINATION = 1
          PROGRAM_ERROR                 = 2
          TOO_MANY_LINES                = 3
          OTHERS                        = 4.
      IF SY-SUBRC NE  0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                   WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CREATE OBJECT GRID2 EXPORTING I_PARENT = DOC1.
      CALL METHOD GRID2->SET_TABLE_FOR_FIRST_DISPLAY
        EXPORTING
          I_STRUCTURE_NAME              = 'I_FINAL2'
        CHANGING
          IT_OUTTAB                     = I_FINAL2[]
          IT_FIELDCATALOG               = IT_CT1_FIELDCAT2[]
        EXCEPTIONS
          INVALID_PARAMETER_COMBINATION = 1
          PROGRAM_ERROR                 = 2
          TOO_MANY_LINES                = 3
          OTHERS                        = 4.
      IF SY-SUBRC NE  0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                   WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    CREATE OBJECT DOC3
        EXPORTING
          REPID                       = SY-REPID
          DYNNR                       = '100'
          EXTENSION                   = '600'
          SIDE                        = '1'
        EXCEPTIONS
          CNTL_ERROR                  = 1
          CNTL_SYSTEM_ERROR           = 2
          CREATE_ERROR                = 3
          LIFETIME_ERROR              = 4
          LIFETIME_DYNPRO_DYNPRO_LINK = 5
          OTHERS                      = 6
      IF SY-SUBRC  NE 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                   WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CREATE OBJECT DOC4
        EXPORTING
          REPID                       = SY-REPID
          DYNNR                       = '100'
          EXTENSION                   = '1000'
          SIDE                        = '4'
        EXCEPTIONS
          CNTL_ERROR                  = 1
          CNTL_SYSTEM_ERROR           = 2
          CREATE_ERROR                = 3
          LIFETIME_ERROR              = 4
          LIFETIME_DYNPRO_DYNPRO_LINK = 5
          OTHERS                      = 6
      IF SY-SUBRC NE  0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                   WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CREATE OBJECT GRID3 EXPORTING I_PARENT = DOC3.
      CALL METHOD GRID3->SET_TABLE_FOR_FIRST_DISPLAY
        EXPORTING
          I_STRUCTURE_NAME              = 'TCATX_GRID'
        CHANGING
          IT_OUTTAB                     = I_TCATX_GRID1[]
         IT_FIELDCATALOG               = IT_CT1_FIELDCAT1[]
        EXCEPTIONS
          INVALID_PARAMETER_COMBINATION = 1
          PROGRAM_ERROR                 = 2
          TOO_MANY_LINES                = 3
          OTHERS                        = 4.
      IF SY-SUBRC NE  0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                   WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CREATE OBJECT GRID4 EXPORTING I_PARENT = DOC4.
      CALL METHOD GRID4->SET_TABLE_FOR_FIRST_DISPLAY
        EXPORTING
          I_STRUCTURE_NAME              = 'TCATX_GRID'
        CHANGING
          IT_OUTTAB                     = I_TCATX_GRID2[]
         IT_FIELDCATALOG               = IT_CT1_FIELDCAT2[]
        EXCEPTIONS
          INVALID_PARAMETER_COMBINATION = 1
          PROGRAM_ERROR                 = 2
          TOO_MANY_LINES                = 3
          OTHERS                        = 4.
      IF SY-SUBRC NE  0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                   WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      MODULE  USER_COMMAND_0100  INPUT
          TEXT
    MODULE USER_COMMAND_0100 INPUT.
    CASE SY-UCOMM.
        WHEN 'BACK'.
          LEAVE TO SCREEN 0.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      FORM  FIELDCAT_FINAL1
          TEXT
    -->  P1        TEXT
    <--  P2        TEXT
    FORM FIELDCAT_FINAL1 .
    IF IT_CT1_FIELDCAT1[] IS INITIAL.
    ST_CT1_FIELDCAT1-TABNAME = 'I_FINAL1'.
    ST_CT1_FIELDCAT1-FIELDNAME = 'PROFILE'.
    ST_CT1_FIELDCAT1-COL_POS = 0.
    ST_CT1_FIELDCAT1-OUTPUTLEN = 8.
    ST_CT1_FIELDCAT1-SCRTEXT_L = 'PROFILE'.
    ST_CT1_FIELDCAT1-KEY = 'X'.
    APPEND ST_CT1_FIELDCAT1 TO IT_CT1_FIELDCAT1.
    CLEAR ST_CT1_FIELDCAT1.
    ST_CT1_FIELDCAT1-TABNAME = 'I_FINAL1'.
    ST_CT1_FIELDCAT1-FIELDNAME = 'MFIELD'.
    ST_CT1_FIELDCAT1-COL_POS = 1.
    ST_CT1_FIELDCAT1-OUTPUTLEN = 15.
    ST_CT1_FIELDCAT1-SCRTEXT_L = 'FIELD'.
    APPEND ST_CT1_FIELDCAT1 TO IT_CT1_FIELDCAT1.
    CLEAR ST_CT1_FIELDCAT1.
    ST_CT1_FIELDCAT1-TABNAME = 'I_FINAL1'.
    ST_CT1_FIELDCAT1-FIELDNAME = 'TEXT'.
    ST_CT1_FIELDCAT1-COL_POS = 1.
    ST_CT1_FIELDCAT1-OUTPUTLEN = 30.
    ST_CT1_FIELDCAT1-SCRTEXT_L = 'TEXT'.
    APPEND ST_CT1_FIELDCAT1 TO IT_CT1_FIELDCAT1.
    CLEAR ST_CT1_FIELDCAT1.
    ST_CT1_FIELDCAT1-TABNAME = 'I_FINAL1'.
    ST_CT1_FIELDCAT1-FIELDNAME = 'INPUT'.
    ST_CT1_FIELDCAT1-COL_POS = 2.
    ST_CT1_FIELDCAT1-OUTPUTLEN = 2.
    ST_CT1_FIELDCAT1-SCRTEXT_L = 'INPUT'.
    APPEND ST_CT1_FIELDCAT1 TO IT_CT1_FIELDCAT1.
    CLEAR ST_CT1_FIELDCAT1.
    ST_CT1_FIELDCAT1-TABNAME = 'I_FINAL1'.
    ST_CT1_FIELDCAT1-FIELDNAME = 'OBLIGAT'.
    ST_CT1_FIELDCAT1-COL_POS = 2.
    ST_CT1_FIELDCAT1-OUTPUTLEN = 2.
    ST_CT1_FIELDCAT1-SCRTEXT_L = 'REQUIRED'.
    APPEND ST_CT1_FIELDCAT1 TO IT_CT1_FIELDCAT1.
    CLEAR ST_CT1_FIELDCAT1.
    ST_CT1_FIELDCAT1-TABNAME = 'I_FINAL1'.
    ST_CT1_FIELDCAT1-FIELDNAME = 'DISPLAY'.
    ST_CT1_FIELDCAT1-COL_POS = 2.
    ST_CT1_FIELDCAT1-OUTPUTLEN = 2.
    ST_CT1_FIELDCAT1-SCRTEXT_L = 'DISPLAY'.
    APPEND ST_CT1_FIELDCAT1 TO IT_CT1_FIELDCAT1.
    CLEAR ST_CT1_FIELDCAT1.
    ST_CT1_FIELDCAT1-TABNAME = 'I_FINAL1'.
    ST_CT1_FIELDCAT1-FIELDNAME = 'NOTACT'.
    ST_CT1_FIELDCAT1-COL_POS = 2.
    ST_CT1_FIELDCAT1-OUTPUTLEN = 2.
    ST_CT1_FIELDCAT1-SCRTEXT_L = 'HIDE'.
    APPEND ST_CT1_FIELDCAT1 TO IT_CT1_FIELDCAT1.
    CLEAR ST_CT1_FIELDCAT1.
    ENDIF.
    ENDFORM.                    " FIELDCAT_FINAL1
    *&      FORM  FIELDCAT_FINAL2
          TEXT
    -->  P1        TEXT
    <--  P2        TEXT
    FORM FIELDCAT_FINAL2 .
    IF IT_CT1_FIELDCAT2[] IS INITIAL.
    ST_CT1_FIELDCAT2-TABNAME = 'I_FINAL2'.
    ST_CT1_FIELDCAT2-FIELDNAME = 'PROFILE'.
    ST_CT1_FIELDCAT2-COL_POS = 0.
    ST_CT1_FIELDCAT2-OUTPUTLEN = 8.
    ST_CT1_FIELDCAT2-SCRTEXT_L = 'PROFILE'.
    ST_CT1_FIELDCAT2-KEY = 'X'.
    APPEND ST_CT1_FIELDCAT2 TO IT_CT1_FIELDCAT2.
    CLEAR ST_CT1_FIELDCAT2.
    ST_CT1_FIELDCAT2-TABNAME = 'I_FINAL2'.
    ST_CT1_FIELDCAT2-FIELDNAME = 'MFIELD'.
    ST_CT1_FIELDCAT2-COL_POS = 1.
    ST_CT1_FIELDCAT2-SCRTEXT_L = 'FIELD'.
    ST_CT1_FIELDCAT2-OUTPUTLEN = 15.
    APPEND ST_CT1_FIELDCAT2 TO IT_CT1_FIELDCAT2.
    CLEAR ST_CT1_FIELDCAT2.
    ST_CT1_FIELDCAT2-TABNAME = 'I_FINAL2'.
    ST_CT1_FIELDCAT2-FIELDNAME = 'TEXT'.
    ST_CT1_FIELDCAT2-COL_POS = 1.
    ST_CT1_FIELDCAT2-OUTPUTLEN = 30.
    ST_CT1_FIELDCAT2-SCRTEXT_L = 'TEXT'.
    APPEND ST_CT1_FIELDCAT2 TO IT_CT1_FIELDCAT2.
    CLEAR ST_CT1_FIELDCAT2.
    ST_CT1_FIELDCAT2-TABNAME = 'I_FINAL2'.
    ST_CT1_FIELDCAT2-FIELDNAME = 'INPUT'.
    ST_CT1_FIELDCAT2-COL_POS = 2.
    ST_CT1_FIELDCAT2-OUTPUTLEN = 2.
    ST_CT1_FIELDCAT2-SCRTEXT_L = 'INPUT'.
    APPEND ST_CT1_FIELDCAT2 TO IT_CT1_FIELDCAT2.
    CLEAR ST_CT1_FIELDCAT2.
    ST_CT1_FIELDCAT2-TABNAME = 'I_FINAL2'.
    ST_CT1_FIELDCAT2-FIELDNAME = 'OBLIGAT'.
    ST_CT1_FIELDCAT2-COL_POS = 2.
    ST_CT1_FIELDCAT2-OUTPUTLEN = 2.
    ST_CT1_FIELDCAT2-SCRTEXT_L = 'REQUIRED'.
    APPEND ST_CT1_FIELDCAT2 TO IT_CT1_FIELDCAT2.
    CLEAR ST_CT1_FIELDCAT2.
    ST_CT1_FIELDCAT2-TABNAME = 'I_FINAL1'.
    ST_CT1_FIELDCAT2-FIELDNAME = 'DISPLAY'.
    ST_CT1_FIELDCAT2-COL_POS = 2.
    ST_CT1_FIELDCAT2-OUTPUTLEN = 2.
    ST_CT1_FIELDCAT2-SCRTEXT_L = 'DISPLAY'.
    APPEND ST_CT1_FIELDCAT2 TO IT_CT1_FIELDCAT2.
    CLEAR ST_CT1_FIELDCAT2.
    ST_CT1_FIELDCAT2-TABNAME = 'I_FINAL2'.
    ST_CT1_FIELDCAT2-FIELDNAME = 'NOTACT'.
    ST_CT1_FIELDCAT2-COL_POS = 2.
    ST_CT1_FIELDCAT2-OUTPUTLEN = 2.
    ST_CT1_FIELDCAT2-SCRTEXT_L = 'HIDE'.
    APPEND ST_CT1_FIELDCAT2 TO IT_CT1_FIELDCAT2.
    CLEAR ST_CT1_FIELDCAT2.
    ENDIF.
    ENDFORM.                    " FIELDCAT_FINAL2
    *&      Form  GET_COMPONENTS1
          text
    -->  p1        text
    <--  p2        text
    FORM GET_COMPONENTS1 .
    CLEAR  : I_TCATX_GRID1.
    REFRESH: I_TCATX_GRID1.
    SELECT * FROM TCATX_GRID
             INTO CORRESPONDING FIELDS OF TABLE I_TCATX_GRID1
                                      WHERE PROFIL EQ P_PROF1.
    ENDFORM.                    " GET_COMPONENTS1
    *&      Form  GET_COMPONENTS2
          text
    -->  p1        text
    <--  p2        text
    FORM GET_COMPONENTS2 .
    CLEAR  : I_TCATX_GRID2.
    REFRESH: I_TCATX_GRID2.
    SELECT * FROM TCATX_GRID
             INTO CORRESPONDING FIELDS OF TABLE I_TCATX_GRID2
                                      WHERE PROFIL EQ P_PROF2.
    ENDFORM.                    " GET_COMPONENTS2
    Thanks & Regards,
    Nagaraj Kalbavi

    Hi Uwe,
    As per your suggestion I have updated my program with splitter. Now I am able to get 3 internal Table but 4th one is not displaying. What could be the reason. I have attached my program for your reference.
    & REPORT  ZTEST_NAG&
    REPORT  ZTEST_NAG.
    TABLES: TCATS, TCATST, TCATX_GRID.
    DATA: ST_CT1_FIELDCAT1 TYPE LVC_T_FCAT WITH HEADER LINE.
    DATA: IT_CT1_FIELDCAT1 TYPE LVC_T_FCAT.
    DATA: ST_CT1_FIELDCAT2 TYPE LVC_T_FCAT WITH HEADER LINE.
    DATA: IT_CT1_FIELDCAT2 TYPE LVC_T_FCAT.
    data: go_docking       TYPE REF TO cl_gui_docking_container,
          go_splitter      TYPE REF TO cl_gui_splitter_container,
          go_splitter_2    TYPE REF TO cl_gui_splitter_container,
          go_cell_top      TYPE REF TO cl_gui_container,
          go_cell_bottom   TYPE REF TO cl_gui_container,
          go_cell_left     TYPE REF TO cl_gui_container,
          go_cell_right    TYPE REF TO cl_gui_container,
          go_grid1         TYPE REF TO cl_gui_alv_grid,
          go_grid2         TYPE REF TO cl_gui_alv_grid,
          go_grid3         TYPE REF TO cl_gui_alv_grid,
          go_grid4         TYPE REF TO cl_gui_alv_grid.
    SELECTION-SCREEN: BEGIN OF BLOCK B1.
    PARAMETERS: P_PROF1 LIKE TCATS-VARIANT,
                 P_PROF2 LIKE TCATS-VARIANT.
    SELECTION-SCREEN: END OF BLOCK B1.
    DATA: BEGIN OF I_DD03P OCCURS 0.
           INCLUDE STRUCTURE DD03P.
    DATA: END OF I_DD03P.
    DATA: BEGIN OF I_FIELDS1 OCCURS 0,
           PROFILE  LIKE TCATS-VARIANT,
           MFIELD   TYPE FAWFLDNAM,
           INPUT    LIKE RSFAC-INPUT,
           OBLIGAT  LIKE RSFAC-OBLIGAT,
           DISPLAY  LIKE RSFAC-DISPLAY,
           NOTACT   LIKE RSFAC-NOTACT,
          END OF I_FIELDS1.
    DATA: BEGIN OF I_FIELDS2 OCCURS 0,
           PROFILE  LIKE TCATS-VARIANT,
           MFIELD   TYPE FAWFLDNAM,
           INPUT    LIKE RSFAC-INPUT,
           OBLIGAT  LIKE RSFAC-OBLIGAT,
           DISPLAY  LIKE RSFAC-DISPLAY,
           NOTACT   LIKE RSFAC-NOTACT,
          END OF I_FIELDS2.
    DATA: BEGIN OF I_FINAL1 OCCURS 0,
           PROFILE  LIKE TCATS-VARIANT,
           TEXT     LIKE TCATST-TEXT,
           MFIELD   TYPE FAWFLDNAM,
           INPUT    LIKE RSFAC-INPUT,
           OBLIGAT  LIKE RSFAC-OBLIGAT,
           DISPLAY  LIKE RSFAC-DISPLAY,
           NOTACT   LIKE RSFAC-NOTACT,
          END OF I_FINAL1.
    DATA: BEGIN OF I_FINAL2 OCCURS 0,
           PROFILE  LIKE TCATS-VARIANT,
           TEXT     LIKE TCATST-TEXT,
           MFIELD   TYPE FAWFLDNAM,
           INPUT    LIKE RSFAC-INPUT,
           OBLIGAT  LIKE RSFAC-OBLIGAT,
           DISPLAY  LIKE RSFAC-DISPLAY,
           NOTACT   LIKE RSFAC-NOTACT,
          END OF I_FINAL2.
    DATA: BEGIN OF ENTRYLIST OCCURS 0,
           MFELD      TYPE FAWFLDNAM,
           VISIBLE    TYPE FAWCUST,
           REQUIRED   TYPE FAWCUST,
           READONLY   TYPE FAWCUST,
           HIDE       TYPE FAWCUST,
           PROF1      LIKE TCATS-VARIANT,
          END OF ENTRYLIST.
    DATA: BEGIN OF WORKLIST OCCURS 0.
           INCLUDE STRUCTURE FIELD_SELECTION.
    DATA: END OF WORKLIST.
    DATA: BEGIN OF I_TCATX_GRID1 OCCURS 0,
            PROFIL        LIKE TCATX_GRID-PROFIL,
            TASKCOMPONENT LIKE TCATX_GRID-TASKCOMPONENT,
            COL           LIKE TCATX_GRID-COL,
            OBLIGAT       LIKE TCATX_GRID-OBLIGAT,
          END OF I_TCATX_GRID1.
    DATA: BEGIN OF I_TCATX_GRID2 OCCURS 0,
            PROFIL        LIKE TCATX_GRID-PROFIL,
            TASKCOMPONENT LIKE TCATX_GRID-TASKCOMPONENT,
            COL           LIKE TCATX_GRID-COL,
            OBLIGAT       LIKE TCATX_GRID-OBLIGAT,
          END OF I_TCATX_GRID2.
    PERFORM STATEMENT TO GET THE DATA BASED ON PORIFLE
    IF NOT P_PROF1 IS INITIAL .
    PERFORM GET_FIELDS1.
    PERFORM GET_COMPONENTS1.
    ENDIF.
    IF NOT P_PROF1 IS INITIAL .
    PERFORM GET_FIELDS2.
    PERFORM GET_COMPONENTS2.
    ENDIF.
    PERFORM COMPARE_TABLES.
    CALL SCREEN 100.
    *&      FORM  GET_FIELDS
          TEXT
    -->  P1        TEXT
    <--  P2        TEXT
    FORM GET_FIELDS1.
    CLEAR  : ENTRYLIST, WORKLIST.
    REFRESH: ENTRYLIST, WORKLIST.
    CALL FUNCTION 'CATS_GET_INFLUENCES'
      EXPORTING
        VARIANT                   = P_PROF1
      TABLES
        ENTRYLIST_SELECTION       = ENTRYLIST
        WORKLIST_SELECTION        = WORKLIST
    IF SY-SUBRC EQ 0.
    LOOP AT ENTRYLIST WHERE VISIBLE  EQ SPACE
                      AND   REQUIRED EQ SPACE
                      AND   READONLY EQ SPACE.
    MOVE 'X' TO ENTRYLIST-HIDE.
    MODIFY ENTRYLIST TRANSPORTING HIDE.
    ENDLOOP.
    LOOP AT ENTRYLIST.
      MOVE P_PROF1              TO I_FIELDS1-PROFILE.
      MOVE ENTRYLIST-MFELD      TO I_FIELDS1-MFIELD.
      IF ENTRYLIST-READONLY NE 'X' AND ENTRYLIST-REQUIRED NE 'X' .
        MOVE ENTRYLIST-VISIBLE  TO I_FIELDS1-INPUT.
      ENDIF.
      MOVE ENTRYLIST-REQUIRED   TO I_FIELDS1-OBLIGAT.
      MOVE ENTRYLIST-READONLY   TO I_FIELDS1-DISPLAY.
      MOVE ENTRYLIST-HIDE       TO I_FIELDS1-NOTACT.
    APPEND I_FIELDS1.
    ENDLOOP.
    ENDIF.
    ENDFORM.                    " GET_FIELDS
    *&      FORM  GET_FIELDS2
          TEXT
    -->  P1        TEXT
    <--  P2        TEXT
    FORM GET_FIELDS2 .
    CLEAR  : ENTRYLIST, WORKLIST.
    REFRESH: ENTRYLIST, WORKLIST.
    CALL FUNCTION 'CATS_GET_INFLUENCES'
      EXPORTING
        VARIANT                   = P_PROF2
      TABLES
        ENTRYLIST_SELECTION       = ENTRYLIST
        WORKLIST_SELECTION        = WORKLIST
    IF SY-SUBRC EQ 0.
    LOOP AT ENTRYLIST WHERE  VISIBLE  EQ SPACE
                       AND   REQUIRED EQ SPACE
                       AND   READONLY EQ SPACE.
    MOVE 'X' TO ENTRYLIST-HIDE.
    MODIFY ENTRYLIST TRANSPORTING HIDE.
    ENDLOOP.
    LOOP AT ENTRYLIST.
      MOVE P_PROF2                TO I_FIELDS2-PROFILE.
      MOVE ENTRYLIST-MFELD        TO I_FIELDS2-MFIELD.
      IF ENTRYLIST-READONLY NE 'X' AND ENTRYLIST-REQUIRED NE 'X' .
        MOVE ENTRYLIST-VISIBLE    TO I_FIELDS2-INPUT.
      ENDIF.
      MOVE ENTRYLIST-REQUIRED     TO I_FIELDS2-OBLIGAT.
      MOVE ENTRYLIST-READONLY     TO I_FIELDS2-DISPLAY.
      MOVE ENTRYLIST-HIDE         TO I_FIELDS2-NOTACT.
    APPEND I_FIELDS2.
    ENDLOOP.
    ENDIF.
    ENDFORM.                    " GET_FIELDS2
    *&      FORM  COMPARE_TABLES
          TEXT
    -->  P1        TEXT
    <--  P2        TEXT
    FORM COMPARE_TABLES .
    CLEAR: I_FIELDS1, I_FIELDS2.
    SORT : I_FIELDS1, I_FIELDS2.
    DATA: L_TABLE LIKE DD03L-TABNAME,
          L_FIELD LIKE DD03L-FIELDNAME.
    LOOP AT I_FIELDS1.
       READ TABLE I_FIELDS2 WITH KEY  MFIELD   = I_FIELDS1-MFIELD
                                      INPUT    = I_FIELDS1-INPUT
                                      OBLIGAT  = I_FIELDS1-OBLIGAT
                                      DISPLAY  = I_FIELDS1-DISPLAY
                                      NOTACT   = I_FIELDS1-NOTACT.
    IF SY-SUBRC NE 0.
      MOVE I_FIELDS1-PROFILE  TO I_FINAL1-PROFILE.
    SPLIT I_FIELDS1-MFIELD AT '-' INTO L_TABLE L_FIELD.
    CALL FUNCTION 'BUS_DDFIELD_GET'
      EXPORTING
        I_TABNM               = L_TABLE
        I_FLDNM               = L_FIELD
       I_LANGU               =  SY-LANGU
      IMPORTING
        E_DD03P               = I_DD03P
    EXCEPTIONS
       FIELD_NOT_FOUND       = 1
       OTHERS                = 2
    IF SY-SUBRC EQ 0.
        MOVE I_DD03P-DDTEXT        TO I_FINAL1-TEXT.
    ENDIF.
      MOVE I_FIELDS1-MFIELD   TO I_FINAL1-MFIELD.
      MOVE I_FIELDS1-INPUT    TO I_FINAL1-INPUT.
      MOVE I_FIELDS1-OBLIGAT  TO I_FINAL1-OBLIGAT.
      MOVE I_FIELDS1-DISPLAY  TO I_FINAL1-DISPLAY.
      MOVE I_FIELDS1-NOTACT   TO I_FINAL1-NOTACT.
      APPEND I_FINAL1.
    ENDIF.
    ENDLOOP.
    SORT : I_FIELDS1, I_FIELDS2.
    LOOP AT I_FIELDS2.
       READ TABLE I_FIELDS1 WITH KEY  MFIELD   = I_FIELDS2-MFIELD
                                      INPUT    = I_FIELDS2-INPUT
                                      OBLIGAT  = I_FIELDS2-OBLIGAT
                                      DISPLAY  = I_FIELDS2-DISPLAY
                                      NOTACT   = I_FIELDS2-NOTACT.
    IF SY-SUBRC NE 0.
      MOVE I_FIELDS2-PROFILE  TO I_FINAL2-PROFILE.
    SPLIT I_FIELDS2-MFIELD AT '-' INTO L_TABLE L_FIELD.
    CALL FUNCTION 'BUS_DDFIELD_GET'
      EXPORTING
        I_TABNM               = L_TABLE
        I_FLDNM               = L_FIELD
       I_LANGU               =  SY-LANGU
      IMPORTING
        E_DD03P               = I_DD03P
    EXCEPTIONS
       FIELD_NOT_FOUND       = 1
       OTHERS                = 2
    IF SY-SUBRC EQ 0.
        MOVE I_DD03P-DDTEXT        TO I_FINAL2-TEXT.
    ENDIF.
      MOVE I_FIELDS2-MFIELD   TO I_FINAL2-MFIELD.
      MOVE I_FIELDS2-INPUT    TO I_FINAL2-INPUT.
      MOVE I_FIELDS2-OBLIGAT  TO I_FINAL2-OBLIGAT.
      MOVE I_FIELDS2-DISPLAY  TO I_FINAL2-DISPLAY.
      MOVE I_FIELDS2-NOTACT   TO I_FINAL2-NOTACT.
      APPEND I_FINAL2.
    ENDIF.
    ENDLOOP.
    ENDFORM.                    " COMPARE_TABLES
    *&      MODULE  STATUS_0100  OUTPUT
          TEXT
    MODULE STATUS_0100 OUTPUT.
      SET PF-STATUS SPACE.
      SET TITLEBAR 'T001'.
    PERFORM FIELDCAT_FINAL1.
    PERFORM FIELDCAT_FINAL2.
    CREATE OBJECT go_docking
        EXPORTING
          parent                      = cl_gui_container=>screen0
          ratio                       = 90
        EXCEPTIONS
          OTHERS                      = 6.
      IF sy-subrc ne 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Create splitter container
      CREATE OBJECT go_splitter
        EXPORTING
          parent            = go_docking
          rows              = 1
          columns           = 2
         NO_AUTODEF_PROGID_DYNNR =
         NAME              =
        EXCEPTIONS
          cntl_error        = 1
          cntl_system_error = 2
          OTHERS            = 3.
      IF sy-subrc ne  0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Get cell container
      CALL METHOD go_splitter->get_container
        EXPORTING
          row       = 1
          column    = 1
        RECEIVING
          container = go_cell_left.
      CALL METHOD go_splitter->get_container
        EXPORTING
          row       = 1
          column    = 2
        RECEIVING
          container = go_cell_right.
    Create 2nd splitter container
      CREATE OBJECT go_splitter_2
        EXPORTING
          parent            = go_cell_left
          rows              = 2
          columns           = 1
         NO_AUTODEF_PROGID_DYNNR =
         NAME              =
        EXCEPTIONS
          cntl_error        = 1
          cntl_system_error = 2
          OTHERS            = 3.
      IF sy-subrc   ne 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Get cell container
      CALL METHOD go_splitter_2->get_container
        EXPORTING
          row       = 1
          column    = 1
        RECEIVING
          container = go_cell_top.
      CALL METHOD go_splitter_2->get_container
        EXPORTING
          row       = 2
          column    = 1
        RECEIVING
          container = go_cell_bottom.
    Create ALV grids
      CREATE OBJECT go_grid1
        EXPORTING
          i_parent          = go_cell_top
        EXCEPTIONS
          OTHERS            = 5.
      IF sy-subrc ne 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CREATE OBJECT go_grid2
        EXPORTING
          i_parent          = go_cell_right
        EXCEPTIONS
          OTHERS            = 5.
      IF sy-subrc ne  0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CREATE OBJECT go_grid3
        EXPORTING
          i_parent          = go_cell_bottom
        EXCEPTIONS
          OTHERS            = 5.
      IF sy-subrc ne  0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    CREATE OBJECT go_grid4
        EXPORTING
          i_parent          = go_cell_left
        EXCEPTIONS
          OTHERS            = 5.
      IF sy-subrc ne  0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    CALL METHOD go_grid1->set_table_for_first_display
        EXPORTING
          i_structure_name = 'I_FINAL1'
        CHANGING
          it_outtab        = I_FINAL1[]
          IT_FIELDCATALOG  = IT_CT1_FIELDCAT1[]
        EXCEPTIONS
          OTHERS           = 4.
      IF sy-subrc ne 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CALL METHOD go_grid2->set_table_for_first_display
        EXPORTING
          i_structure_name = 'I_FINAL2'
        CHANGING
          it_outtab        = I_FINAL2[]
          IT_FIELDCATALOG  = IT_CT1_FIELDCAT2[]
        EXCEPTIONS
          OTHERS           = 4.
      IF sy-subrc ne 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CALL METHOD go_grid3->set_table_for_first_display
        EXPORTING
          i_structure_name = 'TCATX_GRID'
        CHANGING
          it_outtab        = I_TCATX_GRID1[]    " empty !!!
        EXCEPTIONS
          OTHERS           = 4.
      IF sy-subrc ne 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CALL METHOD go_grid4->set_table_for_first_display
        EXPORTING
          i_structure_name = 'TCATX_GRID'
        CHANGING
          it_outtab        = I_TCATX_GRID2[]    " empty !!!
        EXCEPTIONS
          OTHERS           = 4.
      IF sy-subrc ne 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Link the docking container to the target dynpro
      CALL METHOD go_docking->link
        EXPORTING
          repid                       = syst-repid
          dynnr                       = '0100'
         CONTAINER                   =
        EXCEPTIONS
          OTHERS                      = 4.
      IF sy-subrc ne  0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      MODULE  USER_COMMAND_0100  INPUT
          TEXT
    MODULE USER_COMMAND_0100 INPUT.
    CASE SY-UCOMM.
        WHEN 'BACK'.
          LEAVE TO SCREEN 0.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      FORM  FIELDCAT_FINAL1
          TEXT
    -->  P1        TEXT
    <--  P2        TEXT
    FORM FIELDCAT_FINAL1 .
    IF IT_CT1_FIELDCAT1[] IS INITIAL.
    ST_CT1_FIELDCAT1-TABNAME = 'I_FINAL1'.
    ST_CT1_FIELDCAT1-FIELDNAME = 'PROFILE'.
    ST_CT1_FIELDCAT1-COL_POS = 0.
    ST_CT1_FIELDCAT1-OUTPUTLEN = 8.
    ST_CT1_FIELDCAT1-SCRTEXT_L = 'PROFILE'.
    ST_CT1_FIELDCAT1-KEY = 'X'.
    APPEND ST_CT1_FIELDCAT1 TO IT_CT1_FIELDCAT1.
    CLEAR ST_CT1_FIELDCAT1.
    ST_CT1_FIELDCAT1-TABNAME = 'I_FINAL1'.
    ST_CT1_FIELDCAT1-FIELDNAME = 'MFIELD'.
    ST_CT1_FIELDCAT1-COL_POS = 1.
    ST_CT1_FIELDCAT1-OUTPUTLEN = 15.
    ST_CT1_FIELDCAT1-SCRTEXT_L = 'FIELD'.
    APPEND ST_CT1_FIELDCAT1 TO IT_CT1_FIELDCAT1.
    CLEAR ST_CT1_FIELDCAT1.
    ST_CT1_FIELDCAT1-TABNAME = 'I_FINAL1'.
    ST_CT1_FIELDCAT1-FIELDNAME = 'TEXT'.
    ST_CT1_FIELDCAT1-COL_POS = 1.
    ST_CT1_FIELDCAT1-OUTPUTLEN = 30.
    ST_CT1_FIELDCAT1-SCRTEXT_L = 'TEXT'.
    APPEND ST_CT1_FIELDCAT1 TO IT_CT1_FIELDCAT1.
    CLEAR ST_CT1_FIELDCAT1.
    ST_CT1_FIELDCAT1-TABNAME = 'I_FINAL1'.
    ST_CT1_FIELDCAT1-FIELDNAME = 'INPUT'.
    ST_CT1_FIELDCAT1-COL_POS = 2.
    ST_CT1_FIELDCAT1-OUTPUTLEN = 2.
    ST_CT1_FIELDCAT1-SCRTEXT_L = 'INPUT'.
    APPEND ST_CT1_FIELDCAT1 TO IT_CT1_FIELDCAT1.
    CLEAR ST_CT1_FIELDCAT1.
    ST_CT1_FIELDCAT1-TABNAME = 'I_FINAL1'.
    ST_CT1_FIELDCAT1-FIELDNAME = 'OBLIGAT'.
    ST_CT1_FIELDCAT1-COL_POS = 2.
    ST_CT1_FIELDCAT1-OUTPUTLEN = 2.
    ST_CT1_FIELDCAT1-SCRTEXT_L = 'REQUIRED'.
    APPEND ST_CT1_FIELDCAT1 TO IT_CT1_FIELDCAT1.
    CLEAR ST_CT1_FIELDCAT1.
    ST_CT1_FIELDCAT1-TABNAME = 'I_FINAL1'.
    ST_CT1_FIELDCAT1-FIELDNAME = 'DISPLAY'.
    ST_CT1_FIELDCAT1-COL_POS = 2.
    ST_CT1_FIELDCAT1-OUTPUTLEN = 2.
    ST_CT1_FIELDCAT1-SCRTEXT_L = 'DISPLAY'.
    APPEND ST_CT1_FIELDCAT1 TO IT_CT1_FIELDCAT1.
    CLEAR ST_CT1_FIELDCAT1.
    ST_CT1_FIELDCAT1-TABNAME = 'I_FINAL1'.
    ST_CT1_FIELDCAT1-FIELDNAME = 'NOTACT'.
    ST_CT1_FIELDCAT1-COL_POS = 2.
    ST_CT1_FIELDCAT1-OUTPUTLEN = 2.
    ST_CT1_FIELDCAT1-SCRTEXT_L = 'HIDE'.
    APPEND ST_CT1_FIELDCAT1 TO IT_CT1_FIELDCAT1.
    CLEAR ST_CT1_FIELDCAT1.
    ENDIF.
    ENDFORM.                    " FIELDCAT_FINAL1
    *&      FORM  FIELDCAT_FINAL2
          TEXT
    -->  P1        TEXT
    <--  P2        TEXT
    FORM FIELDCAT_FINAL2 .
    IF IT_CT1_FIELDCAT2[] IS INITIAL.
    ST_CT1_FIELDCAT2-TABNAME = 'I_FINAL2'.
    ST_CT1_FIELDCAT2-FIELDNAME = 'PROFILE'.
    ST_CT1_FIELDCAT2-COL_POS = 0.
    ST_CT1_FIELDCAT2-OUTPUTLEN = 8.
    ST_CT1_FIELDCAT2-SCRTEXT_L = 'PROFILE'.
    ST_CT1_FIELDCAT2-KEY = 'X'.
    APPEND ST_CT1_FIELDCAT2 TO IT_CT1_FIELDCAT2.
    CLEAR ST_CT1_FIELDCAT2.
    ST_CT1_FIELDCAT2-TABNAME = 'I_FINAL2'.
    ST_CT1_FIELDCAT2-FIELDNAME = 'MFIELD'.
    ST_CT1_FIELDCAT2-COL_POS = 1.
    ST_CT1_FIELDCAT2-SCRTEXT_L = 'FIELD'.
    ST_CT1_FIELDCAT2-OUTPUTLEN = 15.
    APPEND ST_CT1_FIELDCAT2 TO IT_CT1_FIELDCAT2.
    CLEAR ST_CT1_FIELDCAT2.
    ST_CT1_FIELDCAT2-TABNAME = 'I_FINAL2'.
    ST_CT1_FIELDCAT2-FIELDNAME = 'TEXT'.
    ST_CT1_FIELDCAT2-COL_POS = 1.
    ST_CT1_FIELDCAT2-OUTPUTLEN = 30.
    ST_CT1_FIELDCAT2-SCRTEXT_L = 'TEXT'.
    APPEND ST_CT1_FIELDCAT2 TO IT_CT1_FIELDCAT2.
    CLEAR ST_CT1_FIELDCAT2.
    ST_CT1_FIELDCAT2-TABNAME = 'I_FINAL2'.
    ST_CT1_FIELDCAT2-FIELDNAME = 'INPUT'.
    ST_CT1_FIELDCAT2-COL_POS = 2.
    ST_CT1_FIELDCAT2-OUTPUTLEN = 2.
    ST_CT1_FIELDCAT2-SCRTEXT_L = 'INPUT'.
    APPEND ST_CT1_FIELDCAT2 TO IT_CT1_FIELDCAT2.
    CLEAR ST_CT1_FIELDCAT2.
    ST_CT1_FIELDCAT2-TABNAME = 'I_FINAL2'.
    ST_CT1_FIELDCAT2-FIELDNAME = 'OBLIGAT'.
    ST_CT1_FIELDCAT2-COL_POS = 2.
    ST_CT1_FIELDCAT2-OUTPUTLEN = 2.
    ST_CT1_FIELDCAT2-SCRTEXT_L = 'REQUIRED'.
    APPEND ST_CT1_FIELDCAT2 TO IT_CT1_FIELDCAT2.
    CLEAR ST_CT1_FIELDCAT2.
    ST_CT1_FIELDCAT2-TABNAME = 'I_FINAL1'.
    ST_CT1_FIELDCAT2-FIELDNAME = 'DISPLAY'.
    ST_CT1_FIELDCAT2-COL_POS = 2.
    ST_CT1_FIELDCAT2-OUTPUTLEN = 2.
    ST_CT1_FIELDCAT2-SCRTEXT_L = 'DISPLAY'.
    APPEND ST_CT1_FIELDCAT2 TO IT_CT1_FIELDCAT2.
    CLEAR ST_CT1_FIELDCAT2.
    ST_CT1_FIELDCAT2-TABNAME = 'I_FINAL2'.
    ST_CT1_FIELDCAT2-FIELDNAME = 'NOTACT'.
    ST_CT1_FIELDCAT2-COL_POS = 2.
    ST_CT1_FIELDCAT2-OUTPUTLEN = 2.
    ST_CT1_FIELDCAT2-SCRTEXT_L = 'HIDE'.
    APPEND ST_CT1_FIELDCAT2 TO IT_CT1_FIELDCAT2.
    CLEAR ST_CT1_FIELDCAT2.
    ENDIF.
    ENDFORM.                    " FIELDCAT_FINAL2
    *&      Form  GET_COMPONENTS1
          text
    -->  p1        text
    <--  p2        text
    FORM GET_COMPONENTS1 .
    CLEAR  : I_TCATX_GRID1.
    REFRESH: I_TCATX_GRID1.
    SELECT * FROM TCATX_GRID
             INTO CORRESPONDING FIELDS OF TABLE I_TCATX_GRID1
                                      WHERE PROFIL EQ P_PROF1.
    ENDFORM.                    " GET_COMPONENTS1
    *&      Form  GET_COMPONENTS2
          text
    -->  p1        text
    <--  p2        text
    FORM GET_COMPONENTS2 .
    CLEAR  : I_TCATX_GRID2.
    REFRESH: I_TCATX_GRID2.
    SELECT * FROM TCATX_GRID
             INTO CORRESPONDING FIELDS OF TABLE I_TCATX_GRID2
                                      WHERE PROFIL EQ P_PROF2.
    ENDFORM.                    " GET_COMPONENTS2
    Thanks & Regards,
    Nagaraj Kalbavi

  • ABAP OOP / Calling Method  ...Help

    Trying out few oop codes....
    While calling class instance methods and passing parameters, when to use the following syntax.
    data: cvar  type ref to class1.
             cvar->method( exporting variable1 = value )
           (or) some time i see sample codes with out key  word 'exporting'
                  cvar->method(  variable1 = value  ) .
           (or)
                  cvar->method(  value  ) .
           (or) some times with key word CALL  METHOD
       CREATE OBJECT cvar
       CALL METHOD cvar->method
       EXPORTING
       variable1 = value. 
    Tried out a uniform way of calling ,but getting errors.Any inputs please..
    Thanks,
    Bvan

    Bhavan,
      First  declare the class.
      Implement the class.
    Declare the Class reference variable
    Create the class object.
    call the method.
      data: cvar type ref to class1.
              CREATE OBJECT cvar
    Calling Methods
    To call a method, use the following statement:
    CALL METHOD <meth> EXPORTING... <ii> =.<f i>...
                       IMPORTING... <ei> =.<g i>...
                       CHANGING ... <ci> =.<f i>...
                       RECEIVING         r = h
                       EXCEPTIONS... <ei> = rc i...
    The way in which you address the method <method> depends on the method itself and from where you are calling it. Within the implementation part of a class, you can call the methods of the same class directly using their name <meth>.
    CALL METHOD <meth>...
    Outside the class, the visibility of the method depends on whether you can call it at all. Visible instance methods can be called from outside the class using
    CALL METHOD <ref>-><meth>...
    where <ref> is a reference variable whose value points to an instance of the class. Visible instance methods can be called from outside the class using
    CALL METHOD <class>=><meth>...
    where <class> is the name of the relevant class.
    When you call a method, you must pass all non-optional input parameters using the EXPORTING or CHANGING addition in the CALL METHOD statement. You can (but do not have to) import the output parameters into your program using the IMPORTING or RECEIVING addition. Equally, you can (but do not have to) handle any exceptions triggered by the exceptions using the EXCEPTIONS addition. However, this is recommended.
    You pass and receive values to and from methods in the same way as with function modules, that is, with the syntax:
    ... <Formal parameter> = <Actual parameter>
    after the corresponding addition. The interface parameters (formal parameters) are always on the left-hand side of the equals sign. The actual parameters are always on the right. The equals sign is not an assignment operator in this context; it merely serves to assign program variables to the interface parameters of the method.
    If the interface of a method consists only of a single IMPORTING parameter, you can use the following shortened form of the method call:
    CALL METHOD <method>( f).
    The actual parameter <f> is passed to the input parameters of the method.
    If the interface of a method consists only of IMPORTING parameters, you can use the following shortened form of the method call:
    CALL METHOD <method>(....<ii> =.<f i>...).
    Each actual parameter <f i > is passed to the corresponding formal parameter <i i >.
    Pls. mark if useful

  • NullPointer when GUI calls method in Client

    Hi, I'm relatively new to Java programming and this conference.
    I hope the following is not too long winded.
    I'm trying to programme a FTP Client which is controlled by a GUI.
    My JBuilder project has three classes:
    ClientGUI.java and ClientFrame.java (produced with JBUilder's New Application option)
    plus AClient.java (this is the 'engine' of the project).
    ClientGUI constructs an instance 'frame' of ClientFrame which in turn constructs an instance 'client' of AClient.
    The call to the AClient constructor has to be in a try/catch statement,
    and takes a JTextArea as a parameter from ClientFrame to allow 'client' to display messges in my GUI.
    The AClient constructor opens the Socket connection to a simple server on the same computer.
    This part works.
    However, when I attempt to use events generated by buttons in my GUI ('frame')to call methods in 'client', I get the following null-pointer exception:-
    java.lang.NullPointerException
    at ClientFrame.jButton1_actionPerformed(ClientFrame.java:219)
    at ClientFrame_jButton1_actionAdapter.actionPerformed(ClientFrame.java:274)
    etc...
    etc...
    These refer to code blocks:-
        if ( client.isAlive() ) {  /*line 219*/
          System.out.println("client alive");
        }where isAlive() is a simple test method that returns true,
    and
      public void actionPerformed(ActionEvent e) {
        adaptee.jButton1_actionPerformed(e);  /*line 274*/
      }'client' is listed as a public field in ClientFrame and is instanciated, so why do I have this problem?
    Enclosing the call in a try/catch statement doesn't help.
    Thanks in advance. Laurence

    The NullPointer means that the client was not instantiated, though you may think it has been.
    Make sure that you are instantiating the correct variable, for instance, if you have a class-level field called client you would do something like this:
    public class WhateverClass {
      private AClient client;
      //other stuff
      public WhateverClass(...) {
        client = //assignment either
                 //with new AClient(...)
                 //or something else
      }You would NOT do:
    public class WhateverClass {
      private AClient client;
      //other stuff
      public WhateverClass(...) {
        AClient client = //assignment either
                         //with new AClient(...)
                         //or something else
      }Since this would create a second variable of name client that only has scope within the constructor.
    Also, if the client is being assigned through a parameter in the constructor, check to make sure that that you are not passing a null value along... Do a System.out.println(client) after the assignement and see what you get. Then you know if the problem occurs in this class or in the class that creates the AClient reference to begin with...

  • Calling java program in bipublisher

    Hi,
    Like we have datamodel types in BIPublisher as SQL Query, Webservice, Answers, File etc,, Can we call java program through bipublisher.
    The requirement is:
    A java program will generate BARCODE image based on the customer number given.
    We need to create a template in bipublisher which shows the customer name and that barcode image and other details.
    We have calling javaprograms in ibots in analytics, is there any such thing in bipublisher.
    Thanks.

    You can call PL/SQL programs from OWB either by defining transformations or as expressions. From PL/SQL you can call a java stored procedures in the database as follows:
    1. Define the java stored procedure. For example, let's suppose that you store the following Java class in the database:
    import java.sql.*;
    import oracle.jdbc.driver.*;
    public class Adjuster {
    public static void raiseSalary (int empNo, float percent)
    throws SQLException {
    Connection conn = new OracleDriver().defaultConnection();
    String sql = "UPDATE emp SET sal = sal * ? WHERE empno = ?";
    try {
    PreparedStatement pstmt = conn.prepareStatement(sql);
    pstmt.setFloat(1, (1 + percent / 100));
    pstmt.setInt(2, empNo);
    pstmt.executeUpdate();
    pstmt.close();
    } catch (SQLException e) {System.err.println(e.getMessage());}
    2. The class Adjuster has one method, which raises the salary of an employee by a given percentage. Because raiseSalary is a void method, you publish it as a procedure using this call spec:
    CREATE PROCEDURE raise_salary (empno NUMBER, pct NUMBER)
    AS LANGUAGE JAVA
    NAME 'Adjuster.raiseSalary(int, float)';
    3. Call procedure raise_salary from an anonymous PL/SQL block, as follows:Long postings are being truncated to ~1 kB at this time.

Maybe you are looking for

  • Number of Copies in Crystal Report Layout

    Hi all, Is it possible to show the number of copy in a Crystal Report layout? I mean: I am creating an invoice layout in Crystal Reports for SAP Business One 8.8. Customer wants to print always 3 copies, but with the word "Copy" in second and third d

  • Updates makes Mac Mini slow

    Hello, After I installed the Sept. 15th updates, and the new itunes 8 updates, my mini is slow to restart. it takes almost 5 mins to restart. 1st comes a grey screen, then a light blue screen, and just sits there before the login screen finally comes

  • How to create hyperlink using form

    if a user click on button then oulook express open for sending mail but i want to create hyperlink on it automatically. actually when user click then a word file created on server i want to hyperlink this file the file name is my form serial_no

  • To launch a java application in Windows environment

    hello, I need to distribute one stand alone application, that I made using NetBeans, for sale it. I know that this is not a so simple problem, because delivering the program to one client you cannot simlpy say him to launch the jar file.... I saw tha

  • Has this forum been hacked?

    I just filled out a survey which opened in a window when I entered the forum. There was an Adobe logo in the window and I had no suspicious sites open in my browser. After finishing the survey, in which I spent valuable time giving feedback about how